Skip to content

Commit b93cb0e

Browse files
committed
test(session): compile native LLM requests
1 parent 7fff570 commit b93cb0e

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

packages/opencode/test/session/llm-native.test.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import { describe, expect, test } from "bun:test"
2+
import { LLMClient, RequestExecutor } from "@opencode-ai/llm/route"
23
import { jsonSchema, tool, type ModelMessage } from "ai"
4+
import { Effect } from "effect"
35
import { LLMNative } from "@/session/llm-native"
46
import type { Provider } from "@/provider/provider"
57
import { ModelID, ProviderID } from "@/provider/schema"
@@ -231,4 +233,30 @@ describe("session.llm-native.request", () => {
231233
}),
232234
).toThrow("Native LLM request adapter does not support provider package unknown-provider")
233235
})
236+
237+
test("compiles through the native OpenAI Responses route", async () => {
238+
const prepared = await Effect.runPromise(
239+
LLMClient.prepare(
240+
LLMNative.request({
241+
model: baseModel,
242+
messages: [{ role: "user", content: "hello" }],
243+
providerOptions: { openai: { store: false } },
244+
maxOutputTokens: 512,
245+
headers: { "x-request": "request-header" },
246+
}),
247+
).pipe(Effect.provide(LLMClient.layer), Effect.provide(RequestExecutor.defaultLayer)),
248+
)
249+
250+
expect(prepared).toMatchObject({
251+
route: "openai-responses",
252+
protocol: "openai-responses",
253+
body: {
254+
model: "gpt-5-mini",
255+
input: [{ role: "user", content: [{ type: "input_text", text: "hello" }] }],
256+
max_output_tokens: 512,
257+
store: false,
258+
stream: true,
259+
},
260+
})
261+
})
234262
})

0 commit comments

Comments
 (0)