{"_id":"@caleblawson/upstash","name":"@caleblawson/upstash","dist-tags":{"latest":"0.11.1-alpha.0"},"versions":{"0.11.1-alpha.0":{"name":"@caleblawson/upstash","version":"0.11.1-alpha.0","description":"Upstash provider for Mastra - includes both vector and db storage capabilities","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"license":"MIT","dependencies":{"@upstash/redis":"^1.35.0","@upstash/vector":"^1.2.1"},"devDependencies":{"@microsoft/api-extractor":"^7.52.8","@types/node":"^20.19.0","dotenv":"^16.5.0","eslint":"^9.28.0","tsup":"^8.5.0","typescript":"^5.8.3","vitest":"^3.2.3","@internal/lint":"0.0.13","@mastra/core":"npm:@caleblawson/core@0.10.7-alpha.0","@internal/storage-test-utils":"0.0.9"},"peerDependencies":{"@mastra/core":">=0.10.4-0 <0.11.0"},"scripts":{"pretest":"docker compose up -d","test":"vitest run","posttest":"docker compose down","lint":"eslint .","build":"tsup src/index.ts --format esm,cjs --experimental-dts --clean --treeshake=smallest --splitting","build:watch":"pnpm build --watch"},"gitHead":"c31e90130a5c9765c23f688ecea70adc6164543d","_id":"@caleblawson/upstash@0.11.1-alpha.0","_integrity":"sha512-PZvyU2OAtuWsa+udgwPHtMP15K5Gybeo5A0QSxKPpF+ybXXS6rntpf3ZjLImkRPIEKX8GRsIcL6R3JDP2Y09OQ==","_resolved":"C:\\Users\\caleb\\AppData\\Local\\Temp\\300b444c5286f0a94d0b30c2a06393c8\\caleblawson-upstash-0.11.1-alpha.0.tgz","_from":"file:caleblawson-upstash-0.11.1-alpha.0.tgz","_nodeVersion":"21.2.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-PZvyU2OAtuWsa+udgwPHtMP15K5Gybeo5A0QSxKPpF+ybXXS6rntpf3ZjLImkRPIEKX8GRsIcL6R3JDP2Y09OQ==","shasum":"a945cb5fb9d37b50fea21c40759e48f41eac7a02","tarball":"https://registry.npmjs.org/@caleblawson/upstash/-/upstash-0.11.1-alpha.0.tgz","fileCount":24,"unpackedSize":360749,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGfC9kKFvAe+mzlEfmkbcvRxHpNW7HalAJqfQnz3OlLpAiAM9piBkhhN5D622Qh7btjXhsBTgmhdwESZtI12HgvFrQ=="}]},"_npmUser":{"name":"caleblawson","email":"caleb.lawson@dynapt.com","actor":{"name":"caleblawson","email":"caleb.lawson@dynapt.com","type":"user"}},"directories":{},"maintainers":[{"name":"caleblawson","email":"caleb.lawson@dynapt.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/upstash_0.11.1-alpha.0_1750619839065_0.09139904348033956"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-22T19:17:19.001Z","0.11.1-alpha.0":"2025-06-22T19:17:19.244Z","modified":"2025-06-22T19:17:19.451Z"},"maintainers":[{"name":"caleblawson","email":"caleb.lawson@dynapt.com"}],"description":"Upstash provider for Mastra - includes both vector and db storage capabilities","license":"MIT","readme":"# @mastra/upstash\r\n\r\nUpstash provider for Mastra that includes both vector store and database storage capabilities.\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @mastra/upstash\r\n```\r\n\r\n## Vector Store Usage\r\n\r\n```typescript\r\nimport { UpstashVector } from '@mastra/upstash';\r\n\r\n// In upstash they refer to the store as an index\r\nconst vectorStore = new UpstashVector({\r\n  url: process.env.UPSTASH_VECTOR_REST_URL,\r\n  token: process.env.UPSTASH_VECTOR_TOKEN\r\n});\r\n\r\n// Add vectors\r\nconst vectors = [[0.1, 0.2, ...], [0.3, 0.4, ...]];\r\nconst metadata = [{ text: 'doc1' }, { text: 'doc2' }];\r\nconst ids = await vectorStore.upsert({\r\n  indexName: 'my-namespace',\r\n  vectors,\r\n  metadata\r\n});\r\n\r\n// There is no store.createIndex call here, Upstash creates indexes (known as namespaces in Upstash) automatically\r\n// when you upsert if that namespace does not exist yet.\r\n\r\n// Query vectors\r\nconst results = await vectorStore.query({\r\n  indexName: 'my-namespace',\r\n  queryVector: [0.1, 0.2, ...],\r\n  topK: 10,\r\n  filter: { text: { $eq: 'doc1' } },\r\n  includeVector: false\r\n});\r\n```\r\n\r\n### Vector Store Configuration\r\n\r\nThe Upstash vector store requires the following configuration:\r\n\r\n- `UPSTASH_VECTOR_REST_URL`: Your Upstash Vector REST URL\r\n- `UPSTASH_VECTOR_TOKEN`: Your Upstash Vector REST token\r\n- `UPSTASH_INDEX`: Name of the index to use\r\n\r\n## Database Storage Usage\r\n\r\n```typescript\r\nimport { UpstashStore } from '@mastra/upstash';\r\n\r\nconst store = new UpstashStore({\r\n  url: process.env.UPSTASH_REDIS_REST_URL,\r\n  token: process.env.UPSTASH_REDIS_REST_TOKEN,\r\n});\r\n```\r\n\r\n### Database Storage Configuration\r\n\r\nThe Upstash store requires the following configuration:\r\n\r\n- `UPSTASH_REDIS_REST_URL`: Your Upstash Redis REST URL\r\n- `UPSTASH_REDIS_REST_TOKEN`: Your Upstash Redis REST token\r\n\r\n## Features\r\n\r\n- Serverless vector database and key-value store\r\n- Pay-per-use pricing\r\n- Low latency global access\r\n- REST API interface\r\n- Built-in vector similarity search\r\n- Durable storage for chat history and agent memory\r\n\r\n## Related Links\r\n\r\n- [Upstash Vector Documentation](https://docs.upstash.com/vector)\r\n- [Upstash Redis Documentation](https://docs.upstash.com/redis)\r\n","readmeFilename":"README.md","_rev":"1-b59069394c72b493bf6560d0aa24ce19"}