Spaces:
Paused
Paused
| import { describe, expect, it, vi } from "vitest"; | |
| vi.mock("../../memory/index.js", () => { | |
| return { | |
| getMemorySearchManager: async () => { | |
| return { | |
| manager: { | |
| search: async () => { | |
| throw new Error("openai embeddings failed: 429 insufficient_quota"); | |
| }, | |
| readFile: async () => { | |
| throw new Error("path required"); | |
| }, | |
| status: () => ({ | |
| files: 0, | |
| chunks: 0, | |
| dirty: true, | |
| workspaceDir: "/tmp", | |
| dbPath: "/tmp/index.sqlite", | |
| provider: "openai", | |
| model: "text-embedding-3-small", | |
| requestedProvider: "openai", | |
| }), | |
| }, | |
| }; | |
| }, | |
| }; | |
| }); | |
| import { createMemoryGetTool, createMemorySearchTool } from "./memory-tool.js"; | |
| describe("memory tools", () => { | |
| it("does not throw when memory_search fails (e.g. embeddings 429)", async () => { | |
| const cfg = { agents: { list: [{ id: "main", default: true }] } }; | |
| const tool = createMemorySearchTool({ config: cfg }); | |
| expect(tool).not.toBeNull(); | |
| if (!tool) { | |
| throw new Error("tool missing"); | |
| } | |
| const result = await tool.execute("call_1", { query: "hello" }); | |
| expect(result.details).toEqual({ | |
| results: [], | |
| disabled: true, | |
| error: "openai embeddings failed: 429 insufficient_quota", | |
| }); | |
| }); | |
| it("does not throw when memory_get fails", async () => { | |
| const cfg = { agents: { list: [{ id: "main", default: true }] } }; | |
| const tool = createMemoryGetTool({ config: cfg }); | |
| expect(tool).not.toBeNull(); | |
| if (!tool) { | |
| throw new Error("tool missing"); | |
| } | |
| const result = await tool.execute("call_2", { path: "memory/NOPE.md" }); | |
| expect(result.details).toEqual({ | |
| path: "memory/NOPE.md", | |
| text: "", | |
| disabled: true, | |
| error: "path required", | |
| }); | |
| }); | |
| }); | |