{"version":3,"sources":["../src/tools/memory.ts"],"names":["tool","z","set","get","del","keys"],"mappings":"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","file":"chunk-AJRUUE62.cjs","sourcesContent":["import { tool } from '@strands-agents/sdk'\nimport { z } from 'zod'\nimport { get, set, del, keys } from 'idb-keyval'\n\nconst PREFIX = 'careless-v2-memory:'\n\n/** remember — store arbitrary structured memory with tags */\nexport const rememberTool = tool({\n  name: 'remember',\n  description: 'Store a memory for future retrieval. Memories persist across sessions in IndexedDB.',\n  inputSchema: z.object({\n    key: z.string().describe('Unique identifier for this memory'),\n    content: z.string().describe('What to remember'),\n    tags: z.array(z.string()).optional().describe('Tags for categorization'),\n  }),\n  callback: async (input) => {\n    try {\n      const entry = {\n        key: input.key,\n        content: input.content,\n        tags: input.tags || [],\n        created: Date.now(),\n        updated: Date.now(),\n      }\n      await set(PREFIX + input.key, entry)\n      return JSON.stringify({ status: 'success', key: input.key })\n    } catch (err: unknown) {\n      return JSON.stringify({ status: 'error', error: (err as Error).message })\n    }\n  },\n})\n\nexport const recallTool = tool({\n  name: 'recall',\n  description: 'Retrieve a memory by key',\n  inputSchema: z.object({ key: z.string() }),\n  callback: async (input) => {\n    try {\n      const entry = await get(PREFIX + input.key)\n      if (!entry) return JSON.stringify({ status: 'not_found', key: input.key })\n      return JSON.stringify({ status: 'success', entry })\n    } catch (err: unknown) {\n      return JSON.stringify({ status: 'error', error: (err as Error).message })\n    }\n  },\n})\n\nexport const forgetTool = tool({\n  name: 'forget',\n  description: 'Delete a memory by key',\n  inputSchema: z.object({ key: z.string() }),\n  callback: async (input) => {\n    try { await del(PREFIX + input.key); return JSON.stringify({ status: 'success' }) }\n    catch (err: unknown) { return JSON.stringify({ status: 'error', error: (err as Error).message }) }\n  },\n})\n\nexport const listMemoriesTool = tool({\n  name: 'list_memories',\n  description: 'List all stored memories (optionally filtered by tag)',\n  inputSchema: z.object({ tag: z.string().optional() }),\n  callback: async (input) => {\n    try {\n      const allKeys = await keys()\n      const memoryKeys = allKeys.filter(k => typeof k === 'string' && k.startsWith(PREFIX)) as string[]\n      const entries = await Promise.all(memoryKeys.map(async k => ({ k, v: await get(k) })))\n      let results = entries.filter(e => e.v).map(e => e.v)\n      if (input.tag) results = results.filter((e: { tags?: string[] }) => e.tags?.includes(input.tag!))\n      return JSON.stringify({ status: 'success', count: results.length, memories: results })\n    } catch (err: unknown) {\n      return JSON.stringify({ status: 'error', error: (err as Error).message })\n    }\n  },\n})\n\nexport const searchMemoriesTool = tool({\n  name: 'search_memories',\n  description: 'Full-text search memories by content',\n  inputSchema: z.object({ query: z.string() }),\n  callback: async (input) => {\n    try {\n      const allKeys = await keys()\n      const memoryKeys = allKeys.filter(k => typeof k === 'string' && k.startsWith(PREFIX)) as string[]\n      const entries = await Promise.all(memoryKeys.map(async k => await get(k)))\n      const q = input.query.toLowerCase()\n      const matches = entries\n        .filter(e => e && (e.content?.toLowerCase().includes(q) || e.key?.toLowerCase().includes(q) || e.tags?.some((t: string) => t.toLowerCase().includes(q))))\n        .sort((a: { updated: number }, b: { updated: number }) => b.updated - a.updated)\n      return JSON.stringify({ status: 'success', count: matches.length, results: matches.slice(0, 20) })\n    } catch (err: unknown) {\n      return JSON.stringify({ status: 'error', error: (err as Error).message })\n    }\n  },\n})\n\nexport const MEMORY_TOOLS = [rememberTool, recallTool, forgetTool, listMemoriesTool, searchMemoriesTool]\n"]}