Kit Langton
67f97690e6
refactor(llm): make xai responses canonical
2026-05-06 18:08:34 -04:00
Kit Langton
56ebef0927
feat(llm): add provider definitions
2026-05-06 17:04:42 -04:00
Kit Langton
8b8a09c59f
Merge remote-tracking branch 'origin/llm-core-patch-api' into llm-core-patch-api
...
# ------------------------ >8 ------------------------
# Do not modify or remove the line above.
# Everything below it will be ignored.
#
# Conflicts:
# packages/llm/AGENTS.md
# packages/llm/package.json
# packages/llm/script/recording-cost-report.ts
# packages/llm/script/setup-recording-env.ts
# packages/llm/src/adapter.ts
# packages/llm/src/index.ts
# packages/llm/src/llm.ts
# packages/llm/src/patch.ts
# packages/llm/src/protocols/anthropic-messages.ts
# packages/llm/src/protocols/openai-responses.ts
# packages/llm/src/provider/bedrock-converse.ts
# packages/llm/src/provider/openai-compatible-chat.ts
# packages/llm/src/provider/openai-compatible-family.ts
# packages/llm/src/provider/xai.ts
# packages/llm/src/schema.ts
# packages/llm/src/tool-runtime.ts
# packages/llm/src/tool.ts
# packages/llm/test/adapter.test.ts
# packages/llm/test/fixtures/recordings/openai-compatible-chat/groq-llama-3-3-70b-drives-a-tool-loop.json
# packages/llm/test/fixtures/recordings/openai-compatible-chat/groq-streams-text.json
# packages/llm/test/fixtures/recordings/openai-compatible-chat/groq-streams-tool-call.json
# packages/llm/test/fixtures/recordings/openai-compatible-chat/openrouter-claude-opus-4-7-drives-a-tool-loop.json
# packages/llm/test/fixtures/recordings/openai-compatible-chat/openrouter-gpt-4o-mini-drives-a-tool-loop.json
# packages/llm/test/fixtures/recordings/openai-compatible-chat/openrouter-gpt-5-5-drives-a-tool-loop.json
# packages/llm/test/fixtures/recordings/openai-compatible-chat/openrouter-streams-text.json
# packages/llm/test/fixtures/recordings/openai-compatible-chat/openrouter-streams-tool-call.json
# packages/llm/test/fixtures/recordings/openai-compatible-chat/xai-grok-4-3-drives-a-tool-loop.json
# packages/llm/test/fixtures/recordings/openai-compatible-chat/xai-streams-text.json
# packages/llm/test/fixtures/recordings/openai-compatible-chat/xai-streams-tool-call.json
# packages/llm/test/fixtures/recordings/openai-responses/gpt-5-5-drives-a-tool-loop.json
# packages/llm/test/fixtures/recordings/openai-responses/gpt-5-5-streams-text.json
# packages/llm/test/fixtures/recordings/openai-responses/gpt-5-5-streams-tool-call.json
# packages/llm/test/provider-resolver.test.ts
# packages/llm/test/provider/anthropic-messages.recorded.test.ts
# packages/llm/test/provider/bedrock-converse.test.ts
# packages/llm/test/provider/gemini.recorded.test.ts
# packages/llm/test/provider/gemini.test.ts
# packages/llm/test/provider/openai-chat-tool-loop.recorded.test.ts
# packages/llm/test/provider/openai-compatible-chat.recorded.test.ts
# packages/llm/test/provider/openai-responses.recorded.test.ts
# packages/llm/test/provider/openai-responses.test.ts
# packages/llm/test/recorded-scenarios.ts
# packages/llm/test/recorded-test.ts
# packages/opencode/src/provider/llm-bridge.ts
# packages/opencode/src/session/llm-native-tools.ts
# packages/opencode/src/session/llm.ts
# packages/opencode/test/provider/llm-bridge.test.ts
# packages/opencode/test/session/llm-native-stream.test.ts
2026-05-06 13:48:44 -04:00
Kit Langton
c99e278e28
refactor(llm): tighten helper and diagnostic surfaces
2026-05-06 13:28:49 -04:00
Kit Langton
9fc1d154c4
refactor(llm): tighten runtime service boundaries
2026-05-06 11:47:23 -04:00
Kit Langton
7b4f436fc2
refactor(llm): collapse client adapter injection
2026-05-06 11:08:31 -04:00
Kit Langton
1808fe8628
refactor(llm): clarify public module surface
2026-05-06 09:30:01 -04:00
Kit Langton
89c65949c2
refactor(llm): remove transform pipeline
2026-05-05 20:18:15 -04:00
Kit Langton
b3568ab0f0
refactor(llm): replace patches with transforms
2026-05-05 17:58:58 -04:00
Kit Langton
8523299069
refactor(llm): simplify provider payload routing
2026-05-05 16:48:23 -04:00
Kit Langton
fea96490e3
fix(llm): expand compatible provider bridge
2026-05-03 13:11:45 -04:00
Kit Langton
de79fd7306
fix(test): use instance helper in native fallback test
2026-05-03 08:50:17 -04:00
Kit Langton
1caeaf70bb
Merge remote-tracking branch 'origin/dev' into HEAD
2026-05-03 08:48:44 -04:00
Shoubhit Dash
d1f597b5b5
fix(vcs): avoid unbounded diff memory usage ( #25581 )
2026-05-03 17:49:46 +05:30
Kit Langton
2df8eda8a3
fix(cli): bridge Instance.current ALS in effectCmd handlers (regression from #25522 ) ( #25546 )
2026-05-03 04:24:33 +00:00
Kit Langton
9065d79a9a
fix(llm): preserve native protocol state
2026-05-03 00:20:50 -04:00
Kit Langton
5f03d892c0
fix(httpapi): pagination Link header echoes request host ( #25527 )
2026-05-02 23:19:33 -04:00
Kit Langton
ad05a46d74
refactor(lifecycle): bootstrap as pure orchestration ( #25510 )
2026-05-02 22:26:54 -04:00
opencode-agent[bot]
a6cadba814
chore: generate
2026-05-03 02:10:52 +00:00
Dax
a3bc5d35b0
Refactor v2 session events as schemas ( #24512 )
2026-05-02 22:09:48 -04:00
opencode-agent[bot]
80f2b13a55
chore: generate
2026-05-03 00:40:21 +00:00
Kit Langton
7d91d3b1ed
Normalize instance lifecycle wiring ( #25501 )
2026-05-02 20:39:20 -04:00
opencode-agent[bot]
a6464062b7
chore: generate
2026-05-03 00:32:24 +00:00
Kit Langton
fd01dc9c89
test(httpapi): add route exerciser
2026-05-02 20:31:21 -04:00
opencode-agent[bot]
9bef88e3b0
chore: generate
2026-05-02 23:34:40 +00:00
Kit Langton
f98053c34e
fix(instance): run bootstrap from instance store ( #25475 )
2026-05-02 19:33:38 -04:00
opencode-agent[bot]
9d03d4419e
chore: generate
2026-05-02 23:20:15 +00:00
Luke Parker
3f459819ba
feat: refactor bash tool with shell-aware prompts for bash, pwsh+powershell, and cmd ( #20039 )
2026-05-03 09:18:48 +10:00
opencode-agent[bot]
b3a7513765
chore: generate
2026-05-02 18:00:11 +00:00
Kit Langton
f8738c9002
feat(models): effectify ModelsDev as Service ( #25434 )
2026-05-02 13:59:08 -04:00
opencode-agent[bot]
96061222d2
chore: generate
2026-05-02 15:45:21 +00:00
Kit Langton
3b9155714d
Delete Instance.dispose and Instance.reload ( #25427 )
2026-05-02 11:44:16 -04:00
Kit Langton
b09b7d28b8
refactor(instance-store): consolidate dispose helpers ( #25424 )
2026-05-02 11:21:40 -04:00
Kit Langton
78b3000031
fix(tui): keep shell-mode prompt editable ( #25419 )
2026-05-02 10:56:27 -04:00
Kit Langton
4c4860fb24
Replace Instance.disposeAll/load with fixture helper ( #25418 )
2026-05-02 10:56:15 -04:00
Kit Langton
5242a1c6b4
fix(httpapi): install Instance ALS for adapter Promise bridge ( #25417 )
2026-05-02 10:49:44 -04:00
Kit Langton
075f876e6f
fix(httpapi): re-land workspace create payload accepts missing extra ( #25412 )
2026-05-02 09:35:39 -04:00
Kit Langton
d99dde6306
Migrate test inits from Promise to Effect ( #25377 )
2026-05-02 09:07:59 -04:00
Kit Langton
f33aec1139
Convert LoadInput.init to Effect + extract InstanceBootstrap as a Service ( #25376 )
2026-05-02 00:02:52 -04:00
Kit Langton
1571933096
Drop ALS fallbacks from containsPath and workspace routing ( #25374 )
2026-05-02 03:06:22 +00:00
Kit Langton
0b498dd448
fix(httpapi): preserve OpenAPI parameter parity ( #25291 )
2026-05-01 22:18:52 -04:00
Kit Langton
cec9c6122a
Move instance loading into Effect service ( #25277 )
2026-05-01 22:18:06 -04:00
Zeke Sikelianos
51e310c9ce
fix(read): prevent unsupported image formats from being sending to provider ( #21114 )
...
Co-authored-by: Aiden Cline <aidenpcline@gmail.com >
2026-05-01 18:14:22 -05:00
opencode-agent[bot]
6252412d94
chore: generate
2026-05-01 20:03:10 +00:00
Dax Raad
c2609cbf04
core: allow agents to access global tmp directory without permission prompts
...
Agents can now create temporary files in the global tmp directory without
triggering external_directory permission prompts. This enables agents to
freely use temporary storage for intermediate files during builds and
other operations.
2026-05-01 15:35:45 -04:00
Aiden Cline
29ec07700c
fix: bedrock reasoning issue ( #25303 )
2026-05-01 11:15:17 -05:00
Kit Langton
e9d84c6db7
fix(llm): preserve native stream fallback parity
2026-05-01 08:54:05 -04:00
Kit Langton
f86a6790a2
refactor(llm): move queryParams off model.native to typed field
...
Promotes queryParams to a first-class ModelRef field used by Endpoint.baseURL,
so deployment-level URL query params (Azure api-version, OpenAI-compatible
provider knobs) live in a typed home instead of an opaque `native` bag.
Also removes write-only dead fields from `native`:
- openaiCompatibleProvider (set by family helper, never read)
- opencodeProviderID, opencodeModelID (set by opencode bridge + native session
builder, never read)
- npm (set by opencode bridge, never read)
After this commit `model.native` only carries genuinely provider-specific
opaque options that no other adapter cares about (Bedrock's aws_credentials
+ aws_region for SigV4). Drops the now-dead ProviderShared.queryParams
helper. Updates AGENTS.md doc on native is implicit through the new schema
JSDoc.
2026-05-01 08:12:37 -04:00
Kit Langton
5d08e28cd9
refactor(llm): move auth secret from headers onto ModelRef.apiKey
...
Add an optional `apiKey` field to `ModelRef` so authentication is no
longer baked into `model.headers` at construction time. Each provider
adapter now passes an `Auth` to `Adapter.fromProtocol` that reads
`request.model.apiKey` per request:
- OpenAI Chat / Responses / OpenAI-compatible Chat: `Auth.bearer`
- Anthropic Messages: `Auth.apiKeyHeader("x-api-key")`
- Gemini: `Auth.apiKeyHeader("x-goog-api-key")`
- Bedrock Converse: custom auth that uses `apiKey` for Bearer auth
and falls back to SigV4 with AWS credentials
The `model()` constructors no longer fold the API key into
`model.headers`. The OpenCode bridge sets `apiKey` directly instead of
building auth headers via the now-deleted `authHeader` helper. Test
assertions move from `headers: { authorization: "Bearer ..." }` to
`apiKey: "..."`.
2026-05-01 08:12:37 -04:00
Kit Langton
a921eb88e6
test(opencode): cover Azure native request mapping
2026-05-01 08:12:36 -04:00