{"_id":"@anysoftinc/anydb-sdk","_rev":"11-602df8b1ed415f497d3b3c9ac0903ec7","name":"@anysoftinc/anydb-sdk","dist-tags":{"next":"0.6.1","latest":"0.8.0"},"versions":{"0.1.1":{"name":"@anysoftinc/anydb-sdk","version":"0.1.1","keywords":["datomic","database","sdk","typescript","anydb"],"author":{"name":"Anysoft Inc"},"license":"MIT","_id":"@anysoftinc/anydb-sdk@0.1.1","maintainers":[{"name":"seepel","email":"sean@seanplynch.com"}],"homepage":"https://github.com/anysoftinc/anydb#readme","bugs":{"url":"https://github.com/anysoftinc/anydb/issues"},"dist":{"shasum":"cbfaca6d6579712bbbedb9bc6a4d2aa133d6d20b","tarball":"https://registry.npmjs.org/@anysoftinc/anydb-sdk/-/anydb-sdk-0.1.1.tgz","fileCount":11,"integrity":"sha512-C9qhy7YfzV55CRDP+Vg6SvIgCRUr7mwe0I/7gdJK8agbtN0gjhlAU/cE54jUzjO/32Iq8oJX3kcbwQm1gn2FJg==","signatures":[{"sig":"MEUCIQC9LjnFWd1PgqAYxX+lDwDidSeQu5Gm3hz//vwgfWAJhAIgHZyJ2xDtrM7EQ9rE3FEvXDZ7J9ThpswOyVvS0hsxO+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67098},"main":"dist/client.js","types":"dist/client.d.ts","exports":{".":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.js"},"./nextauth-adapter":{"types":"./dist/nextauth-adapter.d.ts","import":"./dist/nextauth-adapter.js","require":"./dist/nextauth-adapter.js"}},"gitHead":"5bb3eb93856835c21f6be6fc9d074fc999b34759","scripts":{"dev":"tsc --watch","test":"jest","build":"tsc","clean":"rm -rf dist","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"seepel","email":"sean@seanplynch.com"},"repository":{"url":"git+https://github.com/anysoftinc/anydb.git","type":"git"},"_npmVersion":"10.9.2","description":"AnyDB TypeScript SDK for querying and transacting with Datomic databases","directories":{},"_nodeVersion":"22.16.0","dependencies":{"edn-data":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.4","next-auth":"^4.24.11","typescript":"^5","@types/jest":"^29.5.12","@types/node":"^20"},"peerDependencies":{"next-auth":"^4.24.0 || ^5.0.0-beta"},"peerDependenciesMeta":{"next-auth":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/anydb-sdk_0.1.1_1756153230269_0.20365698443028313","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@anysoftinc/anydb-sdk","version":"0.1.2","keywords":["datomic","database","sdk","typescript","anydb"],"author":{"name":"Anysoft Inc"},"license":"MIT","_id":"@anysoftinc/anydb-sdk@0.1.2","maintainers":[{"name":"seepel","email":"sean@seanplynch.com"}],"homepage":"https://github.com/anysoftinc/anydb#readme","bugs":{"url":"https://github.com/anysoftinc/anydb/issues"},"dist":{"shasum":"007f18da928a0ad43a2c2c94e3858cca34a7ba22","tarball":"https://registry.npmjs.org/@anysoftinc/anydb-sdk/-/anydb-sdk-0.1.2.tgz","fileCount":11,"integrity":"sha512-Enimv3vfHTLLSTP0PSWBUTYsBAaFtFZ/7S8B5pHG5vFlnZywhZpr8FsEudtgNGPqikUWWhbNgO0bs6/Pjwfz2w==","signatures":[{"sig":"MEYCIQDIBGUlrVBkrQRxqxqqRPSmmkKTS1SQ+esMcY0kMnXqjQIhANiIrXzUBwk09sEshqZL1jiIU5AbgWNFzZQE5nc02JYb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67098},"main":"dist/client.js","types":"dist/client.d.ts","exports":{".":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.js"},"./nextauth-adapter":{"types":"./dist/nextauth-adapter.d.ts","import":"./dist/nextauth-adapter.js","require":"./dist/nextauth-adapter.js"}},"gitHead":"f0c6a382e68f6c765d746e05c10dde763d5c57e2","scripts":{"dev":"tsc --watch","test":"jest","build":"tsc","clean":"rm -rf dist","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"seepel","email":"sean@seanplynch.com"},"repository":{"url":"git+https://github.com/anysoftinc/anydb.git","type":"git"},"_npmVersion":"10.9.2","description":"AnyDB TypeScript SDK for querying and transacting with Datomic databases","directories":{},"_nodeVersion":"22.16.0","dependencies":{"edn-data":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.4","next-auth":"^4.24.11","typescript":"^5","@types/jest":"^29.5.12","@types/node":"^20"},"peerDependencies":{"next-auth":"^4.24.0 || ^5.0.0-beta"},"peerDependenciesMeta":{"next-auth":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/anydb-sdk_0.1.2_1756341325567_0.423422722586988","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@anysoftinc/anydb-sdk","version":"0.3.0","keywords":["datomic","database","sdk","typescript","anydb"],"author":{"name":"Anysoft Inc"},"license":"MIT","_id":"@anysoftinc/anydb-sdk@0.3.0","maintainers":[{"name":"seepel","email":"sean@seanplynch.com"}],"homepage":"https://github.com/anysoftinc/anydb#readme","bugs":{"url":"https://github.com/anysoftinc/anydb/issues"},"dist":{"shasum":"dbf9024832f883122be18e994e3e94f6124972d8","tarball":"https://registry.npmjs.org/@anysoftinc/anydb-sdk/-/anydb-sdk-0.3.0.tgz","fileCount":11,"integrity":"sha512-J7S56tbWyw2EsZdotn2U0voubrH6jIBULieWLcDtoBRi1eYgsEpuLlsjQYV3w30CgSbugMRrwLLktF0beBmWvw==","signatures":[{"sig":"MEUCIQCYZAowo99cH1kh33q/p8Kv2le1A1lezsvClsSnf78iMQIgQddUFNdruPOoSjHBUdAwpYKP84zvv5Kor43Eh0f0Ljo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52983},"main":"dist/client.js","types":"dist/client.d.ts","exports":{".":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.js"},"./nextauth-adapter":{"types":"./dist/nextauth-adapter.d.ts","import":"./dist/nextauth-adapter.js","require":"./dist/nextauth-adapter.js"}},"gitHead":"eb92c04a62d46e02470f5b5c31d62db72591da08","scripts":{"dev":"tsc --watch","test":"jest","build":"tsc","clean":"rm -rf dist dist-cljs target","dev:cljs":"npx shadow-cljs watch datascript","build:cljs":"npx shadow-cljs compile datascript","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"seepel","email":"sean@seanplynch.com"},"repository":{"url":"git+https://github.com/anysoftinc/anydb.git","type":"git"},"_npmVersion":"10.9.2","description":"AnyDB TypeScript SDK for querying and transacting with Datomic databases","directories":{},"_nodeVersion":"22.16.0","dependencies":{"edn-data":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.4","next-auth":"^4.24.11","typescript":"^5","@types/jest":"^29.5.12","@types/node":"^20","shadow-cljs":"^2.25.10"},"peerDependencies":{"next-auth":"^4.24.0 || ^5.0.0-beta"},"peerDependenciesMeta":{"next-auth":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/anydb-sdk_0.3.0_1758091046702_0.3937776473155574","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@anysoftinc/anydb-sdk","version":"0.4.0","keywords":["datomic","database","sdk","typescript","anydb"],"author":{"name":"Anysoft Inc"},"license":"MIT","_id":"@anysoftinc/anydb-sdk@0.4.0","maintainers":[{"name":"seepel","email":"sean@seanplynch.com"}],"homepage":"https://github.com/anysoftinc/anydb#readme","bugs":{"url":"https://github.com/anysoftinc/anydb/issues"},"dist":{"shasum":"5fdd671498dd9f4ea3ed83c65a3c3e7f60181dd5","tarball":"https://registry.npmjs.org/@anysoftinc/anydb-sdk/-/anydb-sdk-0.4.0.tgz","fileCount":45,"integrity":"sha512-eLAFEfA+PEVr0VNVZ3KK9b6H5v+qTahdQ/QSIHTo6/F1iSPHXkRqZJEpIIsSUIx63sMQ1IcCoi0dQVBy+eO3Pw==","signatures":[{"sig":"MEYCIQCHb2nfJppuFeyGF4QWq8nwlgg5xBte73+PejRbsI1KVAIhAJdCEIUjLXZgAmiObG267s7MsoI7uclrLbBmBThb9/KX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3253680},"main":"dist/client.js","types":"dist/client.d.ts","exports":{".":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.js"},"./nextauth-adapter":{"types":"./dist/nextauth-adapter.d.ts","import":"./dist/nextauth-adapter.js","require":"./dist/nextauth-adapter.js"}},"gitHead":"290679912424a7106078cd0c35cc491cb7cf30f5","scripts":{"dev":"tsc --watch","test":"jest","build":"npm run build:cljs && tsc && node scripts/pack-cljs.js","clean":"rm -rf dist dist-cljs target","dev:cljs":"npx shadow-cljs watch datascript","build:cljs":"npx shadow-cljs compile datascript","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build:cljs && tsc && node scripts/pack-cljs.js"},"_npmUser":{"name":"seepel","email":"sean@seanplynch.com"},"repository":{"url":"git+https://github.com/anysoftinc/anydb.git","type":"git"},"_npmVersion":"10.9.2","description":"AnyDB TypeScript SDK for querying and transacting with Datomic databases","directories":{},"_nodeVersion":"22.16.0","dependencies":{"uuid":"^9.0.0","edn-data":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.4","next-auth":"^4.24.11","typescript":"^5","@types/jest":"^29.5.12","@types/node":"^20","shadow-cljs":"^2.25.10"},"peerDependencies":{"next-auth":"^4.24.0 || ^5.0.0-beta"},"peerDependenciesMeta":{"next-auth":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/anydb-sdk_0.4.0_1758231394113_0.16968061332264806","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@anysoftinc/anydb-sdk","version":"0.5.0","keywords":["datomic","database","sdk","typescript","anydb"],"author":{"name":"Anysoft Inc"},"license":"MIT","_id":"@anysoftinc/anydb-sdk@0.5.0","maintainers":[{"name":"seepel","email":"sean@seanplynch.com"}],"homepage":"https://github.com/anysoftinc/anydb#readme","bugs":{"url":"https://github.com/anysoftinc/anydb/issues"},"dist":{"shasum":"19620ba2c2732b290add2a207b9d0840ea04e3b1","tarball":"https://registry.npmjs.org/@anysoftinc/anydb-sdk/-/anydb-sdk-0.5.0.tgz","fileCount":48,"integrity":"sha512-xbB93WlTOaRw2Elk8AXSXCOKBZZLCOD2sYL8oN/cu7/uyGlxXDRLQT2MkOxjrBRfy92RFN4nFiwEsxE10qOwCQ==","signatures":[{"sig":"MEUCIElsuYbVRd36sZ7pFOV4SBKaBNFL7KyOcbhjwgIswls3AiEA9AQaYiOWodawOvqX6MTeBH56LERqxLNjhTb2k5FjZsg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3258346},"main":"dist/client.js","types":"dist/client.d.ts","exports":{".":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.js"},"./auth":{"types":"./dist/auth.d.ts","import":"./dist/auth.js","require":"./dist/auth.js"},"./nextauth-adapter":{"types":"./dist/nextauth-adapter.d.ts","import":"./dist/nextauth-adapter.js","require":"./dist/nextauth-adapter.js"}},"gitHead":"e4675ae8cf3d0a61475df3db27429436b8e7bbbc","scripts":{"dev":"tsc --watch","test":"jest","build":"npm run build:cljs && tsc && node scripts/pack-cljs.js","clean":"rm -rf dist dist-cljs target","dev:cljs":"npx shadow-cljs watch datascript","build:cljs":"npx shadow-cljs compile datascript","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build:cljs && tsc && node scripts/pack-cljs.js"},"_npmUser":{"name":"seepel","email":"sean@seanplynch.com"},"repository":{"url":"git+https://github.com/anysoftinc/anydb.git","type":"git"},"_npmVersion":"10.9.2","description":"AnyDB TypeScript SDK for querying and transacting with Datomic databases","directories":{},"_nodeVersion":"22.16.0","dependencies":{"uuid":"^9.0.0","edn-data":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.4","next-auth":"^4.24.11","typescript":"^5","@types/jest":"^29.5.12","@types/node":"^20","shadow-cljs":"^2.25.10"},"peerDependencies":{"next-auth":"^4.24.0 || ^5.0.0-beta"},"peerDependenciesMeta":{"next-auth":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/anydb-sdk_0.5.0_1758848311809_0.7508791892900366","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@anysoftinc/anydb-sdk","version":"0.5.1","keywords":["datomic","database","sdk","typescript","anydb"],"author":{"name":"Anysoft Inc"},"license":"MIT","_id":"@anysoftinc/anydb-sdk@0.5.1","maintainers":[{"name":"seepel","email":"sean@seanplynch.com"}],"homepage":"https://github.com/anysoftinc/anydb#readme","bugs":{"url":"https://github.com/anysoftinc/anydb/issues"},"dist":{"shasum":"bcf298f1bac0c2be5c8679a5c7ced5dd83d2a3e6","tarball":"https://registry.npmjs.org/@anysoftinc/anydb-sdk/-/anydb-sdk-0.5.1.tgz","fileCount":48,"integrity":"sha512-9oD+HpSTm6huBJMnKaENdybgAkAbWGmYZgUU/rYE+ID1udVxlXc5CXfNN0wPfKl8sHA7fLARUBTI0t5ybT6Ylg==","signatures":[{"sig":"MEYCIQCTO6MyYXQyvwu/d+zzzEfhOKm5SfujzTUCE4rstjKDlwIhAKnF/3vQj4tIsrON+wIcXcYV1I9DNJhQJcThRxaIU4k5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3261463},"main":"dist/client.js","types":"dist/client.d.ts","exports":{".":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.js"},"./auth":{"types":"./dist/auth.d.ts","import":"./dist/auth.js","require":"./dist/auth.js"},"./nextauth-adapter":{"types":"./dist/nextauth-adapter.d.ts","import":"./dist/nextauth-adapter.js","require":"./dist/nextauth-adapter.js"}},"gitHead":"83b2075b4bf9807010240ae44133a1879dacf5a9","scripts":{"dev":"tsc --watch","test":"jest","build":"npm run build:cljs && tsc && node scripts/pack-cljs.js","clean":"rm -rf dist dist-cljs target","dev:cljs":"npx shadow-cljs watch datascript","build:cljs":"npx shadow-cljs compile datascript","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build:cljs && tsc && node scripts/pack-cljs.js"},"_npmUser":{"name":"seepel","email":"sean@seanplynch.com"},"repository":{"url":"git+https://github.com/anysoftinc/anydb.git","type":"git"},"_npmVersion":"10.9.2","description":"AnyDB TypeScript SDK for querying and transacting with Datomic databases","directories":{},"_nodeVersion":"22.16.0","dependencies":{"uuid":"^9.0.0","edn-data":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.4","next-auth":"^4.24.11","typescript":"^5","@types/jest":"^29.5.12","@types/node":"^20","shadow-cljs":"^2.25.10"},"peerDependencies":{"next-auth":"^4.24.0 || ^5.0.0-beta"},"peerDependenciesMeta":{"next-auth":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/anydb-sdk_0.5.1_1759178627387_0.9950577571358064","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@anysoftinc/anydb-sdk","version":"0.6.0","keywords":["datomic","database","sdk","typescript","anydb"],"author":{"name":"Anysoft Inc"},"license":"MIT","_id":"@anysoftinc/anydb-sdk@0.6.0","maintainers":[{"name":"seepel","email":"sean@seanplynch.com"}],"homepage":"https://github.com/anysoftinc/anydb#readme","bugs":{"url":"https://github.com/anysoftinc/anydb/issues"},"dist":{"shasum":"0b80dd91e29837f0330cb8dd8a68f8caef082d0d","tarball":"https://registry.npmjs.org/@anysoftinc/anydb-sdk/-/anydb-sdk-0.6.0.tgz","fileCount":11,"integrity":"sha512-htVirVco+1eYRHEMUbCdaZtyxUvceHnsxFb9gBwmYuEWr7cPqLuYUwjX36Zu1m3ucf2s13IE8LGiNGhzbCjOMg==","signatures":[{"sig":"MEUCIEi04gwinzJK73DcNB0L1zztnRb4tEbznefjbufOSZYBAiEAywbluHSXcMV7ajDgikhzXhKNVsNR4UMzm1DyYHNnteo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54158},"main":"dist/client.js","types":"dist/client.d.ts","exports":{".":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.js"},"./auth":{"types":"./dist/auth.d.ts","import":"./dist/auth.js","require":"./dist/auth.js"},"./nextauth-adapter":{"types":"./dist/nextauth-adapter.d.ts","import":"./dist/nextauth-adapter.js","require":"./dist/nextauth-adapter.js"}},"gitHead":"dcb0644cd3dd56c2c4a944f17f8217f2d5a8bee0","scripts":{"dev":"tsc --watch","test":"jest","build":"tsc","clean":"rm -rf dist","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"tsc"},"_npmUser":{"name":"seepel","email":"sean@seanplynch.com"},"repository":{"url":"git+https://github.com/anysoftinc/anydb.git","type":"git"},"_npmVersion":"10.9.2","description":"AnyDB TypeScript SDK for querying and transacting with Datomic databases","directories":{},"_nodeVersion":"22.16.0","dependencies":{"uuid":"^9.0.0","edn-data":"^1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.4","next-auth":"^4.24.11","typescript":"^5","@types/jest":"^29.5.12","@types/node":"^20"},"peerDependencies":{"next-auth":"^4.24.0 || ^5.0.0-beta"},"peerDependenciesMeta":{"next-auth":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/anydb-sdk_0.6.0_1765488481275_0.09762887023956424","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@anysoftinc/anydb-sdk","version":"0.6.1","keywords":["datomic","database","sdk","typescript","anydb"],"author":{"name":"Anysoft Inc"},"license":"MIT","_id":"@anysoftinc/anydb-sdk@0.6.1","maintainers":[{"name":"seepel","email":"sean@seanplynch.com"}],"homepage":"https://github.com/anysoftinc/anydb#readme","bugs":{"url":"https://github.com/anysoftinc/anydb/issues"},"dist":{"shasum":"74357dece2a5a5ebaf8cf0c46a08fcd434a828f1","tarball":"https://registry.npmjs.org/@anysoftinc/anydb-sdk/-/anydb-sdk-0.6.1.tgz","fileCount":11,"integrity":"sha512-ffpbv7Okdnt3VeidRvLvwWCADWxEliDnp4TKn0K/KEnLtTAlKjNXqsbbH2NsrtoPUtph9IG2ueI2xNYwgLDMWA==","signatures":[{"sig":"MEYCIQCkEvWNKvib1XGT8SWbDrqPbjr6wVIIrdwt6B/R2N2H+AIhAKmSpBX6gkWRtArT2zw73dv+H4eGpWSw0VkdBzTXnRml","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54161},"main":"dist/client.js","types":"dist/client.d.ts","exports":{".":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.js"},"./auth":{"types":"./dist/auth.d.ts","import":"./dist/auth.js","require":"./dist/auth.js"},"./nextauth-adapter":{"types":"./dist/nextauth-adapter.d.ts","import":"./dist/nextauth-adapter.js","require":"./dist/nextauth-adapter.js"}},"gitHead":"dcb0644cd3dd56c2c4a944f17f8217f2d5a8bee0","scripts":{"dev":"tsc --watch","test":"jest","build":"tsc","clean":"rm -rf dist","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"tsc"},"_npmUser":{"name":"seepel","email":"sean@seanplynch.com"},"repository":{"url":"git+https://github.com/anysoftinc/anydb.git","type":"git"},"_npmVersion":"10.9.2","description":"AnyDB TypeScript SDK for querying and transacting with Datomic databases","directories":{},"_nodeVersion":"22.16.0","dependencies":{"uuid":"^9.0.0","edn-data":"^1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.4","next-auth":"^4.24.11","typescript":"^5","@types/jest":"^29.5.12","@types/node":"^20"},"peerDependencies":{"next-auth":"^4.24.0 || ^5.0.0-beta"},"peerDependenciesMeta":{"next-auth":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/anydb-sdk_0.6.1_1765509322721_0.574430919450797","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@anysoftinc/anydb-sdk","version":"0.7.0","keywords":["datomic","database","sdk","typescript","anydb"],"author":{"name":"Anysoft Inc"},"license":"MIT","_id":"@anysoftinc/anydb-sdk@0.7.0","maintainers":[{"name":"seepel","email":"sean@seanplynch.com"}],"homepage":"https://github.com/anysoftinc/anydb#readme","bugs":{"url":"https://github.com/anysoftinc/anydb/issues"},"dist":{"shasum":"8f6b799b28581c0ea0c0c6fb1daff15cd9a95e51","tarball":"https://registry.npmjs.org/@anysoftinc/anydb-sdk/-/anydb-sdk-0.7.0.tgz","fileCount":11,"integrity":"sha512-5qE1uQJTtjS91jpKw7HjPsrdpBbJHIcUQShIISsSqI4p/o/+a37AZHYcN+sJVYDpvwB+K86eyk0qm0nz/3lKZg==","signatures":[{"sig":"MEYCIQDmqz2zlrAwb+EQc5BhY/KVowoFyUVFAKNehqTOqjjUFQIhANayPapklHJu3FoRPbc8Uvn2UfvfUtRcz95BlLCnHycG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60174},"main":"dist/client.js","types":"dist/client.d.ts","exports":{".":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.js"},"./auth":{"types":"./dist/auth.d.ts","import":"./dist/auth.js","require":"./dist/auth.js"},"./nextauth-adapter":{"types":"./dist/nextauth-adapter.d.ts","import":"./dist/nextauth-adapter.js","require":"./dist/nextauth-adapter.js"}},"gitHead":"78a0b7cf3be81aca4a159dd245ae30c65837d20b","scripts":{"dev":"tsc --watch","test":"jest","build":"tsc","clean":"rm -rf dist","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"tsc"},"_npmUser":{"name":"seepel","email":"sean@seanplynch.com"},"repository":{"url":"git+https://github.com/anysoftinc/anydb.git","type":"git"},"_npmVersion":"10.9.2","description":"AnyDB TypeScript SDK for querying and transacting with Datomic databases","directories":{},"_nodeVersion":"22.16.0","dependencies":{"uuid":"^9.0.0","edn-data":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.4","next-auth":"^4.24.11","typescript":"^5","@types/jest":"^29.5.12","@types/node":"^20"},"peerDependencies":{"next-auth":"^4.24.0 || ^5.0.0-beta"},"peerDependenciesMeta":{"next-auth":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/anydb-sdk_0.7.0_1768329274248_0.9521331876692345","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@anysoftinc/anydb-sdk","version":"0.8.0","keywords":["datomic","database","sdk","typescript","anydb"],"author":{"name":"Anysoft Inc"},"license":"MIT","_id":"@anysoftinc/anydb-sdk@0.8.0","maintainers":[{"name":"seepel","email":"sean@seanplynch.com"}],"homepage":"https://github.com/anysoftinc/anydb#readme","bugs":{"url":"https://github.com/anysoftinc/anydb/issues"},"dist":{"shasum":"08d51b9e163c8db1407725ebcf695105bd156719","tarball":"https://registry.npmjs.org/@anysoftinc/anydb-sdk/-/anydb-sdk-0.8.0.tgz","fileCount":11,"integrity":"sha512-GGXkWVlKItYsY7mbADl27hFN2cQMC6bGDgXuyJKN+mhv9INIF62VKGMrjiobEBTPWc9zNa4zb01O3YoDokTheQ==","signatures":[{"sig":"MEUCIG3BPMPtJSak8csCoC1BsLJ6+2fgH+swgdwQOVaIzxvNAiEA5UNtylqn8S89FY/c3Ocn9fG8KUB0h/6/mxyIXL10YpY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60636},"main":"dist/client.js","types":"dist/client.d.ts","exports":{".":{"types":"./dist/client.d.ts","import":"./dist/client.js","require":"./dist/client.js"},"./auth":{"types":"./dist/auth.d.ts","import":"./dist/auth.js","require":"./dist/auth.js"},"./nextauth-adapter":{"types":"./dist/nextauth-adapter.d.ts","import":"./dist/nextauth-adapter.js","require":"./dist/nextauth-adapter.js"}},"gitHead":"c4d96f5304b8602256afac86d49917d31a7a0533","scripts":{"dev":"tsc --watch","test":"jest","build":"tsc","clean":"rm -rf dist","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"tsc"},"_npmUser":{"name":"seepel","email":"sean@seanplynch.com"},"repository":{"url":"git+https://github.com/anysoftinc/anydb.git","type":"git"},"_npmVersion":"10.9.2","description":"AnyDB TypeScript SDK for querying and transacting with Datomic databases","directories":{},"_nodeVersion":"22.16.0","dependencies":{"uuid":"^9.0.0","edn-data":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.4","next-auth":"^4.24.11","typescript":"^5","@types/jest":"^29.5.12","@types/node":"^20"},"peerDependencies":{"next-auth":"^4.24.0 || ^5.0.0-beta"},"peerDependenciesMeta":{"next-auth":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/anydb-sdk_0.8.0_1768502698676_0.7803583147953337","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-08-25T20:20:30.192Z","modified":"2026-03-05T18:08:43.760Z","0.1.1":"2025-08-25T20:20:30.470Z","0.1.2":"2025-08-28T00:35:25.758Z","0.3.0":"2025-09-17T06:37:26.896Z","0.4.0":"2025-09-18T21:36:34.371Z","0.5.0":"2025-09-26T00:58:32.102Z","0.5.1":"2025-09-29T20:43:47.655Z","0.6.0":"2025-12-11T21:28:01.454Z","0.6.1":"2025-12-12T03:15:22.881Z","0.7.0":"2026-01-13T18:34:34.396Z","0.8.0":"2026-01-15T18:44:58.810Z"},"bugs":{"url":"https://github.com/anysoftinc/anydb/issues"},"author":{"name":"Anysoft Inc"},"license":"MIT","homepage":"https://github.com/anysoftinc/anydb#readme","keywords":["datomic","database","sdk","typescript","anydb"],"repository":{"url":"git+https://github.com/anysoftinc/anydb.git","type":"git"},"description":"AnyDB TypeScript SDK for querying and transacting with Datomic databases","maintainers":[{"email":"eli@anysoft.app","name":"eli-anysoft"},{"email":"sean@seanplynch.com","name":"seepel"}],"readme":"# AnyDB TypeScript SDK\n\nTypeScript SDK for querying and transacting with Datomic databases via the AnyDB server.\n\n## Installation\n\n```bash\nnpm install @anysoftinc/anydb-sdk\n```\n\n## Quick Start\n\n```typescript\nimport {\n  DatomicClient,\n  createAnyDBClient,\n  kw,\n  sym,\n  uuid,\n} from \"@anysoftinc/anydb-sdk\";\n\n// Create a client\nconst client = new DatomicClient({\n  baseUrl: \"http://localhost:4000\",\n  getAuthToken: () => process.env.ANYDB_TOKEN!,\n});\n\n// Create a database wrapper for convenience\nconst db = createAnyDBClient(client, \"sql\", \"db-name\");\n\n// Symbolic query\nconst query = {\n  find: [[sym(\"pull\"), sym(\"?e\"), [kw(\"db/id\"), kw(\"person/name\")]]],\n  where: [[sym(\"?e\"), kw(\"person/name\"), \"John Doe\"]],\n};\nconst rows = await db.query(query);\n\n// Execute a transaction (keywordized keys, kw()/uuid() for values)\nawait db.transact([\n  {\n    [\"person/id\"]: uuid(\"550e8400-e29b-41d4-a716-446655440000\"),\n    [\"person/name\"]: \"John Doe\",\n  },\n]);\n```\n\n## Core Features\n\n### Database Operations\n\n- **Database Management** - Create, list, and delete databases\n- **Transactions** - Execute database transactions\n- **Queries** - Execute Datalog queries with full EDN support\n- **Entity Lookup** - Retrieve individual entities\n- **Datom Access** - Raw datom queries with indexing\n\n### Query Types\n\nTraditional array-based queries are not supported in v2.\n\n#### Symbolic Queries (Type-safe)\n\n```typescript\nimport { sym, kw } from \"@anysoftinc/anydb-sdk\";\n\nconst query = {\n  find: [sym(\"?e\"), sym(\"?name\")],\n  where: [[sym(\"?e\"), kw(\"person/name\"), sym(\"?name\")]],\n};\nconst results = await db.query(query);\n```\n\nQueryBuilder has been removed in v2.\n\n**QueryBuilder Benefits:**\n\n- **Type Safety**: All attributes use proper `Keyword` objects with `kw()`\n- **IntelliSense**: Full autocomplete for methods and parameters\n- **Structured Queries**: No string concatenation or EDN parsing errors\n- **Fluent API**: Chain methods for readable query construction\n- **Aggregations**: Built-in support for count, sum, avg, min, max\n- **Direct Execution**: Execute queries directly from the builder\n\n### Temporal Queries\n\n```typescript\n// As-of queries\nconst pastResults = await client.query(query, [\n  {\n    \"db/alias\": \"storage/db\",\n    \"as-of\": 1000,\n  },\n]);\n\n// Since queries\nconst recentResults = await client.query(query, [\n  {\n    \"db/alias\": \"storage/db\",\n    since: 1000,\n  },\n]);\n\n// History queries\nconst allHistory = await client.query(query, [\n  {\n    \"db/alias\": \"storage/db\",\n    history: true,\n  },\n]);\n```\n\nSchemaBuilder and DatomicUtils have been removed in v2. Use plain tx maps with keywordized keys and kw()/uuid() for values.\n\n### Utility Functions\n\nUtility helpers for tempids and entity builders were removed in v2.\n\n### Idempotent Schema Install\n\nUse `ensureAttributes(db, schemaEntities)` to install attribute idents exactly once per database alias. It checks which idents already exist and only transacts the missing ones.\n\n```ts\nimport { ensureAttributes, kw } from \"@anysoftinc/anydb-sdk\";\n\nawait ensureAttributes(db, [\n  { \"db/ident\": kw(\"person/name\"), \"db/valueType\": kw(\"db.type/string\"), \"db/cardinality\": kw(\"db.cardinality/one\") },\n  { \"db/ident\": kw(\"person/age\"),  \"db/valueType\": kw(\"db.type/long\"),   \"db/cardinality\": kw(\"db.cardinality/one\") },\n]);\n```\n\n## Advanced Features\n\n### EDN Data Types\n\nThe SDK provides full support for Datomic's EDN data types:\n\n```typescript\nimport { sym, kw, uuid } from \"@anysoftinc/anydb-sdk\";\n\n// Symbols for query variables\nconst entityVar = sym(\"?e\");\n\n// Keywords for attributes\nconst nameAttr = kw(\"person/name\");\n\n// UUIDs\nconst entityId = uuid(\"550e8400-e29b-41d4-a716-446655440000\");\n```\n\n### Event Streaming\n\nSubscribe to transaction reports via Server-Sent Events:\n\n```typescript\nconst eventSource = db.subscribeToEvents(\n  (event) => {\n    const txData = JSON.parse(event.data);\n    console.log(\"Transaction:\", txData);\n  },\n  (error) => {\n    console.error(\"Connection error:\", error);\n  }\n);\n\n// Close the connection when done\neventSource.close();\n```\n\n### Raw Datom Queries\n\nAccess the raw datom index for high-performance queries:\n\n```typescript\n// Query EAVT index\nconst datoms = await db.datoms(\"eavt\", \"-\", {\n  e: 12345,\n  limit: 100,\n});\n\n// Query AVET index for attribute values\nconst attributeValues = await db.datoms(\"avet\", \"-\", {\n  a: \":person/name\",\n  start: \"A\",\n  end: \"B\",\n});\n```\n\n### Custom HTTP Configuration\n\n```typescript\nconst client = new DatomicClient({\n  baseUrl: \"https://api.example.com\",\n  timeout: 30000,\n  headers: {\n    Authorization: \"Bearer token\",\n    \"X-Custom-Header\": \"value\",\n  },\n});\n```\n\n### NextAuth.js Integration\n\nThe SDK includes a NextAuth.js adapter for authentication:\n\n```typescript\nimport { AnyDBAdapter } from \"@anysoftinc/anydb-sdk/nextauth-adapter\";\nimport NextAuth from \"next-auth\";\n\nexport default NextAuth({\n  adapter: AnyDBAdapter(db),\n  providers: [\n    // Your providers\n  ],\n});\n\nCookie names per app (avoid collisions)\n\nIf multiple apps share a domain, configure distinct cookie names so sessions don’t collide.\n\n```ts\nimport NextAuth from \"next-auth\";\nimport { AnyDBAdapter, createNextAuthCookies } from \"@anysoftinc/anydb-sdk/nextauth-adapter\";\n\n// ai-pm-suite\nexport default NextAuth({\n  adapter: AnyDBAdapter(db),\n  cookies: createNextAuthCookies(\"ai-pm-suite\", { style: \"cookie\" }),\n  // ... other config\n});\n\n// dashboard\nexport default NextAuth({\n  adapter: AnyDBAdapter(db),\n  cookies: createNextAuthCookies(\"dashboard\", { style: \"cookie\" }),\n  // ... other config\n});\n```\n\nThis produces names like `ai-pm-suite.session.cookie`, `ai-pm-suite.callback.cookie`, and `ai-pm-suite.csrf.cookie` (prefixed with `__Host-` in production). Clear existing cookies after changing names.\n\nSSO across apps (shared DB)\n\nIf multiple apps use the same AnyDB auth database and you want single sign-on across them, derive cookie names from the database name so they all share the same cookie namespace:\n\n```ts\nimport NextAuth from \"next-auth\";\nimport { AnyDBAdapter, createNextAuthCookiesFromDb } from \"@anysoftinc/anydb-sdk/nextauth-adapter\";\n\nexport default NextAuth({\n  adapter: AnyDBAdapter(db),\n  // Use DB name for cookie namespace to share sessions across apps\n  cookies: createNextAuthCookiesFromDb(db, { style: \"cookie\" }),\n  // ... other config\n});\n```\n\n## Auth Helpers (Server-side)\n\nIssue AnyDB-compatible HS256 tokens and normalize subjects consistently across apps:\n\n```ts\nimport { createServiceTokenProvider, signFromSessionClaims } from \"@anysoftinc/anydb-sdk/auth\";\n\n// 1) Service token provider (e.g., for adapters/bootstrap)\nconst getServiceToken = createServiceTokenProvider({\n  secret: process.env.JWT_SECRET!,\n  storageAlias: \"dev\",\n  dbName: \"app\",\n  iss: \"my-app-service\",\n  ttlSeconds: 3600,\n});\n\n// Use with DatomicClient\n// new DatomicClient({ baseUrl, getAuthToken: getServiceToken })\n\n// 2) Per-user token from NextAuth claims (re-signs JWS for AnyDB)\nconst token = signFromSessionClaims({\n  claims: nextAuthClaims, // from next-auth/jwt getToken()\n  secret: process.env.JWT_SECRET!,\n  storageAlias: \"dev\",\n  dbName: \"app\",\n  iss: \"my-app-auth\",\n  ttlSeconds: 900,\n});\n```\n\n## Error Handling\n\nThe SDK provides detailed error information:\n\n```typescript\ntry {\n  const results = await db.query(invalidQuery);\n} catch (error) {\n  if (error.message.includes(\"Datomic API error\")) {\n    console.error(\"Server error:\", error.message);\n  } else {\n    console.error(\"Client error:\", error);\n  }\n}\n```\n\n## TypeScript Support\n\nFull TypeScript definitions are included:\n\n```typescript\nimport type {\n  QueryResult,\n  Transaction,\n  Entity,\n  Datom,\n  DatabaseDescriptor,\n} from \"@anysoftinc/anydb-sdk\";\n\nconst processResults = (results: QueryResult): void => {\n  results.forEach((row) => {\n    console.log(\"Row:\", row);\n  });\n};\n```\n\n## Examples\n\nSee the [examples directory](./examples/) for complete working examples:\n\n- **[Console Example](./examples/console/)** - Web-based query interface with Monaco Editor\n- **[NextAuth.js Example](./examples/nextauth-example.md)** - Authentication adapter for NextAuth.js\n\n## API Reference\n\n### DatomicClient\n\nThe main client class for interacting with the AnyDB server.\n\n### AnyDBClient\n\nConvenience wrapper for working with a specific database.\n\n## Related\n\n- [AnyDB Server](../../..) - Backend Clojure implementation\n- [Datomic Documentation](https://docs.datomic.com/) - Official Datomic docs\n","readmeFilename":"README.md"}