{"_id":"inner-lens","_rev":"31-97fe15cd8faf60a8db378d82a2559f66","name":"inner-lens","dist-tags":{"latest":"0.4.9"},"versions":{"0.2.0":{"name":"inner-lens","version":"0.2.0","keywords":["debugging","qa","ai","bug-report","developer-tools","react","vue","svelte","vanilla-js","nextjs","vite","remix","astro","github-actions","error-tracking"],"author":{"name":"jack"},"license":"MIT","_id":"inner-lens@0.2.0","maintainers":[{"name":"jhlee0409","email":"relee6203@gmail.com"}],"homepage":"https://github.com/jhlee0409/inner-lens#readme","bugs":{"url":"https://github.com/jhlee0409/inner-lens/issues"},"bin":{"inner-lens":"dist/cli.cjs","create-inner-lens":"dist/create.cjs"},"dist":{"shasum":"2149f3170f291cac43341490b2e855955035eb4d","tarball":"https://registry.npmjs.org/inner-lens/-/inner-lens-0.2.0.tgz","fileCount":42,"integrity":"sha512-emcyW42rRcmbkJTSYtOxNyoyqIl6UNcD4XWJ/U2s4QT3fpBxgJ7kqL0xY43OupjxMn3VAPAuc+IqHlFzDCPcJQ==","signatures":[{"sig":"MEYCIQDxitYOjQrWLNvC+PNp6R8QUh+Cz97DWryqNlEUnNbYfAIhAOHjqD8HWRRwRAxRbKCEhECCp7x6J1WdHDI6GcoN/lhl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2689243},"main":"./dist/core.cjs","type":"module","types":"./dist/core.d.ts","module":"./dist/core.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./replay":{"import":{"types":"./dist/replay.d.ts","default":"./dist/replay.js"},"require":{"types":"./dist/replay.d.cts","default":"./dist/replay.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}},"./vanilla":{"import":{"types":"./dist/vanilla.d.ts","default":"./dist/vanilla.js"},"require":{"types":"./dist/vanilla.d.cts","default":"./dist/vanilla.cjs"}}},"gitHead":"69f9a90bfdd28b79a131445461acbf55ba82bce4","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","example":"node examples/vanilla/server.js","typecheck":"tsc --noEmit","sync:check":"npx tsx scripts/sync-check.ts","test:watch":"vitest","example:dev":"npm run build && node examples/vanilla/server.js","sparse:check":"npx tsx scripts/sparse-checkout-check.ts","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jhlee0409","email":"relee6203@gmail.com"},"deprecated":"This version is deprecated. Please use the latest version (0.4.6) for the best experience: npm install inner-lens@latest","repository":{"url":"git+https://github.com/jhlee0409/inner-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Self-Debugging QA Agent - Universal bug reporting widget with AI-powered analysis for any frontend framework","directories":{},"_nodeVersion":"22.18.0","dependencies":{"zod":"^3.23.8","chalk":"^5.3.0","rrweb":"^2.0.0-alpha.17","fs-extra":"^11.2.0","commander":"^12.1.0","@octokit/app":"^15.0.0","@octokit/rest":"^21.0.2","@clack/prompts":"^0.11.0","@upstash/redis":"^1.36.0","@upstash/ratelimit":"^2.0.7"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.12","vue":"^3.5.26","tsup":"^8.3.5","jsdom":"^27.4.0","react":"^19.0.0","vitest":"^4.0.16","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.2","@types/react":"^19.0.2","@vercel/node":"^2.3.0","@ai-sdk/google":"^1.0.0","@ai-sdk/openai":"^1.0.0","@types/fs-extra":"^11.0.4","@types/react-dom":"^19.0.2","@ai-sdk/anthropic":"^1.0.0","@vitest/coverage-v8":"^4.0.16"},"peerDependencies":{"vue":">=3.0.0","react":">=17.0.0","react-dom":">=17.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inner-lens_0.2.0_1767768150373_0.9468496282562346","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"inner-lens","version":"0.3.0","keywords":["debugging","qa","ai","bug-report","developer-tools","react","vue","svelte","vanilla-js","nextjs","vite","remix","astro","github-actions","error-tracking"],"author":{"name":"jack"},"license":"MIT","_id":"inner-lens@0.3.0","maintainers":[{"name":"jhlee0409","email":"relee6203@gmail.com"}],"homepage":"https://github.com/jhlee0409/inner-lens#readme","bugs":{"url":"https://github.com/jhlee0409/inner-lens/issues"},"bin":{"inner-lens":"dist/cli.cjs","create-inner-lens":"dist/create.cjs"},"dist":{"shasum":"ca858f66f75274b5ea060312e7f3237d8c775d15","tarball":"https://registry.npmjs.org/inner-lens/-/inner-lens-0.3.0.tgz","fileCount":42,"integrity":"sha512-OrvLDYweUNnZDnI62C8bKo55gtXQD4GuPjRDr0RLPmMGQyby9kL0ywQwqLqxUUIshZ73y7DtpDsiFO08MlPyBQ==","signatures":[{"sig":"MEUCIFGbQlo1EMXROgn2SanGzk1UISJIn8KMVtEav9w6Z9lgAiEAnW9woSmySzL/vvMokCz09iBEcUFceEXSxHSfKDYPPwM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2682249},"main":"./dist/core.cjs","type":"module","types":"./dist/core.d.ts","module":"./dist/core.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./replay":{"import":{"types":"./dist/replay.d.ts","default":"./dist/replay.js"},"require":{"types":"./dist/replay.d.cts","default":"./dist/replay.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}},"./vanilla":{"import":{"types":"./dist/vanilla.d.ts","default":"./dist/vanilla.js"},"require":{"types":"./dist/vanilla.d.cts","default":"./dist/vanilla.cjs"}}},"gitHead":"daa398242a15dc80b991224f24f538cecbf395d2","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","example":"node examples/vanilla/server.js","typecheck":"tsc --noEmit","sync:check":"npx tsx scripts/sync-check.ts","test:watch":"vitest","example:dev":"npm run build && node examples/vanilla/server.js","sparse:check":"npx tsx scripts/sparse-checkout-check.ts","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jhlee0409","email":"relee6203@gmail.com"},"deprecated":"This version is deprecated. Please use the latest version (0.4.6) for the best experience: npm install inner-lens@latest","repository":{"url":"git+https://github.com/jhlee0409/inner-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Self-Debugging QA Agent - Universal bug reporting widget with AI-powered analysis for any frontend framework","directories":{},"_nodeVersion":"22.18.0","dependencies":{"zod":"^3.23.8","chalk":"^5.3.0","rrweb":"^2.0.0-alpha.17","fs-extra":"^11.2.0","commander":"^12.1.0","@octokit/app":"^15.0.0","@octokit/rest":"^21.0.2","@clack/prompts":"^0.11.0","@upstash/redis":"^1.36.0","@upstash/ratelimit":"^2.0.7"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.12","vue":"^3.5.26","tsup":"^8.3.5","jsdom":"^27.4.0","react":"^19.0.0","vitest":"^4.0.16","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.2","@types/react":"^19.0.2","@vercel/node":"^2.3.0","@ai-sdk/google":"^1.0.0","@ai-sdk/openai":"^1.0.0","@types/fs-extra":"^11.0.4","@types/react-dom":"^19.0.2","@ai-sdk/anthropic":"^1.0.0","@vitest/coverage-v8":"^4.0.16"},"peerDependencies":{"vue":">=3.0.0","react":">=17.0.0","react-dom":">=17.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inner-lens_0.3.0_1767771920077_0.9241850313440729","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"inner-lens","version":"0.3.1","keywords":["debugging","qa","ai","bug-report","developer-tools","react","vue","svelte","vanilla-js","nextjs","vite","remix","astro","github-actions","error-tracking"],"author":{"name":"jack"},"license":"MIT","_id":"inner-lens@0.3.1","maintainers":[{"name":"jhlee0409","email":"relee6203@gmail.com"}],"homepage":"https://github.com/jhlee0409/inner-lens#readme","bugs":{"url":"https://github.com/jhlee0409/inner-lens/issues"},"bin":{"inner-lens":"dist/cli.cjs","create-inner-lens":"dist/create.cjs"},"dist":{"shasum":"3bca023a31ed1323d47104fa16015fadc27e978e","tarball":"https://registry.npmjs.org/inner-lens/-/inner-lens-0.3.1.tgz","fileCount":42,"integrity":"sha512-1mALhqsK8BUfSkj9vRu/kzBKvxqN5NvxPI2CAtmdkmEIyVjW+tWa4O/kthyBLIlYeXiDLQ2RrcncwArxIgBWLA==","signatures":[{"sig":"MEYCIQCy2SSkMuTTYoONInPal5thH+oZrteMTt0ZDDN4dAQI8QIhAI8ykWMMiPIlXf5bWFctoeMe/imUt8fEAOOpaNp4OF9t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8127938},"main":"./dist/core.cjs","type":"module","types":"./dist/core.d.ts","module":"./dist/core.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./replay":{"import":{"types":"./dist/replay.d.ts","default":"./dist/replay.js"},"require":{"types":"./dist/replay.d.cts","default":"./dist/replay.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}},"./vanilla":{"import":{"types":"./dist/vanilla.d.ts","default":"./dist/vanilla.js"},"require":{"types":"./dist/vanilla.d.cts","default":"./dist/vanilla.cjs"}}},"gitHead":"328eedd589256d7015a45022c491bd70df6790c4","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","example":"node examples/vanilla/server.js","typecheck":"tsc --noEmit","sync:check":"npx tsx scripts/sync-check.ts","test:watch":"vitest","example:dev":"npm run build && node examples/vanilla/server.js","sparse:check":"npx tsx scripts/sparse-checkout-check.ts","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jhlee0409","email":"relee6203@gmail.com"},"deprecated":"This version is deprecated. Please use the latest version (0.4.6) for the best experience: npm install inner-lens@latest","repository":{"url":"git+https://github.com/jhlee0409/inner-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Self-Debugging QA Agent - Universal bug reporting widget with AI-powered analysis for any frontend framework","directories":{},"_nodeVersion":"22.18.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.12","vue":"^3.5.26","zod":"^3.23.8","tsup":"^8.3.5","chalk":"^5.3.0","jsdom":"^27.4.0","react":"^19.0.0","rrweb":"^2.0.0-alpha.17","vitest":"^4.0.16","fs-extra":"^11.2.0","commander":"^12.1.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.2","@octokit/app":"^15.0.0","@types/react":"^19.0.2","@vercel/node":"^2.3.0","@octokit/rest":"^21.0.2","@ai-sdk/google":"^1.0.0","@ai-sdk/openai":"^1.0.0","@clack/prompts":"^0.11.0","@upstash/redis":"^1.36.0","@types/fs-extra":"^11.0.4","@types/react-dom":"^19.0.2","@ai-sdk/anthropic":"^1.0.0","@upstash/ratelimit":"^2.0.7","@vitest/coverage-v8":"^4.0.16"},"peerDependencies":{"vue":">=3.0.0","react":">=17.0.0","rrweb":">=2.0.0-alpha.17","react-dom":">=17.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"rrweb":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inner-lens_0.3.1_1767777791645_0.6003043930428031","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"inner-lens","version":"0.3.2","keywords":["debugging","qa","ai","bug-report","developer-tools","react","vue","svelte","vanilla-js","nextjs","vite","remix","astro","github-actions","error-tracking"],"author":{"name":"jack"},"license":"MIT","_id":"inner-lens@0.3.2","maintainers":[{"name":"jhlee0409","email":"relee6203@gmail.com"}],"homepage":"https://github.com/jhlee0409/inner-lens#readme","bugs":{"url":"https://github.com/jhlee0409/inner-lens/issues"},"bin":{"inner-lens":"dist/cli.cjs","create-inner-lens":"dist/create.cjs"},"dist":{"shasum":"4c871ac5881ac4de0fd6b31e661a24395f340622","tarball":"https://registry.npmjs.org/inner-lens/-/inner-lens-0.3.2.tgz","fileCount":42,"integrity":"sha512-+Iml5IIl6YJwThG3eRUllq58/ZkVLnjADHnXyYqx04LLMpKtUWyoEjcD3v2WA/j2BLAhGT5jm84oH58Iyu2B7Q==","signatures":[{"sig":"MEUCIQCnEw4hIFcvtJ/gQAG9iz2eJBJjY9Je/f4blMrCNiooMwIgOuosDTY6qEdMZ5wxrZWt/OZi7fOY5O2nAShKTFXdq9g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8128036},"main":"./dist/core.cjs","type":"module","types":"./dist/core.d.ts","module":"./dist/core.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./replay":{"import":{"types":"./dist/replay.d.ts","default":"./dist/replay.js"},"require":{"types":"./dist/replay.d.cts","default":"./dist/replay.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}},"./vanilla":{"import":{"types":"./dist/vanilla.d.ts","default":"./dist/vanilla.js"},"require":{"types":"./dist/vanilla.d.cts","default":"./dist/vanilla.cjs"}}},"gitHead":"8c0fa2e9bd1d6bfc4aae81d92546346f4b48c93d","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","example":"node examples/vanilla/server.js","typecheck":"tsc --noEmit","sync:check":"npx tsx scripts/sync-check.ts","test:watch":"vitest","example:dev":"npm run build && node examples/vanilla/server.js","sparse:check":"npx tsx scripts/sparse-checkout-check.ts","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jhlee0409","email":"relee6203@gmail.com"},"deprecated":"This version is deprecated. Please use the latest version (0.4.6) for the best experience: npm install inner-lens@latest","repository":{"url":"git+https://github.com/jhlee0409/inner-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Self-Debugging QA Agent - Universal bug reporting widget with AI-powered analysis for any frontend framework","directories":{},"_nodeVersion":"22.18.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.12","vue":"^3.5.26","zod":"^3.23.8","tsup":"^8.3.5","chalk":"^5.3.0","jsdom":"^27.4.0","react":"^19.0.0","rrweb":"^2.0.0-alpha.17","vitest":"^4.0.16","fs-extra":"^11.2.0","commander":"^12.1.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.2","@octokit/app":"^15.0.0","@types/react":"^19.0.2","@vercel/node":"^2.3.0","@octokit/rest":"^21.0.2","@ai-sdk/google":"^1.0.0","@ai-sdk/openai":"^1.0.0","@clack/prompts":"^0.11.0","@upstash/redis":"^1.36.0","@types/fs-extra":"^11.0.4","@types/react-dom":"^19.0.2","@ai-sdk/anthropic":"^1.0.0","@upstash/ratelimit":"^2.0.7","@vitest/coverage-v8":"^4.0.16"},"peerDependencies":{"vue":">=3.0.0","react":">=17.0.0","rrweb":">=2.0.0-alpha.17","react-dom":">=17.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"rrweb":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inner-lens_0.3.2_1767778359132_0.06498072200973048","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"inner-lens","version":"0.3.3","keywords":["debugging","qa","ai","bug-report","developer-tools","react","vue","svelte","vanilla-js","nextjs","vite","remix","astro","github-actions","error-tracking"],"author":{"name":"jack"},"license":"MIT","_id":"inner-lens@0.3.3","maintainers":[{"name":"jhlee0409","email":"relee6203@gmail.com"}],"homepage":"https://github.com/jhlee0409/inner-lens#readme","bugs":{"url":"https://github.com/jhlee0409/inner-lens/issues"},"bin":{"inner-lens":"dist/cli.cjs","create-inner-lens":"dist/create.cjs"},"dist":{"shasum":"c6cb24d870d8cf930fbb6438ff24291ec1e91e75","tarball":"https://registry.npmjs.org/inner-lens/-/inner-lens-0.3.3.tgz","fileCount":42,"integrity":"sha512-J8btdJmwoXOa66JNtuHY7l2xe9OvqF8gCPqJgH8oRb74ZKv1x32z0pzbuv9ZaVdDZMWCUfsmkY+mDmFsIB0GoQ==","signatures":[{"sig":"MEQCIENQ+S9q6LVRAvhDg3ppVLFRvTRC8jxPmSbxKeufKI5wAiBXuG3Mruwv5ZeelQdC9wUst4KKJNPCOyrY6w8zD9mn5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8129466},"main":"./dist/core.cjs","type":"module","types":"./dist/core.d.ts","module":"./dist/core.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./replay":{"import":{"types":"./dist/replay.d.ts","default":"./dist/replay.js"},"require":{"types":"./dist/replay.d.cts","default":"./dist/replay.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}},"./vanilla":{"import":{"types":"./dist/vanilla.d.ts","default":"./dist/vanilla.js"},"require":{"types":"./dist/vanilla.d.cts","default":"./dist/vanilla.cjs"}}},"gitHead":"7d83afd5f87b0c0f35e95e6b0574fe02cb116ff3","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","example":"node examples/vanilla/server.js","typecheck":"tsc --noEmit","sync:check":"npx tsx scripts/sync-check.ts","test:watch":"vitest","example:dev":"npm run build && node examples/vanilla/server.js","sparse:check":"npx tsx scripts/sparse-checkout-check.ts","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jhlee0409","email":"relee6203@gmail.com"},"deprecated":"This version is deprecated. Please use the latest version (0.4.6) for the best experience: npm install inner-lens@latest","repository":{"url":"git+https://github.com/jhlee0409/inner-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Self-Debugging QA Agent - Universal bug reporting widget with AI-powered analysis for any frontend framework","directories":{},"_nodeVersion":"22.18.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.12","vue":"^3.5.26","zod":"^3.23.8","tsup":"^8.3.5","chalk":"^5.3.0","jsdom":"^27.4.0","react":"^19.0.0","rrweb":"^2.0.0-alpha.17","vitest":"^4.0.16","fs-extra":"^11.2.0","commander":"^12.1.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.2","@octokit/app":"^15.0.0","@types/react":"^19.0.2","@vercel/node":"^2.3.0","@octokit/rest":"^21.0.2","@ai-sdk/google":"^1.0.0","@ai-sdk/openai":"^1.0.0","@clack/prompts":"^0.11.0","@upstash/redis":"^1.36.0","@types/fs-extra":"^11.0.4","@types/react-dom":"^19.0.2","@ai-sdk/anthropic":"^1.0.0","@upstash/ratelimit":"^2.0.7","@vitest/coverage-v8":"^4.0.16"},"peerDependencies":{"vue":">=3.0.0","react":">=17.0.0","rrweb":">=2.0.0-alpha.17","react-dom":">=17.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"rrweb":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inner-lens_0.3.3_1767779015818_0.748002414630794","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"inner-lens","version":"0.3.4","keywords":["debugging","qa","ai","bug-report","developer-tools","react","vue","svelte","vanilla-js","nextjs","vite","remix","astro","github-actions","error-tracking"],"author":{"name":"jack"},"license":"MIT","_id":"inner-lens@0.3.4","maintainers":[{"name":"jhlee0409","email":"relee6203@gmail.com"}],"homepage":"https://github.com/jhlee0409/inner-lens#readme","bugs":{"url":"https://github.com/jhlee0409/inner-lens/issues"},"bin":{"inner-lens":"dist/cli.cjs","create-inner-lens":"dist/create.cjs"},"dist":{"shasum":"0ff3319f1eddfcb43fe08940b126c5b9d4788e89","tarball":"https://registry.npmjs.org/inner-lens/-/inner-lens-0.3.4.tgz","fileCount":30,"integrity":"sha512-9U8BKCzF7sZg5eNSECOTl9160GXI8u34+DVCPOqJjTFOETcVREvinuZB5VzN9dhlGzBjsvOK80simg6+dYx/lA==","signatures":[{"sig":"MEYCIQCyMl5bWxqR9fE78vVdS1H5DQYw4oMViW9g2XO+EqbPtwIhAPnmXQJf9CVVAe9wVMi22vfcAO3Qsj4I/9GHz154GdpU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1737554},"main":"./dist/core.cjs","type":"module","types":"./dist/core.d.ts","module":"./dist/core.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./replay":{"import":{"types":"./dist/replay.d.ts","default":"./dist/replay.js"},"require":{"types":"./dist/replay.d.cts","default":"./dist/replay.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}},"./vanilla":{"import":{"types":"./dist/vanilla.d.ts","default":"./dist/vanilla.js"},"require":{"types":"./dist/vanilla.d.cts","default":"./dist/vanilla.cjs"}}},"gitHead":"7d83afd5f87b0c0f35e95e6b0574fe02cb116ff3","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","example":"node examples/vanilla/server.js","typecheck":"tsc --noEmit","sync:check":"npx tsx scripts/sync-check.ts","test:watch":"vitest","example:dev":"npm run build && node examples/vanilla/server.js","sparse:check":"npx tsx scripts/sparse-checkout-check.ts","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jhlee0409","email":"relee6203@gmail.com"},"deprecated":"This version is deprecated. Please use the latest version (0.4.6) for the best experience: npm install inner-lens@latest","repository":{"url":"git+https://github.com/jhlee0409/inner-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Self-Debugging QA Agent - Universal bug reporting widget with AI-powered analysis for any frontend framework","directories":{},"_nodeVersion":"22.18.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.12","vue":"^3.5.26","zod":"^3.23.8","tsup":"^8.3.5","chalk":"^5.3.0","jsdom":"^27.4.0","react":"^19.0.0","rrweb":"^2.0.0-alpha.17","vitest":"^4.0.16","fs-extra":"^11.2.0","commander":"^12.1.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.2","@octokit/app":"^15.0.0","@types/react":"^19.0.2","@vercel/node":"^2.3.0","@octokit/rest":"^21.0.2","@ai-sdk/google":"^1.0.0","@ai-sdk/openai":"^1.0.0","@clack/prompts":"^0.11.0","@upstash/redis":"^1.36.0","@types/fs-extra":"^11.0.4","@types/react-dom":"^19.0.2","@ai-sdk/anthropic":"^1.0.0","@upstash/ratelimit":"^2.0.7","@vitest/coverage-v8":"^4.0.16"},"peerDependencies":{"vue":">=3.0.0","react":">=17.0.0","rrweb":">=2.0.0-alpha.17","react-dom":">=17.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"rrweb":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inner-lens_0.3.4_1767779760456_0.01271996403835507","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"inner-lens","version":"0.4.0","keywords":["debugging","qa","ai","bug-report","developer-tools","react","vue","vanilla-js","nextjs","vite","remix","astro","github-actions","error-tracking"],"author":{"name":"jack"},"license":"MIT","_id":"inner-lens@0.4.0","maintainers":[{"name":"jhlee0409","email":"relee6203@gmail.com"}],"homepage":"https://github.com/jhlee0409/inner-lens#readme","bugs":{"url":"https://github.com/jhlee0409/inner-lens/issues"},"bin":{"inner-lens":"dist/cli.cjs","create-inner-lens":"dist/create.cjs"},"dist":{"shasum":"8dc9e953e76ffd1c271e5f3d08397e975f383c35","tarball":"https://registry.npmjs.org/inner-lens/-/inner-lens-0.4.0.tgz","fileCount":30,"integrity":"sha512-JxgWTPA7p0+6xlMpzGLw2fD9Aof28f9/1Ro0Pi9giD2kUnr9VxkMcvKY2haUr9XNbGhJuCc1ZWOxy1oQ0rXKBQ==","signatures":[{"sig":"MEYCIQDXIVrW/yoy5kie8xKbHYXRb/ExmYCvHnCGFrcddYL+vQIhAOMapiYngJW73V8/Wnlcmh6yLSpWgfH3MiIqixlGrgRX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1838372},"main":"./dist/core.cjs","type":"module","types":"./dist/core.d.ts","module":"./dist/core.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}},"./vanilla":{"import":{"types":"./dist/vanilla.d.ts","default":"./dist/vanilla.js"},"require":{"types":"./dist/vanilla.d.cts","default":"./dist/vanilla.cjs"}}},"gitHead":"427d20cb74bfaa7e277d2fbd3df61dd01baf947b","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","example":"node examples/vanilla/server.js","typecheck":"tsc --noEmit","sync:check":"npx tsx scripts/sync-check.ts","test:watch":"vitest","example:dev":"npm run build && node examples/vanilla/server.js","sparse:check":"npx tsx scripts/sparse-checkout-check.ts","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build","workflow:check":"npx tsx scripts/workflow-isolation-check.ts"},"_npmUser":{"name":"jhlee0409","email":"relee6203@gmail.com"},"deprecated":"This version is deprecated. Please use the latest version (0.4.6) for the best experience: npm install inner-lens@latest","repository":{"url":"git+https://github.com/jhlee0409/inner-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Self-Debugging QA Agent - Universal bug reporting widget with AI-powered analysis for any frontend framework","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.12","vue":"^3.5.26","zod":"^3.23.8","tsup":"^8.3.5","chalk":"^5.3.0","jsdom":"^27.4.0","react":"^19.0.0","rrweb":"^2.0.0-alpha.17","vitest":"^4.0.16","fs-extra":"^11.2.0","commander":"^12.1.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.2","@octokit/app":"^15.0.0","@types/react":"^19.0.2","@vercel/node":"^2.3.0","@octokit/rest":"^21.0.2","@ai-sdk/google":"^1.0.0","@ai-sdk/openai":"^1.0.0","@clack/prompts":"^0.11.0","@upstash/redis":"^1.36.0","@types/fs-extra":"^11.0.4","web-tree-sitter":"^0.26.3","@types/react-dom":"^19.0.2","@ai-sdk/anthropic":"^1.0.0","@upstash/ratelimit":"^2.0.7","@vitest/coverage-v8":"^4.0.16","tree-sitter-typescript":"^0.23.2"},"peerDependencies":{"vue":">=3.0.0","react":">=17.0.0","rrweb":">=2.0.0-alpha.17","react-dom":">=17.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"rrweb":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inner-lens_0.4.0_1767803007835_0.9996761456239969","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"inner-lens","version":"0.4.1","keywords":["debugging","qa","ai","bug-report","developer-tools","react","vue","vanilla-js","nextjs","vite","remix","astro","github-actions","error-tracking"],"author":{"name":"jack"},"license":"MIT","_id":"inner-lens@0.4.1","maintainers":[{"name":"jhlee0409","email":"relee6203@gmail.com"}],"homepage":"https://github.com/jhlee0409/inner-lens#readme","bugs":{"url":"https://github.com/jhlee0409/inner-lens/issues"},"bin":{"inner-lens":"dist/cli.cjs","create-inner-lens":"dist/create.cjs"},"dist":{"shasum":"56ce965a007579ccf2b1353c88115190aac7a0af","tarball":"https://registry.npmjs.org/inner-lens/-/inner-lens-0.4.1.tgz","fileCount":30,"integrity":"sha512-IKL8K4Pz8Le4lBA5soI1myrvWivVgl9070F005xQ8MxBuaoaM2Owcd8Euh7b2EJNjGnSZmdwUclAOeJ1a4Ivmg==","signatures":[{"sig":"MEUCIQCeZgctNgVIEjDlB5wKbvXg6AkYTtpa0l8jImpsQH0gxAIgVyTFMzNUsTamN3QNJdB/yc2y21VxLcSZ1mnMi+9Wj3Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1848226},"main":"./dist/core.cjs","type":"module","types":"./dist/core.d.ts","module":"./dist/core.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}},"./vanilla":{"import":{"types":"./dist/vanilla.d.ts","default":"./dist/vanilla.js"},"require":{"types":"./dist/vanilla.d.cts","default":"./dist/vanilla.cjs"}}},"gitHead":"ee348a5b904ae4e9ba56790b787c4a1d54aa529b","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","example":"node examples/vanilla/server.js","typecheck":"tsc --noEmit","sync:check":"npx tsx scripts/sync-check.ts","test:watch":"vitest","example:dev":"npm run build && node examples/vanilla/server.js","sparse:check":"npx tsx scripts/sparse-checkout-check.ts","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build","workflow:check":"npx tsx scripts/workflow-isolation-check.ts"},"_npmUser":{"name":"jhlee0409","email":"relee6203@gmail.com"},"deprecated":"This version is deprecated. Please use the latest version (0.4.6) for the best experience: npm install inner-lens@latest","repository":{"url":"git+https://github.com/jhlee0409/inner-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Self-Debugging QA Agent - Universal bug reporting widget with AI-powered analysis for any frontend framework","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.12","vue":"^3.5.26","zod":"^3.23.8","tsup":"^8.3.5","chalk":"^5.3.0","jsdom":"^27.4.0","react":"^19.0.0","rrweb":"^2.0.0-alpha.17","vitest":"^4.0.16","fs-extra":"^11.2.0","commander":"^12.1.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.2","@octokit/app":"^15.0.0","@types/react":"^19.0.2","@vercel/node":"^2.3.0","@octokit/rest":"^21.0.2","@ai-sdk/google":"^1.0.0","@ai-sdk/openai":"^1.0.0","@clack/prompts":"^0.11.0","@upstash/redis":"^1.36.0","@types/fs-extra":"^11.0.4","web-tree-sitter":"^0.26.3","@types/react-dom":"^19.0.2","@ai-sdk/anthropic":"^1.0.0","@upstash/ratelimit":"^2.0.7","@vitest/coverage-v8":"^4.0.16","tree-sitter-typescript":"^0.23.2"},"peerDependencies":{"vue":">=3.0.0","react":">=17.0.0","rrweb":">=2.0.0-alpha.17","react-dom":">=17.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"rrweb":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inner-lens_0.4.1_1767882551054_0.9382791709285949","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"inner-lens","version":"0.4.2","keywords":["debugging","qa","ai","bug-report","developer-tools","react","vue","vanilla-js","nextjs","vite","remix","astro","github-actions","error-tracking"],"author":{"name":"jack"},"license":"MIT","_id":"inner-lens@0.4.2","maintainers":[{"name":"jhlee0409","email":"relee6203@gmail.com"}],"homepage":"https://github.com/jhlee0409/inner-lens#readme","bugs":{"url":"https://github.com/jhlee0409/inner-lens/issues"},"bin":{"inner-lens":"dist/cli.cjs","create-inner-lens":"dist/create.cjs"},"dist":{"shasum":"8d43d4bf535e10fcb5f2a98e18bd988eca3292bf","tarball":"https://registry.npmjs.org/inner-lens/-/inner-lens-0.4.2.tgz","fileCount":30,"integrity":"sha512-gkPC/ttVJXjIBv/9OhnSSyMWtMHWQj6eiFdVUvQEDOf1hfvsdSmrjetR3Dlqs3qZVlAwfuA7akLt9p/gaYEnXA==","signatures":[{"sig":"MEUCIQDcfmgFRQZG2K/0bqTJL20FLUMYeie1rYKema2DURMhkgIgPqG2gmempnqAq0oa4mt5Sxo+0gpsJCIt36urMPv6CGA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1848794},"main":"./dist/core.cjs","type":"module","types":"./dist/core.d.ts","module":"./dist/core.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}},"./vanilla":{"import":{"types":"./dist/vanilla.d.ts","default":"./dist/vanilla.js"},"require":{"types":"./dist/vanilla.d.cts","default":"./dist/vanilla.cjs"}}},"gitHead":"f20a358269518bb46787d8f487dedb49696191cd","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","example":"node examples/vanilla/server.js","typecheck":"tsc --noEmit","sync:check":"npx tsx scripts/sync-check.ts","test:watch":"vitest","example:dev":"npm run build && node examples/vanilla/server.js","sparse:check":"npx tsx scripts/sparse-checkout-check.ts","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build","workflow:check":"npx tsx scripts/workflow-isolation-check.ts"},"_npmUser":{"name":"jhlee0409","email":"relee6203@gmail.com"},"deprecated":"This version is deprecated. Please use the latest version (0.4.6) for the best experience: npm install inner-lens@latest","repository":{"url":"git+https://github.com/jhlee0409/inner-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Self-Debugging QA Agent - Universal bug reporting widget with AI-powered analysis for any frontend framework","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.12","vue":"^3.5.26","zod":"^3.23.8","tsup":"^8.3.5","chalk":"^5.3.0","jsdom":"^27.4.0","react":"^19.0.0","rrweb":"^2.0.0-alpha.17","vitest":"^4.0.16","fs-extra":"^11.2.0","commander":"^12.1.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.2","@octokit/app":"^15.0.0","@types/react":"^19.0.2","@vercel/node":"^2.3.0","@octokit/rest":"^21.0.2","@ai-sdk/google":"^1.0.0","@ai-sdk/openai":"^1.0.0","@clack/prompts":"^0.11.0","@upstash/redis":"^1.36.0","@types/fs-extra":"^11.0.4","web-tree-sitter":"^0.26.3","@types/react-dom":"^19.0.2","@ai-sdk/anthropic":"^1.0.0","@upstash/ratelimit":"^2.0.7","@vitest/coverage-v8":"^4.0.16","tree-sitter-typescript":"^0.23.2"},"peerDependencies":{"vue":">=3.0.0","react":">=17.0.0","rrweb":">=2.0.0-alpha.17","react-dom":">=17.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"rrweb":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inner-lens_0.4.2_1767893521448_0.0496841935650294","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"inner-lens","version":"0.4.3","keywords":["debugging","qa","ai","bug-report","developer-tools","react","vue","vanilla-js","nextjs","vite","remix","astro","github-actions","error-tracking"],"author":{"name":"jack"},"license":"MIT","_id":"inner-lens@0.4.3","maintainers":[{"name":"jhlee0409","email":"relee6203@gmail.com"}],"homepage":"https://github.com/jhlee0409/inner-lens#readme","bugs":{"url":"https://github.com/jhlee0409/inner-lens/issues"},"bin":{"inner-lens":"dist/cli.cjs","create-inner-lens":"dist/create.cjs"},"dist":{"shasum":"ee321946ba1810d8cf67d77cf2c7f101ed9ba890","tarball":"https://registry.npmjs.org/inner-lens/-/inner-lens-0.4.3.tgz","fileCount":34,"integrity":"sha512-QJt+gh/PuJEq1ygIAbm+o6QeUHW6H5Wgwu3m+zuz4OFjcv5Of8egxrAe4PV/M9HPvjKnLtsazRuOvQf1+JwN3A==","signatures":[{"sig":"MEYCIQDgq9DCtvTTlB6WHNbs/JiYO2LTZhtY5fJuOQdFOU2X4QIhAPyPlpKNbuGFL2cANZzWcia/FWLO4PKjZHeFeTWngrbV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1911968},"main":"./dist/core.cjs","type":"module","types":"./dist/core.d.ts","module":"./dist/core.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./build":{"import":{"types":"./dist/build.d.ts","default":"./dist/build.js"},"require":{"types":"./dist/build.d.cts","default":"./dist/build.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}},"./vanilla":{"import":{"types":"./dist/vanilla.d.ts","default":"./dist/vanilla.js"},"require":{"types":"./dist/vanilla.d.cts","default":"./dist/vanilla.cjs"}}},"gitHead":"ecd40add90a15e8b4bbfacc7b08912d6360ab473","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","example":"node examples/vanilla/server.js","typecheck":"tsc --noEmit","sync:check":"npx tsx scripts/sync-check.ts","test:watch":"vitest","example:dev":"npm run build && node examples/vanilla/server.js","sparse:check":"npx tsx scripts/sparse-checkout-check.ts","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build","workflow:check":"npx tsx scripts/workflow-isolation-check.ts"},"_npmUser":{"name":"jhlee0409","email":"relee6203@gmail.com"},"deprecated":"This version is deprecated. Please use the latest version (0.4.6) for the best experience: npm install inner-lens@latest","repository":{"url":"git+https://github.com/jhlee0409/inner-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Self-Debugging QA Agent - Universal bug reporting widget with AI-powered analysis for any frontend framework","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.12","vue":"^3.5.26","zod":"^3.23.8","tsup":"^8.3.5","chalk":"^5.3.0","jsdom":"^27.4.0","react":"^19.0.0","rrweb":"^2.0.0-alpha.17","vitest":"^4.0.16","fs-extra":"^11.2.0","commander":"^12.1.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.2","@octokit/app":"^15.0.0","@types/react":"^19.0.2","@vercel/node":"^2.3.0","@octokit/rest":"^21.0.2","@ai-sdk/google":"^1.0.0","@ai-sdk/openai":"^1.0.0","@clack/prompts":"^0.11.0","@upstash/redis":"^1.36.0","@types/fs-extra":"^11.0.4","web-tree-sitter":"^0.26.3","@types/react-dom":"^19.0.2","@ai-sdk/anthropic":"^1.0.0","@upstash/ratelimit":"^2.0.7","@vitest/coverage-v8":"^4.0.16","tree-sitter-typescript":"^0.23.2"},"peerDependencies":{"vue":">=3.0.0","react":">=17.0.0","rrweb":">=2.0.0-alpha.17","react-dom":">=17.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"rrweb":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inner-lens_0.4.3_1768037952240_0.7244621346506808","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"inner-lens","version":"0.4.4","keywords":["debugging","qa","ai","bug-report","developer-tools","react","vue","vanilla-js","nextjs","vite","remix","astro","github-actions","error-tracking"],"author":{"name":"jack"},"license":"MIT","_id":"inner-lens@0.4.4","maintainers":[{"name":"jhlee0409","email":"relee6203@gmail.com"}],"homepage":"https://github.com/jhlee0409/inner-lens#readme","bugs":{"url":"https://github.com/jhlee0409/inner-lens/issues"},"bin":{"inner-lens":"dist/cli.cjs","create-inner-lens":"dist/create.cjs"},"dist":{"shasum":"bac16b719c23a8e1f9e7613ffc06af30d8fab73d","tarball":"https://registry.npmjs.org/inner-lens/-/inner-lens-0.4.4.tgz","fileCount":34,"integrity":"sha512-O4AH7zSaINiPPkyJVbFog9cbuLwdfSu6fA1FwV8bwm4dWPjUlkmexKHh89Nf9bVQ3UzlT8p+EWLfSexxd0v2SA==","signatures":[{"sig":"MEYCIQCpsSdiDVGmGd07NK8E2CddMLm/Oc0DJeDxPKPmnQFljAIhAMZGGJVBNr5CVoHtTZlA8XYuW47ScYu3lMxO471Vybz2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1917059},"main":"./dist/core.cjs","type":"module","types":"./dist/core.d.ts","module":"./dist/core.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./build":{"import":{"types":"./dist/build.d.ts","default":"./dist/build.js"},"require":{"types":"./dist/build.d.cts","default":"./dist/build.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}},"./vanilla":{"import":{"types":"./dist/vanilla.d.ts","default":"./dist/vanilla.js"},"require":{"types":"./dist/vanilla.d.cts","default":"./dist/vanilla.cjs"}}},"gitHead":"fa36d13baa1b66ba22f43355357873c800ecfd84","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","example":"node examples/vanilla/server.js","typecheck":"tsc --noEmit","sync:check":"npx tsx scripts/sync-check.ts","test:watch":"vitest","example:dev":"npm run build && node examples/vanilla/server.js","sparse:check":"npx tsx scripts/sparse-checkout-check.ts","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build","workflow:check":"npx tsx scripts/workflow-isolation-check.ts"},"_npmUser":{"name":"jhlee0409","email":"relee6203@gmail.com"},"deprecated":"This version is deprecated. Please use the latest version (0.4.6) for the best experience: npm install inner-lens@latest","repository":{"url":"git+https://github.com/jhlee0409/inner-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Self-Debugging QA Agent - Universal bug reporting widget with AI-powered analysis for any frontend framework","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.12","vue":"^3.5.26","zod":"^3.23.8","tsup":"^8.3.5","chalk":"^5.3.0","jsdom":"^27.4.0","react":"^19.0.0","rrweb":"^2.0.0-alpha.17","vitest":"^4.0.16","fs-extra":"^11.2.0","commander":"^12.1.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.2","@octokit/app":"^15.0.0","@types/react":"^19.0.2","@vercel/node":"^2.3.0","@octokit/rest":"^21.0.2","@ai-sdk/google":"^1.0.0","@ai-sdk/openai":"^1.0.0","@clack/prompts":"^0.11.0","@upstash/redis":"^1.36.0","@types/fs-extra":"^11.0.4","web-tree-sitter":"^0.26.3","@types/react-dom":"^19.0.2","@ai-sdk/anthropic":"^1.0.0","@upstash/ratelimit":"^2.0.7","@vitest/coverage-v8":"^4.0.16","tree-sitter-typescript":"^0.23.2"},"peerDependencies":{"vue":">=3.0.0","react":">=17.0.0","rrweb":">=2.0.0-alpha.17","react-dom":">=17.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"rrweb":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inner-lens_0.4.4_1768069804520_0.6188679016444791","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"inner-lens","version":"0.4.5","keywords":["debugging","qa","ai","bug-report","developer-tools","react","vue","vanilla-js","nextjs","vite","remix","astro","github-actions","error-tracking"],"author":{"name":"jack"},"license":"MIT","_id":"inner-lens@0.4.5","maintainers":[{"name":"jhlee0409","email":"relee6203@gmail.com"}],"homepage":"https://github.com/jhlee0409/inner-lens#readme","bugs":{"url":"https://github.com/jhlee0409/inner-lens/issues"},"bin":{"inner-lens":"dist/cli.cjs","create-inner-lens":"dist/create.cjs"},"dist":{"shasum":"c39a82300b8261c2df071d8b9ca61ffc2566f6eb","tarball":"https://registry.npmjs.org/inner-lens/-/inner-lens-0.4.5.tgz","fileCount":34,"integrity":"sha512-sZIIUDrLRaYMPCdOJ4+a2H/1fi4+tXOxaucef64fswXpA/5/uc9XfZzqCNLqqsO2Ho96/pyonoil6SGfypg8SA==","signatures":[{"sig":"MEQCIA7MfoP9YPoG4jaTx+GZT3QiG9qt4lDu3/+8qCPEgwXPAiBG8j7MKFmAOyunL2UBiZ89wbLOjw/DJbPY+CCYESFVsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1981763},"main":"./dist/core.cjs","type":"module","types":"./dist/core.d.ts","module":"./dist/core.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./build":{"import":{"types":"./dist/build.d.ts","default":"./dist/build.js"},"require":{"types":"./dist/build.d.cts","default":"./dist/build.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}},"./vanilla":{"import":{"types":"./dist/vanilla.d.ts","default":"./dist/vanilla.js"},"require":{"types":"./dist/vanilla.d.cts","default":"./dist/vanilla.cjs"}}},"gitHead":"6a09b17cd45b0228f7a93f8a0a98270b7062e071","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","example":"node examples/vanilla/server.js","typecheck":"tsc --noEmit","sync:check":"npx tsx scripts/sync-check.ts","test:watch":"vitest","example:dev":"npm run build && node examples/vanilla/server.js","sparse:check":"npx tsx scripts/sparse-checkout-check.ts","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build","workflow:check":"npx tsx scripts/workflow-isolation-check.ts"},"_npmUser":{"name":"jhlee0409","email":"relee6203@gmail.com"},"deprecated":"This version is deprecated. Please use the latest version (0.4.6) for the best experience: npm install inner-lens@latest","repository":{"url":"git+https://github.com/jhlee0409/inner-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Self-Debugging QA Agent - Universal bug reporting widget with AI-powered analysis for any frontend framework","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.12","vue":"^3.5.26","zod":"^3.23.8","tsup":"^8.3.5","chalk":"^5.3.0","jsdom":"^27.4.0","react":"^19.0.0","rrweb":"^2.0.0-alpha.17","vitest":"^4.0.16","fs-extra":"^11.2.0","commander":"^12.1.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.2","@octokit/app":"^15.0.0","@types/react":"^19.0.2","@vercel/node":"^2.3.0","@octokit/rest":"^21.0.2","@ai-sdk/google":"^1.0.0","@ai-sdk/openai":"^1.0.0","@clack/prompts":"^0.11.0","@upstash/redis":"^1.36.0","@types/fs-extra":"^11.0.4","web-tree-sitter":"^0.26.3","@types/react-dom":"^19.0.2","@ai-sdk/anthropic":"^1.0.0","@upstash/ratelimit":"^2.0.7","@vitest/coverage-v8":"^4.0.16","tree-sitter-typescript":"^0.23.2"},"peerDependencies":{"vue":">=3.0.0","react":">=17.0.0","rrweb":">=2.0.0-alpha.17","react-dom":">=17.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"rrweb":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inner-lens_0.4.5_1768072190031_0.5173451927907422","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"inner-lens","version":"0.4.6","keywords":["debugging","qa","ai","bug-report","developer-tools","react","vue","vanilla-js","nextjs","vite","remix","astro","github-actions","error-tracking"],"author":{"name":"jack"},"license":"MIT","_id":"inner-lens@0.4.6","maintainers":[{"name":"jhlee0409","email":"relee6203@gmail.com"}],"homepage":"https://github.com/jhlee0409/inner-lens#readme","bugs":{"url":"https://github.com/jhlee0409/inner-lens/issues"},"bin":{"inner-lens":"dist/cli.cjs","create-inner-lens":"dist/create.cjs"},"dist":{"shasum":"df50db9dd963575f4b52748412fc226f927b2503","tarball":"https://registry.npmjs.org/inner-lens/-/inner-lens-0.4.6.tgz","fileCount":34,"integrity":"sha512-4uBLd+8TE7l9hLylYuP4n40UHJ/aWxhv4CvN9nRMH4LNIhxpnJmMd9xzCACRZ4suKoqvGtA6qK82qY+lO/bNyA==","signatures":[{"sig":"MEQCIHKj44xCsNYyrjgo2as5BgJUqjsWRWF8EN0//DAfi7ExAiAJu6GIfFBO89xai92A81LiSVWqB280eMivtFk4a69ZNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1982707},"main":"./dist/core.cjs","type":"module","types":"./dist/core.d.ts","module":"./dist/core.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./build":{"import":{"types":"./dist/build.d.ts","default":"./dist/build.js"},"require":{"types":"./dist/build.d.cts","default":"./dist/build.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}},"./vanilla":{"import":{"types":"./dist/vanilla.d.ts","default":"./dist/vanilla.js"},"require":{"types":"./dist/vanilla.d.cts","default":"./dist/vanilla.cjs"}}},"gitHead":"ca3e6c821e67470b2e1236e90edb6a38ea256725","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","example":"node examples/vanilla/server.js","typecheck":"tsc --noEmit","sync:check":"npx tsx scripts/sync-check.ts","test:watch":"vitest","example:dev":"npm run build && node examples/vanilla/server.js","sparse:check":"npx tsx scripts/sparse-checkout-check.ts","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build","workflow:check":"npx tsx scripts/workflow-isolation-check.ts"},"_npmUser":{"name":"jhlee0409","email":"relee6203@gmail.com"},"repository":{"url":"git+https://github.com/jhlee0409/inner-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Self-Debugging QA Agent - Universal bug reporting widget with AI-powered analysis for any frontend framework","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.12","vue":"^3.5.26","zod":"^3.23.8","tsup":"^8.3.5","chalk":"^5.3.0","jsdom":"^27.4.0","react":"^19.0.0","rrweb":"^2.0.0-alpha.17","vitest":"^4.0.16","fs-extra":"^11.2.0","commander":"^12.1.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.2","@octokit/app":"^15.0.0","@types/react":"^19.0.2","@vercel/node":"^2.3.0","@octokit/rest":"^21.0.2","@ai-sdk/google":"^1.0.0","@ai-sdk/openai":"^1.0.0","@clack/prompts":"^0.11.0","@upstash/redis":"^1.36.0","@types/fs-extra":"^11.0.4","web-tree-sitter":"^0.26.3","@types/react-dom":"^19.0.2","@ai-sdk/anthropic":"^1.0.0","@upstash/ratelimit":"^2.0.7","@vitest/coverage-v8":"^4.0.16","tree-sitter-typescript":"^0.23.2"},"peerDependencies":{"vue":">=3.0.0","react":">=17.0.0","rrweb":">=2.0.0-alpha.17","react-dom":">=17.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"rrweb":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inner-lens_0.4.6_1768121465232_0.6195614788045665","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"inner-lens","version":"0.4.7","keywords":["debugging","qa","ai","bug-report","developer-tools","react","vue","vanilla-js","nextjs","vite","remix","astro","github-actions","error-tracking"],"author":{"name":"jack"},"license":"MIT","_id":"inner-lens@0.4.7","maintainers":[{"name":"jhlee0409","email":"relee6203@gmail.com"}],"homepage":"https://github.com/jhlee0409/inner-lens#readme","bugs":{"url":"https://github.com/jhlee0409/inner-lens/issues"},"bin":{"inner-lens":"dist/cli.cjs","create-inner-lens":"dist/create.cjs"},"dist":{"shasum":"cec6f31e4e4036342cfe704349e634c1c4da1bba","tarball":"https://registry.npmjs.org/inner-lens/-/inner-lens-0.4.7.tgz","fileCount":34,"integrity":"sha512-tcgzIY5UyjAtiIPB3Pxtpbw5jXd/MnREZFNW5++lpU+T3cp8Let47KjP4h+iizQdFnzDgupy0CGZTbcwsAI2/A==","signatures":[{"sig":"MEUCIF+yJTAkV7UVPJJwNjIlpojoRH4G3Kaj7D29kCnjWeYPAiEA9iZUWZhDYrIcdHS55Qcbn9tCpYQc6nFv1IFL6H2SpcE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1985391},"main":"./dist/core.cjs","type":"module","types":"./dist/core.d.ts","module":"./dist/core.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./build":{"import":{"types":"./dist/build.d.ts","default":"./dist/build.js"},"require":{"types":"./dist/build.d.cts","default":"./dist/build.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}},"./vanilla":{"import":{"types":"./dist/vanilla.d.ts","default":"./dist/vanilla.js"},"require":{"types":"./dist/vanilla.d.cts","default":"./dist/vanilla.cjs"}}},"gitHead":"7b4fac80a6dc4467fd2caffb4ae1ad5ccf5d89fe","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","example":"node examples/vanilla/server.js","typecheck":"tsc --noEmit","sync:check":"npx tsx scripts/sync-check.ts","test:watch":"vitest","example:dev":"npm run build && node examples/vanilla/server.js","sparse:check":"npx tsx scripts/sparse-checkout-check.ts","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build","workflow:check":"npx tsx scripts/workflow-isolation-check.ts"},"_npmUser":{"name":"jhlee0409","email":"relee6203@gmail.com"},"repository":{"url":"git+https://github.com/jhlee0409/inner-lens.git","type":"git"},"_npmVersion":"10.9.2","description":"Self-Debugging QA Agent - Universal bug reporting widget with AI-powered analysis for any frontend framework","directories":{},"_nodeVersion":"22.16.0","_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.12","vue":"^3.5.26","zod":"^3.23.8","tsup":"^8.3.5","chalk":"^5.3.0","jsdom":"^27.4.0","react":"^19.0.0","rrweb":"^2.0.0-alpha.17","vitest":"^4.0.16","fs-extra":"^11.2.0","commander":"^12.1.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.2","@octokit/app":"^15.0.0","@types/react":"^19.0.2","@vercel/node":"^2.3.0","@octokit/rest":"^21.0.2","@ai-sdk/google":"^1.0.0","@ai-sdk/openai":"^1.0.0","@clack/prompts":"^0.11.0","@upstash/redis":"^1.36.0","@types/fs-extra":"^11.0.4","web-tree-sitter":"^0.26.3","@types/react-dom":"^19.0.2","@ai-sdk/anthropic":"^1.0.0","@upstash/ratelimit":"^2.0.7","@vitest/coverage-v8":"^4.0.16","tree-sitter-typescript":"^0.23.2"},"peerDependencies":{"vue":">=3.0.0","react":">=17.0.0","rrweb":">=2.0.0-alpha.17","react-dom":">=17.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"rrweb":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inner-lens_0.4.7_1768205397770_0.40267567244569036","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"inner-lens","version":"0.4.8","keywords":["debugging","qa","ai","bug-report","developer-tools","react","vue","vanilla-js","nextjs","vite","remix","astro","github-actions","error-tracking"],"author":{"name":"jack"},"license":"MIT","_id":"inner-lens@0.4.8","maintainers":[{"name":"jhlee0409","email":"relee6203@gmail.com"}],"homepage":"https://github.com/jhlee0409/inner-lens#readme","bugs":{"url":"https://github.com/jhlee0409/inner-lens/issues"},"bin":{"inner-lens":"dist/cli.cjs","create-inner-lens":"dist/create.cjs"},"dist":{"shasum":"c92dda166180d292bc4a77aad152b996cccf24b3","tarball":"https://registry.npmjs.org/inner-lens/-/inner-lens-0.4.8.tgz","fileCount":34,"integrity":"sha512-1hqUZd7xSepn6o/7X2W65fmCG7rEM9AUAi2fmSAPQUGfJIcKGC+Dd21xxwlIzIfJqMiqe16ufSh7V/GsqpoSRw==","signatures":[{"sig":"MEQCICPc+i5TyAQHjHUh0ifksukU5u35EuUFmsg3G2X10tu6AiBUDBVVh8uDKLiKgLqJ1WZ+vsNEqlgQTzGlFcYrbRK9aA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2025130},"main":"./dist/core.cjs","type":"module","types":"./dist/core.d.ts","module":"./dist/core.js","engines":{"node":">=20.0.0"},"exports":{".":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./build":{"import":{"types":"./dist/build.d.ts","default":"./dist/build.js"},"require":{"types":"./dist/build.d.cts","default":"./dist/build.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}},"./vanilla":{"import":{"types":"./dist/vanilla.d.ts","default":"./dist/vanilla.js"},"require":{"types":"./dist/vanilla.d.cts","default":"./dist/vanilla.cjs"}}},"gitHead":"666342ced0926f81efc3bacad93be4db82f33a53","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","example":"node examples/vanilla/server.js","typecheck":"tsc --noEmit","sync:check":"npx tsx scripts/sync-check.ts","test:watch":"vitest","example:dev":"npm run build && node examples/vanilla/server.js","sparse:check":"npx tsx scripts/sparse-checkout-check.ts","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build","workflow:check":"npx tsx scripts/workflow-isolation-check.ts"},"_npmUser":{"name":"jhlee0409","email":"relee6203@gmail.com"},"repository":{"url":"git+https://github.com/jhlee0409/inner-lens.git","type":"git"},"_npmVersion":"11.7.0","description":"Self-Debugging QA Agent - Universal bug reporting widget with AI-powered analysis for any frontend framework","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.12","vue":"^3.5.26","zod":"^3.23.8","tsup":"^8.3.5","chalk":"^5.3.0","jsdom":"^27.4.0","react":"^19.0.0","rrweb":"^2.0.0-alpha.17","vitest":"^4.0.16","fs-extra":"^11.2.0","commander":"^12.1.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/node":"^22.10.2","@octokit/app":"^15.0.0","@types/react":"^19.0.2","@vercel/node":"^2.3.0","@octokit/rest":"^21.0.2","@ai-sdk/google":"^1.0.0","@ai-sdk/openai":"^1.0.0","@clack/prompts":"^0.11.0","@upstash/redis":"^1.36.0","@types/fs-extra":"^11.0.4","web-tree-sitter":"^0.26.3","@types/react-dom":"^19.0.2","@ai-sdk/anthropic":"^1.0.0","@upstash/ratelimit":"^2.0.7","@vitest/coverage-v8":"^4.0.16","tree-sitter-typescript":"^0.23.2"},"peerDependencies":{"vue":">=3.0.0","react":">=17.0.0","rrweb":">=2.0.0-alpha.17","react-dom":">=17.0.0"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"rrweb":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/inner-lens_0.4.8_1768212728276_0.3592796866470178","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"inner-lens","version":"0.4.9","description":"Self-Debugging QA Agent - Universal bug reporting widget with AI-powered analysis for any frontend framework","author":{"name":"jack"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jhlee0409/inner-lens.git"},"bugs":{"url":"https://github.com/jhlee0409/inner-lens/issues"},"homepage":"https://github.com/jhlee0409/inner-lens#readme","keywords":["debugging","qa","ai","bug-report","developer-tools","react","vue","vanilla-js","nextjs","vite","remix","astro","github-actions","error-tracking"],"type":"module","bin":{"inner-lens":"dist/cli.cjs","create-inner-lens":"dist/create.cjs"},"exports":{".":{"import":{"types":"./dist/core.d.ts","default":"./dist/core.js"},"require":{"types":"./dist/core.d.cts","default":"./dist/core.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./vanilla":{"import":{"types":"./dist/vanilla.d.ts","default":"./dist/vanilla.js"},"require":{"types":"./dist/vanilla.d.cts","default":"./dist/vanilla.cjs"}},"./vue":{"import":{"types":"./dist/vue.d.ts","default":"./dist/vue.js"},"require":{"types":"./dist/vue.d.cts","default":"./dist/vue.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}},"./build":{"import":{"types":"./dist/build.d.ts","default":"./dist/build.js"},"require":{"types":"./dist/build.d.cts","default":"./dist/build.cjs"}}},"main":"./dist/core.cjs","module":"./dist/core.js","types":"./dist/core.d.ts","scripts":{"build":"tsup","dev":"tsup --watch","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","typecheck":"tsc --noEmit","sync:check":"npx tsx scripts/sync-check.ts","sparse:check":"npx tsx scripts/sparse-checkout-check.ts","workflow:check":"npx tsx scripts/workflow-isolation-check.ts","prepublishOnly":"npm run build","example":"node examples/vanilla/server.js","example:dev":"npm run build && node examples/vanilla/server.js"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0","rrweb":">=2.0.0-alpha.17","vue":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true},"vue":{"optional":true},"rrweb":{"optional":true}},"devDependencies":{"@ai-sdk/anthropic":"^1.0.0","@ai-sdk/google":"^1.0.0","@ai-sdk/openai":"^1.0.0","@clack/prompts":"^0.11.0","@octokit/app":"^15.0.0","@octokit/rest":"^21.0.2","@types/fs-extra":"^11.0.4","@types/node":"^22.10.2","@types/react":"^19.0.2","@types/react-dom":"^19.0.2","@upstash/ratelimit":"^2.0.7","@upstash/redis":"^1.36.0","@vercel/node":"^2.3.0","@vitest/coverage-v8":"^4.0.16","ai":"^6.0.12","chalk":"^5.3.0","commander":"^12.1.0","fs-extra":"^11.2.0","jsdom":"^27.4.0","react":"^19.0.0","react-dom":"^19.0.0","rrweb":"^2.0.0-alpha.17","tree-sitter-typescript":"^0.23.2","tsup":"^8.3.5","typescript":"^5.7.2","vitest":"^4.0.16","vue":"^3.5.26","web-tree-sitter":"^0.26.3","zod":"^3.23.8"},"engines":{"node":">=20.0.0"},"_id":"inner-lens@0.4.9","gitHead":"c062f9b29e007ecb664f5ea4772bf8f97ad72b84","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-Pz9TcmPXwDkvwbgk2ZeTmyjCksOjdr0vO4Cyy6HIzW4Nz6ifb+5VxXD9otwVRmCms3EcrwBfIRqIYZ71xhVz0g==","shasum":"5f91d0dfaaa91da58078dcf57fb7e9f0c0e23815","tarball":"https://registry.npmjs.org/inner-lens/-/inner-lens-0.4.9.tgz","fileCount":34,"unpackedSize":2031130,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCkNeMsgwFI/LpV5P5eO2uGJyIqp6WKGUnEhqjG6FSsmAIhAIbDtwqg/v9Hwt3S+Fuse2zg3GLIzTE5MpCU8vszslWo"}]},"_npmUser":{"name":"jhlee0409","email":"relee6203@gmail.com"},"directories":{},"maintainers":[{"name":"jhlee0409","email":"relee6203@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/inner-lens_0.4.9_1768524922945_0.00609951927318253"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-07T06:42:30.263Z","modified":"2026-01-16T00:55:23.276Z","0.1.0":"2026-01-06T04:54:51.683Z","0.2.0":"2026-01-07T06:42:30.580Z","0.3.0":"2026-01-07T07:45:20.236Z","0.3.1":"2026-01-07T09:23:11.837Z","0.3.2":"2026-01-07T09:32:39.346Z","0.3.3":"2026-01-07T09:43:36.065Z","0.3.4":"2026-01-07T09:56:00.663Z","0.4.0":"2026-01-07T16:23:28.012Z","0.4.1":"2026-01-08T14:29:11.280Z","0.4.2":"2026-01-08T17:32:01.651Z","0.4.3":"2026-01-10T09:39:12.455Z","0.4.4":"2026-01-10T18:30:04.675Z","0.4.5":"2026-01-10T19:09:50.219Z","0.4.6":"2026-01-11T08:51:05.418Z","0.4.7":"2026-01-12T08:09:57.975Z","0.4.8":"2026-01-12T10:12:08.527Z","0.4.9":"2026-01-16T00:55:23.172Z"},"bugs":{"url":"https://github.com/jhlee0409/inner-lens/issues"},"author":{"name":"jack"},"license":"MIT","homepage":"https://github.com/jhlee0409/inner-lens#readme","keywords":["debugging","qa","ai","bug-report","developer-tools","react","vue","vanilla-js","nextjs","vite","remix","astro","github-actions","error-tracking"],"repository":{"type":"git","url":"git+https://github.com/jhlee0409/inner-lens.git"},"description":"Self-Debugging QA Agent - Universal bug reporting widget with AI-powered analysis for any frontend framework","maintainers":[{"name":"jhlee0409","email":"relee6203@gmail.com"}],"readme":"<p align=\"center\">\n  <img width=\"120\" height=\"120\" alt=\"inner-lens-logo\" src=\"https://github.com/user-attachments/assets/c535635b-daf8-4db5-bb50-82c32014f8c2\" />\n</p>\n\n<h1 align=\"center\">inner-lens</h1>\n\n<p align=\"center\">\n  <strong>Self-Debugging QA Agent</strong> — Universal bug reporting widget with AI-powered analysis\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/inner-lens\"><img src=\"https://img.shields.io/npm/v/inner-lens.svg?style=flat-square&color=6366f1\" alt=\"npm version\" /></a>\n  <a href=\"https://www.npmjs.com/package/inner-lens\"><img src=\"https://img.shields.io/npm/dm/inner-lens.svg?style=flat-square&color=6366f1\" alt=\"npm downloads\" /></a>\n  <a href=\"https://github.com/jhlee0409/inner-lens/actions/workflows/test.yml\"><img src=\"https://img.shields.io/github/actions/workflow/status/jhlee0409/inner-lens/test.yml?branch=main&style=flat-square&label=tests\" alt=\"CI Status\" /></a>\n  <a href=\"https://github.com/jhlee0409/inner-lens/blob/main/LICENSE\"><img src=\"https://img.shields.io/npm/l/inner-lens.svg?style=flat-square&color=22c55e\" alt=\"License\" /></a>\n  <a href=\"https://github.com/jhlee0409/inner-lens\"><img src=\"https://img.shields.io/github/stars/jhlee0409/inner-lens?style=flat-square&color=fbbf24\" alt=\"GitHub Stars\" /></a>\n</p>\n\n<p align=\"center\">\n  <b>English</b> | <a href=\"./README.ko.md\">한국어</a>\n</p>\n\n---\n\n## Installation\n\n```bash\nnpm install inner-lens\n# or\nyarn add inner-lens\n# or\npnpm add inner-lens\n\n# Optional: With Session Replay (see below)\nnpm install inner-lens rrweb@2.0.0-alpha.17\n# or\nyarn add inner-lens rrweb@2.0.0-alpha.17\n# or\npnpm add inner-lens rrweb@2.0.0-alpha.17\n```\n\n## Quick Start\n\n```bash\nnpx inner-lens init\n```\n\nOr manually:\n\n**React / Next.js:**\n\n1. Configure build to inject git branch:\n```js\n// next.config.js\nconst { getGitBranch } = require('inner-lens/build');\n\nmodule.exports = {\n  env: {\n    NEXT_PUBLIC_GIT_BRANCH: getGitBranch(),\n  },\n};\n```\n\n2. Add the widget:\n```tsx\nimport { InnerLensWidget } from 'inner-lens/react';\n\nexport default function App() {\n  return (\n    <>\n      <YourApp />\n      <InnerLensWidget\n        mode=\"hosted\"\n        repository=\"your-org/your-repo\"\n        branch={process.env.NEXT_PUBLIC_GIT_BRANCH}\n      />\n    </>\n  );\n}\n```\n\n**Vue 3 (Vite):**\n\n1. Configure build:\n```js\n// vite.config.js\nimport { defineConfig } from 'vite';\nimport vue from '@vitejs/plugin-vue';\nimport { getGitBranch } from 'inner-lens/build';\n\nexport default defineConfig({\n  plugins: [vue()],\n  define: {\n    'import.meta.env.VITE_GIT_BRANCH': JSON.stringify(getGitBranch()),\n  },\n});\n```\n\n2. Add the widget:\n```vue\n<script setup>\nimport { InnerLensWidget } from 'inner-lens/vue';\n</script>\n\n<template>\n  <YourApp />\n  <InnerLensWidget\n    mode=\"hosted\"\n    repository=\"your-org/your-repo\"\n    :branch=\"import.meta.env.VITE_GIT_BRANCH\"\n  />\n</template>\n```\n\n**Vanilla JS (Vite):**\n\n1. Configure build (same as Vue)\n2. Add the widget:\n```js\nimport { InnerLens } from 'inner-lens/vanilla';\n\nconst widget = new InnerLens({\n  mode: 'hosted',\n  repository: 'your-org/your-repo',\n  branch: import.meta.env.VITE_GIT_BRANCH,\n});\nwidget.mount();\n```\n\n> **Note:** The `branch` prop tells the AI analysis engine which code version to analyze. If you only deploy from `main`, you can omit it (defaults to `main`). The `getGitBranch()` utility auto-detects branch from CI/CD environment variables (Vercel, Netlify, AWS Amplify, Cloudflare Pages, Render, Railway, GitHub Actions, Heroku).\n\n---\n\n## Why inner-lens?\n\nBug reports like *\"it doesn't work\"* waste hours of debugging time.\n\n| Without inner-lens | With inner-lens |\n|-------------------|-----------------|\n| \"The button doesn't work\" | Console logs, network errors, DOM state, session replay |\n| Hours of back-and-forth | One-click bug reports with full context |\n| Manual log collection | Automatic capture with PII masking |\n| Guessing what happened | AI-powered root cause analysis |\n\n### How It Works\n\n```\nUser clicks \"Report Bug\"\n    ↓\nWidget captures context (logs, actions, performance, DOM)\n    ↓\nGitHub Issue created with full context\n    ↓\nAI analyzes code & identifies root cause\n    ↓\nAnalysis posted as comment with fix suggestions\n```\n\n---\n\n## Hosted vs Self-Hosted\n\n| | Hosted (Recommended) | Self-Hosted |\n|---|:---:|:---:|\n| **Setup Time** | 2 minutes | 10 minutes |\n| **Backend Required** | No | Yes |\n| **Issue Author** | `inner-lens-app[bot]` | Your GitHub account |\n| **Rate Limit** | 10 req/min/IP + 100 req/day per repo | None |\n\n### Hosted Mode\n\n1. Install [GitHub App](https://github.com/apps/inner-lens-app)\n2. Add widget with `mode=\"hosted\"` and `repository` prop\n\n```tsx\n<InnerLensWidget mode=\"hosted\" repository=\"owner/repo\" />\n```\n\n### Self-Hosted Mode\n\n1. Create [GitHub Token](https://github.com/settings/tokens/new?scopes=repo)\n2. Add backend handler:\n\n```ts\n// Next.js App Router\nimport { createFetchHandler } from 'inner-lens/server';\n\nexport const POST = createFetchHandler({\n  githubToken: process.env.GITHUB_TOKEN!,\n  repository: 'owner/repo',\n});\n```\n\n3. Add widget with `mode=\"self-hosted\"` and `endpoint` prop:\n\n```tsx\n<InnerLensWidget\n  mode=\"self-hosted\"\n  endpoint=\"/api/inner-lens/report\"\n  repository=\"owner/repo\"\n/>\n```\n\nFor external API servers (Cloudflare Workers, separate domain, etc.), use `fullUrl`:\n\n```tsx\n<InnerLensWidget\n  mode=\"self-hosted\"\n  fullUrl=\"https://api.example.com/inner-lens/report\"\n  repository=\"owner/repo\"\n/>\n```\n\n<details>\n<summary><b>Other frameworks (Express, Fastify, Hono, Koa...)</b></summary>\n\n```ts\n// Express\nimport { createExpressHandler } from 'inner-lens/server';\napp.post('/api/report', createExpressHandler({ githubToken, repository }));\n\n// Fastify\nimport { createFastifyHandler } from 'inner-lens/server';\nfastify.post('/api/report', createFastifyHandler({ githubToken, repository }));\n\n// Hono / Bun / Deno\nimport { createFetchHandler } from 'inner-lens/server';\napp.post('/api/report', (c) => createFetchHandler({ githubToken, repository })(c.req.raw));\n\n// Koa\nimport { createKoaHandler } from 'inner-lens/server';\nrouter.post('/api/report', createKoaHandler({ githubToken, repository }));\n\n// Node.js HTTP\nimport { createNodeHandler } from 'inner-lens/server';\nconst handler = createNodeHandler({ githubToken, repository });\n```\n\n</details>\n\n---\n\n## AI Analysis\n\nEnable AI-powered bug analysis with GitHub Actions.\n\n```yaml\n# .github/workflows/inner-lens.yml\nname: inner-lens Analysis\n\non:\n  issues:\n    types: [opened]\n\njobs:\n  analyze:\n    if: contains(github.event.issue.labels.*.name, 'inner-lens')\n    uses: jhlee0409/inner-lens/.github/workflows/analysis-engine.yml@v1\n    with:\n      provider: 'anthropic'  # or 'openai', 'google'\n    secrets:\n      ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}\n```\n\n| Provider | Model (example) | Secret | Notes |\n|----------|-----------------|--------|-------|\n| Anthropic | claude-sonnet-4-5-20250929 | `ANTHROPIC_API_KEY` | `model` is optional; omit to use provider default |\n| OpenAI | gpt-4o | `OPENAI_API_KEY` | `model` is optional; omit to use provider default |\n| Google | gemini-2.5-flash | `GOOGLE_GENERATIVE_AI_API_KEY` | `model` is optional; omit to use provider default |\n\n### Workflow Options\n\n| Option | Required | Type | Default | Description |\n|--------|:--------:|------|---------|-------------|\n| `provider` | No | `string` | `anthropic` | AI provider (`anthropic`, `openai`, `google`) |\n| `model` | No | `string` | `''` | Optional model name (e.g., `claude-sonnet-4-20250514`); empty string uses provider default |\n| `language` | No | `string` | `en` | Analysis output language (`en`, `ko`, `ja`, `zh`, `es`, `de`, `fr`, `pt`) |\n| `max_files` | No | `number` | `25` | Maximum files to analyze (5-50) |\n\n**Secrets** (required based on provider):\n\n| Secret | Required |\n|--------|----------|\n| `ANTHROPIC_API_KEY` | When `provider: 'anthropic'` |\n| `OPENAI_API_KEY` | When `provider: 'openai'` |\n| `GOOGLE_GENERATIVE_AI_API_KEY` | When `provider: 'google'` |\n\n<details>\n<summary><b>Example with all options</b></summary>\n\n```yaml\njobs:\n  analyze:\n    if: contains(github.event.issue.labels.*.name, 'inner-lens')\n    uses: jhlee0409/inner-lens/.github/workflows/analysis-engine.yml@v1\n    with:\n      provider: 'anthropic'\n      model: 'claude-sonnet-4-20250514'\n      language: 'ko'\n      max_files: 30\n    secrets:\n      ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}\n```\n\n</details>\n\n---\n\n## Session Replay\n\nRecord DOM changes to visually replay what the user experienced.\n\n**Why use it?** See exactly what the user saw — clicks, scrolls, and UI changes — without asking them to reproduce the issue.\n\n**When to use it?** Complex UI bugs that are hard to reproduce from logs alone.\n\n> **Note:** Adds ~500KB to your bundle. Only enable if needed.\n\n```bash\nnpm install rrweb@2.0.0-alpha.17\n```\n\n```tsx\n<InnerLensWidget mode=\"hosted\" repository=\"owner/repo\" captureSessionReplay={true} />\n```\n\n---\n\n## Configuration\n\n> **Migration from v0.4.7 or earlier:** The `mode` prop is now **required**.\n> - If using hosted API: add `mode=\"hosted\"`\n> - If using custom endpoint: add `mode=\"self-hosted\"`\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `mode` | `'hosted' \\| 'self-hosted'` | **required** | API mode (see below) |\n| `repository` | `string` | - | GitHub repo (`owner/repo`) |\n| `endpoint` | `string` | - | Relative backend URL (self-hosted only) |\n| `fullUrl` | `string` | - | Absolute backend URL (self-hosted only) |\n| `branch` | `string` | - | Git branch for AI analysis |\n| `language` | `string` | `en` | UI language (`en`, `ko`, `ja`, `zh`, `es`) |\n| `position` | `string` | `bottom-right` | Button position |\n| `buttonColor` | `string` | `#6366f1` | Button color |\n| `buttonSize` | `sm\\|md\\|lg` | `lg` | Trigger button size |\n| `styles` | `{ buttonColor?, buttonPosition?, buttonSize? }` | - | Advanced style config (overrides position/color/size) |\n| `hidden` | `boolean` | `false` | Hide widget |\n| `disabled` | `boolean` | `false` | Disable widget |\n| `captureSessionReplay` | `boolean` | `false` | Enable DOM recording |\n| `reporter` | `object` | - | User info `{ name, email?, id? }` |\n\n<details>\n<summary><b>All options</b></summary>\n\n| Option | Type | Default |\n|--------|------|---------|\n| `labels` | `string[]` | `['inner-lens']` |\n| `captureConsoleLogs` | `boolean` | `true` |\n| `maxLogEntries` | `number` | `50` |\n| `maskSensitiveData` | `boolean` | `true` |\n| `captureUserActions` | `boolean` | `true` |\n| `captureNavigation` | `boolean` | `true` |\n| `capturePerformance` | `boolean` | `true` |\n| `captureSessionReplay` | `boolean` | `false` |\n| `styles` | `{ buttonColor?, buttonPosition?, buttonSize? }` | - |\n| `buttonSize` | `sm\\|md\\|lg` | `lg` |\n| `buttonText` | `string` | i18n |\n| `dialogTitle` | `string` | i18n |\n| `dialogDescription` | `string` | i18n |\n| `submitText` | `string` | i18n |\n| `cancelText` | `string` | i18n |\n| `successMessage` | `string` | i18n |\n| `trigger` | `ReactNode` | - |\n| `onOpen` | `() => void` | - |\n| `onClose` | `() => void` | - |\n| `onSuccess` | `(url) => void` | - |\n| `onError` | `(error) => void` | - |\n\n</details>\n\n---\n\n## Security & Privacy\n\n### Data Flow\n\n```\n┌─────────────────────────────────────────────────────────────────────────┐\n│                        Your Application (Browser)                        │\n│  ┌─────────────┐    ┌──────────────┐    ┌─────────────────────────────┐ │\n│  │ User clicks │───►│ Widget       │───►│ Client-side Masking         │ │\n│  │ Report Bug  │    │ captures     │    │ (30 patterns applied)       │ │\n│  └─────────────┘    │ context      │    │ • Emails → [EMAIL_REDACTED] │ │\n│                     └──────────────┘    │ • API keys → [*_REDACTED]   │ │\n│                                         │ • Tokens → [TOKEN_REDACTED] │ │\n│                                         └──────────────┬──────────────┘ │\n└────────────────────────────────────────────────────────┼────────────────┘\n                                                         │\n                                                         ▼\n                              ┌───────────────────────────────────────────┐\n                              │      inner-lens API (Pass-through)        │\n                              │  • No data storage                        │\n                              │  • No logging of report content           │\n                              │  • Rate limiting only                     │\n                              └───────────────────────┬───────────────────┘\n                                                      │\n                                                      ▼\n                              ┌───────────────────────────────────────────┐\n                              │           GitHub Issues API               │\n                              │  • Issue created in YOUR repository       │\n                              │  • Data stored only in GitHub             │\n                              │  • Access controlled by your repo perms   │\n                              └───────────────────────────────────────────┘\n```\n\n### What We Collect\n\n| Data Type | Purpose | Privacy Notes |\n|-----------|---------|---------------|\n| Console logs | Debug errors & warnings | Auto-masked for sensitive content |\n| User actions | Understand user journey | Generic selectors only (no personal text) |\n| Navigation history | Track page flow | URLs only (query params masked) |\n| Browser & OS info | Environment debugging | Summarized (e.g., \"Chrome 120\", \"Windows 10\") |\n| Performance metrics | Identify slow operations | Timing data only (LCP, FCP, etc.) |\n| DOM snapshot (opt-in) | Visual debugging | Session replay disabled by default |\n\n### What We DON'T Collect\n\n- ❌ **IP addresses** — Not logged or stored\n- ❌ **Cookies** — Never accessed\n- ❌ **localStorage/sessionStorage** — Never read\n- ❌ **Geolocation** — Not requested\n- ❌ **Device fingerprints** — No unique identifiers\n- ❌ **Form field values** — Input content excluded\n- ❌ **Full User Agent string** — Only browser/OS summary\n\n### Automatic Masking (30+ Patterns)\n\nSensitive data is masked **client-side, before transmission**:\n\n| Category | Replacement |\n|----------|-------------|\n| Email, Phone, SSN | `[EMAIL_REDACTED]`, `[PHONE_REDACTED]`, `[SSN_REDACTED]` |\n| Credit cards | `[CARD_REDACTED]` |\n| Auth tokens, JWTs | `[TOKEN_REDACTED]`, `[JWT_REDACTED]` |\n| API keys (AWS, OpenAI, Anthropic, Google, Stripe, GitHub) | `[*_KEY_REDACTED]` |\n| Database URLs, Private keys | `[DATABASE_URL_REDACTED]`, `[PRIVATE_KEY_REDACTED]` |\n| Discord webhooks, Slack tokens | `[DISCORD_WEBHOOK_REDACTED]`, `[SLACK_TOKEN_REDACTED]` |\n| NPM, SendGrid, Twilio | `[NPM_TOKEN_REDACTED]`, `[SENDGRID_KEY_REDACTED]`, `[TWILIO_REDACTED]` |\n\n### Key Security Principles\n\n1. **Client-side first** — All masking happens in the browser before data leaves\n2. **No data retention** — Hosted API is a pass-through; no logs stored\n3. **User-initiated only** — Reports sent only when user clicks submit\n4. **Minimal collection** — Only debugging-relevant data captured\n5. **Transparent storage** — Data goes to YOUR GitHub repo, nowhere else\n\n---\n\n## API Reference\n\n### Client\n\n| Package | Exports |\n|---------|---------|\n| `inner-lens/react` | `InnerLensWidget`, `useInnerLens` |\n| `inner-lens/vue` | `InnerLensWidget`, `useInnerLens` |\n| `inner-lens/vanilla` | `InnerLens` |\n\n### Server\n\n| Export | Frameworks |\n|--------|------------|\n| `createFetchHandler` | Next.js, Hono, Bun, Deno, Cloudflare |\n| `createExpressHandler` | Express |\n| `createFastifyHandler` | Fastify |\n| `createKoaHandler` | Koa |\n| `createNodeHandler` | Node.js HTTP |\n| `handleBugReport` | Any |\n\n### Utilities (Vue bundle re-exports)\n- Masking: `maskSensitiveData`, `maskSensitiveObject`, `validateMasking`\n- Log capture: `initLogCapture`, `getCapturedLogs`, `clearCapturedLogs`, `addCustomLog`, `restoreConsole`\n(available from `inner-lens/vue`)\n\n---\n\n## FAQ\n\n<details>\n<summary><b>How do I use it with Next.js?</b></summary>\n\nThe widget uses browser APIs, so it must run as a client component.\n\n```tsx\n// App Router: Add 'use client' directive\n'use client';\nimport { InnerLensWidget } from 'inner-lens/react';\n\nfunction BugReportWidget() {\n  return <InnerLensWidget mode=\"hosted\" repository=\"owner/repo\" />;\n}\n\n// Pages Router: Use dynamic import\nimport dynamic from 'next/dynamic';\nconst InnerLensWidget = dynamic(\n  () => import('inner-lens/react').then(m => m.InnerLensWidget),\n  { ssr: false }\n);\n```\n</details>\n\n<details>\n<summary><b>Is my data safe?</b></summary>\n\nSensitive data (emails, API keys, tokens, etc.) is automatically masked **before** leaving the browser. In Hosted mode, we don't store any data — it goes directly to GitHub.\n</details>\n\n<details>\n<summary><b>Widget doesn't appear?</b></summary>\n\n1. Check if `hidden={true}` prop is set\n2. Verify import path is `'inner-lens/react'` (or `/vue`, `/vanilla`)\n3. Check browser console (F12) for error messages\n</details>\n\n<details>\n<summary><b>Browser compatibility?</b></summary>\n\ninner-lens targets ES2022 and works with modern browsers:\n- Chrome 94+\n- Firefox 93+\n- Safari 15.4+\n- Edge 94+\n\nNode.js 20+ is required for server-side features.\n</details>\n\n---\n\n## Contributing\n\nContributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## License\n\n[MIT](LICENSE) © 2025 [jack](https://github.com/jhlee0409)\n","readmeFilename":"README.md"}