{"_id":"@calmlens/js-sdk","_rev":"23-3ff62c850d616a10784abb2b0e840040","name":"@calmlens/js-sdk","dist-tags":{"latest":"0.0.23"},"versions":{"0.0.0":{"name":"@calmlens/js-sdk","version":"0.0.0","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.0","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"e8973d2929b47da8bb99898f9466480ae960e9cd","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.0.tgz","fileCount":38,"integrity":"sha512-lryWyDrvSK2U+w2yDkFGV5gg2sfGSW0VQPMC8U2pds/h689IbzqVNuUEgNOqxr+ZuZcWiW/pxYKa/WWBqkHkdg==","signatures":[{"sig":"MEUCIQC6h3OT1rAckM0qVDOdWWoNi5nbxuKZpsbXRAJAw5A/gAIgOG8raSADfsMdAZe5wo+SAeLE5Da5OtnL3DdPJgXv8G4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69228},"jest":{"transform":{"^.+\\.(t|j)sx?$":["@swc/jest",{"env":{}}]}},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","gitHead":"3018c2ccce418573450f0f52cb92b8cc85a0394c","scripts":{"test":"echo 'Tests pass'","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --target es5 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.5.1","description":"Typed APIs with middleware support","directories":{},"sideEffects":false,"_nodeVersion":"24.7.0","dependencies":{"api-def":"^0.12.0-alpha.55"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.1.3","jest":"30.2.0","chalk":"4.1.2","rimraf":"6.0.1","esbuild":"^0.25.10","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","cross-env":"10.1.0","@types/bun":"^1.2.22","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"24.6.2","npm-run-all":"4.1.5","@types/lodash":"^4.17.20","@biomejs/biome":"^2.2.5"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.0_1759655573941_0.6624431713374894","host":"s3://npm-registry-packages-npm-production"}},"0.0.1":{"name":"@calmlens/js-sdk","version":"0.0.1","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.1","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"d22546a29df9b5bfc47d33bd5e5d6b6ccf674a4c","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.1.tgz","fileCount":38,"integrity":"sha512-6T1BaUbsdq2xrBVNhsJNDSLchQCNkYsaKuin6pfLF3DA+pZuJlwPJ6yhvii/L8B+7s6ODXMv5iWGnrZo4hp2fQ==","signatures":[{"sig":"MEUCIQDon2ydpTogA0ru6cca1TxlvFV4NFhdklcNyVA4TyYS1AIgPGq74sJZa4XvqcWLbQjKaZBRpWLk3CAe+vmL+QwvA2I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72889},"jest":{"transform":{"^.+\\.(t|j)sx?$":["@swc/jest",{"env":{}}]}},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","gitHead":"3018c2ccce418573450f0f52cb92b8cc85a0394c","scripts":{"test":"echo 'Tests pass'","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --target es5 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.5.1","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"24.7.0","dependencies":{"api-def":"^0.12.0-alpha.55"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.1.3","jest":"30.2.0","chalk":"4.1.2","rimraf":"6.0.1","esbuild":"^0.25.10","@swc/core":"^1.13.5","@swc/jest":"^0.2.39","cross-env":"10.1.0","@types/bun":"^1.2.22","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"24.6.2","npm-run-all":"4.1.5","@types/lodash":"^4.17.20","@biomejs/biome":"^2.2.5"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.1_1759655728035_0.40404764917685343","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@calmlens/js-sdk","version":"0.0.2","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.2","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"db5de9bbc5cb840d4fc1f058c2b0707ba910fb11","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.2.tgz","fileCount":82,"integrity":"sha512-nAm3xWV7RDuCL7wWNzr4IAsulydSHVJVnxJ+GYuU3f7MG0eGnjpM+4+L8fXWMwvvhk2z7Y9gSClTfieDle1Gtw==","signatures":[{"sig":"MEUCIDeVkQcjispVloAIvkeKzsP2iwaRTwEup+Q0G5QE+ijbAiEAiBdd+lRByeayjr8OLt8GDQm4aZKQ6o09nJCbTXEekjs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":375096},"jest":{"transform":{"^.+\\.(t|j)sx?$":["@swc/jest",{"env":{}}]}},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","gitHead":"e4b710666cf1c08e871c379d9e7b09f2c18a6f0e","scripts":{"test":"echo 'Tests pass'","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --moduleResolution node --target es5 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.6.2","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"api-def":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.1.3","jest":"30.2.0","chalk":"4.1.2","rimraf":"6.1.2","esbuild":"^0.27.2","@swc/core":"^1.15.8","@swc/jest":"^0.2.39","cross-env":"10.1.0","@types/bun":"^1.3.6","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"25.0.9","npm-run-all":"4.1.5","@types/lodash":"^4.17.23","@biomejs/biome":"^2.3.11"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.2_1768661328243_0.2774094320352789","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@calmlens/js-sdk","version":"0.0.3","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.3","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"4f5829811e7f59b500ab757a5021bdc0057dcb05","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.3.tgz","fileCount":82,"integrity":"sha512-PRgFm0WI8itaIzo5woVe/XyBcy7izseNlbrcYWBKReuh1xdEUF2R1Z8Lj6Aj0ShATrUBFSrr84Sa9yzPOqGj2A==","signatures":[{"sig":"MEYCIQD+Y3mVrvF8/8wQXxkbh6Z95ZwmfOzKgV9H2JYSA+YHgAIhAOHuXPUSUx1nbgSQpRuY8qiJVG7fC76bG76Gre1JeZm0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":381169},"jest":{"transform":{"^.+\\.(t|j)sx?$":["@swc/jest",{"env":{}}]}},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","gitHead":"e4b710666cf1c08e871c379d9e7b09f2c18a6f0e","scripts":{"test":"echo 'Tests pass'","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --moduleResolution node --target es5 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.6.2","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"api-def":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.1.3","jest":"30.2.0","chalk":"4.1.2","rimraf":"6.1.2","esbuild":"^0.27.2","@swc/core":"^1.15.8","@swc/jest":"^0.2.39","cross-env":"10.1.0","@types/bun":"^1.3.6","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"25.0.9","npm-run-all":"4.1.5","@types/lodash":"^4.17.23","@biomejs/biome":"^2.3.11"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.3_1768684230840_0.9765338165681818","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@calmlens/js-sdk","version":"0.0.4","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.4","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"2bd9591e010126efb59ade0746078a2399573960","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.4.tgz","fileCount":82,"integrity":"sha512-Zrb2eg3l2nbOrGjR7vu3QkztXADeG2iuacNIQPPwWEbTdSJOLKKyWFVSQyuTomDT9xTFn8pjZIpDfO9pGfeMnw==","signatures":[{"sig":"MEUCIQCl7AA1WK+BUBLAjiX17D+s6g6Qv1lKb1FVQsux/98wZwIgEvvukvl8V876VunAy6eBDk1m4w89v0O+BV/DoWdDJf8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":383959},"jest":{"transform":{"^.+\\.(t|j)sx?$":["@swc/jest",{"env":{}}]}},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","gitHead":"e4b710666cf1c08e871c379d9e7b09f2c18a6f0e","scripts":{"test":"echo 'Tests pass'","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --moduleResolution node --target es5 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.6.2","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"api-def":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.1.3","jest":"30.2.0","chalk":"4.1.2","rimraf":"6.1.2","esbuild":"^0.27.2","@swc/core":"^1.15.8","@swc/jest":"^0.2.39","cross-env":"10.1.0","@types/bun":"^1.3.6","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"25.0.9","npm-run-all":"4.1.5","@types/lodash":"^4.17.23","@biomejs/biome":"^2.3.11"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.4_1768746167086_0.3377193537010026","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@calmlens/js-sdk","version":"0.0.5","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.5","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"d860dbdbe88424daecdf229f18f24aca8a2c7a3a","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.5.tgz","fileCount":82,"integrity":"sha512-FlKk2GeLxfGiikykd8voJeQiMwkVC95dK65Wd8E8+BeAZNzIMfPF+MVoVyX++Otpw97RDGxDBhMS3Mxrc83+UA==","signatures":[{"sig":"MEUCIGQnZ8Y9qNnsliJdtNTNCHvNO8cm4ti7vEuAc3K5yB80AiEAsycHfyIrLk5Hp2XxXglcfkbryPnfUJQtIJ+1kQ61nU4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":387128},"jest":{"transform":{"^.+\\.(t|j)sx?$":["@swc/jest",{"env":{}}]}},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","gitHead":"a0a50d51c381892106eef5b978fb353669c09f07","scripts":{"test":"echo 'Tests pass'","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --moduleResolution node --target es5 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.6.2","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"api-def":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.1.3","jest":"30.2.0","chalk":"4.1.2","rimraf":"6.1.2","esbuild":"^0.27.2","@swc/core":"^1.15.10","@swc/jest":"^0.2.39","cross-env":"10.1.0","@types/bun":"^1.3.6","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"25.0.9","npm-run-all":"4.1.5","@types/lodash":"^4.17.23","@biomejs/biome":"^2.3.11"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.5_1769022629729_0.6897077622917043","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@calmlens/js-sdk","version":"0.0.6","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.6","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"93b9f05d426f67c713bc5ad356b88094067ecab6","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.6.tgz","fileCount":82,"integrity":"sha512-kudUw1U3JlbQVS6CkNLnHiBPUjIfqJJx9DtR8YPOX3OZSGLmd/g4jokCAqkT4EC4w0nURiOc2ZOJRqg8K7AF7Q==","signatures":[{"sig":"MEUCIQDr+b/sCsHo7z8SR68jt/G/45JJx7OBB1NSqS1I7arrkQIgWB2ePTlA8GBh+A8IM8ohjff2daKBs1UXgLaAOTZLzAU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":411577},"jest":{"transform":{"^.+\\.(t|j)sx?$":["@swc/jest",{"env":{}}]}},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","gitHead":"a0a50d51c381892106eef5b978fb353669c09f07","scripts":{"test":"echo 'Tests pass'","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --moduleResolution node --target es5 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.6.2","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"api-def":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"4.1.3","jest":"30.2.0","chalk":"4.1.2","rimraf":"6.1.2","esbuild":"^0.27.2","@swc/core":"^1.15.10","@swc/jest":"^0.2.39","cross-env":"10.1.0","@types/bun":"^1.3.6","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"25.0.9","npm-run-all":"4.1.5","@types/lodash":"^4.17.23","@biomejs/biome":"^2.3.11"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.6_1769024798500_0.41003662040031696","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@calmlens/js-sdk","version":"0.0.7","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.7","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"7861ef8cb27e7587885122a81370ea87f7632b98","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.7.tgz","fileCount":78,"integrity":"sha512-gVhlkangBmHXXSahaS7LOdWFv5jVCxwETRMlX1vR3CXfGidMdqvudG1jvY08AH2UTxnt3q6FVM3MlLxvkzWfQA==","signatures":[{"sig":"MEUCIQCRdZHe9YEW5W1xuTblKC1Scfy2bghXLLeKf2AZN29dxAIgGYc6VwwSD/Xqpw6WPv0aoq0FyqFY+owwI4ASf8TY22M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":438153},"jest":{"transform":{"^.+\\.(t|j)sx?$":["@swc/jest",{"env":{}}]}},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","gitHead":"821f73f86dc3d9eb3e8b778aae7ac60af5ee3570","scripts":{"test":"echo 'Tests pass'","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --target es6 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.12.1","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"api-def":"^0.12.1"},"_hasShrinkwrap":false,"devDependencies":{"zod":"catalog:","jest":"30.3.0","chalk":"4.1.2","rimraf":"6.1.3","esbuild":"^0.28.0","@swc/core":"^1.15.30","@swc/jest":"^0.2.39","cross-env":"10.1.0","@types/bun":"^1.3.12","typescript":"catalog:","@types/jest":"^30.0.0","@types/node":"25.6.0","npm-run-all":"4.1.5","@types/lodash":"^4.17.24","@biomejs/biome":"^2.4.12"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.7_1778387657997_0.8580820738665178","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@calmlens/js-sdk","version":"0.0.8","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.8","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"2a1e376907a1afc445f5ab827d8c4892818e4e14","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.8.tgz","fileCount":94,"integrity":"sha512-wnu+6BWeNW6M45ZS9ri4aRHhcm6ry+OJwn/8xVpcqVVrijeqs1ZiJkRv1bXhuwTtLQQw/2CFj0XM/1oKoFLOeA==","signatures":[{"sig":"MEUCIGWei33DHm0+bRDjHnEz3JMAh+A8Xl2nuP6zCI2OTM4LAiEAi70XmzBa2yMyi1Y4/3HqkwW4EQxDMelx2GQNNRidtxc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":488023},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","exports":{".":{"types":"./esm/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./testing":{"types":"./esm/testing.d.ts","import":"./esm/testing.js","require":"./cjs/testing.js"}},"gitHead":"3635507b26900cbefe207263536bbc3d233be925","scripts":{"test":"bun test tests","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --target es6 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.12.1","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"api-def":"^0.12.1"},"_hasShrinkwrap":false,"devDependencies":{"zod":"catalog:","rimraf":"6.1.3","@types/bun":"^1.3.13","typescript":"catalog:","@types/node":"25.8.0","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.8_1780332261329_0.3117125163544101","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@calmlens/js-sdk","version":"0.0.9","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.9","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"a554c4b5447fcd66857a2c72a5bcddc253fda74a","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.9.tgz","fileCount":106,"integrity":"sha512-t48mvJiwCaN8F/QLmPaUVKb6N348D16RMZid1eRKvlNIwoDUSlo4EBBWQyFFEHPdedbA5ls6KW255ZVFTdkLdQ==","signatures":[{"sig":"MEUCIQDtMf/g9EHrWp8jxVPTLjOaqaEicCHpsZTkogTZQFdmGgIgfWNJhs6mNaFvaAfWlIH+CS2tzX6M2wnA+GrYejypUjs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":553002},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","exports":{".":{"types":"./esm/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./testing":{"types":"./esm/testing.d.ts","import":"./esm/testing.js","require":"./cjs/testing.js"}},"gitHead":"07ee5170709f2ed606520fc672b12dedac8dd295","scripts":{"test":"bun test tests","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --target es6 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.12.1","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"api-def":"^0.14.0-alpha.1"},"_hasShrinkwrap":false,"devDependencies":{"zod":"catalog:","rimraf":"6.1.3","@types/bun":"^1.3.13","typescript":"catalog:","@types/node":"25.9.1","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.9_1780570312722_0.4602128112622148","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@calmlens/js-sdk","version":"0.0.10","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.10","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"e9fba1176a540943ff8b2f9ab7990a7d9fbdf164","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.10.tgz","fileCount":106,"integrity":"sha512-/9alSnM393EwnJtcjY6uwdx21pqep9/YOzeiko0NzYNrmYnMOv0P6MI//LzvCfqyrz3XcBT6FJq0d4WjZkXG7A==","signatures":[{"sig":"MEUCIAyC/wgR4Qjh8XXKD3THm0m/2x9Oou9iNDsKmHAkX63QAiEA9XslwzI99nCdCSf3ld/5sqIjeQecX5PP2NuxTeOtw08=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":570083},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","exports":{".":{"types":"./esm/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./testing":{"types":"./esm/testing.d.ts","import":"./esm/testing.js","require":"./cjs/testing.js"}},"gitHead":"e421d3eed56f569d07550570e49aba2e77012109","scripts":{"test":"bun test tests","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --target es6 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.12.1","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"api-def":"catalog:"},"_hasShrinkwrap":false,"devDependencies":{"zod":"catalog:","rimraf":"6.1.3","@types/bun":"^1.3.13","typescript":"catalog:","@types/node":"25.9.2","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.10_1780935820096_0.36748453984231566","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@calmlens/js-sdk","version":"0.0.11","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.11","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"6781261259be13640a34bbc820b4d13ab42b14a2","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.11.tgz","fileCount":102,"integrity":"sha512-4yWUXib+YHuw0t9dCNY/cFNmXf1OJkWHyindB9XbtQQmWOylmDoCrygHUh4agF+OfAfvTXfvHdlfJQCB8p5IuQ==","signatures":[{"sig":"MEUCIQDixYmX7X270zOtzaBk2pv6tfZdW09H7R6qa8KiR1sGLQIgamnT2cFd/VvH/Jh+sx00gndfSrtmkYG95K/+Jyqzibc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":574851},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","exports":{".":{"types":"./esm/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./testing":{"types":"./esm/testing.d.ts","import":"./esm/testing.js","require":"./cjs/testing.js"}},"gitHead":"e88cbf9f1b4b8f1e43ef1faf30f05396392beef9","scripts":{"test":"bun test tests","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --target es6 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.16.0","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"26.3.0","dependencies":{"api-def":"catalog:"},"_hasShrinkwrap":false,"devDependencies":{"zod":"catalog:","rimraf":"6.1.3","@types/bun":"^1.3.13","typescript":"catalog:","@types/node":"25.9.2","@biomejs/biome":"^2.4.15"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.11_1781333191453_0.5919569271389977","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@calmlens/js-sdk","version":"0.0.12","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.12","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"b74d7577cdf02cd6677427343fd5868aad327256","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.12.tgz","fileCount":102,"integrity":"sha512-qKIDUSTzSbRDJrCKAZcGLNR1a+srRF2Qrd5A7m2kioYP/fDAIToPEbh4gYbNWn4TbRnIzz+qF3FbmXXsov8mnw==","signatures":[{"sig":"MEQCIElg0OeynEPHBEPW8JNtZp8hXjhKMkxp5Fb19SyP00VWAiAmZ9glBcvoggez1jdyBEFnesTBZT+es4WxuWl5/Ss67Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":575050},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","exports":{".":{"types":"./esm/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./testing":{"types":"./esm/testing.d.ts","import":"./esm/testing.js","require":"./cjs/testing.js"}},"gitHead":"4092e8d2b0e03e60fa2f656943eca510cad08671","scripts":{"test":"bun test tests","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --target es6 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.16.0","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"26.3.0","dependencies":{"api-def":"catalog:"},"_hasShrinkwrap":false,"devDependencies":{"zod":"catalog:","rimraf":"6.1.3","@types/bun":"^1.3.13","typescript":"catalog:","@types/node":"26.1.0","@biomejs/biome":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.12_1783756380812_0.4956515241638979","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@calmlens/js-sdk","version":"0.0.14","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.14","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"61586b05399f3935f653e4bf7680ac701cd836b4","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.14.tgz","fileCount":114,"integrity":"sha512-KT3IMMj8a/oa7oTqWpShetSS5+QQUiBPEg7VmaZALyKn3ufdFVli2lbY6CQLq+GtbMOPRzYfTb+6YXUwbEbjaA==","signatures":[{"sig":"MEQCIAfkyN9qFTlzGq2ZhGER0Nr5kZCxlGVhprE5YQ/0IkWfAiA7gNzjOvzEXMJmkHh9r2FCBpKrV1Mn4Nt9b289I0F++w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":708543},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","exports":{".":{"types":"./esm/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./testing":{"types":"./esm/testing.d.ts","import":"./esm/testing.js","require":"./cjs/testing.js"}},"gitHead":"d2eb819ef2060dfc5964434481f4911c333bfadf","scripts":{"test":"bun test tests","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --target es6 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.16.0","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"26.3.0","dependencies":{"api-def":"catalog:"},"_hasShrinkwrap":false,"devDependencies":{"zod":"catalog:","rimraf":"6.1.3","@types/bun":"^1.3.13","typescript":"catalog:","@types/node":"26.1.1","@biomejs/biome":"^2.5.4"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.14_1786460751178_0.6991467502100825","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@calmlens/js-sdk","version":"0.0.15","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.15","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"68807d938f661c6cff5893937d77432ba61febb6","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.15.tgz","fileCount":114,"integrity":"sha512-rOF8uueJADv71eQQqMB2HBwO75c0NA2ou6i+1GPc1m0x44z2E79rhMmMBu0YfVQOjVFlGqR07MxpX/rdmcXcxw==","signatures":[{"sig":"MEUCIQDFi27R0Mh/buXvaegHjLwSgIvsGeoPjLArOXRBvzPqkQIgKBtWbqFl7cluqp76hGc/EDyX5yV6pxdV1J1KKpAOCN8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":728339},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","exports":{".":{"types":"./esm/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./testing":{"types":"./esm/testing.d.ts","import":"./esm/testing.js","require":"./cjs/testing.js"}},"gitHead":"d2eb819ef2060dfc5964434481f4911c333bfadf","scripts":{"test":"bun test tests","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --target es6 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.16.0","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"26.3.0","dependencies":{"api-def":"catalog:"},"_hasShrinkwrap":false,"devDependencies":{"zod":"catalog:","rimraf":"6.1.3","@types/bun":"^1.3.13","typescript":"catalog:","@types/node":"26.1.1","@biomejs/biome":"^2.5.4"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.15_1786462064418_0.780733323555648","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@calmlens/js-sdk","version":"0.0.16","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.16","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"b29dbcf708951c1751539d3eb97e79a81a54a352","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.16.tgz","fileCount":114,"integrity":"sha512-44wRudIW642Cgm4Zlr0j5uv/HsGyTqKUT1aB5twjrZS8nJ5d3DkLg0/xEScybut4XX4MHRIxHzqWNONRlKIyBQ==","signatures":[{"sig":"MEYCIQDNHnZnb9sOTN6/WsNOQgQHlW/AwCoo2s/1y/dw0+HHewIhAJbfV9uj4yx2hrv3ERuUuEeUY1VgF3MiTXP8n1vsYRN5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":732186},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","exports":{".":{"types":"./esm/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./testing":{"types":"./esm/testing.d.ts","import":"./esm/testing.js","require":"./cjs/testing.js"}},"gitHead":"2a4c3c3417de868e716c344d4153e377d01c8c96","scripts":{"test":"bun test --parallel=4 tests","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --target es6 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.16.0","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"26.3.0","dependencies":{"api-def":"catalog:"},"_hasShrinkwrap":false,"devDependencies":{"zod":"catalog:","rimraf":"6.1.3","@types/bun":"^1.3.13","typescript":"catalog:","@types/node":"26.1.1","@biomejs/biome":"^2.5.8"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.16_1786979647265_0.5603031780215566","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"@calmlens/js-sdk","version":"0.0.17","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.17","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"50e282271473820d919ec9727fffe831d81a3e88","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.17.tgz","fileCount":114,"integrity":"sha512-ol4MyiDBBSNgGklmXnIqfUZh9dTG4XymRoWe2T3xEudQ7VEvazpoRpnbsZ2TlrMKUHnWMoQHMIaweU2Nej8rZQ==","signatures":[{"sig":"MEQCICeFQPSTjtZviZjDDcTuJrMl0ceB+7rcTCoTf0mCn44sAiBiw0iG00usL6lFJNt5oR1++FTw5b74DX6iBSY2p9XlWQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":775326},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","exports":{".":{"types":"./esm/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./testing":{"types":"./esm/testing.d.ts","import":"./esm/testing.js","require":"./cjs/testing.js"}},"gitHead":"e3ade2721ab84c613edc9157c553cb5b85202496","scripts":{"test":"bun test --parallel=4 tests","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --target es6 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.16.0","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"26.3.0","dependencies":{"api-def":"catalog:"},"_hasShrinkwrap":false,"devDependencies":{"zod":"catalog:","rimraf":"6.1.3","@types/bun":"^1.3.13","typescript":"catalog:","@types/node":"26.1.1","@biomejs/biome":"^2.5.8"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.17_1787056058919_0.3871775952076779","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"@calmlens/js-sdk","version":"0.0.18","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.18","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"7f622a87845ebd40fd32e77251b19cf1abdecb45","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.18.tgz","fileCount":114,"integrity":"sha512-9IcCwMopOEcV2ayzW7DlkkCRPvVRPEZdhhVaYr1NZbJOgajZj+Q2cophfOpXv3FkyRDfTjP61XVEgg9/kgyLiA==","signatures":[{"sig":"MEUCIQCNxg5VJ+zaNuGA5WXIn0qmK8lvtqjZEZILaOODAQAHNwIgb+Jo3YYMdNDR3VRckQ/wqhNxJgQiQ4l3Ihv7Y0Iwi+c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":775351},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","exports":{".":{"types":"./esm/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./testing":{"types":"./esm/testing.d.ts","import":"./esm/testing.js","require":"./cjs/testing.js"}},"gitHead":"1e4d45ca49841a5d2795f8ac9cde23295a6fa7ec","scripts":{"test":"bun test --parallel=4 tests","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --target es6 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.16.0","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"26.3.0","dependencies":{"api-def":"0.14.3"},"_hasShrinkwrap":false,"devDependencies":{"zod":"catalog:","rimraf":"6.1.3","@types/bun":"^1.3.13","typescript":"catalog:","@types/node":"26.2.0","@biomejs/biome":"^2.5.9"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.18_1787306379658_0.5038067186579656","host":"s3://npm-registry-packages-npm-production"}},"0.0.19":{"name":"@calmlens/js-sdk","version":"0.0.19","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.19","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"045cdbd2ae4a19e021bfa9154caf0285d844ea3a","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.19.tgz","fileCount":114,"integrity":"sha512-HjFXNGs1epydRyTbwH6pjrN6hWQ+AT+nkOE4nItaN38ShkkIq2sytbe5MHAwmgYo8uiJq1JclmLl1owm4tlgjA==","signatures":[{"sig":"MEUCIGTvRR6oN8MuK6kgbBI+bQMzSIEY+IAt2I3L7yVtHPTVAiEAkcxkHiUnhSc7ETDEgzYG3zuFZ2AOoDSJBhuOTBZ8Ias=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":807301},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","exports":{".":{"types":"./esm/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./testing":{"types":"./esm/testing.d.ts","import":"./esm/testing.js","require":"./cjs/testing.js"}},"gitHead":"f208525b3a7196042abb665be475f064fcddc0bb","scripts":{"test":"bun test --parallel=4 tests","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --target es6 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.16.0","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"26.3.0","dependencies":{"api-def":"0.14.3"},"_hasShrinkwrap":false,"devDependencies":{"zod":"catalog:","rimraf":"6.1.3","@types/bun":"^1.3.13","typescript":"catalog:","@types/node":"26.2.0","@biomejs/biome":"^2.5.9"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.19_1788081770721_0.21656176319657638","host":"s3://npm-registry-packages-npm-production"}},"0.0.20":{"name":"@calmlens/js-sdk","version":"0.0.20","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.20","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"a0b403315453d86ac01c4d742d3bb3b4d276c907","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.20.tgz","fileCount":130,"integrity":"sha512-eOQwzCivW16ffp9YH0wZOH97K2L5HUsQ90KWnOCo6D9dplj/sHxZQLe2yhivFARsaJzUiW5pHedFqdSS3v0Apw==","signatures":[{"sig":"MEYCIQD4ybMzUV8kYbxnIqnmNj5dADemdPHww++vMzaaKK94cAIhAJEDgw2xtxPqc+p0cvIQE0zkgBbRn7HJwZ2liY88dOKP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2246936},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","exports":{".":{"types":"./esm/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./testing":{"types":"./esm/testing.d.ts","import":"./esm/testing.js","require":"./cjs/testing.js"}},"gitHead":"9451578db5528b036208ee17eb3b6744fc3c3085","scripts":{"test":"bun test --parallel=4 tests","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --target es6 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.16.0","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"26.3.0","dependencies":{"api-def":"0.16.1"},"_hasShrinkwrap":false,"devDependencies":{"zod":"catalog:","rimraf":"6.1.3","@types/bun":"^1.3.13","typescript":"catalog:","@types/node":"26.2.0","@biomejs/biome":"^2.5.11"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.20_1788453820508_0.6621187401451503","host":"s3://npm-registry-packages-npm-production"}},"0.0.21":{"name":"@calmlens/js-sdk","version":"0.0.21","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.21","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"38ac71502784e75c2e8ef368e8ebdc955449b610","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.21.tgz","fileCount":130,"integrity":"sha512-UXpY0wUxc5o4pCZ11IM4HxO+Yj3eEzzLCDea3is0nQVK//CfB5XXI5QmJ2Wc+6mrcn+6VCMK4K6aQSGruXEuEQ==","signatures":[{"sig":"MEQCIB3Yfz9nRQliq8Lj2pFxt/XRLGhaSz5dvF8UYq63AoVHAiAE3ozLXHFegDZl8ITe1doEJrewLQM/woS90yNhvgNfrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2246354},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","exports":{".":{"types":"./esm/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./testing":{"types":"./esm/testing.d.ts","import":"./esm/testing.js","require":"./cjs/testing.js"}},"gitHead":"9451578db5528b036208ee17eb3b6744fc3c3085","scripts":{"test":"bun test --parallel=4 tests","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --target es6 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.16.0","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"26.3.0","dependencies":{"api-def":"0.16.1"},"_hasShrinkwrap":false,"devDependencies":{"zod":"catalog:","rimraf":"6.1.3","@types/bun":"^1.3.13","typescript":"catalog:","@types/node":"26.2.0","@biomejs/biome":"^2.5.11"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.21_1788455004510_0.9369434274519663","host":"s3://npm-registry-packages-npm-production"}},"0.0.22":{"name":"@calmlens/js-sdk","version":"0.0.22","keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_id":"@calmlens/js-sdk@0.0.22","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"dist":{"shasum":"2638c7d7b4c53f6340ba7ebb7776880e17768b3d","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.22.tgz","fileCount":134,"integrity":"sha512-ZxDHC3BxHqPPXWAXvK4i3tIcFKpf1EYEABizXQcrcvKXGj0Pz0jUMfzWr4aLbuBLiwcZ7xfuvKwpXMvRqm562w==","signatures":[{"sig":"MEUCIQDuUwqtc8RReyf+T0KSOjxtgBIt03pKleuDIemeEXiL8gIgNjKq1NTgsrFvBvyf8rlLzWedvjC4+VDN6r8aPupQ63Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2346521},"main":"cjs/index.js","types":"esm/index.d.ts","module":"esm/index.js","exports":{".":{"types":"./esm/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./testing":{"types":"./esm/testing.d.ts","import":"./esm/testing.js","require":"./cjs/testing.js"}},"gitHead":"6e6e11974d40ebd65cae311e922b99046cb59928","scripts":{"test":"bun test --parallel=4 tests","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --target es6 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"_npmVersion":"11.16.0","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"sideEffects":false,"_nodeVersion":"26.3.0","dependencies":{"api-def":"0.16.1"},"_hasShrinkwrap":false,"devDependencies":{"zod":"catalog:","rimraf":"6.1.3","@types/bun":"^1.3.13","typescript":"catalog:","@types/node":"26.2.0","@biomejs/biome":"^2.5.11"},"_npmOperationalInternal":{"tmp":"tmp/js-sdk_0.0.22_1788592720971_0.48329279064500574","host":"s3://npm-registry-packages-npm-production"}},"0.0.23":{"_id":"@calmlens/js-sdk@0.0.23","dist":{"shasum":"a9fbe7feb2991fd070a394c31a915c927fedf3a9","tarball":"https://registry.npmjs.org/@calmlens/js-sdk/-/js-sdk-0.0.23.tgz","fileCount":134,"integrity":"sha512-7/Y7+YBlZlIgrcmM9JJAf9HUvIsubT9l1yUT0L7O8JKiYNRJ42YzbepRKh2uBMfyS1/aSvr083wufVP41sJ+7w==","signatures":[{"sig":"MEUCIQDgW+X8sZIYxm2yu3xOv5OWUq5yD4n/yWQY2aIudLYGiQIgTvWdAF4/ysSmTKqx7TUNcbO6BGRgTxiqmDzMByP45xM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCFGwpdPT63oJJdaADTkPxeiJI/WG+MciofCELowO6YYQIhAM2BqTd2UE18KaIJ5XsNESKeCxGofUE8iL9s7cFzlNgR"}],"unpackedSize":2313050},"main":"cjs/index.js","name":"@calmlens/js-sdk","types":"esm/index.d.ts","module":"esm/index.js","exports":{".":{"types":"./esm/index.d.ts","import":"./esm/index.js","require":"./cjs/index.js"},"./testing":{"types":"./esm/testing.d.ts","import":"./esm/testing.js","require":"./cjs/testing.js"}},"gitHead":"e1065960ef421152e4419f52e63f487a35abe5a5","scripts":{"test":"bun test --parallel=4 tests","build":"npm run cleanup && npm run build:esm && npm run build:cjs","check":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check","cleanup":"rimraf esm && rimraf cjs","build:cjs":"tsc --module commonjs --target es6 --outDir cjs --preserveWatchOutput && rm -rf cjs/tests && node scripts/post-build.js cjs","build:esm":"tsc --module es2015 --target es2016 --outDir esm --preserveWatchOutput && rm -rf esm/tests && node scripts/post-build.js esm","check:fix":"tsc --noEmit --project tsconfig.json && npx @biomejs/biome check --write","website:dev":"cd website && npm run start","example:start":"cd example && npm run start","prepublishOnly":"npm run check:fix && npm run test && npm run build","website:deploy":"cd website && npm run deploy","generate:fixtures":"bun scripts/generateFixtures.ts"},"version":"0.0.23","_npmUser":{"name":"jwjuniper","email":"james.waterhouse@juniper.software"},"keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"_npmVersion":"11.16.0","description":"Official JavaScript/TypeScript SDK for CalmLens API","directories":{},"maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"sideEffects":false,"_nodeVersion":"26.3.0","dependencies":{"api-def":"0.17.0"},"_hasShrinkwrap":false,"devDependencies":{"zod":"catalog:","rimraf":"6.1.3","@types/bun":"^1.3.13","typescript":"catalog:","@types/node":"22.20.2","@biomejs/biome":"^2.5.13"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/js-sdk_0.0.23_1790184606653_0.5760313865293893"}}},"time":{"created":"2025-10-05T09:12:53.860Z","modified":"2026-09-23T17:30:07.087Z","0.0.0":"2025-10-05T09:12:54.146Z","0.0.1":"2025-10-05T09:15:28.234Z","0.0.2":"2026-01-17T14:48:48.397Z","0.0.3":"2026-01-17T21:10:30.979Z","0.0.4":"2026-01-18T14:22:47.218Z","0.0.5":"2026-01-21T19:10:29.866Z","0.0.6":"2026-01-21T19:46:38.766Z","0.0.7":"2026-05-10T04:34:18.164Z","0.0.8":"2026-06-01T16:44:21.523Z","0.0.9":"2026-06-04T10:51:52.849Z","0.0.10":"2026-06-08T16:23:40.237Z","0.0.11":"2026-06-13T06:46:31.612Z","0.0.12":"2026-07-11T07:53:00.938Z","0.0.14":"2026-08-11T15:05:51.336Z","0.0.15":"2026-08-11T15:27:44.564Z","0.0.16":"2026-08-17T15:14:07.411Z","0.0.17":"2026-08-18T12:27:39.058Z","0.0.18":"2026-08-21T09:59:39.814Z","0.0.19":"2026-08-30T09:22:50.867Z","0.0.20":"2026-09-03T16:43:40.666Z","0.0.21":"2026-09-03T17:03:24.647Z","0.0.22":"2026-09-05T07:18:41.135Z","0.0.23":"2026-09-23T17:30:06.894Z"},"keywords":["typescript","javascript","node","web","api","typed","cache","fetch","retry","middleware"],"description":"Official JavaScript/TypeScript SDK for CalmLens API","maintainers":[{"name":"jwjuniper","email":"james.waterhouse@juniper.software"}],"readme":"# @calmlens/js-sdk\n\nOfficial JavaScript/TypeScript SDK for CalmLens API\n\nCalmLens provides content moderation and classification services for images, videos, audio, documents, and websites. This SDK makes it easy to integrate CalmLens into your JavaScript/TypeScript applications.\n\n## Installation\n\n```bash\nnpm install @calmlens/js-sdk\n```\n\nEvery public SDK operation accepts one options object. This keeps call sites stable as optional fields are added.\n\n## Quick Start\n\n```typescript\nimport { CalmLensClient } from \"@calmlens/js-sdk\";\n\nconst client = new CalmLensClient({\n  apiKey: \"your-api-key\",\n  projectId: \"your-project-id\",\n});\n\n// Queue an asset for processing\nconst asset = await client.assets.create({\n  name: \"my-image.jpg\",\n  content: {\n    base64: \"/9j/4AAQSkZJRgABAQAAAQ...\",\n    type: \"image/jpeg\",\n  },\n  description: \"User uploaded image\",\n  visibility: \"private\",\n  processingOptions: { keepContentAfterProcessing: true },\n});\n\nconsole.log(asset.id); // Asset ID for future reference\nconsole.log(asset.status); // \"uploading\", \"pending\", \"approved\", \"rejected\", or \"error\"\n```\n\n## API Reference\n\n### CalmLensClient\n\nThe main client class for interacting with the CalmLens API.\n\n#### Constructor\n\n```typescript\nnew CalmLensClient(options: CalmLensClientOptions)\n```\n\n**Options:**\n- `apiKey` (string, required): Your CalmLens API key\n- `projectId` (string, required): Your CalmLens project ID\n- `baseUrl` (string, optional): API base URL (defaults to `https://api.calmlens.com/v1`)\n- `cdnBaseUrl` (string, optional): CDN base URL (defaults to `https://cdn.calmlens.com/v1`)\n\n#### Methods\n\n##### assets.create(options)\n\nQueue an asset for processing and return the created asset immediately.\n\n```typescript\nasync assets.create(options: SubmitAssetOptions): Promise<Asset>\n```\n\n**Options:**\n- `name` (string, required): Name of the asset\n- `content` (optional): Binary or plain-text content and its concrete MIME type\n- `url` (string, optional): External URL to fetch instead of sending content\n- `part` (optional): First part of a sequential multipart upload\n- `description` (string, optional): Description of the asset\n- `processingOptions.keepContentAfterProcessing` (boolean, optional): Retain content after processing\n- `visibility` (string, optional): \"public\" or \"private\"\n\n**Example:**\n```typescript\n// Submit from file content\nconst asset = await client.assets.create({\n  name: \"document.pdf\",\n  content: {\n    base64: \"JVBERi0xLjQKJcfs...\",\n    type: \"application/pdf\",\n  },\n  description: \"Important document\",\n  visibility: \"private\"\n});\n\n// Submit from URL\nconst asset = await client.assets.create({\n  name: \"website-content\",\n  url: \"https://example.com/page\",\n  description: \"Web page to analyze\"\n});\n```\n\nUse `client.assets.analyze(options)` with the same options when the request should wait for classification to finish instead of queueing it.\n\n##### assets.retrieve(options)\n\nRetrieve details of a specific asset.\n\n```typescript\nasync assets.retrieve(options: { assetId: string }): Promise<Asset>\n```\n\n**Example:**\n```typescript\nconst asset = await client.assets.retrieve({ assetId: \"asset-uuid-here\" });\nconsole.log(asset.status);\nconsole.log(asset.report); // Classification results\n```\n\n##### ensureLens(options)\n\nCreate a project-scoped named lens, or update it safely. A lens can start at any positive version. Repeating the exact same version and definition is idempotent; any other update must use a version greater than the current one. A stale or conflicting version throws `lens/version-conflict`.\n\n```typescript\nconst lens = await client.ensureLens({\n  identifier: \"picmagic-normal\",\n  name: \"PicMagic normal\",\n  type: \"image\",\n  active: true,\n  version: 1,\n  transforms: [\n    {\n      type: \"imageTransform\",\n      options: { fit: \"scale-down\", width: 1024, format: \"png\" },\n    },\n  ],\n});\n\nconst image = await client.cdn.serve({\n  assetIdentifier: assetId,\n  lens: lens.identifier,\n});\n```\n\nFor several lenses, use `ensureLenses()` to perform all ensures in one request. Each lens keeps the same independent versioning rules.\n\n```typescript\nconst [normal, uhd] = await client.ensureLenses({ lenses: [normalLens, uhdLens] });\n```\n\nThe CDN uses named lenses with an `@` prefix in URLs, such as `/content/@picmagic-normal`. The SDK adds it automatically when you supply `lens`. Use `transform` for one-off direct transforms, for example `client.cdn.serve({ assetIdentifier: assetId, transform: \"imageTransform[format=png,width=1024]\" })`. Supply either `lens` or `transform`, not both. The resolved lens version is part of CalmLens's CDN cache and ETag identity, so changing a lens with the next version invalidates prior derived output.\n\n##### assets.list(options)\n\nList assets in your project with pagination.\n\n```typescript\nasync assets.list(options: {\n  pageIndex?: number;\n  pageSize?: number;\n  ordering?: Array<{ field: string; direction: \"ASC\" | \"DESC\" }>;\n  filter?: string | null;\n}): Promise<{\n  items: Asset[];\n  total: number;\n  hasMore: boolean;\n  pageIndex: number;\n  pageSize: number;\n}>\n```\n\n**Example:**\n```typescript\nconst result = await client.assets.list({\n  pageIndex: 0,\n  pageSize: 20\n});\n\nconsole.log(`Found ${result.total} assets`);\nresult.items.forEach(asset => {\n  console.log(`${asset.name}: ${asset.status}`);\n});\n```\n\n##### assets.listChildren(options)\n\nList assets extracted from a website or multimedia document.\n\n```typescript\nconst children = await client.assets.listChildren({\n  assetId: parentAssetId,\n  pageIndex: 0,\n  pageSize: 20,\n});\n```\n\n##### assets.createSignedUrl(options)\n\nCreate a short-lived URL for private CDN content or previews.\n\n```typescript\nconst signed = await client.assets.createSignedUrl({\n  assetId,\n  resource: \"preview\",\n  lens: \"thumbnail\",\n  expiresInSeconds: 900,\n});\n```\n\n##### cdn.getAssetUrl(options) and cdn.serve(options)\n\n`getAssetUrl` constructs a CDN URL without fetching it. `serve` fetches the resource and sends the client's API key.\n\n```typescript\nconst url = client.cdn.getAssetUrl({\n  assetIdentifier: assetId,\n  resource: \"content\",\n  lens: \"thumbnail\",\n});\n\nconst response = await client.cdn.serve({\n  assetIdentifier: assetId,\n  resource: \"content\",\n});\n```\n\nPrivate CDN reads made with an API key require the `assets:view-all` role. Use a signed URL instead when the caller must not receive an API key.\n\n##### Multipart upload flow\n\nUse `create` with `part` to start multipart uploads, and `uploadPart` for subsequent chunks. `partNumber` defaults to `1` and `isFinal` defaults to `false` when starting an upload.\n\nImage upload sizes use distinct direct and multipart paths:\n\n- Direct image uploads must be smaller than `10MB`.\n- Multipart image uploads must total between `10MB` and `20MB`, inclusive. CalmLens accumulates the uploaded parts and rejects a final image outside that range; callers do not need to provide a total-size field.\n- Retained multipart image originals remain in private backing storage. Public or authorized delivery and transformations use CalmLens CDN URLs.\n\nEach non-final multipart part must be at least `5MiB`; only the final part may be smaller. If you send base64, split the original bytes first, then base64-encode each part. Do not split one full base64 string into substrings.\n\nPayloads can be sent as `{ base64: string }`, `{ uint8Array: number[] | Uint8Array }`, `{ buffer: Buffer | ArrayBuffer }`, `{ data: Blob | Response | ReadableStream }`. Use `{ data: file }` for `File` objects. Upload metadata is URL query data and the SDK sends the binary payload as the raw request body without constructing multipart form data. Multipart `ReadableStream` uploads must include the exact `sizeInBytes` so CalmLens can stream each part without buffering it.\n\nUse a concrete asset MIME type such as `image/png`, `application/pdf`, or `text/plain`. The SDK rejects ambiguous/container request MIME types such as `application/octet-stream` and `multipart/*`.\n\n**Example (queued finalization):**\n```typescript\nconst uploading = await client.assets.create({\n  name: \"large-image.png\",\n  part: {\n    uint8Array: firstPartBytes,\n    type: \"image/png\"\n  }\n});\n\nawait client.assets.uploadPart({\n  assetId: uploading.id,\n  part: {\n    base64: secondPartBase64,\n    partNumber: 2,\n  },\n});\n\nconst completed = await client.assets.uploadPart({\n  assetId: uploading.id,\n  part: {\n    base64: finalPartBase64,\n    partNumber: 3,\n    isFinal: true,\n  },\n});\n```\n\n**Example (single-call synchronous analysis):**\n```typescript\nconst analyzed = await client.assets.analyze({\n  name: \"large-image.png\",\n  part: {\n    base64: finalPartBase64,\n    type: \"image/png\",\n    isFinal: true\n  }\n});\nconsole.log(analyzed.status);\n```\n\n#### Static Methods\n\n##### verifyWebhookSignature(options)\n\nVerify webhook signatures to ensure authenticity.\n\n```typescript\nstatic async verifyWebhookSignature(options: {\n  payload: string | object;\n  signatureHex: string;\n  secret: string;\n}): Promise<boolean>\n```\n\n**Example:**\n```typescript\n// In your webhook handler\nconst signature = req.headers['x-calmlens-signature'];\nconst payload = req.body;\nconst isValid = await CalmLensClient.verifyWebhookSignature({\n  payload,\n  signatureHex: signature,\n  secret: WEBHOOK_SECRET,\n});\n\nif (!isValid) {\n  return res.status(401).send('Unauthorized');\n}\n```\n\n## Asset Types\n\nAssets can be of the following types:\n- `image` - Images (JPEG, PNG, GIF, WebP, etc.)\n- `video` - Video files (MP4, WebM, etc.)\n- `audio` - Audio files (MP3, WAV, etc.)\n- `plaintext-document` - Plain-text formats such as TXT, JSON, CSV, and YAML\n- `multimedia-document` - Documents such as PDF, DOCX, DOC, RTF, and ODT\n- `website` - Web pages and URLs\n- `file` - Other supported binary files\n\n## Asset Status\n\nAssets progress through these statuses:\n- `uploading` - Multipart upload is accepting more parts\n- `pending` - Asset is being processed\n- `approved` - Processing completed and delivery is allowed; an `alert` action can still leave `report.flagged` set to `true`\n- `rejected` - A hide, purge, child-asset, or manual rejection decision was applied\n- `error` - Processing failed\n\n## Moderation Reports\n\nCompleted reports always contain the six parent categories: `sexual`, `violence`, `self-harm`, `harassment`, `hate`, and `criminal-activity`. Provider detail is nested, including `violence.subcategories.graphic` and `sexual.subcategories.involving-minors`.\n\nAlways narrow on a category's `status` before reading `score`. An `evaluated` or `partially_evaluated` result includes `score` and `likelihood`; a `not_evaluated` result includes a reason and represents unknown coverage, not a safe zero score.\n\n```typescript\nconst violence = asset.report?.categories.violence;\nif (violence?.status === 'evaluated' || violence?.status === 'partially_evaluated') {\n  console.log(violence.score);\n}\n```\n\nSee the [moderation report guide](https://calmlens.com/docs/guides/moderation-reports) for aggregation, provider coverage, OCR merging, and policy actions. General Sexual Content moderation does not estimate age or provide dedicated CSAM detection.\n\n## Asset Visibility\n\n- `public` - Retained content can be requested directly from the CDN\n- `private` - Retained content requires a signed URL, an authenticated owner session, or an API key with the `assets:view-all` role\n\n## Error Handling\n\nThe SDK throws errors for common issues:\n\n```typescript\ntry {\n  const asset = await client.assets.create({\n    name: \"test.jpg\",\n    // Missing required content, URL, or multipart part\n  });\n} catch (error) {\n  console.error(error.message); // \"Either file content, URL, or multipart part is required\"\n}\n```\n\nPublic API failures are normalized to `CalmLensError`. Use its stable `code` property for control flow and `details` for diagnostics.\n\n## Testing\n\n`@calmlens/js-sdk/testing` exports a matching object-parameter mock client and in-memory storage implementations.\n\nThe main `@calmlens/js-sdk` entry point does not load or export testing helpers. Keep `/testing` imports in test files. If application code chooses a mock at runtime, dynamically import `/testing` inside that test-only branch; a top-level import still loads the mocks in production.\n\n```typescript\nimport { MockCalmLensClient, createMockApiKey } from \"@calmlens/js-sdk/testing\";\n\nconst client = new MockCalmLensClient({\n  apiKey: createMockApiKey([\"assets:view-all\"]),\n  projectId: crypto.randomUUID(),\n});\n```\n\n## Webhooks\n\nCalmLens can send webhooks when asset processing is complete. Verify the exact raw request body before parsing it; re-serializing parsed JSON can change the signed bytes.\n","readmeFilename":"README.md"}