{"_id":"@anvailabs/proximadb-client","name":"@anvailabs/proximadb-client","dist-tags":{"latest":"0.3.0"},"versions":{"0.3.0":{"name":"@anvailabs/proximadb-client","version":"0.3.0","description":"TypeScript/Node.js SDK for ProximaDB vector database","main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"build":"tsc && tsc -p tsconfig.esm.json","clean":"rm -rf dist","prepublishOnly":"npm run clean && npm run build","lint":"tsc --noEmit","format":"prettier --write src/**/*.ts","test":"vitest run","test:watch":"vitest","gen-sdk":"bash codegen/gen.sh"},"keywords":["proximadb","vector","database","embeddings","similarity-search","ai","ml","graph","typescript"],"author":{"name":"ProximaDB Contributors"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/anvai-labs/proximaDB.git","directory":"clients/nodejs-embedded"},"bugs":{"url":"https://github.com/proximadb/proximadb/issues"},"homepage":"https://github.com/proximadb/proximadb#readme","engines":{"node":">=18.0.0"},"dependencies":{"openapi-fetch":"0.17.0"},"devDependencies":{"@types/node":"^20.10.0","@vitest/coverage-v8":"^4.1.10","openapi-typescript":"7.13.0","typescript":"^5.3.0","vitest":"^4.1.7","yaml":"^2.9.0"},"overrides":{"js-yaml":"^4.3.0","brace-expansion":"^2.1.4"},"publishConfig":{"access":"public"},"_id":"@anvailabs/proximadb-client@0.3.0","gitHead":"c3d8e12c7877f0d979bf21f0856ee8366145451c","_nodeVersion":"22.19.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-LL4/ODKraNdJ8seQekn1OkdMKprBre1yNFY5+WJeViqthRQ44MnhGzj9t3pQ/UsfdRrH0BbWKm7NkBhZKdqglA==","shasum":"98bc6c64ffcdd0b5dc68e3e23ed941aa0dfa04dd","tarball":"https://registry.npmjs.org/@anvailabs/proximadb-client/-/proximadb-client-0.3.0.tgz","fileCount":65,"unpackedSize":875472,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDOdLJm6TTzvjx6xhAWJOdVbt5YmKD4ab9o/l0li95TKAiEAoxOTwgFoSEI2jkofpFs0hUowiAIwSjuGUwQRHR9I9RQ="}]},"_npmUser":{"name":"anvai-labs","email":"singhvjd@gmail.com"},"directories":{},"maintainers":[{"name":"anvai-labs","email":"singhvjd@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/proximadb-client_0.3.0_1788429476238_0.7300698595927952"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-03T09:57:56.005Z","0.3.0":"2026-09-03T09:57:56.411Z","modified":"2026-09-03T09:57:56.655Z"},"maintainers":[{"name":"anvai-labs","email":"singhvjd@gmail.com"}],"description":"TypeScript/Node.js SDK for ProximaDB vector database","homepage":"https://github.com/proximadb/proximadb#readme","keywords":["proximadb","vector","database","embeddings","similarity-search","ai","ml","graph","typescript"],"repository":{"type":"git","url":"git+https://github.com/anvai-labs/proximaDB.git","directory":"clients/nodejs-embedded"},"author":{"name":"ProximaDB Contributors"},"bugs":{"url":"https://github.com/proximadb/proximadb/issues"},"license":"Apache-2.0","readme":"# ProximaDB Embedded for Node.js\n\nZero-overhead embedded vector database for Node.js using NAPI-RS bindings to ProximaDB's Rust core.\n\n## Features\n\n- **Zero Network Overhead** - Direct in-process access to Rust core\n- **Multi-Disk Support** - Configure multiple storage locations with weighted distribution\n- **SIMD Acceleration** - Automatic AVX2/NEON optimization\n- **Full Persistence** - WAL with configurable sync modes\n- **TypeScript Support** - Full type definitions included\n\n## Installation\n\n```bash\nnpm install proximadb-embedded\n```\n\n## Quick Start\n\n```javascript\nconst { ProximaDB } = require('proximadb-embedded');\n\n// Create database with simple configuration\nconst db = new ProximaDB({ dataDir: './my_database' });\n\n// Or with multi-disk support\nconst dbMulti = new ProximaDB({\n  dataDirs: [\n    { path: '/nvme/data', weight: 2 },  // Fast SSD - gets more data\n    { path: '/hdd/data', weight: 1 },   // Slower HDD\n  ],\n  metadataDir: '/nvme/metadata',\n  cacheSizeMb: 2048,\n});\n\n// Create collection\ndb.createCollection('embeddings', 768, 'sst');\n\n// Insert vectors\nconst ids = ['doc_0', 'doc_1', 'doc_2'];\nconst vectors = [\n  [0.1, 0.2, /* ... 768 dimensions */],\n  [0.3, 0.4, /* ... */],\n  [0.5, 0.6, /* ... */],\n];\nconst metadata = [\n  { category: 'tech' },\n  { category: 'science' },\n  { category: 'tech' },\n];\n\ndb.insert('embeddings', ids, vectors, metadata);\n\n// Search for similar vectors\nconst query = [0.1, 0.2, /* ... */];\nconst results = db.search('embeddings', query, 10);\n\nfor (const r of results) {\n  console.log(`${r.id}: score=${r.score.toFixed(4)}`);\n}\n\n// Flush to ensure durability\ndb.flush();\n```\n\n## TypeScript\n\n```typescript\nimport { ProximaDB, SearchResult, CollectionInfo } from 'proximadb-embedded';\n\nconst db = new ProximaDB({ dataDir: './data' });\n\ndb.createCollection('vectors', 128);\n\nconst results: SearchResult[] = db.search('vectors', query, 10);\nconst info: CollectionInfo | null = db.getCollection('vectors');\n```\n\n## API Reference\n\n### Constructor\n\n```javascript\nnew ProximaDB(config?: ProximaDBConfig)\n```\n\nConfiguration options:\n- `dataDir` - Single data directory path\n- `dataDirs` - Array of disk configurations for multi-disk\n- `metadataDir` - Metadata storage path\n- `cacheSizeMb` - Cache size in MB (default: 512)\n- `defaultEngine` - Storage engine: \"sst\" (recommended), \"nova\", \"helix\", etc. (`viper` is DEPRECATED — see ADR-093, do not select for new collections)\n- `enableWal` - Enable write-ahead logging (default: true)\n- `walSyncMode` - WAL sync: \"immediate\", \"batch\", \"async\"\n\n### Methods\n\n#### createCollection(name, dimension, engine?)\nCreate a new vector collection.\n\n#### deleteCollection(name)\nDelete a collection.\n\n#### getCollection(name)\nGet collection information or null.\n\n#### listCollections()\nList all collections.\n\n#### insert(collection, ids, vectors, metadata?)\nInsert vectors. Returns count inserted.\n\n#### search(collection, query, topK?, filter?)\nSearch for similar vectors. Returns array of results.\n\n#### flush()\nFlush pending writes to disk.\n\n#### stats()\nGet storage statistics.\n\n### Storage Engines\n\n| Engine | Best For |\n|--------|----------|\n| `sst` | OLTP, real-time queries (default) |\n| `nova` | Mixed workloads, columnar analytics |\n| `swift` | Hot data, low latency |\n| `raptor` | Adaptive, multi-tenant |\n| `helix` | High-dimensional vectors |\n\n## Building from Source\n\n### Prerequisites\n\n- Node.js 16+\n- Rust 1.88+\n- @napi-rs/cli\n\n### Build Steps\n\n```bash\n# Install NAPI CLI\nnpm install -g @napi-rs/cli\n\n# Build the package\ncd clients/nodejs-embedded\nnpm install\nnpm run build\n```\n\n## License\n\nApache License 2.0\n\n## Links\n\n- [ProximaDB Repository](https://github.com/anvai-labs/proximaDB)\n- [Documentation](https://github.com/anvai-labs/proximaDB#readme)\n","readmeFilename":"README.md","_rev":"1-8177c3419c8e898421f2b3ef724c89e4"}