opencode/packages/llm/test
Aiden Cline f7dcfc2680 feat: drive reasoning variants from models.dev reasoning_options
Parse the curated reasoning_options field from models.dev api.json and use
its effort values to generate reasoning variants instead of the hardcoded
per-package tables, in both the v1 provider catalog and the v2 catalog plugin.

- core: ModelsDev.ReasoningOption discriminated union (toggle | effort |
  budget_tokens); effort values stay open strings and unknown option types
  are tolerated since api.json is cast, not decoded
- core: ReasoningVariants shared per-package effort encoder used by v1
  ProviderTransform.variants and the v2 ModelsDevPlugin
- core: v2 catalog generates effort variants from reasoning_options;
  curated experimental modes win id collisions; anthropic profile gains
  the effort semantic
- llm: anthropic protocol supports adaptive thinking, lowers effort to
  output_config.effort, and sends the effort-2025-11-24 beta header
- opencode: resolved Provider.Model carries capabilities.reasoningOptions
  (unknown types and null effort values dropped at the mapping boundary);
  config models accept reasoning_options; models without usable effort
  data fall back to the hardcoded tables unchanged

Catalog-wide audit vs live api.json: 2975 models byte-identical, 38 diffs,
all data correcting stale hardcoded effort lists.
2026-06-09 17:21:11 -05:00
..
fixtures chore: generate 2026-05-24 01:08:00 +00:00
lib chore: generate 2026-06-04 03:03:39 +00:00
provider feat: drive reasoning variants from models.dev reasoning_options 2026-06-09 17:21:11 -05:00
adapter.test.ts Refactor LLM route-first provider API (#28523) 2026-05-20 20:15:52 -04:00
auth-options.types.ts Refactor LLM route-first provider API (#28523) 2026-05-20 20:15:52 -04:00
auth.test.ts Refactor LLM route-first provider API (#28523) 2026-05-20 20:15:52 -04:00
cache-policy.test.ts Refactor LLM route-first provider API (#28523) 2026-05-20 20:15:52 -04:00
continuation-scenarios.ts fix(llm): split OpenAI reasoning summary blocks (#29000) 2026-05-23 20:06:45 -05:00
endpoint.test.ts Refactor LLM route-first provider API (#28523) 2026-05-20 20:15:52 -04:00
executor.test.ts fix(core): recover v2 context overflow (#31005) 2026-06-05 16:05:51 -04:00
exports.test.ts Refactor LLM route-first provider API (#28523) 2026-05-20 20:15:52 -04:00
generate-object.test.ts Refactor LLM route-first provider API (#28523) 2026-05-20 20:15:52 -04:00
llm.test.ts chore: generate 2026-06-04 03:03:39 +00:00
provider.types.ts Refactor LLM route-first provider API (#28523) 2026-05-20 20:15:52 -04:00
recorded-golden.ts feat(http-recorder): prepare public beta release (#31018) 2026-06-06 03:01:26 +00:00
recorded-runner.ts Add native LLM core foundation (#24712) 2026-05-08 16:56:20 -04:00
recorded-scenarios.ts refactor(core): simplify location filesystem (#31545) 2026-06-09 14:28:45 -04:00
recorded-test.ts feat(http-recorder): prepare public beta release (#31018) 2026-06-06 03:01:26 +00:00
recorded-utils.ts Add native LLM core foundation (#24712) 2026-05-08 16:56:20 -04:00
recorded-websocket.ts feat(http-recorder): prepare public beta release (#31018) 2026-06-06 03:01:26 +00:00
route.test.ts Refactor LLM route-first provider API (#28523) 2026-05-20 20:15:52 -04:00
schema.test.ts chore: generate 2026-06-05 03:28:04 +00:00
tool-runtime.test.ts chore: generate 2026-06-09 18:30:51 +00:00
tool-stream.test.ts Emit LLM stream lifecycle events (#26971) 2026-05-11 21:31:48 -04:00
tool.types.ts chore: generate 2026-06-04 03:03:39 +00:00