summaryrefslogtreecommitdiffhomepage
path: root/packages/opencode/test/provider/transform.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/opencode/test/provider/transform.test.ts')
-rw-r--r--packages/opencode/test/provider/transform.test.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/packages/opencode/test/provider/transform.test.ts b/packages/opencode/test/provider/transform.test.ts
index 17ae7f558..78bd296c9 100644
--- a/packages/opencode/test/provider/transform.test.ts
+++ b/packages/opencode/test/provider/transform.test.ts
@@ -167,6 +167,30 @@ describe("ProviderTransform.maxOutputTokens", () => {
})
})
+describe("ProviderTransform.schema - gemini array items", () => {
+ test("adds missing items for array properties", () => {
+ const geminiModel = {
+ providerID: "google",
+ api: {
+ id: "gemini-3-pro",
+ },
+ } as any
+
+ const schema = {
+ type: "object",
+ properties: {
+ nodes: { type: "array" },
+ edges: { type: "array", items: { type: "string" } },
+ },
+ } as any
+
+ const result = ProviderTransform.schema(geminiModel, schema) as any
+
+ expect(result.properties.nodes.items).toBeDefined()
+ expect(result.properties.edges.items.type).toBe("string")
+ })
+})
+
describe("ProviderTransform.message - DeepSeek reasoning content", () => {
test("DeepSeek with tool calls includes reasoning_content in providerOptions", () => {
const msgs = [