{"_id":"@ably-labs/spaces","_rev":"16-3fa47b6e8db6929b446cc432f35a3a56","name":"@ably-labs/spaces","dist-tags":{"latest":"0.0.13"},"versions":{"0.0.1":{"name":"@ably-labs/spaces","version":"0.0.1","keywords":[],"author":"","license":"ISC","_id":"@ably-labs/spaces@0.0.1","maintainers":[{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"lmars","email":"lewis@lmars.net"},{"name":"ably-labs-user","email":"devrel@ably.com"}],"homepage":"https://github.com/ably-labs/spaces","dist":{"shasum":"405dbb4f8d8e5dc7d0e7d703f666fc13decc6e9a","tarball":"https://registry.npmjs.org/@ably-labs/spaces/-/spaces-0.0.1.tgz","fileCount":72,"integrity":"sha512-rLAmFwXquWAhW0zA9ocX0Nv5mdX0s3b2klHJb0vVB+g8Fsk63NAHrswQBbMXJi6bTdW+7ts6q/WZKH88I42O+Q==","signatures":[{"sig":"MEUCIA21S/FMTiawWpQOC8wZdeNyx9HVHiyhorG6NRMuIXRUAiEAjokha6K3aB0X/99/10b7ZZjswuxosZbwglxX3mIPheg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":292569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkDwOmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmooOhAAhc6TOYBLa6EMt8RwktpHmgFGPjXgAV5f6bnKIukraV+t6moH\r\nH91hNy0ToJJWm4NJL6bmtbijcCva1Y9q5WraeGZze87WjyWWXODtB2E3yN/Y\r\nBxzn2M8CmtTULgrF6ba9pp0MkZ3q68YybZKZxRYLGISdUvz1fxddmayye4OX\r\naE8/nwi7RPNE+e5ooNQLjXb+yM0cQBKfTTpxlTeTKmSFFyrAaTQPBxBaZc4+\r\nx6DzU+Ify4GWtlHD6njxzBApodgZyGEsTqEvM15sh2lpxyOh3IlIph4x4If2\r\nrxaPpJtbDgpSvSkU78ie/oQ50ZJsAA1fRBUyoNbACapULqgk6vugV3AFaOBk\r\njEwrmxYY5B1sVgUb7bWIe2uQsu8plKRyTLyci8FENqZvzmxjH3Lt/mNnAEYN\r\nF22ARIqLFJ8yIxgwGS8IVYCx8He3VMqv9gd+HBtNhexhoO2zD3AQozso2O9k\r\n8Xwti0uCje+k2vR6GvLf8ZFJc/fmDGHmo/rbuiLOZhIafwykXSBtEVxIERLs\r\n8ovjYp3/+z8lgDW+0Oqrd/ybb9D09uts35tgVJaNNYkMrXM+rOS/KOjicMBI\r\n72T6rwetlDQBw3U1UbMe5dkZZqlkogd+dzYyD2r5ifwgFezuHS463/nPBEJY\r\ngW38ZYo8iTybpeFuPQawGHLvmoAe+lJcCFw=\r\n=IjeN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/mjs/index.d.ts","module":"dist/mjs/index.js","exports":{"import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"1457cbd311647d4205ba10d296ef046d775d6851","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:cjs && npm run build:mjs","format":"prettier --write --ignore-path .gitignore src","coverage":"vitest run --coverage","lint:fix":"eslint --fix .","build:cjs":"tsc --project tsconfig.cjs.json && cp res/package.cjs.json dist/cjs/package.json","build:mjs":"tsc --project tsconfig.mjs.json && cp res/package.mjs.json dist/mjs/package.json","format:check":"prettier --check --ignore-path .gitignore src"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"deprecated":"The Spaces library is advancing into beta and has moved to @ably/spaces. @ably-labs/spaces is now deprecated. If you have any questions, reach out on beta@ably.com","repository":{"url":"git+https://github.com/ably-labs/spaces.git","type":"git"},"_npmVersion":"8.19.3","description":"[Ably](https://ably.com/) is the platform that powers realtime experiences at scale, including live chat, data broadcast, notifications, audience engagement and collaboration.","directories":{},"_nodeVersion":"18.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.33.0","vitest":"^0.28.4","prettier":"^2.8.3","typescript":"^4.9.5","mock-socket":"^9.1.5","@vitest/coverage-c8":"^0.28.4","eslint-plugin-jsdoc":"^39.8.0","eslint-plugin-security":"^1.7.1","@typescript-eslint/parser":"^5.51.0","@typescript-eslint/eslint-plugin":"^5.51.0"},"peerDependencies":{"ably":"^1.2.35"},"_npmOperationalInternal":{"tmp":"tmp/spaces_0.0.1_1678705574199_0.6109665837204361","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@ably-labs/spaces","version":"0.0.2","keywords":[],"author":"","license":"ISC","_id":"@ably-labs/spaces@0.0.2","maintainers":[{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"lmars","email":"lewis@lmars.net"},{"name":"ably-labs-user","email":"devrel@ably.com"}],"homepage":"https://github.com/ably-labs/spaces","dist":{"shasum":"7f65813d506beaa3222a4b8d6c648e14c93f861d","tarball":"https://registry.npmjs.org/@ably-labs/spaces/-/spaces-0.0.2.tgz","fileCount":33,"integrity":"sha512-WEI2sw1YriYYWIN2IFJkacI0RsImy+1XSDcom4aRCvqd06Vtxg5wljCYSUJuUVyRbUci8URVOUVpVxn3y8vN9w==","signatures":[{"sig":"MEQCIDW35Mk48QFEM/+GQT7+lxojySR3tg90JxnMYUHCr279AiBJRUglb0eBuh+2EjwGqVWXmv1KURDyryBA3p2LvwpDFw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61070,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEdL4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqGxw/7B2CVOHwi21sqA+ZOuUFWIbguujZGF2avP7W2sbEhdWFfuaiR\r\nzC4T022agJZyjWlIRzq/Cge2RDz8a/d2PyXBj7gC4ASIkNT82XmQdOTGveaV\r\n+fo11c/EwwqJuOYVsO1b59b2SU/IBw/bZ6FAojddzxUw2sOeHQH3QeTHA3O+\r\nRif7sZdrlXDzKALrKvjzlFt5D5/3hOJJyIAyaamIPuxDrcXIUhCKtRbkxkTp\r\nkYh+Wb2InHeoUF7Cx8/ApapmMi9HmrpkUxqoTxJaafU4aylKITkTEFMQizFD\r\nlJHAOQ1XGht3xMy8NycXqp4FyfcO8EJFYpmW++HTsNDWOb5v2mZmIKM5as7q\r\nDQmY0gw/hG16vKpbVM6rzJhUlkSslaN2HdW17aCCdbgEKSK2AXDMOUclvK16\r\nHB3WaJ7qDIT0DbdocIr2DLWRgccneDfOPR9sMR1uF3+HZ/7vqmvFRRrtb+0B\r\n06N9/NOwjN1/HbN/RO5n6OjDgmuZA2L9N1ZMFMmxWCpB9MSlfrjFzoCOaRzk\r\n04F8T1kfD4GiBZznou5Vdj6Hr07ejzIgewNsUZoUu0ChXwFFi0AcyD1G3zxo\r\nGMVDhsne9jexhHvig9vuCpW+qXApP3OlGWtDpiXobYr21UDZKpaHjsGIaxgh\r\nk5Okx3hropjySybqPdMgdwuyOjOQojBVoAU=\r\n=qH9y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/mjs/index.d.ts","module":"dist/mjs/index.js","exports":{"import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"3636e84e6227a15e38218bb4b616790daaf49ecd","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:cjs && npm run build:mjs","format":"prettier --write --ignore-path .gitignore src","coverage":"vitest run --coverage","lint:fix":"eslint --fix .","build:cjs":"tsc --project tsconfig.cjs.json && cp res/package.cjs.json dist/cjs/package.json","build:mjs":"tsc --project tsconfig.mjs.json && cp res/package.mjs.json dist/mjs/package.json","format:check":"prettier --check --ignore-path .gitignore src"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"deprecated":"The Spaces library is advancing into beta and has moved to @ably/spaces. @ably-labs/spaces is now deprecated. If you have any questions, reach out on beta@ably.com","repository":{"url":"git+https://github.com/ably-labs/spaces.git","type":"git"},"_npmVersion":"8.19.3","description":"![development-status](https://badgen.net/badge/development-status/alpha/yellow?icon=github)","directories":{},"_nodeVersion":"18.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.33.0","vitest":"^0.28.4","prettier":"^2.8.3","typescript":"^4.9.5","mock-socket":"^9.1.5","@vitest/coverage-c8":"^0.28.4","eslint-plugin-jsdoc":"^39.8.0","eslint-plugin-security":"^1.7.1","@typescript-eslint/parser":"^5.51.0","@typescript-eslint/eslint-plugin":"^5.51.0"},"peerDependencies":{"ably":"^1.2.35"},"_npmOperationalInternal":{"tmp":"tmp/spaces_0.0.2_1678889719953_0.7655148186053944","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@ably-labs/spaces","version":"0.0.3","keywords":[],"author":"","license":"ISC","_id":"@ably-labs/spaces@0.0.3","maintainers":[{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"lmars","email":"lewis@lmars.net"},{"name":"ably-labs-user","email":"devrel@ably.com"}],"homepage":"https://github.com/ably-labs/spaces","dist":{"shasum":"76208ddad9f6f8369f632e788ef48e4ab1c22667","tarball":"https://registry.npmjs.org/@ably-labs/spaces/-/spaces-0.0.3.tgz","fileCount":62,"integrity":"sha512-Hg8BMCxVPg+T/Qgz2HkEnHk2GrioZDISSPE6M0UYB4qUDh1teBccqo2WzX2MqeSyxDhE0wYyRoHwUwGZU98XBQ==","signatures":[{"sig":"MEQCIDzL5dL7WE2EP/qnHh94AzdZKDkhxWNGw5SmGEj+JFV9AiADlAp6+1/7gmNqUaLiuycf/uWVUD3yQVwM34YT6pPLTA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":136948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPrGSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqs/g//bizVDnJKVj8woAGybX6/cqyvekPUSScCQneA0Uhmsa2WuaXh\r\n8+xPXGsVQEBRUb6UgXcf4jaYbfdkuDEkS6X2ykV0394BPgpbc7r1Z7E7tJx0\r\nnecCI5WcgZHQi2GBXnDDyA111Dq7NoYuGQNh01JDgpAB39yo4P+TEMbvUDxB\r\nIINj7V8LTHCXda+0vX2LT2ZCgVMMiixHkeAVG0Qalkq8viCdMpJKY5Ecugz7\r\nAyg+i0zmkii3oT0+t0IxsobSM9gtD0Kv04Ue9sxRS1oGdTiu1KDn4YmDLvHO\r\n7wIFCPWyriTu2l6h3hmKqGDZE/cQt3sbQk1rcyG5FJHgyqj+2ZHu9kGUVa1S\r\nh0qflLoY7vY6gkxMJKsi0xE8VLwNA7uXV9hfqzTVbRGLhwE4p3/RQSJehrXA\r\n/N0x/tAvVIZ48g2aupjxfjPXgyqvAg+SyK7+vtvPNeibvo64Q8RdnaF586Pv\r\nFR5XLtf6OcHobHbSqpvy3o66RF+o7WQSwH/AfGNB5ttmHf3eqY13ofHqF0J2\r\n1Of1IkwvOj9lx8PDHmgyGCOPka3j7ZfifFPXdVcCRedHJX6+io88rjgiIMiT\r\nJn4k4thcMoZlz7b84qVNHoQxKtBH3hqHXm7efJw1l66GX6iRDBKKUs6FAN28\r\nDYzbvNjogfOVzQUtvIYCZBIF7F8oii0zSiU=\r\n=p3DS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/mjs/index.d.ts","module":"dist/mjs/index.js","exports":{"import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"813e843f96d144fe530cc9771782fa659e6d5c04","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:cjs && npm run build:mjs","format":"prettier --write --ignore-path .gitignore src demo","prepare":"husky install","coverage":"vitest run --coverage","lint:fix":"eslint --fix .","build:cjs":"tsc --project tsconfig.cjs.json && cp res/package.cjs.json dist/cjs/package.json","build:mjs":"tsc --project tsconfig.mjs.json && cp res/package.mjs.json dist/mjs/package.json","format:check":"prettier --check --ignore-path .gitignore src demo"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"deprecated":"The Spaces library is advancing into beta and has moved to @ably/spaces. @ably-labs/spaces is now deprecated. If you have any questions, reach out on beta@ably.com","repository":{"url":"git+https://github.com/ably-labs/spaces.git","type":"git"},"_npmVersion":"8.19.3","description":"![development-status](https://badgen.net/badge/development-status/alpha/yellow?icon=github)","directories":{},"_nodeVersion":"18.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","eslint":"^8.33.0","vitest":"^0.29.8","prettier":"^2.8.3","typescript":"^4.9.5","mock-socket":"^9.1.5","@vitest/coverage-c8":"^0.28.4","eslint-plugin-jsdoc":"^39.8.0","eslint-plugin-security":"^1.7.1","@typescript-eslint/parser":"^5.51.0","@typescript-eslint/eslint-plugin":"^5.51.0"},"peerDependencies":{"ably":"^1.2.35"},"_npmOperationalInternal":{"tmp":"tmp/spaces_0.0.3_1681830289843_0.7910752819445168","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"@ably-labs/spaces","version":"0.0.4","keywords":[],"author":"","license":"ISC","_id":"@ably-labs/spaces@0.0.4","maintainers":[{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"lmars","email":"lewis@lmars.net"},{"name":"ably-labs-user","email":"devrel@ably.com"}],"homepage":"https://github.com/ably-labs/spaces","dist":{"shasum":"322c67c77b2c1e62ab16340ec52d0bba7465b288","tarball":"https://registry.npmjs.org/@ably-labs/spaces/-/spaces-0.0.4.tgz","fileCount":62,"integrity":"sha512-/+8z/kW8+sXrw1rzz4PjtnxUmavhZSTffQdFHo0ExER9H0KMAPaARW0Y/3/0SXfBxqqXyNGBW7ult8Ds3VSLzw==","signatures":[{"sig":"MEQCIBVSZRuGfVwbdfgRF8OMJwFYqRylmO+X9tm1nEQTs7dAAiBkfG7tPukf9aTItUNoPKaSbh/IImq2AEhGabqHXZxgWg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":136616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkP/peACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpb5w//ZF0sJtQ4ukavMWALXLt0o6eL2pO/HebHRyoQPH6kBSpwKbOT\r\n70mbP7CaDDJ++439bzSMCpFVj03OhOzJ9KA0Ce5YHM7jwcyBpzn6UkIb4x4l\r\nMAjr4yhgo8LsVN+nP5UuFY2ftfElfVpbu291pFwqwOq67VhxweDljel1BANq\r\n7Yt3dcic5MQm0SpL7doxr/1Q5rVCYUPlmOYxEKOiOuP7/0CbyrXzY3ZMoHVs\r\nggmlDcLBN3OLwi8rRUpFGdtoxYDbVjJl/0qLGDyUr1ZBxuZiB45iv5Z9FjYz\r\njTuTt8904oVvNbZfC0ipDtllIbTyb5AC/vT05bjgLZX2vmuzZOnUmOas46xj\r\nOvVGDFdeu+H5w8xrMX3eCAXPPU/gA4Nx8BxoeKcl+tYfXV1nLXXq+rmxaNSe\r\ne77i3pRTZeYBYmDZmuQ12m8KvLmtSRe85Na8IzWjUWgVpEheKadQ2vrZRFsK\r\nCGyc8Dcgu590lSCzf+fBR9/EsFtpb7LO1TxXCoqeQ2R27/gjLSxrJbCndNyB\r\nX59VbgUxZFzUeeRReMnmDtUapHM/nxnjnHPSdjHzTn94yZkinVgaSPNqTCzT\r\nof5+Oa8L6yK9o/rsnPsGEQKbMhFFdyQo6GtZweW4LQJO9Y8I/XJ8tDeBfahA\r\nE8SA3C4T3S8Nxv2AiLIEMqykEC+zYBmWojc=\r\n=j1ov\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/cjs/index.js","types":"dist/mjs/index.d.ts","module":"dist/mjs/index.js","exports":{"import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"826d9a6aa9b74525b3ce64a720a941358fb04478","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:cjs && npm run build:mjs","format":"prettier --write --ignore-path .gitignore src demo","prepare":"husky install","coverage":"vitest run --coverage","lint:fix":"eslint --fix .","build:cjs":"tsc --project tsconfig.cjs.json && cp res/package.cjs.json dist/cjs/package.json","build:mjs":"tsc --project tsconfig.mjs.json && cp res/package.mjs.json dist/mjs/package.json","format:check":"prettier --check --ignore-path .gitignore src demo"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"deprecated":"The Spaces library is advancing into beta and has moved to @ably/spaces. @ably-labs/spaces is now deprecated. If you have any questions, reach out on beta@ably.com","repository":{"url":"git+https://github.com/ably-labs/spaces.git","type":"git"},"_npmVersion":"8.19.3","description":"![development-status](https://badgen.net/badge/development-status/alpha/yellow?icon=github)","directories":{},"_nodeVersion":"18.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","eslint":"^8.33.0","vitest":"^0.29.8","prettier":"^2.8.3","typescript":"^4.9.5","mock-socket":"^9.1.5","@vitest/coverage-c8":"^0.28.4","eslint-plugin-jsdoc":"^39.8.0","eslint-plugin-security":"^1.7.1","@typescript-eslint/parser":"^5.51.0","@typescript-eslint/eslint-plugin":"^5.51.0"},"peerDependencies":{"ably":"^1.2.35"},"_npmOperationalInternal":{"tmp":"tmp/spaces_0.0.4_1681914462608_0.5381754446474147","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"@ably-labs/spaces","version":"0.0.5","keywords":[],"author":"","license":"ISC","_id":"@ably-labs/spaces@0.0.5","maintainers":[{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"lmars","email":"lewis@lmars.net"},{"name":"ably-labs-user","email":"devrel@ably.com"}],"homepage":"https://github.com/ably-labs/spaces","dist":{"shasum":"d15d2652960d842d0e05b7f130ccd31c958af744","tarball":"https://registry.npmjs.org/@ably-labs/spaces/-/spaces-0.0.5.tgz","fileCount":104,"integrity":"sha512-O17xKeomKG0r/krvo9WrDv9xJCsEzaKWHuaeC/04p9eyDzzrUGe7pyeiMZfY8xvklOqdmCtCh+CVMX0KaRHsNA==","signatures":[{"sig":"MEUCIQDZfzwqRFZ1NNqFtTYs1cCzGquNudHvMzRFhffPp3HOeAIgFnwhH5M91tN2CMYW/Fx2qmX003rLsIQTrQa+6GvD5n4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":205936},"main":"dist/cjs/index.js","types":"dist/mjs/index.d.ts","module":"dist/mjs/index.js","exports":{"import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"4a740f418d8ae08c87d072d380d1353b62b8d246","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:cjs && npm run build:mjs","format":"prettier --write --ignore-path .gitignore src demo","prepare":"husky install","coverage":"vitest run --coverage","lint:fix":"eslint --fix .","build:cjs":"tsc --project tsconfig.cjs.json && cp res/package.cjs.json dist/cjs/package.json","build:mjs":"tsc --project tsconfig.mjs.json && cp res/package.mjs.json dist/mjs/package.json","format:check":"prettier --check --ignore-path .gitignore src demo"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"deprecated":"The Spaces library is advancing into beta and has moved to @ably/spaces. @ably-labs/spaces is now deprecated. If you have any questions, reach out on beta@ably.com","repository":{"url":"git+https://github.com/ably-labs/spaces.git","type":"git"},"_npmVersion":"8.19.3","description":"![development-status](https://badgen.net/badge/development-status/alpha/yellow?icon=github)","directories":{},"_nodeVersion":"18.13.0","dependencies":{"ably":"^1.2.39"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","eslint":"^8.33.0","vitest":"^0.29.8","prettier":"^2.8.3","typescript":"^4.9.5","mock-socket":"^9.1.5","@vitest/coverage-c8":"^0.28.4","eslint-plugin-jsdoc":"^39.8.0","eslint-plugin-security":"^1.7.1","@typescript-eslint/parser":"^5.51.0","@typescript-eslint/eslint-plugin":"^5.51.0"},"_npmOperationalInternal":{"tmp":"tmp/spaces_0.0.5_1683898215087_0.6610474256325154","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"@ably-labs/spaces","version":"0.0.6","keywords":[],"author":"","license":"ISC","_id":"@ably-labs/spaces@0.0.6","maintainers":[{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"lmars","email":"lewis@lmars.net"},{"name":"ably-labs-user","email":"devrel@ably.com"}],"homepage":"https://github.com/ably-labs/spaces","dist":{"shasum":"621c7152bfcd7621886dc50121318caa98fdfc98","tarball":"https://registry.npmjs.org/@ably-labs/spaces/-/spaces-0.0.6.tgz","fileCount":106,"integrity":"sha512-3Tfb92H7xcgyxKN2dbbmjqJ5eHweM4kSg16fmWtTA+aBThN66MfZwBz23UkgauaLufnisVXizUtnvi9ZLWwjZg==","signatures":[{"sig":"MEUCIQCYOEkZWwv1j4IW3dOffSuVnOuEVDZVmN9zrkktn1dDRwIgahTBF8VxNHe4UcrqLWOGRwsRepD/4J4Ngy1AK9qtd/Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":227328},"main":"dist/cjs/index.js","types":"dist/mjs/index.d.ts","module":"dist/mjs/index.js","exports":{"import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"ff231145a3423f14355c06cfc3bc0463225feb3e","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:cjs && npm run build:mjs","format":"prettier --write --ignore-path .gitignore src demo","prepare":"husky install","coverage":"vitest run --coverage","lint:fix":"eslint --fix .","build:cjs":"tsc --project tsconfig.cjs.json && cp res/package.cjs.json dist/cjs/package.json","build:mjs":"tsc --project tsconfig.mjs.json && cp res/package.mjs.json dist/mjs/package.json","format:check":"prettier --check --ignore-path .gitignore src demo"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"deprecated":"The Spaces library is advancing into beta and has moved to @ably/spaces. @ably-labs/spaces is now deprecated. If you have any questions, reach out on beta@ably.com","repository":{"url":"git+https://github.com/ably-labs/spaces.git","type":"git"},"_npmVersion":"8.19.3","description":"![development-status](https://badgen.net/badge/development-status/alpha/yellow?icon=github)","directories":{},"_nodeVersion":"18.13.0","dependencies":{"ably":"^1.2.39"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","eslint":"^8.33.0","vitest":"^0.29.8","prettier":"^2.8.3","typescript":"^4.9.5","mock-socket":"^9.1.5","@vitest/coverage-c8":"^0.28.4","eslint-plugin-jsdoc":"^39.8.0","eslint-plugin-security":"^1.7.1","@typescript-eslint/parser":"^5.51.0","@typescript-eslint/eslint-plugin":"^5.51.0"},"_npmOperationalInternal":{"tmp":"tmp/spaces_0.0.6_1686062794479_0.41221713312156494","host":"s3://npm-registry-packages"}},"0.0.7":{"name":"@ably-labs/spaces","version":"0.0.7","keywords":[],"author":"","license":"ISC","_id":"@ably-labs/spaces@0.0.7","maintainers":[{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"lmars","email":"lewis@lmars.net"},{"name":"ably-labs-user","email":"devrel@ably.com"}],"homepage":"https://github.com/ably-labs/spaces","dist":{"shasum":"28b0c12fc1a06a6400972621e09fe6e4f314254a","tarball":"https://registry.npmjs.org/@ably-labs/spaces/-/spaces-0.0.7.tgz","fileCount":148,"integrity":"sha512-/1fjzA8iDa7iXjmXzLZWFixcLxEmSnfd9dOMDciH9mHqSLaGsXdu9w7BC3zG7IyqAHcEaPaM5fbMsse/2sET7g==","signatures":[{"sig":"MEUCIGZqXVFTI+hizMP4v2QPNVZejvO3mizmiC/25F2dilY2AiEAg915NR4paoyKpxneI3wUl/NrFI5z+HE2MWbYHSMMGls=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":973805},"main":"dist/cjs/index.js","types":"dist/mjs/index.d.ts","unpkg":"dist/iife/index.bundle.js","module":"dist/mjs/index.js","exports":{"import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"8fe1384063f8b79f5d48e395d482bcd75a73c15d","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:mjs && npm run build:cjs && npm run build:iife","format":"prettier --write --ignore-path .gitignore src demo","prepare":"husky install","coverage":"vitest run --coverage","lint:fix":"eslint --fix .","build:cjs":"tsc --project tsconfig.cjs.json && cp res/package.cjs.json dist/cjs/package.json","build:mjs":"tsc --project tsconfig.mjs.json && cp res/package.mjs.json dist/mjs/package.json","build:iife":"rm -rf dist/iife && tsc --project tsconfig.iife.json && rollup dist/iife/index.js --file dist/iife/index.bundle.js --format iife --name Spaces -e ably -g ably:Ably","format:check":"prettier --check --ignore-path .gitignore src demo"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"deprecated":"The Spaces library is advancing into beta and has moved to @ably/spaces. @ably-labs/spaces is now deprecated. If you have any questions, reach out on beta@ably.com","repository":{"url":"git+https://github.com/ably-labs/spaces.git","type":"git"},"_npmVersion":"8.19.3","description":"![development-status](https://badgen.net/badge/development-status/alpha/yellow?icon=github)","directories":{},"_nodeVersion":"18.13.0","dependencies":{"ably":"^1.2.39"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","eslint":"^8.33.0","vitest":"^0.29.8","prettier":"^2.8.3","typescript":"^4.9.5","mock-socket":"^9.1.5","@vitest/coverage-c8":"^0.28.4","eslint-plugin-jsdoc":"^39.8.0","eslint-plugin-security":"^1.7.1","@typescript-eslint/parser":"^5.51.0","@typescript-eslint/eslint-plugin":"^5.51.0"},"_npmOperationalInternal":{"tmp":"tmp/spaces_0.0.7_1686062900845_0.6716724313468456","host":"s3://npm-registry-packages"}},"0.0.8":{"name":"@ably-labs/spaces","version":"0.0.8","keywords":[],"author":"","license":"ISC","_id":"@ably-labs/spaces@0.0.8","maintainers":[{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"lmars","email":"lewis@lmars.net"},{"name":"ably-labs-user","email":"devrel@ably.com"}],"homepage":"https://github.com/ably-labs/spaces","dist":{"shasum":"95ec9a273caa7707a885cee9cac1e02e9cd860b8","tarball":"https://registry.npmjs.org/@ably-labs/spaces/-/spaces-0.0.8.tgz","fileCount":148,"integrity":"sha512-X/TOPI45ZT2B6xLgzLXXFoiW87oGnm37eM3uIBC0x6ZoNzr71GYJcd1gt6MpahfnGmCrfRJeFBiiaVP1mqQtwQ==","signatures":[{"sig":"MEUCICIdt+FuSscIdzl0ZfPci8af9bh1YJMEHOqH8d+6YDEXAiEAk8AXC3XX5KMRA2vniKUmx8uKv3vkdWwE/4hfDpgCwvs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":973608},"main":"dist/cjs/index.js","types":"dist/mjs/index.d.ts","unpkg":"dist/iife/index.bundle.js","module":"dist/mjs/index.js","exports":{"import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"248f6142d9b2b0765e88fe0b219156b27bcbb515","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:mjs && npm run build:cjs && npm run build:iife","format":"prettier --write --ignore-path .gitignore src demo","prepare":"husky install","coverage":"vitest run --coverage","lint:fix":"eslint --fix .","build:cjs":"tsc --project tsconfig.cjs.json && cp res/package.cjs.json dist/cjs/package.json","build:mjs":"tsc --project tsconfig.mjs.json && cp res/package.mjs.json dist/mjs/package.json","build:iife":"rm -rf dist/iife && tsc --project tsconfig.iife.json && rollup dist/iife/index.js --file dist/iife/index.bundle.js --format iife --name Spaces -e ably -g ably:Ably","format:check":"prettier --check --ignore-path .gitignore src demo"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"deprecated":"The Spaces library is advancing into beta and has moved to @ably/spaces. @ably-labs/spaces is now deprecated. If you have any questions, reach out on beta@ably.com","repository":{"url":"git+https://github.com/ably-labs/spaces.git","type":"git"},"_npmVersion":"8.19.3","description":"![development-status](https://badgen.net/badge/development-status/alpha/yellow?icon=github)","directories":{},"_nodeVersion":"18.13.0","dependencies":{"ably":"^1.2.39"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","eslint":"^8.33.0","vitest":"^0.29.8","prettier":"^2.8.3","typescript":"^4.9.5","mock-socket":"^9.1.5","@vitest/coverage-c8":"^0.28.4","eslint-plugin-jsdoc":"^39.8.0","eslint-plugin-security":"^1.7.1","@typescript-eslint/parser":"^5.51.0","@typescript-eslint/eslint-plugin":"^5.51.0"},"_npmOperationalInternal":{"tmp":"tmp/spaces_0.0.8_1687187727441_0.8187865613265013","host":"s3://npm-registry-packages"}},"0.0.9":{"name":"@ably-labs/spaces","version":"0.0.9","keywords":[],"author":"","license":"ISC","_id":"@ably-labs/spaces@0.0.9","maintainers":[{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"lmars","email":"lewis@lmars.net"},{"name":"ably-labs-user","email":"devrel@ably.com"}],"homepage":"https://github.com/ably-labs/spaces","dist":{"shasum":"06d261501628fa4a50d3a303571138f7307e20cc","tarball":"https://registry.npmjs.org/@ably-labs/spaces/-/spaces-0.0.9.tgz","fileCount":148,"integrity":"sha512-mVROgBzq9XO2F37O3FVtW9EfwWhACWBYEdqXd+6eOjBTwhR1CCIio1PcPIKe3qPD608RXDk/RaqHsmx//JTL9A==","signatures":[{"sig":"MEYCIQDx2eh6G85cjwMrEQXSJnqQvnKR3zeLqCcK/jcdHDJqlQIhALKSN/wQ+YdMmy7d/DNLju/0NN8vboGRn77vTYY5dNQb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":974049},"main":"dist/cjs/index.js","types":"dist/mjs/index.d.ts","unpkg":"dist/iife/index.bundle.js","module":"dist/mjs/index.js","exports":{"import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"804b52b7e80b13fb632b734cfeb29c49e72a9773","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:mjs && npm run build:cjs && npm run build:iife","format":"prettier --write --ignore-path .gitignore src demo","prepare":"husky install","coverage":"vitest run --coverage","lint:fix":"eslint --fix .","build:cjs":"tsc --project tsconfig.cjs.json && cp res/package.cjs.json dist/cjs/package.json","build:mjs":"tsc --project tsconfig.mjs.json && cp res/package.mjs.json dist/mjs/package.json","build:iife":"rm -rf dist/iife && tsc --project tsconfig.iife.json && rollup dist/iife/index.js --file dist/iife/index.bundle.js --format iife --name Spaces -e ably -g ably:Ably","format:check":"prettier --check --ignore-path .gitignore src demo"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"deprecated":"The Spaces library is advancing into beta and has moved to @ably/spaces. @ably-labs/spaces is now deprecated. If you have any questions, reach out on beta@ably.com","repository":{"url":"git+https://github.com/ably-labs/spaces.git","type":"git"},"_npmVersion":"8.19.3","description":"![development-status](https://badgen.net/badge/development-status/alpha/yellow?icon=github)","directories":{},"_nodeVersion":"18.13.0","dependencies":{"ably":"^1.2.39"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","eslint":"^8.33.0","vitest":"^0.29.8","prettier":"^2.8.3","typescript":"^4.9.5","mock-socket":"^9.1.5","@vitest/coverage-c8":"^0.28.4","eslint-plugin-jsdoc":"^39.8.0","eslint-plugin-import":"^2.27.5","eslint-plugin-security":"^1.7.1","@typescript-eslint/parser":"^5.51.0","@typescript-eslint/eslint-plugin":"^5.51.0"},"_npmOperationalInternal":{"tmp":"tmp/spaces_0.0.9_1687345012755_0.06176306034382195","host":"s3://npm-registry-packages"}},"0.0.10":{"name":"@ably-labs/spaces","version":"0.0.10","keywords":[],"author":"","license":"ISC","_id":"@ably-labs/spaces@0.0.10","maintainers":[{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"lmars","email":"lewis@lmars.net"},{"name":"ably-labs-user","email":"devrel@ably.com"}],"homepage":"https://github.com/ably-labs/spaces","dist":{"shasum":"7ecf3d8c882b23c5c85e5a8e90f1fe37b9d76035","tarball":"https://registry.npmjs.org/@ably-labs/spaces/-/spaces-0.0.10.tgz","fileCount":148,"integrity":"sha512-faQKWWk0Y5k7LhTX+7F36eJ84B/U8OcpVHz2m0ZjAVHA/TR1Se+VooQQXoBPG7t+x/FDtw1tDyy0N69WX009Cw==","signatures":[{"sig":"MEUCIQCsKnQ2Rak+fBcaKu0D7lp40EMjKHleMShwk2nwUlp/LwIgForyT15orDVRJSbu0gVy4x+s1lDqfZH9zBns3KlUbww=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":975791},"main":"dist/cjs/index.js","types":"dist/mjs/index.d.ts","unpkg":"dist/iife/index.bundle.js","module":"dist/mjs/index.js","exports":{"import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"60393e6c84dbb63415b519a041c28c25e738d039","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:mjs && npm run build:cjs && npm run build:iife","format":"prettier --write --ignore-path .gitignore src demo","prepare":"husky install","coverage":"vitest run --coverage","lint:fix":"eslint --fix .","build:cjs":"tsc --project tsconfig.cjs.json && cp res/package.cjs.json dist/cjs/package.json","build:mjs":"tsc --project tsconfig.mjs.json && cp res/package.mjs.json dist/mjs/package.json","build:iife":"rm -rf dist/iife && tsc --project tsconfig.iife.json && rollup dist/iife/index.js --file dist/iife/index.bundle.js --format iife --name Spaces -e ably -g ably:Ably","format:check":"prettier --check --ignore-path .gitignore src demo"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"deprecated":"The Spaces library is advancing into beta and has moved to @ably/spaces. @ably-labs/spaces is now deprecated. If you have any questions, reach out on beta@ably.com","repository":{"url":"git+https://github.com/ably-labs/spaces.git","type":"git"},"_npmVersion":"8.19.3","description":"![development-status](https://badgen.net/badge/development-status/alpha/yellow?icon=github)","directories":{},"_nodeVersion":"18.13.0","dependencies":{"ably":"^1.2.39"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","eslint":"^8.33.0","vitest":"^0.29.8","prettier":"^2.8.3","typescript":"^4.9.5","mock-socket":"^9.1.5","@vitest/coverage-c8":"^0.28.4","eslint-plugin-jsdoc":"^39.8.0","eslint-plugin-import":"^2.27.5","eslint-plugin-security":"^1.7.1","@typescript-eslint/parser":"^5.51.0","@typescript-eslint/eslint-plugin":"^5.51.0"},"_npmOperationalInternal":{"tmp":"tmp/spaces_0.0.10_1687449817227_0.38707557823881755","host":"s3://npm-registry-packages"}},"0.0.12":{"name":"@ably-labs/spaces","version":"0.0.12","keywords":[],"author":"","license":"ISC","_id":"@ably-labs/spaces@0.0.12","maintainers":[{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"lmars","email":"lewis@lmars.net"},{"name":"ably-labs-user","email":"devrel@ably.com"}],"homepage":"https://github.com/ably-labs/spaces","dist":{"shasum":"58c7f3043bde005d039c7a6ffdc189a985eb791e","tarball":"https://registry.npmjs.org/@ably-labs/spaces/-/spaces-0.0.12.tgz","fileCount":140,"integrity":"sha512-mNPtsltJPVT5sz/TYfEgIOlZUarWMD4TH4JnPtd2mHqS+9v+gnfKQ5tdEvTLMFvv0jEc1ZonUgNkU/EUsk4yYA==","signatures":[{"sig":"MEUCIQD8SBJq8J5d9RuT2SWBwOpppoxyO5IM48WVp97iogXFogIgBr35DSAQWRr+dS4stIBrqWDjFUI7IXIylu1UKLYmv1A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3464413},"main":"dist/cjs/index.js","types":"dist/mjs/index.d.ts","unpkg":"dist/iife/index.bundle.js","module":"dist/mjs/index.js","exports":{"import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"1a0b129322e34dbec5d4f18f8e21d09d2a6fb32e","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:mjs && npm run build:cjs && npm run build:iife","watch":"vitest watch","format":"prettier --write --ignore-path .gitignore src demo","prepare":"husky install","coverage":"vitest run --coverage","lint:fix":"eslint --fix .","build:cjs":"tsc --project tsconfig.cjs.json && cp res/package.cjs.json dist/cjs/package.json","build:mjs":"tsc --project tsconfig.mjs.json && cp res/package.mjs.json dist/mjs/package.json","build:iife":"rm -rf dist/iife && tsc --project tsconfig.iife.json && rollup dist/iife/index.js --file dist/iife/index.bundle.js --format iife --name Spaces -e ably -g ably:Ably","format:check":"prettier --check --ignore-path .gitignore src demo"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"deprecated":"The Spaces library is advancing into beta and has moved to @ably/spaces. @ably-labs/spaces is now deprecated. If you have any questions, reach out on beta@ably.com","repository":{"url":"git+https://github.com/ably-labs/spaces.git","type":"git"},"_npmVersion":"8.19.3","description":"<p align=\"left\">   <a href=\"\">     <img src=\"https://badgen.net/badge/development-status/alpha/yellow?icon=github\" alt=\"Development status\"   />   </a>   <a href=\"\">     <img src=\"https://github.com/ably-labs/spaces/actions/workflows/dev-ci.yml/badge.svg?","directories":{},"_nodeVersion":"18.13.0","dependencies":{"ably":"^1.2.39"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","eslint":"^8.33.0","vitest":"^0.29.8","prettier":"^2.8.3","typescript":"^4.9.5","mock-socket":"^9.1.5","@vitest/coverage-c8":"^0.28.4","eslint-plugin-jsdoc":"^39.8.0","eslint-plugin-import":"^2.27.5","eslint-plugin-security":"^1.7.1","@typescript-eslint/parser":"^5.51.0","@typescript-eslint/eslint-plugin":"^5.51.0"},"_npmOperationalInternal":{"tmp":"tmp/spaces_0.0.12_1690466618681_0.44595316074969804","host":"s3://npm-registry-packages"}},"0.0.13":{"name":"@ably-labs/spaces","version":"0.0.13","keywords":[],"author":"","license":"ISC","_id":"@ably-labs/spaces@0.0.13","maintainers":[{"name":"ably-realtime","email":"account.owners@ably.com"},{"name":"owenpearson","email":"owen.pearson@ably.com"},{"name":"lmars","email":"lewis@lmars.net"},{"name":"ably-labs-user","email":"devrel@ably.com"}],"homepage":"https://github.com/ably-labs/spaces","dist":{"shasum":"d802afaf3042bc56927e6617c84f013dad1d5d91","tarball":"https://registry.npmjs.org/@ably-labs/spaces/-/spaces-0.0.13.tgz","fileCount":177,"integrity":"sha512-/q4wYw3VhO07SwWo6Hrs1PP0E+9zDb/DjrTKVFrXcxZhd5onBkxQ2t2fJfAEapEnRQPNhMHIpLZXugZ9qJVD1Q==","signatures":[{"sig":"MEQCIChAQ/FhVOIQu6sBIQEOpSlX0mMtr+d7aAZ6kRYo7xFZAiA+D813AJKnew2Eq9GfpsCVkGN8tuPoaMFDhtM9BvwUQw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3581523},"main":"dist/cjs/index.js","types":"dist/mjs/index.d.ts","unpkg":"dist/iife/index.bundle.js","module":"dist/mjs/index.js","exports":{"import":"./dist/mjs/index.js","require":"./dist/cjs/index.js"},"gitHead":"522b83a03773cfd1783f25cbd9dee526e89c2335","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:mjs && npm run build:cjs && npm run build:iife","watch":"vitest watch","format":"prettier --write --ignore-path .gitignore src demo","prepare":"husky install","coverage":"vitest run --coverage","lint:fix":"eslint --fix .","build:cjs":"npx tsc --project tsconfig.cjs.json && cp res/package.cjs.json dist/cjs/package.json","build:mjs":"npx tsc --project tsconfig.mjs.json && cp res/package.mjs.json dist/mjs/package.json","build:iife":"rm -rf dist/iife && npx tsc --project tsconfig.iife.json && rollup -c","format:check":"prettier --check --ignore-path .gitignore src demo","examples:locks":"ts-node ./examples/locks.ts"},"_npmUser":{"name":"ably-realtime","email":"account.owners@ably.com"},"deprecated":"The Spaces library is advancing into beta and has moved to @ably/spaces. @ably-labs/spaces is now deprecated. If you have any questions, reach out on beta@ably.com","repository":{"url":"git+https://github.com/ably-labs/spaces.git","type":"git"},"_npmVersion":"8.19.3","description":"<p align=\"left\">   <a href=\"\">     <img src=\"https://badgen.net/badge/development-status/alpha/yellow?icon=github\" alt=\"Development status\"   />   </a>   <a href=\"\">     <img src=\"https://github.com/ably-labs/spaces/actions/workflows/dev-ci.yml/badge.svg?","directories":{},"_nodeVersion":"18.13.0","dependencies":{"ably":"^1.2.43","nanoid":"^4.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^8.0.0","eslint":"^8.33.0","rollup":"^3.28.0","vitest":"^0.29.8","ts-node":"^10.9.1","prettier":"^2.8.3","typescript":"^4.9.5","mock-socket":"^9.1.5","@vitest/coverage-c8":"^0.28.4","eslint-plugin-jsdoc":"^39.8.0","eslint-plugin-import":"^2.27.5","eslint-plugin-security":"^1.7.1","@typescript-eslint/parser":"^5.51.0","@typescript-eslint/eslint-plugin":"^5.51.0"},"_npmOperationalInternal":{"tmp":"tmp/spaces_0.0.13_1692883936783_0.6339509561659964","host":"s3://npm-registry-packages"}}},"time":{"created":"2023-03-13T11:06:14.080Z","modified":"2024-10-09T11:07:01.941Z","0.0.1":"2023-03-13T11:06:14.382Z","0.0.2":"2023-03-15T14:15:20.140Z","0.0.3":"2023-04-18T15:04:50.019Z","0.0.4":"2023-04-19T14:27:42.794Z","0.0.5":"2023-05-12T13:30:15.251Z","0.0.6":"2023-06-06T14:46:34.736Z","0.0.7":"2023-06-06T14:48:21.125Z","0.0.8":"2023-06-19T15:15:27.724Z","0.0.9":"2023-06-21T10:56:53.074Z","0.0.10":"2023-06-22T16:03:37.447Z","0.0.12":"2023-07-27T14:03:38.918Z","0.0.13":"2023-08-24T13:32:17.131Z"},"license":"ISC","homepage":"https://github.com/ably-labs/spaces","keywords":[],"repository":{"url":"git+https://github.com/ably-labs/spaces.git","type":"git"},"description":"<p align=\"left\">   <a href=\"\">     <img src=\"https://badgen.net/badge/development-status/alpha/yellow?icon=github\" alt=\"Development status\"   />   </a>   <a href=\"\">     <img src=\"https://github.com/ably-labs/spaces/actions/workflows/dev-ci.yml/badge.svg?","maintainers":[{"email":"andrii.bulat@ably.com","name":"andrii.bulat.ably"},{"email":"khokhlov.e.n@gmail.com","name":"ttypic"},{"email":"mike@christensen.codes","name":"mschristensen"},{"email":"account.owners@ably.com","name":"ably-realtime"},{"email":"owen.pearson@ably.com","name":"owenpearson"},{"email":"lewis@lmars.net","name":"lmars"},{"email":"devrel@ably.com","name":"ably-labs-user"}],"readme":"# Ably Collaborative Spaces SDK\n\n<p align=\"left\">\n  <a href=\"\">\n    <img src=\"https://badgen.net/badge/development-status/alpha/yellow?icon=github\" alt=\"Development status\"   />\n  </a>\n  <a href=\"\">\n    <img src=\"https://github.com/ably-labs/spaces/actions/workflows/dev-ci.yml/badge.svg?branch=main\" alt=\"CI status\"   />\n  </a>\n    <a href=\"\">\n    <img src=\"https://badgen.net/github/license/3scale/saas-operator\" alt=\"License\" />\n  </a>\n</p>\n\n_[Ably](https://ably.com) is the platform that powers synchronized digital experiences in realtime. Whether attending an event in a virtual venue, receiving realtime financial information, or monitoring live car performance data – consumers simply expect realtime digital experiences as standard. Ably provides a suite of APIs to build, extend, and deliver powerful digital experiences in realtime for more than 250 million devices across 80 countries each month. Organizations like Bloomberg, HubSpot, Verizon, and Hopin depend on Ably’s platform to offload the growing complexity of business-critical realtime data synchronization at global scale. For more information, see the [Ably documentation](https://ably.com/docs)._\n\n---\n\nThe [Ably](https://ably.com) Collaborative Spaces SDK enables you to implement realtime collaborative features in your applications.\n\n![Example collaboration GIF](/docs/images/collab.gif)\n\nRather than having to coordinate resources on calls, or send documents and spreadsheets back and forth using a combination of tools, having in-app realtime collaboration features has proven to boost productivity in remote workplaces. Try out a [live demo](https://space.ably.dev) of a slideshow application for an example of realtime collaboration in action.\n\nRealtime collaboration enables users to have contextual awareness of other users within an application. This means knowing:\n\n**Who is in the application?**\n\nOne of the most important aspects of collaboration is knowing who else you're working with. The most common way to display this is using an \"Avatar Stack\" to show who else is currently online, and those that have recently gone offline.\n\n**Where is each user within the application?**\n\nKnowing where each user is within an application helps you understand their intentions without having to explicitly ask them. For example, seeing that a colleague is currently viewing slide 2 of a slideshow means that you can carry out your own edits to slide 3 without interfering with their work. Displaying the locations of your users can be achieved by highlighting the UI element they have selected, displaying a miniature avatar stack on the slide they are viewing, or showing the live location of their cursors.\n\n**What is everyone doing in the application?**\n\nChanges to the app state made by users not only need to be synced with your backend for validation and long term storage, but also be immediately reflected in the UI so that users are always viewing the latest information. For example, in a spreadsheet application, if one user has entered a value in a cell, all other users need to see that change instantly. Live updates help accomplish this in a collaborative space.\n\n## Status\n\nThe Collaborative Spaces SDK is currently under development. If you are interested in being an early adopter and providing feedback then you can [sign up](https://go.ably.com/spaces-early-access) for early access and are welcome to [provide us with feedback](https://go.ably.com/spaces-feedback).\n\n## Quickstart\n\nGet started quickly using this section, or take a look at:\n\n* more detailed [usage instructions](/docs/usage.md)\n* [class definitions](/docs/class-definitions.md)  \n* how the Spaces SDK uses [Ably internally](/docs/channel-behaviors.md)\n\n### Prerequisites\n\nTo begin, you will need the following:\n\n* An Ably account. You can [sign up](https://ably.com/signup) for free.\n* An Ably API key. You can create API keys in an app within your [Ably account](https://ably.com/dashboard).\n  * The API key needs the following [capabilities](https://ably.com/docs/auth/capabilities): `publish`, `subscribe`, `presence` and `history`.\n\nYou can use [basic authentication](https://ably.com/docs/auth/basic) for testing purposes, however it is strongly recommended that you use [token authentication](https://ably.com/docs/auth/token) in production environments.\n\n### Authenticate and instantiate\n\nInstall the Collaborative Spaces SDK and the Ably JavaScript SDK:\n\n```sh\nnpm install ably @ably-labs/spaces\n```\n\nTo instantiate the Spaces SDK, create an [Ably client](https://ably.com/docs/getting-started/setup) and pass it into the Spaces constructor:\n\n```ts\nimport Spaces from '@ably-labs/spaces';\nimport { Realtime } from 'ably';\n\nconst client = new Realtime.Promise({key: \"<API-key>\", clientId: \"<client-ID>\"});\nconst spaces = new Spaces(client);\n```\n\nYou can create an Ably client with just an API key, however to use Spaces you must also set a [`clientId`](https://ably.com/docs/auth/identified-clients) so that clients are identifiable. If you are prototyping, you can use a package like [nanoid](https://www.npmjs.com/package/nanoid) to generate an ID.\n\n#### CDN\n\nYou can also use Spaces with a CDN, such as [unpkg](https://www.unpkg.com/):\n\n```html\n<script src=\"https://cdn.ably.com/lib/ably.min-1.js\"></script>\n<script src=\"https://unpkg.com/@ably-labs/spaces@0.0.10/dist/iife/index.bundle.js\"></script>\n```\n\n### Space membership\n\nA space is the virtual, collaborative area of an application you want to monitor. A space can be anything from a web page, a sheet within a spreadsheet, an individual slide in a slideshow, or the slideshow itself. Create a space and listen for events to see when clients enter and leave.\n\nSpace membership is used to build avatar stacks and find out which members are online within a space.\n\n```ts\n// Create a new space\nconst space = await spaces.get('demoSlideshow');\n\n// Register a listener to subscribe to events of when users enter or leave the space\nspace.subscribe('membersUpdate', (members) => {\n  console.log(members);\n});\n\n// Enter a space, publishing a memberUpdate event, including optional profile data\nspace.enter({\n  username: 'Claire Lemons',\n  avatar: 'https://slides-internal.com/users/clemons.png',\n});\n```\n\nThe following is an example `membersUpdate` event received by listeners when a user enters a space:\n\n```json\n[\n  {\n    \"clientId\": \"clemons#142\",\n    \"connectionId\": \"hd9743gjDc\",\n    \"isConnected\": true,\n    \"lastEvent\": {\n      \"name\": \"enter\",\n      \"timestamp\": 1677595689759\n    },\n    \"location\": null,\n    \"profileData\": {\n      \"username\": \"Claire Lemons\",\n      \"avatar\": \"https://slides-internal.com/users/clemons.png\"\n    }\n  }\n]\n```\n\n### Location\n\nMember locations enable you to track where users are within an application. A location could be a form field, multiple cells in a spreadsheet or a slide in a slide deck editor. Subscribe to all location updates, specific location, or locations changes for a given member.\n\n```ts\n// Register a listener to subscribe to events of when users change location\nspace.locations.on('locationUpdate', (locationUpdate) => {\n  console.log(locationUpdate);\n});\n\n// You need to enter a space before setting your location\nspace.enter({\n  username: 'Claire Lemons',\n  avatar: 'https://slides-internal.com/users/clemons.png',\n});\n\n// Publish locationUpdate event with a client's location when they select a UI element\nspace.locations.set({ slide: '3', component: 'slide-title' });\n```\n\nThe following is an example `locationUpdate` event received by subscribers when a user changes location:\n\n```json\n{\n  \"member\": {\n    \"clientId\": \"clemons#142\",\n    \"connectionId\": \"hd9743gjDc\",\n    \"isConnected\": true,\n    \"profileData\": {\n      \"username\": \"Claire Lemons\",\n      \"avatar\": \"https://slides-internal.com/users/clemons.png\"\n    },\n    \"location\": {\n      \"slide\": \"3\",\n      \"component\": \"slide-title\"\n    },\n    \"lastEvent\": {\n      \"name\": \"update\",\n      \"timestamp\": 1\n    }\n  },\n  \"previousLocation\": {\n    \"slide\": \"2\",\n    \"component\": null\n  },\n  \"currentLocation\": {\n    \"slide\": \"3\",\n    \"component\": \"slide-title\"\n  }\n}\n```\n\n### Cursors\n\nUse the Cursors API to track client pointer events across an application. Events can also include associated data, such as pointer attributes and the IDs of associated UI elements:\n\n```ts\n// You need to enter a space before setting your cursor updates\nspace.enter({\n  username: 'Claire Lemons',\n  avatar: 'https://slides-internal.com/users/clemons.png',\n});\n\n// Publish a CursorUpdate with the location of a mouse, including optional data for the current member\nwindow.addEventListener('mousemove', ({ clientX, clientY }) => {\n  space.cursors.set({ position: { x: clientX, y: clientY }, data: { color: 'red' } });\n});\n\n\n// Listen to events published on \"mousemove\" by all members\nspace.cursors.on('cursorsUpdate', (cursorUpdate) => {\n  console.log(cursorUpdate);\n});\n```\n\nThe above listener will receive a `CursorUpdate` event:\n\n```js\n{\n  \"connectionId\": \"hd9743gjDc\",\n  \"clientId\": \"clemons#142\",\n  \"position\": { \"x\": 864, \"y\": 32 },\n  \"data\": { \"color\": \"red\" }\n}\n```\n","readmeFilename":"README.md"}