{"_id":"@clue-ai/frontend-sdk","_rev":"22-a3f04c6b588b0fba9822e49537b39371","name":"@clue-ai/frontend-sdk","dist-tags":{"latest":"1.0.10"},"versions":{"0.1.0":{"name":"@clue-ai/frontend-sdk","version":"0.1.0","_id":"@clue-ai/frontend-sdk@0.1.0","maintainers":[{"name":"namikawa07","email":"namikawa.business@gmail.com"}],"dist":{"shasum":"8b44ea8f7a1fe9be425872f42c3f5e3cf2f64a34","tarball":"https://registry.npmjs.org/@clue-ai/frontend-sdk/-/frontend-sdk-0.1.0.tgz","fileCount":116,"integrity":"sha512-i6qgk/5Sk/0NvQbcQTuoKF/2mImHVWiR7jVeZGK5lrPEI4PSqf5xyBC0xXmandghv7NzFtXkjTAXhfaaoPLxqw==","signatures":[{"sig":"MEQCIBjNBgZIdKwRT+VgmxESD+Cb1nhzLYossGKEv2tFwmHrAiAGRjpkA8gmKPkHAIjwToMiPzDUnH3QZASQdtJsrAmB9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":586202},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"38e610596b34b84326bb993f17deb3d1721a1acf","scripts":{"test":"vitest run","build":"node ./scripts/clean-dist.mjs && node ./scripts/generate-service-logo-module.mjs && node ./scripts/generate-version-module.mjs && tsc -p tsconfig.build.json && node ./scripts/fix-esm-relative-imports.mjs","test:cov":"vitest run --coverage","typecheck":"tsc -p tsconfig.json --noEmit","test:package-import":"pnpm build && node ./scripts/check-package-import.mjs"},"_npmUser":{"name":"namikawa07","email":"namikawa.business@gmail.com"},"_npmVersion":"10.9.2","description":"Clue Frontend SDK — OTel-based observation source event capture for browser apps (consolidated from clue-browser-sdk + clue-ai-sdk-nodejs + clue-langchain-js-instrumentation + clue-mastra-instrumentation)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"lucide":"^1.8.0","cssprefix":"^2.0.17","anim-event":"^1.0.17","m-class-list":"^1.1.10","pointer-event":"^1.3.1","plain-draggable":"^2.5.15","@opentelemetry/api":"^1.9.0","@opentelemetry/core":"^1.30.0","@opentelemetry/resources":"^1.30.0","@opentelemetry/sdk-trace-web":"^1.30.0","@opentelemetry/sdk-trace-base":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","vitest":"^3.2.4","typescript":"^5.9.0","@clue/shared":"workspace:*","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"@opentelemetry/instrumentation-fetch":"^0.57.0","@opentelemetry/instrumentation-document-load":"^0.46.0","@opentelemetry/instrumentation-user-interaction":"^0.46.0","@opentelemetry/instrumentation-xml-http-request":"^0.57.0"},"peerDependenciesMeta":{"@opentelemetry/instrumentation-fetch":{"optional":true},"@opentelemetry/instrumentation-document-load":{"optional":true},"@opentelemetry/instrumentation-user-interaction":{"optional":true},"@opentelemetry/instrumentation-xml-http-request":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_0.1.0_1779095192943_0.9363619407260493","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@clue-ai/frontend-sdk","version":"0.1.1","_id":"@clue-ai/frontend-sdk@0.1.1","maintainers":[{"name":"namikawa07","email":"namikawa.business@gmail.com"}],"dist":{"shasum":"997083e4ac4f12b645e3dc4080a7a78636d306b8","tarball":"https://registry.npmjs.org/@clue-ai/frontend-sdk/-/frontend-sdk-0.1.1.tgz","fileCount":116,"integrity":"sha512-i0Y4oEZzt1mbzGPTZFlfbbgiK25qQ9vtqOIv7MwfdMDB/VCWMq6WzSiK7jS0NquUQT/N2GvurnK7TlurMT2mmw==","signatures":[{"sig":"MEQCIAQqJFSUXOpRhaDRwRMirhfUc4EL0FtOyv2vJr04JMcvAiA2gXr80Gei2Smq3bA0PhP8ZM6qwb1TGJAF7PkeramhBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604860},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"6af6c045d196eb6431828fffa125f14097b9b894","scripts":{"test":"vitest run","build":"node ./scripts/clean-dist.mjs && node ./scripts/generate-service-logo-module.mjs && node ./scripts/generate-version-module.mjs && tsc -p tsconfig.build.json && node ./scripts/fix-esm-relative-imports.mjs","test:cov":"vitest run --coverage","typecheck":"tsc -p tsconfig.json --noEmit","test:package-import":"pnpm build && node ./scripts/check-package-import.mjs"},"_npmUser":{"name":"namikawa07","email":"namikawa.business@gmail.com"},"_npmVersion":"10.9.2","description":"Clue Frontend SDK — OTel-based observation source event capture for browser apps (consolidated from clue-browser-sdk + clue-ai-sdk-nodejs + clue-langchain-js-instrumentation + clue-mastra-instrumentation)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"lucide":"^1.8.0","cssprefix":"^2.0.17","anim-event":"^1.0.17","m-class-list":"^1.1.10","pointer-event":"^1.3.1","plain-draggable":"^2.5.15","@opentelemetry/api":"^1.9.0","@opentelemetry/core":"^1.30.0","@opentelemetry/resources":"^1.30.0","@opentelemetry/sdk-trace-web":"^1.30.0","@opentelemetry/sdk-trace-base":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","vitest":"^3.2.4","typescript":"^5.9.0","@clue/shared":"workspace:*","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"@opentelemetry/instrumentation-fetch":"^0.57.0","@opentelemetry/instrumentation-document-load":"^0.46.0","@opentelemetry/instrumentation-user-interaction":"^0.46.0","@opentelemetry/instrumentation-xml-http-request":"^0.57.0"},"peerDependenciesMeta":{"@opentelemetry/instrumentation-fetch":{"optional":true},"@opentelemetry/instrumentation-document-load":{"optional":true},"@opentelemetry/instrumentation-user-interaction":{"optional":true},"@opentelemetry/instrumentation-xml-http-request":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_0.1.1_1779168996874_0.07747747913529568","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@clue-ai/frontend-sdk","version":"0.2.0","_id":"@clue-ai/frontend-sdk@0.2.0","maintainers":[{"name":"namikawa07","email":"namikawa.business@gmail.com"}],"dist":{"shasum":"009986ac0a70dcbaf45aa0b69406819d4bd02ce9","tarball":"https://registry.npmjs.org/@clue-ai/frontend-sdk/-/frontend-sdk-0.2.0.tgz","fileCount":116,"integrity":"sha512-Af7wASxDD440jSaWHrRtblFr6I4pahvd8HYiQ26HXwNuBfLX1LzhOa3TdBvT7NZejAEn2cjdVIro4iaIpXoI6g==","signatures":[{"sig":"MEQCID0TbrpYI6Vk9r/BMygANe61ZOb85Zs9BLysIVHWF4pqAiBg/I0cBqdLRZSqtfnqXCCxSD3oi5cLVa9dpSNwHB5zrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610934},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"30bd7da2b93c9a8cbfd905ea9da4f098718de1e5","scripts":{"test":"vitest run","build":"node ./scripts/clean-dist.mjs && node ./scripts/generate-service-logo-module.mjs && node ./scripts/generate-version-module.mjs && tsc -p tsconfig.build.json && node ./scripts/fix-esm-relative-imports.mjs","test:cov":"vitest run --coverage","typecheck":"tsc -p tsconfig.json --noEmit","test:package-import":"pnpm build && node ./scripts/check-package-import.mjs"},"_npmUser":{"name":"namikawa07","email":"namikawa.business@gmail.com"},"_npmVersion":"10.9.2","description":"Clue Frontend SDK — OTel-based observation source event capture for browser apps (consolidated from clue-browser-sdk + clue-ai-sdk-nodejs + clue-langchain-js-instrumentation + clue-mastra-instrumentation)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"lucide":"^1.8.0","cssprefix":"^2.0.17","anim-event":"^1.0.17","m-class-list":"^1.1.10","pointer-event":"^1.3.1","plain-draggable":"^2.5.15","@opentelemetry/api":"^1.9.0","@opentelemetry/core":"^1.30.0","@opentelemetry/resources":"^1.30.0","@opentelemetry/sdk-trace-web":"^1.30.0","@opentelemetry/sdk-trace-base":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","vitest":"^3.2.4","typescript":"^5.9.0","@clue/shared":"workspace:*","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"@opentelemetry/instrumentation-fetch":"^0.57.0","@opentelemetry/instrumentation-document-load":"^0.46.0","@opentelemetry/instrumentation-user-interaction":"^0.46.0","@opentelemetry/instrumentation-xml-http-request":"^0.57.0"},"peerDependenciesMeta":{"@opentelemetry/instrumentation-fetch":{"optional":true},"@opentelemetry/instrumentation-document-load":{"optional":true},"@opentelemetry/instrumentation-user-interaction":{"optional":true},"@opentelemetry/instrumentation-xml-http-request":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_0.2.0_1779224369657_0.1662171345496679","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@clue-ai/frontend-sdk","version":"0.2.1","_id":"@clue-ai/frontend-sdk@0.2.1","maintainers":[{"name":"namikawa07","email":"namikawa.business@gmail.com"}],"dist":{"shasum":"e7ebb434fb79c0a76496978cf67c4f94958d961c","tarball":"https://registry.npmjs.org/@clue-ai/frontend-sdk/-/frontend-sdk-0.2.1.tgz","fileCount":116,"integrity":"sha512-S2wykOY3BNnQqfXq3tuRUbl9L7Bs+EOZB5i1xQ1nLfXvpaefqgOLkGIiFUU25YX73A2BUtr4iyBpuPm4iHaJZQ==","signatures":[{"sig":"MEUCIQDfcqt33Kml40DmXwYBZ6IrewE/S3VfdyWQhQv02FMifAIgMyt/xPHiYORht5zhcvBY11qsUauxeoV1utXRwtThhvA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610934},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"75bb9728318b174722cb3b32c9efc6858bcc4dfb","scripts":{"test":"vitest run","build":"node ./scripts/clean-dist.mjs && node ./scripts/generate-service-logo-module.mjs && node ./scripts/generate-version-module.mjs && tsc -p tsconfig.build.json && node ./scripts/fix-esm-relative-imports.mjs","test:cov":"vitest run --coverage","typecheck":"tsc -p tsconfig.json --noEmit","test:package-import":"pnpm build && node ./scripts/check-package-import.mjs"},"_npmUser":{"name":"namikawa07","email":"namikawa.business@gmail.com"},"_npmVersion":"10.9.2","description":"Clue Frontend SDK — OTel-based observation source event capture for browser apps (consolidated from clue-browser-sdk + clue-ai-sdk-nodejs + clue-langchain-js-instrumentation + clue-mastra-instrumentation)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"lucide":"^1.8.0","cssprefix":"^2.0.17","anim-event":"^1.0.17","m-class-list":"^1.1.10","pointer-event":"^1.3.1","plain-draggable":"^2.5.15","@opentelemetry/api":"^1.9.0","@opentelemetry/core":"^1.30.0","@opentelemetry/resources":"^1.30.0","@opentelemetry/sdk-trace-web":"^1.30.0","@opentelemetry/sdk-trace-base":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","vitest":"^3.2.4","typescript":"^5.9.0","@clue/shared":"workspace:*","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"@opentelemetry/instrumentation-fetch":"^0.57.0","@opentelemetry/instrumentation-document-load":"^0.46.0","@opentelemetry/instrumentation-user-interaction":"^0.46.0","@opentelemetry/instrumentation-xml-http-request":"^0.57.0"},"peerDependenciesMeta":{"@opentelemetry/instrumentation-fetch":{"optional":true},"@opentelemetry/instrumentation-document-load":{"optional":true},"@opentelemetry/instrumentation-user-interaction":{"optional":true},"@opentelemetry/instrumentation-xml-http-request":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_0.2.1_1779277756141_0.002493981360411679","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@clue-ai/frontend-sdk","version":"0.2.2","_id":"@clue-ai/frontend-sdk@0.2.2","maintainers":[{"name":"namikawa07","email":"namikawa.business@gmail.com"}],"dist":{"shasum":"7202df267bc8aa23dabf88a7fa7053899669ab8a","tarball":"https://registry.npmjs.org/@clue-ai/frontend-sdk/-/frontend-sdk-0.2.2.tgz","fileCount":116,"integrity":"sha512-OLvWlH1FKRZv5L2CHlNSh12ETCLeSdsBxCXN41r9fm2yxvyoF8dZ+2mgdqZeKbIffYsJWDBTwojqkyVuVcPV6Q==","signatures":[{"sig":"MEUCIFcMdxtZjZAQzNqCz3w2TjKVMQHjk6TuA6+9Zng1xFPeAiEA34ewhhSigUwAarpkzlQTBz3Cu1lr9yfk7RP27e6MRbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610934},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"f5b10b7f24700f93ab3b457cbaa34bfb3f6e124a","scripts":{"test":"vitest run","build":"node ./scripts/clean-dist.mjs && node ./scripts/generate-service-logo-module.mjs && node ./scripts/generate-version-module.mjs && tsc -p tsconfig.build.json && node ./scripts/fix-esm-relative-imports.mjs","test:cov":"vitest run --coverage","typecheck":"tsc -p tsconfig.json --noEmit","test:package-import":"pnpm build && node ./scripts/check-package-import.mjs"},"_npmUser":{"name":"namikawa07","email":"namikawa.business@gmail.com"},"_npmVersion":"10.9.2","description":"Clue Frontend SDK — OTel-based observation source event capture for browser apps (consolidated from clue-browser-sdk + clue-ai-sdk-nodejs + clue-langchain-js-instrumentation + clue-mastra-instrumentation)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"lucide":"^1.8.0","cssprefix":"^2.0.17","anim-event":"^1.0.17","m-class-list":"^1.1.10","pointer-event":"^1.3.1","plain-draggable":"^2.5.15","@opentelemetry/api":"^1.9.0","@opentelemetry/core":"^1.30.0","@opentelemetry/resources":"^1.30.0","@opentelemetry/sdk-trace-web":"^1.30.0","@opentelemetry/sdk-trace-base":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","vitest":"^3.2.4","typescript":"^5.9.0","@clue/shared":"workspace:*","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"@opentelemetry/instrumentation-fetch":"^0.57.0","@opentelemetry/instrumentation-document-load":"^0.46.0","@opentelemetry/instrumentation-user-interaction":"^0.46.0","@opentelemetry/instrumentation-xml-http-request":"^0.57.0"},"peerDependenciesMeta":{"@opentelemetry/instrumentation-fetch":{"optional":true},"@opentelemetry/instrumentation-document-load":{"optional":true},"@opentelemetry/instrumentation-user-interaction":{"optional":true},"@opentelemetry/instrumentation-xml-http-request":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_0.2.2_1779280577735_0.6254797679283817","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@clue-ai/frontend-sdk","version":"0.2.3","_id":"@clue-ai/frontend-sdk@0.2.3","maintainers":[{"name":"namikawa07","email":"namikawa.business@gmail.com"}],"dist":{"shasum":"4c39ff177faf2ad95b2843e58566bd2c163e274e","tarball":"https://registry.npmjs.org/@clue-ai/frontend-sdk/-/frontend-sdk-0.2.3.tgz","fileCount":116,"integrity":"sha512-9S59OC4vQ5RKgk4ph0Oo7lTBoClfb0HlvznX9o99/WObmc7i84ZPiCNWnOk5746LYnha8nc4i1cLxTpZo2YaRg==","signatures":[{"sig":"MEUCIG9TQ1Aft6uQQpoGb/+MQEduup9hYo+UhurI54ajKsOvAiEAjUPko7swXrkPzOCIpGOe/cRTO3sI4Qj827Ja+15x57s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":611539},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"6b99844cb30edb06a7df99cf648ec8c483509e3b","scripts":{"test":"vitest run","build":"node ./scripts/clean-dist.mjs && node ./scripts/generate-service-logo-module.mjs && node ./scripts/generate-version-module.mjs && tsc -p tsconfig.build.json && node ./scripts/fix-esm-relative-imports.mjs","prepack":"pnpm build","test:cov":"vitest run --coverage","typecheck":"tsc -p tsconfig.json --noEmit","test:package-import":"pnpm build && node ./scripts/check-package-import.mjs"},"_npmUser":{"name":"namikawa07","email":"namikawa.business@gmail.com"},"_npmVersion":"10.9.2","description":"Clue Frontend SDK — OTel-based observation source event capture for browser apps (consolidated from clue-browser-sdk + clue-ai-sdk-nodejs + clue-langchain-js-instrumentation + clue-mastra-instrumentation)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"lucide":"^1.8.0","cssprefix":"^2.0.17","anim-event":"^1.0.17","m-class-list":"^1.1.10","pointer-event":"^1.3.1","plain-draggable":"^2.5.15","@opentelemetry/api":"^1.9.0","@opentelemetry/core":"^1.30.0","@opentelemetry/resources":"^1.30.0","@opentelemetry/sdk-trace-web":"^1.30.0","@opentelemetry/sdk-trace-base":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","vitest":"^3.2.4","typescript":"^5.9.0","@clue/shared":"workspace:*","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"@opentelemetry/instrumentation-fetch":"^0.57.0","@opentelemetry/instrumentation-document-load":"^0.46.0","@opentelemetry/instrumentation-user-interaction":"^0.46.0","@opentelemetry/instrumentation-xml-http-request":"^0.57.0"},"peerDependenciesMeta":{"@opentelemetry/instrumentation-fetch":{"optional":true},"@opentelemetry/instrumentation-document-load":{"optional":true},"@opentelemetry/instrumentation-user-interaction":{"optional":true},"@opentelemetry/instrumentation-xml-http-request":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_0.2.3_1779282053189_0.3550248518993968","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@clue-ai/frontend-sdk","version":"0.2.4","_id":"@clue-ai/frontend-sdk@0.2.4","maintainers":[{"name":"namikawa07","email":"namikawa.business@gmail.com"}],"dist":{"shasum":"30e280539e7eaa30ec7bd9d6b5c0dc2a79b4a144","tarball":"https://registry.npmjs.org/@clue-ai/frontend-sdk/-/frontend-sdk-0.2.4.tgz","fileCount":116,"integrity":"sha512-/bS38SZKAc/uCFHMRseVVq0fg7W+ly/HJcJbZ9pUJ38vVE+FllFY62s791msdOphNIsHX6hNONNYF+a5AuTYLg==","signatures":[{"sig":"MEUCIQD00drWD7IBfAuWwS3WNlIMQeooh26+3o6TyTOZehJ72QIgca9DVhBHM/WyAvG4FiCXJdNxDrU0GVUbIzhrmk0RPUY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":612493},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"6b99844cb30edb06a7df99cf648ec8c483509e3b","scripts":{"test":"vitest run","build":"node ./scripts/clean-dist.mjs && node ./scripts/generate-service-logo-module.mjs && node ./scripts/generate-version-module.mjs && tsc -p tsconfig.build.json && node ./scripts/fix-esm-relative-imports.mjs","prepack":"pnpm build","test:cov":"vitest run --coverage","typecheck":"tsc -p tsconfig.json --noEmit","test:package-import":"pnpm build && node ./scripts/check-package-import.mjs"},"_npmUser":{"name":"namikawa07","email":"namikawa.business@gmail.com"},"_npmVersion":"10.9.2","description":"Clue Frontend SDK — OTel-based observation source event capture for browser apps (consolidated from clue-browser-sdk + clue-ai-sdk-nodejs + clue-langchain-js-instrumentation + clue-mastra-instrumentation)","directories":{},"_nodeVersion":"22.16.0","dependencies":{"lucide":"^1.8.0","cssprefix":"^2.0.17","anim-event":"^1.0.17","m-class-list":"^1.1.10","pointer-event":"^1.3.1","plain-draggable":"^2.5.15","@opentelemetry/api":"^1.9.0","@opentelemetry/core":"^1.30.0","@opentelemetry/resources":"^1.30.0","@opentelemetry/sdk-trace-web":"^1.30.0","@opentelemetry/sdk-trace-base":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","vitest":"^3.2.4","typescript":"^5.9.0","@clue/shared":"workspace:*","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"@opentelemetry/instrumentation-fetch":"^0.57.0","@opentelemetry/instrumentation-document-load":"^0.46.0","@opentelemetry/instrumentation-user-interaction":"^0.46.0","@opentelemetry/instrumentation-xml-http-request":"^0.57.0"},"peerDependenciesMeta":{"@opentelemetry/instrumentation-fetch":{"optional":true},"@opentelemetry/instrumentation-document-load":{"optional":true},"@opentelemetry/instrumentation-user-interaction":{"optional":true},"@opentelemetry/instrumentation-xml-http-request":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_0.2.4_1779297441791_0.2048018720518745","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@clue-ai/frontend-sdk","version":"1.0.0","_id":"@clue-ai/frontend-sdk@1.0.0","maintainers":[{"name":"namikawa07","email":"namikawa.business@gmail.com"}],"dist":{"shasum":"f266adb4399b98c58aac75906c094d77f2c3d568","tarball":"https://registry.npmjs.org/@clue-ai/frontend-sdk/-/frontend-sdk-1.0.0.tgz","fileCount":114,"integrity":"sha512-Ve07RDvXoloNe+IsXC5w+Bxlag7sdGEasi/LDPoSSROE1EUCHpki3W2ZfEVyxf3+U6W9SPUCTlCoK2dPJYyr0A==","signatures":[{"sig":"MEYCIQDlsRQXXiGzjjwcl6J0wrXOh9118u4ndkkbEHkJK7YRgwIhAL/H8Jy83glVO+xDoaL1TKm5YtckunWuL9Pji4HG2Ore","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":593172},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"dd9019289135f8402817548821c7fe446e5b26ff","scripts":{"lint":"pnpm exec biome lint src test","test":"vitest run","build":"node ./scripts/clean-dist.mjs && node ./scripts/generate-service-logo-module.mjs && node ./scripts/generate-version-module.mjs && tsc -p tsconfig.build.json && node ./scripts/fix-esm-relative-imports.mjs","prepack":"pnpm build","test:cov":"vitest run --coverage","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"pnpm lint && pnpm test:cov && pnpm typecheck && pnpm test:package-import","test:package-import":"pnpm build && node ./scripts/check-package-import.mjs"},"_npmUser":{"name":"namikawa07","email":"namikawa.business@gmail.com"},"_npmVersion":"10.9.2","description":"Clue Frontend SDK — OTel-based observation-source event capture for frontend apps","directories":{},"_nodeVersion":"22.16.0","dependencies":{"lucide":"^1.8.0","cssprefix":"^2.0.17","anim-event":"^1.0.17","m-class-list":"^1.1.10","pointer-event":"^1.3.1","plain-draggable":"^2.5.15","@opentelemetry/api":"^1.9.0","@opentelemetry/core":"^1.30.0","@opentelemetry/resources":"^1.30.0","@opentelemetry/sdk-trace-web":"^1.30.0","@opentelemetry/sdk-trace-base":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","vitest":"^3.2.4","typescript":"^5.9.0","@clue/shared":"workspace:*","@vitest/coverage-v8":"^3.2.4"},"peerDependencies":{"@opentelemetry/instrumentation-fetch":"^0.57.0","@opentelemetry/instrumentation-document-load":"^0.46.0","@opentelemetry/instrumentation-user-interaction":"^0.46.0","@opentelemetry/instrumentation-xml-http-request":"^0.57.0"},"peerDependenciesMeta":{"@opentelemetry/instrumentation-fetch":{"optional":true},"@opentelemetry/instrumentation-document-load":{"optional":true},"@opentelemetry/instrumentation-user-interaction":{"optional":true},"@opentelemetry/instrumentation-xml-http-request":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.0_1779559470007_0.2762615791726508","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@clue-ai/frontend-sdk","version":"1.0.1","_id":"@clue-ai/frontend-sdk@1.0.1","maintainers":[{"name":"namikawa07","email":"namikawa.business@gmail.com"}],"dist":{"shasum":"4e4e69f653bfd5caa92361088c0f4329b95b4be0","tarball":"https://registry.npmjs.org/@clue-ai/frontend-sdk/-/frontend-sdk-1.0.1.tgz","fileCount":112,"integrity":"sha512-CMSgYcwkG0WlPGLbQA4+Ou5e8m/H6aa+YZgVxYBvyvZ0ZqsWHG2/n4g9mWfMe1M6HzAH3b2dY08y3e9ov1SggA==","signatures":[{"sig":"MEUCIQCFAHBEmEvLCItsDLqg9GaerhU5QS2Hajgd/G193rygvQIgAmdDaCvW2RdGQBpB0PsnlyrqfDFms1rkeA7HB/yxvzE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":553477},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"3d2dcd91e8e5128bdd0c097d5656a240201ac7b4","scripts":{"lint":"pnpm exec biome lint src test","test":"vitest run","build":"node ./scripts/clean-dist.mjs && node ./scripts/generate-service-logo-module.mjs && node ./scripts/generate-version-module.mjs && tsc -p tsconfig.build.json && node ./scripts/fix-esm-relative-imports.mjs","prepack":"pnpm build","test:cov":"vitest run --coverage","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"pnpm lint && pnpm test:cov && pnpm typecheck && pnpm test:package-import","test:package-import":"pnpm build && node ./scripts/check-package-import.mjs"},"_npmUser":{"name":"namikawa07","email":"namikawa.business@gmail.com"},"_npmVersion":"10.9.2","description":"Clue Frontend SDK — OTel-based observation-source event capture for frontend apps","directories":{},"_nodeVersion":"22.16.0","dependencies":{"lucide":"^1.8.0","cssprefix":"^2.0.17","anim-event":"^1.0.17","m-class-list":"^1.1.10","pointer-event":"^1.3.1","plain-draggable":"^2.5.15","@opentelemetry/api":">=1.9.1 <1.10.0","@opentelemetry/core":">=2.7.1 <3.0.0","@opentelemetry/api-logs":">=0.218.0 <1.0.0","@opentelemetry/resources":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-web":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-base":">=2.7.1 <3.0.0","@opentelemetry/instrumentation-fetch":">=0.218.0 <1.0.0","@opentelemetry/browser-instrumentation":">=0.5.2 <1.0.0","@opentelemetry/instrumentation-document-load":">=0.63.0 <1.0.0","@opentelemetry/instrumentation-xml-http-request":">=0.218.0 <1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","vitest":"^3.2.4","typescript":"^5.9.0","@clue/shared":"workspace:*","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.1_1780039595445_0.7679572358215534","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@clue-ai/frontend-sdk","version":"1.0.2","_id":"@clue-ai/frontend-sdk@1.0.2","maintainers":[{"name":"namikawa07","email":"namikawa.business@gmail.com"}],"dist":{"shasum":"832c72ae4957bf953e2cd52f2a799e7785071447","tarball":"https://registry.npmjs.org/@clue-ai/frontend-sdk/-/frontend-sdk-1.0.2.tgz","fileCount":112,"integrity":"sha512-MkmuoCpT7vWvFHMC1+9evhKhQ9A3gEzRthtFF5C1po1fYBUei7sA/z5C5wK5QYz7qwR48SRGDb9JGtS9CGuMTA==","signatures":[{"sig":"MEUCIQDoHQrmdrDe6m0mnE7StesCo4jfjdEA+DLw8N+QfSWcNgIgH0Cbc1m2B74JLh0qOpsQXEH7risoI7FO/wAKhfiGab4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":560884},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"dbeda7bb6afe63299bbc43555a12cc31330b1d31","scripts":{"lint":"pnpm exec biome lint src test","test":"vitest run","build":"node ./scripts/clean-dist.mjs && node ./scripts/generate-service-logo-module.mjs && node ./scripts/generate-version-module.mjs && tsc -p tsconfig.build.json && node ./scripts/fix-esm-relative-imports.mjs","prepack":"pnpm build","test:cov":"vitest run --coverage","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"pnpm lint && pnpm test:cov && pnpm typecheck && pnpm test:package-import","test:package-import":"pnpm build && node ./scripts/check-package-import.mjs"},"_npmUser":{"name":"namikawa07","email":"namikawa.business@gmail.com"},"_npmVersion":"11.6.2","description":"Clue Frontend SDK — OTel-based observation-source event capture for frontend apps","directories":{},"_nodeVersion":"25.2.1","dependencies":{"lucide":"^1.8.0","cssprefix":"^2.0.17","anim-event":"^1.0.17","m-class-list":"^1.1.10","pointer-event":"^1.3.1","plain-draggable":"^2.5.15","@opentelemetry/api":">=1.9.1 <1.10.0","@opentelemetry/core":">=2.7.1 <3.0.0","@opentelemetry/api-logs":">=0.218.0 <1.0.0","@opentelemetry/resources":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-web":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-base":">=2.7.1 <3.0.0","@opentelemetry/instrumentation-fetch":">=0.218.0 <1.0.0","@opentelemetry/browser-instrumentation":">=0.5.2 <1.0.0","@opentelemetry/instrumentation-document-load":">=0.63.0 <1.0.0","@opentelemetry/instrumentation-xml-http-request":">=0.218.0 <1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","vitest":"^3.2.4","typescript":"^5.9.0","@clue/shared":"workspace:*","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.2_1780074376153_0.2318693861566561","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@clue-ai/frontend-sdk","version":"1.0.3","_id":"@clue-ai/frontend-sdk@1.0.3","maintainers":[{"name":"namikawa07","email":"namikawa.business@gmail.com"}],"dist":{"shasum":"a922981a8776818138acf9c7585ae083029d5610","tarball":"https://registry.npmjs.org/@clue-ai/frontend-sdk/-/frontend-sdk-1.0.3.tgz","fileCount":112,"integrity":"sha512-dbentVnbpmPpsoWTZ44IOB3QiW9fOm12lWW5zYOuADhVJ1tAtSyWzMQVYeHwh6OCUtApnVBJjWJcpeZOzJX0YQ==","signatures":[{"sig":"MEUCIQC18z7xgPzZvHz4Bin0QdE48rjxEegAmy6xQ6phhnSGHgIgXYoBpO/pjwf2jJOGHbq2/10hdzqhfFo8aPzdxcbluSE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":561004},"main":"dist/index.js","type":"module","_from":"file:clue-ai-frontend-sdk-1.0.3.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"lint":"pnpm exec biome lint src test","test":"vitest run","build":"node ./scripts/clean-dist.mjs && node ./scripts/generate-service-logo-module.mjs && node ./scripts/generate-version-module.mjs && tsc -p tsconfig.build.json && node ./scripts/fix-esm-relative-imports.mjs","test:cov":"vitest run --coverage","typecheck":"tsc -p tsconfig.json --noEmit","test:package-import":"pnpm build && node ./scripts/check-package-import.mjs"},"_npmUser":{"name":"namikawa07","email":"namikawa.business@gmail.com"},"_resolved":"/private/var/folders/yz/6hs1qd8d11736wbt30jjkfwc0000gn/T/5cf0e5327d4e60cefcdf2cdd2104923f/clue-ai-frontend-sdk-1.0.3.tgz","_integrity":"sha512-dbentVnbpmPpsoWTZ44IOB3QiW9fOm12lWW5zYOuADhVJ1tAtSyWzMQVYeHwh6OCUtApnVBJjWJcpeZOzJX0YQ==","_npmVersion":"10.9.2","description":"Clue Frontend SDK — OTel-based observation-source event capture for frontend apps","directories":{},"_nodeVersion":"22.16.0","dependencies":{"lucide":"^1.8.0","cssprefix":"^2.0.17","anim-event":"^1.0.17","m-class-list":"^1.1.10","pointer-event":"^1.3.1","plain-draggable":"^2.5.15","@opentelemetry/api":">=1.9.1 <1.10.0","@opentelemetry/core":">=2.7.1 <3.0.0","@opentelemetry/api-logs":">=0.218.0 <1.0.0","@opentelemetry/resources":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-web":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-base":">=2.7.1 <3.0.0","@opentelemetry/instrumentation-fetch":">=0.218.0 <1.0.0","@opentelemetry/browser-instrumentation":">=0.5.2 <1.0.0","@opentelemetry/instrumentation-document-load":">=0.63.0 <1.0.0","@opentelemetry/instrumentation-xml-http-request":">=0.218.0 <1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","vitest":"^3.2.4","typescript":"^5.9.0","@clue/shared":"1.0.0","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.3_1780075623388_0.8345406596542968","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@clue-ai/frontend-sdk","version":"1.0.4","_id":"@clue-ai/frontend-sdk@1.0.4","maintainers":[{"name":"namikawa07","email":"namikawa.business@gmail.com"}],"dist":{"shasum":"623220e24eb02ebc5a6cd31b04817cf1f5c4979a","tarball":"https://registry.npmjs.org/@clue-ai/frontend-sdk/-/frontend-sdk-1.0.4.tgz","fileCount":112,"integrity":"sha512-alSeSPSQlR2swForMRARHhBSo5p8g03bhfv74NqWNoT6v1csjsv2dDWupApWKaDry0a/cXkf8/i+m63CI3XQyw==","signatures":[{"sig":"MEUCIQD8HgDCKf8ljWKuCfke/im6scbY2TIXQaaXxl2mRjOaPwIgLTRExcE1WotSKZVhSvkd0CxwuwJdrtProGzkjRHyDN0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":561303},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"dbeda7bb6afe63299bbc43555a12cc31330b1d31","scripts":{"lint":"pnpm exec biome lint src test","test":"vitest run","build":"node ./scripts/clean-dist.mjs && node ./scripts/generate-service-logo-module.mjs && node ./scripts/generate-version-module.mjs && tsc -p tsconfig.build.json && node ./scripts/fix-esm-relative-imports.mjs","prepack":"pnpm build","test:cov":"vitest run --coverage","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"pnpm lint && pnpm test:cov && pnpm typecheck && pnpm test:package-import","test:package-import":"pnpm build && node ./scripts/check-package-import.mjs"},"_npmUser":{"name":"namikawa07","email":"namikawa.business@gmail.com"},"_npmVersion":"11.6.2","description":"Clue Frontend SDK — OTel-based observation-source event capture for frontend apps","directories":{},"_nodeVersion":"25.2.1","dependencies":{"lucide":"^1.8.0","cssprefix":"^2.0.17","anim-event":"^1.0.17","m-class-list":"^1.1.10","pointer-event":"^1.3.1","plain-draggable":"^2.5.15","@opentelemetry/api":">=1.9.1 <1.10.0","@opentelemetry/core":">=2.7.1 <3.0.0","@opentelemetry/api-logs":">=0.218.0 <1.0.0","@opentelemetry/resources":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-web":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-base":">=2.7.1 <3.0.0","@opentelemetry/instrumentation-fetch":">=0.218.0 <1.0.0","@opentelemetry/browser-instrumentation":">=0.5.2 <1.0.0","@opentelemetry/instrumentation-document-load":">=0.63.0 <1.0.0","@opentelemetry/instrumentation-xml-http-request":">=0.218.0 <1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","vitest":"^3.2.4","typescript":"^5.9.0","@clue/shared":"workspace:*","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.4_1780079678186_0.4946205131750434","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@clue-ai/frontend-sdk","version":"1.0.5","_id":"@clue-ai/frontend-sdk@1.0.5","maintainers":[{"name":"namikawa07","email":"namikawa.business@gmail.com"}],"dist":{"shasum":"bb64140fe43ba95377e408a37cd2153671c002cb","tarball":"https://registry.npmjs.org/@clue-ai/frontend-sdk/-/frontend-sdk-1.0.5.tgz","fileCount":112,"integrity":"sha512-2xFinzT+Avs8Kzff+wlrTvs6DXBN+wrBIanTTKPsCsndj2MdDYsQretsGbs4ZhmhqQ7nAY8uUz7fYFal6ujigw==","signatures":[{"sig":"MEYCIQDA/NLtW/d6xr+6JtVecfeE/4jm0dfFPi49FBsCEa1degIhALa12j9BDI9rK49MH0qBNYZJLz7zdRbnyo/cxBthRUjp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":569013},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"dbeda7bb6afe63299bbc43555a12cc31330b1d31","scripts":{"lint":"pnpm exec biome lint src test","test":"vitest run","build":"node ./scripts/clean-dist.mjs && node ./scripts/generate-service-logo-module.mjs && node ./scripts/generate-version-module.mjs && tsc -p tsconfig.build.json && node ./scripts/fix-esm-relative-imports.mjs","prepack":"pnpm build","test:cov":"vitest run --coverage","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"pnpm lint && pnpm test:cov && pnpm typecheck && pnpm test:package-import","test:package-import":"pnpm build && node ./scripts/check-package-import.mjs"},"_npmUser":{"name":"namikawa07","email":"namikawa.business@gmail.com"},"_npmVersion":"11.6.2","description":"Clue Frontend SDK — OTel-based observation-source event capture for frontend apps","directories":{},"_nodeVersion":"25.2.1","dependencies":{"lucide":"^1.8.0","cssprefix":"^2.0.17","anim-event":"^1.0.17","m-class-list":"^1.1.10","pointer-event":"^1.3.1","plain-draggable":"^2.5.15","@opentelemetry/api":">=1.9.1 <1.10.0","@opentelemetry/core":">=2.7.1 <3.0.0","@opentelemetry/api-logs":">=0.218.0 <1.0.0","@opentelemetry/resources":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-web":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-base":">=2.7.1 <3.0.0","@opentelemetry/instrumentation-fetch":">=0.218.0 <1.0.0","@opentelemetry/browser-instrumentation":">=0.5.2 <1.0.0","@opentelemetry/instrumentation-document-load":">=0.63.0 <1.0.0","@opentelemetry/instrumentation-xml-http-request":">=0.218.0 <1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","vitest":"^3.2.4","typescript":"^5.9.0","@clue/shared":"workspace:*","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.5_1780082043599_0.9163190997858914","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@clue-ai/frontend-sdk","version":"1.0.6","_id":"@clue-ai/frontend-sdk@1.0.6","maintainers":[{"name":"namikawa07","email":"namikawa.business@gmail.com"}],"dist":{"shasum":"5a8dcd3917d99bba4b16ec12c146db0419e4b0af","tarball":"https://registry.npmjs.org/@clue-ai/frontend-sdk/-/frontend-sdk-1.0.6.tgz","fileCount":112,"integrity":"sha512-Y94oxdS5aLR0GpWYkk1Di7Dv4H748wsUZSu+APqIF9LY3XBDyrKG7w6+HGVSdpf2UxYktXSYATIM0vCYHlTfpw==","signatures":[{"sig":"MEUCIQCZpG1J7rWbNNGNyyCDocEMGq0s4aF4QrEZNMYYHoF0UQIgWP3sb7AgqlqIRjhuSWC3OV1sIyGwqqLEaF46yDbhaKg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":568128},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"dbeda7bb6afe63299bbc43555a12cc31330b1d31","scripts":{"lint":"pnpm exec biome lint src test","test":"vitest run","build":"node ./scripts/clean-dist.mjs && node ./scripts/generate-service-logo-module.mjs && node ./scripts/generate-version-module.mjs && tsc -p tsconfig.build.json && node ./scripts/fix-esm-relative-imports.mjs","prepack":"pnpm build","test:cov":"vitest run --coverage","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"pnpm lint && pnpm test:cov && pnpm typecheck && pnpm test:package-import","test:package-import":"pnpm build && node ./scripts/check-package-import.mjs"},"_npmUser":{"name":"namikawa07","email":"namikawa.business@gmail.com"},"_npmVersion":"11.6.2","description":"Clue Frontend SDK — OTel-based observation-source event capture for frontend apps","directories":{},"_nodeVersion":"25.2.1","dependencies":{"lucide":"^1.8.0","cssprefix":"^2.0.17","anim-event":"^1.0.17","m-class-list":"^1.1.10","pointer-event":"^1.3.1","plain-draggable":"^2.5.15","@opentelemetry/api":">=1.9.1 <1.10.0","@opentelemetry/core":">=2.7.1 <3.0.0","@opentelemetry/api-logs":">=0.218.0 <1.0.0","@opentelemetry/resources":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-web":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-base":">=2.7.1 <3.0.0","@opentelemetry/instrumentation-fetch":">=0.218.0 <1.0.0","@opentelemetry/browser-instrumentation":">=0.5.2 <1.0.0","@opentelemetry/instrumentation-document-load":">=0.63.0 <1.0.0","@opentelemetry/instrumentation-xml-http-request":">=0.218.0 <1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","vitest":"^3.2.4","typescript":"^5.9.0","@clue/shared":"workspace:*","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.6_1780083577582_0.8853790320354225","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@clue-ai/frontend-sdk","version":"1.0.7","_id":"@clue-ai/frontend-sdk@1.0.7","maintainers":[{"name":"namikawa07","email":"namikawa.business@gmail.com"}],"dist":{"shasum":"acf8aa62fe9e6301ebd42d652fd587cbcf82d285","tarball":"https://registry.npmjs.org/@clue-ai/frontend-sdk/-/frontend-sdk-1.0.7.tgz","fileCount":112,"integrity":"sha512-w4S06Dl79nTufFi8uYFR5EJEL7snV5jZAtR1nHAJv+glMKf0BcUcv/u6e1ZKbfDXajfY2gYA/517MHr6AiJldw==","signatures":[{"sig":"MEQCIFcyaXdVzxE0TeAxT3IdyO+4/aVR0RQCr3TSDz2E/LlfAiAM3csvOnWKqQjHUOgphWEvs+gCMniz67q6hVsH6sFdng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":572008},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"dbeda7bb6afe63299bbc43555a12cc31330b1d31","scripts":{"lint":"pnpm exec biome lint src test","test":"vitest run","build":"node ./scripts/clean-dist.mjs && node ./scripts/generate-service-logo-module.mjs && node ./scripts/generate-version-module.mjs && tsc -p tsconfig.build.json && node ./scripts/fix-esm-relative-imports.mjs","prepack":"pnpm build","test:cov":"vitest run --coverage","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"pnpm lint && pnpm test:cov && pnpm typecheck && pnpm test:package-import","test:package-import":"pnpm build && node ./scripts/check-package-import.mjs"},"_npmUser":{"name":"namikawa07","email":"namikawa.business@gmail.com"},"_npmVersion":"11.6.2","description":"Clue Frontend SDK — OTel-based observation-source event capture for frontend apps","directories":{},"_nodeVersion":"25.2.1","dependencies":{"lucide":"^1.8.0","cssprefix":"^2.0.17","anim-event":"^1.0.17","m-class-list":"^1.1.10","pointer-event":"^1.3.1","plain-draggable":"^2.5.15","@opentelemetry/api":">=1.9.1 <1.10.0","@opentelemetry/core":">=2.7.1 <3.0.0","@opentelemetry/api-logs":">=0.218.0 <1.0.0","@opentelemetry/resources":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-web":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-base":">=2.7.1 <3.0.0","@opentelemetry/instrumentation-fetch":">=0.218.0 <1.0.0","@opentelemetry/browser-instrumentation":">=0.5.2 <1.0.0","@opentelemetry/instrumentation-document-load":">=0.63.0 <1.0.0","@opentelemetry/instrumentation-xml-http-request":">=0.218.0 <1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","vitest":"^3.2.4","typescript":"^5.9.0","@clue/shared":"workspace:*","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.7_1780086296683_0.7417101898834328","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@clue-ai/frontend-sdk","version":"1.0.8","_id":"@clue-ai/frontend-sdk@1.0.8","maintainers":[{"name":"namikawa07","email":"namikawa.business@gmail.com"}],"dist":{"shasum":"7774928657a1111a59061c4376bd054ebc7feb37","tarball":"https://registry.npmjs.org/@clue-ai/frontend-sdk/-/frontend-sdk-1.0.8.tgz","fileCount":112,"integrity":"sha512-ERRHRbWm6IsjsLUk8sl7K5zIltMrwQqs7WX8lOP+Ey835HH9stacCVxibGQJbY4CEOzFrUJ4mOGaECe28e9LEQ==","signatures":[{"sig":"MEQCIGv92c1PwUrNltYsa4xT06x/NhXvpabSrnlCzps5MD+TAiBo9/O4fK0khGEdSj6X8oz4ywRBD9EfGPVHZIEtbGzmFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":572301},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"dbeda7bb6afe63299bbc43555a12cc31330b1d31","scripts":{"lint":"pnpm exec biome lint src test","test":"vitest run","build":"node ./scripts/clean-dist.mjs && node ./scripts/generate-service-logo-module.mjs && node ./scripts/generate-version-module.mjs && tsc -p tsconfig.build.json && node ./scripts/fix-esm-relative-imports.mjs","prepack":"pnpm build","test:cov":"vitest run --coverage","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"pnpm lint && pnpm test:cov && pnpm typecheck && pnpm test:package-import","test:package-import":"pnpm build && node ./scripts/check-package-import.mjs"},"_npmUser":{"name":"namikawa07","email":"namikawa.business@gmail.com"},"_npmVersion":"11.6.2","description":"Clue Frontend SDK — OTel-based observation-source event capture for frontend apps","directories":{},"_nodeVersion":"25.2.1","dependencies":{"lucide":"^1.8.0","cssprefix":"^2.0.17","anim-event":"^1.0.17","m-class-list":"^1.1.10","pointer-event":"^1.3.1","plain-draggable":"^2.5.15","@opentelemetry/api":">=1.9.1 <1.10.0","@opentelemetry/core":">=2.7.1 <3.0.0","@opentelemetry/api-logs":">=0.218.0 <1.0.0","@opentelemetry/resources":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-web":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-base":">=2.7.1 <3.0.0","@opentelemetry/instrumentation-fetch":">=0.218.0 <1.0.0","@opentelemetry/browser-instrumentation":">=0.5.2 <1.0.0","@opentelemetry/instrumentation-document-load":">=0.63.0 <1.0.0","@opentelemetry/instrumentation-xml-http-request":">=0.218.0 <1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","vitest":"^3.2.4","typescript":"^5.9.0","@clue/shared":"workspace:*","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.8_1780086784160_0.06372623014672851","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@clue-ai/frontend-sdk","version":"1.0.9","_id":"@clue-ai/frontend-sdk@1.0.9","maintainers":[{"name":"namikawa07","email":"namikawa.business@gmail.com"}],"dist":{"shasum":"ab10577ff1727a6851e0deab2289e57c5e7362df","tarball":"https://registry.npmjs.org/@clue-ai/frontend-sdk/-/frontend-sdk-1.0.9.tgz","fileCount":112,"integrity":"sha512-82Vfj5AP7eJjwqFxuOTv2gxJE4ZZ0odmnZVPjddZPaNKqEHnsebF06fBR5NP9Ft2EaVi+i/zBP7f+QdMV3qgcw==","signatures":[{"sig":"MEUCIDthQ5UAnqcZH8qwEdyPDnuVC8L4rtaoXFcsg5aTwz5fAiEA468X9vafeiEtrXY8WCo93Z6n1bMm4Dtv/DDR31j3Zfk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":575612},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"dbeda7bb6afe63299bbc43555a12cc31330b1d31","scripts":{"lint":"pnpm exec biome lint src test","test":"vitest run","build":"node ./scripts/clean-dist.mjs && node ./scripts/generate-service-logo-module.mjs && node ./scripts/generate-version-module.mjs && tsc -p tsconfig.build.json && node ./scripts/fix-esm-relative-imports.mjs","prepack":"pnpm build","test:cov":"vitest run --coverage","typecheck":"tsc -p tsconfig.json --noEmit","prepublishOnly":"pnpm lint && pnpm test:cov && pnpm typecheck && pnpm test:package-import","test:package-import":"pnpm build && node ./scripts/check-package-import.mjs"},"_npmUser":{"name":"namikawa07","email":"namikawa.business@gmail.com"},"_npmVersion":"11.6.2","description":"Clue Frontend SDK — OTel-based observation-source event capture for frontend apps","directories":{},"_nodeVersion":"25.2.1","dependencies":{"lucide":"^1.8.0","cssprefix":"^2.0.17","anim-event":"^1.0.17","m-class-list":"^1.1.10","pointer-event":"^1.3.1","plain-draggable":"^2.5.15","@opentelemetry/api":">=1.9.1 <1.10.0","@opentelemetry/core":">=2.7.1 <3.0.0","@opentelemetry/api-logs":">=0.218.0 <1.0.0","@opentelemetry/resources":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-web":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-base":">=2.7.1 <3.0.0","@opentelemetry/instrumentation-fetch":">=0.218.0 <1.0.0","@opentelemetry/browser-instrumentation":">=0.5.2 <1.0.0","@opentelemetry/instrumentation-document-load":">=0.63.0 <1.0.0","@opentelemetry/instrumentation-xml-http-request":">=0.218.0 <1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","vitest":"^3.2.4","typescript":"^5.9.0","@clue/shared":"workspace:*","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.9_1780092484330_0.8495785367822388","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@clue-ai/frontend-sdk","version":"1.0.10","description":"Clue Frontend SDK — OTel-based observation-source event capture for frontend apps","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"node ./scripts/clean-dist.mjs && node ./scripts/generate-service-logo-module.mjs && node ./scripts/generate-version-module.mjs && tsc -p tsconfig.build.json && node ./scripts/fix-esm-relative-imports.mjs","prepack":"pnpm build","prepublishOnly":"pnpm lint && pnpm test:cov && pnpm typecheck && pnpm test:package-import","lint":"pnpm exec biome lint src test","test:package-import":"pnpm build && node ./scripts/check-package-import.mjs","typecheck":"tsc -p tsconfig.json --noEmit","test":"vitest run","test:cov":"vitest run --coverage"},"devDependencies":{"@clue/shared":"workspace:*","@vitest/coverage-v8":"^3.2.4","jsdom":"^26.1.0","typescript":"^5.9.0","vitest":"^3.2.4"},"dependencies":{"@opentelemetry/api":">=1.9.1 <1.10.0","@opentelemetry/api-logs":">=0.218.0 <1.0.0","@opentelemetry/browser-instrumentation":">=0.5.2 <1.0.0","@opentelemetry/core":">=2.7.1 <3.0.0","@opentelemetry/instrumentation-document-load":">=0.63.0 <1.0.0","@opentelemetry/instrumentation-fetch":">=0.218.0 <1.0.0","@opentelemetry/instrumentation-xml-http-request":">=0.218.0 <1.0.0","@opentelemetry/resources":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-base":">=2.7.1 <3.0.0","@opentelemetry/sdk-trace-web":">=2.7.1 <3.0.0","anim-event":"^1.0.17","cssprefix":"^2.0.17","lucide":"^1.8.0","m-class-list":"^1.1.10","plain-draggable":"^2.5.15","pointer-event":"^1.3.1"},"gitHead":"dbeda7bb6afe63299bbc43555a12cc31330b1d31","_id":"@clue-ai/frontend-sdk@1.0.10","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-HGzE6/QRY0i9l73cXDSUQBNGBz+VE96tAs4FZgnpfZZMTZS9xi5tcEg7EUKp3Nz8/+HmB9HXkrp85eH+S/90CQ==","shasum":"7d11682f841d849750889503e22c5ff144c713d0","tarball":"https://registry.npmjs.org/@clue-ai/frontend-sdk/-/frontend-sdk-1.0.10.tgz","fileCount":112,"unpackedSize":575761,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFCtnVZJV+Hf43iBtH9EsuVj7Y3J9+iGaJjjt74tpw4HAiA0moYz8d5x/x5da2hCgpVDYCgiOfcKCCTWuCu0CQj7OQ=="}]},"_npmUser":{"name":"namikawa07","email":"namikawa.business@gmail.com"},"directories":{},"maintainers":[{"name":"namikawa07","email":"namikawa.business@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/frontend-sdk_1.0.10_1780095697201_0.9094118715431654"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-18T07:47:25.342Z","modified":"2026-05-29T23:01:37.580Z","0.0.1":"2026-05-18T07:47:25.570Z","0.1.0":"2026-05-18T09:06:33.112Z","0.1.1":"2026-05-19T05:36:37.030Z","0.2.0":"2026-05-19T20:59:29.814Z","0.2.1":"2026-05-20T11:49:16.314Z","0.2.2":"2026-05-20T12:36:17.921Z","0.2.3":"2026-05-20T13:00:53.376Z","0.2.4":"2026-05-20T17:17:22.048Z","1.0.0":"2026-05-23T18:04:30.148Z","1.0.1":"2026-05-29T07:26:35.591Z","1.0.2":"2026-05-29T17:06:16.442Z","1.0.3":"2026-05-29T17:27:03.572Z","1.0.4":"2026-05-29T18:34:38.359Z","1.0.5":"2026-05-29T19:14:03.753Z","1.0.6":"2026-05-29T19:39:37.776Z","1.0.7":"2026-05-29T20:24:56.816Z","1.0.8":"2026-05-29T20:33:04.321Z","1.0.9":"2026-05-29T22:08:04.476Z","1.0.10":"2026-05-29T23:01:37.453Z"},"description":"Clue Frontend SDK — OTel-based observation-source event capture for frontend apps","maintainers":[{"name":"namikawa07","email":"namikawa.business@gmail.com"}],"readme":"# @clue-ai/frontend-sdk\n\nClue browser ingest SDK.\n\n## Minimal integration\n\nAfter `pnpm add @clue-ai/frontend-sdk`, the intended Next.js integration is:\n\n```ts\nimport clue from \"@clue-ai/frontend-sdk\";\n\nclue.init({\n  endpoint: process.env.NEXT_PUBLIC_CLUE_API_BASE_URL!,\n  projectKey: process.env.NEXT_PUBLIC_CLUE_PROJECT_KEY!,\n});\n\nclue.identify(user.id, { name: user.name });\nclue.group(\"organization\", organization.id, { name: organization.name });\n```\n\nFor Vite, use `import.meta.env.VITE_CLUE_API_BASE_URL` and\n`import.meta.env.VITE_CLUE_PROJECT_KEY`. For React apps that use the\nCreate React App env contract, use `process.env.REACT_APP_CLUE_API_BASE_URL`\nand `process.env.REACT_APP_CLUE_PROJECT_KEY`. Other frontend frameworks should\nuse the public env names generated by Clue setup.\n\n`projectKey` is the public ingest key. The API resolves authoritative\n`tenantId`, `projectId`, and dev/prod `ProjectService` from that key. `endpoint`\nis the Clue API base URL. The SDK appends `/api/v1/ingest/browser-tokens` and\nthe canonical browser observation batch path internally.\n\n## Responsibility boundary\n\n- SDK captures browser signals and applies local minimization where the signal is obviously high-risk.\n- API ingest privacy gate is authoritative for final allow/deny/unmask policy.\n- Worker-side sanitize is defense-in-depth only.\n- SDK sends `projectKey`, `schemaVersion`, `sdkType`, `sdkVersion`, stable keys, and minimized capture payloads.\n- SDK does **not** authoritatively stamp `tenant_id`, `project_id`, `environment_id`, or final archive-safe request/response payloads.\n\nThe frontend SDK does **not** own final archive-safe allowlist decisions.\n\n## Default privacy/minimization behavior\n\nThe frontend SDK avoids shipping obvious high-risk plaintext and keeps the MVP\ndefault event surface intentionally narrow.\n\n- `input_change.value` -> local value metadata only\n- `selection_text` -> metadata only\n- raw selector/path -> never serialized; stable key only\n\nCurrent MVP defaults:\n\n- successful network emits one `request_finished`\n- failed network emits one `request_failed`\n- standard action capture emits `element_clicked`, `form_submitted`,\n  `input_committed`, `toggle_changed`, `selection_committed`,\n  `file_selected`, and `drag_drop_completed`\n- normal batching flushes when the queued payload reaches the 48KB send\n  threshold, every 15 seconds by default, or when the page is\n  leaving\n- event type does not change the delivery rule in MVP\n\nStable key precedence:\n\n1. `data-testid`\n2. `data-qa`\n3. safe `name`\n4. safe `aria-label`\n5. structural fallback\n\n`data-clue-id` and `data-clue-key` are not part of the MVP stable-key\ncontract. Captured stable keys are best-effort evidence, not authoritative\nbusiness meaning.\n\n## Sampling and cost guards\n\n- `sampling.sessionSampleRate` controls whether a session emits normal capture\n- oversized events degrade in stages before final drop:\n  - no raw payload body\n  - metadata/schema only\n  - shell only\n- oversized batches stay below the configured payload hard max\n\n## Flush reliability\n\nThe SDK flushes on:\n\n- `visibilitychange` -> `hidden`\n- `pagehide`\n- `beforeunload`\n\nThe page-leave flush is best effort. The SDK does not persist unsent events in\n`localStorage` or `IndexedDB` in MVP.\nLifecycle session URLs strip query strings and hashes before they enter the raw\nSDK event payload.\n\n## Keepalive flush contract\n\n- unload / hidden flush uses authenticated `fetch` with the `keepalive` hint\n- unload flush only sends when a valid browser token is already cached\n- events are not sent through `navigator.sendBeacon`\n\n## Degraded event contract\n\nDownstream ingest must accept these as normal input:\n\n- no raw payload body\n- metadata + schema only\n- shell-only event\n\n## Privacy and PII handling\n\nThe SDK applies a layered privacy model:\n\n### 1. Hard-deny: PII / secrets are stripped before transport\n\nThe SDK strips a built-in set of property keys **before** the event leaves\nthe browser. These keys cannot be unmasked through `allowedValuePaths` —\neven an explicit `body.email` allowlist does not bypass the hard-deny.\n\nHard-deny categories (case- and separator-insensitive — `userEmail`,\n`user-email`, `USER_EMAIL`, `email_address` all match):\n\n- Auth credentials: `authorization`, `cookie`, `set-cookie`, `password`,\n  `passwd`, `secret`, `token`, `access_token`, `refresh_token`, `session`,\n  `session_token`, `api_key`, `apikey`, `private_key`\n- PII categories: `email`, `phone`, `credit_card`, `ssn`\n\nThis list is a strict superset of the server-side ingest hard-deny\n(`@clue/shared` `INGEST_HARD_DENY_KEYS`), enforced by CI parity tests in\nall three SDKs.\n\n### 2. Default-masked: arbitrary values are masked unless allowlisted\n\nProperties that pass the hard-deny gate are still **masked by default**.\nThe SDK emits a fingerprint or shape-only digest, not the raw value.\n\nTo capture a specific field in plaintext, two things must both be true:\n\n1. The field path appears in the SDK call's `allowedValuePaths` (caller\n   opt-in at SDK init time).\n2. The same property key appears in the project's server-side\n   project service `observationAnalysisPropertyAllowlist`.\n\nIf condition 1 holds but condition 2 does not, the value is stored in\nthe raw archive only — `facts_json.analysisProperties.projected` will\nbe empty and the field will not appear in Clue's analysis UI.\n\n### 3. Operational consequence: configure server allowlist before launch\n\nCustomers who launch without setting `observationAnalysisPropertyAllowlist`\non their resolved project service will see custom event names land in\n`observation_type` but **no projected properties** in dashboards. The\nbackend source archive keeps masked/raw-only evidence for debugging, while\nanalysis projection remains empty until the server allowlist includes the\nfield. Configure the server allowlist via the Clue admin UI or project service\nallowlist API after taking a privacy review of which property names you want to\nproject for analytics.\n\n## Architecture boundary\n\nThe frontend SDK is a browser wrapper around capture, privacy minimization,\ncorrelation propagation, and transport. It sends source-signal envelopes such\nas `sdk_source_signal_observed`; the Clue backend ingest core performs final\nclassification, unknown diagnostic handling, backend request correlation, and\nClickHouse/worker input shaping.\n\n```text\nbrowser capture / OTel network span\n  -> frontend SDK source-signal envelope\n  -> /api/v1/ingest/browser\n  -> apps/api/src/modules/ingest core\n```\n\nRules:\n\n- Keep browser code limited to raw facts, correlation context, standard OTel\n  attributes, local minimization, and transport.\n- Do not add frontend-only classification, source-hint strategy, semantic DOM\n  annotations, or custom fallback behavior.\n- Add classifier behavior in the backend ingest core so frontend-originated\n  requests, Node.js, Python, and future SDK wrappers receive the same behavior.\n- Preserve `interaction_id`, `request_span_id`, `request_id`, and `trace_id`\n  whenever they are available. User-action linkage is an ingest contract, not a\n  display-only field.\n\n### Explicit Event Emit: `clue.track`\n\nWhen DOM auto-capture cannot infer the operation (e.g. a custom\nkeyboard shortcut, an API-only background sync, or a multi-step UI\nflow), the host app may emit an explicit semantic action:\n\n```ts\nimport clue from \"@clue-ai/frontend-sdk\";\n\nclue.track(\"report.create\", { source: \"shortcut\", result: \"success\" });\n```\n\n`clue.track` emits a `custom_emitted` event for product actions that are not\ncovered by DOM auto-capture. Keep properties privacy-safe and stable; the worker\nderives higher-level semantics downstream. Event names must match\n`^[A-Za-z0-9_.:-]{1,128}$`; invalid names are dropped with a public warning.\n\n### Identity Lifecycle: Organization\n\nThe frontend SDK exposes the MVP identity lifecycle APIs that the worker uses to\npreserve anonymous → identified user → organization evidence:\n\n```ts\nclue.identify(\"user_42\", { plan: \"pro\" });\nclue.group(\"organization\", \"org_3\", { name: \"Acme Inc.\" });\nclue.reset();\n```\n\nMVP does not expose Clue `account` or `workspace` as public group types. If the\ncustomer product calls its company concept an account, workspace, tenant, or\nteam, pass that stable company id as `clue.group(\"organization\", ...)`.\nBlank or non-string `identify` user ids and `organization` group ids are\ndropped with a public warning and do not update SDK identity state.\n","readmeFilename":"README.md"}