{"_id":"agentlens-dashboard","_rev":"38-0cfa2be047b49045b464cccd16b15171","name":"agentlens-dashboard","dist-tags":{"latest":"0.15.5"},"versions":{"0.2.1":{"name":"agentlens-dashboard","version":"0.2.1","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.2.1","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/rogerreed/agentlens#readme","bugs":{"url":"https://github.com/rogerreed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js"},"dist":{"shasum":"77ef8b6122f03c0dc87cfc39702ff14327e1049b","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.2.1.tgz","fileCount":54,"integrity":"sha512-lhoKJzRNZOeQEylF0MU69mbwxiQo1DBAyu4qhSlUw+GMlT6H4Nuc/XKl5lSSQ7A31ihftGcKrg3HRdrOF7x77Q==","signatures":[{"sig":"MEQCIHN5C0awQS0fnuz3aAzoITks1n8kPkdDVIZLxImKUgUTAiA1Ut2OnNi460n0lRzb+dtQgdYLFuZjAMzdVpn9zFe8VA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4673481},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"vscode":"^1.118.0"},"gitHead":"d2ddb183faa00b4dae551fc5a54572089b4b7925","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","standalone":"node esbuild.js && node standalone/server.js","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/rogerreed/agentlens.git","type":"git"},"_npmVersion":"10.8.2","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Recommendations tab scans every session for five failure patterns — deadlocks, error spirals, context accumulation, and more — and tells you exactly what to do about them."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available. OTEL data always takes precedence: if a session exists from OTEL, the log file is ignored. Loading is done incrementally in the background and will not block the UI."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions in VS Code","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"20.20.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.2.1_1780372105874_0.07676392245332475","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"agentlens-dashboard","version":"0.3.0","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.3.0","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/rogerreed/agentlens#readme","bugs":{"url":"https://github.com/rogerreed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"129ade20e6f10ecc9755b8b934f2d882c08982ea","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.3.0.tgz","fileCount":37,"integrity":"sha512-mwCOutvKKWNWlZWK0Rk/NthCxqKNck+wtsnObXlqwyYrC93KAUWM8r673v4j5EKOEh6GdsRCIAYVT7FbHu20Kg==","signatures":[{"sig":"MEUCIGaMo1lL2tF8LTgLVPC+9jj2y8y79Wr01OSXp0bPp4g2AiEAt2AUtl7VAb4Nr98KZ29bj47ZK8i7YSM2NXK039jcl88=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4063909},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"vscode":"^1.118.0"},"gitHead":"c4d38d5ab13c4e674edbd08f9a6d964e6d84e51a","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","standalone":"node esbuild.js && node standalone/server.js","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/rogerreed/agentlens.git","type":"git"},"_npmVersion":"10.8.2","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Recommendations tab scans every session for five failure patterns — deadlocks, error spirals, context accumulation, and more — and tells you exactly what to do about them."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available. OTEL data always takes precedence: if a session exists from OTEL, the log file is ignored. Loading is done incrementally in the background and will not block the UI."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions in VS Code","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"20.20.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.3.0_1780378208828_0.22300906671194198","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"agentlens-dashboard","version":"0.4.0","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.4.0","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"5e66b4bf8c4bb301315b951ba47abb361f501d9d","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.4.0.tgz","fileCount":35,"integrity":"sha512-isOCAY1xFOyvRkB+yTe1uk+v1i71IoW2nkwHpJCN4V2cL9O/VlEOdzZLT1BMi4K96GBgZLY5UMcN+OGjVbtJrA==","signatures":[{"sig":"MEUCIQCA5r5bm3ahBV3bNasJhGkJOclikt4rDrf0LAQXNp7DGgIgTTFv0OjUmBRNSHhhWDUdKUULimUrkcBW7zT1OxRz2u8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4058042},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"vscode":"^1.118.0"},"gitHead":"2d486cd4208d851346bcbd670b9edd2c2760cf6b","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"11.16.0","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Recommendations tab scans every session for five failure patterns — deadlocks, error spirals, context accumulation, and more — and tells you exactly what to do about them."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available. OTEL data always takes precedence: if a session exists from OTEL, the log file is ignored. Loading is done incrementally in the background and will not block the UI."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions in VS Code","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"20.20.2","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.4.0_1780448679826_0.8006441482875211","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"agentlens-dashboard","version":"0.4.1","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.4.1","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"b7fcf0aafd64381828ba415f3389385309ee8232","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.4.1.tgz","fileCount":35,"integrity":"sha512-xLDXG2DtrhBLz3fOtfCCDX0yvYNrENf8JlN2VMStsre3znZNS+Hsoi7zkEnJ1ViIkMQdBC2zHZTUD8ffn0Ejhg==","signatures":[{"sig":"MEQCIEWhx0paqudgn6U81OjuPGFbYHufSptf1t0wtARiGmOgAiA7P8Rv721Sw0TvSMOxwtn91mdlgtFsXPwvt1B8wf9NkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4069597},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"vscode":"^1.118.0"},"gitHead":"f3f5af95d368d21253db93ae9dfb4031de83dde2","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"11.16.0","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Recommendations tab scans every session for five failure patterns — deadlocks, error spirals, context accumulation, and more — and tells you exactly what to do about them."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available. OTEL data always takes precedence: if a session exists from OTEL, the log file is ignored. Loading is done incrementally in the background and will not block the UI."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions — OTEL traces and local log file ingestion. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"20.20.2","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.4.1_1780450163374_0.050750842312483835","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"agentlens-dashboard","version":"0.5.0","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.5.0","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"d561a6adb023d7c1a3f43451d0f0013c4ffdf50d","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.5.0.tgz","fileCount":36,"integrity":"sha512-5nIiCSvEmonvu6AyP53pG7MfciugM342QFvwBneMrzkQqPLR7vYXVUIPmN1r5PGnl+dbtdcrV+mcjNMJVYIG8g==","signatures":[{"sig":"MEYCIQDjoOjFXS0olKNuMss0SFMVgdzAufupHdvb2Ky4HSw/bQIhAPwfmPQhzhfcj1JAetZLhZPRrJ917unmRzdDQR3AaPuO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4121829},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"vscode":"^1.118.0"},"gitHead":"40e5496dae7d37f9e8b12ab995a8d4f9bf82c2e3","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"11.16.0","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Recommendations tab scans every session for five failure patterns — deadlocks, error spirals, context accumulation, and more — and tells you exactly what to do about them."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available. OTEL data always takes precedence: if a session exists from OTEL, the log file is ignored. Loading is done incrementally in the background and will not block the UI."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions — OTEL traces and local log file ingestion. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"20.20.2","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.5.0_1780538952077_0.9642884667145206","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"agentlens-dashboard","version":"0.6.0","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.6.0","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"c055f197b8a950851536e50923e579d14bff5ede","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.6.0.tgz","fileCount":37,"integrity":"sha512-YHtMua5MQbDR4m9T3Ga+puV6YQfdzcOqWCWvk64beyD0Oy3J3RFUcVGv4HTbh+uj7TeWUF2waxaCNTNKX5KHtg==","signatures":[{"sig":"MEYCIQCsKaTUkSHoo6MKb0GjlMlGTaPvbrdkZ1aegGLdrx6hZQIhAMwoTj6q7x2a5HtC0Puevj7/9w0/vCyk6uPl1urqC3Md","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5657344},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"vscode":"^1.118.0"},"gitHead":"39a834877372c5762e3b195e24509573c4578059","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"11.16.0","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Recommendations tab scans every session for five failure patterns — deadlocks, error spirals, context accumulation, and more — and tells you exactly what to do about them."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available. OTEL data always takes precedence: if a session exists from OTEL, the log file is ignored. Loading is done incrementally in the background and will not block the UI."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions — OTEL traces and local log file ingestion. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"20.20.2","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.6.0_1780631394630_0.37748350811070974","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"agentlens-dashboard","version":"0.6.1","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.6.1","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"98f25fe341f8edc12a203bd8431f15f3d5157a67","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.6.1.tgz","fileCount":37,"integrity":"sha512-NQvA0WApqdIOzP0GeOhWFczqHRRkKESLNTWqqvmctsIhaa9WKHKe4HbfaFebcqS54ron9CB3DYfJ88dK+1OZWg==","signatures":[{"sig":"MEYCIQDrOzyFfcj4KyGPKiXM/weP0hnDjqLbfNRLxkLUolKqmgIhAMKNg08Uomj8aHVdG092FuBXJr1Ws93IRbuuh/i3MTVL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5667251},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"vscode":"^1.118.0"},"gitHead":"a8c681983fa140e102d52c1e0478f49c081d48ce","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"11.16.0","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Recommendations tab scans every session for five failure patterns — deadlocks, error spirals, context accumulation, and more — and tells you exactly what to do about them."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available. OTEL data always takes precedence: if a session exists from OTEL, the log file is ignored. Loading is done incrementally in the background and will not block the UI."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions — OTEL traces and local log file ingestion. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"20.20.2","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.6.1_1780804676206_0.671250080886536","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"agentlens-dashboard","version":"0.7.0","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.7.0","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"485fdf27bb039344a90f0d1edc542c35ad48cd3b","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.7.0.tgz","fileCount":37,"integrity":"sha512-B7K0C/ooUXY0K67BfDrMcw66xoU7wdymPmLasDJ9v2jAj/lD3BT0ptHD82PQEUpqcswuR8MOdH0x6Qs1Ti8y5g==","signatures":[{"sig":"MEUCIBnUFjSaGR/i4YUcFUj+j+T7XQAPBTs9Pgv5VPV6Na3RAiEA00kUolv/xpw0QgrmhlewsJCxFqXwkmuxxx3H6LdVpYI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5765453},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"vscode":"^1.118.0"},"gitHead":"7ea0ecdd58a5a057ad3a5adf311cf670b08da49f","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"11.16.0","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available. OTEL data always takes precedence: if a session exists from OTEL, the log file is ignored. Loading is done incrementally in the background and will not block the UI."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions — OTEL traces and local log file ingestion. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"20.20.2","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.7.0_1780894143560_0.02346739586305291","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"agentlens-dashboard","version":"0.7.1","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.7.1","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"be71024d6b8ff93ae4746fd6b7807924b94333a1","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.7.1.tgz","fileCount":35,"integrity":"sha512-b9V9hCBfpm8KMa/hJbU4HR/fWHTq9TkE46Bile1WzVEHxOsmcgvtVJ9r5qG8TJRknAb3gqWIb/pGmgm4bBq8Ow==","signatures":[{"sig":"MEYCIQCKL0z5ewy0W4OwB6QF7VQtii6URUf0FKtEU+E8OilKWwIhAITp38bKAm0+fyc11QVvbKLNiggJdKi4oVy8NkN6g8ae","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3238169},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"vscode":"^1.118.0"},"gitHead":"022dcc2798fedffd65e36e1fbe495d093b4ff3d0","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"11.16.0","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available. OTEL data always takes precedence: if a session exists from OTEL, the log file is ignored. Loading is done incrementally in the background and will not block the UI."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions — OTEL traces and local log file ingestion. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"20.20.2","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.7.1_1780975435241_0.3651956832561525","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"agentlens-dashboard","version":"0.7.2","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.7.2","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"bccfaacfa48c91a11543970fa0ccd7391b6908a7","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.7.2.tgz","fileCount":36,"integrity":"sha512-a6kM3b/3XbGaolkCWlC8bb1+k2w7koN/41bKFvi9d33iLYtDU7ohz9vG/zgBWjauYcRXOgUDSGmUqrt393kHxw==","signatures":[{"sig":"MEYCIQD/05xU1WS7OPnW4f+UlPSkCnbk/OJbWnlMzVFQxexrPQIhAIr3p9GSCefYW6PyUTw5Tz5dsswjzQQxgrBXvpd3wk0s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3363194},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"vscode":"^1.118.0"},"gitHead":"b47bfbeefc50f4738121a69e923718181c94f545","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"11.16.0","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available. OTEL data always takes precedence: if a session exists from OTEL, the log file is ignored. Loading is done incrementally in the background and will not block the UI."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions — OTEL traces and local log file ingestion. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"20.20.2","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.7.2_1780975711380_0.8609218554736275","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"agentlens-dashboard","version":"0.7.3","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.7.3","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"a0925946269f62736e81ce5c8cba28f342ee5cc2","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.7.3.tgz","fileCount":37,"integrity":"sha512-TZg52ArgzjDyY/rMQTrCw2i9NeLtmz4frWOKzVDPPnrG3+RNhlzfvzZjIVRw9/9rf5560yHZP1F+1LcDw1JvOA==","signatures":[{"sig":"MEUCIQDsX7pitiWMSRz/aV3Ja7orddeFBu0hlqMeV0ZjLTCBvgIgTBrCem/JPmG7nBC8gtED0y5vUmFKA7eP2G+KhGcyuUU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.7.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3411671},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"vscode":"^1.118.0"},"gitHead":"31ba00dec38a9cd7f919d9ef82a773b37b262936","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"11.16.0","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available. OTEL data always takes precedence: if a session exists from OTEL, the log file is ignored. Loading is done incrementally in the background and will not block the UI."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions — OTEL traces and local log file ingestion. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"20.20.2","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.7.3_1781059012700_0.4288957289159563","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"agentlens-dashboard","version":"0.8.0","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.8.0","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"5a19438cb34ec5e8a259a83d8abe40275f311399","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.8.0.tgz","fileCount":37,"integrity":"sha512-b6b7fBNA/nFS49+JDqTrQZ0aaF6TNXawXc8+YTKF7n2Uuqff2ccAoNHWtcikja2mNG4O/UwKxtiIvqspoKUqfA==","signatures":[{"sig":"MEYCIQCXqITimw7BZwzaTQOjyv9elkuFSxTYL1jZVMA50w1WywIhAMT9cvXeA/f15rjkMzrOc4UVPG5qQf3sAn6R+/Ytpnsb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3637592},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"vscode":"^1.118.0"},"gitHead":"b6c2666ceb48bdf556c4c34bcf6862d3717c9c2c","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"11.16.0","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available. OTEL data always takes precedence: if a session exists from OTEL, the log file is ignored. Loading is done incrementally in the background and will not block the UI."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions — OTEL traces and local log file ingestion. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"20.20.2","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.8.0_1781146168066_0.008605844069796476","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"agentlens-dashboard","version":"0.8.1","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.8.1","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"75a8238b9e36167a5f45fa10eb1361136fdb97f8","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.8.1.tgz","fileCount":37,"integrity":"sha512-yXxEZnyoAqmUDaBEx2dPMCmdst3nk20rYT8ghsIise3a2hzvI8See/0pg37y3yYREbgICRaJxXWAnIJUJiNTHQ==","signatures":[{"sig":"MEUCICcvcPItX/Ob/VN5OjW7aX4gljs+zu3sUKD0ze3S53D8AiEAkLx9fNRTmuPYxAbtXhpm1by5sBRaAOKBYEivh9LLMXM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3638229},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"vscode":"^1.118.0"},"gitHead":"e3d32727cbd6e1f8092f2973aae06b4133caf101","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"11.17.0","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available. OTEL data always takes precedence: if a session exists from OTEL, the log file is ignored. Loading is done incrementally in the background and will not block the UI."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions — OTEL traces and local log file ingestion. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"20.20.2","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.8.1_1781224368030_0.407475904848948","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"agentlens-dashboard","version":"0.8.2","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.8.2","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"8b0dcaed5afe99e42866d0f8cd55d6bc342165f6","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.8.2.tgz","fileCount":37,"integrity":"sha512-GtLsEXMQCGw+mK8vVgn7pn/waW4+0RTG6DdST4IuENqz1kS5pHHasaNGqVWrYue5DcsLcU0u+Xnq8mCyGuX/TQ==","signatures":[{"sig":"MEQCHyV7UH0iYKF/KoXd7+Qc0g2KC8Z8v6pilrfEvY+LZX0CIQCFcDVFIdTKDnJQziQvsORQCtF01q04XPWt6Y8DlUA+dA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3640568},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"vscode":"^1.118.0"},"gitHead":"106f9984616d5f5432c8efb27501ed43be5face0","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"11.17.0","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available. OTEL data always takes precedence: if a session exists from OTEL, the log file is ignored. Loading is done incrementally in the background and will not block the UI."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions — OTEL traces and local log file ingestion. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"20.20.2","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.8.2_1781225263876_0.7260240702964933","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"agentlens-dashboard","version":"0.8.3","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.8.3","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"5f539f4811bd180b40fe35de7e1723729dc29d55","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.8.3.tgz","fileCount":37,"integrity":"sha512-caJixS4NMkUmYcOn2GcgUGvQ+tjJZAbYo8xIXcsTSyWYPkcaDouHQ+2+z/rijHSbImvmXuwo42tZ7c5UedMB9Q==","signatures":[{"sig":"MEUCIQDMbXZUnm3GInMaZu4VTR/eoS+CFFQl/UXjNmTtaab0bgIgIkaXS2v4Utk9Mz2PlHZafjbNDafCV/oMQqu/OF9w9tE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.8.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3641743},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"vscode":"^1.118.0"},"gitHead":"5a80017c028f4a15798114a787f1b7cc5bdedf6b","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"11.17.0","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available. OTEL data always takes precedence: if a session exists from OTEL, the log file is ignored. Loading is done incrementally in the background and will not block the UI."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions — OTEL traces and local log file ingestion. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"20.20.2","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.8.3_1781488352052_0.120541839281743","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"agentlens-dashboard","version":"0.8.4","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.8.4","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"e27847737872b173de58d5721f8df273fc4fe6f5","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.8.4.tgz","fileCount":37,"integrity":"sha512-dfq1l6JybzFYt5lH7RKZCvI/VTcNCSrMA1rQCZaiywqtXK6v3MwJreTo7pzTSb4Gt4uTMVcwGPruWXJ3j6Iabw==","signatures":[{"sig":"MEYCIQDLlX01zlDTM95gEgbTP5tvhBau0xF5BZEaG1m0Q9Y80wIhAJU2OYj+ZWvHvkX08hNE+VtEkUYieKUnnbpAar96juwI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.8.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3650982},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"vscode":"^1.118.0"},"gitHead":"73b2a9d098b4186bcfd922befbf6189439a34d94","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"11.17.0","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available. OTEL data always takes precedence: if a session exists from OTEL, the log file is ignored. Loading is done incrementally in the background and will not block the UI."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions — OTEL traces and local log file ingestion. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"20.20.2","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.8.4_1781497136929_0.19011393531012222","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"agentlens-dashboard","version":"0.8.5","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.8.5","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"64f1726c3e503c269cc46ffe459c0d8ffe5aa563","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.8.5.tgz","fileCount":37,"integrity":"sha512-8RhuVWpnNTl0GyGnuWrvWcsnMr8ht7jWq13xMz06Jnvnnq6feMUcN0Rj6cyElUKxUDel2NHrER73sJuywqOBRQ==","signatures":[{"sig":"MEUCIDOkZIqISfQ+5lLhQ6M5DAHpOHBa2AOyUx5SuHtp63H0AiEA6ZlcNJ+Q5e01Q+NN+21Y6PIAmWr3TK/1sPphzjAQ5h8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.8.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3651558},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"vscode":"^1.118.0"},"gitHead":"c2a897a27ea1ccf7900744d8838dbfd040b1a0c1","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"11.17.0","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available. OTEL data always takes precedence: if a session exists from OTEL, the log file is ignored. Loading is done incrementally in the background and will not block the UI."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions — OTEL traces and local log file ingestion. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"20.20.2","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.8.5_1781498894371_0.23429256378865282","host":"s3://npm-registry-packages-npm-production"}},"0.8.7":{"name":"agentlens-dashboard","version":"0.8.7","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.8.7","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"46186990ba1b8bd3edf154eed94233bcf15b5ed1","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.8.7.tgz","fileCount":37,"integrity":"sha512-RdrjpAaZOdv+YT8200jB38wq7SvuzQ/3MypAx4DFFRNtn8Uwg28Lp6KfRJxnYyY9fuHSnIW1XJEUrMK6DiMlCQ==","signatures":[{"sig":"MEUCIQDpYUns05Vq33a6mN6mFxQhKkRxYBEjeQFXeebgqM+dZwIgY57enhD10EkaxbyIk7yuzQ8b1rPz0Mmv8n/0jlCTqow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.8.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3664559},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"de8ec81b1f66097b80b19a7979978b7d5e4a08d5","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"12.0.1","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available. OTEL data always takes precedence: if a session exists from OTEL, the log file is ignored. Loading is done incrementally in the background and will not block the UI."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions — OTEL traces and local log file ingestion. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.8.7_1784486381743_0.43090237948716625","host":"s3://npm-registry-packages-npm-production"}},"0.8.8":{"name":"agentlens-dashboard","version":"0.8.8","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.8.8","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"99c054e4e9c95d40901ceda2d995f03ff5a4cd80","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.8.8.tgz","fileCount":37,"integrity":"sha512-lwVPf44SnqftadIKEbE7+Id6Yufq0PJCkcLG/FMuULT+mAE1tH349JlleVPIkJ1AMXPRAb9xjPfNm9TWrfjWsA==","signatures":[{"sig":"MEUCIEC/YourWP0dauMczeai3AU0z4zlaHoNCyHaADuWD5RfAiEA+hsZJOk4CLHRYpHxxD2A9af4TM5eYUylHGwyoFfm3PA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.8.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3674125},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"b8c5dafa20597ced56c145e95eb98c29458ee1a4","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"12.0.1","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Disabling this leaves your agents' configuration untouched — you can still configure OTEL manually (see the Help tab) or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions — OTEL traces and local log file ingestion. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.8.8_1784510532456_0.31747450365743135","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"agentlens-dashboard","version":"0.9.0","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.9.0","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"0ced808ec2c932e8308626a8dbd87789dbf000f0","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.9.0.tgz","fileCount":38,"integrity":"sha512-Q4Nv1ekUySsRBszYnOh/K0gniYZbfT5wzIq+ln5s8i6wcVLwcpU6JTD+8dhVxu5vdXDhmcPXpa9uVzi1vjz5dw==","signatures":[{"sig":"MEUCIQCvRP/vPjv/sDbKJ6vXl508DVsIpwGbrHcCtB9L1GWnzAIgKcauHUl56ViU5QRrbl8vOVIPyxshqJlpEcPWbEP5P20=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3685671},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"95636725c434891b3075f4125fa89f3e9284b756","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"12.0.1","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Runs on every activation but only rewrites a file when something's actually missing, so it's silent after the first successful run (shows a notification only when it changes something). Disabling this leaves your agents' configuration untouched — you can still trigger it manually with the Configure OTEL button in Settings, configure OTEL by hand (see the Help tab), or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions — OTEL traces and local log file ingestion. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.9.0_1784952567414_0.7717390694881923","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"agentlens-dashboard","version":"0.9.1","keywords":["ai","agent","opentelemetry","telemetry","observability","copilot","claude","tracing"],"license":"MIT","_id":"agentlens-dashboard@0.9.1","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"990d3e7738c86ad009b2bc62991b2ce0bcff316c","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.9.1.tgz","fileCount":38,"integrity":"sha512-+eESDSpu9m+ndYNxqqNoOPkTcPb2Pm4kRvz5nZ8gY8eElrFAMGrHQIqouC67mONgn1XUPB59PVAb7Y3BPvwqsg==","signatures":[{"sig":"MEYCIQChi4a3R87pKnDT6PNYhfBlLaJADsabKTzebYy4n90yuQIhAPFS0IU89c6vLflmJLqrDWE2J/xrTMbt41mWD5dGYu7i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3687483},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"9d5e38a74ea60345274c0bf38df7d97ad9c3b291","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"12.0.1","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Runs on every activation but only rewrites a file when something's actually missing, so it's silent after the first successful run (shows a notification only when it changes something). Disabling this leaves your agents' configuration untouched — you can still trigger it manually with the Configure OTEL button in Settings, configure OTEL by hand (see the Help tab), or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Observability for AI agent sessions — OTEL traces and local log file ingestion. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - AI Agent Observability","_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.9.1_1785126953011_0.9738435093257001","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"agentlens-dashboard","version":"0.9.2","keywords":["ai","agent","agentic","opentelemetry","otel","telemetry","monitoring","observability","copilot","claude","codex","opencode","tracing","dashboard"],"license":"MIT","_id":"agentlens-dashboard@0.9.2","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"a14d3697b41570056532e414fb60fc485a8f3704","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.9.2.tgz","fileCount":38,"integrity":"sha512-g8mfAYqxYU/LneQKG87Vm7OU77QVYAq/DHMwSoudd4Wp2EEvjhiiRO0fh4csJf/8DDR8ck58yECqPDw1TMTJMA==","signatures":[{"sig":"MEQCIAm+Vrz1ZoL55nEZsmbEFJVcv/EworI11qMpO0RcvvTIAiAkRH+9q4/QKiRckDzLSunN9nCgC0UXcM5xo+f3WJ61vg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3688741},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"cb8d41bdb214f6e6c59381530b8c52a629b49538","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"12.0.2","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Runs on every activation but only rewrites a file when something's actually missing, so it's silent after the first successful run (shows a notification only when it changes something). Disabling this leaves your agents' configuration untouched — you can still trigger it manually with the Configure OTEL button in Settings, configure OTEL by hand (see the Help tab), or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Agentic AI monitoring and observability — OTEL traces and local log file ingestion for Copilot, Claude Code, Codex, and OpenCode. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - Agentic AI Monitoring & Observability","_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.9.2_1785646190440_0.6600532417166538","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"agentlens-dashboard","version":"0.9.3","keywords":["ai","agent","agentic","opentelemetry","otel","telemetry","monitoring","observability","copilot","claude","codex","opencode","tracing","dashboard"],"license":"MIT","_id":"agentlens-dashboard@0.9.3","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"96b8ec9a0475749cad73800102d482225da5484f","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.9.3.tgz","fileCount":38,"integrity":"sha512-Ta7pgTPmUj18P8Qs1NSjxmPqap8Yv+uxDkTFJ4zhQinnTI+g3Ph7XCjpQPZob2VAfkszdQ5MQS26czNuNg/tjg==","signatures":[{"sig":"MEYCIQCyrjivc+cFvpncIrCrALNiafaA008r3KAgvwW9Wu3YlgIhAOOQvDFL0gACC9j1s7jMk2FBhNtQDRj3IxiGi5ettD7i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.9.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3701498},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"4239c67eb99a73f0b730294999c6434de5d107af","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"12.0.2","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full 16-tab dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Runs on every activation but only rewrites a file when something's actually missing, so it's silent after the first successful run (shows a notification only when it changes something). Disabling this leaves your agents' configuration untouched — you can still trigger it manually with the Configure OTEL button in Settings, configure OTEL by hand (see the Help tab), or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Agentic AI monitoring and observability — OTEL traces and local log file ingestion for Copilot, Claude Code, Codex, and OpenCode. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - Agentic AI Monitoring & Observability","_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.9.3_1786163271534_0.4663729087729551","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"agentlens-dashboard","version":"0.10.0","keywords":["ai","agent","agentic","opentelemetry","otel","telemetry","monitoring","observability","copilot","claude","codex","opencode","tracing","dashboard"],"license":"MIT","_id":"agentlens-dashboard@0.10.0","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"060d63fbd1ddd3f97b693f271ea8d6845e372ea6","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.10.0.tgz","fileCount":39,"integrity":"sha512-udwiL5Bkim5rbWiZFrYAIU+hQTe2xtoJJMSATTm56UkNwuVyLJsrrmSdcRK1r37T2sSOIqFGdcEfLzz8cJvifg==","signatures":[{"sig":"MEQCIHD+iWzpJFkM5gnQ0TPFxVC4oMNGHK+0jhvcMIIc9UgiAiBcZI27rSk76CTJQZ1NYXC82+Jk2Mc6Q6OLirKnylpnrw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3775737},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"af8797740ccbba6d21748a023a9b448b53847467","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"12.0.2","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"},{"title":"AgentLens: Show Storage Stats","command":"agentLens.showStorageStats"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Runs on every activation but only rewrites a file when something's actually missing, so it's silent after the first successful run (shows a notification only when it changes something). Disabling this leaves your agents' configuration untouched — you can still trigger it manually with the Configure OTEL button in Settings, configure OTEL by hand (see the Help tab), or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."},"agentLens.sessionRetentionDays":{"type":"number","default":90,"description":"How many days to keep session history in the local database. Older sessions (and their blob files) are deleted automatically on activation and every 24 hours."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Agentic AI monitoring and observability — OTEL traces and local log file ingestion for Copilot, Claude Code, Codex, and OpenCode. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - Agentic AI Monitoring & Observability","_nodeVersion":"24.18.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.10.0_1786592616169_0.9618120630978038","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"agentlens-dashboard","version":"0.10.1","keywords":["ai","agent","agentic","opentelemetry","otel","telemetry","monitoring","observability","copilot","claude","codex","opencode","tracing","dashboard"],"license":"MIT","_id":"agentlens-dashboard@0.10.1","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"48ac809a51c1dab648821ab68747a66b767ee387","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.10.1.tgz","fileCount":40,"integrity":"sha512-aJK5GvlTbzw2KCkJB878lzB0PSFRBzYTlkyDZjj6r5OcomsYpSyUcpSOkXofagYwOQzkXPszAPP6Iwl8uDr/gg==","signatures":[{"sig":"MEQCIGcGImRJM0hkrE36tFMbYoQcqjjg3RQFpiS3VKBw1SaSAiAtTXWHDxjyWF+jwEVb7LuftuypmHbcBe3bkY+P/Iqpbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3785632},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"a1a5ff59e0538b94448559ebe0aafb30e1288423","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"12.0.2","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"},{"title":"AgentLens: Show Storage Stats","command":"agentLens.showStorageStats"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Runs on every activation but only rewrites a file when something's actually missing, so it's silent after the first successful run (shows a notification only when it changes something). Disabling this leaves your agents' configuration untouched — you can still trigger it manually with the Configure OTEL button in Settings, configure OTEL by hand (see the Help tab), or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."},"agentLens.sessionRetentionDays":{"type":"number","default":90,"description":"How many days to keep session history in the local database. Older sessions (and their blob files) are deleted automatically on activation and every 24 hours."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Agentic AI monitoring and observability — OTEL traces and local log file ingestion for Copilot, Claude Code, Codex, and OpenCode. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - Agentic AI Monitoring & Observability","_nodeVersion":"24.19.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.10.1_1786760565291_0.5887018280449814","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"agentlens-dashboard","version":"0.11.0","keywords":["ai","agent","agentic","opentelemetry","otel","telemetry","monitoring","observability","copilot","claude","codex","opencode","tracing","dashboard"],"license":"MIT","_id":"agentlens-dashboard@0.11.0","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"52f3b05b396559243a43637f26e5b79680068a0b","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.11.0.tgz","fileCount":41,"integrity":"sha512-4AH+ZMSYJy+RD7PjVxvAIIV3EI6cwU+OJxpwTy3NpKMYacW9u/xAeAB+kM758P5VDqkFx5LvVeSJ5bfO8XFv5A==","signatures":[{"sig":"MEUCIF/mpz4/ot/WaqCovt53oDYfFvEDZ4rU/VT6zUAtSQxyAiEAhg8PfLvc+4WvYlaVjdmP1/iHDOuk1505eu2VIzHSTfc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3803016},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"98549659e96415cb9fc4598679b6dfd5019906c2","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"12.0.2","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"},{"title":"AgentLens: Show Storage Stats","command":"agentLens.showStorageStats"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Runs on every activation but only rewrites a file when something's actually missing, so it's silent after the first successful run (shows a notification only when it changes something). Disabling this leaves your agents' configuration untouched — you can still trigger it manually with the Configure OTEL button in Settings, configure OTEL by hand (see the Help tab), or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."},"agentLens.sessionRetentionDays":{"type":"number","default":90,"description":"How many days to keep session history in the local database. Older sessions (and their blob files) are deleted automatically on activation and every 24 hours."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Agentic AI monitoring and observability — OTEL traces and local log file ingestion for Copilot, Claude Code, Codex, and OpenCode. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - Agentic AI Monitoring & Observability","_nodeVersion":"24.19.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.11.0_1786925909475_0.00030316829131793455","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"agentlens-dashboard","version":"0.12.0","keywords":["ai","agent","agentic","opentelemetry","otel","telemetry","monitoring","observability","copilot","claude","codex","opencode","tracing","dashboard"],"license":"MIT","_id":"agentlens-dashboard@0.12.0","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"85b9eb04803b955b73b2fedd7bad1015eb990fa4","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.12.0.tgz","fileCount":41,"integrity":"sha512-Xld2EuvdojdoiHsx5zL6+ufjH7H1L9XLoldZv1ob0ljvO2DpmnQ+4R3At5EAYzgva6BWQLo1KVRy6P5rytbHuA==","signatures":[{"sig":"MEQCIFcqQEQg03kYo3lDRpbv2QHSI7OCBZ9IiNwZ8QiI3Z9GAiAHtK3c1a/1YehQYrMzq7RkkeZL5TvkcVf4xUboNu+wyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3968546},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"779c19efa80bac611dfd54a0d9096647605b79c7","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"12.0.2","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"},{"title":"AgentLens: Show Storage Stats","command":"agentLens.showStorageStats"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Runs on every activation but only rewrites a file when something's actually missing, so it's silent after the first successful run (shows a notification only when it changes something). Disabling this leaves your agents' configuration untouched — you can still trigger it manually with the Configure OTEL button in Settings, configure OTEL by hand (see the Help tab), or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."},"agentLens.sessionRetentionDays":{"type":"number","default":90,"description":"How many days to keep session history in the local database. Older sessions (and their blob files) are deleted automatically on activation and every 24 hours."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Agentic AI monitoring and observability — OTEL traces and local log file ingestion for Copilot, Claude Code, Codex, and OpenCode. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - Agentic AI Monitoring & Observability","_nodeVersion":"24.19.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.12.0_1787112539978_0.1347659249710076","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"agentlens-dashboard","version":"0.12.1","keywords":["ai","agent","agentic","opentelemetry","otel","telemetry","monitoring","observability","copilot","claude","codex","opencode","tracing","dashboard"],"license":"MIT","_id":"agentlens-dashboard@0.12.1","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"71addffc8f7ca6975f9c159beaf3df4d846acc27","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.12.1.tgz","fileCount":41,"integrity":"sha512-3IyT9jlzQbWvwRREFIfRJG1hEFY5odkcvSCP2rCI9B8GoMbQNhKsxF7FXoERSChmcpINcxbhtVFHTz/AW4JT7A==","signatures":[{"sig":"MEUCICC5H1xv6AZZ+Dw8AVf3AaEKp6CJ2xa+FWngy37j2CFoAiEAnEtZ5Qwj915kPJgY7pUG1wDLpFTXkrmjQWd9csi83kk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3971146},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"69a355218063e1ee3552df1a944f694ea00508fc","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"12.0.2","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"},{"title":"AgentLens: Show Storage Stats","command":"agentLens.showStorageStats"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Runs on every activation but only rewrites a file when something's actually missing, so it's silent after the first successful run (shows a notification only when it changes something). Disabling this leaves your agents' configuration untouched — you can still trigger it manually with the Configure OTEL button in Settings, configure OTEL by hand (see the Help tab), or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."},"agentLens.sessionRetentionDays":{"type":"number","default":90,"description":"How many days to keep session history in the local database. Older sessions (and their blob files) are deleted automatically on activation and every 24 hours."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Agentic AI monitoring and observability — OTEL traces and local log file ingestion for Copilot, Claude Code, Codex, and OpenCode. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - Agentic AI Monitoring & Observability","_nodeVersion":"24.19.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.12.1_1787115044019_0.21438669980597003","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"agentlens-dashboard","version":"0.12.2","keywords":["ai","agent","agentic","opentelemetry","otel","telemetry","monitoring","observability","copilot","claude","codex","opencode","tracing","dashboard"],"license":"MIT","_id":"agentlens-dashboard@0.12.2","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"e7e7c91957f9e3f5c33822ad83429bb37d2bf70b","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.12.2.tgz","fileCount":41,"integrity":"sha512-gHXj8Q7H+yQBEqS1X1KD1Q2vaI6Zb8PCdCo9iXwvSyOWoTuCgZRgQTo0AIv2tpXvISdLKtGEq4xm5MTyajOmRg==","signatures":[{"sig":"MEQCIEVB7ddxMrClIejXnALc5gDmF+0JHpwL08XBb8Tq5Uk7AiBVbMkYDsQ5/rGOBuk6yV8a0gzkW+jWM1ZmYQjkGXMgoQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.12.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3973103},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"a592b4bf860979bc8bb67834e131f4d50e50e8d0","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"12.0.2","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"},{"title":"AgentLens: Show Storage Stats","command":"agentLens.showStorageStats"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Runs on every activation but only rewrites a file when something's actually missing, so it's silent after the first successful run (shows a notification only when it changes something). Disabling this leaves your agents' configuration untouched — you can still trigger it manually with the Configure OTEL button in Settings, configure OTEL by hand (see the Help tab), or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."},"agentLens.sessionRetentionDays":{"type":"number","default":90,"description":"How many days to keep session history in the local database. Older sessions (and their blob files) are deleted automatically on activation and every 24 hours."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Agentic AI monitoring and observability — OTEL traces and local log file ingestion for Copilot, Claude Code, Codex, and OpenCode. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - Agentic AI Monitoring & Observability","_nodeVersion":"24.19.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.12.2_1787520819931_0.8336274473187701","host":"s3://npm-registry-packages-npm-production"}},"0.12.3":{"name":"agentlens-dashboard","version":"0.12.3","keywords":["ai","agent","agentic","opentelemetry","otel","telemetry","monitoring","observability","copilot","claude","codex","opencode","tracing","dashboard"],"license":"MIT","_id":"agentlens-dashboard@0.12.3","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"2577467ad53bbae7b03869e7037550ecc7299be8","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.12.3.tgz","fileCount":41,"integrity":"sha512-EgS/bPCEJwsYIwJboHN45U6ZL+cjYo4GhQ0YXW9Mvv7HYy9P8jclxf56U2mH2XWwuViZWjdOWdC4n1Z0iBSCZA==","signatures":[{"sig":"MEYCIQC8lLbREuKABnxHrHTJBIydST9eNif5w7cOrRbH753d/QIhANRiiYhJq8F7F+MndzTKRjBnymhjhf/v2nzpAQ+VP54E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.12.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3977044},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"2dfbe7639a7a82743201c0dfb2027874fd1b5da1","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"12.0.2","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"},{"title":"AgentLens: Show Storage Stats","command":"agentLens.showStorageStats"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Runs on every activation but only rewrites a file when something's actually missing, so it's silent after the first successful run (shows a notification only when it changes something). Disabling this leaves your agents' configuration untouched — you can still trigger it manually with the Configure OTEL button in Settings, configure OTEL by hand (see the Help tab), or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."},"agentLens.sessionRetentionDays":{"type":"number","default":90,"description":"How many days to keep session history in the local database. Older sessions (and their blob files) are deleted automatically on activation and every 24 hours."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Agentic AI monitoring and observability — OTEL traces and local log file ingestion for Copilot, Claude Code, Codex, and OpenCode. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - Agentic AI Monitoring & Observability","_nodeVersion":"24.19.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.12.3_1787524680629_0.10479506212238898","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"agentlens-dashboard","version":"0.13.0","keywords":["ai","agent","agentic","opentelemetry","otel","telemetry","monitoring","observability","copilot","claude","codex","opencode","tracing","dashboard"],"license":"MIT","_id":"agentlens-dashboard@0.13.0","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"0589f2ed81f5e6c669d9f285eeb68363000e56ac","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.13.0.tgz","fileCount":41,"integrity":"sha512-/jtMOMbAimtdOqwF55bpJW0UCsaZDpCNUcQeXxUsWe1/9DuqbHLDZc4/QhKCPs0X3v7+GIC3ocXeyq/MmYZDzA==","signatures":[{"sig":"MEUCIQDfMctEmHJo+4m//9HZBbKa48GCdJHgcQS48VcXh3NrzAIgLCvQfCn0K0VxafMl7aoSUWcW5/boWQLF3Kje88FRXDU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4063710},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"55737d6926b6b9d81c76298edb17320e3f140fda","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"12.0.2","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"},{"title":"AgentLens: Show Storage Stats","command":"agentLens.showStorageStats"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Runs on every activation but only rewrites a file when something's actually missing, so it's silent after the first successful run (shows a notification only when it changes something). Disabling this leaves your agents' configuration untouched — you can still trigger it manually with the Configure OTEL button in Settings, configure OTEL by hand (see the Help tab), or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."},"agentLens.sessionRetentionDays":{"type":"number","default":90,"description":"How many days to keep session history in the local database. Older sessions (and their blob files) are deleted automatically on activation and every 24 hours."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Agentic AI monitoring and observability — OTEL traces and local log file ingestion for Copilot, Claude Code, Codex, and OpenCode. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - Agentic AI Monitoring & Observability","_nodeVersion":"24.19.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.13.0_1787800097980_0.1567459146342789","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"agentlens-dashboard","version":"0.14.0","keywords":["ai","agent","agentic","opentelemetry","otel","telemetry","monitoring","observability","copilot","claude","codex","opencode","tracing","dashboard"],"license":"MIT","_id":"agentlens-dashboard@0.14.0","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"6a03ff473d829648986d51e448ed9fae044f61be","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.14.0.tgz","fileCount":41,"integrity":"sha512-oWSDTPuTLq7FEDLzjHpBkivhI3b275Ldz5qePLGcKvRiNmdlpbQmkHDU4mMiIX9QhSXlAEQxWUpo/Fsuefs4pw==","signatures":[{"sig":"MEQCIC+fnwUslPSjeU029WRKV//TRuuGKL9MoE0YRaLDBLiKAiACOP8/aeqtH0eIuDxk8nEVkYEvYKD46KGJbZ5aXad8Vw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4089899},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"74f3e78f8022dfbbba5037c9e1649b3233ef1511","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"12.0.2","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"},{"title":"AgentLens: Show Storage Stats","command":"agentLens.showStorageStats"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Runs on every activation but only rewrites a file when something's actually missing, so it's silent after the first successful run (shows a notification only when it changes something). Disabling this leaves your agents' configuration untouched — you can still trigger it manually with the Configure OTEL button in Settings, configure OTEL by hand (see the Help tab), or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."},"agentLens.sessionRetentionDays":{"type":"number","default":90,"description":"How many days to keep session history in the local database. Older sessions (and their blob files) are deleted automatically on activation and every 24 hours."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Agentic AI monitoring and observability — OTEL traces and local log file ingestion for Copilot, Claude Code, Codex, and OpenCode. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - Agentic AI Monitoring & Observability","_nodeVersion":"24.19.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.14.0_1787975018285_0.07023181047058635","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"agentlens-dashboard","version":"0.15.0","keywords":["ai","agent","agentic","opentelemetry","otel","telemetry","monitoring","observability","copilot","claude","codex","opencode","tracing","dashboard"],"license":"MIT","_id":"agentlens-dashboard@0.15.0","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"29922111c3a08343ba4b61e38a38399d27e4c898","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.15.0.tgz","fileCount":41,"integrity":"sha512-cLSPl+trdhGcri7Re/xUPQ1/tvX2HO+jzBlDG5+CPkQu0QCj7+qnsVZ6WM4ZLGjao3KbThJavj26mOT26Z5QCA==","signatures":[{"sig":"MEUCIAbwUA3ab/u3Qc/KDCv75BWn0T6+G6M7NyQk8NkyhBx6AiEA1KwTSWkM3+wpNKuUTH6e/q/G3/rnWY8ykTPdfvz0DvA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4095773},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"edf3ec195611ccbfb6123029adab76cb6bc1d8db","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"12.0.2","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"},{"title":"AgentLens: Show Storage Stats","command":"agentLens.showStorageStats"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Runs on every activation but only rewrites a file when something's actually missing, so it's silent after the first successful run (shows a notification only when it changes something). Disabling this leaves your agents' configuration untouched — you can still trigger it manually with the Configure OTEL button in Settings, configure OTEL by hand (see the Help tab), or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."},"agentLens.sessionRetentionDays":{"type":"number","default":90,"description":"How many days to keep session history in the local database. Older sessions (and their blob files) are deleted automatically on activation and every 24 hours."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Agentic AI monitoring and observability — OTEL traces and local log file ingestion for Copilot, Claude Code, Codex, and OpenCode. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - Agentic AI Monitoring & Observability","_nodeVersion":"24.19.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.15.0_1788060503232_0.7741974658986908","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"agentlens-dashboard","version":"0.15.1","keywords":["ai","agent","agentic","opentelemetry","otel","telemetry","monitoring","observability","copilot","claude","codex","opencode","tracing","dashboard"],"license":"MIT","_id":"agentlens-dashboard@0.15.1","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"545711ac6a8d1ffe42e9b54ee8c23af0113d79a4","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.15.1.tgz","fileCount":41,"integrity":"sha512-9I8DgmS/c5Du8PpsMHaZkA2eem4TiosRSQ7vQzqpmivA55RgcnyyaPtsUlLOgX2V1nPgZm7Ldk72GNlDpiUulw==","signatures":[{"sig":"MEYCIQCmMpMBFLKOuyVULKvr/tu1i3c1EbaY0coW5WEMfIeEmwIhAP7UHpVl/WwaUbbGcS3EQa0cHE8edscNB1VRz7QFu4Dv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4109679},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"1f22ec99436045cb44ac8945a8dd2f3dc738e93c","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"12.0.2","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"},{"title":"AgentLens: Show Storage Stats","command":"agentLens.showStorageStats"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Runs on every activation but only rewrites a file when something's actually missing, so it's silent after the first successful run (shows a notification only when it changes something). Disabling this leaves your agents' configuration untouched — you can still trigger it manually with the Configure OTEL button in Settings, configure OTEL by hand (see the Help tab), or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."},"agentLens.sessionRetentionDays":{"type":"number","default":90,"description":"How many days to keep session history in the local database. Older sessions (and their blob files) are deleted automatically on activation and every 24 hours."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Agentic AI monitoring and observability — OTEL traces and local log file ingestion for Copilot, Claude Code, Codex, and OpenCode. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - Agentic AI Monitoring & Observability","_nodeVersion":"24.19.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.15.1_1788311214276_0.17697372217220897","host":"s3://npm-registry-packages-npm-production"}},"0.15.2":{"name":"agentlens-dashboard","version":"0.15.2","keywords":["ai","agent","agentic","opentelemetry","otel","telemetry","monitoring","observability","copilot","claude","codex","opencode","tracing","dashboard"],"license":"MIT","_id":"agentlens-dashboard@0.15.2","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"df02dd2ccab8b80da21f897b7a068f9742cbf0a9","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.15.2.tgz","fileCount":41,"integrity":"sha512-LFpbIPf9/DoeNSw2sJSBpzAod8vP7uPgaS1JFHdezuMZ+P3J3e2wrEEf4zBb7xWe5Tt10wg+NxqY2jy2MPTlDw==","signatures":[{"sig":"MEQCIHOqNAeR+sEy7GD+VUjmsD7mamlFeIymUH1YQViMlr9iAiByKg9sgCDRc+f/TCRLKW7QMxqI4Zh4bQYtxN8qnnG9gg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.15.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4112347},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"ce3ca5455b2ef9ff1dd3e5169dc9efcb871ec98f","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"12.0.2","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"},{"title":"AgentLens: Show Storage Stats","command":"agentLens.showStorageStats"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Runs on every activation but only rewrites a file when something's actually missing, so it's silent after the first successful run (shows a notification only when it changes something). Disabling this leaves your agents' configuration untouched — you can still trigger it manually with the Configure OTEL button in Settings, configure OTEL by hand (see the Help tab), or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."},"agentLens.sessionRetentionDays":{"type":"number","default":90,"description":"How many days to keep session history in the local database. Older sessions (and their blob files) are deleted automatically on activation and every 24 hours."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Agentic AI monitoring and observability — OTEL traces and local log file ingestion for Copilot, Claude Code, Codex, and OpenCode. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - Agentic AI Monitoring & Observability","_nodeVersion":"24.19.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.15.2_1788312039379_0.15324211907439889","host":"s3://npm-registry-packages-npm-production"}},"0.15.3":{"name":"agentlens-dashboard","version":"0.15.3","keywords":["ai","agent","agentic","opentelemetry","otel","telemetry","monitoring","observability","copilot","claude","codex","opencode","tracing","dashboard"],"license":"MIT","_id":"agentlens-dashboard@0.15.3","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/RogerReed/agentlens#readme","bugs":{"url":"https://github.com/RogerReed/agentlens/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"866f9fe80b726ec0870b92b7e9472decba5d6f4c","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.15.3.tgz","fileCount":41,"integrity":"sha512-Uilmk3dqXbzWVBlBI0jEcNjJ+F8abqmXKJd0aYpzFqLm3fW6zHehmqxmZYqNFRM3G1PmtYVD6FFRn5m/LTjiUA==","signatures":[{"sig":"MEUCIC1nrod05OyAqZuCze3LJpjJdjNOEw7oDJ4SgPVZjH+NAiEA3zejEiJrv0SeOKPMeVR8n4RsxugtPISAVCrwRGEmIlI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.15.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4119462},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"5e16ac9f3fd8c3e2e56bcb1502cf9df2a06d2bd9","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:23c493f9-5dbe-431c-99f9-50d00fe972db"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/RogerReed/agentlens.git","type":"git"},"_npmVersion":"12.0.2","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"},{"title":"AgentLens: Show Storage Stats","command":"agentLens.showStorageStats"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Runs on every activation but only rewrites a file when something's actually missing, so it's silent after the first successful run (shows a notification only when it changes something). Disabling this leaves your agents' configuration untouched — you can still trigger it manually with the Configure OTEL button in Settings, configure OTEL by hand (see the Help tab), or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."},"agentLens.sessionRetentionDays":{"type":"number","default":90,"description":"How many days to keep session history in the local database. Older sessions (and their blob files) are deleted automatically on activation and every 24 hours."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Agentic AI monitoring and observability — OTEL traces and local log file ingestion for Copilot, Claude Code, Codex, and OpenCode. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - Agentic AI Monitoring & Observability","_nodeVersion":"24.19.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.15.3_1788313532895_0.5555510435086841","host":"s3://npm-registry-packages-npm-production"}},"0.15.4":{"name":"agentlens-dashboard","version":"0.15.4","keywords":["ai","agent","agentic","opentelemetry","otel","telemetry","monitoring","observability","copilot","claude","codex","opencode","tracing","dashboard"],"license":"MIT","_id":"agentlens-dashboard@0.15.4","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"homepage":"https://github.com/traceroost/core#readme","bugs":{"url":"https://github.com/traceroost/core/issues"},"bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"dist":{"shasum":"19700039d08b46e64d602a8bf91a17909a8b28da","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.15.4.tgz","fileCount":41,"integrity":"sha512-FKxqoo6SKUL9+lmL8XKhIT2pRLl1lynamlSrIAK3W4+A/wK0bX84UF7qPws3AQG125KA8X4BpjljZsiA+Hz3hw==","signatures":[{"sig":"MEUCIQCY1BoOHKc9qq0Du31Ow4VyNaFqgJarMBbOVfmJOecQwAIgDluC1M44gRe3DyzjQ4hJ5KtNVU/SR8mO3pUG9Ro2phs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.15.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4124200},"icon":"media/mascot.png","main":"./dist/extension.js","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"525367dbe480c7866993bca82ad4ccc2d5fe04ce","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:919af8b9-8d6a-46a7-a22d-190879b6fcf5"}},"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/traceroost/core.git","type":"git"},"_npmVersion":"12.0.2","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"},{"title":"AgentLens: Show Storage Stats","command":"agentLens.showStorageStats"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Runs on every activation but only rewrites a file when something's actually missing, so it's silent after the first successful run (shows a notification only when it changes something). Disabling this leaves your agents' configuration untouched — you can still trigger it manually with the Configure OTEL button in Settings, configure OTEL by hand (see the Help tab), or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."},"agentLens.sessionRetentionDays":{"type":"number","default":90,"description":"How many days to keep session history in the local database. Older sessions (and their blob files) are deleted automatically on activation and every 24 hours."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Agentic AI monitoring and observability — OTEL traces and local log file ingestion for Copilot, Claude Code, Codex, and OpenCode. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - Agentic AI Monitoring & Observability","_nodeVersion":"24.20.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"tmp":"tmp/agentlens-dashboard_0.15.4_1788809147813_0.614676305345415","host":"s3://npm-registry-packages-npm-production"}},"0.15.5":{"_id":"agentlens-dashboard@0.15.5","bin":{"agentlens":"standalone/cli.js","agentlens-dashboard":"standalone/cli.js"},"bugs":{"url":"https://github.com/traceroost/core/issues"},"dist":{"shasum":"c9dfd565e95a96940cde087b52c698653f830391","tarball":"https://registry.npmjs.org/agentlens-dashboard/-/agentlens-dashboard-0.15.5.tgz","fileCount":41,"integrity":"sha512-Bf63tTPEtXn8eliDQBPuhmKWInnAsY4UNTdSI6Vxn9hWQiNOYzUY2vJDor9XCc43x+1Nx0o/9CtBygn69W4tPg==","signatures":[{"sig":"MEQCIEhs+9J8hZxc4TuazQ4lDUpHMmAtBxKZ4SUDK0BvIaZOAiBuy/fLcLx5A2aD+yE99UuhojCR4m2PKrIrDUKvW49bWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDFpl5GcW5lGAYbd6Go5yU8R1e1OXRpkBKO2tUT8enLmgIgYsSf8fIEEUi9sADHRdhG8CZBEV1/pWcL7UzCg6JqRp0="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/agentlens-dashboard@0.15.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4129338},"icon":"media/mascot.png","main":"./dist/extension.js","name":"agentlens-dashboard","engines":{"node":">=24","vscode":"^1.118.0"},"gitHead":"5152719d960d43135d04a3e8149b4a0ec190653b","license":"MIT","scripts":{"demo":"node demo/run-ts.js demo/replay.ts","lint":"eslint src media/src","test":"vscode-test","local":"node esbuild.js && node standalone/server.js","watch":"npm-run-all -p watch:*","capture":"node demo/run-ts.js demo/capture.ts","compile":"pnpm run check-types && pnpm run lint && node esbuild.js","package":"pnpm run check-types && pnpm run lint && node esbuild.js --production","pretest":"pnpm run compile-tests && pnpm run compile && pnpm run lint","demo:fast":"node demo/run-ts.js demo/replay.ts --speed 8","demo:show":"node demo/run-ts.js demo/browser.ts","demo:tour":"node demo/run-ts.js demo/browser.ts --tour","test:unit":"pnpm run compile-tests && mocha","watch:tsc":"tsc --noEmit --watch --project tsconfig.json","check-types":"tsc --noEmit && tsc --noEmit -p media/tsconfig.json","watch-tests":"tsc -p tsconfig.test.json -w","capture:list":"node demo/run-ts.js demo/capture.ts --list","compile-tests":"tsc -p tsconfig.test.json","watch:esbuild":"node esbuild.js --watch","fixtures:check":"node demo/generate-fixtures.js --dir /tmp/agentlens-fixtures && pnpm run compile-tests && node demo/validate-fixtures.js --dir /tmp/agentlens-fixtures","prepublishOnly":"pnpm run package","fixtures:generate":"node demo/generate-fixtures.js","fixtures:validate":"pnpm run compile-tests && node demo/validate-fixtures.js","vscode:prepublish":"pnpm run package"},"version":"0.15.5","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"919af8b9-8d6a-46a7-a22d-190879b6fcf5"}},"homepage":"https://github.com/traceroost/core#readme","keywords":["ai","agent","agentic","opentelemetry","otel","telemetry","monitoring","observability","copilot","claude","codex","opencode","tracing","dashboard"],"publisher":"agentlens","categories":["Other","Visualization"],"repository":{"url":"git+https://github.com/traceroost/core.git","type":"git"},"_npmVersion":"12.2.0","contributes":{"menus":{"view/title":[{"when":"view == agentLens.dashboard","group":"navigation","command":"agentLens.openDashboard"}]},"views":{"agent-lens":[{"id":"agentLens.dashboard","name":"AgentLens","type":"webview"}]},"commands":[{"icon":"$(graph)","title":"AgentLens: Open Dashboard","command":"agentLens.openDashboard"},{"title":"AgentLens: Export OTEL Data","command":"agentLens.exportData"},{"title":"AgentLens: Export OTEL Data (Redacted)","command":"agentLens.exportDataRedacted"},{"title":"AgentLens: Dump Span Attributes","command":"agentLens.dumpSpanAttrs"},{"title":"AgentLens: Show Storage Stats","command":"agentLens.showStorageStats"}],"mcpServers":{"agentlens":{"url":"http://localhost:4316/mcp","type":"http","label":"AgentLens"}},"walkthroughs":[{"id":"agentlens.gettingStarted","steps":[{"id":"agentlens.welcome","media":{"markdown":"walkthrough/welcome.md"},"title":"What is AgentLens?","description":"AgentLens gives you a live observability dashboard for GitHub Copilot, Claude Code, and Codex — token usage, latency, file changes, and loop detection.\n\n[Open AgentLens Sidebar](command:workbench.view.extension.agent-lens)","completionEvents":["onView:agentLens.dashboard"]},{"id":"agentlens.autoConfig","media":{"markdown":"walkthrough/agents.md"},"title":"Agents Are Ready","description":"AgentLens automatically configured your agents to send telemetry to the local collector. Restart any running sessions to start collecting traces. Past session history is already loading from local log files — no restart needed to see it."},{"id":"agentlens.startSession","media":{"markdown":"walkthrough/session.md"},"title":"Start an Agent Session","description":"Run Copilot, Claude Code, or Codex and the dashboard will populate in real time."},{"id":"agentlens.openDashboard","media":{"markdown":"walkthrough/dashboard.md"},"title":"Open the Full Dashboard","description":"The sidebar shows a live summary. Open the full dashboard in an editor panel for traces, diffs, alerts, cost estimation, export, and more.\n\n[Open Dashboard](command:agentLens.openDashboard)","completionEvents":["onCommand:agentLens.openDashboard"]},{"id":"agentlens.loopDetection","media":{"markdown":"walkthrough/loops.md"},"title":"Detect Loops and Inefficiencies","description":"The Sessions tab surfaces five failure patterns per session — deadlocks, error spirals, context accumulation, and more. The Advisor tab analyzes patterns across sessions to generate specific suggestions for improving your agent instruction file."}],"title":"Get Started with AgentLens","description":"Observe and debug your AI agent sessions in real time."}],"configuration":{"title":"AgentLens","properties":{"agentLens.mcpPort":{"type":"number","default":4316,"description":"Local port for the AgentLens MCP server (when agentLens.enableMcpServer is true). Configure Claude Code to connect with: { \"mcpServers\": { \"agentlens\": { \"url\": \"http://localhost:4316/mcp\" } } }"},"agentLens.otlpPort":{"type":"number","default":4318,"description":"Local port for OTLP trace receiver"},"agentLens.enableMcpServer":{"type":"boolean","default":true,"description":"Start the AgentLens MCP server so Claude Code can query your session history. The server listens on agentLens.mcpPort (default 4316). See the AgentLens Help tab → Agent Integration for setup instructions."},"agentLens.enableLogIngestion":{"type":"boolean","default":true,"description":"Read local session logs for Claude Code, Codex, and Copilot CLI as a data source. Log data has lower fidelity than OTEL — timing, speed, and loop signals are not available for Codex and Copilot CLI, whose log files carry only aggregate totals. Log and OTEL sessions are shown as separate entries rather than merged. Loading is done incrementally in the background and will not block the UI."},"agentLens.autoConfigureAgents":{"type":"boolean","default":true,"description":"Automatically write OTEL telemetry settings into Claude Code's (~/.claude/settings.json), Codex's (~/.codex/config.toml), and GitHub Copilot's own configuration so they send session data to AgentLens. Runs on every activation but only rewrites a file when something's actually missing, so it's silent after the first successful run (shows a notification only when it changes something). Disabling this leaves your agents' configuration untouched — you can still trigger it manually with the Configure OTEL button in Settings, configure OTEL by hand (see the Help tab), or rely on agentLens.enableLogIngestion alone. Codex and Copilot CLI sessions have little to show without OTEL: their log files carry only aggregate totals, no per-turn tool calls or responses."},"agentLens.enableOtelIngestion":{"type":"boolean","default":true,"description":"Accept incoming OTEL span data. The OTLP server keeps listening on agentLens.otlpPort regardless; disabling this silently drops received payloads without storing them."},"agentLens.sessionRetentionDays":{"type":"number","default":90,"description":"How many days to keep session history in the local database. Older sessions (and their blob files) are deleted automatically on activation and every 24 hours."}}},"viewsContainers":{"activitybar":[{"id":"agent-lens","icon":"media/icon.svg","title":"AgentLens"}]}},"description":"Agentic AI monitoring and observability — OTEL traces and local log file ingestion for Copilot, Claude Code, Codex, and OpenCode. VS Code extension, npx, and Docker.","directories":{},"displayName":"AgentLens - Agentic AI Monitoring & Observability","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"clsx":"^2.1.1","fflate":"^0.8.3","preact":"^10.29.1","sql.js":"^1.14.1","@preact/signals":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0"},"galleryBanner":{"color":"#1e1e2e","theme":"dark"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","eslint":"^9.39.4","esbuild":"^0.27.7","playwright":"^1.60.0","typescript":"^5.9.3","@types/node":"^22.0.0","npm-run-all":"^4.1.5","@types/mocha":"^10.0.10","@types/vscode":"^1.118.0","@vscode/test-cli":"^0.0.12","typescript-eslint":"^8.59.2","@vscode/test-electron":"^2.5.2"},"activationEvents":["onStartupFinished"],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agentlens-dashboard_0.15.5_1790829626603_0.9361904347799292"}}},"time":{"created":"2026-06-02T03:48:25.761Z","modified":"2026-10-01T04:40:27.070Z","0.2.1":"2026-06-02T03:48:26.102Z","0.3.0":"2026-06-02T05:30:09.089Z","0.4.0":"2026-06-03T01:04:40.106Z","0.4.1":"2026-06-03T01:29:23.686Z","0.5.0":"2026-06-04T02:09:12.313Z","0.6.0":"2026-06-05T03:49:54.893Z","0.6.1":"2026-06-07T03:57:56.459Z","0.7.0":"2026-06-08T04:49:03.832Z","0.7.1":"2026-06-09T03:23:55.397Z","0.7.2":"2026-06-09T03:28:31.590Z","0.7.3":"2026-06-10T02:36:52.914Z","0.8.0":"2026-06-11T02:49:28.244Z","0.8.1":"2026-06-12T00:32:48.275Z","0.8.2":"2026-06-12T00:47:44.036Z","0.8.3":"2026-06-15T01:52:32.236Z","0.8.4":"2026-06-15T04:18:57.084Z","0.8.5":"2026-06-15T04:48:14.598Z","0.8.7":"2026-07-19T18:39:41.932Z","0.8.8":"2026-07-20T01:22:12.700Z","0.9.0":"2026-07-25T04:09:27.630Z","0.9.1":"2026-07-27T04:35:53.164Z","0.9.2":"2026-08-02T04:49:50.602Z","0.9.3":"2026-08-08T04:27:51.711Z","0.10.0":"2026-08-13T03:43:36.476Z","0.10.1":"2026-08-15T02:22:45.532Z","0.11.0":"2026-08-17T00:18:29.651Z","0.12.0":"2026-08-19T04:09:00.195Z","0.12.1":"2026-08-19T04:50:44.258Z","0.12.2":"2026-08-23T21:33:40.109Z","0.12.3":"2026-08-23T22:38:00.889Z","0.13.0":"2026-08-27T03:08:18.213Z","0.14.0":"2026-08-29T03:43:38.481Z","0.15.0":"2026-08-30T03:28:23.426Z","0.15.1":"2026-09-02T01:06:54.500Z","0.15.2":"2026-09-02T01:20:39.562Z","0.15.3":"2026-09-02T01:45:33.087Z","0.15.4":"2026-09-07T19:25:47.997Z","0.15.5":"2026-10-01T04:40:26.728Z"},"bugs":{"url":"https://github.com/traceroost/core/issues"},"license":"MIT","homepage":"https://github.com/traceroost/core#readme","keywords":["ai","agent","agentic","opentelemetry","otel","telemetry","monitoring","observability","copilot","claude","codex","opencode","tracing","dashboard"],"repository":{"url":"git+https://github.com/traceroost/core.git","type":"git"},"description":"Agentic AI monitoring and observability — OTEL traces and local log file ingestion for Copilot, Claude Code, Codex, and OpenCode. VS Code extension, npx, and Docker.","maintainers":[{"name":"agentlens.dev","email":"agentlens.dev@gmail.com"}],"readme":"<h1><img src=\"media/mascot.png\" alt=\"AgentLens logo\" width=\"48\" align=\"center\" /> AgentLens</h1>\n\n> ## AgentLens is now TraceRoost\n>\n> **This is the final AgentLens release.** The `agentlens-dashboard` npm package and the `agentlens/agentlens` Docker image get no further updates. Everything continues as [TraceRoost](https://github.com/traceroost/core):\n>\n> - **npx:** `npx traceroost@latest`\n> - **Docker:** `docker run --pull=always -p 127.0.0.1:3000:3000 -p 127.0.0.1:4318:4318 traceroost/traceroost`\n> - **Background service:** run `npx agentlens-dashboard@latest service uninstall` first, then `npx traceroost@latest service install`, so the two don't compete for the same ports.\n> - **VS Code:** nothing to do. The AgentLens extension already updates to TraceRoost in place.\n>\n> TraceRoost rebuilds your history from your agents' local session files on first run.\n\n[![CI](https://github.com/traceroost/core/actions/workflows/ci.yml/badge.svg)](https://github.com/traceroost/core/actions/workflows/ci.yml)\n[![License](https://img.shields.io/github/license/traceroost/core)](LICENSE)\n\n![AgentLens dashboard showing OTEL traces, session monitoring, and agent observability charts](media/demo.gif)\n\nLocal monitoring and observability for agentic AI coding tools — see what's actually happening inside each run. Nothing leaves your machine.\n\nAgentLens receives **OpenTelemetry traces** from Copilot, Claude Code, and Codex in real time, giving you span timing, time-to-first-token, per-tool latency, and file diffs. It also reads the **local session files** each agent writes automatically — including OpenCode's **SQLite database** — as a zero-config fallback that backfills history from before you set anything up. Both sources appear in one dashboard; OTEL takes precedence when available.\n\nTwo things it does that a usage dashboard doesn't:\n\n- **Catches agents that are stuck.** Five named loop and malfunction patterns — identical tool calls repeated, edits oscillating between two states, the same error recurring, runaway scope, context accumulating while progress collapses — each with a correction prompt you can paste straight into the session. [See the full list →](#recommendations--malfunction-detection)\n- **Tells you what to fix in your instructions file.** The Advisor reads across sessions and suggests concrete additions to your CLAUDE.md or AGENTS.md — including hot files the agent rediscovers from scratch on every run. [More →](#features)\n\n## Getting Started\n\n### Local (OTEL and log files)\n\nThe fastest way to get started — run directly on your machine with no install required. Because it runs natively it has full access to your local session log files.\n\n```bash\n# One-off — the @latest tag forces a fresh fetch (see note below)\nnpx agentlens-dashboard@latest\nbunx agentlens-dashboard@latest\n\n# Or install globally and run by command name\nnpm install -g agentlens-dashboard@latest\nagentlens\n```\n\nOpen <http://localhost:3000> after the server starts. The OTLP receiver listens on port `4318`. Configure agents to point at `http://localhost:4318` (see [Manual Configuration](#manual-configuration)).\n\n> **Always include `@latest`.** A bare `npx agentlens-dashboard` (or `bunx`) re-runs whatever\n> version npx cached the first time you ran it — it does **not** check npm for a newer release, so\n> you can silently stay on an old version for weeks. `@latest` forces npx to resolve against the\n> registry. If a bare run already cached an old copy, clear it with `rm -rf ~/.npm/_npx` (npx) or\n> `npm cache clean --force`. A global install (`npm install -g`) has the same trap — re-run it with\n> `@latest`, or `npm update -g agentlens-dashboard`, to move forward.\n\n> **Log file ingestion** reads local session files from `~/.claude/`, `~/.codex/`, `~/.copilot/`, and OpenCode's SQLite database at `~/.local/share/opencode/` directly. See [Local Mode Options](#local-mode-options) for environment variables.\n>\n> **Running this in a terminal only lasts until you close it.** If AgentLens isn't running when an agent sends OTEL data, that data is lost — see [Background Service](#background-service-macos--windows--linux) to keep it running automatically.\n\n### VS Code Extension (OTEL and log files)\n\nThe extension receives OTEL traces in real time **and** reads local session log files, so you get both live telemetry and full session history automatically.\n\nWorks in **VS Code, Cursor, Windsurf, VSCodium, Trae, and Kiro** — install from your IDE's extension marketplace or from the VS Code Marketplace directly.\n\n1. **[Install from the VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=agentlens.agentlens-dashboard)**\n2. Open the **AgentLens** view from the Activity Bar — this opens a dashboard panel inside your IDE, not a browser tab, so there's no localhost URL to visit for this mode\n3. AgentLens auto-configures OTEL telemetry for Copilot, Claude Code, and Codex — restart any running agent sessions to start streaming traces\n4. Past session history loads automatically from local log files — no extra setup needed\n\n### Docker (OTEL only)\n\n> **Note:** Docker cannot read local session log files from your host machine without explicit volume mounts for each agent directory. Docker mode receives OTEL traces only — log file ingestion is not available. Use the local option above if you need log file history.\n\n```bash\n# Ephemeral — data cleared on container stop (always pulls latest)\ndocker run --pull=always -p 127.0.0.1:3000:3000 -p 127.0.0.1:4318:4318 agentlens/agentlens\n\n# Persistent — data survives restarts (macOS/Linux)\ndocker run --pull=always -p 127.0.0.1:3000:3000 -p 127.0.0.1:4318:4318 \\\n  -v ~/.agentlens:/data \\\n  agentlens/agentlens\n\n# Persistent — data survives restarts (Windows)\ndocker run --pull=always -p 127.0.0.1:3000:3000 -p 127.0.0.1:4318:4318 `\n  -v \"$env:USERPROFILE\\.agentlens:/data\" `\n  agentlens/agentlens\n```\n\nOpen <http://localhost:3000> after the container starts.\n\n#### Configuring Agents for Local / Docker\n\nUse the included setup scripts to configure agents automatically, or see [Manual Configuration](#manual-configuration) for the manual steps.\n\n```bash\n# macOS / Linux\nchmod +x scripts/configure-agents.sh\n./scripts/configure-agents.sh\n```\n\n```powershell\n# Windows (PowerShell)\nSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser\n.\\scripts\\configure-agents.ps1\n```\n\n## Features\n\n- **OpenTelemetry collection** — Built-in OTEL receiver captures real-time traces and logs from Copilot, Claude Code, and Codex with no external infrastructure; auto-configured on first activation\n- **Log file ingestion** — Reads local session files and databases written automatically by each agent as a zero-config fallback — including JSONL logs for Claude Code, Codex, and Copilot, and OpenCode's SQLite database — backfilling history when OTEL isn't configured (VS Code-family IDEs and native process only)\n- **Sessions Table** — Drill into any session: expand a row to see a full waterfall trace, turn-to-tool flow graph, tool distribution chart, and modified files — all without leaving the session list\n- **Git Outcome Correlation** — For each file a session changed, compares its content before and after against local git history to show whether the work was committed, reverted, or left uncommitted — answers \"did this session's changes actually survive?\" after the fact (not available in Docker mode — same host git-repo access limitation as log file ingestion)\n- **One-shot / Retry Rate** — Tracks what fraction of edited files reached their final state in a single edit pass vs. needed retries, per session and aggregated per-agent in Analytics — a proxy for correction effort\n- **Analytics** — Aggregate charts across the active time range: per-agent breakdown, estimated cost with a daily total overlay, token usage per session, and context growth\n- **Advisor** — Project-scoped suggestions for improving your agent instruction file (CLAUDE.md, AGENTS.md, or similar): detects hot files the agent rediscovers every session, loop patterns, high turn-count trends, and scope problems — each suggestion includes ready-to-copy instruction text and an inquiry prompt you can paste directly into your agent. Also includes an efficiency scatter plot (cost vs. LLM calls, colored by cache hit rate) and hot files ranked by access frequency. Select a specific project from the filter for tailored suggestions; all-projects view surfaces only universal patterns.\n- **Cost Estimation** — Estimates session cost for Copilot (three billing models), Claude Code, and Codex, broken down by model in a day-grouped table\n- **Efficiency & Inefficiency Detection** — Surfaces context bloat, redundant tool calls, cache misses, and five loop/malfunction patterns with suggested prompts to correct course\n- **Configurable Alerts** — Threshold-based notifications for turns, errors, active time, repeat tool calls, and estimated daily cost — per-agent or shared\n- **Export** — Export filtered sessions as JSON, CSV, or Markdown (full or redacted); respects the active agent, source, time range, and text filters\n- **Import** — Import sessions from a previous AgentLens JSON export; drag-drop or file-pick, shows a preview with session count by source and date range, imports with live progress and automatic deduplication (existing sessions are skipped)\n- **MCP Server** — Exposes your own session history to Claude Code (or any MCP-compatible agent) so it can query its recent work, cost, and recurring file/loop patterns before starting a task, instead of you checking the dashboard yourself. Runs by default on port `4316`; see the in-app Help tab's Agent Integration section for setup\n\n## Data Sources\n\nAgentLens collects data from two independent sources per agent. Each session row shows a badge — **OTEL** or **Log** — indicating where its data came from. If both capture the same session, OTEL always wins and the badge upgrades automatically.\n\n### OpenTelemetry traces (primary source)\n\nThe VS Code extension runs a built-in OTEL HTTP receiver on port `4318` and auto-configures each agent on first activation. The native process and Docker modes also expose the same receiver. OTEL data is the richest source: real-time span timing, time-to-first-token, per-tool latency, loop detection signals, file diff content, and streaming speed. Sessions from OTEL show an **OTEL** badge.\n\nSee [Manual Configuration](#manual-configuration) for the specific settings each agent needs. OTEL is the only data source available in Docker mode.\n\n### Log file ingestion (fallback source, VS Code-family IDEs and native process only)\n\nAgentLens also reads the local session files that Claude Code, Codex, Copilot CLI, and Copilot Chat write automatically to your home directory. This requires no configuration and backfills session history that predates OTEL setup. Log-sourced sessions show a **Log** badge. **Not available in Docker mode** — the container cannot access host log directories without explicit volume mounts for every agent path.\n\n| Agent | Log file location (Mac/Linux) | Windows |\n| --- | --- | --- |\n| **Claude Code** | `~/.claude/projects/<project>/<session>.jsonl` | `%APPDATA%\\Claude\\projects\\...` |\n| **Codex CLI** | `~/.codex/sessions/<project>/<session>.jsonl` | `%USERPROFILE%\\.codex\\sessions\\...` |\n| **Copilot CLI** | `~/.copilot/session-state/<session>/events.jsonl` | `%USERPROFILE%\\.copilot\\session-state\\...` |\n| **Copilot Chat** | `~/Library/Application Support/<IDE>/User/workspaceStorage/…/chatSessions/` | `%APPDATA%\\<IDE>\\User\\workspaceStorage\\…\\chatSessions\\` |\n| **OpenCode** | `~/.local/share/opencode/opencode.db` (SQLite) | `%APPDATA%\\opencode\\opencode.db` |\n\nCopilot Chat sessions are scanned across all installed VS Code-family IDEs automatically — VS Code, VS Code Insiders, Cursor, Windsurf, VSCodium, Trae, and Kiro.\n\nLoading is incremental and runs in the background, sorted newest-first so recent sessions appear immediately. A 30-second poll picks up new sessions as they complete.\n\n**What log data includes:** session ID, workspace, model, timestamps, token counts (input, output, cache read/write), tool calls and file operations (Claude Code and OpenCode), user prompt (Claude Code, Copilot CLI, and OpenCode).\n\n**What log data does not include:** time-to-first-token, per-tool execution timing, streaming speed, loop detection signals, or structured error telemetry. Enable OTEL for those. OpenCode sessions show a blue info banner in the Session Overview noting that OTEL traces and TTFT are not available.\n\nTo disable log ingestion: set `agentLens.enableLogIngestion` to `false` in VS Code settings.\n\n**Clear All Data** (Settings) only deletes AgentLens' own stored copy — it never touches these source log files, and log-sourced sessions will simply be re-read on the next scan. AgentLens has no way to delete the log files themselves; do that directly at the paths above if you want them gone.\n\n## Cost Estimation\n\nThe **Analytics** tab (Estimated Cost section) shows the dollar cost of Copilot, Claude Code, and Codex sessions.\n\n**Copilot** supports three billing models via a toggle:\n\n| Mode | Who it applies to |\n| ---- | ----------------- |\n| **Token-based AI Credits** (default) | Default Copilot plans from June 1, 2026 — charges per input/output/cache token at per-model rates |\n| **Annual plan request-based** | Annual-plan holders staying on request billing from June 1, 2026 — multiplier × $0.04 per user-initiated prompt |\n| **Request-based** *(deprecated)* | Plans on request billing before June 1, 2026 — multiplier × $0.04 per user-initiated prompt |\n\n**Claude Code** and **Codex** always use token-based pricing — no toggle required. Claude Code is billed against the Anthropic API at standard per-token rates (input, cache write, cache read, output) depending on model (Opus, Sonnet, or Haiku). Codex is billed against the OpenAI API.\n\nThe Estimated Cost section includes a per-session bar chart with a daily aggregate line (right axis), a multi-dimensional table grouped by date and agent showing input, output, cache create, cache read, total tokens, and cost, and a model breakdown table. Some models carry a \"long context\" surcharge above a per-model token-per-call threshold — see [PRICING_SOURCES.md](PRICING_SOURCES.md) for which ones and the exact thresholds.\n\nAll figures are estimates — not your actual bill. Rates are sourced from each provider's public pricing docs; see [PRICING_SOURCES.md](PRICING_SOURCES.md) for the authoritative URL for each billing model and notes for maintainers on keeping rates current.\n\n## Exporting and Importing Session Data\n\n### Export\n\nThe **Export** tab writes session summary files to your workspace root, in your choice of three formats:\n\n- **JSON** (default) — full-fidelity structured export including prompt text, token counts, tool usage, file changes, and cost estimates for every recorded session. This is the only format the **Import** tab reads back in.\n- **CSV** — one row per session, with array/object fields (models, files, tool counts, loop signals) flattened into semicolon-joined cells. Built for dropping into a spreadsheet.\n- **Markdown** — one section per session with the same data laid out as a readable report, prompt included as a blockquote. Built for sharing.\n\nEach format is available both as the full export and as a redacted export (prompt text and file paths replaced with `[redacted]`) — filenames follow `export_sessions_<timestamp>.<ext>` (or `export_redacted_sessions_<timestamp>.<ext>` for the redacted version), with `<ext>` matching the format chosen (`json`, `csv`, or `md`).\n\nExports draw from the full SQLite session history, not just the active window, so all past sessions are included regardless of when they ran.\n\n> **Note:** Session summary exports cannot be replayed with `pnpm run demo --file`. Replay requires raw OTEL span data, which is not yet persisted to disk. This is tracked as a planned enhancement. See [DEMO.md](DEMO.md) for the full replay/demo toolchain.\n\n### Import\n\nThe **Import** tab loads sessions from a previous AgentLens **JSON** export file into the current installation — useful for migrating data to a new machine, sharing session history across team members, or restoring a local backup. CSV and Markdown exports are one-way (for external consumption) and can't be imported back.\n\n1. Open the **Import** tab in the dashboard\n2. Drag-and-drop an `export_sessions_*.json` file onto the drop zone, or click **Choose file**\n3. Review the preview: total sessions, breakdown by agent source, and the date range covered\n4. Click **Import** — progress updates live as sessions are written; already-existing sessions are skipped automatically\n\nImport works in both VS Code extension mode and standalone server mode.\n\n## Recommendations & Malfunction Detection\n\nThe **Sessions** tab (Overview sub-tab) and **Analytics** tab surface two categories of signal per session:\n\n**Efficiency insights** — problems you can fix by adjusting your prompts:\n\n- Context bloat (input tokens growing rapidly across turns)\n- Files read multiple times, duplicate searches, large tool results\n- Tool failures, high turn count, oversized starting context\n- Low cache hit rate, tool definition overhead\n\n**Loop & malfunction signals** — patterns indicating the agent is stuck or spiraling. These appear first in the list with a ↺ icon:\n\n| Signal | Description | Trigger |\n| ------ | ----------- | ------- |\n| **Tool Call Deadlock** | Same tool + arguments called 3+ times (critical at 5+) | Agent not retaining tool results |\n| **State Corruption Spiral** | A file edited then reverted to a prior state | Agent oscillating between conflicting constraints |\n| **Hallucination Amplification Loop** | Same error recurring 3+ times | Fix attempts not resolving the root cause |\n| **Ambiguous Success / Escalating Scope** | Too many steps for the task complexity | No clear completion condition |\n| **Infinite Loop — Context Accumulation** | Input tokens growing while output ratio collapses 70%+ | Agent stuck, accumulating context without progress |\n\nEach signal includes a specific recommended action and a **Copy for {Agent}** button that copies the recommendation prompt to your clipboard so you can paste it into your AI session. Use the **Ignore** button to dismiss signals that represent intentional behavior.\n\n## Manual Configuration\n\nThe VS Code extension and the standalone (`npx`) server both auto-configure Copilot, Claude Code, and Codex on every startup — it's idempotent, so it only rewrites a config file when something is actually missing or different, and does nothing on subsequent starts once already configured. The extension shows a one-time notification (and logs to the Output panel) only when it actually changes something; disable it with the `agentLens.autoConfigureAgents` setting if you'd rather manage agent config yourself. If you change an agent's OTEL settings by hand later and want AgentLens to reapply its own values, use the **Configure OTEL** button in the Settings panel (gear icon) instead of waiting for the next restart. Docker mode runs the same auto-configure code, but it writes to the *container's* filesystem, not your host machine, so it has no effect on your host agents unless you volume-mount their config paths in — use the setup scripts below instead. Replace `4318` with your custom port if you changed `agentLens.otlpPort`.\n\n### GitHub Copilot\n\n**VS Code-family IDE extension** — Add to User Settings (`Cmd+Shift+P` / `Ctrl+Shift+P` → *Preferences: Open User Settings (JSON)*) in VS Code, Cursor, Windsurf, or any VS Code-family IDE:\n\n```json\n{\n  \"github.copilot.chat.otel.enabled\": true,\n  \"github.copilot.chat.otel.exporterType\": \"otlp-http\",\n  \"github.copilot.chat.otel.otlpEndpoint\": \"http://localhost:4318\"\n}\n```\n\n**Copilot CLI (standalone)** — Add to your shell profile, then open a new terminal:\n\n```bash\n# macOS / Linux — add to ~/.zshrc or ~/.bashrc\nexport OTEL_EXPORTER_OTLP_ENDPOINT=\"http://localhost:4318\"\nexport OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=true\n```\n\n```powershell\n# Windows — run once in PowerShell (persists across sessions)\n[System.Environment]::SetEnvironmentVariable(\"OTEL_EXPORTER_OTLP_ENDPOINT\", \"http://localhost:4318\", \"User\")\n[System.Environment]::SetEnvironmentVariable(\"OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT\", \"true\", \"User\")\n```\n\n---\n\n### Claude Code\n\nThe CLI and VS Code extension both read the same file. Add to the `\"env\"` block:\n\n- **macOS/Linux:** `~/.claude/settings.json`\n- **Windows:** `%USERPROFILE%\\.claude\\settings.json`\n\n```json\n{\n  \"env\": {\n    \"CLAUDE_CODE_ENABLE_TELEMETRY\": \"1\",\n    \"CLAUDE_CODE_ENHANCED_TELEMETRY_BETA\": \"1\",\n    \"OTEL_TRACES_EXPORTER\": \"otlp\",\n    \"OTEL_EXPORTER_OTLP_PROTOCOL\": \"http/json\",\n    \"OTEL_EXPORTER_OTLP_ENDPOINT\": \"http://localhost:4318\",\n    \"OTEL_LOG_TOOL_DETAILS\": \"1\",\n    \"OTEL_LOG_TOOL_CONTENT\": \"1\",\n    \"OTEL_LOG_USER_PROMPTS\": \"1\"\n  }\n}\n```\n\n`CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` enables span-level tracing — without it turns and LLM calls are indistinguishable and cache token breakdowns are unavailable. The three `OTEL_LOG_*` vars unlock tool details, file diff content (needed for the Files tab), and your typed prompt. If `settings.json` already exists, merge the `env` block — do not replace the whole file.\n\n---\n\n### Codex\n\nThe CLI and VS Code extension both read the same file. Add an `[otel]` section:\n\n- **macOS/Linux:** `~/.codex/config.toml`\n- **Windows:** `%USERPROFILE%\\.codex\\config.toml`\n\n```toml\n[otel]\nlog_user_prompt = true\nexporter = { otlp-http = { endpoint = \"http://localhost:4318\", protocol = \"json\" } }\ntrace_exporter = { otlp-http = { endpoint = \"http://localhost:4318\", protocol = \"json\" } }\n```\n\n`log_user_prompt = true` includes your typed prompt; without it sessions show `[session in progress]`. `exporter` sends log events; `trace_exporter` sends trace spans. Both point at the same endpoint. If `config.toml` already has an `[otel]` section, add only the missing keys.\n\n## Local Mode Options\n\nAgentLens runs as a local web server outside VS Code — useful for CI, remote machines, or when you prefer a browser tab over the VS Code sidebar.\n\n### Native process (recommended for local use)\n\nRuns directly on your machine — no Docker required. Gives the server full access to the local filesystem, which is required for log file ingestion. Quick-start commands are in [Getting Started](#local-otel-and-log-files) above.\n\nEnvironment variables:\n\n| Variable | Default | Description |\n| --- | --- | --- |\n| `OTLP_PORT` | `4318` | OTLP HTTP receiver port |\n| `UI_PORT` | `3000` | Dashboard port |\n| `MCP_PORT` | `4316` | MCP endpoint for Claude Code and other MCP-compatible agents |\n| `DATA_DIR` | `~/.agentlens` | Directory for persistent span data |\n| `BIND_HOST` | `127.0.0.1` | Set to `0.0.0.0` for LAN access |\n| `AGENTLENS_MAX_SPANS` | `50000` | Cap on in-memory/persisted spans; oldest spans are dropped once exceeded |\n\nThe local server uses the same port as the VS Code extension — only one can run at a time. To run both simultaneously, use different ports:\n\n```bash\nOTLP_PORT=4319 UI_PORT=3001 bunx agentlens-dashboard@latest\n```\n\n### Background Service (macOS / Windows / Linux)\n\n> **If AgentLens isn't running, incoming OTEL data has nowhere to go and is lost** — agents don't\n> queue or retry failed exports. A terminal you forgot to reopen, a closed laptop lid, or a reboot\n> all mean a gap in your session history. Running AgentLens as a background service avoids this:\n> it starts automatically and keeps running without a terminal open.\n\n```bash\n# One command — works whether or not agentlens-dashboard is already installed globally\nnpx agentlens-dashboard@latest service install\n\nagentlens service status      # check whether it's running and reachable\nagentlens service logs        # print the service's log file\nagentlens service logs --follow\nagentlens service stop        # stop it\nagentlens service start       # start it again\nagentlens service update      # upgrade to the latest version and restart on it\nagentlens service uninstall   # remove it (your data in ~/.agentlens is untouched)\n```\n\n`service install` fetches the latest `agentlens-dashboard` from npm before it writes the service\ndefinition, so re-running it is also how you upgrade. If that download can't happen (offline, npm\nregistry unreachable), it prints a clear notice that the new version couldn't be downloaded and\ninstalls the service on whichever version is already present rather than failing.\n\n> **Once installed, the running service does not otherwise auto-update.** It keeps running whatever\n> version is installed until you run `agentlens service update` (or re-run `service install`) —\n> either one pulls the latest `agentlens-dashboard` from npm and restarts the service on it.\n\n`service install` uses whichever OS-native mechanism fits your platform, all installed per-user\nwith no admin/root privileges required:\n\n| Platform | Mechanism |\n| --- | --- |\n| macOS | `launchd` LaunchAgent — starts at login, restarts automatically if it crashes |\n| Linux | `systemd --user` unit — starts at login; add `loginctl enable-linger $USER` if you want it to keep running even when logged out (e.g. a headless box) |\n| Windows | Scheduled Task at logon — starts when you log in. (Windows has no simple no-admin equivalent to launchd/systemd's crash-restart; a true Windows Service is a heavier install requiring elevation and wasn't worth the extra friction for a per-user local tool) |\n\nPorts and data directory can be customized at install time, and are remembered across\nrestarts in `~/.agentlens/config.json`:\n\n```bash\nagentlens service install --ui-port 3001 --otlp-port 4319 --data-dir ~/agentlens-data\n```\n\nSince `npx` always runs from a temporary cache with no stable path to launch from, running\n`service install` under `npx` installs `agentlens-dashboard` globally first (equivalent to\n`npm install -g agentlens-dashboard@latest`) so the service definition has something fixed to\npoint at.\n\n### Docker (OTEL only)\n\n> **Log file ingestion is not available in Docker mode.** The container is isolated from the host filesystem. Use the native process option above if you need local session log history.\n\nQuick-start commands are in [Getting Started](#docker-otel-only). Additional options:\n\n**LAN-accessible** — exposes the dashboard to other devices on your network:\n\n```bash\ndocker run --pull=always -p 3000:3000 -p 4318:4318 -v ~/.agentlens:/data agentlens/agentlens\n```\n\n**Custom ports** — if `4318` is already in use by the VS Code extension:\n\n```bash\ndocker run --pull=always -p 127.0.0.1:3001:3000 -p 127.0.0.1:4319:4318 \\\n  -v ~/.agentlens:/data \\\n  agentlens/agentlens\n```\n\nThen point your agents at `http://localhost:4319` and open <http://localhost:3001>.\n\n### Node.js (from source)\n\nRequires Node.js 18+ and this repository cloned locally.\n\n```bash\npnpm install\npnpm run local\n```\n\n## Automation Prompts File\n\nWhen an automation threshold is crossed, AgentLens can write the generated prompt to a markdown file. To act on it automatically, configure your agent to watch or include that file as an input — for example, by pointing Claude Code at it via a hook or referencing it in a system prompt. Without that wiring, the file serves as a persistent, reviewable log you can paste from manually. For simpler workflows, leave **Write prompts file** off and use the **Copy Prompt** notification button instead.\n\n### How it works\n\nWhen **Write prompts file** is enabled for an automation rule, each trigger appends a timestamped entry to an agent-specific file:\n\n| Agent | File written |\n| --- | --- |\n| Claude Code | `agentlens-prompts-claude.md` |\n| GitHub Copilot | `agentlens-prompts-copilot.md` |\n| Codex | `agentlens-prompts-codex.md` |\n\nIn the VS Code extension, files are written to the workspace root. In local mode, files are written to the directory where the server is running.\n\nEach entry uses this format:\n\n```markdown\n## 2026-05-21 14:30:22 — Loop Breaker\n\n[AgentLens Automation: Loop Breaker]\n\n...generated prompt...\n\n---\n```\n\nWhen **Write prompts file** is off (default), triggering an automation shows a notification with a **Copy Prompt** button instead — click it to copy the prompt to your clipboard, then paste into your agent.\n\n## VS Code Commands\n\nOpen the VS Code Command Palette (`Cmd+Shift+P` / `Ctrl+Shift+P`) and search for **AgentLens**:\n\n| Command | Description |\n| ------- | ----------- |\n| `AgentLens: Open Dashboard` | Open the full dashboard in an editor panel |\n| `AgentLens: Export OTEL Data` | Write session data to JSON files in your workspace root (also available in the **Export** dashboard tab) |\n| `AgentLens: Export OTEL Data (Redacted)` | Same, with prompt text, tool inputs, tool results, and PII replaced with `[redacted]` |\n| `AgentLens: Show Storage Stats` | Report local database size, blob storage size, session count, date range, and current retention setting to the Output panel |\n\n## Extension Settings\n\n| Setting | Default | Description |\n| ------- | ------- | ----------- |\n| `agentLens.otlpPort` | `4318` | Local port for the OTLP trace receiver |\n| `agentLens.enableOtelIngestion` | `true` | Accept incoming OTEL span data. The OTLP server keeps listening on `agentLens.otlpPort` regardless; disabling this silently drops received payloads without storing them. |\n| `agentLens.enableLogIngestion` | `true` | Read local session log files from Claude Code, Codex, and Copilot CLI. Disable if you only want OTEL data. |\n| `agentLens.autoConfigureAgents` | `true` | Automatically write OTEL telemetry settings into Claude Code's, Codex's, and Copilot's own configuration on every activation. Disabling leaves your agents' configuration untouched — use the **Configure OTEL** button in Settings for a one-off manual apply, or configure OTEL manually (see [Manual Configuration](#manual-configuration)). |\n| `agentLens.enableMcpServer` | `true` | Start the AgentLens MCP server so Claude Code and other MCP-compatible agents can query your session history. |\n| `agentLens.mcpPort` | `4316` | Local port for the AgentLens MCP server (when `agentLens.enableMcpServer` is true) |\n| `agentLens.sessionRetentionDays` | `90` | How many days to keep session history in the local database |\n\n## Agent Data Formats\n\nAgentLens collects data from two sources per agent and normalizes both into a shared session model. The **Log** badge indicates log-file data; **OTEL** indicates telemetry data. When both are present for the same session, OTEL wins.\n\n### Claude Code\n\n**Log files** (automatic, no setup) — `~/.claude/projects/<project>/<session-uuid>.jsonl`\n\nEach file is one session. `assistant` entries carry per-turn token counts (input, output, cache read/write). `user` entries carry the prompt text. Tool calls are embedded in message content blocks.\n\nAvailable from logs: prompt, model, workspace, timestamps, all token counts, tool names, files read/written.\nNot in logs: TTFT, per-tool latency, streaming speed, loop signals.\n\n**OTEL** (richer, requires env config) — trace spans via `/v1/traces` and supplemental log records via `/v1/logs`.\n\nWith the recommended configuration (all three `OTEL_LOG_*` vars): prompt text, token counts, model, tool names, tool arguments, file paths, and full file diff content are all available. The three `OTEL_LOG_*` vars are not enabled by default — without them, tool arguments are absent and prompt text is omitted.\n\n---\n\n### Codex CLI\n\n**Log files** (automatic, no setup) — `~/.codex/sessions/<project>/<session-uuid>.jsonl`\n\n`turn_context` entries carry the model name. `event_msg` entries with `type: token_count` carry per-turn cumulative token usage. The user's prompt text is not present in this format.\n\nAvailable from logs: model, timestamps, token counts (input, output, cache read).\nNot in logs: prompt text, tool names, TTFT, latency.\n\n**OTEL** (richer, requires config) — primarily flat OTLP log records (`/v1/logs`); adding `trace_exporter` also emits timing spans. With `log_user_prompt = true` and both exporters: prompt text, token counts, model, TTFT, tool names and results, and span timing are all present.\n\n---\n\n### Copilot CLI\n\n**Log files** (automatic, no setup) — `~/.copilot/session-state/<session-uuid>/events.jsonl`\n\n`session.start` carries the model and workspace. `user.message` carries the user prompt. `assistant.message` carries per-turn output token counts. `session.shutdown` carries total context size.\n\nAvailable from logs: prompt, model, workspace, timestamps, output tokens, total context size, tool names.\nNot in logs: input tokens per turn (estimated from shutdown totals), TTFT, cache token breakdown.\n\n**OTEL** (richer, requires VS Code settings) — trace spans via Copilot's built-in OTEL exporter. Prompt text, token counts (input, output, cache read), model, TTFT, tool names, arguments, and results are all present natively. Cache write counts are not exposed — Copilot manages cache creation server-side.\n\n---\n\n---\n\n### OpenCode\n\n**SQLite database (automatic, no OTEL setup needed)** — `~/.local/share/opencode/opencode.db`\n\nOpenCode stores all session data in a local SQLite database. AgentLens reads this directly — no agent configuration or OTEL setup is required. The database uses WAL (Write-Ahead Log) mode; AgentLens merges the WAL at read time so sessions are visible immediately after each run.\n\nAvailable from the database: session ID, user prompt (last user message), model name, workspace directory, timestamps, all token counts (input, output, cache read/write), tool calls with names and inputs/outputs, file paths accessed by tools.\n\nNot available: time-to-first-token, per-tool execution timing, streaming speed, loop detection signals, or structured error telemetry (no OTEL). Sessions show a **Log** badge and a blue info banner in the Overview tab noting these limitations.\n\nOverride the default database location with the `OPENCODE_DATA_DIR` environment variable (comma-separated for multiple directories).\n\n---\n\n> **Note:** Agent observability is evolving rapidly. All platforms are actively expanding what they expose, and the GenAI semantic conventions are still being standardized. AgentLens will be updated as richer data becomes available.\n\n## Additional Features\n\n- **Files Changed** — The Files sub-tab tracks every file created or modified by the agent, organized by session with inline before/after diffs, a one-shot/retry-rate summary, and (VS Code extension only) a git-outcome banner showing whether each file's changes were committed, reverted, or left uncommitted\n- **Multi-session Comparison** — The Analytics tab shows per-agent breakdown cards with side-by-side token totals, cache rates, TTFT, and top tools for Copilot, Claude, and Codex\n- **Automated Prompts** — The gear-icon Settings panel's Automation section lets you configure threshold-based automations (Loop Breaker, Turn Limit Wrap-up, Context Dump) that trigger a correction prompt when a session crosses a limit — delivered as a VS Code notification or written to a file for agent consumption\n\n## AI Usage Disclosure\n\nAgentLens was built primarily with [Claude](https://www.anthropic.com/claude). Thank you to Anthropic for building tools that make projects like this possible.\n\n## License\n\nMIT\n\n## Disclaimer\n\nAgentLens is an independent open-source project and is not affiliated with, endorsed by, or associated with GitHub, Inc. or Microsoft Corporation (GitHub Copilot); Anthropic, PBC (Claude / Claude Code); or OpenAI, LLC (Codex CLI). All product names, trademarks, and registered trademarks are the property of their respective owners. AgentLens interacts with these products solely through their publicly documented OpenTelemetry telemetry interfaces.\n","readmeFilename":"README.md"}