fix(provider): derive variants from reasoning metadata (#36624)

This commit is contained in:
Aiden Cline 2026-07-13 01:21:59 -05:00 committed by GitHub
commit a8062ea314
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 532 additions and 173 deletions

View file

@ -1,5 +1,5 @@
import { describe, expect, beforeAll, beforeEach, afterAll, test } from "bun:test"
import { Effect, Layer, Ref, Schema } from "effect"
import { describe, expect, beforeAll, beforeEach, afterAll } from "bun:test"
import { Effect, Layer, Ref } from "effect"
import { HttpClient, HttpClientResponse } from "effect/unstable/http"
import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder"
import { LayerNodePlatform } from "@opencode-ai/core/effect/app-node-platform"
@ -126,21 +126,6 @@ const initialState: MockState = {
calls: [],
}
test("models.dev model schema keeps reasoning options permissive", () => {
const model = Schema.decodeUnknownSync(ModelsDev.Model)({
id: "acme-1",
name: "Acme One",
release_date: "2026-01-01",
attachment: false,
reasoning: true,
reasoning_options: [{ type: "future_control", value: { nested: true } }, "future-shape"],
temperature: true,
tool_call: true,
limit: { context: 128000, output: 8192 },
})
expect(model.reasoning_options).toEqual([{ type: "future_control", value: { nested: true } }, "future-shape"])
})
describe("ModelsDev Service", () => {
it.live("get() returns providers from disk when cache file exists", () =>
Effect.gen(function* () {