{"_id":"@ably/chat","_rev":"32-ab11e0ab3edbb9b08f0afe10c263a48f","name":"@ably/chat","dist-tags":{"latest":"1.4.0"},"versions":{"0.1.0":{"name":"@ably/chat","version":"0.1.0","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@0.1.0","maintainers":[{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"44324c4fdcb72563b734da96c903c84daa0abbbb","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-0.1.0.tgz","fileCount":80,"integrity":"sha512-3eG1cpr4njqd49gM+GLXzdD87pPdCm3QGRvbZzDTfIIurnu/kgxrbFxSQmWgC7dillkBX8mXDQiS6YzsruJlXg==","signatures":[{"sig":"MEQCIGAXe7kn4KQen1TzjuiTSJPNxrPD+Un878SwjzH5XpnKAiB4wAri004NIIGaQ3bIZ6GSbmxjtFKh5NRRX7F9u4fOjA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":919574},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs"}},"gitHead":"d65ada88ed2d3b06da3cb7daf11c96b6948f3669","scripts":{"docs":"typedoc","lint":"eslint . && cspell '{src,test}/**' './*.md'","test":"vitest run","build":"npm run build:chat && npm run build:react","format":"prettier --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .","test:chat":"vitest run --project chat","build:chat":"vite build","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:typescript":"tsc --project tsconfig.test.json"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.3.2","jsdom":"^24.1.0","react":"^18.3.1","cspell":"^8.10.1","eslint":"^8.57.0","vitest":"^1.6.0","aws-sdk":"^2.1656.0","typedoc":"^0.26.3","minimist":"^1.2.8","prettier":"^3.3.2","react-dom":"^18.3.1","typescript":"^5.5.2","@types/react":"^18.3.3","jsonwebtoken":"^9.0.2","vite-plugin-dts":"^3.9.1","@types/jsonwebtoken":"^9.0.6","@vitest/coverage-v8":"^1.6.0","eslint-plugin-jsdoc":"^48.5.0","eslint-plugin-react":"^7.34.3","@vitejs/plugin-react":"^4.3.1","eslint-plugin-import":"^2.29.1","@testing-library/react":"^16.0.0","eslint-plugin-security":"^3.0.1","@typescript-eslint/parser":"^7.14.1","eslint-plugin-react-hooks":"^4.6.2","typedoc-plugin-no-inherit":"^1.4.0","eslint-plugin-react-refresh":"^0.4.7","@typescript-eslint/eslint-plugin":"^7.14.1","eslint-plugin-simple-import-sort":"^12.1.0"},"peerDependencies":{"ably":"^2.2.1"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"_npmOperationalInternal":{"tmp":"tmp/chat_0.1.0_1720620427987_0.1620249580677504","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@ably/chat","version":"0.2.0","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@0.2.0","maintainers":[{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"653281d353f63396dd554fd2d861f4a606c4e3bc","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-0.2.0.tgz","fileCount":120,"integrity":"sha512-uheee4sX8xAkG9FdrNUR8wd5Wv1WHSOkFbZ8G1CV+6Qql1SlmE8RoKwdHY8kdjqtrvrk+rqA3uUXKs/9xlWZWg==","signatures":[{"sig":"MEYCIQD2CZgN1NkjKdK4N8uX+zGhqvgaiwL0NbY2iY85gXtUqAIhALkaMI8IE7oSgMB9J2m45ooDK9j31LZOHGAjEVfh5q4g","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1235850},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"d022d5761fab0c8d779c385cb8e3dc9cc88119cb","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell","test":"vitest run","build":"npm run build:chat && npm run build:react","cspell":"cspell '{src,test}/**' './*.md'","format":"prettier --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .","test:chat":"vitest run --project chat","build:chat":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:typescript":"tsc"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0"},"react-native":"dist/react/ably-chat-react.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.3.2","jsdom":"^24.1.0","react":"^18.3.1","cspell":"^8.10.1","eslint":"^8.57.0","vitest":"^1.6.0","aws-sdk":"^2.1656.0","typedoc":"^0.26.3","minimist":"^1.2.8","prettier":"^3.3.2","react-dom":"^18.3.1","typescript":"^5.5.2","@types/react":"^18.3.3","jsonwebtoken":"^9.0.2","vite-plugin-dts":"^3.9.1","@types/jsonwebtoken":"^9.0.6","@vitest/coverage-v8":"^1.6.0","eslint-plugin-jsdoc":"^48.5.0","eslint-plugin-react":"^7.34.3","@vitejs/plugin-react":"^4.3.1","eslint-plugin-compat":"^5.0.0","eslint-plugin-import":"^2.29.1","eslint-plugin-unicorn":"^54.0.0","@testing-library/react":"^16.0.0","eslint-plugin-security":"^3.0.1","@typescript-eslint/parser":"^7.14.1","eslint-plugin-react-hooks":"^4.6.2","typedoc-plugin-no-inherit":"^1.4.0","eslint-plugin-react-refresh":"^0.4.7","@typescript-eslint/eslint-plugin":"^7.14.1","eslint-plugin-simple-import-sort":"^12.1.0"},"peerDependencies":{"ably":"^2.3.1"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"_npmOperationalInternal":{"tmp":"tmp/chat_0.2.0_1725869639470_0.4276646759614897","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"@ably/chat","version":"0.2.1","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@0.2.1","maintainers":[{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"75f0fd65a69d3da3985d603dede0f644a6c232ec","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-0.2.1.tgz","fileCount":120,"integrity":"sha512-0pv97Tv+wEBzjCXN1kP/anz2+V/FfM6GGZ1Op9FxOJzctU76GBTTtz3FrJeLdd1KeYyNgQuhKT9ara+d4ERipw==","signatures":[{"sig":"MEUCIQD6jpO3rS5/WrLk7cAXnxlzavbm4FSPE4IrMtts9Oa9RAIgHmArJZ4f+ulfo1OjAzoyW9Q8+xZONnmtLhcXH1jycRA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1394611},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"0ac639e8e3401400dcfe8228a1646e63a3415de5","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell","test":"vitest run","build":"npm run build:chat && npm run build:react","cspell":"cspell '{src,test}/**' './*.md'","format":"prettier --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .","test:chat":"vitest run --project chat","build:chat":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:typescript":"tsc"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/react/ably-chat-react.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.3.2","jsdom":"^24.1.0","react":"^18.3.1","cspell":"^8.10.1","eslint":"^8.57.0","vitest":"^1.6.0","aws-sdk":"^2.1656.0","typedoc":"^0.26.3","minimist":"^1.2.8","prettier":"^3.3.2","react-dom":"^18.3.1","typescript":"^5.5.2","@types/react":"^18.3.3","jsonwebtoken":"^9.0.2","vite-plugin-dts":"^3.9.1","@types/jsonwebtoken":"^9.0.6","@vitest/coverage-v8":"^1.6.0","eslint-plugin-jsdoc":"^48.5.0","eslint-plugin-react":"^7.34.3","@vitejs/plugin-react":"^4.3.1","eslint-plugin-compat":"^5.0.0","eslint-plugin-import":"^2.29.1","eslint-plugin-unicorn":"^54.0.0","@testing-library/react":"^16.0.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^7.14.1","eslint-plugin-react-hooks":"^4.6.2","typedoc-plugin-no-inherit":"^1.4.0","eslint-plugin-react-native":"^4.1.0","eslint-plugin-react-refresh":"^0.4.7","@typescript-eslint/eslint-plugin":"^7.14.1","eslint-plugin-simple-import-sort":"^12.1.0"},"peerDependencies":{"ably":"^2.3.1"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"_npmOperationalInternal":{"tmp":"tmp/chat_0.2.1_1726672699649_0.242803757249751","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"@ably/chat","version":"0.3.0","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@0.3.0","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"9e3cd9d81aa4753870dd9ee3ba76c6f4037c42cb","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-0.3.0.tgz","fileCount":128,"integrity":"sha512-3NMfeBZaXgyx1TrwNfljQ1e9doQpkywDddb/HA1nl65zTJ2wPYJLmV8kJur4G5L8AeboUMYBk0xy8o4I2qtUeQ==","signatures":[{"sig":"MEQCIBXExQIBJ4sRvZMQfISIzXtHeQvo+sj2HwuJAcN+Mv3BAiAwgaGBBEQCjbHTE0W5MSgngJ0VgGdiwczmqxfe4SCS3A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1550574},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"bb19b93a39722bfde251bbc5d083d22f1ce3b42e","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell","test":"vitest run","build":"npm run build:chat && npm run build:react","cspell":"cspell '{src,test}/**' './*.md'","format":"prettier --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .","test:chat":"vitest run --project chat","build:chat":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/react/ably-chat-react.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.2","jsdom":"^25.0.1","react":"^18.3.1","cspell":"^8.10.1","eslint":"^9.12.0","vitest":"^2.1.3","aws-sdk":"^2.1656.0","globals":"^15.11.0","typedoc":"^0.27.2","minimist":"^1.2.8","prettier":"^3.3.2","react-dom":"^18.3.1","@eslint/js":"^9.12.0","typescript":"^5.5.2","@types/react":"^18.3.3","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.0","vite-plugin-dts":"^4.2.4","@eslint/eslintrc":"^3.1.0","@types/jsonwebtoken":"^9.0.6","@vitest/coverage-v8":"^2.1.3","eslint-plugin-jsdoc":"^50.4.1","eslint-plugin-react":"^7.37.0","@vitejs/plugin-react":"^4.3.1","eslint-plugin-compat":"^6.0.1","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^56.0.0","@testing-library/react":"^16.0.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^8.9.0","eslint-plugin-react-hooks":"^5.0.0","typedoc-plugin-no-inherit":"^1.4.0","eslint-plugin-react-refresh":"^0.4.7","@typescript-eslint/eslint-plugin":"^8.9.0","eslint-plugin-simple-import-sort":"^12.1.0"},"peerDependencies":{"ably":"^2.6.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"_npmOperationalInternal":{"tmp":"tmp/chat_0.3.0_1736180606374_0.3802615061056751","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@ably/chat","version":"0.3.1","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@0.3.1","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"580eee384e76add152d7ed99075f4a3894a5fe56","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-0.3.1.tgz","fileCount":128,"integrity":"sha512-O0C2varL6MIFHTSCHHBcGO/vTyhbybAqIVTugOEtCYdlslkfNkv/UzPPbAscwdCEebF8EFFTgh7xLZI74IZfPA==","signatures":[{"sig":"MEYCIQDR0IGvuMTAK0t0MtyQa9Ic5ZIo4Jl6WxCbgOe3yddf5QIhAKq2iT4vmd9wYEA1W+FBvG8yf48PBnbDg6liUzkRK59N","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1550015},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"a1d504c2c7a713ddf62925f931238c402befa6d6","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell","test":"vitest run","build":"npm run build:chat && npm run build:react","cspell":"cspell '{src,test}/**' './*.md'","format":"prettier --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .","test:chat":"vitest run --project chat","build:chat":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/react/ably-chat-react.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.2","jsdom":"^25.0.1","react":"^18.3.1","cspell":"^8.10.1","eslint":"^9.12.0","vitest":"^2.1.3","aws-sdk":"^2.1656.0","globals":"^15.11.0","typedoc":"^0.27.2","minimist":"^1.2.8","prettier":"^3.3.2","react-dom":"^18.3.1","@eslint/js":"^9.12.0","typescript":"^5.5.2","@types/react":"^18.3.3","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.0","vite-plugin-dts":"^4.2.4","@eslint/eslintrc":"^3.1.0","@types/jsonwebtoken":"^9.0.6","@vitest/coverage-v8":"^2.1.3","eslint-plugin-jsdoc":"^50.4.1","eslint-plugin-react":"^7.37.0","@vitejs/plugin-react":"^4.3.1","eslint-plugin-compat":"^6.0.1","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^56.0.0","@testing-library/react":"^16.0.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^8.9.0","eslint-plugin-react-hooks":"^5.0.0","typedoc-plugin-no-inherit":"^1.4.0","eslint-plugin-react-refresh":"^0.4.7","@typescript-eslint/eslint-plugin":"^8.9.0","eslint-plugin-simple-import-sort":"^12.1.0"},"peerDependencies":{"ably":"^2.6.2"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"_npmOperationalInternal":{"tmp":"tmp/chat_0.3.1_1736885744079_0.759810270497544","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@ably/chat","version":"0.4.0","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@0.4.0","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"abde1804259ad23df5c9d65d6719b2dfa2fa791d","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-0.4.0.tgz","fileCount":166,"integrity":"sha512-9M7Vo9S5CudAYDzHgahyg3f/vQy4AewcE1KFaHwaExUEDY2grSdKayRqWKZY8AOdb+IfO9H9w8PUzjd07SES8Q==","signatures":[{"sig":"MEQCIAxUv9g0IK2aOXWLC1Ir1KQvPrjjiEwO8tcRaGiHSYtzAiBcWaIdVjyxogOqYWfJLHBKbyAf/RlXfRx6h0HisI42kw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2425849},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./package.json":"./package.json"},"gitHead":"87ab7e102f0e818b71ea38b29f8a94eb71813706","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell","test":"vitest run","build":"npm run build:chat && npm run build:core","cspell":"cspell '{src,test}/**' './*.md'","format":"prettier --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .","test:chat":"vitest run --project chat","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.2","jsdom":"^25.0.1","react":"^19.0.0","cspell":"^8.10.1","eslint":"^9.12.0","vitest":"^2.1.3","aws-sdk":"^2.1656.0","globals":"^15.11.0","typedoc":"^0.27.2","minimist":"^1.2.8","prettier":"^3.3.2","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.5.2","@types/react":"^19.0.0","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.0","vite-plugin-dts":"^4.2.4","@eslint/eslintrc":"^3.1.0","@types/react-dom":"^19.0.0","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.6","@vitest/coverage-v8":"^2.1.3","eslint-plugin-jsdoc":"^50.4.1","eslint-plugin-react":"^7.37.0","@vitejs/plugin-react":"^4.3.1","eslint-plugin-compat":"^6.0.1","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^56.0.0","@testing-library/react":"^16.0.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^8.9.0","eslint-plugin-react-hooks":"^5.0.0","typedoc-plugin-no-inherit":"^1.4.0","eslint-plugin-react-refresh":"^0.4.7","@typescript-eslint/eslint-plugin":"^8.9.0","eslint-plugin-simple-import-sort":"^12.1.0"},"peerDependencies":{"ably":"^2.6.2","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.4.0_1737375752579_0.3011136049881604","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@ably/chat","version":"0.5.0","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@0.5.0","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"0bd42cb081d240e1ebc8db22438615cc76f8e8cf","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-0.5.0.tgz","fileCount":166,"integrity":"sha512-Ohzrv7UG/NiLY/ZVuCLdjXSGw9QSa2VDcZDMTxhb9U0MBOvsbMmtbU8QKx/h53OlNJRMXoLKOmJAiyvQNhq4og==","signatures":[{"sig":"MEUCIQCjlQSAPjXRcdG69V0dFA9N1yYfTzYhhd6DYOh1EJ/eHgIgL+KqebgBwbNDgAZyIEj4/NaFo0S/TZwsRfuCrp8sK4k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2390651},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./package.json":"./package.json"},"gitHead":"7c974b75b669e51524b1e3bd5cab23a144c0093d","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell","test":"vitest run","build":"npm run build:chat && npm run build:core","cspell":"cspell '{src,test}/**' './*.md'","format":"prettier --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .; (npm run format > /dev/null)","test:chat":"vitest run --project chat","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.2.1","jsdom":"^26.0.0","react":"^19.0.0","cspell":"^8.17.5","eslint":"^9.22.0","vitest":"^3.0.8","aws-sdk":"^2.1692.0","globals":"^16.0.0","typedoc":"^0.27.9","minimist":"^1.2.8","prettier":"^3.5.3","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.8.2","@types/react":"^19.0.10","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.7","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.0","@types/react-dom":"^19.0.4","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.9","@vitest/coverage-v8":"^3.0.8","eslint-plugin-jsdoc":"^50.6.6","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^4.3.4","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^57.0.0","@testing-library/react":"^16.2.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^8.26.1","eslint-plugin-react-hooks":"^5.2.0","typedoc-plugin-no-inherit":"^1.5.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"ably":"^2.6.3","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.5.0_1741964985455_0.044078704315865025","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@ably/chat","version":"0.5.1","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@0.5.1","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"dbefddfcd214b581f5a6a0fb7ef2378c630415ee","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-0.5.1.tgz","fileCount":166,"integrity":"sha512-zwCakFcXPgYNfZ6ERv0F0ExFrzY4dyUbcPzajYgbkuJn3YdQxdqIF9oIP66TChi3tDd5opMOPmWTQxOXFU/IrQ==","signatures":[{"sig":"MEYCIQDtZ9NgX9lVx4kmmknyBEEF0AiioIMVlhngSSCqRMgHjgIhAOVMBAZypvrmRTyIdnjSEz+Oe5T05LuCBsPIUdfz9XDb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2390805},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./package.json":"./package.json"},"gitHead":"377797f466e7db060dc46abe2e790127c8345e6d","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell","test":"vitest run","build":"npm run build:chat && npm run build:core","cspell":"cspell '{src,test}/**' './*.md'","format":"prettier --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .; (npm run format > /dev/null)","test:chat":"vitest run --project chat","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.2.1","jsdom":"^26.0.0","react":"^19.0.0","cspell":"^8.17.5","eslint":"^9.22.0","vitest":"^3.0.8","aws-sdk":"^2.1692.0","globals":"^16.0.0","typedoc":"^0.27.9","minimist":"^1.2.8","prettier":"^3.5.3","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.8.2","@types/react":"^19.0.10","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.7","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.0","@types/react-dom":"^19.0.4","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.9","@vitest/coverage-v8":"^3.0.8","eslint-plugin-jsdoc":"^50.6.6","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^4.3.4","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^57.0.0","@testing-library/react":"^16.2.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^8.26.1","eslint-plugin-react-hooks":"^5.2.0","typedoc-plugin-no-inherit":"^1.5.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"ably":"^2.6.3","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.5.1_1742213597181_0.21480163888920134","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@ably/chat","version":"0.6.0","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@0.6.0","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"},{"name":"mattheworiordan","email":"matthew.oriordan@gmail.com"},{"name":"vlad.velici.ably","email":"vlad.velici@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"42e19fb3c6d95d762cd886cd4da000168e66ac7c","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-0.6.0.tgz","fileCount":201,"integrity":"sha512-LS44zVRJkp05i0nRJ31JBOR+Usqp9hUtsaLZ0FroW/FrnXOMoKh0XHywGthLjmRWqH0LUmCaGvomM3pfZ/Rwxw==","signatures":[{"sig":"MEYCIQDkEGVzud6IPeZO+aIHtOZXFwSXo9puEfygYByeCkewFgIhALK4uZesUgfaIvpBEsv8Ba1mWScGj8W/e/dQWDUldfJ5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2471042},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"0ec4b5fe4fd8efe7ad0f03d28999778a96149d7a","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell","test":"vitest run","build":"npm run build:chat && npm run build:core && npm run build:react","cspell":"cspell '{src,test}/**' './*.md'","format":"prettier --list-different --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .; (npm run format > /dev/null)","test:chat":"vitest run --project chat","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)","copilot:from-cursor":"(cd .github && npx tsx ./copilot-from-cursor.ts)"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.2.1","jsdom":"^26.0.0","react":"^19.0.0","cspell":"^8.17.5","eslint":"^9.22.0","vitest":"^3.0.8","aws-sdk":"^2.1692.0","globals":"^16.0.0","typedoc":"^0.27.9","minimist":"^1.2.8","prettier":"^3.5.3","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.8.2","@types/react":"^19.0.10","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.7","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.0","@types/react-dom":"^19.0.4","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.9","@vitest/coverage-v8":"^3.0.8","eslint-plugin-jsdoc":"^50.6.6","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^4.3.4","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^57.0.0","@testing-library/react":"^16.2.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^8.26.1","eslint-plugin-react-hooks":"^5.2.0","typedoc-plugin-no-inherit":"^1.5.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"ably":"^2.6.3","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.6.0_1744905069039_0.6196675163284155","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@ably/chat","version":"0.7.0","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@0.7.0","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"},{"name":"mattheworiordan","email":"matthew.oriordan@gmail.com"},{"name":"vlad.velici.ably","email":"vlad.velici@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"4e597a50c92ba14c2f79162e745ee224e0fb5ae0","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-0.7.0.tgz","fileCount":207,"integrity":"sha512-m7gChuLoXcB2KWDAwyLBfh+V5YJf3v5aweml+zdIwt5/JNztChmolN4pqJhEv0B5dT21tQU/fWkFtcyXBFJOvQ==","signatures":[{"sig":"MEUCICfK3/3HYgLCLmu+jEd01OiS5vNsUwYI2NptWV62zZpwAiEA+rpB/+1NOpkuoHdmf2y09Un3jn8U8Z3gCxLpDkZ4AQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2481250},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"2f5147f819df382af14a53292234e28ed7c45183","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell","test":"vitest run","build":"npm run build:chat && npm run build:core && npm run build:react","cspell":"cspell '{src,test}/**' './*.md'","format":"prettier --list-different --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .; (npm run format > /dev/null)","test:chat":"vitest run --project chat","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)","copilot:from-cursor":"(cd .github && npx tsx ./copilot-from-cursor.ts)","test:no-integration":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\""},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.2.1","jsdom":"^26.0.0","react":"^19.0.0","cspell":"^8.17.5","eslint":"^9.22.0","vitest":"^3.0.8","aws-sdk":"^2.1692.0","globals":"^16.0.0","typedoc":"^0.28.4","minimist":"^1.2.8","prettier":"^3.5.3","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.8.2","@types/react":"^19.0.10","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.7","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.0","@types/react-dom":"^19.0.4","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.9","@vitest/coverage-v8":"^3.0.8","eslint-plugin-jsdoc":"^50.6.6","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^4.3.4","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^57.0.0","@testing-library/react":"^16.2.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^8.26.1","eslint-plugin-react-hooks":"^5.2.0","typedoc-plugin-no-inherit":"^1.5.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"ably":"^2.9.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.7.0_1747303103253_0.20239004958179807","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@ably/chat","version":"0.8.0","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@0.8.0","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"},{"name":"mattheworiordan","email":"matthew.oriordan@gmail.com"},{"name":"vlad.velici.ably","email":"vlad.velici@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"3a14729a537978014466810c00500cbac7e2206a","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-0.8.0.tgz","fileCount":210,"integrity":"sha512-t85MfK+WepO3282QxolZ/BCwmO3QtIoOjOgmEYyDhUvW/SdexQsj//ZSWDrP0ZXsELV2q5fm14FO5cATwHd35Q==","signatures":[{"sig":"MEUCIQCwH6uUNXbmuSgmFXJIYvRM3/+k2jCJimDc3LaguQoDWgIgRvWrW8U1BNNPY0nMSzeNGjerPR5kDOYk4E91kP+ASFE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2499812},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"9c63a1ed62191b603cd6a802a0c384b650336c50","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell","test":"vitest run","build":"npm run build:chat && npm run build:core && npm run build:react","cspell":"cspell '{src,test}/**' './*.md'","format":"prettier --list-different --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .; (npm run format > /dev/null)","test:chat":"vitest run --project chat","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)","copilot:from-cursor":"(cd .github && npx tsx ./copilot-from-cursor.ts)","test:no-integration":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\""},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.2.1","jsdom":"^26.0.0","react":"^19.0.0","cspell":"^9.0.2","eslint":"^9.22.0","vitest":"^3.0.8","aws-sdk":"^2.1692.0","globals":"^16.0.0","typedoc":"^0.28.4","minimist":"^1.2.8","prettier":"^3.5.3","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.8.2","@types/react":"^19.0.10","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.7","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.0","@types/react-dom":"^19.0.4","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.9","@vitest/coverage-v8":"^3.0.8","eslint-plugin-jsdoc":"^50.6.6","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^4.3.4","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^59.0.1","@testing-library/react":"^16.2.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^8.26.1","eslint-plugin-react-hooks":"^5.2.0","typedoc-plugin-no-inherit":"^1.5.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"ably":"^2.9.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.8.0_1749117618627_0.6110353679075693","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@ably/chat","version":"0.9.0","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@0.9.0","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"},{"name":"mattheworiordan","email":"matthew.oriordan@gmail.com"},{"name":"vlad.velici.ably","email":"vlad.velici@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"8d43baf891d51ba796c74c5d950b59641e0405cd","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-0.9.0.tgz","fileCount":213,"integrity":"sha512-8d2bbJTYfrSyuYW1jqFGuY0sdi8XmSlri6h9TAW7RlMglbSmQ6hXNHRbyvNf4FOF6ttvIjPRHpglmWMFC7MCoA==","signatures":[{"sig":"MEQCIDCce9H8WvmUnInuAR6X64Cy2K0RiBLC1QBzNZ/FMmzjAiA7F6YhX9DeERdP/wqpvIFXkAHXiaRpT7ncWy9gjeIPsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2499454},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"71e468684d135e057a3c629a4e0dd4ca37b8abbb","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell","test":"vitest run","build":"npm run build:chat && npm run build:core && npm run build:react","cspell":"cspell '{src,test}/**' './*.md'","format":"prettier --list-different --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .; (npm run format > /dev/null)","precommit":"npm run format:check && npm run lint && npm run cspell && npm run test:typescript","test:chat":"vitest run --project chat","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)","copilot:from-cursor":"(cd .github && npx tsx ./copilot-from-cursor.ts)","test:no-integration":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\""},"_npmUser":{"name":"ably-realtime","actor":{"name":"ably-realtime","type":"user","email":"account.owners@ably.com"},"email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.2.1","jsdom":"^26.0.0","react":"^19.0.0","cspell":"^9.0.2","eslint":"^9.22.0","vitest":"^3.0.8","aws-sdk":"^2.1692.0","globals":"^16.0.0","typedoc":"^0.28.4","minimist":"^1.2.8","prettier":"^3.5.3","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.8.2","@types/react":"^19.0.10","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.7","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.0","@types/react-dom":"^19.0.4","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.9","@vitest/coverage-v8":"^3.0.8","eslint-plugin-jsdoc":"^50.6.6","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^4.3.4","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^59.0.1","@testing-library/react":"^16.2.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^8.26.1","eslint-plugin-react-hooks":"^5.2.0","typedoc-plugin-no-inherit":"^1.5.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"ably":"^2.9.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.9.0_1751362092223_0.6309020109400276","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@ably/chat","version":"0.10.0","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@0.10.0","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"},{"name":"mattheworiordan","email":"matthew.oriordan@gmail.com"},{"name":"vlad.velici.ably","email":"vlad.velici@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"10a90c76726ea535a0a7847a786d3d06f44bafbc","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-0.10.0.tgz","fileCount":214,"integrity":"sha512-74T/XAiYQkrNkRVcV18jnUjEiH23K3lOgt4yrZ0MXta0QJ9iWhqnemlmL+IDT9i/bN57AuhNXOVn8RdSSHjHnw==","signatures":[{"sig":"MEUCIEwDpfBp4PUGg+IAm8i4zF52KMFu0VODJmxaJ6pWkemtAiEAuoJotyLhv87eDZaa4/5e31Egv1au261GDw+DJd8KCGw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2506091},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"9552203d6128c77c3205e7a520ec11133cc87493","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell","test":"vitest run","build":"npm run build:chat && npm run build:core && npm run build:react","cspell":"cspell '{src,test}/**' './*.md'","format":"prettier --list-different --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .; (npm run format > /dev/null)","precommit":"npm run format:check && npm run lint && npm run test:typescript","test:chat":"vitest run --project chat","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)","copilot:from-cursor":"(cd .github && npx tsx ./copilot-from-cursor.ts)","test:no-integration":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\""},"_npmUser":{"name":"ably-realtime","actor":{"name":"ably-realtime","type":"user","email":"account.owners@ably.com"},"email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^26.0.0","react":"^19.0.0","cspell":"^9.0.2","eslint":"^9.22.0","vitest":"^3.0.8","aws-sdk":"^2.1692.0","globals":"^16.0.0","typedoc":"^0.28.4","minimist":"^1.2.8","prettier":"^3.5.3","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.8.2","@types/react":"^19.0.10","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.7","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.0","@types/react-dom":"^19.0.4","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.9","@vitest/coverage-v8":"^3.0.8","eslint-plugin-jsdoc":"^51.3.2","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^4.3.4","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^59.0.1","@testing-library/react":"^16.2.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^8.26.1","eslint-plugin-react-hooks":"^5.2.0","typedoc-plugin-no-inherit":"^1.5.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"ably":"^2.9.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.10.0_1752053948617_0.8352119255245616","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@ably/chat","version":"0.11.0","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@0.11.0","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"},{"name":"mattheworiordan","email":"matthew.oriordan@gmail.com"},{"name":"vlad.velici.ably","email":"vlad.velici@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"8b4db3756ab6574aceb923a965f67b750e39756a","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-0.11.0.tgz","fileCount":223,"integrity":"sha512-6oA9OAhZHtxQwylVLzv9cXirCN2WzhT22xZnvkb78gU/PUqNe2/7APsvZyXJnJVN6XVrTg3XHMl4vkOrdLLW7g==","signatures":[{"sig":"MEYCIQCkTvDbuy9yh1/NpROX7f69B8lMPQIn0E2JwG+8A2DW2wIhAIeUYHiQ9bOa50hQtuLynwdca6wvCaR2ei+csvJ/Yw7X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2524811},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"dcb575566e133497ff95f6b2e40ff8a9ee65d156","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell","test":"vitest run","build":"npm run build:chat && npm run build:core && npm run build:react","cspell":"cspell '{src,test}/**' './*.md'","format":"prettier --list-different --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .; (npm run format > /dev/null)","precommit":"npm run format:check && npm run lint && npm run test:typescript","test:chat":"vitest run --project chat","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)","copilot:from-cursor":"(cd .github && npx tsx ./copilot-from-cursor.ts)","test:no-integration":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\""},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^26.0.0","react":"^19.0.0","cspell":"^9.0.2","eslint":"^9.22.0","vitest":"^3.0.8","aws-sdk":"^2.1692.0","globals":"^16.0.0","typedoc":"^0.28.4","minimist":"^1.2.8","prettier":"^3.5.3","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.8.2","@types/react":"^19.0.10","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.7","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.0","@types/react-dom":"^19.0.4","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.9","@vitest/coverage-v8":"^3.0.8","eslint-plugin-jsdoc":"^51.3.2","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^4.3.4","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^59.0.1","@testing-library/react":"^16.2.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^8.26.1","eslint-plugin-react-hooks":"^5.2.0","typedoc-plugin-no-inherit":"^1.5.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-simple-import-sort":"^12.1.1"},"peerDependencies":{"ably":"^2.9.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.11.0_1753351342835_0.7794758836284581","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@ably/chat","version":"0.12.0","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@0.12.0","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"},{"name":"mattheworiordan","email":"matthew.oriordan@gmail.com"},{"name":"vlad.velici.ably","email":"vlad.velici@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"bddece63880f9f04b78d342cc3bd0a7e634968ba","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-0.12.0.tgz","fileCount":226,"integrity":"sha512-68xqvzxXmN6LQQs/htjm+jWXQnSf2JQjuS/n8kSh++lNd5TAjzu2U4lQZa6XsBv6G4B1WNo6b7JYoDRzeXviLg==","signatures":[{"sig":"MEQCIHg0I4UOeEN7doc6z+csYMBR3K/sRPZYDOVB63jMK3e+AiA2tV7HSgA9XRFfQW3ghAv+9yaukFLFKGoQv8hDBfq7xw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2804158},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"3b2b9a6b94286fcfe330253bb637dd5f869c14fb","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell","test":"vitest run","build":"npm run build:chat && npm run build:core && npm run build:react","cspell":"cspell '{src,test}/**' './*.md'","format":"prettier --list-different --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .; (npm run format > /dev/null)","precommit":"npm run format:check && npm run lint && npm run test:typescript","test:chat":"vitest run --project chat","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)","copilot:from-cursor":"(cd .github && npx tsx ./copilot-from-cursor.ts)","test:no-integration":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\""},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^26.0.0","react":"^19.0.0","cspell":"^9.0.2","eslint":"^9.31.0","vitest":"^3.0.8","aws-sdk":"^2.1692.0","globals":"^16.0.0","typedoc":"^0.28.4","minimist":"^1.2.8","prettier":"^3.5.3","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.8.2","@types/react":"^19.0.10","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.7","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.0","@types/react-dom":"^19.0.4","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.9","@vitest/coverage-v8":"^3.0.8","eslint-plugin-jsdoc":"^52.0.2","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^4.3.4","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^60.0.0","@testing-library/react":"^16.2.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^8.26.1","eslint-plugin-react-hooks":"^5.2.0","typedoc-plugin-no-inherit":"^1.5.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-simple-import-sort":"^12.1.1","eslint-plugin-prefer-arrow-functions":"^3.6.2"},"peerDependencies":{"ably":"^2.9.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.12.0_1757347179325_0.9415446738817097","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@ably/chat","version":"0.13.0","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@0.13.0","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"},{"name":"mattheworiordan","email":"matthew.oriordan@gmail.com"},{"name":"vlad.velici.ably","email":"vlad.velici@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"5b6391fd22b684c3ce896dac3d1b821de14f1de8","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-0.13.0.tgz","fileCount":229,"integrity":"sha512-YbTzSn6H821qP6XkqQZwUe4+3IclHuLn15hXBl+fFnu0bHeh9hT4JQyB7t/nGlv4gvCCQpHIRhkksxqGLWiTBg==","signatures":[{"sig":"MEYCIQC/BvvPSnvCghj2rrCd8khMCAGVlggJ3XjFwvycMXwyxAIhANi363C9Tsu5+nl4nj9ktRfdHXO/hbGtdommm7RmhQyQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2850636},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"f792e2b494d2f94eda4f300d63499ffe8bcbe77a","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell","test":"vitest run","build":"npm run build:chat && npm run build:core && npm run build:react","cspell":"cspell --quiet '{src,test}/**' './*.md'","format":"prettier --list-different --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .; (npm run format > /dev/null)","precommit":"npm run format:check && npm run lint && npm run test:typescript","test:chat":"vitest run --project chat","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)","copilot:from-cursor":"(cd .github && npx tsx ./copilot-from-cursor.ts)","test:no-integration":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\""},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^26.0.0","react":"^19.0.0","cspell":"^9.0.2","eslint":"^9.31.0","vitest":"^3.0.8","aws-sdk":"^2.1692.0","globals":"^16.0.0","typedoc":"^0.28.4","minimist":"^1.2.8","prettier":"^3.5.3","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.8.2","@types/react":"^19.0.10","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.7","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.0","@types/react-dom":"^19.0.4","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.9","@vitest/coverage-v8":"^3.0.8","eslint-plugin-jsdoc":"^55.3.0","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^5.0.2","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.2.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^8.26.1","eslint-plugin-react-hooks":"^5.2.0","typedoc-plugin-no-inherit":"^1.5.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-simple-import-sort":"^12.1.1","eslint-plugin-prefer-arrow-functions":"^3.6.2"},"peerDependencies":{"ably":"^2.9.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.13.0_1758114148847_0.417231504602509","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@ably/chat","version":"0.14.0","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@0.14.0","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"},{"name":"mattheworiordan","email":"matthew.oriordan@gmail.com"},{"name":"vlad.velici.ably","email":"vlad.velici@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"8a7d7be46301977bd2cbd01021f67be8980d0370","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-0.14.0.tgz","fileCount":232,"integrity":"sha512-9QsJdHVcyYDP0cTHXh7towHI9tM+SbmEMMVK10+0y1N1epl6FBSEeBDMn1fH5i73nxbKleUxjBltWiXlQz4InA==","signatures":[{"sig":"MEYCIQDOm1eYnbyKnet2GXg3vvCRD5kIJqu4OxEWbEr9v0n+3wIhAJ/uXIYHk21yLpHbmXIdfZx3yHkqu1Jvr8phhDDCG3yq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2864669},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"93e738bcc2a2d6262f442b333d5727c0037763a1","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell","test":"vitest run","build":"npm run build:chat && npm run build:core && npm run build:react","cspell":"cspell --quiet '{src,test}/**' './*.md'","format":"prettier --list-different --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .; (npm run format > /dev/null)","precommit":"npm run format:check && npm run lint && npm run test:typescript","test:chat":"vitest run --project chat","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)","copilot:from-cursor":"(cd .github && npx tsx ./copilot-from-cursor.ts)","test:no-integration":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\""},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^26.0.0","react":"^19.0.0","cspell":"^9.0.2","eslint":"^9.31.0","vitest":"^3.0.8","aws-sdk":"^2.1692.0","globals":"^16.0.0","typedoc":"^0.28.4","minimist":"^1.2.8","prettier":"^3.5.3","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.8.2","@types/react":"^19.0.10","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.7","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.0","@types/react-dom":"^19.0.4","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.9","@vitest/coverage-v8":"^3.0.8","eslint-plugin-jsdoc":"^55.3.0","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^5.0.2","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.2.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^8.26.1","eslint-plugin-react-hooks":"^5.2.0","typedoc-plugin-no-inherit":"^1.5.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-simple-import-sort":"^12.1.1","eslint-plugin-prefer-arrow-functions":"^3.6.2"},"peerDependencies":{"ably":"^2.13.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.14.0_1759151878652_0.03914951221558738","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"@ably/chat","version":"0.14.1","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@0.14.1","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"},{"name":"mattheworiordan","email":"matthew.oriordan@gmail.com"},{"name":"vlad.velici.ably","email":"vlad.velici@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"a547e84d5ebb05b8a64765d264a3440cfc2d8ad7","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-0.14.1.tgz","fileCount":232,"integrity":"sha512-hCKTpHMePvJ98vYB/PM/PEa49iP3SYsgJ8KhbVEI/LP+nuWN2BaZui0YPfnLkWXh5eQf1Fb0d5sPhY7/x2kOww==","signatures":[{"sig":"MEYCIQDAZdzTtgsRNDSubDM4reQLeFdl8lE3dYJW4R3OdDYmOgIhAJgqzmxeWR7g65q41FEYvS/GlRfW01f6GfcuLMyH6Bad","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@0.14.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2859150},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"e44435e105f3277fdcb1e765a11406d8b62ca0e6","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell","test":"vitest run","build":"npm run build:chat && npm run build:core && npm run build:react","cspell":"cspell --quiet '{src,test}/**' './*.md'","format":"prettier --list-different --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .; (npm run format > /dev/null)","precommit":"npm run format:check && npm run lint && npm run test:typescript","test:chat":"vitest run --project chat","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)","copilot:from-cursor":"(cd .github && npx tsx ./copilot-from-cursor.ts)","test:no-integration":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\""},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^26.0.0","react":"^19.0.0","cspell":"^9.0.2","eslint":"^9.31.0","vitest":"^3.0.8","aws-sdk":"^2.1692.0","globals":"^16.0.0","typedoc":"^0.28.4","minimist":"^1.2.8","prettier":"^3.5.3","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.8.2","@types/react":"^19.0.10","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.7","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.0","@types/react-dom":"^19.0.4","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.9","@vitest/coverage-v8":"^3.0.8","eslint-plugin-jsdoc":"^55.3.0","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^5.0.2","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.2.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^8.26.1","eslint-plugin-react-hooks":"^5.2.0","typedoc-plugin-no-inherit":"^1.5.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-simple-import-sort":"^12.1.1","eslint-plugin-prefer-arrow-functions":"^3.6.2"},"peerDependencies":{"ably":"^2.13.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.14.1_1759504472054_0.19938679663587333","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@ably/chat","version":"0.15.0","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@0.15.0","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"},{"name":"mattheworiordan","email":"matthew.oriordan@gmail.com"},{"name":"vlad.velici.ably","email":"vlad.velici@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"ec240b8931482aa27a4c46a36382a39634792e7e","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-0.15.0.tgz","fileCount":235,"integrity":"sha512-iimOwma57EBUImjsOunNfAF2btx11UU97N0e6k9SXH+ySpcgAvmI98n2/CU0aS2Yi3UjeJDiaYRfAEDtk11NIg==","signatures":[{"sig":"MEYCIQDJ1XHhCGj12PpdazuLyqj3b9GqiQADxy6IIe5Fi8QvzAIhAMek5EJMY09beLe0gXzDIHjkqSq7+CiA5iBbjxHzs84m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2834144},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"b933e8d884b907ee59f969c4401e48fb97eb17d7","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell && npm run docs:lint","test":"vitest run","build":"npm run build:chat && npm run build:core && npm run build:react","cspell":"cspell --quiet '{src,test}/**' './*.md'","format":"prettier --list-different --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .; (npm run format > /dev/null)","docs:lint":"typedoc --emit none","precommit":"npm run format:check && npm run lint && npm run test:typescript","test:chat":"vitest run --project chat","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)","check:error-codes":"tsx scripts/validate-error-codes.ts","copilot:from-cursor":"(cd .github && npx tsx ./copilot-from-cursor.ts)","test:no-integration":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\""},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^26.0.0","react":"^19.0.0","cspell":"^9.0.2","eslint":"^9.31.0","vitest":"^3.0.8","aws-sdk":"^2.1692.0","globals":"^16.0.0","typedoc":"^0.28.4","minimist":"^1.2.8","prettier":"^3.5.3","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.8.2","@types/react":"^19.0.10","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.7","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.0","@types/react-dom":"^19.0.4","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.9","@vitest/coverage-v8":"^3.0.8","eslint-plugin-jsdoc":"^55.3.0","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^5.0.2","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.2.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^8.26.1","eslint-plugin-react-hooks":"^5.2.0","typedoc-plugin-no-inherit":"^1.5.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-simple-import-sort":"^12.1.1","eslint-plugin-prefer-arrow-functions":"^3.6.2"},"peerDependencies":{"ably":"^2.14.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_0.15.0_1760969947481_0.4119014687300293","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@ably/chat","version":"1.0.0","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@1.0.0","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"},{"name":"mattheworiordan","email":"matthew.oriordan@gmail.com"},{"name":"vlad.velici.ably","email":"vlad.velici@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"46fee649c9908cc90c278b3b973982050e1424ae","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-1.0.0.tgz","fileCount":235,"integrity":"sha512-001+DfhCFWTAD6CAZSltdIR9TMaznWsHOMyDN23vhPoFVGmM1nlXl9uTh3OE695pHfOrTuD/AqGC5J4qWYrrmA==","signatures":[{"sig":"MEUCIQCCFbLE3lckLWh1Syy5pgaQitucbw8lBd2uktwBYX8znwIgXspyJ1dL5/n9lsFNBqExjVvH33Ggxl5YVmPL25RPzgA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2834128},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"4c83d19c3dd6582b12719c56d857da593de0778d","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell && npm run docs:lint","test":"vitest run","build":"npm run build:chat && npm run build:core && npm run build:react","cspell":"cspell --quiet '{src,test}/**' './*.md'","format":"prettier --list-different --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .; (npm run format > /dev/null)","docs:lint":"typedoc --emit none","precommit":"npm run format:check && npm run lint && npm run test:typescript","test:chat":"vitest run --project chat","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)","check:error-codes":"tsx scripts/validate-error-codes.ts","copilot:from-cursor":"(cd .github && npx tsx ./copilot-from-cursor.ts)","test:no-integration":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\""},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.0.0","react":"^19.0.0","cspell":"^9.0.2","eslint":"^9.31.0","vitest":"^3.0.8","aws-sdk":"^2.1692.0","globals":"^16.0.0","typedoc":"^0.28.4","minimist":"^1.2.8","prettier":"^3.5.3","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.8.2","@types/react":"^19.0.10","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.7","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.0","@types/react-dom":"^19.0.4","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.9","@vitest/coverage-v8":"^3.0.8","eslint-plugin-jsdoc":"^60.7.0","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^5.0.2","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.2.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^8.26.1","eslint-plugin-react-hooks":"^5.2.0","typedoc-plugin-no-inherit":"^1.5.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-simple-import-sort":"^12.1.1","eslint-plugin-prefer-arrow-functions":"^3.6.2"},"peerDependencies":{"ably":"^2.14.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_1.0.0_1761229790893_0.8383446873897129","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@ably/chat","version":"1.1.0","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@1.1.0","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"},{"name":"mattheworiordan","email":"matthew.oriordan@gmail.com"},{"name":"vlad.velici.ably","email":"vlad.velici@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"c78162e6dda753ee5e289b6aea8363b823d113a1","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-1.1.0.tgz","fileCount":235,"integrity":"sha512-3aPMSYdwhUnd7RMITnzByeM08yxD9ho/znX/S01tcDIpVoCf6xmP9RcYZZ3+miU9Mh6+2gbVjS4QC5RNGmYqTQ==","signatures":[{"sig":"MEUCIQC6kGLB3z4LNtsU7rTyETq/SF3Ix34mxffNeEzccNvXAAIgckCi6WiFMzSr9wfKXBg+o76EGec0ruTDpqwIPZUV/lk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2848458},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"135c338037a9d79fd89b1055e373891d61ad7cd5","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell && npm run docs:lint","test":"vitest run","build":"npm run build:chat && npm run build:core && npm run build:react","cspell":"cspell --quiet '{src,test}/**' './*.md'","format":"prettier --list-different --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .; (npm run format > /dev/null)","docs:lint":"typedoc --emit none","precommit":"npm run format:check && npm run lint && npm run test:typescript","test:chat":"vitest run --project chat","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)","check:error-codes":"tsx scripts/validate-error-codes.ts","copilot:from-cursor":"(cd .github && npx tsx ./copilot-from-cursor.ts)","test:no-integration":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\""},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.0.0","react":"^19.0.0","cspell":"^9.0.2","eslint":"^9.31.0","vitest":"^3.0.8","aws-sdk":"^2.1692.0","globals":"^16.0.0","typedoc":"^0.28.4","minimist":"^1.2.8","prettier":"^3.5.3","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.8.2","@types/react":"^19.0.10","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.7","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.0","@types/react-dom":"^19.0.4","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.9","@vitest/coverage-v8":"^3.0.8","eslint-plugin-jsdoc":"^60.7.0","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^5.0.2","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.2.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^8.26.1","eslint-plugin-react-hooks":"^5.2.0","typedoc-plugin-no-inherit":"^1.5.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-simple-import-sort":"^12.1.1","eslint-plugin-prefer-arrow-functions":"^3.6.2"},"peerDependencies":{"ably":"^2.14.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_1.1.0_1761826274209_0.7432302540458753","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@ably/chat","version":"1.1.1","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@1.1.1","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"},{"name":"mattheworiordan","email":"matthew.oriordan@gmail.com"},{"name":"vlad.velici.ably","email":"vlad.velici@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"b0bf5f3affa129186a7718661e80d8540f78d146","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-1.1.1.tgz","fileCount":235,"integrity":"sha512-TmWpGBCp46KfKztC+c+5ofKLZyZ1Iz5uNGhW44ebnSjA2BuVAx+aDXeAQ3qHbh37yusWWAKt6VrvGGSmAJcOKg==","signatures":[{"sig":"MEQCIGdNkXqEriT1HBJ8cuquLlAZbUR6knZjL4KryECfAv7JAiBFEQ3LUmSNuGaoMmymx3Pt9Kr+8Yxd84dmSZapZNVxHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3416017},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"00d3c3573d28ef91a66e8c56577feed7708976ea","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell && npm run docs:lint","test":"vitest run","build":"npm run build:chat && npm run build:core && npm run build:react","cspell":"cspell --quiet '{src,test}/**' './*.md'","format":"prettier --list-different --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .; (npm run format > /dev/null)","docs:lint":"typedoc --emit none","precommit":"npm run format:check && npm run lint && npm run test:typescript","test:chat":"vitest run --project chat","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)","check:error-codes":"tsx scripts/validate-error-codes.ts","copilot:from-cursor":"(cd .github && npx tsx ./copilot-from-cursor.ts)","test:no-integration":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\""},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.0.0","react":"^19.0.0","cspell":"^9.0.2","eslint":"^9.31.0","vitest":"^3.0.8","aws-sdk":"^2.1692.0","globals":"^16.0.0","typedoc":"^0.28.13","minimist":"^1.2.8","prettier":"^3.5.3","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.8.2","@types/react":"^19.0.10","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.7","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.0","@types/react-dom":"^19.0.4","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.9","@vitest/coverage-v8":"^3.0.8","eslint-plugin-jsdoc":"^60.7.0","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^5.0.2","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.2.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","@typescript-eslint/parser":"^8.26.1","eslint-plugin-react-hooks":"^5.2.0","typedoc-plugin-no-inherit":"^1.5.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-simple-import-sort":"^12.1.1","eslint-plugin-prefer-arrow-functions":"^3.6.2"},"peerDependencies":{"ably":"^2.14.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_1.1.1_1763132229664_0.2673840156816458","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@ably/chat","version":"1.2.0","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@1.2.0","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"lawrence.forooghian.ably","email":"lawrence.forooghian@ably.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"},{"name":"mattheworiordan","email":"matthew.oriordan@gmail.com"},{"name":"vlad.velici.ably","email":"vlad.velici@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"1f19294bdc579117226d70e684d4d7001d51b3a0","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-1.2.0.tgz","fileCount":235,"integrity":"sha512-0Zp4w5LpsgBMrRlvWkluuf10OTpFCXv/PFQRbDipyANV/i6OMYVQ+MEdGCPV+CudYn27NW0xRBtQHyIaALNYUg==","signatures":[{"sig":"MEYCIQCcVSm878KCK0ZVsRwjH5t29QMTvB3U7QbuEqDMN66C7QIhALR/sdhfzbPDhAUHERkBi2hlOL6KrexpClAtycTWDCi1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3472042},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"c788d8a1bb84bb54ce833a0b31eda0f5af6616bd","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell && npm run docs:lint","test":"vitest run","build":"npm run build:chat && npm run build:core && npm run build:react","cspell":"cspell --quiet '{src,test}/**' './*.md'","format":"prettier --list-different --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .; (npm run format > /dev/null)","docs:lint":"typedoc --emit none","precommit":"npm run format:check && npm run lint && npm run test:typescript","test:chat":"vitest run --project chat","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)","check:error-codes":"tsx scripts/validate-error-codes.ts","test:no-integration":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\""},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.0.0","react":"^19.0.0","cspell":"^9.0.2","eslint":"^9.31.0","vitest":"^3.0.8","aws-sdk":"^2.1692.0","globals":"^16.0.0","typedoc":"^0.28.13","minimist":"^1.2.8","prettier":"^3.5.3","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.8.2","@types/react":"^19.0.10","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.7","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.0","@types/react-dom":"^19.0.4","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.9","@vitest/coverage-v8":"^3.0.8","eslint-plugin-jsdoc":"^60.7.0","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^5.0.2","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.2.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","baseline-browser-mapping":"^2.9.19","@typescript-eslint/parser":"^8.26.1","eslint-plugin-react-hooks":"^5.2.0","typedoc-plugin-no-inherit":"^1.5.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-simple-import-sort":"^12.1.1","eslint-plugin-prefer-arrow-functions":"^3.6.2"},"peerDependencies":{"ably":"^2.14.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_1.2.0_1771955692207_0.7836900975850005","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@ably/chat","version":"1.3.0","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@1.3.0","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"hingasellu","email":"hingasellu@gmail.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"lawrence.forooghian.ably","email":"lawrence.forooghian@ably.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"},{"name":"mattheworiordan","email":"matthew.oriordan@gmail.com"},{"name":"vlad.velici.ably","email":"vlad.velici@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"a7bbcdf98c21a60309927785f90748ac5a8af67b","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-1.3.0.tgz","fileCount":235,"integrity":"sha512-i1htQGIXRscmLJrsra7rxl5OPxi/jZkrpf4m8lj7B0rMJXgmC2oFmX5mSpZVLn8E/KndYBzHsQ3q0G6JjaV2GQ==","signatures":[{"sig":"MEQCIHtAPQ0fjJOzZb++qmqWoYlMkU/bVwLr8EZjDC08ASdiAiB2++s/aEJceUuvaYBj/NWJLmblFefMtIQpX/t4DC/Mzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3473192},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"023487119317d801d96672aba45705e205a7dffc","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell && npm run docs:lint","test":"vitest run","build":"npm run build:chat && npm run build:core && npm run build:react","cspell":"cspell --quiet '{src,test}/**' './*.md'","format":"prettier --list-different --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .; (npm run format > /dev/null)","docs:lint":"typedoc --emit none","precommit":"npm run format:check && npm run lint && npm run test:typescript","test:chat":"vitest run --project chat","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)","check:error-codes":"tsx scripts/validate-error-codes.ts","test:no-integration":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\""},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.0.0","react":"^19.0.0","cspell":"^9.0.2","eslint":"^9.31.0","vitest":"^3.0.8","aws-sdk":"^2.1692.0","globals":"^16.0.0","typedoc":"^0.28.13","minimist":"^1.2.8","prettier":"^3.5.3","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.8.2","@types/react":"^19.0.10","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.7","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.0","@types/react-dom":"^19.0.4","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.9","@vitest/coverage-v8":"^3.0.8","eslint-plugin-jsdoc":"^60.7.0","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^5.0.2","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.2.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","baseline-browser-mapping":"^2.9.19","@typescript-eslint/parser":"^8.26.1","eslint-plugin-react-hooks":"^5.2.0","typedoc-plugin-no-inherit":"^1.5.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-simple-import-sort":"^12.1.1","eslint-plugin-prefer-arrow-functions":"^3.6.2"},"peerDependencies":{"ably":"^2.19.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_1.3.0_1772565542579_0.8245010976774096","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@ably/chat","version":"1.3.1","keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","_id":"@ably/chat@1.3.1","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"lawrence.forooghian.ably","email":"lawrence.forooghian@ably.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"},{"name":"mattheworiordan","email":"matthew.oriordan@gmail.com"},{"name":"vlad.velici.ably","email":"vlad.velici@ably.com"}],"homepage":"https://github.com/ably/ably-chat-js#readme","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"dist":{"shasum":"b27ea6d8d236e62f98668d31f7424c17a52b986a","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-1.3.1.tgz","fileCount":235,"integrity":"sha512-dbhsIz9g2cDzAWv7TvTpEZlKD+xGh+SedZw74QwhmaNjZA/ieB4401ScN/poWLAaGahkXzB2hP2DzeSl4qkDOA==","signatures":[{"sig":"MEQCIBCtaRd8wEhJO7iTaKXt1FlcZFtcTaKt8a7f80zMsm9oAiAIpgP/RM7kv38sVO9/JrJFpl7I41h0rCsLjf82eDcm0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3473883},"main":"dist/chat/ably-chat.umd.cjs","type":"module","types":"dist/chat/index.d.ts","browser":"dist/chat/ably-chat.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/chat/index.d.ts","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs","react-native":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs","react-native":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"gitHead":"da26a2628bd2a4bc11348f553a78e87ecdfd8a1f","scripts":{"docs":"typedoc","lint":"eslint . && npm run cspell && npm run docs:lint","test":"vitest run","build":"npm run build:chat && npm run build:core && npm run build:react","cspell":"cspell --quiet '{src,test}/**' './*.md'","format":"prettier --list-different --write src test __mocks__ demo/src","prepare":"npm run build","lint:fix":"eslint --fix .; (npm run format > /dev/null)","docs:lint":"typedoc --emit none","precommit":"npm run format:check && npm run lint && npm run test:typescript","test:chat":"vitest run --project chat","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","test:react":"vitest run --project react-hooks","test:watch":"vitest watch","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","demo:reload":"npm run build && cd demo && npm i file:../","format:check":"prettier --check src test __mocks__ demo/src","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:typescript":"tsc","build:start-demo":"npm run build && (cd demo && npm start)","check:error-codes":"tsx scripts/validate-error-codes.ts","test:no-integration":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\""},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"repository":{"url":"git+https://github.com/ably/ably-chat-js.git","type":"git"},"_npmVersion":"10.2.3","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","directories":{},"_nodeVersion":"20.10.0","browserslist":["defaults","not op_mini all"],"dependencies":{"dequal":"^2.0.3","async-mutex":"^0.5.0","lodash.clonedeep":"^4.5.0"},"react-native":"dist/chat/ably-chat.umd.cjs","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","jsdom":"^27.0.0","react":"^19.0.0","cspell":"^9.0.2","eslint":"^9.31.0","vitest":"^3.0.8","aws-sdk":"^2.1692.0","globals":"^16.0.0","typedoc":"^0.28.13","minimist":"^1.2.8","prettier":"^3.5.3","react-dom":"^19.0.0","@eslint/js":"^9.12.0","typescript":"^5.8.2","@types/react":"^19.0.10","jsonwebtoken":"^9.0.2","@eslint/compat":"^1.2.7","vite-plugin-dts":"^4.5.3","@eslint/eslintrc":"^3.3.0","@types/react-dom":"^19.0.4","eslint-plugin-node":"^11.1.0","@types/jsonwebtoken":"^9.0.9","@vitest/coverage-v8":"^3.0.8","eslint-plugin-jsdoc":"^60.7.0","eslint-plugin-react":"^7.37.4","@vitejs/plugin-react":"^5.0.2","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-unicorn":"^61.0.2","@testing-library/react":"^16.2.0","eslint-plugin-security":"^3.0.1","@types/lodash.clonedeep":"^4.5.9","baseline-browser-mapping":"^2.9.19","@typescript-eslint/parser":"^8.26.1","eslint-plugin-react-hooks":"^5.2.0","typedoc-plugin-no-inherit":"^1.5.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-simple-import-sort":"^12.1.1","eslint-plugin-prefer-arrow-functions":"^3.6.2"},"peerDependencies":{"ably":"^2.19.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/chat_1.3.1_1774517325942_0.8268128272235613","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@ably/chat","version":"1.4.0","description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","type":"module","main":"dist/chat/ably-chat.umd.cjs","browser":"dist/chat/ably-chat.js","types":"dist/chat/index.d.ts","react-native":"dist/chat/ably-chat.umd.cjs","exports":{".":{"types":"./dist/chat/index.d.ts","react-native":"./dist/chat/ably-chat.umd.cjs","import":"./dist/chat/ably-chat.js","require":"./dist/chat/ably-chat.umd.cjs"},"./react":{"types":"./dist/react/index.d.ts","react-native":"./dist/react/ably-chat-react.umd.cjs","import":"./dist/react/ably-chat-react.js","require":"./dist/react/ably-chat-react.umd.cjs"},"./package.json":"./package.json"},"scripts":{"check:error-codes":"tsx scripts/validate-error-codes.ts","lint":"eslint . && npm run cspell && npm run docs:lint","lint:fix":"eslint --fix .; (npm run format > /dev/null)","format":"prettier --list-different --write src test __mocks__ demo/src","format:check":"prettier --check src test __mocks__ demo/src","test":"vitest run","test:chat":"vitest run --project chat","test:react":"vitest run --project react-hooks","test:unit":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","test:chat-unit":"vitest run --project chat --exclude \"test/**/*.integration.test.ts?(x)\"","test:react-unit":"vitest run --project react-hooks --exclude \"test/**/*.integration.test.ts?(x)\"","test:watch":"vitest watch","build":"npm run build:chat && npm run build:core && npm run build:react","build:chat":"vite build --config ./src/vite.config.ts --emptyOutDir","build:core":"vite build --config ./src/core/vite.config.ts --emptyOutDir","build:react":"vite build --config ./src/react/vite.config.ts --emptyOutDir","build:start-demo":"npm run build && (cd demo && npm start)","prepare":"npm run build","test:typescript":"tsc","demo:reload":"npm run build && cd demo && npm i file:../","docs":"typedoc","docs:lint":"typedoc --emit none","modulereport":"tsc --noEmit --esModuleInterop scripts/moduleReport.ts && esr scripts/moduleReport.ts","cspell":"cspell --quiet '{src,test}/**' './*.md'","test:no-integration":"vitest run --exclude \"test/**/*.integration.test.ts?(x)\"","precommit":"npm run format:check && npm run lint && npm run test:typescript"},"repository":{"type":"git","url":"git+https://github.com/ably/ably-chat-js.git"},"keywords":["chat","ably","ably-realtime","websockets"],"author":{"name":"Ably Realtime"},"license":"Apache-2.0","bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"homepage":"https://github.com/ably/ably-chat-js#readme","engines":{"node":">=20.0.0"},"peerDependencies":{"ably":"^2.19.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"devDependencies":{"@eslint/compat":"^1.2.7","@eslint/eslintrc":"^3.3.0","@eslint/js":"^9.12.0","@testing-library/react":"^16.2.0","@types/jsonwebtoken":"^9.0.9","@types/lodash.clonedeep":"^4.5.9","@types/react":"^19.0.10","@types/react-dom":"^19.0.4","@typescript-eslint/eslint-plugin":"^8.26.1","@typescript-eslint/parser":"^8.26.1","@vitejs/plugin-react":"^5.0.2","@vitest/coverage-v8":"^3.0.8","aws-sdk":"^2.1692.0","baseline-browser-mapping":"^2.9.19","cspell":"^9.0.2","eslint":"^9.31.0","eslint-plugin-compat":"^6.0.2","eslint-plugin-import":"^2.31.0","eslint-plugin-jsdoc":"^60.7.0","eslint-plugin-node":"^11.1.0","eslint-plugin-prefer-arrow-functions":"^3.6.2","eslint-plugin-react":"^7.37.4","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.19","eslint-plugin-security":"^3.0.1","eslint-plugin-simple-import-sort":"^12.1.1","eslint-plugin-unicorn":"^61.0.2","globals":"^16.0.0","jsdom":"^27.0.0","jsonwebtoken":"^9.0.2","minimist":"^1.2.8","prettier":"^3.5.3","react":"^19.0.0","react-dom":"^19.0.0","typedoc":"^0.28.13","typedoc-plugin-no-inherit":"^1.5.0","typescript":"^5.8.2","vite":"^7.0.0","vite-plugin-dts":"^4.5.3","vitest":"^3.0.8"},"dependencies":{"async-mutex":"^0.5.0","dequal":"^2.0.3","lodash.clonedeep":"^4.5.0"},"optionalDependencies":{"@rollup/rollup-darwin-arm64":"^4.18","@rollup/rollup-linux-x64-gnu":"^4.18"},"browserslist":["defaults","not op_mini all"],"_id":"@ably/chat@1.4.0","gitHead":"1c9b0686dbb2a6625b166f153c43d0d31c247777","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-KJJb0/R0cwkmXYjZlpODYYKtFpWXShF/deRJfYGyiegd+O3HSTvfSNK3A3PNV5QumCJSJxP4NBt3hprnb6MYSA==","shasum":"c715f248fc01da307928955ff2bf8fd74e6a69d4","tarball":"https://registry.npmjs.org/@ably/chat/-/chat-1.4.0.tgz","fileCount":235,"unpackedSize":3505598,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ably%2fchat@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDZRi/RSwM111XMXJ1pE2N0rngtISwjXI3M7ZnYolvmqwIgFsOeLcFkmE7+L3n2lRWqhNCZdyakD6e9nxdSm20pJSQ="}]},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"directories":{},"maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"lawrence.forooghian.ably","email":"lawrence.forooghian@ably.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"},{"name":"mattheworiordan","email":"matthew.oriordan@gmail.com"},{"name":"vlad.velici.ably","email":"vlad.velici@ably.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/chat_1.4.0_1780303871437_0.1930376090414201"},"_hasShrinkwrap":false}},"time":{"created":"2024-07-10T14:07:07.879Z","modified":"2026-06-01T08:51:12.050Z","0.1.0":"2024-07-10T14:07:08.218Z","0.2.0":"2024-09-09T08:13:59.740Z","0.2.1":"2024-09-18T15:18:19.861Z","0.3.0":"2025-01-06T16:23:26.617Z","0.3.1":"2025-01-14T20:15:44.404Z","0.4.0":"2025-01-20T12:22:32.952Z","0.5.0":"2025-03-14T15:09:45.850Z","0.5.1":"2025-03-17T12:13:17.437Z","0.6.0":"2025-04-17T15:51:09.451Z","0.7.0":"2025-05-15T09:58:23.473Z","0.8.0":"2025-06-05T10:00:18.852Z","0.9.0":"2025-07-01T09:28:12.491Z","0.10.0":"2025-07-09T09:39:08.940Z","0.11.0":"2025-07-24T10:02:23.079Z","0.12.0":"2025-09-08T15:59:39.545Z","0.13.0":"2025-09-17T13:02:29.051Z","0.14.0":"2025-09-29T13:17:58.888Z","0.14.1":"2025-10-03T15:14:32.272Z","0.15.0":"2025-10-20T14:19:07.706Z","1.0.0":"2025-10-23T14:29:51.111Z","1.1.0":"2025-10-30T12:11:14.496Z","1.1.1":"2025-11-14T14:57:09.934Z","1.2.0":"2026-02-24T17:54:52.435Z","1.3.0":"2026-03-03T19:19:02.774Z","1.3.1":"2026-03-26T09:28:46.114Z","1.4.0":"2026-06-01T08:51:11.597Z"},"bugs":{"url":"https://github.com/ably/ably-chat-js/issues"},"author":{"name":"Ably Realtime"},"license":"Apache-2.0","homepage":"https://github.com/ably/ably-chat-js#readme","keywords":["chat","ably","ably-realtime","websockets"],"repository":{"type":"git","url":"git+https://github.com/ably/ably-chat-js.git"},"description":"Ably Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, cust","maintainers":[{"name":"mschristensen","email":"mike@christensen.codes"},{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"simonw_ably","email":"simon.woolf@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"ttypic","email":"khokhlov.e.n@gmail.com"},{"name":"lawrence.forooghian.ably","email":"lawrence.forooghian@ably.com"},{"name":"andrii.bulat.ably","email":"andrii.bulat@ably.com"},{"name":"andytwf","email":"andyford993@gmail.com"},{"name":"splind06","email":"steven.lindsay@ably.com"},{"name":"zariel-ably","email":"chris.bannister@ably.com"},{"name":"mattheworiordan","email":"matthew.oriordan@gmail.com"},{"name":"vlad.velici.ably","email":"vlad.velici@ably.com"}],"readme":"\n![Ably Chat Header](images/JavaScriptChatSDK-github.png)\n[![npm version](https://img.shields.io/npm/v/@ably/chat.svg?style=flat)](https://www.npmjs.com/package/@ably/chat)\n[![License](https://img.shields.io/github/license/ably/ably-chat-js.svg)](https://github.com/ably/ably-chat-js/blob/main/LICENSE)\n\n\n# Ably Chat JavaScript, TypeScript and React SDK\n\nAbly Chat is a set of purpose-built APIs for a host of chat features enabling you to create 1:1, 1:Many, Many:1 and Many:Many chat rooms for any scale. It is designed to meet a wide range of chat use cases, such as livestreams, in-game communication, customer support, or social interactions in SaaS products. Built on [Ably's](https://ably.com/) core service, it abstracts complex details to enable efficient chat architectures.\n\n---\n\n## Getting started\n\nEverything you need to get started with Ably:\n\n* [About Ably Chat.](https://ably.com/docs/chat)\n* [Getting started with Ably Chat in JavaScript.](https://ably.com/docs/chat/getting-started/javascript)\n* [Getting started with Ably Chat in React.](https://ably.com/docs/chat/getting-started/react)\n* [Getting started with Ably Chat React UI kit.](https://ably.com/docs/chat/getting-started/react-ui-kit)\n* [SDK and usage docs in JavaScript.](https://ably.com/docs/chat/setup?lang=javascript)\n* [SDK and usage docs in React.](https://ably.com/docs/chat/setup?lang=react)\n* [SDK and usage docs for React UI kit.](https://ably.com/docs/chat/react-ui-kit/setup)\n* [API documentation (JavaScript).](https://sdk.ably.com/builds/ably/ably-chat-js/main/typedoc/modules/chat-js.html)\n* [API documentation (React Hooks).](https://sdk.ably.com/builds/ably/ably-chat-js/main/typedoc/modules/chat-react.html)\n* [API documentation (React UI kit).](https://sdk.ably.com/builds/ably/ably-chat-react-ui-kit/main/storybook/)\n* [Chat Example App.](https://github.com/ably/ably-chat-js/tree/main/demo)\n* [Chat Example App using Ably Chat React UI kit.](https://github.com/ably/ably-chat-react-ui-kit/tree/main/examples/group-chat)\n* Play with the [livestream chat demo.](https://ably-livestream-chat-demo.vercel.app/)\n\n---\n\n## Supported platforms\n\nAbly aims to support a wide range of platforms. If you experience any compatibility issues, open an issue in the repository or contact [Ably support](https://ably.com/support).\n\nThis SDK supports the following platforms:\n\n| Platform     | Support |\n|--------------|---------|\n| Browsers     | All major desktop and mobile browsers, including Chrome, Firefox, Edge, Safari (iOS/macOS), Opera, and Android. Internet Explorer is not supported. |\n| Node.js      | Version 20 or newer. |\n| TypeScript   | Fully supported, the library is written in TypeScript. |\n| React        | Includes providers and hooks for deep integration with the React ecosystem. |\n| React Native | All React Native platforms. Issues can be reported or support requested. |\n| Android      | Supported via the [Ably Chat Kotlin SDK.](https://github.com/ably/ably-chat-kotlin) |\n| iOS          | Supported via the [Ably Chat Swift SDK.](https://github.com/ably/ably-chat-swift) |\n\n---\n\n## Installation\n\nThe Chat SDK is built on top of the Ably Pub/Sub SDK and uses that to establish a connection with Ably.\n\n### JavaScript/React\n\nInstall the Pub/Sub SDK and the Chat SDK:\n\n```sh\nnpm install ably @ably/chat\n```\n\n---\n\n## Usage\n\n### JavaScript / TypeScript\n\nThe following code connects to Ably's chat service, subscribes to a chat room, and sends a message to that room:\n\n```typescript\nimport * as Ably from 'ably';\nimport { ChatClient, RoomStatus, RoomStatusChange } from '@ably/chat';\n\n// Initialize Ably Realtime client\n// Note: For client-side applications, token authentication is recommended.\n// See: https://ably.com/docs/auth\nconst realtimeClient = new Ably.Realtime({\n  key: '<your-ably-api-key>',\n  clientId: 'your-client-id',\n});\n\n// Create a chat client\nconst chatClient = new ChatClient(realtimeClient);\n\n// Get a chat room\nconst room = await chatClient.rooms.get('my-room');\n\n// Monitor room status\nroom.onStatusChange((statusChange: RoomStatusChange) => {\n  switch (statusChange.current) {\n    case RoomStatus.Attached:\n      console.log('Room is attached');\n      break;\n    case RoomStatus.Detached:\n      console.log('Room is detached');\n      break;\n    case RoomStatus.Failed:\n      console.log('Room failed:', statusChange.error);\n      break;\n    default:\n      console.log('Room status:', statusChange.current);\n  }\n});\n\n// Subscribe to messages\nconst subscription = room.messages.subscribe((event) => {\n  console.log('Received message:', event.message.text);\n});\n\n// Attach to the room\nawait room.attach();\n\n// Send a message\nawait room.messages.send({ text: 'Hello, World!' });\n```\n\n### React\n\nFor React applications, the SDK provides hooks and providers for seamless integration:\n\n```tsx\nimport * as Ably from 'ably';\nimport { ChatClient } from '@ably/chat';\nimport { ChatClientProvider, ChatRoomProvider, useMessages } from '@ably/chat/react';\n\n// Initialize clients\n// Note: For client-side applications, token authentication is recommended.\n// See: https://ably.com/docs/auth\nconst realtimeClient = new Ably.Realtime({\n  key: '<your-ably-api-key>',\n  clientId: 'your-client-id',\n});\nconst chatClient = new ChatClient(realtimeClient);\n\n// Wrap your app with providers\nfunction App() {\n  return (\n    <ChatClientProvider client={chatClient}>\n      <ChatRoomProvider name=\"my-room\">\n        <ChatComponent />\n      </ChatRoomProvider>\n    </ChatClientProvider>\n  );\n}\n\n// Use hooks to interact with chat\nfunction ChatComponent() {\n  const { sendMessage } = useMessages({\n    listener: (event) => {\n      console.log('Received message:', event.message.text);\n    },\n  });\n\n  const handleSend = async () => {\n    await sendMessage({ text: 'Hello, World!' });\n  };\n\n  return <button onClick={handleSend}>Send Message</button>;\n}\n```\n\n---\n\n## Releases\n\nThe [CHANGELOG.md](/ably/ably-chat-js/blob/main/CHANGELOG.md) contains details of the latest releases for this SDK. You can also view all Ably releases on [changelog.ably.com](https://changelog.ably.com).\n\n---\n\n## Contribute\n\nRead the [CONTRIBUTING.md](./CONTRIBUTING.md) guidelines to contribute to Ably or [Share feedback or request](https://forms.gle/mBw9M53NYuCBLFpMA) a new feature.\n\n---\n\n## Support, feedback, and troubleshooting\n\nFor help or technical support, visit Ably's [support page](https://ably.com/support). You can also view the [community reported Github issues](https://github.com/ably/ably-chat-js/issues) or raise one yourself.\n","readmeFilename":"README.md"}