{"_id":"@alexanderfortin/pi-token-usage","_rev":"10-f4f992e57cb3ec9090f4428365d0897f","name":"@alexanderfortin/pi-token-usage","dist-tags":{"latest":"0.4.0"},"versions":{"0.1.0":{"name":"@alexanderfortin/pi-token-usage","version":"0.1.0","keywords":["pi-package","token-usage","cost-tracking","session-analysis"],"author":{"name":"Alexander Fortin"},"license":"MIT","_id":"@alexanderfortin/pi-token-usage@0.1.0","maintainers":[{"name":"alexanderfortin","email":"a@l3x.in"}],"homepage":"https://github.com/shaftoe/pi-token-usage#readme","bugs":{"url":"https://github.com/shaftoe/pi-token-usage/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"450f66ea41ade85bc538d910d7abc95775ee2bfc","tarball":"https://registry.npmjs.org/@alexanderfortin/pi-token-usage/-/pi-token-usage-0.1.0.tgz","fileCount":48,"integrity":"sha512-QDglNdJQ3oGytQ1FTdJCyJLfSI2OLfi6E42aZcImQMPhd5YnML5zFbx2NebE5XqN4In+v0OKiJMhG6vD4Q+4cA==","signatures":[{"sig":"MEUCIQDeGh0QhGHZ43YfpR2CbxIePZeKpOwuL8lzD5U5E+y0jQIgZcfh7XUHqstn1bYa0CGvzimIMuMVdhYCPDIhY5yU7GQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69860},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"52225353fded6e23d3b786cd55ad42f549f3bd03","scripts":{"lint":"eslint ./","test":"bun test","build":"bun run check && tsc --project tsconfig.build.json","check":"tsc --noEmit","format":"prettier --write 'src/**/*.ts' 'test/**/*.ts'","release":"semantic-release","validate":"bun run check && bun run lint && bun run format:check","format:check":"prettier --check 'src/**/*.ts' 'test/**/*.ts'","test:coverage":"bun test --coverage --coverage-reporter=lcov","release:dry-run":"semantic-release --dry-run"},"_npmUser":{"name":"alexanderfortin","email":"a@l3x.in"},"repository":{"url":"git+https://github.com/shaftoe/pi-token-usage.git","type":"git"},"_npmVersion":"11.12.1","description":"Pi coding agent extension for analyzing token usage and cost across session files","directories":{},"_nodeVersion":"25.9.0","dependencies":{"jiti":"^2.6.1","eslint":"^10.2.0","@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"globals":"^17.4.0","prettier":"^3.4.0","bun-types":"^1.2.0","@eslint/js":"^10.0.1","typescript":"6.0.2","@types/node":"25.5.2","semantic-release":"^25.0.3","typescript-eslint":"^8.58.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"13.1.5","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"@sinclair/typebox":"*","@mariozechner/pi-tui":"*","@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-token-usage_0.1.0_1775521271152_0.6631108965826737","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@alexanderfortin/pi-token-usage","version":"0.1.1","keywords":["pi-package","token-usage","cost-tracking","session-analysis"],"author":{"name":"Alexander Fortin"},"license":"MIT","_id":"@alexanderfortin/pi-token-usage@0.1.1","maintainers":[{"name":"alexanderfortin","email":"a@l3x.in"}],"homepage":"https://github.com/shaftoe/pi-token-usage#readme","bugs":{"url":"https://github.com/shaftoe/pi-token-usage/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"e9794118ddc778831f807892eae91c8c94b5f699","tarball":"https://registry.npmjs.org/@alexanderfortin/pi-token-usage/-/pi-token-usage-0.1.1.tgz","fileCount":48,"integrity":"sha512-tRjqtosRnM8oAe6lzX9LTKinY2EsDxsiEwgInJxWTblrf8TyB3OuMhRUNJ82MotvqSuhVd79ThNqpXI4JYaZPQ==","signatures":[{"sig":"MEQCIH69PtVkWbj66hPhDMxwj9rDRZP5d6IUQ8maSFm4UmJNAiBXsSxrv8eXfz38b5ae7vsq0aybqJhqLv1urysJgFzYVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexanderfortin%2fpi-token-usage@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":70870},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"3703f4f2ade0990efeab5a3031e3f8e562f17399","scripts":{"lint":"eslint ./","test":"bun test","build":"bun run check && tsc --project tsconfig.build.json","check":"tsc --noEmit","format":"prettier --write 'src/**/*.ts' 'test/**/*.ts'","release":"semantic-release","validate":"bun run check && bun run lint && bun run format:check","format:check":"prettier --check 'src/**/*.ts' 'test/**/*.ts'","test:coverage":"bun test --coverage --coverage-reporter=lcov","release:dry-run":"semantic-release --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2a0bd052-3885-4d71-835a-84fdea40591f"}},"repository":{"url":"git+https://github.com/shaftoe/pi-token-usage.git","type":"git"},"_npmVersion":"11.12.1","description":"Pi coding agent extension for analyzing token usage and cost across session files","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^10.2.0","globals":"^17.4.0","prettier":"^3.4.0","bun-types":"^1.2.0","@eslint/js":"^10.0.1","typescript":"6.0.2","@types/node":"25.5.2","semantic-release":"^25.0.3","typescript-eslint":"^8.58.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"13.1.5","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0"},"peerDependencies":{"@sinclair/typebox":"*","@mariozechner/pi-tui":"*","@mariozechner/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-token-usage_0.1.1_1775524834937_0.03714604916134556","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@alexanderfortin/pi-token-usage","version":"0.1.2","keywords":["pi-package","token-usage","cost-tracking","session-analysis"],"author":{"name":"Alexander Fortin"},"license":"MIT","_id":"@alexanderfortin/pi-token-usage@0.1.2","maintainers":[{"name":"alexanderfortin","email":"a@l3x.in"}],"homepage":"https://github.com/shaftoe/pi-token-usage#readme","bugs":{"url":"https://github.com/shaftoe/pi-token-usage/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"6653c438d0dfee2692822a9c6831cd8b19b1597d","tarball":"https://registry.npmjs.org/@alexanderfortin/pi-token-usage/-/pi-token-usage-0.1.2.tgz","fileCount":48,"integrity":"sha512-yUOBGMVwN6/sBN5l1CLTY5uabKrEg5TdYbA7jisRKbM31lUHcEQkLNX0yT/O0ntXkY+zT5PzZFbK+Y8UbCyEng==","signatures":[{"sig":"MEUCIHT77zAW50L6LG81vUEA4Dsb2LA43rIhCOgnCcUQdsFCAiEAoiUU8WSW2G+29hsc/2AxoUCrkaGR2V1PCukHNLD7iF8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexanderfortin%2fpi-token-usage@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":71128},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2337a0831de1abc41054e551f87a90329d450492","scripts":{"lint":"eslint ./","test":"bun test","build":"bun run check && tsc --project tsconfig.build.json","check":"tsc --noEmit","format":"prettier --write 'src/**/*.ts' 'test/**/*.ts'","release":"semantic-release","validate":"bun run check && bun run lint && bun run format:check","format:check":"prettier --check 'src/**/*.ts' 'test/**/*.ts'","test:coverage":"bun test --coverage --coverage-reporter=lcov","release:dry-run":"semantic-release --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2a0bd052-3885-4d71-835a-84fdea40591f"}},"repository":{"url":"git+https://github.com/shaftoe/pi-token-usage.git","type":"git"},"_npmVersion":"11.12.1","description":"Pi coding agent extension for analyzing token usage and cost across session files","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^10.2.0","globals":"^17.5.0","prettier":"^3.8.2","bun-types":"^1.3.12","@eslint/js":"^10.0.1","typescript":"6.0.2","@types/node":"25.6.0","semantic-release":"^25.0.3","typescript-eslint":"^8.58.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"13.1.5","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0","@alexanderfortin/semantic-release-keep-a-changelog":"^0.2.0"},"peerDependencies":{"@sinclair/typebox":"^0.34.49","@mariozechner/pi-tui":"^0.67.1","@mariozechner/pi-coding-agent":"^0.67.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-token-usage_0.1.2_1776176047411_0.41935939733638095","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@alexanderfortin/pi-token-usage","version":"0.1.3","keywords":["pi-package","token-usage","cost-tracking","session-analysis"],"author":{"name":"Alexander Fortin"},"license":"MIT","_id":"@alexanderfortin/pi-token-usage@0.1.3","maintainers":[{"name":"alexanderfortin","email":"a@l3x.in"}],"homepage":"https://github.com/shaftoe/pi-token-usage#readme","bugs":{"url":"https://github.com/shaftoe/pi-token-usage/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"3559b6d0c442a0705c17490d16c24d63c0dfec33","tarball":"https://registry.npmjs.org/@alexanderfortin/pi-token-usage/-/pi-token-usage-0.1.3.tgz","fileCount":48,"integrity":"sha512-UATXmdNCkHgndPiWl3mkba8SU69dvFILLyjOwiVKPjDN8iiBN0x0DBig+1bBaQJo8KKDcjCUtjfjuyM9dRuTxw==","signatures":[{"sig":"MEQCIE+gF89MXt5H7+NMhfH+of6Lyq0avcb1wAVkFDfAiY4bAiAQ6v5JoQC11QyAvgsp4NoWnbeJ0i8Be+QmNAqlFKecow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexanderfortin%2fpi-token-usage@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":71459},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6252b8651e4cfe42c1fad76c944eae34009ebee0","scripts":{"lint":"eslint ./","test":"bun test","build":"bun run check && tsc --project tsconfig.build.json","check":"tsc --noEmit","format":"prettier --write 'src/**/*.ts' 'test/**/*.ts'","release":"semantic-release","validate":"bun run check && bun run lint && bun run format:check","format:check":"prettier --check 'src/**/*.ts' 'test/**/*.ts'","test:coverage":"bun test --coverage --coverage-reporter=lcov","release:dry-run":"semantic-release --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2a0bd052-3885-4d71-835a-84fdea40591f"}},"repository":{"url":"git+https://github.com/shaftoe/pi-token-usage.git","type":"git"},"_npmVersion":"11.12.1","description":"Pi coding agent extension for analyzing token usage and cost across session files","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^10.2.1","globals":"^17.5.0","prettier":"^3.8.3","bun-types":"^1.3.13","@eslint/js":"^10.0.1","typescript":"6.0.3","@types/node":"25.6.0","semantic-release":"^25.0.3","typescript-eslint":"^8.59.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"13.1.5","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0","@alexanderfortin/semantic-release-keep-a-changelog":"^0.2.0"},"peerDependencies":{"@sinclair/typebox":"^0.34.49","@mariozechner/pi-tui":"^0.70.2","@mariozechner/pi-coding-agent":"^0.70.2"},"_npmOperationalInternal":{"tmp":"tmp/pi-token-usage_0.1.3_1777234960683_0.13065021611423466","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@alexanderfortin/pi-token-usage","version":"0.1.4","keywords":["pi-package","token-usage","cost-tracking","session-analysis"],"author":{"name":"Alexander Fortin"},"license":"MIT","_id":"@alexanderfortin/pi-token-usage@0.1.4","maintainers":[{"name":"alexanderfortin","email":"a@l3x.in"}],"homepage":"https://github.com/shaftoe/pi-token-usage#readme","bugs":{"url":"https://github.com/shaftoe/pi-token-usage/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"f96972bde63ebfcbe507fb338b630261f3155618","tarball":"https://registry.npmjs.org/@alexanderfortin/pi-token-usage/-/pi-token-usage-0.1.4.tgz","fileCount":48,"integrity":"sha512-wPpQ94JkvjjijWGSWozLFibpBUN82oQ82HGd8nydy9B+SU6wY2fO7D5K7q5FJArZXg+4n8tH//ASRvL54CBzWg==","signatures":[{"sig":"MEQCIHDqvv+hhQykheknn6qmFshlgNKkwl439+OwYqjavjzeAiB9/UDCuInfpwD5HohE9oeNduOuoS2qxw4rSgs0sq7OIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexanderfortin%2fpi-token-usage@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":71770},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"62deec4fcab6154a615467ffe228c5d5b9685dfc","scripts":{"lint":"eslint ./","test":"bun test","build":"bun run check && tsc --project tsconfig.build.json","check":"tsc --noEmit","format":"prettier --write 'src/**/*.ts' 'test/**/*.ts'","release":"semantic-release","validate":"bun run check && bun run lint && bun run format:check","format:check":"prettier --check 'src/**/*.ts' 'test/**/*.ts'","test:coverage":"bun test --coverage --coverage-reporter=lcov","release:dry-run":"semantic-release --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2a0bd052-3885-4d71-835a-84fdea40591f"}},"repository":{"url":"git+https://github.com/shaftoe/pi-token-usage.git","type":"git"},"_npmVersion":"11.12.1","description":"Pi coding agent extension for analyzing token usage and cost across session files","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","eslint":"^10.3.0","globals":"^17.6.0","prettier":"^3.8.3","bun-types":"^1.3.13","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.6.2","semantic-release":"^25.0.3","typescript-eslint":"^8.59.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"13.1.5","@semantic-release/github":"^12.0.6","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.0","@alexanderfortin/semantic-release-keep-a-changelog":"^0.2.1"},"peerDependencies":{"@sinclair/typebox":"^0.34.49","@earendil-works/pi-tui":"^0.74.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-token-usage_0.1.4_1778244792390_0.16615282334617842","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@alexanderfortin/pi-token-usage","version":"0.1.5","keywords":["pi-package","token-usage","cost-tracking","session-analysis"],"author":{"name":"Alexander Fortin"},"license":"MIT","_id":"@alexanderfortin/pi-token-usage@0.1.5","maintainers":[{"name":"alexanderfortin","email":"a@l3x.in"}],"homepage":"https://github.com/shaftoe/pi-token-usage#readme","bugs":{"url":"https://github.com/shaftoe/pi-token-usage/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"c460df9135b7d369af51521547df4b2a50f6525f","tarball":"https://registry.npmjs.org/@alexanderfortin/pi-token-usage/-/pi-token-usage-0.1.5.tgz","fileCount":48,"integrity":"sha512-k8YLlUwxmmYI0n2gjzGkVRPT3rEqLq6LgZipjhk/6BoncL2TSZBUz8zWhvdwoTlZ9fuyTgF1UAl5W/RdpsFipA==","signatures":[{"sig":"MEYCIQDXleALeaCk7xyiy56dVutyK+zv/BohuykdIhRZV1sorAIhAIEXFeubSL8R4oDjF5feMY/Xypjl01tdAUHb9L0HaFxZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexanderfortin%2fpi-token-usage@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":72012},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4997701e6fcf7241a5e27ad89b52a7eb4f8e3cf6","scripts":{"lint":"eslint ./","test":"bun test","build":"bun run check && tsc --project tsconfig.build.json","check":"tsc --noEmit","format":"prettier --write 'src/**/*.ts' 'test/**/*.ts'","release":"semantic-release","validate":"bun run check && bun run lint && bun run format:check","format:check":"prettier --check 'src/**/*.ts' 'test/**/*.ts'","test:coverage":"bun test --coverage --coverage-reporter=lcov","release:dry-run":"semantic-release --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2a0bd052-3885-4d71-835a-84fdea40591f"}},"repository":{"url":"git+https://github.com/shaftoe/pi-token-usage.git","type":"git"},"_npmVersion":"11.12.1","description":"Pi coding agent extension for analyzing token usage and cost across session files","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","eslint":"^10.3.0","globals":"^17.6.0","prettier":"^3.8.3","bun-types":"^1.3.13","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.7.0","semantic-release":"^25.0.3","typescript-eslint":"^8.59.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"13.1.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","@alexanderfortin/semantic-release-keep-a-changelog":"^0.2.1"},"peerDependencies":{"@sinclair/typebox":"^0.34.49","@earendil-works/pi-tui":"^0.74.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-token-usage_0.1.5_1778589361187_0.09468999857623683","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@alexanderfortin/pi-token-usage","version":"0.2.0","keywords":["pi-package","token-usage","cost-tracking","session-analysis"],"author":{"name":"Alexander Fortin"},"license":"MIT","_id":"@alexanderfortin/pi-token-usage@0.2.0","maintainers":[{"name":"alexanderfortin","email":"a@l3x.in"}],"homepage":"https://github.com/shaftoe/pi-token-usage#readme","bugs":{"url":"https://github.com/shaftoe/pi-token-usage/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"2e10114bd1400262b0fab1d285df96447469e5c9","tarball":"https://registry.npmjs.org/@alexanderfortin/pi-token-usage/-/pi-token-usage-0.2.0.tgz","fileCount":52,"integrity":"sha512-xyrEL/zWfaV/BpaVYqaXCViArQwE5mXXf1Bb+5x5pxwLoPWzRex9NJUM+q4zuwwhVBQYLouL+6j50zKthCjlRQ==","signatures":[{"sig":"MEQCIBJx7My7wMGOOOB76bGy8Fu5mNn+ghwf/x6boSvIxa88AiAC1LdvjZefVndAW27uYv/h943Bz9UDxIHgiOlTlqfopg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexanderfortin%2fpi-token-usage@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":91884},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6c3ec41d7d995b4a020b3950b95d6d212e16edca","scripts":{"lint":"eslint ./","test":"bun test","build":"bun run check && tsc --project tsconfig.build.json","check":"tsc --noEmit","format":"prettier --write 'src/**/*.ts' 'test/**/*.ts'","release":"semantic-release","validate":"bun run check && bun run lint && bun run format:check","format:check":"prettier --check 'src/**/*.ts' 'test/**/*.ts'","test:coverage":"bun test --coverage --coverage-reporter=lcov","release:dry-run":"semantic-release --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2a0bd052-3885-4d71-835a-84fdea40591f"}},"repository":{"url":"git+https://github.com/shaftoe/pi-token-usage.git","type":"git"},"_npmVersion":"11.12.1","description":"Pi coding agent extension for analyzing token usage and cost across session files","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","eslint":"^10.3.0","globals":"^17.6.0","prettier":"^3.8.3","bun-types":"^1.3.13","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.7.0","semantic-release":"^25.0.3","typescript-eslint":"^8.59.3","@semantic-release/git":"^10.0.1","@semantic-release/npm":"13.1.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","@alexanderfortin/semantic-release-keep-a-changelog":"^0.2.1"},"peerDependencies":{"@sinclair/typebox":"^0.34.49","@earendil-works/pi-tui":"^0.74.0","@earendil-works/pi-coding-agent":"^0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-token-usage_0.2.0_1778593121081_0.7283547930668937","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@alexanderfortin/pi-token-usage","version":"0.2.1","keywords":["pi-package","token-usage","cost-tracking","session-analysis"],"author":{"name":"Alexander Fortin"},"license":"MIT","_id":"@alexanderfortin/pi-token-usage@0.2.1","maintainers":[{"name":"alexanderfortin","email":"a@l3x.in"}],"homepage":"https://github.com/shaftoe/pi-token-usage#readme","bugs":{"url":"https://github.com/shaftoe/pi-token-usage/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"fa68f319227deded9614a01cfb46bb639c6426d6","tarball":"https://registry.npmjs.org/@alexanderfortin/pi-token-usage/-/pi-token-usage-0.2.1.tgz","fileCount":52,"integrity":"sha512-z9So9cvWNycRGx1zLL2IX1YcpbBxVasrLLKkA/aYL0IdW7KvNc7tYquxR1Fg1wBBDU02Ngy8gMx3KiCk7LVTug==","signatures":[{"sig":"MEUCIQDFVzBaE60DFina4D5IwwgBoH/rmkMwLsJicRAp2I7inQIgW0YyCqho1sK+aZcb+l6Dj4PQJWqRNOMCFZbtSbf9I8w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexanderfortin%2fpi-token-usage@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":92166},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c568d031d492222586d6006633369e841f7df82b","scripts":{"lint":"eslint ./","test":"bun test","build":"bun run check && tsc --project tsconfig.build.json","check":"tsc --noEmit","format":"prettier --write 'src/**/*.ts' 'test/**/*.ts'","release":"semantic-release","validate":"bun run check && bun run lint && bun run format:check","format:check":"prettier --check 'src/**/*.ts' 'test/**/*.ts'","test:coverage":"bun test --coverage --coverage-reporter=lcov","release:dry-run":"semantic-release --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2a0bd052-3885-4d71-835a-84fdea40591f"}},"repository":{"url":"git+https://github.com/shaftoe/pi-token-usage.git","type":"git"},"_npmVersion":"11.12.1","description":"Pi coding agent extension for analyzing token usage and cost across session files","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","eslint":"10.4.0","globals":"^17.6.0","prettier":"^3.8.3","bun-types":"1.3.14","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"25.9.1","semantic-release":"^25.0.3","typescript-eslint":"8.59.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"13.1.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","@alexanderfortin/semantic-release-keep-a-changelog":"^0.2.1"},"peerDependencies":{"@sinclair/typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-token-usage_0.2.1_1779435136971_0.9434664677490086","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@alexanderfortin/pi-token-usage","version":"0.3.0","keywords":["pi-package","token-usage","cost-tracking","session-analysis"],"author":{"name":"Alexander Fortin"},"license":"MIT","_id":"@alexanderfortin/pi-token-usage@0.3.0","maintainers":[{"name":"alexanderfortin","email":"a@l3x.in"}],"homepage":"https://github.com/shaftoe/pi-token-usage#readme","bugs":{"url":"https://github.com/shaftoe/pi-token-usage/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"34ce167209e4a3222ca9ad952e9025eae36638d4","tarball":"https://registry.npmjs.org/@alexanderfortin/pi-token-usage/-/pi-token-usage-0.3.0.tgz","fileCount":52,"integrity":"sha512-EtZL99q17zykviAc8NIltAVn1Km+2MkLmrmOnwlDH2TOfZYPILvOkipScqhNW0fRMps3jy4+KL+D47g9bFEsRQ==","signatures":[{"sig":"MEUCIQCbfdoDidMMh8TsI+Hd4nhEyPpV0y/Uv1SQbSajuQyv2gIgLiAPVAheztPp7PEzyEswCchyEgOK9EteEJVq5P2Hj7E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexanderfortin%2fpi-token-usage@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":93533},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"20ec3f823ef0bf3d3dfaff860c09319d1861bad0","scripts":{"lint":"eslint ./","test":"bun test","build":"bun run check && tsc --project tsconfig.build.json","check":"tsc --noEmit","format":"prettier --write 'src/**/*.ts' 'test/**/*.ts'","release":"semantic-release","validate":"bun run check && bun run lint && bun run format:check","format:check":"prettier --check 'src/**/*.ts' 'test/**/*.ts'","test:coverage":"bun test --coverage --coverage-reporter=lcov","release:dry-run":"semantic-release --dry-run"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2a0bd052-3885-4d71-835a-84fdea40591f"}},"repository":{"url":"git+https://github.com/shaftoe/pi-token-usage.git","type":"git"},"_npmVersion":"11.12.1","description":"Pi coding agent extension for analyzing token usage and cost across session files","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","eslint":"10.4.0","globals":"^17.6.0","prettier":"^3.8.3","bun-types":"1.3.14","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"25.9.1","semantic-release":"^25.0.3","typescript-eslint":"8.59.4","@semantic-release/git":"^10.0.1","@semantic-release/npm":"13.1.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","@alexanderfortin/semantic-release-keep-a-changelog":"^0.2.1"},"peerDependencies":{"@sinclair/typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-token-usage_0.3.0_1779440728145_0.8443479558294436","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"pi":{"extensions":["./dist/index.js"]},"_id":"@alexanderfortin/pi-token-usage@0.4.0","bugs":{"url":"https://github.com/shaftoe/pi-token-usage/issues"},"dist":{"shasum":"d39dc64b35a58d0c4fd71b83b924270d32ec4654","tarball":"https://registry.npmjs.org/@alexanderfortin/pi-token-usage/-/pi-token-usage-0.4.0.tgz","fileCount":52,"integrity":"sha512-QVhhlu7T9S/rg/TYOqc9lt32+nWgXdPyaFozrPMvg5jZRzPaIR/rN9+bFKzW3bJ9Wc2ZtZPX8La407vJDqGRvA==","signatures":[{"sig":"MEUCIDXf8qTJFIzuAnCu4ws13aYi0YUKQJWipCG0FVHcXj5gAiEAhHrj1Hw0MSe2Z/oTzzlJa1CBEO9nn12Xz6lM/XwHkM0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD+LUEku0FyDASoIm/1iwWAtai1WfWLnTzx8XAJ8M1GzQIhAJRJQ3K++7tOEHENYwD5PAxi2u8cjeo5ExUC3P0QZBu/"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@alexanderfortin%2fpi-token-usage@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":93857},"main":"./dist/index.js","name":"@alexanderfortin/pi-token-usage","type":"module","types":"./dist/index.d.ts","author":{"name":"Alexander Fortin"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"24a790b982b63011ce0100df1fc9b16b278cf5e1","license":"MIT","scripts":{"lint":"eslint ./","test":"vitest run","build":"pnpm run check && tsc --project tsconfig.build.json","check":"tsc --noEmit","format":"prettier --write 'src/**/*.ts' 'test/**/*.ts'","release":"semantic-release","validate":"pnpm run check && pnpm run lint && pnpm run format:check","format:check":"prettier --check 'src/**/*.ts' 'test/**/*.ts'","test:coverage":"vitest run --coverage --coverage.reporter=lcov","release:dry-run":"semantic-release --dry-run"},"version":"0.4.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:2a0bd052-3885-4d71-835a-84fdea40591f"}},"homepage":"https://github.com/shaftoe/pi-token-usage#readme","keywords":["pi-package","token-usage","cost-tracking","session-analysis"],"repository":{"url":"git+https://github.com/shaftoe/pi-token-usage.git","type":"git"},"_npmVersion":"11.19.0","description":"Pi coding agent extension for analyzing token usage and cost across session files","directories":{},"maintainers":[{"name":"alexanderfortin","email":"a@l3x.in"}],"_nodeVersion":"24.21.0","dependencies":{"@js-temporal/polyfill":"^0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@12.6.0","devDependencies":{"jiti":"^2.7.0","eslint":"^10.11.0","vitest":"^5.0.0","globals":"^17.12.0","prettier":"^3.9.9","@eslint/js":"^10.0.1","typescript":"6","@types/node":"^26.6.2","semantic-release":"^25.0.9","typescript-eslint":"^8.70.1","@vitest/coverage-v8":"^5.0.0","@semantic-release/git":"^11.0.1","@semantic-release/npm":"^13.2.0","@semantic-release/github":"^12.0.10","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","@alexanderfortin/semantic-release-keep-a-changelog":"^0.4.14"},"peerDependencies":{"@sinclair/typebox":"*","@earendil-works/pi-tui":"^0.87.1","@earendil-works/pi-coding-agent":"^0.87.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-token-usage_0.4.0_1790311853961_0.4247734524790572"}}},"time":{"created":"2026-04-07T00:21:11.025Z","modified":"2026-09-25T04:50:54.648Z","0.1.0":"2026-04-07T00:21:11.292Z","0.1.1":"2026-04-07T01:20:35.077Z","0.1.2":"2026-04-14T14:14:07.563Z","0.1.3":"2026-04-26T20:22:40.839Z","0.1.4":"2026-05-08T12:53:12.568Z","0.1.5":"2026-05-12T12:36:01.309Z","0.2.0":"2026-05-12T13:38:41.231Z","0.2.1":"2026-05-22T07:32:17.103Z","0.3.0":"2026-05-22T09:05:28.293Z","0.4.0":"2026-09-25T04:50:54.061Z"},"bugs":{"url":"https://github.com/shaftoe/pi-token-usage/issues"},"author":{"name":"Alexander Fortin"},"license":"MIT","homepage":"https://github.com/shaftoe/pi-token-usage#readme","keywords":["pi-package","token-usage","cost-tracking","session-analysis"],"repository":{"url":"git+https://github.com/shaftoe/pi-token-usage.git","type":"git"},"description":"Pi coding agent extension for analyzing token usage and cost across session files","maintainers":[{"name":"alexanderfortin","email":"a@l3x.in"}],"readme":"# pi-token-usage\n\nA [Pi coding agent](https://pi.dev) extension that\n\n- analyzes token usage and cost across your session files\n- prunes old sessions files on demand\n\n## Installation\n\n```bash\n# NPM (recommended)\npi install npm:@alexanderfortin/pi-token-usage\n\n# Git\npi install git:github.com/shaftoe/pi-token-usage\n\n# Or quick-test without installing\npi -e ./pi-token-usage/src/index.ts\n```\n\n## Usage\n\n### Report Command\n\n```\n/token-report                                  Report all sessions (table in TUI)\n/token-report 7                                Last 7 days\n/token-report /path/to/dir                     Specific directory or file\n/token-report --format csv                     CSV to stdout\n/token-report --format csv --save report.csv   Save CSV to file\n/token-report 7 --format json                  JSON to stdout\n/token-report --format md                      Markdown to stdout\n/token-report --format markdown --save out.md  Save Markdown to file\n/token-report --format=csv --save=out.csv      Equals-sign syntax also works\n```\n\n### Prune Command\n\n```\n/token-prune 30                    Delete sessions older than 30 days\n/token-prune 30 --dry-run          Show what would be deleted without actually deleting\n/token-prune 60 --path /custom/dir Prune a specific directory\n/token-prune 100 --force           Skip confirmation prompt for large deletions\n```\n\n### Report Arguments\n\n| Argument | Description |\n|----------|-------------|\n| `[days]` | Number — show sessions from the last N days |\n| `[path]` | Path to a `.jsonl` file or directory (default: `~/.pi/agent/sessions`, or `$PI_CODING_AGENT_DIR/sessions` when set) |\n| `--format, -f` | Output format: `table` (default), `csv`, `json`, `markdown` (alias: `md`) |\n| `--save, -s` | Write output to file instead of stdout/TUI |\n\n### Prune Arguments\n\n| Argument | Description |\n|----------|-------------|\n| `<days>` | Number (required) — delete sessions older than N days |\n| `--dry-run, -d` | Preview what would be deleted without actually deleting |\n| `--force, -f` | Skip confirmation prompt when deleting many files |\n| `--path, -p` | Path to a directory (default: `~/.pi/agent/sessions`, or `$PI_CODING_AGENT_DIR/sessions` when set) |\n\n### Prune Behavior\n\nThe prune command performs two operations:\n\n1. **Old session deletion**: Removes `.jsonl` session files whose modification time is older than the specified number of days\n2. **Empty file cleanup**: Removes any `.jsonl` files that are empty (0 bytes), regardless of age\n\n**Safety features**:\n- Dry-run mode lets you preview what will be deleted\n- If more than 100 files would be deleted, you must use `--force` to confirm (unless in dry-run mode)\n- Only `.jsonl` files are affected; other files are ignored\n\n### Output Formats\n\n**Table** (default) — interactive TUI overlay with styled columns.\n\n**CSV** — machine-readable spreadsheet format. Includes metadata as `#` comment lines.\n\n```csv\nModel,Provider,Turns,Input Tokens,Output Tokens,...\nclaude-sonnet-4-20250514,anthropic,10,50000,12000,...\nTOTAL,,15,70000,20000,...\n```\n\n**JSON** — structured output with `meta`, `models`, and `totals` sections. Pipe to `jq` for queries.\n\n**Markdown** — pipe-delimited table for notes, PRs, or documentation.\n\n## Development\n\n```bash\ncd pi-token-usage\npnpm install         # Install dependencies\npnpm run check       # Type-check with tsc\npnpm run lint        # Lint with eslint\npnpm run format:check  # Verify formatting\npnpm run format      # Auto-format with Prettier\npnpm test            # Run tests\npnpm run test:coverage  # Run tests and show coverage stats\n```\n\n## How It Works\n\n### Report Generation\n\n1. Scans `~/.pi/agent/sessions` (or `$PI_CODING_AGENT_DIR/sessions` when set, or a given path) for `.jsonl` session files\n2. Parses each file, extracting `assistant` messages with `usage` data\n3. Aggregates token counts and costs per model+provider\n4. Renders in the requested format\n\n### Session Pruning\n\n1. Scans the target directory (recursively) for `.jsonl` session files\n2. Checks each file's modification time and size\n3. Deletes files older than the specified days (or empty files)\n4. Reports total files deleted, space freed, and any errors encountered\n\n## Releasing\n\nThis project uses automated publishing to NPM via GitHub Actions. The workflow will:\n- Run all CI checks\n- Build the package\n- Publish to NPM with provenance (signed) via [trusted publishing](https://docs.npmjs.com/trusted-publishers)\n\n## License\n\nSee [LICENSE](./LICENSE)\n","readmeFilename":"README.md"}