Commit graph

12 commits

Author SHA1 Message Date
Kit Langton
38398fd450 feat(llm): provider packages own model request construction
Provider packages in @opencode-ai/llm/providers/* now implement a uniform
ProviderPackage contract: model(modelID, settings) => Model. SessionRunnerModel
becomes provider-agnostic: it resolves a package specifier, folds catalog
settings, credentials, and transport overlays into one Settings object, and
delegates request construction to the package.

- llm: add ProviderPackage (Settings, Definition, define), flat model(id,
  config) constructors on the openai-responses, anthropic-messages, and
  openai-compatible-chat protocols, contract-shaped model exports on the
  openai, anthropic, and openai-compatible providers, and a new
  providers/openai/codex entry point that targets the ChatGPT codex backend
  and sets the chatgpt-account-id header from settings.accountID.
- schema: Provider.Native gains optional package.
- core: SessionRunnerModel loads packages through a static built-in map
  (dynamic import for foreign specifiers) and applies one settings fold;
  the ChatGPT conditional is deleted from the runner. The OpenAI plugin's
  catalog transform now assigns the codex package to eligible models when a
  ChatGPT connection is active, alongside the existing eligibility and cost
  rewrites.
- llm schema: hoist ToolResultValue union out of its Object.assign self
  reference; the previous shape only typechecked under lucky check ordering
  and broke under core's typecheck with the new import graph.

Closes #34765
2026-07-03 14:01:17 -04:00
Dax Raad
93159bccbf feat(core): port v2 runtime fixes onto dev
Cherry-picks the packages/core changes from the v2 branch onto dev:
- combined ordered stdout/stderr in AppProcess + bash structured output
- edit/apply-patch return FileDiff info with status and line stats
- ignore no-op model switches; record reasoning timestamps
- return unexpected local tool defects to the model and continue
- keep OAuth account metadata out of request bodies
- nest OpenAI reasoning effort/summary options
- load OpenCode provider config asynchronously; batch plugin boot
- export latest public event manifest

Includes the supporting schema reasoning time field and regenerated
client/SDK types.
2026-06-27 00:07:25 -04:00
Dax Raad
17f312d537 refactor(core): simplify model requests 2026-06-24 13:17:14 -04:00
Kit Langton
516cfe4e09
refactor(schema): extract shared public schemas (#33571) 2026-06-23 22:31:06 -04:00
Dax
4898263dec
feat(core): map providers to integrations (#33562) 2026-06-24 00:53:31 +00:00
Aiden Cline
c17b9557f1
fix(core): preserve structured error messages (#33530) 2026-06-23 18:43:59 -05:00
Kit Langton
f9f2280452
fix(core): defer session model validation (#33377) 2026-06-22 11:07:27 -04:00
Dax
2bb4311042
refactor(core): simplify integration test fixtures (#33292) 2026-06-22 04:15:34 +00:00
Dax
c780d7cee7
feat(plugin): add v2 effect host (#33111) 2026-06-21 08:05:49 -04:00
Dax
0cf3ee4406
refactor(core): derive catalog availability from integrations (#32272) 2026-06-14 14:44:50 +02:00
Kit Langton
0bdd9aa494
fix(core): preserve model request semantics (#30990) 2026-06-05 14:23:31 -04:00
Kit Langton
76ee87ead8
feat(core): add embedded v2 session runtime and tool foundation (#30632) 2026-06-03 23:02:17 -04:00