{"_id":"@agnostic-cloud/nosql","_rev":"4-30b6c284853f2cc743624838eb3f4034","name":"@agnostic-cloud/nosql","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@agnostic-cloud/nosql","version":"0.1.0","_id":"@agnostic-cloud/nosql@0.1.0","maintainers":[{"name":"develasquez","email":"felipe.velasquezc@gmail.com"}],"dist":{"shasum":"02167a30a75929f3f8257ebe28a24f77a625bfa1","tarball":"https://registry.npmjs.org/@agnostic-cloud/nosql/-/nosql-0.1.0.tgz","fileCount":7,"integrity":"sha512-+VLwursDYWsAwMjhuviFy4VxvMN6qpr5IbtxFu05JB3h5JbBK0/qNhaqQ8ifkIJPO7fPw9XcnkrA63svEGKJQw==","signatures":[{"sig":"MEYCIQCiO0VKXZa8MLvYMslKPEvCF6RsVbLN6JSwsAJnvfDDqgIhAO8EuBJeP0vMpkOFoVX7QYukkc+TMf4ryL3S98oT2AKC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85534},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^22.18.0 || ^24.0.0 || >=26.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs","publishConfig":{"access":"public"}}},"gitHead":"3c191069ba3e97bd0589ca68299bc731e947fb7e","scripts":{"test":"vitest run","build":"tsup","coverage":"vitest run --coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"develasquez","email":"felipe.velasquezc@gmail.com"},"_npmVersion":"10.8.2","description":"Unified NoSQL document database interface for DynamoDB, Firestore, and Cosmos DB","directories":{},"_nodeVersion":"20.18.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"@azure/cosmos":"^4.0.0","@aws-sdk/util-dynamodb":"^3.500.0","@google-cloud/firestore":"^7.0.0","@aws-sdk/client-dynamodb":"^3.500.0"},"peerDependenciesMeta":{"@azure/cosmos":{"optional":true},"@aws-sdk/util-dynamodb":{"optional":true},"@google-cloud/firestore":{"optional":true},"@aws-sdk/client-dynamodb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nosql_0.1.0_1785135690853_0.7344540689457619","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@agnostic-cloud/nosql","version":"0.1.1","_id":"@agnostic-cloud/nosql@0.1.1","maintainers":[{"name":"develasquez","email":"felipe.velasquezc@gmail.com"}],"dist":{"shasum":"bb1078ebc416558ed9ddcb091ec48b07d8e29c15","tarball":"https://registry.npmjs.org/@agnostic-cloud/nosql/-/nosql-0.1.1.tgz","fileCount":8,"integrity":"sha512-MCpvA6S6q3YmEDKTz5VYiUbK3AXPwZ0TBVUBVFluu2SxhKlPMNgC6qE3OS1iW1GvcOp4kfc0l3FuGAaFk1WqCQ==","signatures":[{"sig":"MEYCIQDQtNZShVOoUVIlBugqF2ZeM34ILz/REGmdrYlOVOFwEAIhAKuHsMMDcUaL7jdX1ehEuiWTohvEA022o6+r7RDr5UAw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87059},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^22.18.0 || ^24.0.0 || >=26.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs","publishConfig":{"access":"public"}}},"gitHead":"7a8e53c29d14a9846f171645fc11820203807df9","scripts":{"test":"vitest run","build":"tsup","coverage":"vitest run --coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"develasquez","email":"felipe.velasquezc@gmail.com"},"_npmVersion":"10.8.2","description":"Unified NoSQL document database interface for DynamoDB, Firestore, and Cosmos DB","directories":{},"_nodeVersion":"20.18.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"@azure/cosmos":"^4.0.0","@aws-sdk/util-dynamodb":"^3.500.0","@google-cloud/firestore":"^7.0.0","@aws-sdk/client-dynamodb":"^3.500.0"},"peerDependenciesMeta":{"@azure/cosmos":{"optional":true},"@aws-sdk/util-dynamodb":{"optional":true},"@google-cloud/firestore":{"optional":true},"@aws-sdk/client-dynamodb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nosql_0.1.1_1785136437947_0.8403961616422952","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@agnostic-cloud/nosql","version":"0.1.2","_id":"@agnostic-cloud/nosql@0.1.2","maintainers":[{"name":"develasquez","email":"felipe.velasquezc@gmail.com"}],"dist":{"shasum":"f50da3df34b7e8789998e66213b9da4011de6615","tarball":"https://registry.npmjs.org/@agnostic-cloud/nosql/-/nosql-0.1.2.tgz","fileCount":8,"integrity":"sha512-TQyJvZUCWmV/MJxQ9smpIfoEB7rYEeefSaYmozA2JK52ZMDDP5hDjuSdGVt4XfYwEvzQ9Gqtld4pbGW4r8/zyA==","signatures":[{"sig":"MEQCIF8j17HEX+TvfgJ44kUJYsJ/8/95luhdqM6uCdk1QeUWAiBckghAOaKDUCc9iKnDdkUmITYGmG6yU79kk2293OrH2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87831},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":"^22.18.0 || ^24.0.0 || >=26.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"191848009dc0a86d60b9ccb2df9dccbb61d30132","scripts":{"test":"vitest run","build":"tsup","coverage":"vitest run --coverage","typecheck":"tsc --noEmit"},"_npmUser":{"name":"develasquez","email":"felipe.velasquezc@gmail.com"},"_npmVersion":"10.8.2","description":"Unified NoSQL document database interface for DynamoDB, Firestore, and Cosmos DB","directories":{},"_nodeVersion":"20.18.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.5.0"},"peerDependencies":{"@azure/cosmos":"^4.9.3","@azure/identity":"^4.13.1","@aws-sdk/util-dynamodb":"^3.996.7","@google-cloud/firestore":"^7.11.6","@aws-sdk/client-dynamodb":"^3.1095.0"},"peerDependenciesMeta":{"@azure/cosmos":{"optional":true},"@azure/identity":{"optional":true},"@aws-sdk/util-dynamodb":{"optional":true},"@google-cloud/firestore":{"optional":true},"@aws-sdk/client-dynamodb":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/nosql_0.1.2_1785506348611_0.5403595160002486","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@agnostic-cloud/nosql","version":"0.2.0","description":"Unified NoSQL document database interface for DynamoDB, Firestore, and Cosmos DB","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","publishConfig":{"access":"public"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup","test":"vitest run","coverage":"vitest run --coverage","typecheck":"tsc --noEmit"},"peerDependencies":{"@aws-sdk/client-dynamodb":"^3.1095.0","@aws-sdk/util-dynamodb":"^3.996.7","@azure/cosmos":"^4.9.3","@azure/identity":"^4.13.1","@google-cloud/firestore":"^7.11.6"},"peerDependenciesMeta":{"@aws-sdk/client-dynamodb":{"optional":true},"@aws-sdk/util-dynamodb":{"optional":true},"@azure/cosmos":{"optional":true},"@azure/identity":{"optional":true},"@google-cloud/firestore":{"optional":true}},"devDependencies":{"tsup":"^8.0.0","typescript":"^5.5.0","vitest":"^2.0.0"},"engines":{"node":"^22.18.0 || ^24.0.0 || >=26.0.0"},"_id":"@agnostic-cloud/nosql@0.2.0","gitHead":"046c4a83bfa6f8bab917a769ff894a4a7eb8df94","_nodeVersion":"20.18.3","_npmVersion":"10.8.2","dist":{"integrity":"sha512-tQojU7TONyBj8hRHS4HGgua7AEmhEtXONJzY+7xz06NgTThhuxdRPcFUWqd1e6lVdC/t2QoBZl2g89fJaP2JnA==","shasum":"ebffd8bf9c4014ad3a7d6458eaf3edb9e6007354","tarball":"https://registry.npmjs.org/@agnostic-cloud/nosql/-/nosql-0.2.0.tgz","fileCount":8,"unpackedSize":87831,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHFLFuuEHiVueoP31bFt2C3IXKDjx6cj+azXavxkmGDuAiB1haeDumUM4szlZdwOOILP2eM9W5k16wxd76nOIdoh/g=="}]},"_npmUser":{"name":"develasquez","email":"felipe.velasquezc@gmail.com"},"directories":{},"maintainers":[{"name":"develasquez","email":"felipe.velasquezc@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nosql_0.2.0_1785539427350_0.8798559441867799"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-27T07:01:30.662Z","modified":"2026-07-31T23:10:27.690Z","0.1.0":"2026-07-27T07:01:30.984Z","0.1.1":"2026-07-27T07:13:58.091Z","0.1.2":"2026-07-31T13:59:08.792Z","0.2.0":"2026-07-31T23:10:27.500Z"},"description":"Unified NoSQL document database interface for DynamoDB, Firestore, and Cosmos DB","maintainers":[{"name":"develasquez","email":"felipe.velasquezc@gmail.com"}],"readme":"# @agnostic-cloud/nosql\n\nUnified NoSQL document database interface for DynamoDB, Firestore, and Cosmos DB.\n\n## Installation\n\n```bash\nnpm install @agnostic-cloud/nosql\n```\n\n> **Note on Peer Dependencies**: Provider SDKs are optional peer dependencies. You only need to install the SDK for the cloud provider(s) you use.\n\n### Supported Cloud Provider SDK Versions\n\n| Cloud Provider | Required SDK Package | Current / Tested Version | Installation Command |\n|---|---|---|---|\n| **AWS** | `@aws-sdk/client-dynamodb`<br/>`@aws-sdk/util-dynamodb` | `^3.1095.0`<br/>`^3.996.7` | `npm install @aws-sdk/client-dynamodb @aws-sdk/util-dynamodb` |\n| **GCP** | `@google-cloud/firestore` | `^7.11.6` | `npm install @google-cloud/firestore` |\n| **Azure** | `@azure/cosmos`<br/>`@azure/identity` | `^4.9.3`<br/>`^4.13.1` | `npm install @azure/cosmos @azure/identity` |\n\n## Usage\n\n```typescript\nimport { createNoSql } from '@agnostic-cloud/nosql'\n\nconst db = createNoSql({\n  cloud: 'aws',\n  region: 'us-east-1',\n  databaseId: 'my-db',\n})\n\n// Create\nawait db.putItem('users', 'user-1', {\n  name: 'Alice',\n  email: 'alice@example.com',\n  role: 'admin',\n})\n\n// Read\nconst user = await db.getItem('users', 'user-1')\n\n// Update\nawait db.updateItem('users', 'user-1', { role: 'editor' })\n\n// Query\nconst result = await db.query('users', {\n  role: { $eq: 'admin' },\n}, { limit: 10 })\n\n// Delete\nawait db.deleteItem('users', 'user-1')\n```\n\n## API\n\n### `createNoSql(config: NoSqlConfig): NoSqlStrategy`\n\n| Method | Signature |\n|--------|-----------|\n| `putItem` | `(collection, id, item) => Promise<void>` |\n| `getItem` | `(collection, id) => Promise<Document \\| null>` |\n| `updateItem` | `(collection, id, changes) => Promise<Document>` |\n| `deleteItem` | `(collection, id) => Promise<void>` |\n| `query` | `(collection, filter, options?) => Promise<QueryResult>` |\n\n## Configuration\n\n```typescript\ninterface NoSqlConfig {\n  cloud?: 'aws' | 'gcp' | 'azure'\n  region?: string\n  config?: Record<string, any>\n  databaseId?: string\n}\n```\n\n## Documentation\n\nFull docs: https://develasquez.github.io/-agnostic-cloud/docs/next/packages/nosql\n\nAPI reference: https://develasquez.github.io/-agnostic-cloud/docs/next/api/@agnostic-cloud/nosql\n","readmeFilename":"README.md"}