{"_id":"codelens-ai","_rev":"45-b819c6fb0df7b662d3b88f4365fe1ca2","name":"codelens-ai","dist-tags":{"latest":"0.10.3"},"versions":{"0.8.2":{"name":"codelens-ai","version":"0.8.2","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.2","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"b024caaa5249152d55e6c9bae9511b22d283f005","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.2.tgz","fileCount":15,"integrity":"sha512-0iHO6P9kFruKRZsSQuCeiGCUOz1qUF4La0ZUwdG9LyY4EaxYBvLLaD0B1RuB4vOvfZgwQ0ln0pSJE3F4/CaPjw==","signatures":[{"sig":"MEUCIQDWF1q+YseydOhw8nAGt06k4epexGmxgUsVfywfVmj51QIgTvywoXRGlfkdkxMp300+2oYcSe8ukJJ9Iy1jIhI/yHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237036},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"8252e53b4602a8bcbff0cf9b5a0d53aad4f6db80","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"akshat2634","email":"akshatsahu1@gmail.com"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.7.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"24.2.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.2_1773104618515_0.20935861755723018","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"codelens-ai","version":"0.8.3","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.3","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"d5fe5117edf969c1d2a8f03c27cbac1c0384fa24","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.3.tgz","fileCount":13,"integrity":"sha512-AYDtiXL5sLgM2sA6hvO2mL1CGMKoiiv3c/EAYDG6i2XBMnjBHTsDKypKOUvkqiihWLZ6HlVSkLKhvFiQ1+u2eQ==","signatures":[{"sig":"MEUCIQCDlpvzYZzkWojvZj4rHZyCj+dZCzQjGDKSBn6Rp02l5wIgORMMLXdr+rnALYfJOhVzeefkG83ynefrdMViznBDJAs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":230212},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"973c470158f6ae9bca4d2bf5332fc26709638890","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.3_1773106236906_0.8789041306159318","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"codelens-ai","version":"0.8.4","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.4","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"21132e41848bb90ac61b472999f3f8a5f9fca2ca","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.4.tgz","fileCount":13,"integrity":"sha512-Wm1qaVGT1bme5v62etUVIy556t6/jqvKD0ID2rfK3usWjeqVDL6kV+DKi5Z+VDDhjtrGqr5dNYWThZsSEmXs5w==","signatures":[{"sig":"MEQCIGdfGlXvoIyqC9+0hQjjgm7zTe948bInImnP1pPmAxVXAiBhAYTuLhvRbRNKEHqStaObVXslRsoBZoRojEwMyCfE5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":230272},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"b7ff960df4c0aa68e95c2f666504c4d552f37369","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.4_1773106827114_0.1173321020105722","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"codelens-ai","version":"0.8.5","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.5","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"f3d413a7bd923c6eff7348ba4bee7e53795688dc","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.5.tgz","fileCount":13,"integrity":"sha512-sGEGIT1yNuMuuXzjQu5abmvu5YGVWLaBsvbT7BWD83wzSEovSya2BMbwGtJPYKARFydsM7aQ8CR5bRudEs1j+A==","signatures":[{"sig":"MEYCIQDvM0+bz3ZNZn0vyQ9bl3/m2MIyBOkZ62Ms05Kex+by0gIhAOp/Oolm9AkSue8we6Y34gRetkiYRQI9SyUaS7+ZMBRj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":230474},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"8782e96d272e265fa09ead1470c8cf0ab118b8ca","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.5_1773108400907_0.4256364350559101","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"codelens-ai","version":"0.8.6","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.6","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"2b20ec5662fd05cd48a9383789bcc046ed6381c9","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.6.tgz","fileCount":13,"integrity":"sha512-ZrPESScj6i7JLQtE47QhWQD4olpiZLS2NDX++sRNHZVpu4pz9GpwzVrQA7i0OlGk3NpmgXAWE6l79QbdcWgXuQ==","signatures":[{"sig":"MEUCIQDOoTwcyDvAo6++VfLSoLT6TIfOD0hAyUcQYImYSIhetwIgXM2+7+j/pzyK11d5VJbXpN1iI+aeLS3ed5QnpU1rkf8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":236313},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"f5a7546b7e5d03be4f726dbd7f09ab7534646919","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.0","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.6_1773387070209_0.18054732826031206","host":"s3://npm-registry-packages-npm-production"}},"0.8.7":{"name":"codelens-ai","version":"0.8.7","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.7","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"070be1306883106172831a65d51181b3b8de3abb","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.7.tgz","fileCount":13,"integrity":"sha512-B9+EUDuddSL/cWF1jMBePPY9Ogi8GdygTY2JihqEuxpIbJQVkZdOJ7mjl9sLYBWbWeRzIBWgBDtW13tnH9KDWg==","signatures":[{"sig":"MEUCIG/MI8sBkAwhehr7RG9cBM0cgQjFh4UirxEl1zBjRqMtAiEAjz4Xww8Vs8dxg0KwgvbVCuPBAKlj1VxfYrIdTzBloZk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":237148},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"1a0927a566552b407f92f8f3eda0346421e5ac72","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.1","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.7_1773726949822_0.3687447726248434","host":"s3://npm-registry-packages-npm-production"}},"0.8.8":{"name":"codelens-ai","version":"0.8.8","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.8","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"d0d168451d78d0c3e7c5490f7cc36d59a25aa484","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.8.tgz","fileCount":13,"integrity":"sha512-/Xi8sHVWP7mOmmxRZR8RywbyFiIBB1N6mSCrz/KpLvsLVQqr7nmakp2SYd4D+qvZQsrK9v658z9qabz78uKrkw==","signatures":[{"sig":"MEUCIBOE/DGUjUHfrr8ZLA4IQu5Vqbi/qJGAl1tWQUvprimVAiEA09UZrkPkKhJUvIC1TpDhCPQfNQJ7kYrkpjGzToj7HXI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":242713},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"57e24ef0552e6cd319b8f499e503093bfe88a5d6","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.11.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.1","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.8_1773727202325_0.6234114257553491","host":"s3://npm-registry-packages-npm-production"}},"0.8.9":{"name":"codelens-ai","version":"0.8.9","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.9","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"81920e2e50c075885fd20031858fceeab48909b9","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.9.tgz","fileCount":13,"integrity":"sha512-EYq2LYQ8SDnlEWN3xSZvngNSmZXbFz2/raJty4PLSu+FtoEGzboKtet33eNiMOmwVo9O7HVwYQt1SxLyU8yDiA==","signatures":[{"sig":"MEUCIFG5nOxz5oPmTkFeR+cC3uEsdF9BnqRC4Y2HWWKu6Y3oAiEAsEF69m8juA1DqdaESBNQIYn3M1bxUgQwPSweMY1RBPg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":243297},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"46f1c8cf3df8bb72072c46092d27faf1472888d1","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.12.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.9_1775458825448_0.1315763694005032","host":"s3://npm-registry-packages-npm-production"}},"0.8.10":{"name":"codelens-ai","version":"0.8.10","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.10","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"ccb55d366948ff931d2056980999db29195f261d","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.10.tgz","fileCount":13,"integrity":"sha512-xx6GdGr2QZC25rRBbrv0AYPODf9AgnrNXUTXCp0AU3Rrv5uGT7a/uErO2z9Cxt4sq+ZKfowaQsPrqNop1UMXzw==","signatures":[{"sig":"MEQCIHgYh9KIBFojpHI5F5CSO7Fw0zW8TJxg+AbKVEuWXIEsAiAe0va1gYDN4TkQ6ryvkCkWttfh/b0Yxp2NQMhfXgdyRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":243298},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"440df2137009116700ccefb81b557cfcd8cd86b2","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.12.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.10_1775459067942_0.2861235365246484","host":"s3://npm-registry-packages-npm-production"}},"0.8.11":{"name":"codelens-ai","version":"0.8.11","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.11","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"81962b48325a6a9f2855fa97d9ff12193f65fd41","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.11.tgz","fileCount":13,"integrity":"sha512-tSBD3mCBp71kMgUtOmCt7k8INJOmV55wX+saSRL1L4hY5l82joUOB3dEHAXOQnEOPxBod0Z2F+eIORm5y3W6LA==","signatures":[{"sig":"MEQCIFxSClKi838QQ68sP84WG64Iubv82GAHXbpHTn61ezTRAiAz6T9kpmtwzaDCdXKqLjew+SP5GpJ/pnPhHkeM0svVnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":243298},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"ebfacad5a476d67044913879bc61f1bcd663ba3d","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.12.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.11_1775459436228_0.09047936698126668","host":"s3://npm-registry-packages-npm-production"}},"0.8.12":{"name":"codelens-ai","version":"0.8.12","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.12","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"69c7bfdd8e9b58e08aa24e49b0292f49162d61bd","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.12.tgz","fileCount":13,"integrity":"sha512-nbyK9RSYZRLQ9n+Z/jRlEFreegIUYttJQJkADr/oI5y6rVPJPhNMPxbIpCUYrkhDBLviuv1XuWdkPXM5r17Htw==","signatures":[{"sig":"MEYCIQD1pEdv+aaolJlB+n/uKfwvJVcU/qjN404j54SEqRm6KQIhAM17aUqMrzfg0mvnsHnCcob1VpEmgqblvEyzROlV6+oO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":243298},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"ad46c54411d3f1cde7020faa79cc405acfcbbe77","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.12.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.12_1775459739586_0.19082078802458402","host":"s3://npm-registry-packages-npm-production"}},"0.8.13":{"name":"codelens-ai","version":"0.8.13","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.13","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"60d1d242a971288cb396b9a7e3f2cebcde8380a1","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.13.tgz","fileCount":13,"integrity":"sha512-D0fKyeLFhvKMKdCVyeqopu6/+w6NipBC0JkEj59U/+Vm87fRfO9DQ5mQdhUTCFcZzNJ+ZdPqqwQ7Flf6Sa+Pvw==","signatures":[{"sig":"MEQCIEc6E9e994SPI503DwRgRNSjEjrfEo7vFLEqx7HPkJMKAiAEOP4HksGaOhzAEwHPyCZIRruW4BEsckx8AVtM+NSmDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":243351},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"5d245899df033694247b2863e575a08ea636e9b6","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.12.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.13_1775460561192_0.9303153798280084","host":"s3://npm-registry-packages-npm-production"}},"0.8.14":{"name":"codelens-ai","version":"0.8.14","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.14","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"a14a36541dd17b77a066a297829fa8b0f8957acf","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.14.tgz","fileCount":13,"integrity":"sha512-UAsksvOebfH2HUaKDMXfqI7qAnrVwcm8mP73fOizMjZTGESTQsnTmupQE9szjl5XvfTFMQhmmp82L9qQVUsl+Q==","signatures":[{"sig":"MEUCIEjScK2VIV2cs4SCVG5z3bektUmNpI2FhBKC/QjmDJa8AiEA1bpD3hEV94Y8WG99DTil5xa05zEIwBtlYk3wxMFOFuE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":243563},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"94bdfa82118e05f131c8999fe1009c0cff90f9c5","scripts":{"dev":"node src/index.js --no-open","test":"npx playwright test","start":"node src/index.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.13.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.58.2","@playwright/test":"^1.56.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.14_1776995133889_0.7618037928725299","host":"s3://npm-registry-packages-npm-production"}},"0.8.15":{"name":"codelens-ai","version":"0.8.15","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.15","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"02556e1503e8b3b91c9cb0b2319f3fafab1ed78d","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.15.tgz","fileCount":14,"integrity":"sha512-ixroBhz8qb45zDOs0IpaV1Es4cuUF4TLWmI4QmbZKTDA/rzoa2bbvLHPI4wMOjqJ5YFRSJH7UqVyZWy2omIAjg==","signatures":[{"sig":"MEQCIC0kYoNVuZqRKrfswmF9m3k6c3/WAwEFuEU19G/hhYALAiBu5SqYIAGCK8Eu2Ssbnm+bi4tr3Qo0HVCUbY8JifUx9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":253932},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"d03d5be608e6b8409238318c9dc0d6286a8d91d3","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.13.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.15_1777269943846_0.27506324291119966","host":"s3://npm-registry-packages-npm-production"}},"0.8.16":{"name":"codelens-ai","version":"0.8.16","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.16","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"5d158dc7c1f33c7c948789c0a2c50b0d4fdbd23b","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.16.tgz","fileCount":14,"integrity":"sha512-NmvyPKYkaZ+Ix7IecazDqShD31Zwtq0Db8klQWRcVdoIGDhZ6Ga4wK8vnTQTg0imOpzyjfCod53hrmiBHgoHug==","signatures":[{"sig":"MEQCIAXEM4cBWy28e+Lxrr/eOc5nHtuAAEVSqHcoJSvZvWZMAiAXbowCODag4ZMWbxlv+ikF2xHc6rhL7Oc2v8SIHeVygg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":255564},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"8c6956d9c5f324b6ff299fe229633760d99825da","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.13.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.16_1777676127158_0.5542004482301273","host":"s3://npm-registry-packages-npm-production"}},"0.8.17":{"name":"codelens-ai","version":"0.8.17","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.17","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"bc5a566daeaba6a19d34c933b2d5c8e6e8629de1","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.17.tgz","fileCount":14,"integrity":"sha512-OderNm2JWeYMKMYMpb4LpOY6Wl9raAGJSwkCBVckA42XxsozeYYEI6CDDPjK5nJNg7LL7t8BWWNXEbO5Vfj8Cg==","signatures":[{"sig":"MEUCIQC/aBYUOtCo4q26BDZPvKMc8BQaCagDwBrlgX20jJfeEAIgVDvd/YOfRzM9V06ThPlV0P6p54BQxWx2rVJxar3wgmY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":267334},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"8707dd0ae92d77a8f4e19d8d2bc545555e5505fc","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.18.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.17_1782769529075_0.6982555322554629","host":"s3://npm-registry-packages-npm-production"}},"0.8.18":{"name":"codelens-ai","version":"0.8.18","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.18","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"9dff24d19146dbd117d391a0cccf72039da96617","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.18.tgz","fileCount":14,"integrity":"sha512-GSAFl39j49ihQrUmHAPV1O2VkWHzR/jEdRL8z56NJU/vVXVOlcaIlOT0fShmE9cn2m5lEn3AHpYhbAy+Wx2GrQ==","signatures":[{"sig":"MEUCIQCmjXWDhA1m3/muK2SEjxy+9nwuV8YsZn7LRCAhdA++GQIgC6iItGymlT6qnML8cQ+DP0u1Jb+Ty39D+u7bMFmTO/8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":279197},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"8f8f22f2e23ad0851946487f7f56dcdb1d090c41","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.18.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.18_1782774375703_0.4347706531628348","host":"s3://npm-registry-packages-npm-production"}},"0.8.19":{"name":"codelens-ai","version":"0.8.19","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.19","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"977ca9b4dc83fd40a17e32dca447cbe49257e91e","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.19.tgz","fileCount":14,"integrity":"sha512-NKySS/nAuI4iuU+p14uJMXRlY2qcfUxIcfLHVyZK6QSSZ3ta/Ukm1WtIIhlci9+gSNZhMLt/zigbpgBt0WPEOw==","signatures":[{"sig":"MEYCIQDvvtjHzOjT0mgKVAd+myXOPDXZPXE0+mFD+N/q71UUGAIhAL/xN6AyQ1BoyaF6ggu32dNXLoBDiXraOx/aBKSC8itT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":284300},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"253f50b966c3a01ed5866c882da0a23ba3f2f10f","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.18.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.19_1782851334232_0.5762419059695003","host":"s3://npm-registry-packages-npm-production"}},"0.8.20":{"name":"codelens-ai","version":"0.8.20","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.20","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"dad588d26a1f1725d01fb4e3162aede928527395","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.20.tgz","fileCount":14,"integrity":"sha512-8P7EkiNyjsvW271my57fGG+/YUs7kgGIfp6k3pvUQs8JavDSiSBWwaHnAapqitGlPgZF3k6myex+lQEDMVHMpw==","signatures":[{"sig":"MEUCIQDSAr1j1ty3DJV/2k1DU0amSiwEaFhgKoH4imQPUn0mmgIgNnIPC/WAx+0efGfGhEX2Lm5IBkSElofLenN3MV0Rai0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":320913},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"270ecbf19f3ab09b95c3ea709e829b6f3b5412b7","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.18.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","chart.js":"^4.5.1","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.20_1782953043921_0.5962358565892802","host":"s3://npm-registry-packages-npm-production"}},"0.8.22":{"name":"codelens-ai","version":"0.8.22","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.22","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"dd0c907181551b5cbc33b96756a0c0654dd73c21","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.22.tgz","fileCount":17,"integrity":"sha512-7do++vMk8L27Fjoz9r9RN71K4jvndraA2oAeBBd5+KDVOV1ImaT/SdmIZtahGlUpWmEXUZkVu7V2SW9Dnj+RFA==","signatures":[{"sig":"MEYCIQC+Fm3VqemcpoxE0inoo+OXqBbALrwSF0DpJXFGxlqaXwIhAMnVkTSgq1XO6Sj9FjGExeWLpVHvuWDXuYPFzXcscSJx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":537604},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"6f99266691d226985659dd1c5d9847e4c369ef52","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.18.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chart.js":"^4.5.1","playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.22_1782954900062_0.8631427016627791","host":"s3://npm-registry-packages-npm-production"}},"0.8.23":{"name":"codelens-ai","version":"0.8.23","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.23","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"2219ec3ea04334ae8c0c1c01124fd88623787152","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.23.tgz","fileCount":17,"integrity":"sha512-d1oi/sS1wv4cr2PHB77uOep2816sb+UqpFPRGvudqgdbNJpzIN6tSwBMMMpF9I9T9YfwJUhHu0lB8/ChgvsSSA==","signatures":[{"sig":"MEUCIAUIR0Ok+RQZ4pjg9rU+k6P0a6MwepcRTjprz9gR3brAAiEAuucjUZZk5OGNFVVDSEKmJvH3FK+6XfynV4mn4KDi6+Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":538085},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"812b8efe7fd2eb81fdbff6accffa18b41a685a52","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.18.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chart.js":"^4.5.1","playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.23_1782955344185_0.7325262587967747","host":"s3://npm-registry-packages-npm-production"}},"0.8.24":{"name":"codelens-ai","version":"0.8.24","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.8.24","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"e200e2139820c455a4445d9c3dc01939578e77d3","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.8.24.tgz","fileCount":17,"integrity":"sha512-UKqv8WEhRpufv7KnD4ncmvdNRCGnbSRJFOt8HIoA+TSTPK30h4xLHfAUmMS7ZYXI9CbnKQDiuHcN3uNZaqbTDA==","signatures":[{"sig":"MEYCIQCeqNRSIYdLNsMZhe72t7pCgVJdpSnu2y+svvl7VS9EMwIhALkKZHfeUFxbikJVhHhi0bUg2cZhGQufS2Y6b/amY3vS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.8.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":538656},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"3fee62e3c175046194828b05f6270d4df79f33e0","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.18.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chart.js":"^4.5.1","playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.8.24_1782969260183_0.6229750432549941","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"codelens-ai","version":"0.9.0","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.9.0","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"50f1ac4cfe1ba9331b860261ea6a689761f663c3","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.9.0.tgz","fileCount":18,"integrity":"sha512-5AlMzX0Ygra/zTFiWGN75idmAkXpGaOc8HUaJO3KbHMoK0OgGNNrMtzuuwrEAxrxRvf0niWEb4q4dgDAhkydtA==","signatures":[{"sig":"MEUCIEkrS4bDIIbq4nzGxeWhE13CKTVPm5khzpMupUh2M6sMAiEA0MHtC2yrOXy/FoMrGNVH6AjFsAdttKefsQzecp5R2gU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":603638},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"bbdf52cbe0089d7f94c38f488e01b4d4bd6961d8","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.18.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chart.js":"^4.5.1","playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.9.0_1783022946612_0.007345121909051011","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"codelens-ai","version":"0.9.2","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.9.2","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"4b289d5943914caa659745d3b5c32c1dfb88ac8b","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.9.2.tgz","fileCount":18,"integrity":"sha512-n8+BLoT2QY+ZWWmSZWNs7AgJMerjrMlqiUFZssvFmMMdcQLe0iRYwnytIspGclSQDazqeDOyu6Eicw6UaFhdhA==","signatures":[{"sig":"MEYCIQC4yEgKKiIPQGc1zTfzEU+RMeDkbFAc96jJ5Dcd4OsskgIhANvy0Cuq83dLFc6GzZrk1RP56GQt4QRRH8GbOGOBTwtw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":629954},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"9080c02d20d0734be74915655aca9c68231d61af","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.18.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chart.js":"^4.5.1","playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.9.2_1783053389200_0.2894199868586491","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"codelens-ai","version":"0.9.3","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.9.3","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"f233e0a417c4cd30534eefee7df0b1ef28d2c086","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.9.3.tgz","fileCount":20,"integrity":"sha512-6SixLbaF8MYG670CcXxnT3Bj68p4lXgKuLgva22/YPkAhBMFo2APlDsdLJc3TT84yHGQlXQwG1N9xO+R8oheiQ==","signatures":[{"sig":"MEUCIBh8WzjW7OP4p6I3jOtuoc+XdXh9OjgLfkBltcQNecxmAiEA3Gul8A5tbtwKQR2AKg+FLDcEQoXeENXGrawSB2UJSqQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.9.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":689218},"main":"./src/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"a26babcf3eb80cba54b8b5f68add27fed5dd8124","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.18.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"20.20.2","dependencies":{"open":"^10.0.0","express":"^5.0.0","commander":"^13.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chart.js":"^4.5.1","playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.9.3_1783191997857_0.09125552545936078","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"codelens-ai","version":"0.9.4","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.9.4","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"58f1f52f962f9d13d8ac1ec2088b77fa38a526d8","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.9.4.tgz","fileCount":21,"integrity":"sha512-TGd53SyXxcdrxCSoirXTivTD9MCUM8WwDUkKDWiYjmQHJ+4nREPYDSK1bWCZDEsFixpv8Uud3Kir+H4FAzMUCQ==","signatures":[{"sig":"MEQCIDTXNlhUOGW65ay0z19pzToRnsl14HtuWzlF5yvyBZmTAiB8reQnS57iOAGuAECEkgfk0JZzmTOWLRLJS3BEfRnO3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.9.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":638585},"main":"./src/index.js","type":"module","engines":{"node":">=22.12.0"},"gitHead":"bf05b0dcb7c6da25e7fc8453232d89978defcce7","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"qs":"^6.15.2","path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.18.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"22.23.1","dependencies":{"open":"^11.0.0","express":"^5.0.0","commander":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chart.js":"^4.5.1","playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.9.4_1783315977205_0.10695783988210739","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"codelens-ai","version":"0.9.5","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.9.5","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"8f7cc79d6a5b0e226e102fb1124b10e4109af1e9","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.9.5.tgz","fileCount":21,"integrity":"sha512-p8OjzFJDiiFBo/aqirKLK9VQ7YmG0bobxofg6jZm6ajpIqrMh+eGg1+Z6v4j7DFT6r15EMBgSvgLx/6h7NO7bQ==","signatures":[{"sig":"MEUCIQCaAFy8Z0fqVS2DsXAi4WyDT1ZQhGMvl1AKCY35RwpC+gIgLB6IF6dyciX7XYtV9Rdv4ds8Ebe7Ci2e5ZT5AA+7eOM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.9.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":642729},"main":"./src/index.js","type":"module","engines":{"node":">=22.12.0"},"gitHead":"f3ce9d07ab1a446eb91720a16738d5e18c836711","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"qs":"^6.15.2","path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.18.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"22.23.1","dependencies":{"open":"^11.0.0","express":"^5.0.0","commander":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chart.js":"^4.5.1","playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.9.5_1783320938331_0.5998964450134856","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"codelens-ai","version":"0.9.6","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.9.6","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"151635e8b3da4c4f2b7d890f09280332fdb58db7","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.9.6.tgz","fileCount":24,"integrity":"sha512-zANBoR5JrMbARNGO59Qq2xCzdWPSseSGWLxK21WJx5o7D3qjy3SbRh8XQ0EiyL8aYPD7nj1D6+I8YRrM6tmEjA==","signatures":[{"sig":"MEUCIQC/JldQCDi+oSq3Jz6wzheomZv+d9FzYpyPesOMh6KwKQIgVt8GaY1Ra9siDi6iktJrz+fk4qc95s84ik0NjHUxv2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.9.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":703829},"main":"./src/index.js","type":"module","engines":{"node":">=22.12.0"},"gitHead":"74d1e7ce354a0c259550fbd34c22ab14c9226204","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"qs":"^6.15.2","path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"11.18.0","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"22.23.1","dependencies":{"open":"^11.0.0","express":"^5.0.0","commander":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chart.js":"^4.5.1","playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.9.6_1783393360870_0.8163486655439722","host":"s3://npm-registry-packages-npm-production"}},"0.9.7":{"name":"codelens-ai","version":"0.9.7","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.9.7","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"cee5c5351c505995157797499f0f7b8afd776e17","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.9.7.tgz","fileCount":25,"integrity":"sha512-M0FXDWYjT0Ogtou5yrk5RCztrbOoug3D+IhymhrznjKH4uyq7+ZYyB7VhKrfQSw70IHlUvpGsGVHT06ejPSIJw==","signatures":[{"sig":"MEQCIAxxy8vaDRTFKZ4ogyTZvJYt7P2+fA47DLOhiSxIGTt2AiBkeNaS5620Ds1gxH2PT2PVyn1xDjXfaTmd7gg/AbJQ9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.9.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":710201},"main":"./src/index.js","type":"module","engines":{"node":">=22.12.0"},"gitHead":"1373d86a7ff3e842bfc2fa91bca61ab612dde425","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"qs":"^6.15.2","path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"12.0.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"22.23.1","dependencies":{"open":"^11.0.0","express":"^5.0.0","commander":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chart.js":"^4.5.1","playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.9.7_1783710842488_0.10674683282484665","host":"s3://npm-registry-packages-npm-production"}},"0.9.8":{"name":"codelens-ai","version":"0.9.8","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.9.8","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"b1cd36f0b4b1bee9e0c3916ecad3df46c725065e","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.9.8.tgz","fileCount":25,"integrity":"sha512-EBYqJ2V6gWGUx9hgXXUMzGrDTGK48AxZeK2HeEmWn4sksvmPZ2EIgBp77dneWf3paqrWHgJIHov0DnKhr8spbQ==","signatures":[{"sig":"MEYCIQCXcmjCzuntpWNvQ5pM5dTJzIu2bzjdpS+Se+dBK+i1YgIhAK8fUIdgdALk6oLRuSXRTXHPJF0i39XHJxikeduFUEt2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.9.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":714640},"main":"./src/index.js","type":"module","engines":{"node":">=22.12.0"},"gitHead":"12077df3ca8578ff14bf4b660b257263941d7914","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"qs":"^6.15.2","path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"12.0.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"22.23.1","dependencies":{"open":"^11.0.0","express":"^5.0.0","commander":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chart.js":"^4.5.1","playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.9.8_1783713253610_0.28916670958051793","host":"s3://npm-registry-packages-npm-production"}},"0.9.9":{"name":"codelens-ai","version":"0.9.9","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.9.9","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"ca4f55a289eef2c1f323eea34ffbbed224f03e06","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.9.9.tgz","fileCount":25,"integrity":"sha512-aKKeOiOa7Kdxm6OGKcJjACSMsM/Y9a3Wo43btDBfqjr+4P718pv27QZPVfS2pqQsoHV9MhG1iCVMtrpQ6+c5YQ==","signatures":[{"sig":"MEYCIQDbjveJXEYmxAjQPyUIqSVgUSnwGOrHCZiu1bQvTYwG5wIhAIBHcD+75dYwnV6XB9aEEC/cD/oPZkgmxcQs3K4Vb2kI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.9.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":716320},"main":"./src/index.js","type":"module","engines":{"node":">=22.12.0"},"gitHead":"06f481590f7f861d1a6987aca2ae43237240de4a","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"qs":"^6.15.2","path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"12.0.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"22.23.1","dependencies":{"open":"^11.0.0","express":"^5.0.0","commander":"^15.0.0"},"_hasShrinkwrap":false,"devDependencies":{"chart.js":"^4.5.1","playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.9.9_1783726957967_0.2548028628770427","host":"s3://npm-registry-packages-npm-production"}},"0.9.10":{"name":"codelens-ai","version":"0.9.10","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.9.10","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"eb238088c0928b3c6ead060793512b49089c0273","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.9.10.tgz","fileCount":26,"integrity":"sha512-aXPzVoG0mkPijQHHZND7opMUa322rf8/o7ZEut+R0y8uj+KQ6VsRafTr9Gi+an0T2OBSg8GU1NExbT2/SDXVVg==","signatures":[{"sig":"MEUCIQCTIgvxy16j8Tht4FHdwAL44Z39JS9EC4l1XkjJ2Y5QOgIgfWEEGeNT4GI+mzE8L5RHCpCC62KU1txlLbYhLFadj8A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.9.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":732570},"main":"./src/index.js","type":"module","engines":{"node":">=22.12.0"},"gitHead":"f84628245342bdb4c15d756905a37f6eb67573b1","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"qs":"^6.15.2","path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"12.0.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"22.23.1","dependencies":{"open":"^11.0.0","express":"^5.0.0","commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"chart.js":"^4.5.1","playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.9.10_1783907970817_0.785157953377388","host":"s3://npm-registry-packages-npm-production"}},"0.9.11":{"name":"codelens-ai","version":"0.9.11","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.9.11","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"cf2c18f5901d363e3bd1741719019e6b9ca6c279","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.9.11.tgz","fileCount":26,"integrity":"sha512-rdoKnh5ZGiwHdNmRcVoaaFiRpxU3WslfKnecKWuymDJugV/NaF03GDWc3zrnZoiA3iLXbC/GywXHzZE5xkL09A==","signatures":[{"sig":"MEUCIQDx2YEpiim96Buce5cjGxY41O4TMg+k7MMo3iG4H8k2gQIgU8QzfBVR/clYZDjmzdsPydgYMSwxvsmL67xG/g35wu0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.9.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":733008},"main":"./src/index.js","type":"module","engines":{"node":">=22.12.0"},"gitHead":"1021613e3a6fe7e14ff2ebad6f6a20c3ee2848ea","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"qs":"^6.15.2","path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"12.0.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"22.23.1","dependencies":{"open":"^11.0.0","express":"^5.0.0","commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"chart.js":"^4.5.1","playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.9.11_1783909160990_0.36959937521033437","host":"s3://npm-registry-packages-npm-production"}},"0.9.12":{"name":"codelens-ai","version":"0.9.12","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.9.12","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"8d32f1ca8a2b9102f4dbac427febf2edf1d88bf7","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.9.12.tgz","fileCount":26,"integrity":"sha512-/zxhu4oUetOq1TAnccRyh8NKOUVwhE2Xj/gtURt7dJQc1+2ZsoJlNCvQK/9gcd8H8qjwMs9/fHr1iuwqI4Lw7g==","signatures":[{"sig":"MEUCIBC6FsJVpYannmSQIDb9sil69b+k0JBJa/nktim/czHyAiEAyR754rTd5gw8RF+JGB86agNzsutHjUZfIfej+HBKtKc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.9.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":744585},"main":"./src/index.js","type":"module","engines":{"node":">=22.12.0"},"gitHead":"873a76edb1d92b49954485cb99cad2274d925fe3","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"qs":"^6.15.2","path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"12.0.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"22.23.1","dependencies":{"open":"^11.0.0","express":"^5.0.0","commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"chart.js":"^4.5.1","playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.9.12_1783925687804_0.9068614812441826","host":"s3://npm-registry-packages-npm-production"}},"0.9.13":{"name":"codelens-ai","version":"0.9.13","keywords":["codelens","claude","codex","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.9.13","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"24f9e22a12dfdb5575846b5a21b5227106328649","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.9.13.tgz","fileCount":27,"integrity":"sha512-z9obr1f2iRBxdJAtqpI4UqEvR59yyB4+HFpvaFlVKZIzox+j1pe0UWtxaaQHXBvvd6hRIODXyzhN+LDiXaqqAw==","signatures":[{"sig":"MEQCIGm8w/u1SM+n48QeemBwcbf572yE0o1zJGkSyvZ1rQlCAiAYG1CeKt0daTShpBi2VY7oZ0AaViMTS3UX4+PDzToJQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.9.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":749031},"main":"./src/index.js","type":"module","engines":{"node":">=22.12.0"},"gitHead":"d0804f7509684c035e395f7c5039707fafbbc13f","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"qs":"^6.15.2","path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"12.0.1","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"22.23.1","dependencies":{"open":"^11.0.0","express":"^5.0.0","commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"chart.js":"^4.5.1","playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.9.13_1784045642723_0.34458700833990386","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"codelens-ai","version":"0.10.0","keywords":["codelens","claude","codex","copilot","github-copilot","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.10.0","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"0c3d45a1bb0eab4a7d9b85d8f6a80eacdf1bb90e","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.10.0.tgz","fileCount":28,"integrity":"sha512-iVzOsgyttjwDHaOGvNq1atRqAGoiU9Ca/sqQVJfD0he4UPWpkBFjE9ckF/WP85lcbDL5vyfwQ8IcHNItFw6/Mw==","signatures":[{"sig":"MEQCID9kqnN7u1XCksuyvk1fjDhJ/WpmnixHsJ5BC2Zs3isSAiAZbii1QEWffbQ9avHj+Z+tRknIibFNWd3Bv6rUdS3PPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":813705},"main":"./src/index.js","type":"module","engines":{"node":">=22.12.0"},"gitHead":"fa0ff67ad8037911f7b65818964410dd89daf503","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"qs":"^6.15.2","path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"12.0.2","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"24.19.0","dependencies":{"open":"^11.0.0","express":"^5.0.0","commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"chart.js":"^4.5.1","playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.10.0_1786912037186_0.8443967440808202","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"codelens-ai","version":"0.10.1","keywords":["codelens","claude","codex","copilot","github-copilot","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.10.1","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"30e9ea154d8bd5c329c28629cd132eff5bbc4515","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.10.1.tgz","fileCount":28,"integrity":"sha512-J5/+W0z7KR7pGcxabw5b2jAAGqPEo2q/NiM4yZf/2R387OFwqhXqV4HL2X3Xz+v4b5AcsvDt3TOd8+TBjhDPNg==","signatures":[{"sig":"MEUCIQCOOgAqBLx6JPGJF1awJbaSWUdOLh8kH+fWnOH7yjSR7gIgXeOphu+tCCCTS+o5G9908TnkVwnRJHS/ALsdBbeoTyU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":818108},"main":"./src/index.js","type":"module","engines":{"node":">=22.12.0"},"gitHead":"791e68d599c9e712ab375d6f570fe4043f36b143","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"qs":"^6.15.2","path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"12.0.2","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"24.19.0","dependencies":{"open":"^11.0.0","express":"^5.0.0","commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"chart.js":"^4.5.1","playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.10.1_1786913399285_0.49840854088446274","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"codelens-ai","version":"0.10.2","keywords":["codelens","claude","codex","copilot","github-copilot","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","_id":"codelens-ai@0.10.2","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"homepage":"https://codelensai-dev.vercel.app/","bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"bin":{"claude-roi":"src/index.js","codelens-ai":"src/index.js"},"dist":{"shasum":"590a5acd1272efd0629cdde52a9005dad285fa2f","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.10.2.tgz","fileCount":29,"integrity":"sha512-FeyCZ25QygrEwaAYmo5p0qZ2QFWWBFCbrvBxQczTfbE0kpbfhRCq6yE89mclaIaM3+pZf3hvUhpgZTWyMWVnmQ==","signatures":[{"sig":"MEUCIQDtR9TAe9MyA/up7IOuhobNshr5oTtzhkStGeJzzvOrJwIgfw42ZYJNQV9pPnRrNd3tMAAlAbrnMzrUPY7HxZWhT4w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.10.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":846388},"main":"./src/index.js","type":"module","engines":{"node":">=22.12.0"},"gitHead":"c2e22848f762d954eae3de38769752a156de5990","scripts":{"dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","start":"node src/index.js","lint:fix":"biome check --write src/ tests/","test:e2e":"playwright test","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart","test:e2e:local":"E2E_DIR=./tests/local playwright test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"overrides":{"qs":"^6.15.2","path-to-regexp":"^8.4.0"},"repository":{"url":"git+https://github.com/Akshat2634/Codelens-AI.git","type":"git"},"_npmVersion":"12.0.2","description":"Correlate AI coding agent token usage with git output to measure ROI","directories":{},"_nodeVersion":"24.19.0","dependencies":{"open":"^11.0.0","express":"^5.0.0","commander":"^15.0.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"chart.js":"^4.5.1","playwright":"^1.59.1","@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1"},"_npmOperationalInternal":{"tmp":"tmp/codelens-ai_0.10.2_1786918195580_0.22472401130664377","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"codelens-ai","version":"0.10.3","description":"Correlate AI coding agent token usage with git output to measure ROI","type":"module","bin":{"codelens-ai":"src/index.js","claude-roi":"src/index.js"},"main":"./src/index.js","scripts":{"start":"node src/index.js","dev":"node src/index.js --no-open","lint":"biome check --error-on-warnings src/ tests/","lint:fix":"biome check --write src/ tests/","test:unit":"node --test tests/unit/*.test.js","test:package":"node scripts/smoke-package.mjs","test:e2e":"playwright test","test:e2e:local":"E2E_DIR=./tests/local playwright test","test":"npm run lint && npm run test:unit && CI=1 npm run test:e2e","vendor:chart":"node scripts/vendor-chart.mjs","prepublishOnly":"npm run vendor:chart"},"keywords":["codelens","claude","codex","copilot","github-copilot","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"author":{"name":"Akshat Sahu"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Akshat2634/Codelens-AI.git"},"bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"homepage":"https://codelensai-dev.vercel.app/","engines":{"node":">=22.12.0"},"dependencies":{"@modelcontextprotocol/sdk":"^1.30.0","commander":"^15.0.0","express":"^5.0.0","open":"^11.0.0"},"devDependencies":{"@biomejs/biome":"^2.4.13","@playwright/test":"^1.59.1","chart.js":"^4.5.1","playwright":"^1.59.1"},"overrides":{"path-to-regexp":"^8.4.0","qs":"^6.15.2"},"gitHead":"07d737611db95ec197eb19636b3ac0659e77726d","_id":"codelens-ai@0.10.3","_nodeVersion":"24.19.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-wWOXjnjc9EUrzCC9w6ouaIB8hPyh5tm79LdGz0az2ovGdExIA22s9zxyWUDgUyPZr85FWqR5DFcaqZh287noog==","shasum":"277ce313dfe5edf670d6572d11335f8fd02d9d48","tarball":"https://registry.npmjs.org/codelens-ai/-/codelens-ai-0.10.3.tgz","fileCount":31,"unpackedSize":848686,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/codelens-ai@0.10.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCuW5nvwwOF/qzTTJodxjF9aHeTSkoR2H4zPemVzDmtaQIgfG5PYT3ZO892TzBXEodHt+gU4R8P9yYo8uOMJOm6PnE="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b8c33caa-8172-4980-b134-99812f4eedb4"}},"directories":{},"maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/codelens-ai_0.10.3_1786948435089_0.4057166369447873"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-10T01:03:38.409Z","modified":"2026-08-17T06:33:55.773Z","0.1.0":"2026-02-26T08:30:22.468Z","0.1.1":"2026-02-26T08:42:15.000Z","0.2.0":"2026-02-26T08:44:44.379Z","0.2.1":"2026-02-26T08:49:05.375Z","0.8.2":"2026-03-10T01:03:38.670Z","0.8.3":"2026-03-10T01:30:37.047Z","0.8.4":"2026-03-10T01:40:27.264Z","0.8.5":"2026-03-10T02:06:41.150Z","0.8.6":"2026-03-13T07:31:10.388Z","0.8.7":"2026-03-17T05:55:50.036Z","0.8.8":"2026-03-17T06:00:02.460Z","0.8.9":"2026-04-06T07:00:25.608Z","0.8.10":"2026-04-06T07:04:28.071Z","0.8.11":"2026-04-06T07:10:36.377Z","0.8.12":"2026-04-06T07:15:39.744Z","0.8.13":"2026-04-06T07:29:21.333Z","0.8.14":"2026-04-24T01:45:34.042Z","0.8.15":"2026-04-27T06:05:43.980Z","0.8.16":"2026-05-01T22:55:27.300Z","0.8.17":"2026-06-29T21:45:29.204Z","0.8.18":"2026-06-29T23:06:15.851Z","0.8.19":"2026-06-30T20:28:54.360Z","0.8.20":"2026-07-02T00:44:04.043Z","0.8.22":"2026-07-02T01:15:00.281Z","0.8.23":"2026-07-02T01:22:24.386Z","0.8.24":"2026-07-02T05:14:20.368Z","0.9.0":"2026-07-02T20:09:06.775Z","0.9.2":"2026-07-03T04:36:29.352Z","0.9.3":"2026-07-04T19:06:38.024Z","0.9.4":"2026-07-06T05:32:57.364Z","0.9.5":"2026-07-06T06:55:38.485Z","0.9.6":"2026-07-07T03:02:41.021Z","0.9.7":"2026-07-10T19:14:02.645Z","0.9.8":"2026-07-10T19:54:13.782Z","0.9.9":"2026-07-10T23:42:38.141Z","0.9.10":"2026-07-13T01:59:30.950Z","0.9.11":"2026-07-13T02:19:21.142Z","0.9.12":"2026-07-13T06:54:47.940Z","0.9.13":"2026-07-14T16:14:02.885Z","0.10.0":"2026-08-16T20:27:17.337Z","0.10.1":"2026-08-16T20:49:59.448Z","0.10.2":"2026-08-16T22:09:55.719Z","0.10.3":"2026-08-17T06:33:55.229Z"},"bugs":{"url":"https://github.com/Akshat2634/Codelens-AI/issues"},"author":{"name":"Akshat Sahu"},"license":"MIT","homepage":"https://codelensai-dev.vercel.app/","keywords":["codelens","claude","codex","copilot","github-copilot","cursor","ai","roi","productivity","tokens","cost","git","dashboard"],"repository":{"type":"git","url":"git+https://github.com/Akshat2634/Codelens-AI.git"},"description":"Correlate AI coding agent token usage with git output to measure ROI","maintainers":[{"name":"akshat2634","email":"akshatsahu1@gmail.com"}],"readme":"# Codelens AI\n\n[![CI](https://github.com/Akshat2634/Codelens-AI/actions/workflows/ci.yml/badge.svg)](https://github.com/Akshat2634/Codelens-AI/actions/workflows/ci.yml)\n[![CodeQL](https://github.com/Akshat2634/Codelens-AI/actions/workflows/codeql.yml/badge.svg)](https://github.com/Akshat2634/Codelens-AI/actions/workflows/codeql.yml)\n[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/Akshat2634/Codelens-AI/badge)](https://scorecard.dev/viewer/?uri=github.com/Akshat2634/Codelens-AI)\n[![npm](https://img.shields.io/npm/v/codelens-ai)](https://www.npmjs.com/package/codelens-ai)\n[![npm downloads](https://img.shields.io/npm/dm/codelens-ai)](https://www.npmjs.com/package/codelens-ai)\n[![License: MIT](https://img.shields.io/github/license/Akshat2634/Codelens-AI)](LICENSE)\n\n**[codelensai-dev.vercel.app](https://codelensai-dev.vercel.app/)**\n\n**Agent Productivity-to-Cost Correlator** — Is your AI coding agent actually shipping code?\n\nCodelens AI ties AI coding agent token usage to actual git output. It reads your local **Claude Code**, **OpenAI Codex CLI**, and **GitHub Copilot** session files (standalone CLI plus VS Code Chat/agent mode), correlates them with git commits, and serves a dashboard answering: *\"Am I getting ROI from my AI coding agents?\"* When more than one agent has sessions, the dashboard adds **All Agents / Claude Code / OpenAI Codex / GitHub Copilot** tabs so you can compare them side by side.\n\n- One command, zero config\n- All data stays local\n- Supports Claude Code, OpenAI Codex CLI, and GitHub Copilot CLI + VS Code in one dashboard\n- Works with any git repo where you've used any of these agents\n\n## Installation\n\n> **Previously published as `claude-roi`.** That package is deprecated — use `npx codelens-ai` going forward. The `claude-roi` command still works as a backward-compatible alias.\n\n### Option 1: Run directly (no install)\n\n```bash\nnpx codelens-ai\n```\n\n### Option 2: Install globally\n\n```bash\n# npm\nnpm install -g codelens-ai\n\n# pnpm\npnpm add -g codelens-ai\n\n# yarn\nyarn global add codelens-ai\n```\n\nThen run anywhere:\n\n```bash\ncodelens-ai\n```\n\n### Option 3: Clone and run from source\n\n```bash\ngit clone https://github.com/Akshat2634/Codelens-AI.git\ncd Codelens-AI\n\n# Install dependencies (pick one)\nnpm install\n# or\npnpm install\n# or\nyarn install\n\n# Run it\nnode src/index.js\n```\n\n### Troubleshooting: `npx codelens-ai` runs an old version\n\n`npx codelens-ai` (no version pin) can resolve to an old copy instead of the\nlatest release — either a stale entry in npx's local cache, or a global\ninstall already on your `$PATH` that npx reuses without checking the\nregistry. Old enough versions predate whole subcommands, so you'll see a\nconfusing error like:\n\n```\nerror: too many arguments. Expected 0 arguments but got 1.\n```\n\nEvery current release prints an \"Update available\" hint when this happens,\nbut if you're stuck on a version from before that check existed, fix it with\none of:\n\n```bash\nnpx codelens-ai@latest report       # pin the version explicitly\n\nnpm uninstall -g codelens-ai        # remove a shadowing global install\n# or\nnpm install -g codelens-ai@latest   # ...or just update it\n```\n\n## Prerequisites\n\n- **Node.js >= 22.12** — [Download](https://nodejs.org/) (Node >= 22.15 to also read Codex's zstd-compressed archive rollouts)\n- **Git** — installed and configured with `user.name` and `user.email`\n- At least one supported agent with local session data:\n  - **Claude Code** — [Claude Code](https://claude.com/claude-code) sessions at `~/.claude/projects/`\n  - **OpenAI Codex CLI** — [Codex](https://developers.openai.com/codex) sessions at `~/.codex/sessions/` (`$CODEX_HOME` is honored)\n  - **GitHub Copilot** — [Copilot CLI](https://docs.github.com/copilot) sessions at `~/.copilot/session-state/` (`$COPILOT_HOME` is honored), and official GitHub Copilot Chat/agent sessions in VS Code's local `workspaceStorage/`\n\n## Quick Start\n\n```bash\nnpx codelens-ai\n```\n\nThis parses your `~/.claude/projects/`, `~/.codex/sessions/`, `~/.copilot/session-state/`, and VS Code workspace-session data, analyzes your git repos, and opens a dashboard at `http://localhost:3457`.\n\n## What It Measures\n\n| Metric                | Description                                                     |\n| --------------------- | --------------------------------------------------------------- |\n| **Cost per Commit**   | How much each AI-assisted commit costs in tokens                |\n| **AI Code Share**     | % of all merged lines this window written by AI — measured from git, not surveys |\n| **Value Leak**        | $ and % of repository spend from repository sessions that produced zero committed code |\n| **Line Survival Rate**| % of AI-written lines that survive 24h without being rewritten  |\n| **Orphaned Sessions** | Sessions with 10+ messages that produced zero commits           |\n| **ROI Grade (A-F)**   | Composite score based on tokens-per-commit and survival rate    |\n| **Trailer Attribution** | `Co-authored-by` agent trailers confirm commit attribution (near-ground-truth) |\n| **Model Comparison**  | Efficiency across Claude, Codex, and Copilot models (incl. GPT-5.6 Sol/Terra/Luna and Copilot's Claude/GPT/Gemini models) |\n| **Agent Comparison**  | Per-agent dashboard tabs (All / Claude Code / OpenAI Codex / GitHub Copilot) |\n| **Branch Awareness**  | What % of AI commits landed on production                       |\n| **Peak Hours**        | Hour-of-day x day-of-week productivity heatmap                  |\n| **Autonomy Score**    | Composite A-F grade measuring how independently the agent works |\n| **Autopilot Ratio**   | Assistant messages per user prompt (higher = more autonomous)   |\n| **Self-Heal Score**   | % of bash calls that are test/lint commands (self-verification) |\n| **Commit Velocity**   | Tool calls per commit (lower = more efficient)                  |\n\n## CLI Options\n\n```bash\ncodelens-ai                        # default: last 30 days, port 3457\ncodelens-ai --days 90              # look back 90 days\ncodelens-ai --port 8080            # custom port\ncodelens-ai --host 0.0.0.0         # expose the dashboard beyond localhost (off by default)\ncodelens-ai --no-open              # don't auto-open browser\ncodelens-ai --json                 # dump all metrics as JSON to stdout\ncodelens-ai --project techops      # filter to a specific project\ncodelens-ai --refresh              # force full re-parse (ignore cache)\ncodelens-ai --source copilot       # analyze a single agent only: claude | codex | copilot\ncodelens-ai --offline              # skip the network pricing refresh (use cached/hardcoded rates)\ncodelens-ai --plan max20           # Claude subscription mode: effective $/commit vs your flat plan\ncodelens-ai --plan-cost 150        # custom Claude monthly subscription cost (USD)\ncodelens-ai --codex-plan plus      # ChatGPT/Codex subscription: free | go | plus | pro100 | pro | business | business-annual\ncodelens-ai --codex-plan-cost 40   # custom Codex monthly subscription cost (USD)\ncodelens-ai --copilot-plan pro     # GitHub Copilot subscription: free | pro | pro-plus | max | business | enterprise\ncodelens-ai --copilot-plan-cost 39 # custom GitHub Copilot monthly subscription cost (USD)\ncodelens-ai --claude-dir <path>    # override ~/.claude/projects (testing/CI)\ncodelens-ai --codex-dir <path>     # override ~/.codex/sessions (testing/CI)\ncodelens-ai --copilot-dir <path>   # override ~/.copilot/session-state (testing/CI)\ncodelens-ai --copilot-vscode-dir <path> # override VS Code workspaceStorage (testing/CI)\n\ncodelens-ai report                 # print an ROI scorecard to the terminal\ncodelens-ai report --md            # export codelens-report.md (or --md <path>)\ncodelens-ai report --html          # export a self-contained codelens-report.html\ncodelens-ai statusline --install   # add the ROI statusline to Claude Code\n\ncodelens-ai daily                  # token usage & cost table by day (+ commits, $/commit)\ncodelens-ai weekly                 # ...by week (--start-of-week monday|sunday)\ncodelens-ai monthly                # ...by month\ncodelens-ai daily --breakdown      # nest per-model rows under each period\ncodelens-ai daily --json           # structured export (pipe to jq)\n\ncodelens-ai blocks                 # group usage into configurable 5-hour usage windows\ncodelens-ai blocks --active        # just the open block: burn rate, time left, projection\ncodelens-ai blocks --recent        # only the last 3 days of blocks\ncodelens-ai blocks -t max          # warn against a token limit (a number, or \"max\")\n\ncodelens-ai mcp                    # serve usage & ROI reports as MCP tools over stdio\n```\n\n### Usage tables (`codelens-ai daily|weekly|monthly`)\n\nccusage-style token accounting over the same analyzed window — Input / Output / Cache Create /\nCache Read / Total / Cost per period — plus the two ROI columns a pure usage tool can't give you:\n**Commits** and **$/Commit**. All the shared analysis flags (`--days`, `--source`, `--project`,\n`--claude-dir`, `--codex-dir`, `--copilot-dir`) apply.\n\n### Usage windows (`codelens-ai blocks`)\n\n`blocks` groups every session's usage into configurable **5-hour windows** and shows per-window\ntokens and cost, your **burn rate** (tokens/min and $/hr), and — for the block that's still open — a\nlinear **projection** of where it lands plus an optional quota gauge (`-t <n>` or `-t max`). Add\n`--active` for just the current window, `--recent` for the last 3 days, `--session-length <hours>` to\nchange the window size, or `--json` for a structured export. Costs use Codelens's version-aware\nper-token pricing, so the numbers match the rest of the tool. For Claude this mirrors its rolling\n5-hour window; for Codex and Copilot it is an analytical grouping, not a provider billing quota.\n\n### MCP server (`codelens-ai mcp`)\n\nServe the same reports as **MCP tools over stdio**, so Claude Code / Claude Desktop can query your\nusage and ROI in-chat (\"what did my AI coding cost this week?\", \"which repo has the worst\n$/commit?\"). Add it to Claude Code with:\n\n```bash\nclaude mcp add codelens -- npx -y codelens-ai mcp\n```\n\nExposed tools: **`roi_summary`** (grade, spend, $/commit, survival, value leak — the scorecard),\n**`usage`** (daily/weekly/monthly token & cost table), **`blocks`** (5-hour usage windows + burn\nrate), **`sessions`**, **`projects`** (per-repo ROI), and **`refresh`** (force a re-parse). Most\ntools take an optional `source` (`all | claude | codex | copilot`), and all the shared analysis flags\n(`--days`, `--project`, `--claude-dir`, ...) apply to the server itself. Analysis runs once at\nstartup and is served from memory; the `refresh` tool re-runs it on demand.\n\n### ROI report (`codelens-ai report`)\n\nOne command produces the \"is my AI subscription paying for itself\" artifact — in the terminal, or as\na self-contained Markdown/HTML one-pager you can hand to a manager to justify a Claude Max or\nChatGPT Pro seat:\n\n- Spend (API-equivalent, with the estimated-pricing share flagged), plan utilization when `--plan`/`--codex-plan` is set\n- Commits shipped, cost per commit (and effective $/commit on your flat plan), line survival\n- **AI code share** — % of all merged lines this window that the AI wrote, measured from git\n- **Value leak** — how much spend never became committed code\n- Per-agent and per-model breakdowns, the attribution audit, and top insights\n\nAll analysis flags (`--days`, `--source`, `--plan`, `--project`, ...) work on `report` too.\n\n### Claude Code statusline (`codelens-ai statusline`)\n\nA one-line always-on HUD inside Claude Code, and the only statusline that shows **ROI** alongside burn:\n\n```text\n$4.20 session │ today $12.40 · 3 commits · $4.13/commit · A │ burn 2.6K/min · $0.23/hr │ 5h 84% (resets 1h15m) · wk 41% │ ctx 23%\n```\n\n- **Session cost** straight from Claude Code (exact, not estimated)\n- **Today's spend, commits, and $/commit** from your last pipeline run\n- **Burn rate** of the open 5-hour block — tokens/min (colored by the cache-excluded indicator) and\n  $/hr — snapshotted by your last pipeline run and hidden once the window closes\n- **Official 5-hour and weekly rate-limit usage** with a reset countdown when you're close — the\n  numbers Anthropic's limiter actually enforces, not token-math estimates\n- **Context-window pressure**\n\nInstall it with one command (backs up your settings file first, refuses to clobber an existing\nstatusline unless you pass `--force`):\n\n```bash\nnpx codelens-ai statusline --install\n```\n\nThen run `npx codelens-ai` (or `codelens-ai report`) whenever you want the \"today\" ROI numbers refreshed.\n\n### Effective cost (subscription mode)\n\nBy default Claude and Codex costs are **API-equivalent** values from published token rates. Copilot CLI uses GitHub's published AI Credit token rates, while VS Code sessions use their recorded AI Credit consumption directly. Pass `--plan` (`pro` = $20/mo, `max5` = $100/mo, `max20` = $200/mo) / `--plan-cost <usd>` for Claude, `--codex-plan` (`free` = $0/mo, `go` = $8/mo, `plus` = $20/mo, `pro100` = $100/mo, `pro` = $200/mo, `business` = $25/seat/mo monthly, `business-annual` = $20/seat/mo annually) / `--codex-plan-cost <usd>` for ChatGPT/Codex, or `--copilot-plan` (`free` = $0/mo, `pro` = $10/mo, `pro-plus` = $39/mo, `max` = $100/mo, `business` = $19/seat/mo, `enterprise` = $39/seat/mo) / `--copilot-plan-cost <usd>` for GitHub Copilot, to add an **Effective Cost** panel:\n\n- **Effective $/commit** and **$/surviving line** — estimated plan cost for the window ÷ output.\n- **Plan utilization** — API-equivalent value ÷ prorated fee (e.g. `3.2×` means you extracted ~3.2× your subscription in pay-as-you-go value). This is an estimate of value extracted, **not** realized savings.\n\nFor Copilot, the estimate includes the base plan, its published monthly AI Credit allowance (Pro $15, Pro+ $70, Max $200), and parsed CLI + VS Code usage beyond that allowance. Other Copilot surfaces, such as GitHub.com agents, can draw from the same allowance but are not visible to Codelens. Business and Enterprise use the published per-seat allowance as a proxy, but their credits are pooled organization-wide, so only GitHub's billing dashboard can provide the exact bill. Custom `--copilot-plan-cost` values do not infer an allowance. In mixed-agent reports, these plan economics stay on the Copilot tab instead of incorrectly offsetting another agent's spend.\n\n## Dashboard\n\nThe dashboard includes:\n\n- **Agent source tabs** — when more than one agent has sessions, switch between **All Agents**, **Claude Code**, **OpenAI Codex**, and **GitHub Copilot** views; every section recomputes for the selected agent\n- **Hero stats** — total cost, commits shipped, cost per commit, ROI grade, **AI code share**, and **value leak**\n- **Attribution & Coverage** — per-commit confidence (high/medium/low) that a commit was really the AI's, `Co-authored-by` trailer confirmations, plus a reconciliation of AI-attributed vs co-authored vs organic (manual) lines, so the ROI numbers are auditable rather than a black box\n- **Smart insights** — auto-generated observations about your usage patterns\n- **Cost vs Output timeline** — dual-axis chart of daily cost and lines added\n- **Model comparison** — cost and efficiency breakdown across Claude Code, OpenAI Codex, and GitHub Copilot models\n- **Session length analysis** — which session sizes have the best ROI\n- **Productivity heatmap** — GitHub-style grid showing when you're most productive\n- **Agent Autonomy** — autonomy score badge, autopilot ratio, self-heal score, commit velocity, and top verification commands\n- **Projects** — per-repository ROI: which repo your spend goes to, ranked by cost, with its share of spend, commits, $/commit, lines, and % on the default branch. Repos are identified by their git `origin` remote, so a clone, worktree, or moved checkout of the same repo counts as one project (not a duplicate card)\n- **Sessions table** — sortable, expandable table with per-session metrics, matched commits (including their containing branch when available), and autopilot ratio. Repository sessions show their repository name and commit ROI; Codex sessions outside Git retain their task label and usage under **Other task**, with repository-only metrics marked **N/A**. Filters separate repository work from other tasks.\n\n## How It Works\n\n1. **Parses** JSONL session files from `~/.claude/projects/` (Claude Code), rollout files from `~/.codex/sessions/` (OpenAI Codex CLI — including `.jsonl.zst` archives on Node >= 22.15), `events.jsonl` from `~/.copilot/session-state/` (GitHub Copilot CLI), and official GitHub Copilot sessions from VS Code's `workspaceStorage/*/chatSessions/`\n2. **Analyzes** git history from each repo you've worked in with any agent, including `Co-authored-by` agent trailers on each commit. If a session starts in a workspace parent that contains multiple git repos, Codelens automatically discovers nested repos (up to three levels) and correlates the touched files with the right repo — no flag or configuration required.\n3. **Correlates** sessions to commits by file overlap and timing — all agents correlate together, so a commit is attributed to at most one session; a commit stamped `Co-authored-by: Claude/Codex/Copilot` is routed to the matching agent and counts as high-confidence attribution\n4. **Calculates** cost using each provider's published pricing (input, output, cache, and server-side web search when logged; Copilot CLI uses GitHub's token table and VS Code uses recorded AI Credits — see _GitHub Copilot models and clients_ below)\n5. **Serves** an interactive dashboard on localhost with per-agent views\n\n### Caching\n\nParsed session data is cached at `~/.cache/agent-analytics/parsed-sessions.json`. On subsequent runs, only new or modified JSONL files are re-parsed, making startup near-instant. Use `--refresh` to force a full re-parse.\n\n### Cost Calculation\n\n> **Auto-pricing new models:** the per-model tables below stay authoritative (they carry version, date, long-context, and cache-tier precision), but any model they don't recognize is priced automatically from [LiteLLM's public price map](https://github.com/BerriAI/litellm) (2,900+ models) — fetched on demand, cached to `~/.cache/agent-analytics/pricing.json` for ~24h, and refreshed with `--refresh`. So a brand-new model id is costed from its real published rate with no code change, instead of a rough estimate. Use `--offline` to skip the network entirely (cached/hardcoded rates only); if the fetch fails, it degrades to the cache and then to the hardcoded fallback. Hardcoded rates always win when both sources have a model.\n\nToken costs are version-aware and calculated per model, accounting for the two prompt-cache write rates. Multipliers (relative to base input): **cache read = 0.1×**, **5-minute cache write = 1.25×**, **1-hour cache write = 2×**. Figures below are verified against [Anthropic's pricing](https://platform.claude.com/docs/en/about-claude/pricing) (per million tokens):\n\n| Model | Input | Output | Cache Read | Cache Write (5m) | Cache Write (1h) |\n| --- | --- | --- | --- | --- | --- |\n| Fable 5 / Mythos 5 | $10/M | $50/M | $1.00/M | $12.50/M | $20/M |\n| Opus 4.8 | $5/M | $25/M | $0.50/M | $6.25/M | $10/M |\n| Opus 4.7 | $5/M | $25/M | $0.50/M | $6.25/M | $10/M |\n| Opus 4.6 | $5/M | $25/M | $0.50/M | $6.25/M | $10/M |\n| Opus 4.5 | $5/M | $25/M | $0.50/M | $6.25/M | $10/M |\n| Opus 4.0/4.1 (legacy) | $15/M | $75/M | $1.50/M | $18.75/M | $30/M |\n| Sonnet 5 (intro, through Aug 31 2026) | $2/M | $10/M | $0.20/M | $2.50/M | $4/M |\n| Sonnet 5 (standard, from Sep 1 2026) | $3/M | $15/M | $0.30/M | $3.75/M | $6/M |\n| Sonnet 3.7/4.0/4.5/4.6 | $3/M | $15/M | $0.30/M | $3.75/M | $6/M |\n| Haiku 4.5 | $1/M | $5/M | $0.10/M | $1.25/M | $2/M |\n| Haiku 3.5 | $0.80/M | $4/M | $0.08/M | $1.00/M | $1.60/M |\n| Haiku 3 | $0.25/M | $1.25/M | $0.03/M | $0.30/M | $0.50/M |\n\n> **Note — Claude Sonnet 5:** Sonnet 5 launched with [introductory pricing](https://www.anthropic.com/news/claude-sonnet-5) of $2 / $10 per MTok through Aug 31, 2026, reverting to standard Sonnet-tier $3 / $15 on Sep 1, 2026. Costs are priced by the rate in effect on each usage's date, so logs stay accurate across the cutover.\n>\n> **Note — Claude Fable 5 / Mythos 5:** Claude Fable 5 / Mythos 5 is generally available again — Anthropic [restored access](https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5) on Jul 1, 2026 after a temporary suspension (Jun 12–30, 2026). The $10 / $50 per-MTok rates apply to both live and historical Fable 5 usage in your session logs.\n>\n> **Note — legacy tiers:** The 0.1× / 1.25× / 2× multipliers describe current models. Claude 3 Haiku predates them and uses Anthropic's originally-published cache rates ($0.30 write / $0.03 read), and 1-hour cache-write rates for retired tiers (e.g. Sonnet 3.7, Haiku 3) are derived at 2× input. These legacy rows are kept only to cost older session logs accurately.\n>\n> **Note — billing modifiers and tools:** Claude Code usage rows carry `speed` and `inference_geo` when applicable. Opus 4.8/4.7 fast-mode rates and the 1.1× US-only inference multiplier stack with cache pricing. Server-side web search is charged only from the logged `server_tool_use.web_search_requests` count at $10 per 1,000 searches; a client-side `WebSearch` tool call alone is not assumed billable, and web fetch has no per-call fee.\n\n#### OpenAI Codex models\n\nCodex sessions are costed from the `token_count` events in each rollout file. In OpenAI's accounting, `cached_input_tokens` is a subset of `input_tokens` (cache reads are billed at the cached rate, there is no cache-write premium) and `reasoning_output_tokens` is a subset of `output_tokens` (reasoning is billed at the output rate, never double-counted). Server-side `web_search_call` entries add OpenAI's published web-search call fee. Rates per million tokens from [OpenAI's API pricing](https://developers.openai.com/api/docs/pricing):\n\n| Model | Input | Cached Input | Output |\n| --- | --- | --- | --- |\n| GPT-5.6 Sol (`gpt-5.6` alias) | $5.00/M short, $10/M long context | $0.50/M short, $1/M long context | $30/M short, $45/M long context |\n| GPT-5.6 Terra | $2.50/M short, $5/M long context | $0.25/M short, $0.50/M long context | $15/M short, $22.50/M long context |\n| GPT-5.6 Luna | $1.00/M short, $2/M long context | $0.10/M short, $0.20/M long context | $6/M short, $9/M long context |\n| GPT-5.5 | $5.00/M short, $10/M long context | $0.50/M short, $1/M long context | $30/M short, $45/M long context |\n| GPT-5.5 Pro | $30/M short, $60/M long context | no published cached discount | $180/M short, $270/M long context |\n| GPT-5.4 / 5.4 Mini / 5.4 Nano | $2.50 / $0.75 / $0.20/M | $0.25 / $0.075 / $0.02/M | $15 / $4.50 / $1.25/M |\n| GPT-5.4 Pro | $30/M short, $60/M long context | no published cached discount | $180/M short, $270/M long context |\n| GPT-5.3 Codex | $1.75/M | $0.175/M | $14/M |\n| GPT-5.1 Codex (Max) / 5.1 / GPT-5 Codex / GPT-5 | $1.25/M | $0.125/M | $10/M |\n| GPT-5.1 Codex Mini / GPT-5 Mini | $0.25/M | $0.025/M | $2/M |\n| codex-mini-latest | $1.50/M | $0.375/M | $6/M |\n| o3 (from Jun 10 2025 / before) | $2 / $10/M | $0.50 / $2.50/M | $8 / $40/M |\n| o4-mini | $1.10/M | $0.275/M | $4.40/M |\n| GPT-4.1 | $2.00/M | $0.50/M | $8/M |\n\n> **Note — o3:** OpenAI cut o3 prices 80% on Jun 10, 2025; usage is priced by the rate in effect on its date.\n>\n> **Note — long context:** GPT-5.6, GPT-5.5, and GPT-5.4 publish separate short-context and long-context rates. Codelens applies the long tier only when an individual request exceeds 272K input tokens, then keeps it as a separate model bucket (for example, `gpt-5.6-sol[long]`) so mixed sessions do not average incompatible rates.\n>\n> **Note — current models:** OpenAI's current model guidance recommends GPT-5.6 Sol for complex coding and reasoning, GPT-5.6 Terra for a balance of capability and cost, and GPT-5.6 Luna for cost-sensitive workloads. The `gpt-5.6` alias resolves to Sol. Codelens also retains pricing for older Codex models so historical rollout costs stay accurate.\n>\n> **Note — web search:** Codex `web_search_call` entries are costed at OpenAI's $10 per 1,000 calls; search content tokens remain part of normal token usage when billed by the API.\n>\n> **Note — unpriced models:** Models without a published API price (e.g. `gpt-5.3-codex-spark`, future releases) are costed at proxy rates and included in the dashboard's \"estimated spend\" warning instead of silently reading $0.\n>\n> **Note — subscriptions:** If you use Codex through a ChatGPT plan (Free/Go/Plus/Pro/Business), the dollar figures are **API-equivalent value**, not what you were billed — pass `--codex-plan` to see effective cost against your flat fee. API-key mode can also include published server-side tool-call fees when the rollout logs expose them.\n\n#### GitHub Copilot models and clients\n\nThe standalone **GitHub Copilot CLI** (`@github/copilot`) records per-session token usage in `~/.copilot/session-state/<id>/events.jsonl`. Codelens keeps current and historical models in a local copy of **GitHub's published Copilot per-token table**, so known-model reports remain correct with `--offline` or when the pricing refresh is unavailable:\n\nOfficial **GitHub Copilot Chat and agent mode in VS Code** persist versioned incremental JSONL under the client-side workspace store (`workspaceStorage/<workspace>/chatSessions/<id>.jsonl`). Codelens filters those generic VS Code chat files to the `GitHub.copilot-chat`/`GitHub.copilot` extension, replays only usage and correlation metadata, and never places prompt or response text in its cache. Per-request `copilotCredits` is authoritative for total cost (`1 AI Credit = $0.01`); `promptTokens`, `completionTokens`, `resolvedModel`, tool calls, and edited-file URIs drive the rest of the dashboard. If an older record has tokens but no credit value, Codelens falls back to GitHub's token table and flags that portion as estimated.\n\nZero-config discovery covers stable and Insiders builds under macOS `~/Library/Application Support/Code*/User/workspaceStorage`, Windows `%APPDATA%\\Code*\\User\\workspaceStorage`, and Linux `${XDG_CONFIG_HOME:-~/.config}/Code*/User/workspaceStorage`. Use `--copilot-vscode-dir` for a custom VS Code user-data location.\n\n- The table covers models from Anthropic, OpenAI, Google, GitHub, Microsoft, xAI, and Moonshot AI. Unknown future model ids use the LiteLLM overlay (see _Auto-pricing new models_ above) as a visibly flagged estimate, because provider API rates can differ from GitHub AI Credit rates.\n- Some GitHub models have a higher long-context rate. Copilot's shutdown totals do not say which requests crossed that threshold, so Codelens labels a session's cost as estimated unless the recorded event includes its context tier; a recorded long tier is priced at the published long-context rate.\n\n> **Note — CLI usage record:** Copilot CLI persists accumulated session token totals in the `session.shutdown` event's `modelMetrics`; when a resumed session appends another shutdown snapshot, Codelens uses the final snapshot rather than adding the cumulative totals twice. Its `session.context_changed` event provides workspace and branch metadata for commit correlation. Because cumulative totals cannot be split reliably, a session observed in multiple repositories keeps its aggregate spend but does not claim one repository's commits. Sessions without a shutdown usage record are still shown for correlation, but their cost is left unknown (not a fabricated $0) and they are excluded from grading.\n>\n> **Note — subscriptions:** Copilot uses GitHub AI Credits: 1 credit is $0.01, plans include a monthly allowance, and permitted usage beyond the allowance is metered at the published per-token rates. Existing annual Pro/Pro+ subscribers may still use the legacy request-based model. Pass `--copilot-plan` for an estimated base-plan-plus-overage cost.\n>\n> **Note — compatibility:** GitHub documents the CLI session-store location but not the complete CLI or VS Code event schemas. Parsing is defensive and best-effort; use Copilot CLI 1.0.48 or newer and VS Code 1.120 or newer for current AI Credit terminology and pricing, and report captures that stop parsing after a client update.\n>\n> **Note — surfaces:** Standalone Copilot CLI plus official VS Code Copilot Chat/agent sessions are analyzed under the single **GitHub Copilot** source. Inline/next-edit completions, the retired `gh copilot` extension, JetBrains, Visual Studio, GitHub.com cloud agents, and third-party VS Code chat providers are not analyzed because these parsers do not have equivalent durable local usage records for them.\n\n### Line Survival\n\nLine survival uses an approximate heuristic: if lines added in commit A are deleted by a subsequent commit on the same file within 24 hours, they're counted as \"churned.\" This is not git-blame-based tracking and survival rates are rounded to the nearest 5%.\n\n## Project Structure\n\n```text\nCodelens-AI/\n├── package.json\n├── README.md\n├── .gitignore\n└── src/\n    ├── index.js          # CLI entry point\n    ├── claude-parser.js  # Parse Claude Code JSONL session files\n    ├── codex-parser.js   # Parse OpenAI Codex CLI rollout files\n    ├── copilot-parser.js # Parse GitHub Copilot CLI events.jsonl session files\n    ├── copilot-vscode-parser.js # Parse official VS Code Copilot Chat/agent sessions\n    ├── cache.js          # Parsed data caching layer (per-source staleness)\n    ├── git-analyzer.js   # Parse git log with branch awareness\n    ├── correlator.js     # Match sessions to commits by file overlap + timing + trailers\n    ├── metrics.js        # Calculate ROI metrics and insights\n    ├── mcp.js            # `codelens-ai mcp` — expose reports as MCP tools over stdio\n    ├── report.js         # `codelens-ai report` — terminal / Markdown / HTML ROI scorecard\n    ├── statusline.js     # `codelens-ai statusline` — Claude Code statusline integration\n    ├── server.js         # Express server + API routes (?source= views)\n    └── dashboard.html    # Single-file dashboard (inline CSS/JS)\n```\n\n## Releasing\n\nReleases are automated via GitHub Actions. To publish a new version:\n\n```bash\nnpm version patch   # or minor / major\ngit push --follow-tags\n```\n\nThis automatically publishes to npm and creates a GitHub Release with auto-generated notes.\n\n**Setup (one-time):** Configure [trusted publishing](https://docs.npmjs.com/trusted-publishers/) on npm for the `codelens-ai` package, linking it to the GitHub Actions workflow. No tokens or secrets needed.\n\n## Contributing\n\nContributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, guidelines, and ideas for contributions.\n\n## Privacy\n\nAll data stays on your machine, and the dashboard binds to `127.0.0.1` by default so it is not visible to your network (pass `--host 0.0.0.0` to opt in). Chart.js is bundled and served locally; the only external request the dashboard makes is loading webfonts from Google Fonts (it falls back to system fonts offline). No telemetry, no data collection.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}