{"_id":"@anedyasystems/anedya-frontend-sdk","_rev":"11-491fb8b2f9c5ea0a89a4fae4979cfafb","name":"@anedyasystems/anedya-frontend-sdk","dist-tags":{"prerelease":"0.0.3-prerelease.0","latest":"0.1.1","beta":"0.1.1-beta.0"},"versions":{"0.0.1":{"name":"@anedyasystems/anedya-frontend-sdk","version":"0.0.1","keywords":["IoT","Anedya","SDK","JavaScript","TypeScript","commands","data-access","cloud","device-management","API","browser"],"author":{"name":"Anedya Systems"},"license":"Apache-2.0","_id":"@anedyasystems/anedya-frontend-sdk@0.0.1","maintainers":[{"name":"anedya","email":"dev@anedya.io"}],"homepage":"https://anedya.io","bugs":{"url":"https://github.com/anedyaio/anedya-js-frontend-sdk/issues"},"dist":{"shasum":"6d504ecd4006354a8bc1e88b843b49c16ae445df","tarball":"https://registry.npmjs.org/@anedyasystems/anedya-frontend-sdk/-/anedya-frontend-sdk-0.0.1.tgz","fileCount":8,"integrity":"sha512-ibN9VykSyMhMjKShX2Lvz9xTQQ5jbs79hWFmPBOJYXIG4lEXCPXyyvpccGKcpZzMuMzE/LrxYQLHMuyxnwWp9Q==","signatures":[{"sig":"MEUCIQCwAVT5/lH12IVun4iCCRq6y5PIQnYwAAswPfz1l5wQiQIgNM79PXUgGz6/s86SnpkP/XXa2ihahoyfiKCX4BAW5o4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":224243},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{"import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"882ce935ff40ad9c5f7c499457db7a3ffe49e7bc","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","test":"node tests/test.mjs","build":"tsup"},"_npmUser":{"name":"anedya","email":"dev@anedya.io"},"repository":{"url":"git+https://github.com/anedyaio/anedya-js-frontend-sdk.git","type":"git"},"_npmVersion":"11.6.1","description":"Official Anedya Frontend SDK for JavaScript and TypeScript. This SDK provides a comprehensive set of tools and functionalities to interact with Anedya's IoT platform, enabling developers to easily manage devices, access data, and execute commands in a sea","directories":{},"_nodeVersion":"20.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/anedya-frontend-sdk_0.0.1_1759131568779_0.4930683864499994","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@anedyasystems/anedya-frontend-sdk","version":"0.0.2","keywords":["IoT","Anedya","SDK","JavaScript","TypeScript","commands","data-access","cloud","device-management","API","browser"],"author":{"name":"Anedya Systems"},"license":"Apache-2.0","_id":"@anedyasystems/anedya-frontend-sdk@0.0.2","maintainers":[{"name":"anedya","email":"dev@anedya.io"}],"homepage":"https://anedya.io","bugs":{"url":"https://github.com/anedyaio/anedya-js-frontend-sdk/issues"},"dist":{"shasum":"923c7c000feaf7128e31f890062b9df81ea9a962","tarball":"https://registry.npmjs.org/@anedyasystems/anedya-frontend-sdk/-/anedya-frontend-sdk-0.0.2.tgz","fileCount":8,"integrity":"sha512-RHV+ljH+X0HaQqG7WQoKVyZjIk/En9CK5xaOrGFNAnC6O3zFW9+M/M01DKDUnW4oQK3OFWTZBRbgN75UCModrA==","signatures":[{"sig":"MEYCIQC6CSd/ZcfzHUYhkIsoK+WwpiVw0fdkkJUgbNFU0b5YFgIhANIMJ7nxpFaeTTofOlM4+eHvHboD7btmSYVM/+/8N37l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223044},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"eaecdd53a5267aaf0ad74d3398a8160887260fc1","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","test":"node tests/test.mjs","build":"tsup"},"_npmUser":{"name":"anedya","email":"dev@anedya.io"},"repository":{"url":"git+https://github.com/anedyaio/anedya-js-frontend-sdk.git","type":"git"},"_npmVersion":"11.6.1","description":"Official Anedya Frontend SDK for JavaScript and TypeScript. This SDK provides a comprehensive set of tools and functionalities to interact with Anedya's IoT platform, enabling developers to easily manage devices, access data, and execute commands in a sea","directories":{},"_nodeVersion":"20.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/anedya-frontend-sdk_0.0.2_1759313045380_0.0737157685472376","host":"s3://npm-registry-packages-npm-production"}},"0.0.3-prerelease.0":{"name":"@anedyasystems/anedya-frontend-sdk","version":"0.0.3-prerelease.0","keywords":["IoT","Anedya","SDK","JavaScript","TypeScript","commands","data-access","cloud","device-management","API","browser"],"author":{"name":"Anedya Systems"},"license":"Apache-2.0","_id":"@anedyasystems/anedya-frontend-sdk@0.0.3-prerelease.0","maintainers":[{"name":"suraj-maurya-npm","email":"suraj.maurya@anedya.io"},{"name":"anedya","email":"dev@anedya.io"}],"homepage":"https://anedya.io","bugs":{"url":"https://github.com/anedyaio/anedya-js-frontend-sdk/issues"},"dist":{"shasum":"6ee3fd1fbe0abcb51bc37b8e13bd975c7c5c22dd","tarball":"https://registry.npmjs.org/@anedyasystems/anedya-frontend-sdk/-/anedya-frontend-sdk-0.0.3-prerelease.0.tgz","fileCount":8,"integrity":"sha512-26TcN2PvMy3/P2Zo1kMFJJtMSdYwc5bgHVEQMWKrrOq92azNihHN1Q0aDjom53v5Q1mlFYXdqXRWLJ3E1UzQgg==","signatures":[{"sig":"MEUCIHrqtyEdoCMBhhb8caF76oBf2/f9mBfPZr2sIUF6uD19AiEAjWvjivNQVtKwTSEeOROHD1VvuBgsNo+xqM4PZrHS2sA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":304356},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"dec385f033dee488cd582af3332e23bcd8429a44","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","test":"node tests/test.mjs","build":"tsup","start":"node examples/application-example.js"},"_npmUser":{"name":"suraj-maurya-npm","email":"suraj.maurya@anedya.io"},"repository":{"url":"git+https://github.com/anedyaio/anedya-js-frontend-sdk.git","type":"git"},"_npmVersion":"11.7.0","description":"Official Anedya Frontend SDK for JavaScript and TypeScript. This SDK provides a comprehensive set of tools and functionalities to interact with Anedya's IoT platform, enabling developers to easily manage devices, access data, and execute commands in a sea","directories":{},"_nodeVersion":"24.12.0","dependencies":{"cbor-x":"^1.6.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","typescript":"^5.7.3","@types/cbor":"^5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/anedya-frontend-sdk_0.0.3-prerelease.0_1783021464030_0.061276672373361984","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.1":{"name":"@anedyasystems/anedya-frontend-sdk","version":"0.1.0-beta.1","keywords":["IoT","Anedya","SDK","JavaScript","TypeScript","commands","data-access","cloud","device-management","API","browser"],"author":{"name":"Anedya Systems"},"license":"Apache-2.0","_id":"@anedyasystems/anedya-frontend-sdk@0.1.0-beta.1","maintainers":[{"name":"suraj-maurya-npm","email":"suraj.maurya@anedya.io"},{"name":"anedya","email":"dev@anedya.io"}],"homepage":"https://anedya.io","bugs":{"url":"https://github.com/anedyaio/anedya-js-frontend-sdk/issues"},"dist":{"shasum":"fa3868dc864a3b27337e53e1471d2212695f0004","tarball":"https://registry.npmjs.org/@anedyasystems/anedya-frontend-sdk/-/anedya-frontend-sdk-0.1.0-beta.1.tgz","fileCount":8,"integrity":"sha512-chWko8jBdU4hhmhzY/LJM2Rx4JB+8MJ5Dso2/VYeH9a5Ddwa7PmRiY7c9J+QZuLVeFtfvDi9AzFJxIDtxeyxXw==","signatures":[{"sig":"MEQCIFe4SpV396rZ1+AvNarAc1n9Ne6tPBwRUGHRHU+wtEdrAiBhqicUJ6cBk53ovdhf33/e+50P/xTNnRljATlGpaWWpQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anedyasystems%2fanedya-frontend-sdk@0.1.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":321614},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"gitHead":"a366f759a2b2e14bf2be7199ee55a50ee116a5a0","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"prettier --check \"src/**/*.ts\"","test":"node tests/test.mjs","build":"tsup","start":"node examples/application-example.js","format":"prettier --write \"src/**/*.ts\"","changeset":"changeset","typecheck":"tsc --noEmit","changeset:status":"changeset status","changeset:version":"changeset version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a6d42d7b-c5e1-4588-bd38-618cda725d8d"}},"overrides":{"human-id":"4.1.3"},"repository":{"url":"git+https://github.com/anedyaio/anedya-js-frontend-sdk.git","type":"git"},"_npmVersion":"11.18.0","description":"Official Anedya Frontend SDK for JavaScript and TypeScript. This SDK provides a comprehensive set of tools and functionalities to interact with Anedya's IoT platform, enabling developers to easily manage devices, access data, and execute commands in a sea","directories":{},"_nodeVersion":"22.23.1","dependencies":{"cbor-x":"^1.6.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","prettier":"^3.4.2","typescript":"^5.7.3","@types/cbor":"^5.0.1","@changesets/cli":"^2.31.0"},"_npmOperationalInternal":{"tmp":"tmp/anedya-frontend-sdk_0.1.0-beta.1_1783331996492_0.5530825552947514","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.2":{"name":"@anedyasystems/anedya-frontend-sdk","version":"0.1.0-beta.2","keywords":["IoT","Anedya","SDK","JavaScript","TypeScript","commands","data-access","cloud","device-management","API","browser"],"author":{"name":"Anedya Systems"},"license":"Apache-2.0","_id":"@anedyasystems/anedya-frontend-sdk@0.1.0-beta.2","maintainers":[{"name":"suraj-maurya-npm","email":"suraj.maurya@anedya.io"},{"name":"anedya","email":"dev@anedya.io"}],"homepage":"https://anedya.io","bugs":{"url":"https://github.com/anedyaio/anedya-js-frontend-sdk/issues"},"dist":{"shasum":"b6fd67e51b053a2cbe471d9ba006d93ba5de5ec2","tarball":"https://registry.npmjs.org/@anedyasystems/anedya-frontend-sdk/-/anedya-frontend-sdk-0.1.0-beta.2.tgz","fileCount":10,"integrity":"sha512-/gtbPvQ+3MqYy60yJahpDjpSZYRcHihL37z5lF0ORMjldkvuXDjW/PJ+sS5Lxqav4jN+maGc1Jrcxa7oBBN5rA==","signatures":[{"sig":"MEQCIAL87JUdAIpzXOjlQbNuTwDseA0FXXwqzJoNBVMoouGBAiAFNH8IqV+gGrjfibmRUb4DF+Y8UF8YgNJwYWpHlp3grw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anedyasystems%2fanedya-frontend-sdk@0.1.0-beta.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":688313},"main":"dist/anedya.js","types":"dist/anedya.d.ts","unpkg":"dist/anedya.min.js","module":"dist/anedya.mjs","exports":{".":{"types":"./dist/anedya.d.ts","import":"./dist/anedya.mjs","default":"./dist/anedya.min.js","require":"./dist/anedya.js"}},"gitHead":"dc1fba8f54969576f8f5e75a12a8f42ceea67023","scripts":{"dev":"tsup --watch","lint":"prettier --check \"src/**/*.ts\"","test":"node tests/test.mjs","build":"tsup","start":"node examples/application-example.js","format":"prettier --write \"src/**/*.ts\"","changeset":"changeset","typecheck":"tsc --noEmit","changeset:status":"changeset status","changeset:version":"changeset version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a6d42d7b-c5e1-4588-bd38-618cda725d8d"}},"jsdelivr":"dist/anedya.min.js","overrides":{"human-id":"4.1.3"},"repository":{"url":"git+https://github.com/anedyaio/anedya-js-frontend-sdk.git","type":"git"},"_npmVersion":"11.18.0","description":"Official Anedya Frontend SDK for JavaScript and TypeScript. This SDK provides a comprehensive set of tools and functionalities to interact with Anedya's IoT platform, enabling developers to easily manage devices, access data, and execute commands in a sea","directories":{},"_nodeVersion":"22.23.1","dependencies":{"cbor-x":"^1.6.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","prettier":"^3.4.2","typescript":"^5.7.3","@types/cbor":"^5.0.1","@changesets/cli":"^2.31.0"},"_npmOperationalInternal":{"tmp":"tmp/anedya-frontend-sdk_0.1.0-beta.2_1783338410848_0.6912993776280119","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.3":{"name":"@anedyasystems/anedya-frontend-sdk","version":"0.1.0-beta.3","keywords":["IoT","Anedya","SDK","JavaScript","TypeScript","commands","data-access","cloud","device-management","API","browser"],"author":{"name":"Anedya Systems"},"license":"Apache-2.0","_id":"@anedyasystems/anedya-frontend-sdk@0.1.0-beta.3","maintainers":[{"name":"suraj-maurya-npm","email":"suraj.maurya@anedya.io"},{"name":"anedya","email":"dev@anedya.io"}],"homepage":"https://anedya.io","bugs":{"url":"https://github.com/anedyaio/anedya-js-frontend-sdk/issues"},"dist":{"shasum":"6e3b1c4a0a81c15f25f37a74a9b5f36cad37cd54","tarball":"https://registry.npmjs.org/@anedyasystems/anedya-frontend-sdk/-/anedya-frontend-sdk-0.1.0-beta.3.tgz","fileCount":10,"integrity":"sha512-KL9F57GCj5YzVBOCv32GfgMsgaRK7uOH1vBceiaLXqCS1evAh9dksvSpQrRLmR++eCjFXnzcB5N7kAxLtTPPzw==","signatures":[{"sig":"MEQCICTElts8WxkwXEqpDLD6Fh0I3l9spYRtf36zT9ytlkLIAiApPqvZzIcRg9es217wCIve+vS8Jk137yMWgzBH2fiOEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anedyasystems%2fanedya-frontend-sdk@0.1.0-beta.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":688313},"main":"dist/anedya.js","types":"dist/anedya.d.ts","unpkg":"dist/anedya.min.js","module":"dist/anedya.mjs","exports":{".":{"types":"./dist/anedya.d.ts","import":"./dist/anedya.mjs","default":"./dist/anedya.min.js","require":"./dist/anedya.js"}},"gitHead":"9562db673c49e1a2c9ccceb6deca131723275e66","scripts":{"dev":"tsup --watch","lint":"prettier --check \"src/**/*.ts\"","test":"node tests/test.mjs","build":"tsup","start":"node examples/application-example.js","format":"prettier --write \"src/**/*.ts\"","changeset":"changeset","typecheck":"tsc --noEmit","changeset:status":"changeset status","changeset:version":"changeset version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a6d42d7b-c5e1-4588-bd38-618cda725d8d"}},"jsdelivr":"dist/anedya.min.js","overrides":{"human-id":"4.1.3"},"repository":{"url":"git+https://github.com/anedyaio/anedya-js-frontend-sdk.git","type":"git"},"_npmVersion":"11.18.0","description":"Official Anedya Frontend SDK for JavaScript and TypeScript. This SDK provides a comprehensive set of tools and functionalities to interact with Anedya's IoT platform, enabling developers to easily manage devices, access data, and execute commands in a sea","directories":{},"_nodeVersion":"22.23.1","dependencies":{"cbor-x":"^1.6.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","prettier":"^3.4.2","typescript":"^5.7.3","@types/cbor":"^5.0.1","@changesets/cli":"^2.31.0"},"_npmOperationalInternal":{"tmp":"tmp/anedya-frontend-sdk_0.1.0-beta.3_1783340252726_0.9732121457935572","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@anedyasystems/anedya-frontend-sdk","version":"0.1.0","keywords":["IoT","Anedya","SDK","JavaScript","TypeScript","commands","data-access","cloud","device-management","API","browser"],"author":{"name":"Anedya Systems"},"license":"Apache-2.0","_id":"@anedyasystems/anedya-frontend-sdk@0.1.0","maintainers":[{"name":"suraj-maurya-npm","email":"suraj.maurya@anedya.io"},{"name":"anedya","email":"dev@anedya.io"}],"homepage":"https://anedya.io","bugs":{"url":"https://github.com/anedyaio/anedya-js-frontend-sdk/issues"},"dist":{"shasum":"bfd056aeb75d00f370162ca8a50c49e4995b5045","tarball":"https://registry.npmjs.org/@anedyasystems/anedya-frontend-sdk/-/anedya-frontend-sdk-0.1.0.tgz","fileCount":10,"integrity":"sha512-LXGzkCEeCh90/dAEz65cHhroIkxCSl/0y3BfzVVq0f0yRMc+/U8VYEeDKprQK0Z8nYBzH40UrFgP8LswBRXSog==","signatures":[{"sig":"MEYCIQDzRugxSx0oRm/ec71R4RIfZzASAVDoUnlL127PqFYdbgIhAPwZ0RDG94TJyjgTdZbUoVDk3yRI65did06OP/D5Va+7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anedyasystems%2fanedya-frontend-sdk@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":688306},"main":"dist/anedya.js","types":"dist/anedya.d.ts","unpkg":"dist/anedya.min.js","module":"dist/anedya.mjs","exports":{".":{"types":"./dist/anedya.d.ts","import":"./dist/anedya.mjs","default":"./dist/anedya.min.js","require":"./dist/anedya.js"}},"gitHead":"cf973c9e94dbe9cde6e035286ed440fdd9f5cc0a","scripts":{"dev":"tsup --watch","lint":"prettier --check \"src/**/*.ts\"","test":"node tests/test.mjs","build":"tsup","start":"node examples/application-example.js","format":"prettier --write \"src/**/*.ts\"","changeset":"changeset","typecheck":"tsc --noEmit","changeset:status":"changeset status","changeset:version":"changeset version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a6d42d7b-c5e1-4588-bd38-618cda725d8d"}},"jsdelivr":"dist/anedya.min.js","overrides":{"human-id":"4.1.3"},"repository":{"url":"git+https://github.com/anedyaio/anedya-js-frontend-sdk.git","type":"git"},"_npmVersion":"11.18.0","description":"Official Anedya Frontend SDK for JavaScript and TypeScript. This SDK provides a comprehensive set of tools and functionalities to interact with Anedya's IoT platform, enabling developers to easily manage devices, access data, and execute commands in a sea","directories":{},"_nodeVersion":"22.23.1","dependencies":{"cbor-x":"^1.6.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","prettier":"^3.4.2","typescript":"^5.7.3","@types/cbor":"^5.0.1","@changesets/cli":"^2.31.0"},"_npmOperationalInternal":{"tmp":"tmp/anedya-frontend-sdk_0.1.0_1783340528929_0.02163751930396729","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.4":{"name":"@anedyasystems/anedya-frontend-sdk","version":"0.1.0-beta.4","keywords":["IoT","Anedya","SDK","JavaScript","TypeScript","commands","data-access","cloud","device-management","API","browser"],"author":{"name":"Anedya Systems"},"license":"Apache-2.0","_id":"@anedyasystems/anedya-frontend-sdk@0.1.0-beta.4","maintainers":[{"name":"suraj-maurya-npm","email":"suraj.maurya@anedya.io"},{"name":"anedya","email":"dev@anedya.io"}],"homepage":"https://anedya.io","bugs":{"url":"https://github.com/anedyaio/anedya-js-frontend-sdk/issues"},"dist":{"shasum":"f520d8308ce816196cf8b7701c97502f741a8418","tarball":"https://registry.npmjs.org/@anedyasystems/anedya-frontend-sdk/-/anedya-frontend-sdk-0.1.0-beta.4.tgz","fileCount":11,"integrity":"sha512-KO6gcypIaaFL9m1D+PnHjVDJlrofTliy/8TB5kTC5rj0pqzCO8a1fAhwopXr1ahB8mCj93X/yH1qc250MrsFhw==","signatures":[{"sig":"MEUCIAh2JHeC5rS3FXsgOCqNJSOHkxEX0nteKIIgVQam0yEHAiEAu0fXNMFq+vEDZc2ULRUpvg8zrix1u+v/TQfhDMVU6oQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anedyasystems%2fanedya-frontend-sdk@0.1.0-beta.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":649220},"main":"dist/anedya.js","types":"dist/anedya.d.ts","unpkg":"dist/anedya.min.js","module":"dist/anedya.mjs","exports":{".":{"types":"./dist/anedya.d.ts","import":"./dist/anedya.mjs","default":"./dist/anedya.min.js","require":"./dist/anedya.js"}},"gitHead":"9e9b27fe893d05ffe01b7d5b6ea6c77f4bf8a59c","scripts":{"dev":"tsup --watch","lint":"prettier --check \"src/**/*.ts\"","test":"node tests/test.mjs","build":"tsup","start":"node examples/application-example.js","format":"prettier --write \"src/**/*.ts\"","changeset":"changeset","typecheck":"tsc --noEmit","changeset:status":"changeset status","changeset:version":"changeset version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a6d42d7b-c5e1-4588-bd38-618cda725d8d"}},"jsdelivr":"dist/anedya.min.js","overrides":{"human-id":"4.1.3"},"repository":{"url":"git+https://github.com/anedyaio/anedya-js-frontend-sdk.git","type":"git"},"_npmVersion":"11.5.1","description":"Official Anedya Frontend SDK for JavaScript and TypeScript. This SDK provides a comprehensive set of tools and functionalities to interact with Anedya's IoT platform, enabling developers to easily manage devices, access data, and execute commands in a sea","directories":{},"_nodeVersion":"22.23.1","dependencies":{"cbor-x":"^1.6.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","prettier":"^3.4.2","typescript":"^5.7.3","@types/cbor":"^5.0.1","@changesets/cli":"^2.31.0"},"_npmOperationalInternal":{"tmp":"tmp/anedya-frontend-sdk_0.1.0-beta.4_1783578707981_0.5509037949255631","host":"s3://npm-registry-packages-npm-production"}},"0.1.1-beta.0":{"name":"@anedyasystems/anedya-frontend-sdk","version":"0.1.1-beta.0","keywords":["IoT","Anedya","SDK","JavaScript","TypeScript","commands","data-access","cloud","device-management","API","browser"],"author":{"name":"Anedya Systems"},"license":"Apache-2.0","_id":"@anedyasystems/anedya-frontend-sdk@0.1.1-beta.0","maintainers":[{"name":"suraj-maurya-npm","email":"suraj.maurya@anedya.io"},{"name":"anedya","email":"dev@anedya.io"}],"homepage":"https://anedya.io","bugs":{"url":"https://github.com/anedyaio/anedya-js-frontend-sdk/issues"},"dist":{"shasum":"c55856599c091826a60697cb6e44d4c5fd8b9939","tarball":"https://registry.npmjs.org/@anedyasystems/anedya-frontend-sdk/-/anedya-frontend-sdk-0.1.1-beta.0.tgz","fileCount":11,"integrity":"sha512-rxLZD5Mlkc3RJ0+ZAhXMihgzHwJlfWVW3xjheQVNU5TuzpHXKUVeoVQhmRBuq+fuKZ0vqPoPXQw0CLpmhz6i2g==","signatures":[{"sig":"MEQCIFC9COQFN2zch0DO+35Mmj21XZ5CNdyI24B3n41dbiGkAiBlpn6yz6IjrmoW7o/GRI1lDS0Tv1InkFXoTqnoyFSQ+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anedyasystems%2fanedya-frontend-sdk@0.1.1-beta.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":649485},"main":"dist/anedya.js","types":"dist/anedya.d.ts","unpkg":"dist/anedya.min.js","module":"dist/anedya.mjs","exports":{".":{"types":"./dist/anedya.d.ts","import":"./dist/anedya.mjs","default":"./dist/anedya.min.js","require":"./dist/anedya.js"}},"gitHead":"1602a39da1d609f2701b35fbd89a6de2f9d90342","scripts":{"dev":"tsup --watch","lint":"prettier --check \"src/**/*.ts\"","test":"node tests/test.mjs","build":"tsup","start":"node examples/application-example.js","format":"prettier --write \"src/**/*.ts\"","changeset":"changeset","typecheck":"tsc --noEmit","changeset:status":"changeset status","changeset:version":"changeset version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a6d42d7b-c5e1-4588-bd38-618cda725d8d"}},"jsdelivr":"dist/anedya.min.js","overrides":{"human-id":"4.1.3"},"repository":{"url":"git+https://github.com/anedyaio/anedya-js-frontend-sdk.git","type":"git"},"_npmVersion":"11.5.1","description":"Official Anedya Frontend SDK for JavaScript and TypeScript. This SDK provides a comprehensive set of tools and functionalities to interact with Anedya's IoT platform, enabling developers to easily manage devices, access data, and execute commands in a sea","directories":{},"_nodeVersion":"22.23.1","dependencies":{"cbor-x":"^1.6.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.0","prettier":"^3.4.2","typescript":"^5.7.3","@types/cbor":"^5.0.1","@changesets/cli":"^2.31.0"},"_npmOperationalInternal":{"tmp":"tmp/anedya-frontend-sdk_0.1.1-beta.0_1783922649134_0.7771642481255827","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@anedyasystems/anedya-frontend-sdk","description":"Official Anedya Frontend SDK for JavaScript and TypeScript. This SDK provides a comprehensive set of tools and functionalities to interact with Anedya's IoT platform, enabling developers to easily manage devices, access data, and execute commands in a sea","homepage":"https://anedya.io","repository":{"type":"git","url":"git+https://github.com/anedyaio/anedya-js-frontend-sdk.git"},"version":"0.1.1","author":{"name":"Anedya Systems"},"license":"Apache-2.0","main":"dist/anedya.js","module":"dist/anedya.mjs","types":"dist/anedya.d.ts","unpkg":"dist/anedya.min.js","jsdelivr":"dist/anedya.min.js","publishConfig":{"access":"public"},"exports":{".":{"types":"./dist/anedya.d.ts","import":"./dist/anedya.mjs","require":"./dist/anedya.js","default":"./dist/anedya.min.js"}},"scripts":{"build":"tsup","dev":"tsup --watch","test":"node tests/test.mjs","typecheck":"tsc --noEmit","lint":"prettier --check \"src/**/*.ts\"","format":"prettier --write \"src/**/*.ts\"","start":"node examples/application-example.js","changeset":"changeset","changeset:status":"changeset status","changeset:version":"changeset version"},"devDependencies":{"@changesets/cli":"^2.31.0","@types/cbor":"^5.0.1","prettier":"^3.4.2","tsup":"^8.5.0","typescript":"^5.7.3"},"keywords":["IoT","Anedya","SDK","JavaScript","TypeScript","commands","data-access","cloud","device-management","API","browser"],"dependencies":{"cbor-x":"^1.6.4"},"overrides":{"human-id":"4.1.3"},"_id":"@anedyasystems/anedya-frontend-sdk@0.1.1","gitHead":"e6078b13203779a554dbf199a21ec0ce37d730b1","bugs":{"url":"https://github.com/anedyaio/anedya-js-frontend-sdk/issues"},"_nodeVersion":"22.23.1","_npmVersion":"11.5.1","dist":{"integrity":"sha512-pbwy0Tf+/Oiw+FklKp4lPsr2Ej7Cxe4mD1u02U6q9EeKrGrrLgqLPuxmc0+6uAVAU34TLJnIyF1fnj3bjeHe8Q==","shasum":"1c3f447d30630524d7d40f5795f2e59c0fc5ba5a","tarball":"https://registry.npmjs.org/@anedyasystems/anedya-frontend-sdk/-/anedya-frontend-sdk-0.1.1.tgz","fileCount":11,"unpackedSize":649478,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@anedyasystems%2fanedya-frontend-sdk@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGDHq4GLf8O3bl3wsCSAsJm4fjGlrUmC2NwAcHSkKlqbAiEAyKiQ92q07AJnTE/7DvhSPCCxNjIB5f9yM/hjSlIz1OQ="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a6d42d7b-c5e1-4588-bd38-618cda725d8d"}},"directories":{},"maintainers":[{"name":"suraj-maurya-npm","email":"suraj.maurya@anedya.io"},{"name":"anedya","email":"dev@anedya.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/anedya-frontend-sdk_0.1.1_1783923466498_0.3347365012702066"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-29T07:39:28.659Z","modified":"2026-07-13T06:17:47.017Z","0.0.1":"2025-09-29T07:39:28.959Z","0.0.2":"2025-10-01T10:04:05.608Z","0.0.3-prerelease.0":"2026-07-02T19:44:24.256Z","0.1.0-beta.1":"2026-07-06T09:59:56.646Z","0.1.0-beta.2":"2026-07-06T11:46:51.039Z","0.1.0-beta.3":"2026-07-06T12:17:32.902Z","0.1.0":"2026-07-06T12:22:09.132Z","0.1.0-beta.4":"2026-07-09T06:31:48.109Z","0.1.1-beta.0":"2026-07-13T06:04:09.306Z","0.1.1":"2026-07-13T06:17:46.723Z"},"bugs":{"url":"https://github.com/anedyaio/anedya-js-frontend-sdk/issues"},"author":{"name":"Anedya Systems"},"license":"Apache-2.0","homepage":"https://anedya.io","keywords":["IoT","Anedya","SDK","JavaScript","TypeScript","commands","data-access","cloud","device-management","API","browser"],"repository":{"type":"git","url":"git+https://github.com/anedyaio/anedya-js-frontend-sdk.git"},"description":"Official Anedya Frontend SDK for JavaScript and TypeScript. This SDK provides a comprehensive set of tools and functionalities to interact with Anedya's IoT platform, enabling developers to easily manage devices, access data, and execute commands in a sea","maintainers":[{"name":"suraj-maurya-npm","email":"suraj.maurya@anedya.io"},{"name":"anedya","email":"dev@anedya.io"}],"readme":"[<img alt=\"PyPI\" src=\"https://img.shields.io/npm/v/%40anedyasystems%2Fanedya-frontend-sdk?style=for-the-badge\">](https://www.npmjs.com/package/@anedyasystems/anedya-frontend-sdk)&nbsp;&nbsp;[<img alt=\"Anedya Documentation\" src=\"https://img.shields.io/badge/Anedya-Documentation-blue?style=for-the-badge\">](https://docs.anedya.io?utm_source=github&utm_medium=link&utm_campaign=github-sdk&utm_content=js)\n\n\n<!---<div style=\"width:20%; margin:0 auto;margin-bottom:50px;margin-top:50px;\">-->\n<p align=\"center\">\n    <img src=\"https://cdn.anedya.io/anedya_black_banner.png\" alt=\"Logo\">\n</p>\n<!--</div>-->\n\n\n\n# Anedya Frontend SDK\n\nA JavaScript/TypeScript SDK for interacting with the [Anedya](https://anedya.io) IoT platform. It covers all the features required for front-end development, including time-series data, key-value store, device status, and live streaming.\n\n---\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Setup](#setup)\n- [Node Methods](#node-methods)\n  - [getNodeId](#getnodeid)\n  - [getData](#getdata)\n  - [getLatestData](#getlatestdata)\n  - [getSnapshot](#getsnapshot)\n  - [setKey](#setkey)\n  - [getKey](#getkey)\n  - [deleteKey](#deletekey)\n  - [scanKeys](#scankeys)\n  - [getDeviceStatus](#getdevicestatus)\n- [Live Streaming](#live-streaming)\n  - [Setup](#stream-setup)\n  - [onVariable](#onvariable)\n  - [onValueStore](#onvaluestore)\n  - [onAllMessages](#onallmessages)\n  - [Subscription control — pause, resume, cancel](#subscription-control--pause-resume-cancel)\n  - [Global pause & resume](#global-pause--resume)\n  - [Connection status & errors](#connection-status--errors)\n  - [Reconnection](#reconnection)\n  - [Data Shapes](#data-shapes)\n\n\n---\n\n## Installation\n\n```bash\nnpm install @anedyasystems/anedya-frontend-sdk\n```\n\n---\n\n## Setup\n\nEvery SDK operation starts by initialising a client and a node. Use environment variables to keep credentials out of your source code. The package ships both CommonJS and ESM builds, so the import syntax depends on your environment:\n\n**Node.js (CommonJS)** — `require`:\n\n```js\nconst { Anedya } = require(\"@anedyasystems/anedya-frontend-sdk\");\n\n\nconst anedya = new Anedya();\nconst config = anedya.newConfig(\"YOUR_TOKEN_ID\", \"YOUR_TOKEN\");\nconst client = anedya.newClient(config);\nconst node   = anedya.newNode(client, \"YOUR_NODE_ID\");\n```\n\n**React, Vite, Next.js, or any other bundler** — `import`:\n\n```js\nimport { Anedya } from \"@anedyasystems/anedya-frontend-sdk\";\n\nconst anedya = new Anedya();\nconst config = anedya.newConfig(\"YOUR_TOKEN_ID\", \"YOUR_TOKEN\");\nconst client = anedya.newClient(config);\nconst node   = anedya.newNode(client, \"YOUR_NODE_ID\");\n```\n\n**Plain browser `<script>` tag (no bundler)** — load the pre-built IIFE bundle, which exposes everything on `window.AnedyaSDK`:\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/@anedyasystems/anedya-frontend-sdk\"></script>\n<script>\n    const {\n      AnedyaError,\n      AnedyaScope,\n      AnedyaDataType,\n      AnedyaVariableType\n    } = window.Anedya;\n\n    // --- Initialize Anedya SDK Client ---\n    const anedya = new window.Anedya.Anedya();\n    const connectConfig = anedya.newConfig(tokenId, token);\n    const client = anedya.newClient(connectConfig);\n    const node1 = anedya.newNode(client, nodeIds[0]);\n    const stream = anedya.newStream(client, streamId, streamUrl);\n\n</script>\n```\n\n> There's no safe way to keep secrets out of plain client-side `<script>` code — anything in it is visible to anyone who views the page source. Only use hardcoded tokens here for local testing, not in anything you ship publicly.\n\n`client` holds your credentials and signs every request automatically. `node` is the entry point for all data and value store operations.\n\n---\n\n## Node Methods\n\n### `getNodeId`\n\nReturns the node ID string this instance was created with.\n\n```js\nconst id = node.getNodeId();\n```\n\n---\n\n### `getData`\n \nFetches time-series data for a variable within a time range.\n \n```js\nasync function getData() {\n  try {\n    const currentTime = Date.now(); // time in milliseconds\n    const twentyFourHoursDelayedTime = currentTime - 86400 * 1000;\n    const res = await node_1.getData({\n      variable: variables[0],\n      from: twentyFourHoursDelayedTime,\n      to: currentTime,\n      limit: 10\n    });\n\n    if (res.isDataAvailable) {\n      console.log(\"Data:\", res.data);\n    } else {\n      console.log(\"No data available in Requested timestamp!!\");\n    }\n  } catch (error) {\n    if (error instanceof AnedyaError) {\n      console.error(`Anedya Error: ${error.message} (Code: ${error.reasonCode})`);\n    } else {\n      console.error(\"Error fetching data:\", error);\n    }\n  }\n}\n```\n \n| Parameter | Type     | Description                              |\n|-----------|----------|------------------------------------------|\n| variable  | `string` | Variable identifier                      |\n| from      | `number` | Start timestamp in **milliseconds**      |\n| to        | `number` | End timestamp in **milliseconds**        |\n| limit     | `number` | Max data points to return 10K (default 1000)|\n| order     | `string` | \"asc\" or \"desc\" (default \"desc\")         |\n \n---\n\n\n### `getLatestData`\n\nReturns the single most recent data point for a variable.\n\n```js\nasync function getLatestData() {\n  try {\n    const res = await node_1.getLatestData(variables[0]);\n    if (res.isDataAvailable) {\n      console.log(\"Latest Data:\", res.data);\n    } else {\n      console.log(\"No latest data available!\");\n    }\n  } catch (error) {\n    if (error instanceof AnedyaError) {\n      console.error(`Anedya Error: ${error.message} (Code: ${error.reasonCode})`);\n    } else {\n      console.error(\"Error fetching latest data:\", error);\n    }\n  }\n}\n```\n\n---\n\n\n### `setKey`\n\nStores a key-value pair in the value store.\n\n```js\nasync function setKey() {\n  try {\n    await node_1.setKey({\n      namespace: { scope: AnedyaScope.NODE },\n      key: \"temperature\",\n      value: 30,\n      type: AnedyaDataType.FLOAT\n    });\n    console.log(\"Key set successfully!\");\n  } catch (error) {\n    if (error instanceof AnedyaError) {\n      console.error(`Anedya Error: ${error.message} (Code: ${error.reasonCode})`);\n    } else {\n      console.error(\"Error setting key:\", error);\n    }\n  }\n}\n```\n\n\n**Scopes:**\n\n| Scope              | Description                                      |\n|--------------------|--------------------------------------------------|\n| `AnedyaScope.NODE` | Key is local to this node only                   |\n| `AnedyaScope.GLOBAL` | Key is shared across all nodes in the account  |\n\n**Supported data types:** `STRING`, `BINARY`, `FLOAT`, `BOOLEAN`\n\n---\n\n### `getKey`\n\nRetrieves a stored value by key.\n\n```js\nasync function getKey() {\n  try {\n    const res = await node_1.getKey({\n      namespace: { scope: AnedyaScope.NODE },\n      key: \"temperature\"\n    });\n    console.log(\"Key fetched successfully!\", res.value);\n  } catch (error) {\n    if (error instanceof AnedyaError) {\n      console.error(`Anedya Error: ${error.message} (Code: ${error.reasonCode})`);\n    } else {\n      console.error(\"Error fetching key:\", error);\n    }\n  }\n}\n```\n\n\n---\n\n### `deleteKey`\n\nDeletes a key from the value store. The scope must match the one used when the key was created.\n\n```js\nasync function deleteKey() {\n  try {\n    await node_1.deleteKey({\n      namespace: { scope: AnedyaScope.NODE },\n      key: \"temperature\"\n    });\n    console.log(\"Key deleted successfully!\");\n  } catch (error) {\n    if (error instanceof AnedyaError) {\n      console.error(`Anedya Error: ${error.message} (Code: ${error.reasonCode})`);\n    } else {\n      console.error(\"Error deleting key:\", error);\n    }\n  }\n}\n```\n\n\n---\n\n### `scanKeys`\n\nLists keys in the value store for a given namespace, with ordering and pagination. Returns up to 100 keys per call.\n\n```js\nasync function scanKeys() {\n  try {\n    const res = await node_1.scanKeys({\n      filter: { namespace: { scope: AnedyaScope.NODE } },\n      orderby: \"namespace\",\n      order: \"asc\",\n      limit: 10,\n      offset: 0\n    });\n    console.log(\"Keys scanned successfully!\", res.data);\n  } catch (error) {\n    if (error instanceof AnedyaError) {\n      console.error(`Anedya Error: ${error.message} (Code: ${error.reasonCode})`);\n    } else {\n      console.error(\"Error scanning Keys:\", error);\n    }\n  }\n}\n```\n\n\n---\n\n## Node Methods\n \n...\n \n### `getDeviceStatus`\n \nChecks whether the node is online based on when it last sent a heartbeat.\n \n```js\ntry {\n    const res = await node_1.getDeviceStatus(10);\n    const data = res.data\n    console.log(\"Device Status:\", data);\n  } catch (error) {\n    if (error instanceof AnedyaError) {\n      console.error(`Anedya Error: ${error.message} (Code: ${error.reasonCode})`);\n    } else {\n      console.error(\"Error getting Device Status:\", error);\n    }\n  }\n```\n \nPass a `lastContactThreshold` in seconds. If the device sent a heartbeat within that window, it is considered online.\n \n---\n\n\n## Live Streaming\n\nThe stream client opens a WebSocket connection and delivers incoming data to subscriber callbacks in real time.\n\n### Stream Setup\n\n```js\nconst stream = anedya.newStream(\n  client,\n  \"your-stream-id\",\n  \"wss://&lt;host&gt;.acs-r1.ap-in-1.anedya.io/v1/streams/connect\"\n);\n\nstream.onStatus((status) => console.log(\"Status:\", status));\nstream.onError((err)   => console.error(\"Error:\", err));\n\nawait stream.connect();\n```\n\nTo close the stream permanently:\n\n```js\nstream.disconnect(); // no reconnect will happen after this\n```\n\n---\n\n### `onVariable`\n\nFires whenever a variable message arrives matching the given node IDs and variable identifiers.  \nPass `[\"*\"]` as either argument to match **all** nodes or **all** variables.\n\n```js\nconst sub = stream.onVariable(\n  [\"node-uuid-1\", \"node-uuid-2\"],  // node IDs  — [\"*\"] for all nodes\n  [\"temperature\", \"humidity\"],      // variables — [\"*\"] for all variables\n  (data) => {\n    switch (data.dataType) {\n      case AnedyaVariableType.FLOAT:\n        console.log(`[FLOAT]  ${data.variable} = ${data.value}`);\n        break;\n\n      case AnedyaVariableType.GEO_COORDINATE: {\n        const geo = data.value; // GeoCoordinateData { lat, lng }\n        console.log(`[GEO]    ${data.variable} → lat: ${geo.lat}, lng: ${geo.lng}`);\n        break;\n      }\n\n      case AnedyaVariableType.STATUS:\n        console.log(`[STATUS] ${data.variable} = \"${data.value}\"`);\n        break;\n\n      default:\n        console.log(`[TYPE:${data.dataType}] ${data.variable} =`, data.value);\n    }\n  }\n);\n```\n\n---\n\n### `onValueStore`\n\nFires whenever a value store update arrives matching the given node IDs and keys.  \nPass `[\"*\"]` as either argument to match **all** nodes or **all** keys.\n\n```js\nconst sub = stream.onValueStore(\n  [\"node-uuid-1\"],   // node IDs — [\"*\"] for all nodes\n  [\"threshold\"],     // keys     — [\"*\"] for all keys\n  (data) => {\n    console.log(\"Key:\", data.key, \"Value:\", data.value);\n    console.log(\"nodeId:         \", data.nodeId);           // convenience alias\n    console.log(\"namespace.scope:\", data.namespace.scope);  // e.g. \"node\"\n    console.log(\"namespace.id:   \", data.namespace.id);     // same as nodeId\n  }\n);\n```\n\n---\n\n### `onAllMessages`\n\nFires for **every** incoming message on the stream — both variable and value store — regardless of variable name or key. Useful for logging or building generic handlers.\n\nEach delivered object carries a `kind` discriminant: `\"variable\"` or `\"valuestore\"`.\n\n```js\nconst sub = stream.onAllMessages((data) => {\n  if (data.kind === \"variable\") {\n    console.log(\"Variable:\", data.variable, data.value, \"node:\", data.nodeId);\n  } else {\n    console.log(\"ValueStore:\", data.key, data.value, \"node:\", data.nodeId);\n  }\n});\n```\n\n---\n\n### Subscription control — pause, resume, cancel\n\nEvery subscription method returns a handle. Controls affect only that one subscription — the connection and all other subscriptions are unaffected.\n\n```ts\ninterface IStreamSubscription {\n  pause(): void;   // stop delivering to this callback (connection stays open)\n  resume(): void;  // re-enable delivery (messages during pause are not replayed)\n  cancel(): void;  // permanently remove this subscription\n}\n```\n\n**pause / resume** — temporarily stop and restart a subscription:\n\n```js\nconst sub = stream.onVariable([\"*\"], [\"temperature\"], (data) => {\n  if (data.value > 90) {\n    sub.pause();\n    setTimeout(() => sub.resume(), 10_000);\n  }\n});\n```\n\n**cancel** — permanently unsubscribe after a condition is met:\n\n```js\nconst sub = stream.onValueStore([\"*\"], [\"config\"], (data) => {\n  applyConfig(data.value);\n  sub.cancel(); // one-shot: remove after first hit\n});\n```\n\n---\n\n### Global pause & resume\n\nPauses or resumes delivery to **all** callbacks at once without closing the connection.\n\n```js\nstream.pause();   // all callbacks stop receiving\nstream.resume();  // all callbacks start receiving again\n```\n\n> If a subscription was individually paused before `stream.pause()`, calling `stream.resume()` will not un-pause it — you still need to call `sub.resume()` separately.\n\n---\n\n### Connection status & errors\n\n```js\nstream.onStatus((status) => {\n  // \"connected\" | \"disconnected\" | \"reconnecting\"\n  console.log(\"Stream status:\", status);\n});\n\nstream.onError((err) => {\n  console.error(\"Stream error:\", err);\n});\n```\n\n---\n\n### Reconnection\n\nIf the connection drops unexpectedly, the stream automatically retries with a 3-second delay, up to 5 attempts. Calling `disconnect()` cancels all future reconnect attempts. Subscriptions survive reconnects and resume firing once the connection is restored.\n\n---\n\n### Variable Data Types — `AnedyaVariableType`\n\nUse the `AnedyaVariableType` constants instead of raw numbers when inspecting `data.dataType`:\n\n| Constant | Value | `data.value` shape |\n|---|---|---|\n| `AnedyaVariableType.FLOAT` | `1` | `number` |\n| `AnedyaVariableType.GEO_COORDINATE` | `2` | `GeoCoordinateData` — `{ lat, lng }` |\n| `AnedyaVariableType.STATUS` | `3` | `string` |\n\n```js\nconst { AnedyaVariableType } = require(\"@anedyasystems/anedya-frontend-sdk\");\n\nstream.onVariable([\"*\"], [\"*\"], (data) => {\n  if (data.dataType === AnedyaVariableType.GEO_COORDINATE) {\n    const geo = data.value; // { lat: number, lng: number }\n    console.log(geo.lat, geo.lng);\n  }\n});\n```\n\n---\n\n### Data Shapes\n\n**`VariableData`** — delivered by `onVariable` and `onAllMessages` (tagged `kind: \"variable\"`):\n\n```ts\n{\n  nodeId:    string | undefined        // source node UUID\n  variable:  string                    // variable identifier (e.g. \"temperature\")\n  value:     number                    // FLOAT\n           | string                    // STATUS\n           | GeoCoordinateData         // GEO_COORDINATE — { lat: number, lng: number }\n  timestamp: number                    // Unix milliseconds\n  dataType:  number                    // see AnedyaVariableType\n}\n```\n\n**`GeoCoordinateData`** — the `value` shape for `AnedyaVariableType.GEO_COORDINATE`:\n\n```ts\n{\n  lat: number   // latitude\n  lng: number   // longitude\n}\n```\n\n**`ValueStoreData`** — delivered by `onValueStore` and `onAllMessages` (tagged `kind: \"valuestore\"`):\n\n```ts\n{\n  nodeId:    string | undefined        // convenience alias — same as namespace.id\n  namespace: {\n    scope:   string | undefined        // store scope (e.g. \"node\")\n    id:      string | undefined        // node UUID\n  }\n  key:       string                    // key name\n  value:     string | number | boolean // stored value\n  timestamp: number                    // Unix seconds\n  type:      string | number           // value type metadata\n}\n```\n\n**`AllMessagesData`** — union delivered by `onAllMessages`:\n\n```ts\ntype AllMessagesData =\n  | (VariableData   & { kind: \"variable\" })\n  | (ValueStoreData & { kind: \"valuestore\" });\n```\n\n\n","readmeFilename":"README.md"}