{"_id":"@agentmem/vercel-ai-provider","_rev":"4-d70f1913d31b315c9a521e3230658849","name":"@agentmem/vercel-ai-provider","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@agentmem/vercel-ai-provider","version":"0.1.0","keywords":["vercel","ai-sdk","ai","agents","memory","middleware","provider"],"author":{"name":"rooney011","email":"bvsa2020@gmail.com"},"license":"Apache-2.0","_id":"@agentmem/vercel-ai-provider@0.1.0","maintainers":[{"name":"aneesh011","email":"bvsa2020@gmail.com"}],"homepage":"https://agentmem.dev","bugs":{"url":"https://github.com/rooney011/agentmem-sdk/issues"},"dist":{"shasum":"158d75dc586ed19b34d038dc9c91f4cabf62abfe","tarball":"https://registry.npmjs.org/@agentmem/vercel-ai-provider/-/vercel-ai-provider-0.1.0.tgz","fileCount":6,"integrity":"sha512-MW+3aaqeV0FCeirvt93VunQMcVEJJTZg2BCYX/x9VxtWnv1/hF4O7K5anxSdVemqpQCn30GwUJGZhqLM2VnoXg==","signatures":[{"sig":"MEUCIQCfhdhMMgyU1S9kyhU+np0OkpLmvFuQxpQVYJNENZDIZwIgQak/StW3yVairWty9rXWLMKFUK65+4RFDcYaHVm3N+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28454},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"09f74a9ca8eba6b0f810903a8b43d215627c3a64","scripts":{"dev":"tsup --watch","test":"node --test --import=tsx test/*.test.ts","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aneesh011","email":"bvsa2020@gmail.com"},"repository":{"url":"git+https://github.com/rooney011/agentmem-sdk.git","type":"git","directory":"vercel-ai"},"_npmVersion":"11.6.2","description":"AgentMem integration for the Vercel AI SDK — middleware, tools, and helpers for any model","directories":{},"_nodeVersion":"24.11.0","dependencies":{"@agentmem/sdk":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.185","tsx":"^4.0.0","zod":"^4.0.0","tsup":"8.3.5","typescript":"5.8.3","@types/node":"^20.0.0","@ai-sdk/provider":"^3.0.10"},"peerDependencies":{"ai":"^6.0.0","zod":"^3.25.76 || ^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vercel-ai-provider_0.1.0_1779188462817_0.17842141401355627","host":"s3://npm-registry-packages-npm-production"},"deprecated":"AgentMem is now DinoMem — install @dinomem/vercel-ai-provider"},"0.1.1":{"name":"@agentmem/vercel-ai-provider","version":"0.1.1","keywords":["vercel","ai-sdk","ai","agents","memory","middleware","provider"],"author":{"name":"rooney011","email":"bvsa2020@gmail.com"},"license":"Apache-2.0","_id":"@agentmem/vercel-ai-provider@0.1.1","maintainers":[{"name":"aneesh011","email":"bvsa2020@gmail.com"}],"homepage":"https://agentmem-dashboard.vercel.app","bugs":{"url":"https://github.com/rooney011/agentmem-sdk/issues"},"dist":{"shasum":"9b359d5881aa9a9ca8d854dcdf62b1cb2673f43e","tarball":"https://registry.npmjs.org/@agentmem/vercel-ai-provider/-/vercel-ai-provider-0.1.1.tgz","fileCount":6,"integrity":"sha512-8u7OQ+XSshl18M/LdwkikQIS8WB+NlCDlFld150LOhQELXP+GN9r7NlDPO1jr395OE5FvR/0lAyBxCEHiBORXw==","signatures":[{"sig":"MEUCIQC5/5bwS9ygnf/Dpnqe7fOKmeW1uKAomEKHntXjw2g1kAIgLsD75XhZ9NLgmYFAMpFOAp3libJDWRDCUtG6pXJWPhQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28487},"main":"./dist/index.cjs","type":"module","_from":"file:agentmem-vercel-ai-provider-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsup --watch","test":"node --test --import=tsx test/*.test.ts","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aneesh011","email":"bvsa2020@gmail.com"},"_resolved":"C:\\Users\\admin\\AppData\\Local\\Temp\\e219d2abf63188f89e595eb19cc644cf\\agentmem-vercel-ai-provider-0.1.1.tgz","_integrity":"sha512-8u7OQ+XSshl18M/LdwkikQIS8WB+NlCDlFld150LOhQELXP+GN9r7NlDPO1jr395OE5FvR/0lAyBxCEHiBORXw==","repository":{"url":"git+https://github.com/rooney011/agentmem-sdk.git","type":"git","directory":"vercel-ai"},"_npmVersion":"11.6.2","description":"AgentMem integration for the Vercel AI SDK — middleware, tools, and helpers for any model","directories":{},"_nodeVersion":"24.11.0","dependencies":{"@agentmem/sdk":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.185","tsx":"^4.0.0","zod":"^4.0.0","tsup":"8.3.5","typescript":"5.8.3","@types/node":"^20.0.0","@ai-sdk/provider":"^3.0.10"},"peerDependencies":{"ai":"^6.0.0","zod":"^3.25.76 || ^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vercel-ai-provider_0.1.1_1779362551321_0.1721090789363664","host":"s3://npm-registry-packages-npm-production"},"deprecated":"AgentMem is now DinoMem — install @dinomem/vercel-ai-provider"},"0.2.0":{"name":"@agentmem/vercel-ai-provider","version":"0.2.0","keywords":["vercel","ai-sdk","ai","agents","memory","middleware","provider"],"author":{"name":"rooney011","email":"bvsa2020@gmail.com"},"license":"Apache-2.0","_id":"@agentmem/vercel-ai-provider@0.2.0","maintainers":[{"name":"aneesh011","email":"bvsa2020@gmail.com"}],"homepage":"https://agentmem-dashboard.vercel.app","bugs":{"url":"https://github.com/rooney011/agentmem-sdk/issues"},"dist":{"shasum":"59c63dc9a5254209bbdca5e954554858c1bb39c7","tarball":"https://registry.npmjs.org/@agentmem/vercel-ai-provider/-/vercel-ai-provider-0.2.0.tgz","fileCount":6,"integrity":"sha512-EcPuaH1K2cBpZVHBOZ4ap4OOE9U1bOToUvUUVRQMCt6KXTyF9t0u+gDsWyKq8XC/8MJmhkCHTf2Ghoz5ZDwZpQ==","signatures":[{"sig":"MEQCIDA5KVVIUCnnOJCQiEnDMr33dHvdtsP1oGPaS/goFMGsAiBS0C7BhcoRliMuyDvyqlqyVKXEvHAlZtBKWvt6TcVZKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31743},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f31fc9e875004109181350fc0acdc81f0e4f1fc2","scripts":{"dev":"tsup --watch","test":"node --test --import=tsx test/*.test.ts","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aneesh011","email":"bvsa2020@gmail.com"},"repository":{"url":"git+https://github.com/rooney011/agentmem-sdk.git","type":"git","directory":"vercel-ai"},"_npmVersion":"11.6.2","description":"AgentMem integration for the Vercel AI SDK — middleware, tools, and helpers for any model","directories":{},"_nodeVersion":"24.11.0","dependencies":{"@agentmem/sdk":"^0.8.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.185","tsx":"^4.0.0","zod":"^4.0.0","tsup":"8.3.5","typescript":"5.8.3","@types/node":"^20.0.0","@ai-sdk/provider":"^3.0.10"},"peerDependencies":{"ai":"^6.0.0","zod":"^3.25.76 || ^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vercel-ai-provider_0.2.0_1779966756307_0.6094106175044305","host":"s3://npm-registry-packages-npm-production"},"deprecated":"AgentMem is now DinoMem — install @dinomem/vercel-ai-provider"}},"time":{"created":"2026-05-19T11:01:02.716Z","modified":"2026-07-16T15:43:57.349Z","0.1.0":"2026-05-19T11:01:02.982Z","0.1.1":"2026-05-21T11:22:31.489Z","0.2.0":"2026-05-28T11:12:36.474Z"},"bugs":{"url":"https://github.com/rooney011/agentmem-sdk/issues"},"author":{"name":"rooney011","email":"bvsa2020@gmail.com"},"license":"Apache-2.0","homepage":"https://agentmem-dashboard.vercel.app","keywords":["vercel","ai-sdk","ai","agents","memory","middleware","provider"],"repository":{"url":"git+https://github.com/rooney011/agentmem-sdk.git","type":"git","directory":"vercel-ai"},"description":"AgentMem integration for the Vercel AI SDK — middleware, tools, and helpers for any model","maintainers":[{"name":"aneesh011","email":"bvsa2020@gmail.com"}],"readme":"# @agentmem/vercel-ai-provider\n\n[Vercel AI SDK](https://ai-sdk.dev) integration for [AgentMem](https://agentmem-dashboard.vercel.app). Three ways to wire it in — use one or stack them.\n\n```bash\nnpm install @agentmem/vercel-ai-provider ai\n```\n\n## Pattern A — middleware (automatic memory injection)\n\nWrap any `@ai-sdk/*` model and memories appear in the system prompt on every call. Works the same for `generateText`, `streamText`, and `generateObject` — they all route through the model's `doGenerate` / `doStream` hook, which is where the middleware fires.\n\n```ts\nimport { generateText, wrapLanguageModel } from 'ai'\nimport { anthropic } from '@ai-sdk/anthropic'\nimport { createAgentMemMiddleware, type LanguageModel } from '@agentmem/vercel-ai-provider'\n\nconst cfg = { apiKey: process.env.AGENTMEM_API_KEY!, agentId: 'support-bot' }\n\nconst baseModel: LanguageModel = anthropic('claude-opus-4-7')\nconst model = wrapLanguageModel({\n  model:      baseModel,\n  middleware: createAgentMemMiddleware(cfg),\n})\n\nconst { text } = await generateText({ model, prompt: 'What did the customer prefer?' })\n```\n\n> **Note on `LanguageModel`.** Import the type from this package, not from `ai`. The `ai` SDK's `LanguageModel` alias is a *union* (`string | LanguageModelV3 | LanguageModelV2`) for high-level helpers that accept a model id; that union doesn't satisfy `wrapLanguageModel`, which needs the object form only. This package re-exports the right shape.\n\n### Structured output (`generateObject`) works the same way\n\nWrap the model exactly as above and use `generateObject` directly — the middleware injects memory into the prompt before the model sees it, and the structured schema is preserved.\n\n```ts\nimport { generateObject } from 'ai'\nimport { z } from 'zod'\n\nconst { object } = await generateObject({\n  model,\n  schema: z.object({ verdict: z.enum(['approve', 'reject']), reasoning: z.string() }),\n  prompt: 'Should we approve this purchase request?',\n})\n```\n\nIf search fails, the middleware logs to stderr and lets the call proceed without memory — your model never gets blocked.\n\n## Pattern B — tools\n\n```ts\nimport { generateText } from 'ai'\nimport { anthropic } from '@ai-sdk/anthropic'\nimport { agentmemMemorize, agentmemRecall } from '@agentmem/vercel-ai-provider'\n\nawait generateText({\n  model:  anthropic('claude-opus-4-7'),\n  tools:  {\n    memorize: agentmemMemorize(cfg),\n    recall:   agentmemRecall(cfg),\n  },\n  prompt: '...',\n})\n```\n\nThe agent decides when to call `memorize` / `recall`. Lower per-turn latency than the middleware on simple turns.\n\n## Pattern C — helpers (manual control)\n\nDrop-in API replacement for [`@mem0/vercel-ai-provider`](https://www.npmjs.com/package/@mem0/vercel-ai-provider) — same function names.\n\n```ts\nimport {\n  addMemories,\n  retrieveMemories,\n  searchMemories,\n} from '@agentmem/vercel-ai-provider'\n\nawait addMemories('User prefers email.', { apiKey, agentId: 'bot' })\n\nconst context = await retrieveMemories(userMessage, { apiKey, agentId: 'bot' })\n// → \"Relevant memories retrieved from AgentMem...\\n- User prefers email.\"\n//   Splice into your system prompt manually.\n\nconst hits = await searchMemories('what does the user prefer?', { apiKey, agentId: 'bot' })\n// → MemoryHit[] for custom rendering\n```\n\n## Why this beats `@mem0/vercel-ai-provider`\n\n| | Mem0 provider | AgentMem provider |\n|---|---|---|\n| Wraps every model SDK | Yes (OpenAI, Anthropic, Cohere, Groq, Google) | No |\n| Works with any `@ai-sdk/*` provider | Only the 5 it wraps | All of them |\n| Runtime dependency count | 8+ | 1 (`@agentmem/sdk`) |\n| Provides middleware | No | Yes |\n| Helper API compatibility | — | Same names: `addMemories` / `retrieveMemories` / `searchMemories` |\n\nMigration from Mem0: change the import path, set `AGENTMEM_API_KEY` instead of `MEM0_API_KEY`, and pass `agentId` in the config.\n\n## Config reference\n\n| Field | Default | Purpose |\n|---|---|---|\n| `apiKey` | — | Required. |\n| `agentId` | — | Required (constructor OR per-call). |\n| `baseUrl` | hosted | Self-host override. |\n| `scope` | private | Visibility default. |\n| `workflowId` | — | Group memories under a workflow. |\n| `topK` | 5 | Max memories per recall. |\n| `rerank` | false | Re-score with Gemini (+0.5-1.5s). |\n| `minScore` | 0 | Drop hits below this score. |\n| `prefix` | default | Custom text before the memory block (middleware + retrieveMemories). |\n\n## License\n\n[Apache-2.0](../LICENSE)\n","readmeFilename":"README.md"}