|
@@ -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", () => {
|
|
describe("ProviderTransform.message - DeepSeek reasoning content", () => {
|
|
|
test("DeepSeek with tool calls includes reasoning_content in providerOptions", () => {
|
|
test("DeepSeek with tool calls includes reasoning_content in providerOptions", () => {
|
|
|
const msgs = [
|
|
const msgs = [
|