{"_id":"@odla-ai/chat","_rev":"53-09fbb9177e9dae59e066b3af33b08eab","name":"@odla-ai/chat","dist-tags":{"latest":"0.13.4"},"versions":{"0.1.0":{"name":"@odla-ai/chat","version":"0.1.0","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.1.0","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"dist":{"shasum":"d32e5b029318b1fa862390ceca7b258e04351987","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.1.0.tgz","fileCount":9,"integrity":"sha512-HbPmNI7HTApJEQCs5o+9WIhC7tDdbbGmHwHKxpwaZs/Acffd1FOPD1zutO+QzLyVI4dlRr51ksd1s9VndLTvlg==","signatures":[{"sig":"MEUCIQDjWyR5GF0lcBOaa62a612SnjAcgZp13nVdA/1qKvlyXQIgf4j2tR2w7moNrabaZygdxJqgcprEHP9GDBgJ07p7Czc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":226696},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"386ac794797fc77c69b3ef1f80aa17ff7ece6280","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","gen:llms":"tsx -e \"import('./src/index.ts').then(m => process.stdout.write(m.generateLlmsTxt()))\" > llms.txt","typecheck":"tsc --noEmit"},"_npmUser":{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"},"_npmVersion":"11.6.2","description":"Channels, threads, DMs, and AI participants for odla apps — a Slack/Groups-style messaging layer built natively on odla-db's realtime engine. Schema + default-deny CEL rules + an injectable client, so humans and agents chat over the same rule-governed gra","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"@odla-ai/ai":">=0.2.0 <0.3.0"},"peerDependenciesMeta":{"@odla-ai/ai":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.1.0_1783427977179_0.1544545857222086","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@odla-ai/chat","version":"0.1.1","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.1.1","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"5c6798b32ab8a38a76f2450e9778e1d8e74bf1f5","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.1.1.tgz","fileCount":9,"integrity":"sha512-zhGvUqHw7GJtZNGcetep9Hxvy4L8xXF35adIeZTVYEFasetGPdpHKMqBa6RM/iOpdpOI0POBGou1Rts/aPALBw==","signatures":[{"sig":"MEUCIBxDTsQh4WM/kMETH/EdhJ18RSE3hA8LR6yaRKXsjWQoAiEA4YbFS+qhU+zN/IAymnpaGHm0yBISS3rNHxqlnBMOizk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":244917},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"25655934e6ca0ab7220dd6cca06faa92fc524b63","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","gen:llms":"tsx -e \"import('./src/index.ts').then(m => process.stdout.write(m.generateLlmsTxt()))\" > llms.txt","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm run gen:llms && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.16.0","description":"Channels, threads, DMs, and AI participants for odla apps — a Slack/Groups-style messaging layer built natively on odla-db's realtime engine. Schema + default-deny CEL rules + an injectable client, so humans and agents chat over the same rule-governed gra","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"@odla-ai/ai":">=0.2.0 <0.4.0"},"peerDependenciesMeta":{"@odla-ai/ai":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.1.1_1783705833423_0.23709290815272666","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@odla-ai/chat","version":"0.1.2","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.1.2","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"d06af4296a6014d6303b764357459230bda172b8","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.1.2.tgz","fileCount":9,"integrity":"sha512-EU0t2G1hQKmhv5LBT9RXckuqyiVy4vUAuryvfsSKZZJkNzb3oZ0f3wr7Bsf+dUPzMXIRc3QBv+YjOGTTXhOVVA==","signatures":[{"sig":"MEYCIQCfI/86Kz54ru0PJ3rNMf/c79shD76GkZ0HXwJjNiHW0QIhANW0M1K/pD7x+Wegk9p0MZwatizumYBYtCZe6oJs8io9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":246281},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"b825ab7b6759a96375dca0922d87b44ed697a3a2","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","gen:llms":"tsx -e \"import('./src/index.ts').then(m => process.stdout.write(m.generateLlmsTxt()))\" > llms.txt","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm run gen:llms && npm test"},"_npmUser":{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Channels, threads, DMs, and AI participants for odla apps — a Slack/Groups-style messaging layer built natively on odla-db's realtime engine. Schema + default-deny CEL rules + an injectable client, so humans and agents chat over the same rule-governed gra","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"@odla-ai/ai":">=0.2.0 <0.4.0"},"peerDependenciesMeta":{"@odla-ai/ai":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.1.2_1783805149460_0.328746669646089","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@odla-ai/chat","version":"0.2.0","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.2.0","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"801536395a2b7f606c955524397a3955229273c5","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.2.0.tgz","fileCount":8,"integrity":"sha512-dfGGbPgJEECAaSZ5S6zuBH9C9mcpZdIa13yZHgdEn9cTVkGeP1hhJsUVsYjW+0PNIg8wl/Cf7bHr8J00da3EMQ==","signatures":[{"sig":"MEUCIGqRBb7F0l2YmeI1ggy5ml1mIB13J7uEPmGby2NO7jbcAiEAv73uCbO2DI9K9819+e1wC6GCagrdM8oB7c8SfKiNpGQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220898},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"1bca268f65a091cbfa7d04fd9f8e3393a8aa47a3","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Channels, threads, DMs, and AI participants for odla apps — a Slack/Groups-style messaging layer built natively on odla-db's realtime engine. Schema + default-deny CEL rules + an injectable client, so humans and agents chat over the same rule-governed gra","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"@odla-ai/ai":">=0.2.0 <0.5.0"},"peerDependenciesMeta":{"@odla-ai/ai":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.2.0_1783872553663_0.5471536906934067","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@odla-ai/chat","version":"0.3.0","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.3.0","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"6761d36f1a54da35f7125129409586858fb7ad85","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.3.0.tgz","fileCount":22,"integrity":"sha512-xpbfbfdggHoj+RkUIVOMzvxUHu7PJiQshas9y1EdGgw3WjBrRlGZEZnJwir4ZMPrzlevQufi2yqRAYMEUPQRNg==","signatures":[{"sig":"MEUCIQCXEwd4le51tomcVndgyO9HnWeFJAoO1/jlBoj1gHkx9QIgRYsDDiiYH3XOHTZfZA2vs14ecxMbw/fGkbcKG6AvnRQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":701188},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"b2a90fc1ef7e1cee3ddda731e620d4731274cae8","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Channels, threads, DMs, and AI participants for odla apps — a Slack/Groups-style messaging layer built natively on odla-db's realtime engine. Schema + default-deny CEL rules + an injectable client, so humans and agents chat over the same rule-governed gra","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.12.2 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.3.0_1785110303215_0.23697297816830454","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@odla-ai/chat","version":"0.3.1","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.3.1","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"31b56cb067dbe7b301d914a4a72d5d4a5901bf16","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.3.1.tgz","fileCount":22,"integrity":"sha512-XySJKq/nZ2SMT7nPtxAJPa2VUkBJeaiPVToiiFJXEAmGIGD4yXps0xPonHB+guoUHMqB0Fe6zSx0wdBe6333VQ==","signatures":[{"sig":"MEUCIQD45DQqh0AEFCFcuvKrVz76QQl8FmX8DyozG9Ujq+nK0AIgH2y7HgeNyBlyp9/dDDAG0xzsA1N/7bKKXgY0TU7M7W8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":704708},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"05d2a89bac8ec526d9ae99268660720f45d6428d","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Channels, threads, DMs, and AI participants for odla apps — a Slack/Groups-style messaging layer built natively on odla-db's realtime engine. Schema + default-deny CEL rules + an injectable client, so humans and agents chat over the same rule-governed gra","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.12.2 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.3.1_1785119794591_0.07058182407437696","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@odla-ai/chat","version":"0.3.2","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.3.2","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"b808b6cd819cbdccaa37418a399bbfca5477eeeb","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.3.2.tgz","fileCount":22,"integrity":"sha512-SqcyrZLgmFQE+N8xHC9hkFiTwt6VB8XGE2yy1Pl1c+x6yDOGtU077/7FKcOvOkewsTuhNZIvNru1jrk30b9kaA==","signatures":[{"sig":"MEUCIHXuZK2P7c3g4VIX7cWuMILtnos/ZWVDONsv2YToyk2IAiEA/XjkbkNkUBf6hRmfMTdc/GqGRklounKJFA7pBV1Zkl4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":707910},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"1d9549536f9868de3cec777dbc65944eccba8d83","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Channels, threads, DMs, and AI participants for odla apps — a Slack/Groups-style messaging layer built natively on odla-db's realtime engine. Schema + default-deny CEL rules + an injectable client, so humans and agents chat over the same rule-governed gra","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.12.2 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.3.2_1785123146311_0.04563673352164921","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@odla-ai/chat","version":"0.4.0","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.4.0","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"f63aa2958876ec082fd20e04ff83276ae65aed0a","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.4.0.tgz","fileCount":22,"integrity":"sha512-x+g4+BAYDdMYOlOhT8GHotCLgXmDo4xvz74GeGlwNSG5v4M4qFWymvCxc0Gztcca66FwcwN3VIztK6q8bFdzoA==","signatures":[{"sig":"MEUCIQCCzz+Z6SFmdJKMo+DGnvHgbvHs+tt2a6dvIEHogQ06RQIgdSISBuRUCeOh4sW5/COCzm7EM5jnGh3oUWkFyUPj6vY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":713141},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"87d781b3d69e07686e01f7ff91311c4d18eb1118","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Channels, threads, DMs, and AI participants for odla apps — a Slack/Groups-style messaging layer built natively on odla-db's realtime engine. Schema + default-deny CEL rules + an injectable client, so humans and agents chat over the same rule-governed gra","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.12.2 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.4.0_1785125572420_0.0018838612385732034","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@odla-ai/chat","version":"0.4.1","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.4.1","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"b2af2099583c5ac496d5ee21fe44a06a86280ba9","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.4.1.tgz","fileCount":22,"integrity":"sha512-OpcKqGIshw/yzR025n7nfuP7H1mqKqODy1+tMG3sjmXTYk87ex7FnkIdwz1uvO5jGGh9TVVqvyhbREya4koNtQ==","signatures":[{"sig":"MEQCIAbQwmDdZu4DQ7G3PRLTTVkk4HYNeqbaCJtedkw+77wSAiBr49e6nHTA992Qkf9LSPIBzZOevCONqT3HK0kq9vv/2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":717001},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"fd3932b8f196d27fcadbb1e7abe09e02d893b67a","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Channels, threads, DMs, and AI participants for odla apps — a Slack/Groups-style messaging layer built natively on odla-db's realtime engine. Schema + default-deny CEL rules + an injectable client, so humans and agents chat over the same rule-governed gra","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.12.2 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.4.1_1785167075599_0.08818310630586779","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@odla-ai/chat","version":"0.4.2","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.4.2","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"ca5556b65f536586878903c7ccf8e604538f0955","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.4.2.tgz","fileCount":22,"integrity":"sha512-kIEPc7c4nb3UJjWZLWAZ9Jc4R9JX415BhJwiz6EUmBbj6xrRzLC9PgB9SahQ3Wnqdk11eyJfi0EzC7i5XMBlsQ==","signatures":[{"sig":"MEUCICQFjZPdHg7mXL6FfEAS/Onv4ggy4Km+UUtZWeiGVylyAiEA5+ZgbqbRmpKDWtE0ADk9OVQMbPLiMkANUwc+q5Q8Dv0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":721692},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"2b0392bbedbcd48f158a4fff71f3a2d88b9388b3","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Channels, threads, DMs, and AI participants for odla apps — a Slack/Groups-style messaging layer built natively on odla-db's realtime engine. Schema + default-deny CEL rules + an injectable client, so humans and agents chat over the same rule-governed gra","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.12.2 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.4.2_1785174153848_0.3286852030609093","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@odla-ai/chat","version":"0.5.0","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.5.0","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"f61e517fa9a80e52a40975ad64ee5d9d74ce3aa2","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.5.0.tgz","fileCount":22,"integrity":"sha512-1LTdNlA4Gm14OVeU3nYmYsYH+x0yQpvtvuO3KJHyDPkjLwGEy/rrIHBjPI73NL58fFp4k8WFPOhguBDKUhhnpw==","signatures":[{"sig":"MEYCIQCAQV3+6xMkd4KFm9q5SQ2kZAJLOKopzLYnNn6KSQJmZwIhAKvvXDc70/XN5kiTYSDZ4cGBMusj87bQQVgydJfv7gwh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":754834},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"2a5a132fe3360676926d67f359529b7232be19aa","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Channels, threads, DMs, and AI participants for odla apps — a Slack/Groups-style messaging layer built natively on odla-db's realtime engine. Schema + default-deny CEL rules + an injectable client, so humans and agents chat over the same rule-governed gra","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.12.2 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.5.0_1785175493901_0.27144370721374633","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@odla-ai/chat","version":"0.5.1","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.5.1","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"5d3c806fce3a6e90e85fdaab881def518acdc5e9","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.5.1.tgz","fileCount":22,"integrity":"sha512-HoEISlEf3jy4803BphiVOWRrMh36jLN/oJHFknDJH4Sg4bUmaHX3KUASJ3ZULQaHc4bXzEhalh3NGtc+Hhkftw==","signatures":[{"sig":"MEUCIE+XHtdWn4Rs5Q215IdqBTG9+cm8ZeIepoiiTvfsMxcvAiEA5Ub0M95o8hwy3Vos1TTPFieYl1zh2PBf8hDJoiA5CIM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":762579},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"0df97a9ed2a54f396b57401b44411ec063419076","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Channels, threads, DMs, and AI participants for odla apps — a Slack/Groups-style messaging layer built natively on odla-db's realtime engine. Schema + default-deny CEL rules + an injectable client, so humans and agents chat over the same rule-governed gra","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.12.2 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.5.1_1785192785404_0.797386356895218","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@odla-ai/chat","version":"0.5.2","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.5.2","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"b99ea52d7f460f3e47e604aa21c558ab16868e58","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.5.2.tgz","fileCount":22,"integrity":"sha512-ArMBUZV3t2NQ4j25yCMWs9oixwK2dZZ2VMHfhpS6SNXyTmBUasBnbGFFuWCzoo+cFGZ5oyMyCzwQ7XXOvSc5hA==","signatures":[{"sig":"MEYCIQCSrV+V7XIJOIRUFLGY7Lo9lc0miMz//di25VDTlxtZPgIhALupFtTNsJzb9NAao6p0BAcsRaaON3HsUlfojmZjZxRc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":772742},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"6f0d8a34b70b01432bbc67dfc8a874e686ad91b5","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Channels, threads, DMs, and AI participants for odla apps — a Slack/Groups-style messaging layer built natively on odla-db's realtime engine. Schema + default-deny CEL rules + an injectable client, so humans and agents chat over the same rule-governed gra","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.12.2 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.5.2_1785229966152_0.47365880994651643","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@odla-ai/chat","version":"0.5.3","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.5.3","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"cd6643123f1a07fae154eb941b81264c2b0d98cf","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.5.3.tgz","fileCount":22,"integrity":"sha512-Di6Ox2IkVneWc/WpRXjIPFPHAymmsSSmHrmD8QjQ3LMTeqLfevCpDrTVg5uH/uKYO9U+Jsyo8V6AcFDJk+CGEg==","signatures":[{"sig":"MEQCIFiGvihU2dJUayiBztw7pp3hBIhy3tuOhYIwamwfc3GyAiBe3N/yWY2q/90qrGJcx1VoYuaCxFkXFjvjgTgNPmlNDQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":779511},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"82b732dc3c3e2dd43469e3d8110e979a4084de3f","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Channels, threads, DMs, and AI participants for odla apps — a Slack/Groups-style messaging layer built natively on odla-db's realtime engine. Schema + default-deny CEL rules + an injectable client, so humans and agents chat over the same rule-governed gra","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.12.2 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.5.3_1785232127094_0.1003757722444012","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@odla-ai/chat","version":"0.5.4","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.5.4","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"7229d876f4817aceb16dbf1570849a6ed2b94f8e","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.5.4.tgz","fileCount":22,"integrity":"sha512-scmb1PeJK3CWyDO9RG3mINuJhkf411Jf/veGHIrdNSn85E3Gk64x07zXiijRF28M4MyFUQF2X6xqjS2LEcDI9A==","signatures":[{"sig":"MEYCIQCBwE0xl4inuCu0645AF8gOe4JfwkrADXiYJSOxZLTYNgIhAIZwDKk9w+1ffJo8Don/sSBQITxbvyi1NrXTD1Raw2UP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":833715},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"b90b0781e41c4c55e232d161608ae777a25b4bfd","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Channels, threads, DMs, and AI participants for odla apps — a Slack/Groups-style messaging layer built natively on odla-db's realtime engine. Schema + default-deny CEL rules + an injectable client, so humans and agents chat over the same rule-governed gra","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.12.2 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.5.4_1785236208627_0.7394398286502475","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@odla-ai/chat","version":"0.5.5","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.5.5","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"475d5195033cd23dde79d0db5694645633786cf2","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.5.5.tgz","fileCount":22,"integrity":"sha512-8yI2pGF+AIToMAo4DpciJADfsrr/etweCOwGNpIuUDvhD/UvMV63B11R+Wvptz39C0/UaV/xsbgq5YDFDCTXCw==","signatures":[{"sig":"MEQCIDV6LzktcO+FZ9Gsd/GdZPuF9OinhKZPYqZZi84JgeOrAiB93YnwlIYsKDQLFGjviLupHn4bN3DZkTNwrj5jGKYsbA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":851036},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"aa030c02693f7d62314034da19abc4597d8ff32d","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Channels, threads, DMs, and AI participants for odla apps — a Slack/Groups-style messaging layer built natively on odla-db's realtime engine. Schema + default-deny CEL rules + an injectable client, so humans and agents chat over the same rule-governed gra","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.12.2 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.5.5_1785239614965_0.6543041247940695","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@odla-ai/chat","version":"0.6.0","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.6.0","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"02723a1995925bab215bd07de2538be917048ec0","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.6.0.tgz","fileCount":22,"integrity":"sha512-mOYEzkFRiABFxED6qStCoVOOwpvWMA7jU3CY+ZUSRVJwHQn1harZHmVU3rL3x5J1x7QUyfxd2pbFWHHSMoq9jA==","signatures":[{"sig":"MEQCIHSOtnzB8SUAOfRYq/Re2Bddw2lZ+9G4CJTOvoGxwd7dAiA8uJ9L9flXWvIdfcGP2wGi0g+iYEvINg3WC631sHZY1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1032621},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"68ca5a94733a9c387ece4fbccdc1bef363976664","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.14.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.6.0_1785320905310_0.7798248763673701","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@odla-ai/chat","version":"0.7.0","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.7.0","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"6462ba45e3502a834df68d2f47973aa8b04d19ca","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.7.0.tgz","fileCount":22,"integrity":"sha512-b9QWQsZnJjFeFn7CcgYzyD1Z64ydCN08gnp7jXMOR+wIqOeCganDAeKBe2Iqr5PbKXHPS73wPJ65eiB5lHQ6Mw==","signatures":[{"sig":"MEUCIApomd1cV3pUCJjBYcmsmUgwUIm9bDTY0daM+tTs1x/mAiEAsD+0T26MSi6uFDsbU61NdsYn2x6izD+E3QecNKhUkow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1590258},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"81b462a7822d7654b5971b1a8e56a5014cf240f0","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.14.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.7.0_1785352100479_0.4509640771450456","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@odla-ai/chat","version":"0.8.2","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.8.2","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"565bdfd480c5e6477aadee48406e6976b4334b2a","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.8.2.tgz","fileCount":22,"integrity":"sha512-DEoYTPLcHSydOl+ps1P8ODuWQEArn2v0Efy2jxflylivIhZM8FcSE4FDwINBfFNhL8UKmb4vLqcwccCY9iZf3w==","signatures":[{"sig":"MEUCIBuqKQxlTfbnazbSNrYb4KkabsmGDNVuXbC7+8sAEUFkAiEAvwynz1JWV+PY/GMaXq+eAneL8OXVGYiYyftFJmzva3E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1752876},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"80ce468380d47b5861d7ead362080f4c09362e7f","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.16.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.8.2_1785369739815_0.6162667905451897","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@odla-ai/chat","version":"0.8.3","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.8.3","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"7edf64a5cbc91dcf65e33e66822995b357185607","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.8.3.tgz","fileCount":22,"integrity":"sha512-7v9I6YG+qrl1JxkFG6Q9XgaFuDP4ezG8PNDAlj103lbPhPFFAc2ZZAZKuMJtjbmaiPvdtL2dE7jNrweA54+SCA==","signatures":[{"sig":"MEUCIQCYEd+/k3f9wmazoNXWv3fRNCQZYpWko36S4k9kwcVYKQIgFHAOyOW5LfZM1x4mx7i42GZN6vXuXMpUn+s+Kd+epmk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1754567},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"602ea743d898388a694480f32f6056abc4259771","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.16.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.8.3_1785378348995_0.2507246556966969","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"@odla-ai/chat","version":"0.8.4","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.8.4","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"e9a9747941a8358823c57500487e18f5bd73b976","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.8.4.tgz","fileCount":22,"integrity":"sha512-0R33oh9j9y+z7bnhfWkyeFG+/ExICuBItQHXYQNkumzB1QA7qlfjiMAdxpQct+yJxMH+MUXWBfXvy4sSZVyA8g==","signatures":[{"sig":"MEQCID1C2J2ghWTuc2Qsu6pW/yTklknR1YrR/1ML2RJop3hDAiBO36hzOFX5r+4ZC+zlLSv+tfEq+Xb7iLbDLoSo4g/8Jw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1793437},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"8149fa17b5dc4672ea4d32dae94a3c58218df490","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.16.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.8.4_1785387143327_0.8008205164892357","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"@odla-ai/chat","version":"0.8.5","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.8.5","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"debad88efb582ff7df1ab68a34a8dbb9dc11c502","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.8.5.tgz","fileCount":22,"integrity":"sha512-3hbQixfWFMHdsMoXA2fjByLUl5OTus/BsxExG00NudgIeIU5p7cNVDNa23UCYVDQ0xxVnsoDo8H8bDJC8fEoAQ==","signatures":[{"sig":"MEQCIEx4RfiKp7BnTtS8vWnOc3IKXxbVO6q8mM4pS2rarY0oAiBZgwTLXMEuUiZNyTVLHTpMN4YjBGGLq75Zd2Gza/WNJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1797771},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"68efb33944a6b4ff5bb724c63a8c06ebcf8ba5ed","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.16.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.8.5_1785414747296_0.6046048561576709","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"@odla-ai/chat","version":"0.8.6","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.8.6","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"288cc653d4e4245c858c90b5cf635c285ea53da7","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.8.6.tgz","fileCount":22,"integrity":"sha512-UyYHvs6i9F2IAzjqGn58fsqzv4WRzTh81uhwJwfKPZ3rIZHXNAtZbP0lCqxlXNZ7oXHMc4meLLwfRV3/3VoAnA==","signatures":[{"sig":"MEQCIH/1M5Mo1UhHfE/uU+vkK2PZE3VpuKZazg8kGpCAKhpYAiAncRvLVt2jvcg0IyjpMeGbnTmm/cnnQjBQTQuTZHj26A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1811119},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"ea0cfbdd17dbc46a5ff0f686caad31eab2674ac4","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.16.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.8.6_1785417014564_0.40115872236205385","host":"s3://npm-registry-packages-npm-production"}},"0.8.7":{"name":"@odla-ai/chat","version":"0.8.7","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.8.7","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"8ceeb345eb7ba10e88b8bf139eec500edd828ad0","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.8.7.tgz","fileCount":22,"integrity":"sha512-7CWwLbqH+OZoVr9pSyD5TXD+bbAJ6+u7S5vq35fYbu6EDJCdGDgsisZNqSxaAU2jHcnGlyo8y0APdg+0xz97sA==","signatures":[{"sig":"MEUCIQDM1i/DKxshH7FK4YZCEcuWgd0no+O1BEzp9Vutrwv4bAIgMQDxdZMd/15yftUGaC5ZvOjB3SejRvlgikvlnmQJdnQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1828586},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"4b89b920d496e68099393d4447a9ca6edc265cd7","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.16.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.8.7_1785440488982_0.8790508833908994","host":"s3://npm-registry-packages-npm-production"}},"0.8.8":{"name":"@odla-ai/chat","version":"0.8.8","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.8.8","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"42131c73ab630542ba32e7d0444d74b2b326b27c","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.8.8.tgz","fileCount":22,"integrity":"sha512-INLxyWmQZK1u3IWQP0nqr+BJNCxNQUdwDkYrXg9OPAWfjgzM1zHYIXc2a+xeOdWAfJ4xbIvwIBYI5h4RCu6/zA==","signatures":[{"sig":"MEUCIA7lfWB/0f/mUJE15f4rNzWyoRbc5k/hSjzLMNRu3ZPVAiEAnncxZkxebmmWnrrF/b2s5eui/0FP5qTAqnIz+yXQ0n8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1840075},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"18b7cdfadf2b0fe403b599fe83722a39e2406404","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.16.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.8.8_1785458164593_0.09677326113212081","host":"s3://npm-registry-packages-npm-production"}},"0.8.9":{"name":"@odla-ai/chat","version":"0.8.9","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.8.9","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"509606f2de52d13fd27d9ec30a101acc41a38c1d","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.8.9.tgz","fileCount":22,"integrity":"sha512-ZZ/ODZNdSnmbdQQ31p5Yd35Uraua4wci8JRxIriDgsKPRIz0Lszcjo7nUbsBPl5frJxYFvajDsYYlYXvGWn/bQ==","signatures":[{"sig":"MEUCIQCkeGXDJ9aswHwDBP6llEKHcKJKz/GfoQqCFZTdYiRevgIgYvs+a3vEk1EK6rA4gwYZwfRaNjQRbiVi1d2Cze1sm5Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1840075},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"b61bafca339f702012d29b7346305944e5dd1176","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.16.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.8.9_1785460168808_0.9083464116677171","host":"s3://npm-registry-packages-npm-production"}},"0.8.10":{"name":"@odla-ai/chat","version":"0.8.10","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.8.10","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"b94e18d2f1e09f1af690d5c0622f39540769496a","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.8.10.tgz","fileCount":22,"integrity":"sha512-HXZM7de1M+vX9QkZhW62HshIFh7MPgX3GZoYjmR70bNooGVwfdJvZn1o5DAHr5BFOK/eqWm6Wjfx9p5O4Ca8rw==","signatures":[{"sig":"MEUCIE5mcpqHnz+ENo3nH8ub+zTkbM44e6OxZ2V/FL33SGTzAiEAj+9FmMz7X95m8RSmex+/sPwgCL21ttYaaOgSmUDwWnA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1840165},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"681651ba32d878f969464d9ba8255a2f73acb6d5","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.16.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.8.10_1785463506639_0.6368079150488641","host":"s3://npm-registry-packages-npm-production"}},"0.8.11":{"name":"@odla-ai/chat","version":"0.8.11","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.8.11","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"896d38d6f52898aeee68c3c85df71672b5a25d38","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.8.11.tgz","fileCount":22,"integrity":"sha512-Q8qqAe6j927Qize3kWV20Taq2+wUm8z7pPgpTGXC4CUym78TcNgdm2xrAAzhgkZrHniJde48SfYgzPmxi4JayQ==","signatures":[{"sig":"MEUCIC8s+F2mmlRg84SErxAUdQKJYMrG5ThTM8dC81lJIilVAiEAlwRX0IyJ7eYbLtsdkJxOf3RKDtVgjmJuwjqqsEO1ELs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1846898},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"b75481523f552b0da9b0f40fd1e9fe2b3ea42024","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.16.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.8.11_1785471130227_0.7253879122512248","host":"s3://npm-registry-packages-npm-production"}},"0.8.12":{"name":"@odla-ai/chat","version":"0.8.12","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.8.12","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"34ffb807c731aaabf5f2a5cb1a88518fdaa8bb03","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.8.12.tgz","fileCount":22,"integrity":"sha512-16NQYIjfQxwRx48J0RkiM1a2+FnCSmiTtF+RoTr6b6NVWB45b8SXyU7kuzeG6btyDRhWs4ahp4vkrwgin1h3Ug==","signatures":[{"sig":"MEQCIE/0EBjYM6oVo0qVfbdb9R0pKrlfKNQWGNHJPwtwbRXqAiAyrCYTTv2BGz5izzdoqufy1qhed6o/Eu4VwFoz3lJLPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1846940},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"c06b9cc34ca6238a281c5644302c553e0d0097b7","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.16.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.8.12_1785477576989_0.4733470253496579","host":"s3://npm-registry-packages-npm-production"}},"0.8.13":{"name":"@odla-ai/chat","version":"0.8.13","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.8.13","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"ac67db81cc26fc80d3fd87a75cefe5edfa666362","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.8.13.tgz","fileCount":22,"integrity":"sha512-wRtmH8a92JV4rLcLjZhcrnDkgyuY+2yrYQZVbiVXm1VZJsreHtvQcXFxacrv0vlFFjlRZAR3A3xaqhWBUa6t6w==","signatures":[{"sig":"MEUCIAdwqpSQePGPsXV1RJWilgJS6LM7XuCPiJ8Y5vDpIFbXAiEA8GQL9befUEuogz6Z32ZfLGKXb6cB1t2Mnghw/zQ/whk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1847310},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"a66436d556bce91bcc57b54888b25049715a856e","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.16.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.8.13_1785479987131_0.026299001385496013","host":"s3://npm-registry-packages-npm-production"}},"0.8.14":{"name":"@odla-ai/chat","version":"0.8.14","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.8.14","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"4d1536926f6be4688530b005b5fdf8ad9e9f6692","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.8.14.tgz","fileCount":22,"integrity":"sha512-66enafiMc23LZ2I5FBeIG/ql3CQ+hhkj1F9fpYUxJwvGlN55AfbAca9AwwtfZabX/oMe53MXnoy0INyKdMW+VQ==","signatures":[{"sig":"MEUCIF8ocNjrJni3+DKNyY0nJhV7B9s0H9u6z/qzWL/PaUbzAiEA/IcQ4Th5y6SF0DLqJIh6a0GvDQaytefTUdiLYO58Oy0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1864131},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"9349eb48b0fed47829f2ba41c42881f63163f1b3","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.16.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.8.14_1785599150064_0.597025432193617","host":"s3://npm-registry-packages-npm-production"}},"0.8.15":{"name":"@odla-ai/chat","version":"0.8.15","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.8.15","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"522be1039ce9b772c83d7caad3f2a6662aebcce6","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.8.15.tgz","fileCount":22,"integrity":"sha512-k1I3j0Ba6hb+BXC+HTuwGN1Iwo20vrz4PYnAXzblUBIC+3NqHWXhDJFJYYNwMxtWZ/0f0eV3+33jUig5rrUvLQ==","signatures":[{"sig":"MEQCIDd6t2qaYBsn0VEDWkgBx+Z1Yn//KLWg+NYOGONWRMADAiA0yISTKrnxmK0CFAGb7Kz1/C/8YV38srFw3G2VCjOABw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1866551},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"f3120de4043c1f394604a9cdd55b0e5710cdfedb","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.16.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.8.15_1785991431695_0.40084724068882305","host":"s3://npm-registry-packages-npm-production"}},"0.8.16":{"name":"@odla-ai/chat","version":"0.8.16","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.8.16","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"2930e9b677405846894543fa006206ed259d7dce","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.8.16.tgz","fileCount":22,"integrity":"sha512-2hVonMErvIxJCNsq8fs5RKuzy+Io75y0BGak+MV/yCS6GxPy9/Lqr0r0ICCSm31UEOxj2FmO5aS9lHkwAkPv3A==","signatures":[{"sig":"MEUCIDp4vOW6BgcrDHL2lsdSs+BdFKZNgb/OssQhxO+nnww3AiEAyL/YDFQqhQso0AVcdQoDkKx+Z/QGYbXuegjIGn3yG5Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1871850},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"5e9a164c9703b69df80bcb9f287d12a1f7ee7b87","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.16.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.8.16_1786159909160_0.16302903166834026","host":"s3://npm-registry-packages-npm-production"}},"0.8.17":{"name":"@odla-ai/chat","version":"0.8.17","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.8.17","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"c8ff58fa990a2c1c3d9e2158985386308a51cf34","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.8.17.tgz","fileCount":22,"integrity":"sha512-NVg3uevxG6AKzaGd2J27wCApBPOJ6On2H+keSPOW7dL6N8VOJx9mju8MAuTjtURN0TYDeZkSskhrvlovgpSdpw==","signatures":[{"sig":"MEQCICnfF0jpk262IEc8i/89qIanwO4GD6ESfzq0JLV6+XIfAiA2O/kfry4lF8DeK0VVB78vafwZs2VH8UEtiKtjDj9brQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1890766},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"ff19473fa59f21392f70f98c7328a96e5f1d0a43","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.16.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.8.17_1786548667764_0.9615276092465985","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@odla-ai/chat","version":"0.9.0","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.9.0","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"3d6cd807705b87ebff4c17f64ada1921d30567bd","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.9.0.tgz","fileCount":22,"integrity":"sha512-O+txN6vDQJg3NiR4cU0f1tyPr/eSWDWWdJLw6VWqWeEZrtu9pe2yo6+5Mz+oNiPisTM9PsEa+LPn0dZpWZ/hGA==","signatures":[{"sig":"MEUCICKRZchfZX8iBZWGel638autQuPQgXFhUT2wXqt/KmVAAiEAzLbV+b9E9t/M4hqvzvJiLUPBbFWkDUB9tI+FYywJ7Pc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1919741},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"6a557620c234c24c092ba3f391b6a4475e9fb108","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.16.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.9.0_1786554374640_0.12038160923972652","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@odla-ai/chat","version":"0.10.0","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.10.0","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"f609b6bc640e3d9790fdd6d37fccccb53d267a1d","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.10.0.tgz","fileCount":22,"integrity":"sha512-C7eLiMLppKuWxwU/jHsFIkpBtO2GTmX/LRwqW1lj01+D+EJO0s4RyioU+2YZGLWaNh8KtdaiCrxj9h0g3o+AVw==","signatures":[{"sig":"MEUCIC/aRe94FVtLYCnkdMerzqUxdJVQ3ZNAIHBGtVBmnzU4AiEAxT3z4hXFcZMx13kCuor2WC2I6KFL8/6gmvQu/3kXkCM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1939380},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"2950a9cf88042f7bd2259fa5f2b9e545fce00de1","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.16.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.10.0_1786559302538_0.5194107035228042","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@odla-ai/chat","version":"0.10.1","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.10.1","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"afac0ae0337462c2a155bf12a480af8d0f5c07ca","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.10.1.tgz","fileCount":22,"integrity":"sha512-x8KSg1IgfUojcfsXYgeJiiBCcqox8MfUFR5ehHDRxYyaFw6FgMk4qfj8fxNlvHs0EjcElz7PacMvYQr4+L11yQ==","signatures":[{"sig":"MEUCIFf5jPI0Acf5KOpN0t/OBuz9UOSAczP05f0sxq315eh8AiEApG+Tav+EXofkC8fpf/yDhrO/KAKV+5NgYiy3G112cGg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1941075},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"1baa1242ccb30752019ec32f99afe3a907c41f98","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.16.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.10.1_1786565223112_0.5866656664813992","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@odla-ai/chat","version":"0.11.0","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.11.0","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"70867c06bcec11e525763702a039f3e18343eec7","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.11.0.tgz","fileCount":22,"integrity":"sha512-YhoXlXhKFWZKyih+Tq9MUqpyorBptCK4D5FBCGOcX1bLd+B+O5GOpeDzZcSwsnvQuEaphab2JI/Ob1B1x1+FIQ==","signatures":[{"sig":"MEUCIB/OtgCOvd+HBdlk9mT8xM+mvxYoycM8EpDMUWtvqlZOAiEAw/MH+W+jFPCfpXY75couXudPbQ2MiTR8pQYT+dy858A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1972949},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"992376fbc409bdb5206e7e508b2485128160863a","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.17.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.11.0_1786581995093_0.9738688860406441","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@odla-ai/chat","version":"0.12.0","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.12.0","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"458c6af0be26e464396831aee3fda7a47f672305","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.12.0.tgz","fileCount":22,"integrity":"sha512-h7CX6RyMyoqWdQN3liJfE19gwc3NrmNeWwvydulhb5+GBQBSlFXSZpbfmVtv4DOklSoMZoewgKP9dcUQYYRFag==","signatures":[{"sig":"MEQCIGdKyZ/08snfuNHgXkm25w/xwqo17EqN6kY04ncOXGtkAiBS9Qt7ib4yOhnyZz3qElW46FKCE6fNeW/oVcLy3qwAIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2061367},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"93126e726e7e51e767db52c46240715c73229492","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.17.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.12.0_1786595287486_0.8994914225538619","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@odla-ai/chat","version":"0.12.1","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.12.1","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"cf8efe6c81ad413cdadf4c470d6413ba1a1b5e0e","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.12.1.tgz","fileCount":22,"integrity":"sha512-2xIb4ngD4SXMlHJ6WRRUO1qAuKkr3gnrACXQGjg2dBTWLMciRGWoe5zGKDkjuPnpsQmOCbqke15YKFP5Qo0cAg==","signatures":[{"sig":"MEUCICpPKEhkJoa5K7CPVwG6AYl5I/+IkJ2V66Ro/dBp5PLlAiEA6kW1PXY5xL2jf7qSNeKpwDfKUtXih7XVPDqbM2+MJSw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2068193},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"82a065b1d4f78eddcbb2bf5c65add9ee40aefd3b","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","dependencies":{"marked":"^16.0.0"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.17.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.12.1_1786623862196_0.28142634013496326","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"@odla-ai/chat","version":"0.12.2","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.12.2","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"516c017ddd6ad0492a6f085ac3b6574e36a48868","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.12.2.tgz","fileCount":22,"integrity":"sha512-rSkNrk91Y5dgpDhkTTouF9mGmx1vh/xqBun2JaAu2wN+coW53pt2Njgg2bdJ7ixCCV7XBOg06giiFXONtOPBOw==","signatures":[{"sig":"MEUCIFg3PRV4Q7X5kPtny1kQ53dIGiB14khyaWImpDpzUHu/AiEA5aURUxF21eawMIzIBpLetv/KS+LvqTqpHmfTlnC6qEc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2138864},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"0145498a5a244fedc94c905d9def116921a18b23","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","dependencies":{"marked":"^16.0.0"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.17.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.12.2_1786649868276_0.8101110850789186","host":"s3://npm-registry-packages-npm-production"}},"0.12.3":{"name":"@odla-ai/chat","version":"0.12.3","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.12.3","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"4738a17887e3170927b2c2551b8323cbc62f0b49","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.12.3.tgz","fileCount":22,"integrity":"sha512-WKEgVwhY/m3hY2hneM2/EJ7n7PKkWkghBQ2BT8ud4jzeJXEK9RUIzEFM1IFOE/S7lnJH3wc7b79EYeSSsaqZag==","signatures":[{"sig":"MEUCIF3B2v/qfLQCDAsjOEp/OxEStMVTem2FoozCtetwFkchAiEA2vB2tAa4ge0jC1uoQpQ6CTVX3TQGDksbLgjuYWzqNkk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2153662},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"39508f3049f9ade687d80f04d1a318897aeb49e9","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","dependencies":{"marked":"^16.0.0"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.17.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.12.3_1786652193757_0.4375196480851715","host":"s3://npm-registry-packages-npm-production"}},"0.12.4":{"name":"@odla-ai/chat","version":"0.12.4","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.12.4","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"cd01beaf4c03ccbc3b6f1f841450583ef4a23f90","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.12.4.tgz","fileCount":22,"integrity":"sha512-gmtYY7B3aDDRL4ilgQyH5az6p9EU7znT29czZTxXAyKX423rXePrAR+Fl5jgM1U3u6XrjaZsPdgaPdGPa1mBkQ==","signatures":[{"sig":"MEUCIGEOnt0RzyGvejGyK51Kxgz3iODvyum9BFUHJPlfjVfIAiEAouWOLM/4WyVbHwjA49MO08oX1enkOmpPh21LTQzuiOg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2154474},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"8115908e325d862a13c039347d95040b9d801325","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","dependencies":{"marked":"^16.0.0"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.17.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.12.4_1786655049173_0.15805023390747874","host":"s3://npm-registry-packages-npm-production"}},"0.12.5":{"name":"@odla-ai/chat","version":"0.12.5","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.12.5","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"97caf08424cfe7474e01fbd51f1460993b15b8a0","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.12.5.tgz","fileCount":22,"integrity":"sha512-G8/O0h9+HZbTgXoVppg29Q/NUOzrVtYCmgskmlV32GSvOv9Y5sRHYm0GSriCkRziZ7YMN2g9Qn3ho9W3sff/+w==","signatures":[{"sig":"MEUCIQDNpEIBG+YrXGpLiZFYqoGXmjgKG+jAgVkb2xyPT8wb4gIgcd44HkjSnUIz2kAPQViRYZoplzOe/ECewB9M22aR0gs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2158661},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"1d03a5bfc3ba2c3e069573f2906bc4c8fea8c237","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","dependencies":{"marked":"^16.0.0"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.17.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.12.5_1786675755213_0.7848279446174984","host":"s3://npm-registry-packages-npm-production"}},"0.12.6":{"name":"@odla-ai/chat","version":"0.12.6","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.12.6","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"3c31fdb77843010fdac1831d9bd0d8830ea99beb","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.12.6.tgz","fileCount":22,"integrity":"sha512-kUyviyn5vBE/7n5xoWaWtfbyjAckpf+guRH4s1IBYKsYChAeun0JrSLvAsNFg0VoS57UxOeC4RKDqrsMijssOA==","signatures":[{"sig":"MEYCIQCq9PwEiXUeHJsDQKWTU7gvnpgO+tqVtH8R90ys6r9N0gIhAObSzqWk+o8vmuDWhBvRWX+873uL8WjLMC6L/z9H/T5c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2159726},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"120283bbb30b0c9a3b2d0c204f75bfb6b97fe640","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","dependencies":{"marked":"^16.0.0"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.17.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.12.6_1786849097434_0.29590870051827123","host":"s3://npm-registry-packages-npm-production"}},"0.12.7":{"name":"@odla-ai/chat","version":"0.12.7","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.12.7","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"9df1c206fb2824be87590a26643ddda43defe02b","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.12.7.tgz","fileCount":22,"integrity":"sha512-ZF1QzSJ3AUHFx5SLsaPUJPtRAnjaAOPN84nVwgtYwH5nfRGVYcTni4gplC56cQy8dJLNnEoFm0XrsBZ51Phr7A==","signatures":[{"sig":"MEUCIQCXEtER5DS3vRXbCTSsArcjh7UHdPdr+4WQ5c4Cl7921gIgUzVhENf7881uNElQr4jtevxEEBxmyIE78MDC4MPHV4w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2163740},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"2ac6d45d5b4dbc71ec5fb25f442f21d1b49f72d3","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","dependencies":{"marked":"^16.0.0"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.17.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.12.7_1786851884808_0.3409892102815719","host":"s3://npm-registry-packages-npm-production"}},"0.12.8":{"name":"@odla-ai/chat","version":"0.12.8","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.12.8","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"19f2d88610c46afa4faea0091e9105f5923f0199","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.12.8.tgz","fileCount":22,"integrity":"sha512-cltg+Pg3NkbJJlp/WfHnHF5Gq4pyPPf9+bBmjZEJ3O7hvwHr7VR0Ofw/ypDF0UVfw20i7mY7E7pPoDAKkSqO3A==","signatures":[{"sig":"MEUCIAyQkP7egLL9sDdp/GGww0N4k3oUwW/1QRzZ/nlhhrnVAiEA7o45s8gPttTPnBcx1Kd2yHmq0dm0RQvKiHK5xWpwzJI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2164447},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"ad9207842be392e16f79a11ccc14b25e079884d7","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","dependencies":{"marked":"^16.0.0"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.17.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.12.8_1786902474802_0.594134903413593","host":"s3://npm-registry-packages-npm-production"}},"0.12.9":{"name":"@odla-ai/chat","version":"0.12.9","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.12.9","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"e60bf71473ecf7c24215390ad257cda79e057bd3","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.12.9.tgz","fileCount":22,"integrity":"sha512-Hqm2WQXSK5IVVsOrngxH3MIbmdYCStg9XVk+sZjOiojsy9RQoojX/xJ/XTHgTWkoH6xG7V9pMXK59P/JnK6F0A==","signatures":[{"sig":"MEUCIQCKdnBoh72rOTOtGFMPlfeHwUvfPKrPhR6+OITNrWlQagIgfjUOfBrpeXIO3Ol1sgIE0v6vK8FBvhDfDX937pdFwlA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2190913},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"d55ea87752092b7f65063452ded0cc983cc3403f","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","dependencies":{"marked":"^16.0.0"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.2.0 <1.0.0","@odla-ai/ui":">=0.17.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.12.9_1786972132757_0.6239353097002978","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@odla-ai/chat","version":"0.13.0","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.13.0","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"0340bd4873ebf40ce95de0f9e174b59a01b6da88","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.13.0.tgz","fileCount":22,"integrity":"sha512-1bn5WkqAui1Vhh426GbFraRkmizBn0kPq/6tOezJDpFbAIUgd0lZOsLHhWTyFxnVOC3LMby57IRzNve/3j24Wg==","signatures":[{"sig":"MEUCIGXuMUNhzO75A/mCzcvc1FcGbSHh3FTJ001kaaLQtRgGAiEAkG0DX94hWsgi1Q5KO0VMzSX6TwXVRFbvVPBuOXjWKQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2317635},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"9591a71e4e6b93df227f9b5b9100c3ac9d0a93d9","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","dependencies":{"marked":"^16.0.0"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.17.0 <1.0.0","@odla-ai/ui":">=0.17.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.13.0_1787264809807_0.599513859623958","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"@odla-ai/chat","version":"0.13.1","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.13.1","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"18070a3c856bb09689c5dc19560d9636c5f0e137","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.13.1.tgz","fileCount":22,"integrity":"sha512-jjzU8/AFSk+nzcz4YJjU5I3ck2aEn0aTOjtyqNO7Iny8Mvh62pFheF1SFywx7fU+oqlkEr1Q+5SG+j4z9741UQ==","signatures":[{"sig":"MEUCIB7UCIHU1mhahRel6OzGcxtCbBR4p496hNPrR+7LtFRwAiEA9FTDKSvZDzl4r8apAomO9X557q3doQDtZtrvMb101oY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2317943},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"7f6697210f76cb20da1247dc35debf4cc4ee7b46","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b894299d-b3bb-4a85-a776-4a73266d0c68"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","dependencies":{"marked":"^16.0.0"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.17.0 <1.0.0","@odla-ai/ui":">=0.17.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.13.1_1788028210284_0.8533432196673323","host":"s3://npm-registry-packages-npm-production"}},"0.13.2":{"name":"@odla-ai/chat","version":"0.13.2","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.13.2","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"4e0362039fe9b49629d295198a92507a09f0c240","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.13.2.tgz","fileCount":22,"integrity":"sha512-RiVNBMZ2GikoQPWC3ly34vhvVhcIeBrgaYdLiQNPPpOqBQ1lGe8uvbX7RVoIzDZK20cQfy4Iu7kElKhUYvzP5Q==","signatures":[{"sig":"MEYCIQDCnJw/jqMkDkUZLnOyQmOCHyxfEt+NLKLdKTBOg90ocwIhAIakavGkWpyu+RncN+/0Em65IJs4+MkIzsZJVTpRTqfj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2320167},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"37ed961465989e90ece1a1fb05f03424b5f6c40e","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c059c828-caac-4d4b-be48-632a3f6f14a6"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","dependencies":{"marked":"^16.0.0"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.17.0 <1.0.0","@odla-ai/ui":">=0.17.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.13.2_1788135252946_0.6337460440879963","host":"s3://npm-registry-packages-npm-production"}},"0.13.3":{"name":"@odla-ai/chat","version":"0.13.3","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"license":"MIT","_id":"@odla-ai/chat@0.13.3","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"homepage":"https://odla.ai/docs/packages/chat","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"8bcf8701512c73de42981ff577f1dbfa140e0cb2","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.13.3.tgz","fileCount":22,"integrity":"sha512-+AVd/fF9EPFuQAZjGWywmUW9KbnSSwTDM2J4pFx/TRUKjGBfWSVBQVBd0pkITYj6MEWmu89oL3wNV3z3cQrKKA==","signatures":[{"sig":"MEUCIHihr0C4XTgM7CcVTN8QL708s58hKykCYfM754nO5vN/AiEAzmYcHUU+36I4hWewgXoE8pxenzQ6PMcQJn9Qrwrz3Lg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGUUT+ePsavmEPGM0yu9Jfdh8uDvblzprDOIoOIcuGhFAiAkWmJJV9yXxkzgP+6LIymA0fpiIAulj1VYY7KVmd3qVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2320842},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"8c071c0bad2d34bf6235a81ee6732eed560bdd2f","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c059c828-caac-4d4b-be48-632a3f6f14a6"}},"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.13.0","dependencies":{"marked":"^16.0.0"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.17.0 <1.0.0","@odla-ai/ui":">=0.17.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.13.3_1788601433468_0.28679197351476526","host":"s3://npm-registry-packages-npm-production"}},"0.13.4":{"_id":"@odla-ai/chat@0.13.4","bugs":{"url":"https://github.com/cory/odla-ai/issues"},"dist":{"shasum":"7be0044bc0272f658f61df8c4ed219d357a4d310","tarball":"https://registry.npmjs.org/@odla-ai/chat/-/chat-0.13.4.tgz","fileCount":22,"integrity":"sha512-lpgLwFWgsknNnD9hOY6S8s7A+xKmgqIxAUmgPYna6ukCLekzJ0Ur5r5h/GdHKIBQMESwQe8OfyngKrJzdIpisg==","signatures":[{"sig":"MEQCIH2PMyqDRem7mmKCRrUopw4DZAx+g/VNVqni2MHkuFzfAiANUdbkKufGFQVYG+pz5+FW5Wb3mbWDY8viH32TqUle/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDCT1JrZOAKFVon8bp/1c9IVTHeFNzZjiha8mYdT5lJ9AIgWZIC3mHXlfptbwCS85DYV6IRZjzNzf5bqPEvuUDIQPI="}],"unpackedSize":2329161},"main":"./dist/index.cjs","name":"@odla-ai/chat","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js"},"./ui.css":"./ui.css","./discuss":{"types":"./dist/discuss/index.d.ts","import":"./dist/discuss/index.js","require":"./dist/discuss/index.cjs"},"./package.json":"./package.json"},"gitHead":"4eccbe9c4062db080364529c9260c8b8a4855522","license":"MIT","scripts":{"test":"vitest run","build":"tsup","clean":"rm -rf dist","coverage":"vitest run --coverage","typecheck":"tsc --noEmit","prepublishOnly":"npm run build && npm test"},"version":"0.13.4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c059c828-caac-4d4b-be48-632a3f6f14a6"}},"homepage":"https://odla.ai/docs/packages/chat","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"_npmVersion":"11.6.2","description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","directories":{},"maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"sideEffects":["*.css"],"_nodeVersion":"24.13.0","dependencies":{"marked":"^16.0.0"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.3.0","jsdom":"^26.0.0","preact":"10.29.7","vitest":"^4.1.9","typescript":"^6.0.3","@odla-ai/ai":"*","@odla-ai/db":"*","@odla-ai/ui":"*","@types/node":"^22.10.0","@vitest/coverage-v8":"^4.1.9","@marcbachmann/cel-js":"^7.6.1"},"peerDependencies":{"preact":">=10.29.7 <11","@odla-ai/ai":">=0.17.0 <1.0.0","@odla-ai/ui":">=0.17.0 <1.0.0"},"peerDependenciesMeta":{"preact":{"optional":true},"@odla-ai/ai":{"optional":true},"@odla-ai/ui":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/chat_0.13.4_1789867979638_0.7968457727527432"}}},"time":{"created":"2026-07-07T12:39:36.944Z","modified":"2026-09-20T01:32:59.924Z","0.1.0":"2026-07-07T12:39:37.315Z","0.1.1":"2026-07-10T17:50:33.570Z","0.1.2":"2026-07-11T21:25:49.620Z","0.2.0":"2026-07-12T16:09:13.785Z","0.3.0":"2026-07-26T23:58:23.374Z","0.3.1":"2026-07-27T02:36:34.767Z","0.3.2":"2026-07-27T03:32:26.462Z","0.4.0":"2026-07-27T04:12:52.634Z","0.4.1":"2026-07-27T15:44:35.739Z","0.4.2":"2026-07-27T17:42:34.128Z","0.5.0":"2026-07-27T18:04:54.074Z","0.5.1":"2026-07-27T22:53:05.571Z","0.5.2":"2026-07-28T09:12:46.368Z","0.5.3":"2026-07-28T09:48:47.246Z","0.5.4":"2026-07-28T10:56:48.793Z","0.5.5":"2026-07-28T11:53:35.141Z","0.6.0":"2026-07-29T10:28:25.476Z","0.7.0":"2026-07-29T19:08:20.764Z","0.8.2":"2026-07-30T00:02:20.023Z","0.8.3":"2026-07-30T02:25:49.156Z","0.8.4":"2026-07-30T04:52:23.492Z","0.8.5":"2026-07-30T12:32:27.486Z","0.8.6":"2026-07-30T13:10:14.791Z","0.8.7":"2026-07-30T19:41:29.141Z","0.8.8":"2026-07-31T00:36:04.759Z","0.8.9":"2026-07-31T01:09:29.004Z","0.8.10":"2026-07-31T02:05:06.819Z","0.8.11":"2026-07-31T04:12:10.383Z","0.8.12":"2026-07-31T05:59:37.219Z","0.8.13":"2026-07-31T06:39:47.297Z","0.8.14":"2026-08-01T15:45:50.221Z","0.8.15":"2026-08-06T04:43:51.852Z","0.8.16":"2026-08-08T03:31:49.336Z","0.8.17":"2026-08-12T15:31:07.935Z","0.9.0":"2026-08-12T17:06:14.840Z","0.10.0":"2026-08-12T18:28:22.751Z","0.10.1":"2026-08-12T20:07:03.290Z","0.11.0":"2026-08-13T00:46:35.248Z","0.12.0":"2026-08-13T04:28:07.667Z","0.12.1":"2026-08-13T12:24:22.395Z","0.12.2":"2026-08-13T19:37:48.476Z","0.12.3":"2026-08-13T20:16:34.025Z","0.12.4":"2026-08-13T21:04:09.357Z","0.12.5":"2026-08-14T02:49:15.378Z","0.12.6":"2026-08-16T02:58:17.586Z","0.12.7":"2026-08-16T03:44:44.991Z","0.12.8":"2026-08-16T17:47:54.967Z","0.12.9":"2026-08-17T13:08:52.938Z","0.13.0":"2026-08-20T22:26:49.992Z","0.13.1":"2026-08-29T18:30:10.495Z","0.13.2":"2026-08-31T00:14:13.108Z","0.13.3":"2026-09-05T09:43:53.607Z","0.13.4":"2026-09-20T01:32:59.744Z"},"bugs":{"url":"https://github.com/cory/odla-ai/issues"},"license":"MIT","homepage":"https://odla.ai/docs/packages/chat","keywords":["odla","odla-ai","chat","messaging","channels","realtime","agents","slack","cel"],"repository":{"url":"git+https://github.com/cory/odla-ai.git","type":"git","directory":"packages/chat"},"description":"Realtime messaging and project discussions on odla-db: project channels, post threads, bottom thread cards, scoped live updates, DMs, and AI participants over one default-deny graph.","maintainers":[{"name":"coryondrejka","email":"cory.ondrejka@gmail.com"}],"readme":"# @odla-ai/chat\n\nRealtime messaging and project discussions built natively on\n[odla-db](https://www.npmjs.com/package/@odla-ai/db)'s realtime engine. Chat is\na **schema + default-deny CEL rules + injectable clients**; humans and agents\nuse the same rule-governed graph. No server to run — it rides the existing\nodla-db Durable Object.\n\n```ts\nimport { createChatClient } from \"@odla-ai/chat\";\nimport { init } from \"@odla-ai/db/client\";\n\nconst db = init({ appId, endpoint: \"wss://db.odla.ai\", getToken });\nconst chat = createChatClient(db, { selfId: myAuthId, selfEmail, displayName });\n\nconst { id } = await chat.createChannel({ slug: \"general\", name: \"General\", kind: \"public\" });\nconst channel = await chat.getChannel(id);\nif (!channel) throw new Error(\"channel creation did not become visible\");\nconst unsub = chat.subscribeChannel(id, (messages) => render(messages));\nawait chat.sendMessage(channel, { body: \"hello\" });\n```\n\n`sendMessage` also accepts structured `refs` and durable `attachments`.\nThey are written in the initial message transaction, so realtime consumers and\nmention responders never observe a message before the content it refers to:\n\n```ts\nawait chat.sendMessage(channel, {\n  body: \"Review this logo\",\n  attachments: [{\n    id: brandAsset.id,\n    name: \"logo.png\",\n    contentType: \"image/png\",\n    size: brandAsset.size,\n    path: brandAsset.path,\n  }],\n});\n```\n\nPersist stable private handles, not signed download URLs. The consuming\napplication must reauthorize and resolve a handle before presenting bytes.\n\n> **Ask the runbooks first.** odla's operational procedures live in a database,\n> not in this file: `npx @odla-ai/cli runbook ask \"<question>\"` returns the current\n> steps, and unlike anything written here it cannot be out of date. Use it before\n> searching the web or working from memory. This README and the JSDoc in the\n> shipped `.d.ts` are the version-matched **API** reference; a runbook is the\n> **procedure**. Most tasks need an answer from both.\n\n## Model\n\nAccess is **denormalized** (no graph edges, to fit odla-db's single-hop `ref` and\npre-commit rule evaluation): a channel's `memberIds` (json) is the auth roster for\nprivate/dm channels; messages and reactions carry a denormalized `visibility` +\n`audience`. `chat_membership` rows are the per-user index and read-state, not the\nsource of truth for access. Message ordering + pagination use the indexed\n`createdAt` cursor.\n\n## Pieces\n\n- **`CHAT_SCHEMA`** — push to `/app/:id/schema`.\n- **`CHAT_RULES` / `chatRules({ orgDomain })`** — install at `/app/:id/admin/rules`.\n- **`createChatClient(db, self)`** — the UI-facing client (channels, DMs, messages,\n  feeds, threads, reactions, read-state, typing/presence).\n- **`chatSkill({ db, channelId, self })`** — a `@odla-ai/ai` Skill so an agent\n  reads and posts as a bot member.\n- **`botTrigger({ id, agentId, persona, mention })`** — the commit-trigger config to\n  register at `/app/:id/admin/triggers`; the odla-db commit hook fires it on human\n  messages and dispatches to the chat-agent worker.\n- **`chatIntegration`** — a descriptor bundling the schema, rules, and provisioning\n  steps.\n- **`createDiscussRoutes({ db, authz, ... })`** — mountable project discussion\n  routes. When the injected admin client supports `changes()`, `GET /watch`\n  provides authorized topic/inbox events from a server-issued cursor. Topic\n  reads return bounded forward pages; `DiscussClient.getTopic()` follows them\n  to preserve its whole-conversation contract without a hidden 200-post ceiling,\n  verifies completeness against the atomic reply count, and fails closed after\n  bounded retries/size. `getTopicPage()` is the explicit bounded primitive.\n\n## Hosted app backend\n\n`initDiscuss` connects a running app backend to Registry's brokered Discussion\nsurface with the app's existing full backend key. Keep the key server-side.\nThe client may list, read, start, and reply to topics in its own project. On\n`odla-ai`, it can reach only topics created by that exact app lifetime, while a\ntopic read still includes later replies from odla agents and collaborators.\n\n```ts\nimport { initDiscuss } from \"@odla-ai/chat\";\n\nconst discuss = initDiscuss({\n  endpoint: process.env.ODLA_PLATFORM!,\n  appId: process.env.ODLA_APP_ID!,\n  env: process.env.ODLA_ENV as \"dev\" | \"prod\",\n  appKey: process.env.ODLA_API_KEY!,\n});\n```\n\nHosted Code agents use the narrower `runtimeDiscussSkill` through Registry's\ntrusted tool broker. The model and its networkless runtime receive only tool\ndescriptors and results—never the app key or a shared-tenant credential.\n\nPer-topic GET, PATCH, reply, and read-acknowledgement routes accept an optional\n`app` query assertion. A mismatch returns 404 before an effect. Successful\nreply responses include the authorized `appId` and topic `subject`, allowing a\ntrusted embedding proxy to scope and acknowledge a write without a separate\nthread preflight.\n\n## Resumable project discussions\n\nThe Discuss route factory exposes one cursor stream for a topic\n(`?topic=<id>`) or the caller's owned-app inbox (`?app=<id>` or all owned\napps). The first request to `GET /watch` returns an empty checkpoint. Pass its\nopaque `cursor` on the next request; returned events have stable IDs and their\nown cursors, so a consumer can persist progress midway through a page and\nreceive the remainder at least once.\n\nThe route rechecks app ownership before projecting transaction metadata into\nmessages/topics. Cursors are bound to the exact stream. A database restore,\ncopy, or truncated checkpoint returns HTTP 409 with\n`code: \"checkpoint_required\"` and a replacement checkpoint—never an empty\nsuccess. The optional `onWatch` hook reports only low-cardinality scope,\noutcome, counts, backlog state, and event age; it carries no app, topic, user,\nevent, or cursor identifiers.\n\n## Project discussions and browser UI\n\n`@odla-ai/chat/discuss` is a Gmail-style project conversation model: one\nproject-backed channel contains root posts with replies under each post. The\noptional `@odla-ai/chat/ui` browser kit renders a full-width inbox and pins\nindependently minimizable or dismissible thread cards along the bottom edge.\nSeveral pins can remain open; a controlled `topicId` focuses one deep-linked\ncard without closing the others.\n\n```sh\nnpm i @odla-ai/chat @odla-ai/ui preact\n```\n\nThe browser kit version containing principal badges requires\n`@odla-ai/ui >=0.16.0` and Preact 10.\n\n```tsx\nimport \"@odla-ai/ui/index.css\";\nimport \"@odla-ai/chat/ui.css\";\nimport { DiscussSuite } from \"@odla-ai/chat/ui\";\n\nconst { groups } = await discuss.listGroups();\nconst authorizedAppIds = groups.map((group) => group.appId);\n\n<DiscussSuite client={discuss} live={db} liveScope={authorizedAppIds} />;\n```\n\nA host may pass `initialCompose={{ appId, subject, body, refs }}` to open an\neditable new-post draft with structured references already pinned to the body.\nNothing is written until the viewer posts. When the draft is durable host route\nstate, use `onComposeDraftClose` to remove it after cancellation so reload does\nnot resurrect discarded work.\n\nEach group includes the viewer's durable `lastReadAt` cursor and an exact\n`unreadCount` of open, non-archived topics whose activity is later than that\ncursor, matching the inbox's default **Open** view.\nThe cross-project rail renders those counts and refreshes them on the same live\nor fallback signal as the inbox. A successful focused-thread read refreshes the\ncursor and badges; a speculative or failed read never clears them.\n\n`live` is the scoped odla-db WebSocket/query client. Complete bounded topic and\npost snapshots update the inbox, unread counts, and mounted threads directly;\nsearches, later pages, oversized windows, and incomplete frames reconcile\nthrough the authoritative routes. `liveScope` only narrows those queries by\nlogical app id; it grants no access. The short-lived socket ticket carries\nthe Registry-signed `discussionProjectScopes` claim for exact app\nincarnations, and tenant rules gate every row's `projectScope` against it.\nThe suite reads the client's content-free `connectionHealth()` snapshot\nand reports **Connecting**, **Live updates**, **Reconnecting**, delayed/stale\nupdates, or an offline connection without exposing query or message content.\nWithout a client—and while a client is unhealthy—the REST-backed views refresh\nevery `LIVE_FALLBACK_MS` (15 seconds) as a safety net. The inbox keeps one\nfallback loop and refreshes every retained thread card from that same tick, so\nminimized/background cards stay current without multiplying degraded-mode load.\n\nShared-tenant hosts must call `ensureProjectLifetimeWritesOpen` only after\nresolving current, exact Registry write authority. It creates a new active\nlifetime when needed and atomically upgrades an exact legacy active lifetime\nwhose write-state fields are still absent. Read paths use\n`requireActiveProjectLifetime` (or `getProjectLifetime`) and never perform that\nupgrade. Archive flows call `suspendProjectLifetimeWrites`; when no lifetime\nexists it seeds the exact project directly as suspended, and when a legacy row\nexists it normalizes directly to suspended without a transient open state.\n\nTopic and list responses include a `principals` map of\n`DiscussPrincipalProfile` values keyed by immutable principal id. A topic read\nprojects both visible authors and referenced agent targets, so activity rows\ncan name an agent before its first reply. The host's\n`DiscussAuthz.principalProfiles` resolves those registry-authoritative friendly\nnames, handles, kinds, managed-agent purpose, and manager metadata; they\noverride mutable chat participant labels. Purpose is passed only to that exact\nresponder's system identity as quoted focus context. It cannot add tools,\nproject access, or authority, and mutable chat rows never supply it.\n`@odla-ai/chat/ui` renders profiles with the shared\n`PrincipalBadge`, including the friendly manager name for an agent. A host\n`resolveAuthor` remains only a compatibility fallback, and unknown long\nidentity ids render as **Member** rather than leaking an opaque account\nsubject into the conversation.\n\nThe `discussSkill` responder applies that same authoritative profile projection\nto `read_topic`, including each agent's manager, and never substitutes raw\nprincipal ids when the directory is unavailable. Attached files appear as\nbounded name/type/size descriptors with links rebuilt from validated tenant\npaths through the existing authenticated `/registry/discuss/attachments/*`\nroute; persisted attachment URLs are not trusted. `read_attachment` accepts\nonly an attachment id first exposed by `read_topic`. The host then reloads the\nexact topic and post, rechecks current project access, and performs a bounded\nprivate-storage read—never a model-supplied path or URL. Raster images and PDFs\nuse capability-checked multimodal tool-result blocks; UTF-8 text has a smaller\ncontext cap. The broker keeps ordinary text/control JSON under the configured\ninput budget while separately bounding aggregate decoded media (4.5 MiB) and\nencoded base64 overhead. SVG, unsupported, spoofed, cross-topic, malformed, and\noversized content fail closed, and all returned content carries\n`tool_untrusted:read_attachment` taint. A dispatched reply keeps the topic's\n`threadRootId` while setting\n`replyToId` to the exact source post.\n\nEvery successful hosted `read_topic` appends an opaque, replay-stable\n`contextReceipt` inside the existing 64 KiB tool-output cap. The host derives\nit from the deterministic turn mutation plus topic/source and context-output\nordinal. That mutation identity is unavailable to the model before the tool\nresult, but it is not a secret or cryptographic authority. Each later hosted\ncontext tool (`read_attachment`, `search_collaborators`, or\n`inspect_reference`) invalidates the current receipt before its handler and\nappends a rotated receipt to its returned success or safe error. Multimodal\noutputs retain their media and receive the marker as a trailing text block; a\nthrown context failure clears grounding and requires `read_topic` again.\n\nThe hosted `reply_to_topic` and `propose_brand_change` schemas require the\nlatest receipt, and the wrapper consumes an exact match before the outcome\nhandler. A model therefore cannot batch context production and an outcome in\none assistant response; it must observe the latest result in a later inference.\nA failed effect requires another read. Final-prose fallback uses the same\nlatest-context generation boundary and the reply sink's taint allowlist, so\nprose beside a context call or after forbidden tool output is not posted. This\nis only a model-turn barrier, never identity, authorization, idempotency, or a\ncontent signature; Registry still rechecks the exact turn, source, project\nauthority, and effect digest. Receipt replay is deterministic, but dynamic\nbroker tool payloads are still live reads rather than byte-for-byte captured\nreplay snapshots. The `discuss.reply` policy therefore requires at least two\nmodel calls per run; allow at least three for read → inspect/search → outcome\nworkflows (the default remains six).\n\nHosted product tools use the same discovery boundary. While rendering\n`read_topic`, the skill remembers only complete structured Brand, CRM, and Code\nrefs that actually fit in the returned context; literal markup and truncated or\nomitted refs confer nothing. `inspect_reference` accepts only the exact\n`{ kind, id }` of one of those refs—never a URL, app id, path, or row key—and\nreturns a bounded product-owned summary after the host rechecks the running\nturn and product authority. A Brand palette inspection also returns at most 24\nvalidated semantic roles with normalized `#rrggbb` values and optional names;\nthe message card renders that same product-owned projection with\n`@odla-ai/ui`'s `PaletteStrip`. An exact `brand:asset` inspection can return\nbounded private PNG, JPEG, GIF, WebP, or PDF bytes to a capable hosted model.\nThe reader mints its own short-lived object URL, never accepts or returns a\nURL/path/app/storage id, and rechecks book membership, the linked asset row,\ncontent type and magic, digest, size, product authority, and running turn after\nI/O. Registry and chat-agent validate the closed result again, and inference\nadmits media only from the exact paired `inspect_reference` tool use under the\nexisting 4.5 MiB aggregate media budget and untrusted-tool taint. Discussion\ndoes not persist private previews; until a current-auth proxy exists, the human\ncard truthfully opens the native Brand surface instead.\n\n`propose_brand_change` is the sole product mutation:\nit accepts a discovered `brand:book`, one closed Brand facet\n(`palette`, `typography`, `voice`, `logo`, or `imagery`), and bounded payload\nand rationale. The host commits an **open** `brand:proposal` and the turn's one\nvisible Discussion reply before the tool succeeds. A later reply is rejected,\nand approval remains an exact human action in Brand. There is no CRM/Code\nmutation, Brand approval, or arbitrary product-call tool in Discussion.\nInspection and attachment results carry distinct tool taints. Only the bounded\ntopic reply/delegation sink and inert Brand-proposal sink explicitly accept\nthose two labels plus the model-inherited label that every `runAgent` tool call\nnecessarily carries. That model label is safe here only because the sinks\ncannot escape the exact topic/project or human-review-only proposal boundary;\nweb, operator-pasted, and proposal-result taints remain outside their\nallowlists and fail before a handler can write.\n\n`DiscussOperator` is likewise credential-bound: the host derives its principal\nand credential from the request's bearer credential, so clients never choose\nthe author. Manager metadata explains who is accountable for an agent but does\nnot confer project authority. Each route resolves live, action-level project\nauthority; accepted agent writes persist that exact grant's grantor, id, and\nversion rather than credential-level grant hints.\n\nGroup rosters remain display state, never capability state. Discussion\nre-resolves the host's exact app incarnation and action-level authority after\nawaited roster/content work, immediately before each store effect, and again\nbefore releasing read or write results. A revoked or suspended managed agent\ntherefore cannot continue through a stale channel member row. The people\nresolver likewise offers an agent only while its principal, exact-project write\ngrant, and private Chat runtime admission are all live; human collaborators do\nnot require runtime admission.\n\nCross-project rails should implement\n`DiscussAuthz.revalidateProjectScopes` with the host authority store's set\nlookup. Discussion still performs the same post-read exact-incarnation check,\nbut one set revalidation replaces one remote authority request per project.\nShared-tenant lifetime admission uses `getProjectLifetimes` for the same reason:\nproject count does not multiply database round trips. Hosts that omit the\noptional set hook keep the conservative per-project fallback.\n\nThe `@` picker opens above the bottom-edge composer and returns authorized\npeople and named agents. Selecting an `@agent` candidate writes a structured\n`agent/<principal-id>` reference; selecting odla writes\n`agent/agent_odla`, while an isolated human-authored plain `@odla` remains\ncompatible. Agent-authored delegation is stricter: it requires one exact\nstructured agent target, the host resolves the sender's live write grant, and\nthe resulting envelope is bound to the source principal, credential, message,\ngrant revision, and depth `1`. Any distinct active named agent with a live\n`discussion.write` grant for that exact project may be the target. Ordinary\nagent prose, self-delegation, and unbound replies cannot cascade or impersonate\nanother principal.\n\nHosted responders receive `search_collaborators`, a read-only broker tool bound\nto the exact running turn and project lifetime. It returns only non-self agents\nwhose principal, project grant, and private runtime binding are all currently\nlive, with Registry-owned display name, handle, purpose, accountable manager,\nand exact paste-ready structured agent markup. A reply naming one result goes\nthrough the broker rather than a responder's direct Chat credential. Every\nhosted `odla-pm` Discussion responder is keyless: authenticated Registry\n`state`, `thread`, and `reply` operations re-admit the exact dispatch, project\nlifetime, source, and running turn. Registry reconstructs both principals and\nruntime provenance. Before a reply, delegation, or Brand-proposal effect, one\natomic Registry D1 batch claims the exact service lifetime, dispatch, live\nauthority, and request digest. Before any Chat, Brand, or provider effect,\nRegistry asks Server to atomically bind that id and digest to the exact running\njob attempt, source, target, trigger, project, and service lifetime. The same\nclaim remains replayable after the turn becomes terminal; stale attempts and\nconflicting ids fail closed. The exact Chat outcome is stamped with that\nauthorization id and digest, so Registry can commit the claim or reconcile it\nafter an ambiguous response. Reply and delegation content still commit under\nexact project, source, and outcome guards in one Chat transaction. An exact\nreplay returns the same durable outcome without another effect. Stale turns,\nconflicting replay content, authority changes before the claim,\nself/multi-target handoffs, and agent-authored cascades fail closed. Brand\nchanges remain open proposals until a human explicitly approves them.\nNon-identity refs in this machine-authored bridge are reduced to safe unlinked\ntyped chips; native Brand, CRM, and Code resolution keeps its own user and\nproduct authority boundary.\n\nDiscussion references are also typed across product boundaries. Known kinds\ninclude Brand books/assets/palettes/proposals/receipts, CRM records/activities,\nand Code sessions/candidates/publications/deployments. Agents and the CLI write\nthe same structured markup as every other reference, including compound native\nids when the product needs them:\n\n```text\n@[Homepage candidate](code:candidate/ccand_…)\n@[Palette proposal](brand:proposal/book-id/proposal-id)\n@[Lead record](crm:record/person/record-id)\n```\n\nThe server discards caller-supplied `href` and `meta` before storage and asks a\nhost resolver to rebuild presentation under the current project authority.\nodla's Registry resolver can discover Code because Code state is Registry-owned;\nit returns only the direct signed-in human owner's rows in the current app\nlifetime. A managed-agent credential cannot inherit its manager's private Code\nsessions. Publications open the exact native GitHub review, while candidate and\ndeployment refs open the owning Code workspace for fresh review.\n\nBrand and CRM are app-owned integrations, so Registry never scans their\ndatabases with infrastructure authority and never invents presentation for an\nopaque id. Search and exact resolution call the current production app with a\n30-second, read-only assertion bound to the exact product, product capability,\ncanonical endpoint audience, principal, app incarnation, and environment.\nAgent assertions also bind their manager and live grant id/version. The native\nroute checks its product ACL and exact row existence, returning only a\nsame-origin link plus bounded product-authored label, summary, status, and\ndestination. Registry rechecks the assertion after product I/O, so a revoked\ngrant or replaced app/link cannot leak the response. Ordinary agent handshakes\ndo not include CRM access; an owner must explicitly select the read-only\n`crm.read` option. Brand Studio selects the book and proposal review; Chapter\nCRM selects the record and focuses an activity in its notes tab. The ref is\nnavigation, never proof of approval. Brand\nproposal decisions stay on Brand's exact human receipt route, Code publication\nand deployment stay on Code's native owner-review routes, and CRM mutations\nstay behind the app's CRM authorization. Discussion exposes no generic approve\nor write-through tool.\n\nThe current owner/co-owner-configured HTTPS app link is a trusted outbound\nproduct destination. Request input cannot choose an origin. Provisioning must\nattest that link to the deployed app; Registry uses manual redirects, a short\ndeadline, a streamed byte ceiling, JSON/item/field limits, and post-I/O\nauthority checks. This is an explicit owner trust boundary, not a general URL\nfetcher or private-network discovery API.\n\nEvery exact structured managed-agent mention (and the compatible human\n`@odla` handle) invokes discussion replies—there is no feature flag or enable\nswitch. The System AI `discuss.reply` policy configures the provider, model,\nprompt, and per-run budgets. Accepted writes visibly name the target and show\nqueued/working activity. For a human post, `DiscussAuthz.resolveAgentDispatch`\nreturns each Registry-validated exact trigger, target principal, and project\nlifetime. The generated source id binds that complete batch to the admin\ntransaction. odla-db re-matches every entry against the final row and current\ntrigger, then inserts the source, turn ledger, and durable outbox in one SQLite\ntransaction. If a trigger is replaced or any target no longer matches, HTTP\n503 leaves the source absent; a successful post cannot lose a requested turn\nin the readiness-to-write gap. Ordinary discussion and reads remain available\nduring a responder outage.\n\nodla-db retains a durable per-dispatch outbox row until chat-agent acknowledges\nan explicit terminal outcome. The payload-free agent-turn ledger is keyed to\nthe exact source message and reports `queued`, `running`, `retrying`,\n`succeeded`, `failed`, or `cancelled`, with attempts and the next retry time.\nStatus projection selects the newest accepted turn independently for each exact\ntarget agent, and the dock derives those current requests from thread order.\nAn old failure therefore cannot mask newer running or successful work, while\ndifferent requested agents retain independent current states. Every retained\ncard header shows one compact count per represented lifecycle—or an explicit\nmixed summary—while minimized. It polls only non-terminal work through the\nexact-topic status route. The expanded thread renders one row per target with\nits authoritative friendly principal badge and newest exact source/target\nstate. A succeeded row clears only when that exact target's reply to that exact\nsource is visible. Background replies mark that card unread; focusing it\nacknowledges the topic. Realtime subscriptions drive normal refresh, while one\nsuite-owned degraded-mode timer refreshes every retained card instead of\nstarting a timer per card. The UI never infers failure or continued work from\nelapsed wall-clock time. Drains are bounded and stable\neffect identities make retries and one final ambiguous-response reconciliation\nsafe. Missing credentials, unavailable model configuration, denied delegation,\nand exhausted or non-retryable delivery errors become durable failures.\nGeneric AgentJobs remain separately inspectable and retryable by an operator.\n\n## Chat-agent credentials\n\nThe optional `@odla/chat-agent` Worker fails closed unless\n`CHAT_DISPATCH_SECRET` is configured. It does not accept a platform-wide DB\nadmin token.\n\nEvery hosted `odla-pm` Discussion responder uses `ODLA_PLATFORM` plus the\ndedicated `DISCUSS_AI_SECRET` shared with Registry, with no direct tenant bot\nkey. Every broker request re-admits the accepted dispatch and exact project\nlifetime. The bounded authenticated surface covers policy and inference;\nruntime state, bounded thread, and reply; principal profiles and attachment\ninspection; collaborator search and one-hop delegation; product reference\ninspection; and open-only Brand proposal brokerage. The `state`, `thread`, and\n`reply` operations are the direct Chat data operations; they are not the\nbroker's entire surface. Registry alone holds `DB_ADMIN_SECRET` and the exact\ndispatch/project/turn authority. Do **not** mint or configure any\n`ODLA_BOT_TOKENS[\"odla-pm\"][agentId]` entry for hosted Discussion, including\n`agent_odla`.\n\nGeneric per-tenant Chat responders and Brand triggers outside hosted\n`odla-pm` Discussion still use `ODLA_BOT_TOKENS`. Store it as a Worker secret\ncontaining a nested JSON map from exact tenant id, then exact agent principal,\nto a scoped app key:\n\n```json\n{\n  \"support-chat--prod\": {\n    \"agent_support\": \"odla_sk_...\"\n  },\n  \"brand-studio--prod\": {\n    \"agent_brand\": \"odla_sk_...\"\n  }\n}\n```\n\nFor a full generic Chat responder, mint one key for that exact agent and the six\nagent-visible Chat content namespaces:\n\n```json\n{\n  \"mode\": \"rules\",\n  \"agentId\": \"agent_support\",\n  \"namespaces\": [\n    \"chat_channel\",\n    \"chat_membership\",\n    \"chat_message\",\n    \"chat_reaction\",\n    \"chat_participant\",\n    \"chat_topic\"\n  ]\n}\n```\n\n`chat_project_lifetime` is deliberately absent: it is an admin-only hosted\nDiscussion synchronization namespace, not agent data-plane authority. Brand\ntrigger keys use the same nested tenant/principal map, plus only the exact\nBrand semantic profile and namespaces documented by `@odla-ai/brand`; never\nwiden them to raw Brand writes. `agentId` accepts only an `agent_*` identity, so\na scoped credential cannot impersonate a human.\n\nSet `DISCUSS_AI_SECRET` to the same dedicated random value on\n`odla-chat-agent` and `odla-apps`, and verify chat-agent `/health` before\nenabling writes. `/health` reports separate\n`capabilities.hostedDiscussion` and `capabilities.genericAgent` readiness.\nDispatch authentication plus the configured hosted broker determine the HTTP\nstatus, so hosted Discussion remains `200` when the generic token map is\nabsent. A missing or malformed-present `ODLA_BOT_TOKENS` map is nevertheless\nreported as generic-agent unready with a content-free reason; a valid nested map\nis ready. The private `/svc/agent-admission` check proves one exact runtime\nwithout returning configuration or keys. Neither route makes a remote broker\ncall. Production verification must exercise an authenticated `state` read and\na bounded `thread` read, then one canary `reply` when it is safe to create\nvisible content. Rotate `CHAT_DISPATCH_SECRET` with odla-db and\n`DISCUSS_AI_SECRET` with odla-apps as two independent pairs. The worker has no\nwildcard tenant or platform-machine-token fallback.\n\nSee this installed README and the exported TypeScript declarations/JSDoc for the\nversion-matched API. The rendered public reference is at\n<https://odla.ai/docs/packages/chat>.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}