Kit Langton
c5e20033ec
refactor(llm): collapse Endpoint to path-only; require ModelRef.baseURL
...
Push URL host knowledge from `Endpoint` (route layer) up to `model.baseURL`
(provider helper layer). The route just composes a path onto whatever
host the model already carries.
Endpoint:
- `Endpoint<Body>` shrinks to `{ path }`. No more `default`, `baseURL`,
or `required` fallback fields.
- `Endpoint.path(value)` replaces the old `Endpoint.baseURL({...})` factory.
- `Endpoint.render()` is now sync — `${model.baseURL}${path}` plus query
params. No fallback chain, no Effect wrapper.
ModelRef:
- `ModelRef.baseURL: Schema.String` (was optional). Every materialized
model carries a host.
- `RouteModelInput.baseURL?: string` stays optional so route defaults
can supply a canonical URL; routes without a default tighten it.
Provider helpers:
- Each protocol exports a `DEFAULT_BASE_URL` constant and bakes it into
`route.defaults.baseURL`. Provider helpers don't need to set baseURL.
- Azure uses a new `AtLeastOne<T>` helper from `auth-options.ts` to
require either `resourceName` or `baseURL` at the type level.
- Bedrock provider computes baseURL from `region` at construction time.
- OpenAI-compatible profiles now have required (not optional) `baseURL`
in their type — all 9 already supplied one.
- The `defaultBaseURL: string | false` knob on protocol endpoint
factories is gone.
Effects:
- Forgetting baseURL is now caught at compile time (TS) or model
construction time (modelWithDefaults runtime check), not request time.
- `Endpoint.render` no longer needs Effect wrapping in the transport
hot path.
2026-05-07 12:03:28 -04:00
Kit Langton
454e08792a
fix(opencode): catch up to llm route/protocol rename
...
Three small fixes for stale references after the recent
adapter→route rename and `model.protocol` field removal in
@opencode-ai/llm:
- Update three `@opencode-ai/llm/adapter` imports to `/route`.
- Switch `NATIVE_PROTOCOLS` filter on `model.protocol` to
`NATIVE_ROUTES` on `model.route`.
- Refresh test fixtures: `protocol:` → `route:`, drop `apiKey:`
/ `adapter:` assertions that reference fields no longer on
`ModelRef`, drop the `attachments` expectation that no longer
has a source-side handler.
- Default `key: "test-key"` on `ProviderTest.info` so prepare()
can resolve auth without per-test env setup.
2026-05-07 09:09:13 -04:00
Kit Langton
8cdb7233b3
feat(llm): expose xai api choices
2026-05-06 19:53:20 -04:00
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
9c93840a38
fix(llm): keep local refactor coherent after merge
2026-05-06 13:51:38 -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
4daac79cf3
refactor(llm): split providers and protocols
2026-05-05 16:58:20 -04:00
Kit Langton
8523299069
refactor(llm): simplify provider payload routing
2026-05-05 16:48:23 -04:00
Kit Langton
6242048dbd
refactor(llm): streamline adapter model handles
2026-05-05 15:05:45 -04:00
Kit Langton
fea96490e3
fix(llm): expand compatible provider bridge
2026-05-03 13:11:45 -04:00
Kit Langton
eea8764ce1
simplify(llm): extract conversation semantics
2026-05-03 12:22:51 -04:00
Kit Langton
6e23e56a49
simplify(llm): trim native runtime overhead
2026-05-03 10:13:09 -04:00
Kit Langton
b7930c75f4
simplify(llm): share tagged schema helper
2026-05-03 09:30:58 -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
Dax
9179bafd54
Add debug info command ( #25550 )
2026-05-03 05:04:52 +00:00
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
bd32252a7e
refactor(cli/providers): Stage 4 — drop inline AppRuntime.runPromise calls ( #25532 )
2026-05-02 23:42:40 -04:00
Kit Langton
1717d636a2
refactor(cli/mcp+agent): Stage 4 — drop AppRuntime.runPromise bridges ( #25530 )
2026-05-02 23:40:59 -04:00
Aiden Cline
8e016b4703
fix: regression w/ auth login where stderr was ignored instead of inherited ( #25529 )
2026-05-02 22:36:02 -05:00
Dax
33312bfd1b
fix(session): encode v2 session responses ( #25528 )
2026-05-03 03:24:46 +00:00
opencode-agent[bot]
3f1ce36418
chore: generate
2026-05-03 03:23:47 +00:00
Kit Langton
0e13279545
refactor(cli): convert agent / providers / mcp to effectCmd ( #25525 )
2026-05-02 23:22:44 -04:00
Kit Langton
5f03d892c0
fix(httpapi): pagination Link header echoes request host ( #25527 )
2026-05-02 23:19:33 -04:00
Kit Langton
bdabb102fe
refactor(cli/stats): Stage 4 — fully Effect-native body ( #25523 )
2026-05-02 23:08:26 -04:00
opencode-agent[bot]
a3d282a4c2
chore: generate
2026-05-03 03:04:40 +00:00
Kit Langton
db24f89313
refactor(cli): convert mcp list, auth, auth list, logout to effectCmd ( #25521 )
2026-05-03 03:03:32 +00:00
opencode-agent[bot]
31cb0bfa4f
chore: generate
2026-05-03 02:54:20 +00:00
Kit Langton
af9fdf0a1c
refactor(cli): convert github subcommands to effectCmd ( #25522 )
2026-05-02 22:53:20 -04:00
Youssef Achy
be88cd5cb9
chore(opencode): exclude .map files from CLI binary build ( #25500 )
2026-05-02 22:52:32 -04:00
Aiden Cline
0ba013f8de
chore: rm log statement ( #25470 )
2026-05-02 21:43:48 -05:00
Kit Langton
0956b15c52
refactor(acp): drop async from synchronous ACP.init ( #25520 )
2026-05-02 22:38:44 -04:00
opencode-agent[bot]
61150f6391
chore: generate
2026-05-03 02:36:41 +00:00
Kit Langton
7409dcc6bd
refactor(cli): convert run command to effectCmd ( #25519 )
2026-05-02 22:35:20 -04:00
Kit Langton
2829943ad1
refactor(cli): convert debug wait, agent list, acp to effectCmd ( #25518 )
2026-05-02 22:31:20 -04:00
Kit Langton
c4311dda31
feat(cli): allow effectCmd instance to be a function of args ( #25517 )
2026-05-03 02:27:41 +00: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
Kit Langton
1409a0715c
refactor(cli): convert web + account to effectCmd (instance: false) ( #25512 )
2026-05-02 21:59:35 -04:00
Kit Langton
e98c291866
feat(cli): add instance: false opt-out to effectCmd ( #25507 )
2026-05-03 01:44:06 +00:00