{"_id":"@alt-javascript/jsnosqlc-cosmosdb","_rev":"3-d11548646c9784968d554e0f7cb1b392","name":"@alt-javascript/jsnosqlc-cosmosdb","dist-tags":{"latest":"1.1.1"},"versions":{"1.0.0":{"name":"@alt-javascript/jsnosqlc-cosmosdb","version":"1.0.0","keywords":["jsnoslqc","nosql","cosmosdb","azure","microsoft","driver"],"author":{"name":"Craig Parravicini"},"license":"MIT","_id":"@alt-javascript/jsnosqlc-cosmosdb@1.0.0","maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"contributors":[{"url":"Anthropic","name":"Claude"}],"homepage":"https://github.com/alt-javascript/jsnosqlc/tree/main/packages/cosmosdb#readme","bugs":{"url":"https://github.com/alt-javascript/jsnosqlc/issues"},"dist":{"shasum":"3c90e5240e562084eeadd299f17d61a8c7971f31","tarball":"https://registry.npmjs.org/@alt-javascript/jsnosqlc-cosmosdb/-/jsnosqlc-cosmosdb-1.0.0.tgz","fileCount":8,"integrity":"sha512-y6kxd1r6xyITfq1uhsC6knEuAjw5t5qvgb1jYYvNWAl3jbCbovE9m1Ti9+4XaoM9MOdVPvxWs4dSonqvSRpRBw==","signatures":[{"sig":"MEUCIC/tOtUhkUrSqCRJQD6hr4N9dQnN/0sWWCGuaX14GOxBAiEA2oRjsJ5Tj1nkBvPQVOaLA6bN1kEqbdANniWtdU1yc8s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alt-javascript%2fjsnosqlc-cosmosdb@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":18662},"main":"index.js","type":"module","gitHead":"80cfedbe5f530e7635cfab7c720cbc230731406c","scripts":{"test":"mocha --recursive 'test/**/*.spec.js' --timeout 30000"},"_npmUser":{"name":"craigparra","email":"craigparra@gmail.com"},"repository":{"url":"git+https://github.com/alt-javascript/jsnosqlc.git","type":"git","directory":"packages/cosmosdb"},"_npmVersion":"10.8.2","description":"JSNOSLQC Azure Cosmos DB driver via @azure/cosmos","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@azure/cosmos":"^4.9.2","@alt-javascript/jsnosqlc-core":"*"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0"},"_npmOperationalInternal":{"tmp":"tmp/jsnosqlc-cosmosdb_1.0.0_1774353605249_0.8526606582670648","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@alt-javascript/jsnosqlc-cosmosdb","version":"1.0.1","keywords":["jsnosqlc","nosql","cosmosdb","azure","microsoft","driver"],"author":{"name":"Craig Parravicini"},"license":"MIT","_id":"@alt-javascript/jsnosqlc-cosmosdb@1.0.1","maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"contributors":[{"url":"Anthropic","name":"Claude"}],"homepage":"https://github.com/alt-javascript/jsnosqlc/tree/main/packages/cosmosdb#readme","bugs":{"url":"https://github.com/alt-javascript/jsnosqlc/issues"},"dist":{"shasum":"2f87090f549b66cfe9dce71876bda94f9a80267f","tarball":"https://registry.npmjs.org/@alt-javascript/jsnosqlc-cosmosdb/-/jsnosqlc-cosmosdb-1.0.1.tgz","fileCount":8,"integrity":"sha512-HQQFVyozIFZ+3FPUjhDo7/7m1WljjNDTMZ9uVgr6J1OKZpvYf4lrm2tmxyLtKYADqfwQqoZuY8Jd2lBIV5JDzQ==","signatures":[{"sig":"MEYCIQCL6Jd1a0bBZezVwyLsQwFCowgx+5hz1Jz6iYltc72ixgIhANGr92t/HwxIIynxN07YztuxBn8AhYtBxq878wgHHXdJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alt-javascript%2fjsnosqlc-cosmosdb@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":18662},"main":"index.js","type":"module","gitHead":"8aa2fa0b3c0e0ab1bf7252b331fd5f468690fcf1","scripts":{"test":"mocha --recursive 'test/**/*.spec.js' --timeout 30000"},"_npmUser":{"name":"craigparra","email":"craigparra@gmail.com"},"repository":{"url":"git+https://github.com/alt-javascript/jsnosqlc.git","type":"git","directory":"packages/cosmosdb"},"_npmVersion":"10.8.2","description":"JSNOSLQC Azure Cosmos DB driver via @azure/cosmos","directories":{},"_nodeVersion":"20.20.1","dependencies":{"@azure/cosmos":"^4.9.2","@alt-javascript/jsnosqlc-core":"*"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0"},"_npmOperationalInternal":{"tmp":"tmp/jsnosqlc-cosmosdb_1.0.1_1774354028569_0.11927707301092827","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@alt-javascript/jsnosqlc-cosmosdb","version":"1.1.1","description":"JSNOSLQC Azure Cosmos DB driver via @azure/cosmos","keywords":["jsnosqlc","nosql","cosmosdb","azure","microsoft","driver"],"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"homepage":"https://github.com/alt-javascript/jsnosqlc/tree/main/packages/cosmosdb#readme","repository":{"type":"git","url":"git+https://github.com/alt-javascript/jsnosqlc.git","directory":"packages/cosmosdb"},"type":"module","main":"index.js","scripts":{"test":"mocha --recursive 'test/**/*.spec.js' --timeout 30000"},"dependencies":{"@alt-javascript/jsnosqlc-core":"*","@azure/cosmos":"^4.9.2"},"devDependencies":{"chai":"^4.3.7","mocha":"^10.2.0"},"author":{"name":"Craig Parravicini"},"contributors":[{"name":"Claude","url":"Anthropic"}],"license":"MIT","_id":"@alt-javascript/jsnosqlc-cosmosdb@1.1.1","gitHead":"20256a64a39eb4643b126a3996f360ade0aad2da","bugs":{"url":"https://github.com/alt-javascript/jsnosqlc/issues"},"_nodeVersion":"20.20.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-K/pLLrHOZSIS1ZsoWLnJ2WbKm+YOgH5fw0p+ux+wacffnLFrIu3rMnbTl2Pfuw4Uwk3AaVkzfmSARX/yroS4PQ==","shasum":"9e92312ac8872821a6920da9e05b990317d05c4f","tarball":"https://registry.npmjs.org/@alt-javascript/jsnosqlc-cosmosdb/-/jsnosqlc-cosmosdb-1.1.1.tgz","fileCount":8,"unpackedSize":18662,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alt-javascript%2fjsnosqlc-cosmosdb@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC8rVNDEfa2WGJvs+1LuTosKoY/kO4LxGDQFoiVLVAXjAIgXIBS0KSGnMMYN4kswe/w1g+y20dR2Ky26CnU931C9Z8="}]},"_npmUser":{"name":"craigparra","email":"craigparra@gmail.com"},"directories":{},"maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/jsnosqlc-cosmosdb_1.1.1_1774503256377_0.9102672996420627"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-24T12:00:05.184Z","modified":"2026-03-26T05:34:16.750Z","1.0.0":"2026-03-24T12:00:05.407Z","1.0.1":"2026-03-24T12:07:08.726Z","1.1.1":"2026-03-26T05:34:16.499Z"},"bugs":{"url":"https://github.com/alt-javascript/jsnosqlc/issues"},"author":{"name":"Craig Parravicini"},"license":"MIT","homepage":"https://github.com/alt-javascript/jsnosqlc/tree/main/packages/cosmosdb#readme","keywords":["jsnosqlc","nosql","cosmosdb","azure","microsoft","driver"],"repository":{"type":"git","url":"git+https://github.com/alt-javascript/jsnosqlc.git","directory":"packages/cosmosdb"},"description":"JSNOSLQC Azure Cosmos DB driver via @azure/cosmos","contributors":[{"name":"Claude","url":"Anthropic"}],"maintainers":[{"name":"craigparra","email":"craigparra@gmail.com"}],"readme":"# @alt-javascript/jsnosqlc-cosmosdb\n\n[![Language](https://img.shields.io/badge/language-JavaScript-yellow.svg)](https://developer.mozilla.org/en-US/docs/Web/JavaScript)\n[![npm version](https://img.shields.io/npm/v/%40alt-javascript%2Fjsnosqlc-cosmosdb)](https://www.npmjs.com/package/@alt-javascript/jsnosqlc-cosmosdb)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![CI](https://github.com/alt-javascript/jsnosqlc/actions/workflows/node.js.yml/badge.svg)](https://github.com/alt-javascript/jsnosqlc/actions/workflows/node.js.yml)\n\nJSNOSLQC driver for Azure Cosmos DB (NoSQL API) via the [@azure/cosmos](https://www.npmjs.com/package/@azure/cosmos) SDK.\n\n**Part of the [@alt-javascript/jsnosqlc](https://github.com/alt-javascript/jsnosqlc) monorepo.**\n\n## Install\n\n```bash\nnpm install @alt-javascript/jsnosqlc-core @alt-javascript/jsnosqlc-cosmosdb\n```\n\n## Usage\n\n```javascript\nimport { DriverManager, Filter } from '@alt-javascript/jsnosqlc-core';\nimport '@alt-javascript/jsnosqlc-cosmosdb'; // self-registers with DriverManager\n\n// Local emulator (vnext-preview — serves HTTP on port 8081)\nconst client = await DriverManager.getClient('jsnosqlc:cosmosdb:local');\n\n// Azure production\nconst client = await DriverManager.getClient(\n  'jsnosqlc:cosmosdb:https://myaccount.documents.azure.com:443/',\n  {\n    key: process.env.COSMOS_KEY,\n    database: 'myapp',\n  }\n);\n\nconst items = client.getCollection('items');\n\nawait items.store('i1', { name: 'Widget', category: 'tools', price: 9.99 });\nconst item = await items.get('i1');\n\nconst id = await items.insert({ name: 'Gadget', category: 'electronics', price: 49.99 });\nawait items.update(id, { price: 44.99 });\n\nconst filter = Filter.where('category').eq('tools').and('price').lt(15).build();\nconst cursor = await items.find(filter);\nconst tools = cursor.getDocuments();\n\nawait client.close();\n```\n\n## URL Scheme\n\n```\njsnosqlc:cosmosdb:<endpoint-or-local>\n```\n\n| URL | Description |\n|---|---|\n| `jsnosqlc:cosmosdb:local` | Local emulator (`http://localhost:8081`) |\n| `jsnosqlc:cosmosdb:https://account.documents.azure.com:443/` | Azure production |\n\n## Connection Properties\n\n| Property | Description |\n|---|---|\n| `key` | Cosmos DB account key (required for non-emulator) |\n| `database` | Database name (default: `jsnosqlc`) |\n| `endpoint` | Override emulator endpoint (default: `http://localhost:8081`) |\n\n## Database and Container Management\n\nDatabases and containers are created automatically on first use:\n\n- **Database:** created with `createIfNotExists` (default name: `jsnosqlc`)\n- **Container:** created with `createIfNotExists`, partition key `{ paths: ['/id'], kind: 'Hash' }`\n\n## Local Development with Docker\n\nThe vnext-preview emulator serves HTTP (not HTTPS) on port 8081:\n\n```bash\ndocker run --rm -d \\\n  -p 8081:8081 \\\n  mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:vnext-preview\n```\n\nWait ~30 seconds for the emulator to become ready, then connect with `jsnosqlc:cosmosdb:local`.\n\n> **Note:** The vnext-preview emulator defaults to HTTP. The older Linux emulator uses HTTPS with a\n> self-signed certificate. This driver targets vnext-preview.\n\n## Filter Translation\n\nFilters are translated to Cosmos DB SQL (`SELECT * FROM c WHERE ...`):\n\n| JSNOSLQC | Cosmos DB SQL |\n|---|---|\n| `eq` | `c.field = @p0` |\n| `ne` | `c.field != @p0` |\n| `gt` / `gte` | `c.field > / >= @p0` |\n| `lt` / `lte` | `c.field < / <= @p0` |\n| `contains` | `ARRAY_CONTAINS(c.field, @p0)` or `CONTAINS(c.field, @p0)` |\n| `in` | `c.field IN (@p0, @p1, ...)` |\n| `nin` | `NOT (c.field IN (@p0, @p1, ...))` |\n| `exists` (true) | `IS_DEFINED(c.field)` |\n| `exists` (false) | `NOT IS_DEFINED(c.field)` |\n| `and` | `(expr AND expr)` |\n| `or` | `(expr OR expr)` |\n| `not` | `NOT (expr)` |\n\n## License\n\nMIT\n","readmeFilename":"README.md"}