{"_id":"@airnauts/airside-adapter-mongo","_rev":"7-970737e6c3aa153cf9978be1076f4bc5","name":"@airnauts/airside-adapter-mongo","dist-tags":{"latest":"0.10.1"},"versions":{"0.8.0":{"name":"@airnauts/airside-adapter-mongo","version":"0.8.0","keywords":["comments","commenting","annotations","feedback","airnauts","mongodb","adapter"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/airside-adapter-mongo@0.8.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/airside#readme","bugs":{"url":"https://github.com/Airnauts/airside/issues"},"dist":{"shasum":"6669ab54e12a54c46219b681eb46af40c45dc201","tarball":"https://registry.npmjs.org/@airnauts/airside-adapter-mongo/-/airside-adapter-mongo-0.8.0.tgz","fileCount":11,"integrity":"sha512-6woYCqLfqVyBOOZ59lMIAETgl3u5Q1gEAE7IUWyR04gsPVNQXyNVOECX+lyRGW3CIElu7qedcs6Q72JIDrfXIw==","signatures":[{"sig":"MEYCIQClpqHHMbdjADrNLZvDUZOBavAkB2gBFklhgNs2zkdP1AIhAM1TVnbia8OrPcIR3rR8fMhbFxTbaVZcQI9IlqPpA6K/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29686},"type":"module","_from":"file:airnauts-airside-adapter-mongo-0.8.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/07cf001304fd262a2aed44c241c9686c/airnauts-airside-adapter-mongo-0.8.0.tgz","_integrity":"sha512-6woYCqLfqVyBOOZ59lMIAETgl3u5Q1gEAE7IUWyR04gsPVNQXyNVOECX+lyRGW3CIElu7qedcs6Q72JIDrfXIw==","repository":{"url":"git+https://github.com/Airnauts/airside.git","type":"git","directory":"packages/adapter-mongo"},"_npmVersion":"10.9.8","description":"MongoDB repository adapter for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"mongodb":"^6.12.0","@airnauts/airside-core":"^0.8.0","@airnauts/airside-server":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mongodb-memory-server":"^10.1.2","@airnauts/airside-next":"0.8.0","@airnauts/airside-test-support":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/airside-adapter-mongo_0.8.0_1781601750388_0.11704345217397116","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@airnauts/airside-adapter-mongo","version":"0.8.1","keywords":["comments","commenting","annotations","feedback","airnauts","mongodb","adapter"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/airside-adapter-mongo@0.8.1","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/airside#readme","bugs":{"url":"https://github.com/Airnauts/airside/issues"},"dist":{"shasum":"032183471e854607c6ddc6c6448df80326a79fe1","tarball":"https://registry.npmjs.org/@airnauts/airside-adapter-mongo/-/airside-adapter-mongo-0.8.1.tgz","fileCount":11,"integrity":"sha512-iwhdV8c1xKS6qj6Nys5hDw6xfxeXm5EPQZ843Pev/iVcSh8yC/7UalEDpm8o/zzxEa5mT2zzlsbKGc89arzm+w==","signatures":[{"sig":"MEQCIAHUC8vWGrFHPrJ9vW4A4tvAgq8C6AibltNMZ8H0+9XHAiBHl0Ass8VFlIxfab6B7g4/hr/gePelwixxtGPLSLyymw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30163},"type":"module","_from":"file:airnauts-airside-adapter-mongo-0.8.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/9e7fd4c76bde206e2e3b880071c0bc17/airnauts-airside-adapter-mongo-0.8.1.tgz","_integrity":"sha512-iwhdV8c1xKS6qj6Nys5hDw6xfxeXm5EPQZ843Pev/iVcSh8yC/7UalEDpm8o/zzxEa5mT2zzlsbKGc89arzm+w==","repository":{"url":"git+https://github.com/Airnauts/airside.git","type":"git","directory":"packages/adapter-mongo"},"_npmVersion":"10.9.8","description":"MongoDB repository adapter for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"mongodb":"^6.12.0","@airnauts/airside-core":"^0.8.1","@airnauts/airside-server":"^0.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mongodb-memory-server":"^10.1.2","@airnauts/airside-test-support":"0.0.0","@airnauts/airside-integration-next":"0.8.1"},"_npmOperationalInternal":{"tmp":"tmp/airside-adapter-mongo_0.8.1_1781606536145_0.7737429665136595","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@airnauts/airside-adapter-mongo","version":"0.8.2","keywords":["comments","commenting","annotations","feedback","airnauts","mongodb","adapter"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/airside-adapter-mongo@0.8.2","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/airside#readme","bugs":{"url":"https://github.com/Airnauts/airside/issues"},"dist":{"shasum":"39f57bd1048ef1c98f50559cfa06b99aceaef2fb","tarball":"https://registry.npmjs.org/@airnauts/airside-adapter-mongo/-/airside-adapter-mongo-0.8.2.tgz","fileCount":11,"integrity":"sha512-gAswDK8h4dgJAZb6kQ6uAnipSLr6NGZlJy4k5BMZMUjRCvTOWL+HEJd4cw3y3V+qRZA6gxw5k0BLKLNAnmp1tQ==","signatures":[{"sig":"MEQCIGfDy2MNtAJbEFchm/A+0ybV4IVE0tD8ApoV2gnk9gBvAiBIlw2z3RFFjT000v1ebR99ZbEnz6CZtVUIX3Nyg1p3mA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30163},"type":"module","_from":"file:airnauts-airside-adapter-mongo-0.8.2.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/bb73b8dbf1ea827867daf347e08d5c24/airnauts-airside-adapter-mongo-0.8.2.tgz","_integrity":"sha512-gAswDK8h4dgJAZb6kQ6uAnipSLr6NGZlJy4k5BMZMUjRCvTOWL+HEJd4cw3y3V+qRZA6gxw5k0BLKLNAnmp1tQ==","repository":{"url":"git+https://github.com/Airnauts/airside.git","type":"git","directory":"packages/adapter-mongo"},"_npmVersion":"10.9.8","description":"MongoDB repository adapter for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"mongodb":"^6.12.0","@airnauts/airside-core":"^0.8.2","@airnauts/airside-server":"^0.8.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mongodb-memory-server":"^10.1.2","@airnauts/airside-test-support":"0.0.0","@airnauts/airside-integration-next":"0.8.2"},"_npmOperationalInternal":{"tmp":"tmp/airside-adapter-mongo_0.8.2_1781610336309_0.6096707703119724","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@airnauts/airside-adapter-mongo","version":"0.9.0","keywords":["comments","commenting","annotations","feedback","airnauts","mongodb","adapter"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/airside-adapter-mongo@0.9.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/airside#readme","bugs":{"url":"https://github.com/Airnauts/airside/issues"},"dist":{"shasum":"32b1f1a5819b9bcab3a718bca45c6ad728f89a63","tarball":"https://registry.npmjs.org/@airnauts/airside-adapter-mongo/-/airside-adapter-mongo-0.9.0.tgz","fileCount":11,"integrity":"sha512-A4bzmKC//oUE7i3/3ZrsKceEKpthwZjoAxCRNpUTRragFKSVgtpZeHqFXNcuQKxk0Ff+5ceHznGbDLcH6gmkIg==","signatures":[{"sig":"MEYCIQDdVvUxbw415Vn2pwRsCBvwrFanD8V/aYcARN2EU297NAIhAPAaJ6Os1PDBn/Xe/xgR/xOehPEGWtJ13a1bFL/7A9nR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30163},"type":"module","_from":"file:airnauts-airside-adapter-mongo-0.9.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/9257b26718e77c0ac56b3ca7f4b14913/airnauts-airside-adapter-mongo-0.9.0.tgz","_integrity":"sha512-A4bzmKC//oUE7i3/3ZrsKceEKpthwZjoAxCRNpUTRragFKSVgtpZeHqFXNcuQKxk0Ff+5ceHznGbDLcH6gmkIg==","repository":{"url":"git+https://github.com/Airnauts/airside.git","type":"git","directory":"packages/adapter-mongo"},"_npmVersion":"10.9.8","description":"MongoDB repository adapter for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"mongodb":"^6.12.0","@airnauts/airside-core":"^0.9.0","@airnauts/airside-server":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mongodb-memory-server":"^10.1.2","@airnauts/airside-test-support":"0.0.0","@airnauts/airside-integration-next":"0.9.0"},"_npmOperationalInternal":{"tmp":"tmp/airside-adapter-mongo_0.9.0_1781622015036_0.17392049179260605","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@airnauts/airside-adapter-mongo","version":"0.9.1","keywords":["comments","commenting","annotations","feedback","airnauts","mongodb","adapter"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/airside-adapter-mongo@0.9.1","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/airside#readme","bugs":{"url":"https://github.com/Airnauts/airside/issues"},"dist":{"shasum":"318abfee87f1835435e54b7abc8c4629e975d81b","tarball":"https://registry.npmjs.org/@airnauts/airside-adapter-mongo/-/airside-adapter-mongo-0.9.1.tgz","fileCount":11,"integrity":"sha512-pIH4c1WKsuLy5R8tATMexyMvviKoq6HgLgkqKSmnda+pvvzltXkdWDQ82oKTpEVu5j02kmqGgHCr7U58cM4XrQ==","signatures":[{"sig":"MEYCIQCMpRXZEuP9ERW4qp9vErR868snKatWuC7PMn11CYsUXwIhAPYmM1IUvtSatadU3pW+TpP+SJ3lhrwesLYKnuOS6+qY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30163},"type":"module","_from":"file:airnauts-airside-adapter-mongo-0.9.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/661d23c207dfa263cf06619e237ae99a/airnauts-airside-adapter-mongo-0.9.1.tgz","_integrity":"sha512-pIH4c1WKsuLy5R8tATMexyMvviKoq6HgLgkqKSmnda+pvvzltXkdWDQ82oKTpEVu5j02kmqGgHCr7U58cM4XrQ==","repository":{"url":"git+https://github.com/Airnauts/airside.git","type":"git","directory":"packages/adapter-mongo"},"_npmVersion":"10.9.8","description":"MongoDB repository adapter for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"mongodb":"^6.12.0","@airnauts/airside-core":"^0.9.1","@airnauts/airside-server":"^0.9.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mongodb-memory-server":"^10.1.2","@airnauts/airside-test-support":"0.0.0","@airnauts/airside-integration-next":"0.9.1"},"_npmOperationalInternal":{"tmp":"tmp/airside-adapter-mongo_0.9.1_1781770413880_0.8238577555583662","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@airnauts/airside-adapter-mongo","version":"0.10.0","keywords":["comments","commenting","annotations","feedback","airnauts","mongodb","adapter"],"author":{"name":"Airnauts"},"license":"MIT","_id":"@airnauts/airside-adapter-mongo@0.10.0","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"homepage":"https://github.com/Airnauts/airside#readme","bugs":{"url":"https://github.com/Airnauts/airside/issues"},"dist":{"shasum":"e83f98e06c4f14b411bea9196f72db711741d20c","tarball":"https://registry.npmjs.org/@airnauts/airside-adapter-mongo/-/airside-adapter-mongo-0.10.0.tgz","fileCount":11,"integrity":"sha512-+g00YI7yKuoRWj7o5tqRlaLgRlsyy0Xdav5jwP52acyO+rt4RtFUooLpaj/Niko+bzExuO/eBe3WwMYmnPaSvQ==","signatures":[{"sig":"MEUCIBa+fJ31LPjAxPPa1TVpl7ce9rZz/e2g4bjD6AuIBHNsAiEAwK2pYYBPrM9lvmTSY2AK8yciso2D/MXqS1LIh+g/Xms=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30760},"type":"module","_from":"file:airnauts-airside-adapter-mongo-0.10.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsup && tsc --build --force","typecheck":"tsc --build"},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"_resolved":"/tmp/4ddd9c62d72d9cecb69ff45f3ca5a05b/airnauts-airside-adapter-mongo-0.10.0.tgz","_integrity":"sha512-+g00YI7yKuoRWj7o5tqRlaLgRlsyy0Xdav5jwP52acyO+rt4RtFUooLpaj/Niko+bzExuO/eBe3WwMYmnPaSvQ==","repository":{"url":"git+https://github.com/Airnauts/airside.git","type":"git","directory":"packages/adapter-mongo"},"_npmVersion":"10.9.8","description":"MongoDB repository adapter for the Airnauts commenting tool server.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"mongodb":"^6.12.0","@airnauts/airside-core":"^0.10.0","@airnauts/airside-server":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"mongodb-memory-server":"^10.1.2","@airnauts/airside-test-support":"0.0.0","@airnauts/airside-integration-next":"0.10.0"},"_npmOperationalInternal":{"tmp":"tmp/airside-adapter-mongo_0.10.0_1782730555844_0.40979808073042134","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@airnauts/airside-adapter-mongo","version":"0.10.1","description":"MongoDB repository adapter for the Airnauts commenting tool server.","keywords":["comments","commenting","annotations","feedback","airnauts","mongodb","adapter"],"license":"MIT","author":{"name":"Airnauts"},"homepage":"https://github.com/Airnauts/airside#readme","repository":{"type":"git","url":"git+https://github.com/Airnauts/airside.git","directory":"packages/adapter-mongo"},"bugs":{"url":"https://github.com/Airnauts/airside/issues"},"type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"publishConfig":{"access":"public"},"dependencies":{"mongodb":"^6.12.0","@airnauts/airside-core":"^0.10.1","@airnauts/airside-server":"^0.10.1"},"devDependencies":{"mongodb-memory-server":"^10.1.2","@airnauts/airside-integration-next":"0.10.1","@airnauts/airside-test-support":"0.0.0"},"scripts":{"build":"tsup && tsc --build --force","typecheck":"tsc --build","test":"vitest run"},"_id":"@airnauts/airside-adapter-mongo@0.10.1","_integrity":"sha512-FC/2YJpOBjGgxMRe6A1N+pDrLVhJUR+LENkC54TI7eoVkzovmHDZT49OZiDjLogsYr7zvBw/qQa6hbpYUVuEXA==","_resolved":"/tmp/2a6235270174eb43121cecc92abe6f61/airnauts-airside-adapter-mongo-0.10.1.tgz","_from":"file:airnauts-airside-adapter-mongo-0.10.1.tgz","_nodeVersion":"22.23.0","_npmVersion":"10.9.8","dist":{"integrity":"sha512-FC/2YJpOBjGgxMRe6A1N+pDrLVhJUR+LENkC54TI7eoVkzovmHDZT49OZiDjLogsYr7zvBw/qQa6hbpYUVuEXA==","shasum":"227caea7196d7cbb58acd3eddc806ff008527d45","tarball":"https://registry.npmjs.org/@airnauts/airside-adapter-mongo/-/airside-adapter-mongo-0.10.1.tgz","fileCount":11,"unpackedSize":30760,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDORVGVG2zzXGpi3DZKjZCzY2fdj4/AECCALElPrlQClQIhAMm4Y5UVCU9gqWYBacMTRyhPU4BnGyOcs5/CS1R9Umex"}]},"_npmUser":{"name":"mateuszpaulski","email":"mateusz@airnauts.com"},"directories":{},"maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/airside-adapter-mongo_0.10.1_1782737641892_0.24678299531357295"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-16T09:22:30.144Z","modified":"2026-06-29T12:54:02.186Z","0.8.0":"2026-06-16T09:22:30.525Z","0.8.1":"2026-06-16T10:42:16.275Z","0.8.2":"2026-06-16T11:45:36.447Z","0.9.0":"2026-06-16T15:00:15.161Z","0.9.1":"2026-06-18T08:13:34.008Z","0.10.0":"2026-06-29T10:55:55.957Z","0.10.1":"2026-06-29T12:54:02.026Z"},"bugs":{"url":"https://github.com/Airnauts/airside/issues"},"author":{"name":"Airnauts"},"license":"MIT","homepage":"https://github.com/Airnauts/airside#readme","keywords":["comments","commenting","annotations","feedback","airnauts","mongodb","adapter"],"repository":{"type":"git","url":"git+https://github.com/Airnauts/airside.git","directory":"packages/adapter-mongo"},"description":"MongoDB repository adapter for the Airnauts commenting tool server.","maintainers":[{"name":"jkrzemie","email":"hello@airnauts.com"},{"name":"mateuszpaulski","email":"mateusz@airnauts.com"}],"readme":"<p align=\"center\">\n  <a href=\"https://github.com/Airnauts/airside\">\n    <picture>\n      <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/Airnauts/airside/main/assets/airside-logo-dark.svg\">\n      <img src=\"https://raw.githubusercontent.com/Airnauts/airside/main/assets/airside-logo-light.svg\" alt=\"Airside\" height=\"40\">\n    </picture>\n  </a>\n  <h1 align=\"center\">\nEmbeddable Commenting Tool\n</h1>\n</p>\n\n# @airnauts/airside-adapter-mongo\n\nMongoDB repository adapter for the [Airside](https://github.com/Airnauts/airside) server. Persists threads and attachments to a MongoDB Atlas (or self-hosted) database.\n\n## Installation\n\n```bash\npnpm add @airnauts/airside-adapter-mongo\n```\n\n## Quick start\n\n```ts\nimport { mongoRepository } from '@airnauts/airside-adapter-mongo'\n\nconst repository = mongoRepository({ uri: process.env.MONGODB_URI! })\n```\n\nPass `repository` to `createAirsideServer` from `@airnauts/airside-server` (or to `createAirsideAppRoute` / `createAirsidePagesRoute` from `@airnauts/airside-integration-next`). The adapter connects lazily on first use.\n\n## API reference\n\n### `mongoRepository(opts)`\n\nThe recommended factory for most setups. Connects lazily on first use and memoizes the connection under a `cacheKey` so hot reloads and warm serverless invocations share the same client.\n\n```ts\nmongoRepository({\n  uri: string       // MongoDB connection string (required)\n  cacheKey?: string // memoization key, default \"mongo\"\n}): Repository\n```\n\n### `createMongoRepository(opts)`\n\nLower-level factory for callers that manage their own `Db` instance:\n\n```ts\nimport { createMongoRepository, ensureIndexes } from '@airnauts/airside-adapter-mongo'\nimport { MongoClient } from 'mongodb'\n\nconst client = new MongoClient(process.env.MONGODB_URI!)\nconst db = client.db()\nawait ensureIndexes(db)\nconst repository = createMongoRepository({ db })\n```\n\n### `ensureIndexes(db)`\n\nCreates the required indexes on the `threads` and `attachments` collections. Safe to call on every startup (`createIndexes` is idempotent). Call once during app boot when using `createMongoRepository`.\n\n> The `mongoRepository` convenience calls `ensureIndexes` automatically the first time it connects.\n\n## Requirements\n\n- Node.js ≥ 18\n- MongoDB ≥ 5.0 (Atlas or self-hosted)\n- `mongodb` ^6.12.0 — bundled as a regular dependency; no separate install needed\n\n## Related packages\n\n- **`@airnauts/airside-server`** — defines the `Repository` interface\n- **`@airnauts/airside-adapter-postgres`** — PostgreSQL alternative\n- **`@airnauts/airside-adapter-memory`** — in-memory adapter for dev/tests\n- **`@airnauts/airside-integration-next`** — Next.js integration that accepts this adapter\n\n## License\n\nMIT © Airnauts\n","readmeFilename":"README.md"}