UNPKG

tinyagent-ts

Version:

Modern TypeScript framework for building AI agents with pluggable tools and ReAct reasoning

60 lines 2.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const schemas_1 = require("../src/schemas"); describe("ToolCallSchema", () => { it("accepts a valid tool call", () => { const data = { tool: "add", args: { a: 1, b: 2 } }; const result = schemas_1.ToolCallSchema.safeParse(data); expect(result.success).toBe(true); }); it("rejects extra keys", () => { const data = { tool: "add", args: { a: 1, b: 2 }, foo: 99 }; const result = schemas_1.ToolCallSchema.safeParse(data); expect(result.success).toBe(false); }); it("rejects missing required keys", () => { const data = { tool: "add" }; const result = schemas_1.ToolCallSchema.safeParse(data); expect(result.success).toBe(false); }); it("rejects wrong types", () => { const data = { tool: 123, args: "not-an-object" }; const result = schemas_1.ToolCallSchema.safeParse(data); expect(result.success).toBe(false); }); }); describe("AssistantReplySchema", () => { it("accepts a valid tool call", () => { const data = { tool: "add", args: { a: 1, b: 2 } }; const result = schemas_1.AssistantReplySchema.safeParse(data); expect(result.success).toBe(true); }); it("rejects extra keys in tool call", () => { const data = { tool: "add", args: { a: 1, b: 2 }, foo: 99 }; const result = schemas_1.AssistantReplySchema.safeParse(data); expect(result.success).toBe(false); }); it("rejects missing required keys", () => { const data = {}; const result = schemas_1.AssistantReplySchema.safeParse(data); expect(result.success).toBe(false); }); it("rejects wrong types", () => { const data = { tool: 123, args: "not-an-object" }; const result = schemas_1.AssistantReplySchema.safeParse(data); expect(result.success).toBe(false); }); }); describe("FinalAnswerCallSchema", () => { it("accepts a valid final_answer call", () => { const data = { tool: "final_answer", args: { answer: "ok" } }; const result = schemas_1.FinalAnswerCallSchema.safeParse(data); expect(result.success).toBe(true); }); it("rejects invalid payload", () => { const data = { tool: "final_answer", args: { foo: 1 } }; const result = schemas_1.FinalAnswerCallSchema.safeParse(data); expect(result.success).toBe(false); }); }); //# sourceMappingURL=schemas.test.js.map