{"_id":"clawculator","_rev":"26-8862b0d80ea36a1d812f9523abee1529","name":"clawculator","dist-tags":{"latest":"2.9.1"},"versions":{"2.0.0":{"name":"clawculator","version":"2.0.0","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.0.0","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"2fe22b3f6d385f36559181166196bdc53bb5a77c","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.0.0.tgz","fileCount":8,"integrity":"sha512-z/CcO2aTHUaTGDnlk44WWEYJXJ0DSEhuyOtkh6wOiOfgLMGV+AK5i7J3yAqrhalxWmY887FH342Fzk42mqt9rQ==","signatures":[{"sig":"MEUCIADSjh39JQJoxlTZbj9g8rDeF/6C3Jsp7mvKeELgMhIvAiEA1F9DpgcfDfQIHkVyVptPVV8jBCZflN+YJRwyqQvkdbc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222719},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"cea22d773f3f782369f121fc997a1966c9e163ff","scripts":{"test":"node -e \"const {runAnalysis} = require('./src/analyzer'); runAnalysis({configPath:'~/.openclaw/openclaw.json',sessionsPath:'',logsDir:''}).then(r => console.log('OK:', r.summary))\"","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.0.0_1772090906661_0.38462826310093634","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"clawculator","version":"2.0.1","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.0.1","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"1e6d9110b2ddbc704af94fe5289629dbf8dd984d","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.0.1.tgz","fileCount":8,"integrity":"sha512-9mGffnSmVxIkFBbSBGfbtP4LtF88AwDlx4u89QE1nn/t1yCE2omTo01lzj4l66x7488lQwxsZKspeKAZX7I/sg==","signatures":[{"sig":"MEQCIFiVrfZQxfI3BbbVsGilPnhvpZFzhwETkZ9sCmgkRba8AiBsM4AS5uZKg5GKg3BQnxKd1LCkBhsXHPP8KM4U98Rvgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222719},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"45de14a409cfaa085615e972fef227a082ad1bb0","scripts":{"test":"node -e \"const {runAnalysis} = require('./src/analyzer'); runAnalysis({configPath:'~/.openclaw/openclaw.json',sessionsPath:'',logsDir:''}).then(r => console.log('OK:', r.summary))\"","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.0.1_1772091069061_0.3684337484192899","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"clawculator","version":"2.1.0","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.1.0","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"d9e7c2ac10d22556d69d2c7b26188b4e7f3894a0","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.1.0.tgz","fileCount":14,"integrity":"sha512-QPYKwKNc2r2KnmLnpno2/7z6+ReiJT5vNwBbLz/RwOLm0Szm2tWDlt9T4+btFWeY8igQr0mG5VTdCSWOOHRN/A==","signatures":[{"sig":"MEUCIQCfFCdkKr/Gbd3OFV2YoWfoV9ArxX8ZU1hfJ+oLM2a98AIgXjse8rGhdWYGunPru+BwhHy8LlJCkUTUQTVtDEByk70=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120596},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"b3ad20834b817bd29bb1879b298a3c75379510b0","scripts":{"test":"node -e \"const {runAnalysis} = require('./src/analyzer'); runAnalysis({configPath:'~/.openclaw/openclaw.json',sessionsPath:'',logsDir:''}).then(r => console.log('OK:', r.summary))\"","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.1.0_1772182362889_0.4646471406939383","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"clawculator","version":"2.1.1","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.1.1","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"9d0c2cc3dc6deb1866fffd07c98ab611179c7ca2","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.1.1.tgz","fileCount":14,"integrity":"sha512-fhMtC9fdZW6k3LAl8oOcDvlw3Rkf0Ylin/XsyRc/0eCvpR+1wmhoZc/iHedPhp5+o5Ck0fxBZWUqX93DxU3xbg==","signatures":[{"sig":"MEUCIHapTfdcjpPE45PHQN4iA8Y1MmtuPjX+MtUooBmoZIxDAiEAhjYIGPi92kleKlSicGa8EhthXso9EbKipWkxKKvjvTY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119915},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"3bcdc8cc0ebc216e3348ed24b9809a1136e00b5c","scripts":{"test":"node -e \"const {runAnalysis} = require('./src/analyzer'); runAnalysis({configPath:'~/.openclaw/openclaw.json',sessionsPath:'',logsDir:''}).then(r => console.log('OK:', r.summary))\"","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.1.1_1772183318721_0.8949888885960531","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"clawculator","version":"2.1.2","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.1.2","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"f68e6090ce19f14169cec2f7bdc8e5d234c4b339","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.1.2.tgz","fileCount":14,"integrity":"sha512-JTtwWfTvQltRvyYZsf/OobL0lioQKrC4bM6LQ7M1flDLAfWVQMTnTByLjmxYK+dq9F3gvZjY+cPzvW/almpOYA==","signatures":[{"sig":"MEQCIH0ZSg9JZCJQHkVJT+ehVyVXmF6Q94Tx+dDQL9aoIwTYAiAJmYJujRDs84znQukeX4/afE4Gu8Gkm7fbyGFu6YSntg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119965},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"dc9ae816388866dda5df366f4d2c5ebb31fb06f1","scripts":{"test":"node -e \"const {runAnalysis} = require('./src/analyzer'); runAnalysis({configPath:'~/.openclaw/openclaw.json',sessionsPath:'',logsDir:''}).then(r => console.log('OK:', r.summary))\"","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.1.2_1772185080712_0.42465059230960045","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"clawculator","version":"2.1.3","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.1.3","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"0ec891fbeaeec0f2021b98b4c5121c9a67363a9b","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.1.3.tgz","fileCount":14,"integrity":"sha512-PVWHtL9TM4r4eNuIPKRjrPdy6jsk5Ljb+NUwY+Gv9T8CZqKstMAH+TqNjG0PIuFYc0FtkQU5+3f5RWSRReNBig==","signatures":[{"sig":"MEUCIGit90cYyhpmdHzurEbn2/vfk/Dhc43p6xvmUF5kv2BvAiEAipGuno5LOKhJU1NsrrqD28sFDOFP67IGRUOe38PKJ/0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120698},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"665693d6ce7758dc87e239e351d0c637cf018820","scripts":{"test":"node -e \"const {runAnalysis} = require('./src/analyzer'); runAnalysis({configPath:'~/.openclaw/openclaw.json',sessionsPath:'',logsDir:''}).then(r => console.log('OK:', r.summary))\"","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.1.3_1772185562124_0.6127090080009276","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"name":"clawculator","version":"2.1.4","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.1.4","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"6a46e58fbb5113f2773c39c3fefcaa93c9ec14d6","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.1.4.tgz","fileCount":15,"integrity":"sha512-RN0vo4MjEKiQhb3hJ4AWznXD9+h1q6epQXZAqf8P5MFBd8nD9yH1wlm7feh5amaOr0l82AD843/8VAI08K0UkA==","signatures":[{"sig":"MEUCICvWTzBcj0JQLSkBEWNm6rCQGDLDeeBnV7mFjOU4N2NQAiEAqnXR2lZL3TKft1JMGpmgmAnZgW/bWtdIotUWewbcqWI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":150735},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"93c14065c3a07416cbec7e401981ed126cc0a21e","scripts":{"test":"node -e \"const {runAnalysis} = require('./src/analyzer'); runAnalysis({configPath:'~/.openclaw/openclaw.json',sessionsPath:'',logsDir:''}).then(r => console.log('OK:', r.summary))\"","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.1.4_1772209715515_0.32778520173244696","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"clawculator","version":"2.2.0","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.2.0","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"ee2191affa17d68444de15f71d7c31ce2a99dd36","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.2.0.tgz","fileCount":16,"integrity":"sha512-KDbSTIxbLgaQyUQI7/ttXg5Zh3d9Uw+sPzBYG6Uqoe38lZtKpziQKZne1VdAK7U0WycPggy0I1f0DB0XZ9MTRg==","signatures":[{"sig":"MEYCIQCUZ//rG0szQYQYGU1LGIWPUbnALNlX5k+We758XlyKdAIhAJsWYoQtb2bVMCPNOkou9EiJ0SDyexNFEwZcjQtfFH7T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":213396},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"2bc04b62815c332955eb134e8e896f674ac732c6","scripts":{"test":"node -e \"const {runAnalysis} = require('./src/analyzer'); runAnalysis({configPath:'~/.openclaw/openclaw.json',sessionsPath:'',logsDir:''}).then(r => console.log('OK:', r.summary))\"","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.2.0_1772213066923_0.28589413253889084","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"clawculator","version":"2.2.1","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.2.1","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"1044fbb3210436ca2e93f9f93daa78fe1a1da6a2","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.2.1.tgz","fileCount":17,"integrity":"sha512-VvVi0ECU0gbtDEd6Egp0xhn5E+7jnXRtZsVx/nuvlfkylirMbHftb3zyPcTmRZM42UQglE5wtW5p80P1sJMJyA==","signatures":[{"sig":"MEYCIQCjp801KIlAxysGJoMBt+H2weLPG7t7JonumjXFZKK3QQIhAM1+baqpCqeCd4jtBg/FGa+Ugcpvs/1OxZBDJnRh350h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":251774},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"0bf3dfcce4977e40c89444638db023653a821cf8","scripts":{"test":"node -e \"const {runAnalysis} = require('./src/analyzer'); runAnalysis({configPath:'~/.openclaw/openclaw.json',sessionsPath:'',logsDir:''}).then(r => console.log('OK:', r.summary))\"","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.2.1_1772214545185_0.18963555565396328","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"clawculator","version":"2.2.2","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.2.2","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"5b53b317f90eeeff6e47e838eec65aa1dfada999","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.2.2.tgz","fileCount":17,"integrity":"sha512-rcs5PpI10PXJkP/8Chr3C2L7F2OYcrvCxG1QQb9n4i7Dt63Xukb9WEjRmtIH5O3GcnRNMW8iLiY3x5OOyD1zGg==","signatures":[{"sig":"MEUCIDxlTatxtPaK9Iq39/flz50194I4vMZyMxXe1XCczcZFAiEAmWtnyRuCsMCcovQVoWUWGi/qH72NHuybZ92En0n6kZM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":252128},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"83a0ac632649cc8653fae05e626b258171f65831","scripts":{"test":"node -e \"const {runAnalysis} = require('./src/analyzer'); runAnalysis({configPath:'~/.openclaw/openclaw.json',sessionsPath:'',logsDir:''}).then(r => console.log('OK:', r.summary))\"","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.2.2_1772246516307_0.34079104712492714","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"clawculator","version":"2.3.0","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.3.0","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"13e36a81363ee1abe1ebc7e56910704339aa9dde","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.3.0.tgz","fileCount":17,"integrity":"sha512-8Hn8tDRQqJS7/q2I3lUf4SA+hR9i3LXWVeKQ/WSTJ0ayS9+W1GIsBydVweKnWTBoYDTdImSXVPRAjbqu8idHiA==","signatures":[{"sig":"MEYCIQDMlDu7h20v5pkkcZkCdgYMfxvADMnkBYwqWnK6+Clq5QIhAPmK+BHbjeaes/jwucx3rKmM4oXmOq+zaAYStGmab3/J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":261616},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"fdc1869e2758cbf72651561a1dd1820daafa8bb9","scripts":{"test":"node -e \"const {runAnalysis} = require('./src/analyzer'); runAnalysis({configPath:'~/.openclaw/openclaw.json',sessionsPath:'',logsDir:''}).then(r => console.log('OK:', r.summary))\"","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.3.0_1772248515305_0.29392573606724337","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"clawculator","version":"2.3.1","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.3.1","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"0bf3e683da878c27ff8c900ec37d83d4ca7847ea","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.3.1.tgz","fileCount":17,"integrity":"sha512-I+OxoV39bIeldU8CqqDK1hFn6aT2tGRGUHDtI80VwzZ2AYCptZBdt0BMM4z+yaZlLhtDVX2zwbnpqReQPd9c6Q==","signatures":[{"sig":"MEQCIGycefy05sykpnTukbievQT8zLmv2C8eIV4q7APXizpIAiB+d5DS3q9BeUGixU8gvN8HhYn/Gq4IxbEiqFrfAYHKng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":261614},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"467a9399ea9b3d1a509c38e690dde8f204bc94b7","scripts":{"test":"node -e \"const {runAnalysis} = require('./src/analyzer'); runAnalysis({configPath:'~/.openclaw/openclaw.json',sessionsPath:'',logsDir:''}).then(r => console.log('OK:', r.summary))\"","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.3.1_1772248858203_0.7937826038540676","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"clawculator","version":"2.3.2","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.3.2","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"222b33ef9a24ed6ee5c8df52b7b059fd6e8515c2","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.3.2.tgz","fileCount":17,"integrity":"sha512-kGnJA5i+RkuxPE4IL7TR7DxC6+sE6W3FbutYFKaQozASQ+bjrctswXdhxoCoCbx4q8FkuWCAYNYWlZZVZE24Hw==","signatures":[{"sig":"MEQCIFG6qiTXJNCiby12/hIqJzlxW/mPsNg60LLwzpGjxRy2AiBiONqD1iWk02zLVMSd5HURYjU96KePqF2bYn710O3Stg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268576},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"9df5fe3dfdb7a771605f5f6fda1df12d75d215ac","scripts":{"test":"node -e \"const {runAnalysis} = require('./src/analyzer'); runAnalysis({configPath:'~/.openclaw/openclaw.json',sessionsPath:'',logsDir:''}).then(r => console.log('OK:', r.summary))\"","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.3.2_1772249688551_0.7886097405379386","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"clawculator","version":"2.4.0","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.4.0","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"97b636c8647d8ecccddf95df49dc98af70e455a1","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.4.0.tgz","fileCount":17,"integrity":"sha512-6LbUg9ilIEcvfvDCmyRAzXKgDRx8mY/4rHvBwBub73tsv61G9J+HjQDnJF6yAlMGU8wF/0PCUFzecVJvU24nrg==","signatures":[{"sig":"MEUCIARY18cifa84fSH1PTZ2Ybq7nyVTbfjxqHDeLwNgc/FNAiEA4YljU09U7O1Kt29FIYaPUX3BwbV3GCuvD5YwdGH5UVg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268576},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"b72f0020bdbcb08b5c28f72230872f98753c082a","scripts":{"test":"node -e \"const {runAnalysis} = require('./src/analyzer'); runAnalysis({configPath:'~/.openclaw/openclaw.json',sessionsPath:'',logsDir:''}).then(r => console.log('OK:', r.summary))\"","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.4.0_1772255643355_0.5725216309608523","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"clawculator","version":"2.5.0","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.5.0","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"376086490acb90495ba5811e80eaaef6384870a9","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.5.0.tgz","fileCount":19,"integrity":"sha512-4HRsd8Rqr+bRGLZdu7XpGMbomaEXGybNDzzujIMzVNSHY5ohQV83EMhYry/kMGYDUXRhVewJN+QJ2hxjmtZV5Q==","signatures":[{"sig":"MEYCIQD930PETWOMVYEQNKN7828KyFc9yjq1oGcrPVOaKx1Y7AIhAI/1OalAA2ncvMbcwlqUJtaz2P6TPDdla7TqLyiXvMSe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":299898},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"3560e2686b8dd1fd3e3302ef5153871e6ba34d90","scripts":{"test":"node -e \"const {runAnalysis} = require('./src/analyzer'); runAnalysis({configPath:'~/.openclaw/openclaw.json',sessionsPath:'',logsDir:''}).then(r => console.log('OK:', r.summary))\"","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.5.0_1772255792934_0.0940460846711253","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"clawculator","version":"2.5.1","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.5.1","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"f4c356e942d2a7373b4dd5f4bc884f17aba4a1ab","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.5.1.tgz","fileCount":19,"integrity":"sha512-vfjDDdUOH0K+d8BGbCUf1/WdWTeMUiJalr5cZcFePKixCMm4CjuZfRjtZbpEq0bwEYQf6wp2LOeHUxZLowFwAw==","signatures":[{"sig":"MEQCIGW8DycElqwJInc7NMnhQ47UPoF+nu3ITDzjhBa2xOC4AiAcQ7vv5QMMR1rxCR4X025sLdyWbKWnph0CuiXR04CMDw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":300071},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"b90f632e72832be0b80a2057c9918bb15c892302","scripts":{"test":"node -e \"const {runAnalysis} = require('./src/analyzer'); runAnalysis({configPath:'~/.openclaw/openclaw.json',sessionsPath:'',logsDir:''}).then(r => console.log('OK:', r.summary))\"","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.5.1_1772255856309_0.193606670887565","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"clawculator","version":"2.6.0","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.6.0","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"4a3ba7c0dc0474c50dc9204421af7cdf226d8c92","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.6.0.tgz","fileCount":21,"integrity":"sha512-IRneQCyrY7ewpb7j8hedLLSlAwI0lwQ67uNiNJmWD5hY2sMqxjLKsbWGiTqA7Sb+7lkg9kYD9GNf/CPzC4OvBg==","signatures":[{"sig":"MEUCIHpQvVdjI6q5Q1/fRnyTNK6QfFWNJH1sxaE6jzVs6LumAiEAr2amAbynxTB1APzelql3T58ZgSByrv7pKpKwySW/dkU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":393363},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"581a10346319f83b8d20380d805b7fd9d74d1f07","scripts":{"test":"node -e \"const {runAnalysis} = require('./src/analyzer'); runAnalysis({configPath:'~/.openclaw/openclaw.json',sessionsPath:'',logsDir:''}).then(r => console.log('OK:', r.summary))\"","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"optionalDependencies":{"better-sqlite3":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.6.0_1772257341500_0.9863873651619135","host":"s3://npm-registry-packages-npm-production"}},"2.6.1":{"name":"clawculator","version":"2.6.1","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.6.1","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"faa6703e91944b4da2a2f32f8c75d17c63ed7d93","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.6.1.tgz","fileCount":21,"integrity":"sha512-a0+ICHEeID84oEsuRwZxTBFAGvruSS7T5PIV4r6V9wqH6yk+y5IkX9oQ+71yDSG7r3IDgOGkWUyCI/aSX15/Fw==","signatures":[{"sig":"MEQCIC2yrmSDSASyuoB54YWK1kRNwG9ffzkN2+jxlLTVRVjzAiA6PdJFxTANehFYOEUSjTl8FxK6Ozh2H0XTIVUNz0eXbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":393272},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"16606a29aff34954fe7b55e716e460b8d74538c0","scripts":{"test":"node -e \"const {runAnalysis} = require('./src/analyzer'); runAnalysis({configPath:'~/.openclaw/openclaw.json',sessionsPath:'',logsDir:''}).then(r => console.log('OK:', r.summary))\"","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","_hasShrinkwrap":false,"optionalDependencies":{"better-sqlite3":"^11.10.0"},"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.6.1_1772257768763_0.034847644719035564","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"clawculator","version":"2.7.0","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.7.0","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"34fa67db65cb69348be42430b3694e9bf33735b2","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.7.0.tgz","fileCount":18,"integrity":"sha512-j7X/3fJ18jQs5RFRVLJlAL9bHAHsv3OoAD7x/OzkCVtuAzAkQ0m0Tr40IiPmAcbpluqoOIH7QQn25zI1jHuTVQ==","signatures":[{"sig":"MEUCIFi2c18yiKRY9n0ZcDUbUiqSHSyoifGR65suI45KGm0mAiEAh2uqsbGhKt9CC2p24zAUepUV6hvnFvpv2bpRY3Q0ZBs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":310796},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"995fd03abee6bb21f7d4ca94164609cf0e20a886","scripts":{"test":"node test/run.js","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"optionalDependencies":{"better-sqlite3":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.7.0_1772261736083_0.24441051389355617","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"clawculator","version":"2.8.0","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.8.0","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"db2aa98de30a478b0888a3c5f2c0eaacfdd4ce8b","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.8.0.tgz","fileCount":20,"integrity":"sha512-oIDemwbNbNTP1SONrNBuTDT+iUP3SHnk70W6hgDu9qx/BIJDYtOPHsXLvMPRkP4jBRK2ZGW7f73gD8N2yziU8w==","signatures":[{"sig":"MEYCIQDcuyyZtFgcVjiCIQPmOOpAXH9xRCConj7HxXXK3xsyEwIhAIN2j6xmw6Xoz+Y4imu9P+/qNsNoVBASox1qoy928GK3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":333030},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"4d02ef7175eede6d99e00a81b82381ca71ce50a8","scripts":{"test":"node test/run.js","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"optionalDependencies":{"better-sqlite3":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.8.0_1772851906351_0.016056237325479783","host":"s3://npm-registry-packages-npm-production"}},"2.8.1":{"name":"clawculator","version":"2.8.1","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.8.1","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"6f448c87e227350821970b895bb4b7649eca7766","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.8.1.tgz","fileCount":20,"integrity":"sha512-EhtbHwPpk8dyyK8VTDrpcEkBktrBo4ULTGFQD69jCwvFVS7XtVbpIZz5KpSroYg+w3uu8rUn+X5DhyYuU9fBCw==","signatures":[{"sig":"MEQCICF0uDSOOQaR3j+T5QTjlvkzzO5ecvAmFtfPxs5x78bkAiAQ2KfnWbrGOBs9bruANB9PDYuCqXK4mpvIc7CPlg+8xg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":333689},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"f6bd3c9681ff567bf0444401d17a194a93ae844b","scripts":{"test":"node test/run.js","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"optionalDependencies":{"better-sqlite3":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.8.1_1772852601371_0.06192942927526657","host":"s3://npm-registry-packages-npm-production"}},"2.8.2":{"name":"clawculator","version":"2.8.2","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.8.2","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"cf46bfd96b8faa1f14c42b5afc1a42bf9f06d937","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.8.2.tgz","fileCount":20,"integrity":"sha512-MJW7mBn3Wljk2ALDE2xEh/y1j1zIeBb/QQYchbuQGS1yyP/wr1+0qC9kfwdt5puBcbEueO3fF7Hp8L444mE01w==","signatures":[{"sig":"MEQCIC3pw+UVQY54cMSw0bOlZ6E45pN0YIfpXhh60yLrD1HYAiACRHomEUFlJoOAv7nejYNbnyWMemEyJJcXvbC809AAeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":341666},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"32fb4fbd016e3c3c1a739e764b62452d7ca5d952","scripts":{"test":"node test/run.js","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"optionalDependencies":{"better-sqlite3":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.8.2_1772857001190_0.5683698982422132","host":"s3://npm-registry-packages-npm-production"}},"2.8.3":{"name":"clawculator","version":"2.8.3","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.8.3","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"e3319c97e28a32a4bfb6ce2f1470136ab7d25d54","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.8.3.tgz","fileCount":20,"integrity":"sha512-io/e8wGPEjhU0blYs04Jv2I+k+XZp+jfIQ/b2UO6Kt9V+QWca/wup5Xf3fNbV/08LJkOvT16udyxRzocC20KVA==","signatures":[{"sig":"MEUCIQC6IHyBr76JDpqHFE11wDlGN7PmW7UX4+DYB4sLNfzc1wIgR6o6H8uowdgzPODc5BMmPwyh/NBN3UfQuaBL+kh/fxg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":345758},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"f9399a17bcd7a176dceff1d019de9b3812fbcf05","scripts":{"test":"node test/run.js","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"optionalDependencies":{"better-sqlite3":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.8.3_1772858526178_0.1865639061395341","host":"s3://npm-registry-packages-npm-production"}},"2.8.4":{"name":"clawculator","version":"2.8.4","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.8.4","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"ef3af58bcae7656945f0aa6157f083efeeccd4d6","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.8.4.tgz","fileCount":20,"integrity":"sha512-O8wu3Pkhst5bDWOjbG82SyiXK0dChN9shqltCzJb6pKLfQec0eT7xc//3lvcTZzlE4l0sjoOA4FuEw6pe+QxOg==","signatures":[{"sig":"MEUCIQC0+441MtW9DZDoKB/mWv5/avR6KZTQa6QHxP0hYesvVQIgSTKI6pibq8aB382VL+ddjitBOuvCczzB7/uVH4BprOg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":345784},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"e5b8a658be57d20be06b3f82c1eaec820dee4853","scripts":{"test":"node test/run.js","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","dependencies":{},"_hasShrinkwrap":false,"optionalDependencies":{"better-sqlite3":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.8.4_1772860588525_0.1291131929365592","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"clawculator","version":"2.9.0","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","_id":"clawculator@2.9.0","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"homepage":"https://github.com/echoudhry/clawculator#readme","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"bin":{"clawculator":"bin/clawculator.js"},"dist":{"shasum":"1f3297b2cb7bb37d39e9c87c9f5b8c3a0db7cdc5","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.9.0.tgz","fileCount":20,"integrity":"sha512-FcJT/WWVkmyc986g3HasC5Or6/wOsQUFRIViTfrK7gjoa5JfsVt45KuJgexmEYd0ZUjcxvwDnCr1Eex4lvPxag==","signatures":[{"sig":"MEUCIGowf+DTZS41YvyraNPFfPIugd/447JkW9I6nJaMVtRuAiEAoKzCvV/OGZxjv3zYJE9v/Ds6h5E0VKaPIICDKErRJjc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":355411},"main":"src/analyzer.js","engines":{"node":">=18.0.0"},"gitHead":"13960e72e1afbc3aee41137cc917a82de8f302f2","scripts":{"test":"node test/run.js","start":"node bin/clawculator.js"},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"repository":{"url":"git+https://github.com/echoudhry/clawculator.git","type":"git"},"_npmVersion":"10.7.0","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","directories":{},"_nodeVersion":"20.15.0","_hasShrinkwrap":false,"optionalDependencies":{"canvas":"^3.2.1","better-sqlite3":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/clawculator_2.9.0_1772861214369_0.1781007474026135","host":"s3://npm-registry-packages-npm-production"}},"2.9.1":{"name":"clawculator","version":"2.9.1","description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","main":"src/analyzer.js","bin":{"clawculator":"bin/clawculator.js"},"scripts":{"start":"node bin/clawculator.js","test":"node test/run.js"},"keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"author":{"name":"Ed Choudhry"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/echoudhry/clawculator.git"},"engines":{"node":">=18.0.0"},"dependencies":{},"optionalDependencies":{"better-sqlite3":"^11.0.0"},"_id":"clawculator@2.9.1","gitHead":"6896e3ca9340597ccfaf0e885c4f9319c5f945d4","bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"homepage":"https://github.com/echoudhry/clawculator#readme","_nodeVersion":"20.15.0","_npmVersion":"10.7.0","dist":{"integrity":"sha512-LX3xszRuH3ig4ldF44p41chNV64yOPuCUwr6Ww+HeQHwbczFUhooOU8SMYyC/yuIufQdmDusJr8XsRqcD1WI0Q==","shasum":"5e442d38769a0c15ff6f0fd7e1833d03b32ef96e","tarball":"https://registry.npmjs.org/clawculator/-/clawculator-2.9.1.tgz","fileCount":20,"unpackedSize":345677,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCbCUhCENudrcMmyfCtsHq9bjKkTtRHmNj4E6CbO8MvSAIhANkhMq6xCI1ZrytwbHKT58Al5dAXgPleUbpJU+cug0LI"}]},"_npmUser":{"name":"echoudhry","email":"echoudhry@gmail.com"},"directories":{},"maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/clawculator_2.9.1_1772861757452_0.10135587421029468"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-26T07:28:26.661Z","modified":"2026-03-07T05:35:57.737Z","2.0.0":"2026-02-26T07:28:26.888Z","2.0.1":"2026-02-26T07:31:09.257Z","2.1.0":"2026-02-27T08:52:43.052Z","2.1.1":"2026-02-27T09:08:38.881Z","2.1.2":"2026-02-27T09:38:00.850Z","2.1.3":"2026-02-27T09:46:02.264Z","2.1.4":"2026-02-27T16:28:35.684Z","2.2.0":"2026-02-27T17:24:27.062Z","2.2.1":"2026-02-27T17:49:05.329Z","2.2.2":"2026-02-28T02:41:56.455Z","2.3.0":"2026-02-28T03:15:15.451Z","2.3.1":"2026-02-28T03:20:58.363Z","2.3.2":"2026-02-28T03:34:48.710Z","2.4.0":"2026-02-28T05:14:03.515Z","2.5.0":"2026-02-28T05:16:33.095Z","2.5.1":"2026-02-28T05:17:36.458Z","2.6.0":"2026-02-28T05:42:21.670Z","2.6.1":"2026-02-28T05:49:28.911Z","2.7.0":"2026-02-28T06:55:36.264Z","2.8.0":"2026-03-07T02:51:46.502Z","2.8.1":"2026-03-07T03:03:21.615Z","2.8.2":"2026-03-07T04:16:41.366Z","2.8.3":"2026-03-07T04:42:06.320Z","2.8.4":"2026-03-07T05:16:28.719Z","2.9.0":"2026-03-07T05:26:54.512Z","2.9.1":"2026-03-07T05:35:57.625Z"},"bugs":{"url":"https://github.com/echoudhry/clawculator/issues"},"author":{"name":"Ed Choudhry"},"license":"MIT","homepage":"https://github.com/echoudhry/clawculator#readme","keywords":["openclaw","claude","anthropic","ai-cost","token-usage","cost-optimization","llm-cost","ai-forensics","multi-model"],"repository":{"type":"git","url":"git+https://github.com/echoudhry/clawculator.git"},"description":"AI cost forensics for OpenClaw and multi-model setups. Your friendly penny pincher. 100% offline. Zero AI. Pure deterministic logic.","maintainers":[{"name":"echoudhry","email":"echoudhry@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"logo.png\" width=\"200\" />\n</p>\n\n# Clawculator 🦞\n\n> **Your friendly penny pincher.**\n\nAI cost forensics for OpenClaw and multi-model setups. Real-time browser dashboard. Terminal monitoring. Full offline analysis. Zero AI. Pure deterministic logic.\n\n[![npm version](https://badge.fury.io/js/clawculator.svg)](https://badge.fury.io/js/clawculator)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Live Demo](https://img.shields.io/badge/demo-live-38bdf8)](https://echoudhry.github.io/clawculator)\n\n---\n\n## The problem\n\nYou set up OpenClaw. It runs great. Then your API bill arrives and you have no idea why it's $150. Was it the heartbeat? A skill running a polling loop? WhatsApp groups processing every message on Sonnet? Orphaned sessions? Hooks on the wrong model?\n\nIt could be any of these. Clawculator finds all of them — with zero AI, zero guesswork, and zero data leaving your machine.\n\n---\n\n## Quick start\n\n```bash\nnpx clawculator --snapshot    # Get your cost grade — screenshot & share\nnpx clawculator --web         # Browser dashboard at localhost:3457\n```\n\n---\n\n## [▶ Live Demo](https://echoudhry.github.io/clawculator)\n\nSee the full dashboard with simulated data — Pac-Claw, hourly charts, heat map, live feed, and more.\n\n![Clawculator Web Dashboard](web-dashboard.png)\n\n---\n\n## 🦞 The Pac-Claw\n\nThe dashboard features a Pac-Man-style lobster claw that chomps across the header eating pennies. When an API call comes in, the claw goes into **TURBO mode** — speeds up 3x, glows red, and extra pennies spawn. Because your friendly penny pincher should look the part.\n\n---\n\n## Modes\n\n### `--snapshot` — Shareable Grade Card (new in v2.8)\n\n```bash\nnpx clawculator --snapshot\n```\n\nGrades your setup **A+ to D**, shows your daily cost range, and displays your setup complexity — all in a screenshot-ready terminal card. No exact dollar amounts or session names are exposed. Built for sharing.\n\n```\n  ╔══════════════════════════════════════════════╗\n  ║                                              ║\n  ║       🦞  C L A W C U L A T O R             ║\n  ║                                              ║\n  ║              ┌─────────┐                     ║\n  ║              │   A+    │                     ║\n  ║              └─────────┘                     ║\n  ║           cost health grade                  ║\n  ║                                              ║\n  ║        💲 Under $1/day                       ║\n  ║                                              ║\n  ║  📱 2 channels  🔧 4 skills  ⏰ 1 cron      ║\n  ║  💬 6 sessions  🧠 2 models  ⚡ 85% cache   ║\n  ║                                              ║\n  ║  ✅ No issues found                          ║\n  ║                                              ║\n  ║     Get your OpenClaw cost grade             ║\n  ║     npx clawculator --snapshot               ║\n  ║                                              ║\n  ╚══════════════════════════════════════════════╝\n```\n\nScreenshot it. Post it. What's your grade?\n\nAlso works as an OpenClaw skill — type `snapshot` or `what's my grade` in any channel.\n\n### `--web` — Browser Dashboard (new in v2.6)\n\n```bash\nnpx clawculator --web\n```\n\nA live-updating browser dashboard at `localhost:3457` powered by SSE (Server-Sent Events) — no polling, instant updates when API calls land.\n\n**What you see:**\n- 🔥 **Today's Spend** — big number, real-time, color-coded (green → amber → red)\n- 📊 **Hourly Cost Chart** — bar chart with current hour highlighted\n- 🧠 **Model Mix Donut** — spend breakdown by model (Sonnet vs Opus vs Haiku)\n- ⚡ **Active Sessions** — table sorted by cost with model + message count\n- 🏆 **Costliest Calls** — leaderboard with gold/silver/bronze ranks\n- 📅 **Daily History** — 14-day bar chart with yesterday comparison\n- 🔥 **Spend Heat Map** — 30-day grid (like GitHub contributions, but for spend)\n- 🌊 **Live Feed** — every API call as it happens with slide-in animations\n- 💰 **Burn Rate** — projected monthly cost based on today's velocity\n\n**Persistence:** Data is stored in SQLite at `~/.openclaw/clawculator.db`. History builds over time — the longer you run it, the richer your charts get.\n\n```bash\nnpx clawculator --web --port=8080    # Custom port\n```\n\n### `--live` — Terminal Dashboard\n\n```bash\nnpx clawculator --live\n```\n\nA real-time terminal dashboard that watches `.jsonl` transcripts. Perfect for a tmux pane alongside your main session:\n\n```bash\ntmux split-window -h \"npx clawculator --live\"\n```\n\nPress `q` to quit, `r` to force refresh.\n\n### `--report` — HTML Report\n\n```bash\nnpx clawculator --report\n```\n\nGenerates a full HTML report and opens it in your browser. Includes findings with terminal-style fix commands, session tables, cost summary, and quick wins.\n\n### `--md` — Markdown Report\n\n```bash\nnpx clawculator --md\n```\n\nStructured report your OpenClaw agent can read directly. Drop it in your workspace and ask your agent \"what's my cost status?\"\n\n### Default — Terminal Analysis\n\n```bash\nnpx clawculator\n```\n\nColor-coded findings by severity with cost estimates and exact fix commands. Today's spend, all-time spend, session breakdown, and actionable quick wins.\n\n---\n\n## 🔒 100% offline. Zero AI.\n\nClawculator uses **pure switch/case deterministic logic** — no LLM, no Ollama, no model of any kind. Every finding and recommendation is hardcoded. Results are 100% reproducible and non-negotiable.\n\nYour `openclaw.json`, session logs, and API keys never leave your machine. The `--web` dashboard runs on `localhost` only. There is no external server. Disconnect your internet and run it — it works.\n\n---\n\n## What it finds\n\n| Source | What it catches | Severity |\n|--------|----------------|----------|\n| 💓 Heartbeat | Running on paid model instead of Ollama | 🔴 Critical |\n| 💓 Heartbeat | target not set to \"none\" (v2026.2.24+) | 🟠 High |\n| 🔧 Skills | Polling/cron loops on paid model | 🔴 Critical |\n| 📱 WhatsApp | Groups auto-joined on primary model | 🔴 Critical |\n| 🪝 Hooks | boot-md, command-logger, session-memory on Sonnet | 🟠 High |\n| 💬 Sessions | Orphaned sessions still holding tokens | 🟠 High |\n| 🤖 Subagents | maxConcurrent too high — burst multiplier | 🟠 High |\n| 📁 Workspace | Too many root .md files inflating context | 🟡 Medium |\n| 🧠 Memory | memoryFlush on primary model | 🟡 Medium |\n| 💸 Transcript gaps | sessions.json vs actual .jsonl cost discrepancy | 🔴 Critical |\n| ⚙️ Primary model | Cost awareness of chosen model tier | ℹ️ Info |\n\n---\n\n## Transcript parsing\n\nClawculator reads `.jsonl` transcript files directly from `~/.openclaw/agents/*/sessions/` to calculate **actual API spend** — not what `sessions.json` reports (which can be 1000x+ under-reported).\n\nThe `--web` and `--live` modes watch these files in real-time, tailing new lines as they're appended. Every API call shows up in your dashboard the moment it happens.\n\n---\n\n## All flags\n\n```bash\nnpx clawculator                          # Terminal analysis (default)\nnpx clawculator --snapshot               # Shareable grade card (screenshot & post!)\nnpx clawculator --web                    # Browser dashboard (localhost:3457)\nnpx clawculator --web --port=8080        # Custom port\nnpx clawculator --live                   # Real-time terminal dashboard\nnpx clawculator --report                 # Visual HTML report\nnpx clawculator --md                     # Markdown report\nnpx clawculator --json                   # JSON for piping\nnpx clawculator --prune                  # Clean up SQLite database\nnpx clawculator --md --out=~/cost.md     # Custom output path\nnpx clawculator --config=/path/to/openclaw.json\nnpx clawculator --help\n```\n\n---\n\n## Use as an OpenClaw skill (ClawHub)\n\nInstall clawculator as a skill so you can type `clawculator` in your OpenClaw webchat and get a full cost report inline.\n\n**Install via ClawHub:**\n```bash\nnpm i -g clawhub\nclawhub install clawculator\n```\n\nThen start a new OpenClaw session and type:\n```\nclawculator\n```\n\nYour agent runs the analysis and returns the full markdown report directly in chat.\n\nFor the shareable grade card, type:\n```\nsnapshot\n```\n\n**Or install manually** into your workspace:\n```bash\nmkdir -p ~/clawd/skills/clawculator\ncurl -o ~/clawd/skills/clawculator/SKILL.md \\\n  https://raw.githubusercontent.com/echoudhry/clawculator/main/skills/clawculator/SKILL.md\n```\n\n---\n\n## Tech stack\n\n- **Node.js** — zero dependencies for core analysis\n- **better-sqlite3** — optional, powers `--web` persistence and historical charts\n- **SSE** — Server-Sent Events for real-time browser updates (no WebSocket overhead)\n- **fs.watch** — native file watching for `.jsonl` transcript tailing\n- Pure CSS animations — no React, no build step, no bundler\n\n---\n\n## Built by\n\n[Ed Choudhry](https://github.com/echoudhry) — after personally losing hundreds of dollars to silent API cost bleed. Every cost source in this tool was discovered the hard way.\n\nIf this saved you money, star the repo and share it in the OpenClaw Discord.\n\n---\n\n## License\n\nMIT — free forever, open source, no telemetry, no accounts.\n","readmeFilename":"README.md"}