{"_id":"@alex123bob/opencode-cache-stats","_rev":"15-fc4ff6eb5c71a35c0e4bca801942ea7d","name":"@alex123bob/opencode-cache-stats","dist-tags":{"latest":"1.5.0"},"versions":{"1.0.1":{"name":"@alex123bob/opencode-cache-stats","version":"1.0.1","keywords":["opencode","plugin","cache","llm","tui","cache-hit-rate"],"author":{"name":"Alexander Li"},"license":"MIT","_id":"@alex123bob/opencode-cache-stats@1.0.1","maintainers":[{"name":"alex123bob","email":"alex123bobo@gmail.com"}],"homepage":"https://github.com/alex123bob/opencode-cache-stats#readme","bugs":{"url":"https://github.com/alex123bob/opencode-cache-stats/issues"},"dist":{"shasum":"e48289059f06939138e6ae31892c149f3b7e3990","tarball":"https://registry.npmjs.org/@alex123bob/opencode-cache-stats/-/opencode-cache-stats-1.0.1.tgz","fileCount":8,"integrity":"sha512-vsaPvDB2mky0pO8H6wcw9kSywGWWg3Rzz6/mYEjtfzX5rJYZw+Ur3G2yL8uN1s+Wp3OE/5rtFszGPXt1A3weuw==","signatures":[{"sig":"MEQCIB2vq+J6ujm+STkSmMcpD45gEBcVZZLgd2H8zUex7Iz5AiAjWEXREgt5JSo2LnZ+9vlGX2RIxTKLmERp7vt+mvmANA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11130},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package.json","engines":{"node":">=22.13"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js","default":"./dist/tui.js"}},"gitHead":"01d404e50fc839e24fbd2aa03dc4b21c75df5cc0","scripts":{"build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"alex123bob","email":"alex123bobo@gmail.com"},"repository":{"url":"git+https://github.com/alex123bob/opencode-cache-stats.git","type":"git"},"_npmVersion":"11.9.0","description":"opencode plugin — live cache hit rate widget in the TUI sidebar + per-session JSONL stats log","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"^1.9.14","typescript":"^5.8.3","@types/node":"^24.0.0","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3","@opencode-ai/plugin":"^1.17.18"},"peerDependencies":{"solid-js":">=1.9.0 <2","@opentui/core":">=0.4.0 <0.5","@opentui/solid":">=0.4.0 <0.5","@opencode-ai/plugin":">=1.15.0 <2"},"peerDependenciesMeta":{"solid-js":{"optional":true},"@opentui/core":{"optional":true},"@opentui/solid":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/opencode-cache-stats_1.0.1_1783929207775_0.25720973943911685","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@alex123bob/opencode-cache-stats","version":"1.0.2","keywords":["opencode","plugin","cache","llm","tui","cache-hit-rate"],"author":{"name":"Alexander Li"},"license":"MIT","_id":"@alex123bob/opencode-cache-stats@1.0.2","maintainers":[{"name":"alex123bob","email":"alex123bobo@gmail.com"}],"homepage":"https://github.com/alex123bob/opencode-cache-stats#readme","bugs":{"url":"https://github.com/alex123bob/opencode-cache-stats/issues"},"dist":{"shasum":"e352af03c887c53c846de6b5c5b8fb67ec815574","tarball":"https://registry.npmjs.org/@alex123bob/opencode-cache-stats/-/opencode-cache-stats-1.0.2.tgz","fileCount":8,"integrity":"sha512-PWcwmhHxowQ0N+eq5hDonUTJtGkpekByoMbwCn7YZmtn+0dZI4uCVNca4PW+1loRk8LMYHA2YQg8tFJoXDL7gA==","signatures":[{"sig":"MEUCIQC7XxIollRJtlSJ5jNMrVSJOo5jwxQupyCfr5+VtYEK7AIgFF2JspgmuunN88yJVAjD8GtpzAgIP7uYea3Du/h8HqE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11030},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package.json","engines":{"node":">=22.13"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js","default":"./dist/tui.js"}},"gitHead":"5a68b5798be27a04a790f9cad7e9ed3363bd1e94","scripts":{"build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"alex123bob","email":"alex123bobo@gmail.com"},"repository":{"url":"git+https://github.com/alex123bob/opencode-cache-stats.git","type":"git"},"_npmVersion":"11.9.0","description":"opencode plugin — live cache hit rate widget in the TUI sidebar + per-session JSONL stats log","directories":{},"_nodeVersion":"24.14.0","dependencies":{"solid-js":"1.9.12","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"1.9.12","typescript":"^5.8.3","@types/node":"^24.0.0","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3","@opencode-ai/plugin":"^1.17.18"},"peerDependencies":{"@opencode-ai/plugin":">=1.15.0 <2"},"_npmOperationalInternal":{"tmp":"tmp/opencode-cache-stats_1.0.2_1783930753650_0.15893352342260147","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@alex123bob/opencode-cache-stats","version":"1.0.3","keywords":["opencode","plugin","cache","llm","tui","cache-hit-rate"],"author":{"name":"Alexander Li"},"license":"MIT","_id":"@alex123bob/opencode-cache-stats@1.0.3","maintainers":[{"name":"alex123bob","email":"alex123bobo@gmail.com"}],"homepage":"https://github.com/alex123bob/opencode-cache-stats#readme","bugs":{"url":"https://github.com/alex123bob/opencode-cache-stats/issues"},"dist":{"shasum":"c9f2a5f04b0979f9228f9506c82d6f9686e5027c","tarball":"https://registry.npmjs.org/@alex123bob/opencode-cache-stats/-/opencode-cache-stats-1.0.3.tgz","fileCount":8,"integrity":"sha512-qaprYoNDN2ZVzjx5JqUJHo1LggBLP82iu7h/scfbRhkLp1ygBUgbstvCMmAjVLFi2WqyiLdbQyTbVmT+RlViMg==","signatures":[{"sig":"MEQCIEkyHxM1aezBtBEnWC24jaQWzFn8aHdzFYw77Kc/J7XRAiAzzL19IydAVqyinTz0FsBktC9LlMyaLdVXBFSHaOJTrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10677},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package.json","engines":{"node":">=22.13"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js","default":"./dist/tui.js"}},"gitHead":"acb32bb093462a6fac805b48ddf153c981a08e07","scripts":{"build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"alex123bob","email":"alex123bobo@gmail.com"},"repository":{"url":"git+https://github.com/alex123bob/opencode-cache-stats.git","type":"git"},"_npmVersion":"11.9.0","description":"opencode plugin — live cache hit rate widget in the TUI sidebar + per-session JSONL stats log","directories":{},"_nodeVersion":"24.14.0","dependencies":{"solid-js":"1.9.12","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"1.9.12","typescript":"^5.8.3","@types/node":"^24.0.0","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3","@opencode-ai/plugin":"^1.17.18"},"peerDependencies":{"@opencode-ai/plugin":">=1.15.0 <2"},"_npmOperationalInternal":{"tmp":"tmp/opencode-cache-stats_1.0.3_1783932278600_0.5977838045306836","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@alex123bob/opencode-cache-stats","version":"1.0.4","keywords":["opencode","plugin","cache","llm","tui","cache-hit-rate"],"author":{"name":"Alexander Li"},"license":"MIT","_id":"@alex123bob/opencode-cache-stats@1.0.4","maintainers":[{"name":"alex123bob","email":"alex123bobo@gmail.com"}],"homepage":"https://github.com/alex123bob/opencode-cache-stats#readme","bugs":{"url":"https://github.com/alex123bob/opencode-cache-stats/issues"},"dist":{"shasum":"af6974798a207307ff6154d07571ed8aca014fed","tarball":"https://registry.npmjs.org/@alex123bob/opencode-cache-stats/-/opencode-cache-stats-1.0.4.tgz","fileCount":8,"integrity":"sha512-zC2Sbcylu3QqpDE81clTfat/zWowtB/KQpeEpZgERJYYQK1cVzMvAOxlew65avLA9XDWuTza8UgAitvBTl4HvA==","signatures":[{"sig":"MEUCIFOcXxoJPxWSVx0e5ulOacwq6blADMPW976UV5CTq8M2AiEA2tL7nK43TUezXprgwx14mjtMRYg+WlXHw91PNoe2V48=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10458},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package.json","engines":{"node":">=22.13"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js","default":"./dist/tui.js"}},"gitHead":"a247d48de468f01b62d35ec2aef4bd6023baba11","scripts":{"build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"alex123bob","email":"alex123bobo@gmail.com"},"repository":{"url":"git+https://github.com/alex123bob/opencode-cache-stats.git","type":"git"},"_npmVersion":"11.9.0","description":"opencode plugin — live cache hit rate widget in the TUI sidebar + per-session JSONL stats log","directories":{},"_nodeVersion":"24.14.0","dependencies":{"solid-js":"1.9.12","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"1.9.12","typescript":"^5.8.3","@types/node":"^24.0.0","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3","@opencode-ai/plugin":"^1.17.18"},"peerDependencies":{"@opencode-ai/plugin":">=1.15.0 <2"},"_npmOperationalInternal":{"tmp":"tmp/opencode-cache-stats_1.0.4_1783932743403_0.2808654018521073","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@alex123bob/opencode-cache-stats","version":"1.0.5","keywords":["opencode","plugin","cache","llm","tui","cache-hit-rate"],"author":{"name":"Alexander Li"},"license":"MIT","_id":"@alex123bob/opencode-cache-stats@1.0.5","maintainers":[{"name":"alex123bob","email":"alex123bobo@gmail.com"}],"homepage":"https://github.com/alex123bob/opencode-cache-stats#readme","bugs":{"url":"https://github.com/alex123bob/opencode-cache-stats/issues"},"dist":{"shasum":"e337059f6f2ef6a2ef810f568b20de97e806b8a4","tarball":"https://registry.npmjs.org/@alex123bob/opencode-cache-stats/-/opencode-cache-stats-1.0.5.tgz","fileCount":8,"integrity":"sha512-Nf706kmGF0Ixr00XuEDdfJ6IUYPAu0DU08yInNuIqcy39t2XBmce9E6b0a1VlfNAsDQheeG2di8FjSocYJD3sg==","signatures":[{"sig":"MEUCIA6OGpwLltN8aJxs3WRD4/ZDMbzFsIustVnVdKytcyPKAiEA8+0xlQ8eDFIbN8Oj+6ESWrD9KASrGTJ/6jkc3WsAWqA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10458},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package.json","engines":{"node":">=22.13"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js","default":"./dist/tui.js"}},"gitHead":"278f811d78a4c47dc6df78145775dced3e9b7f18","scripts":{"build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"alex123bob","email":"alex123bobo@gmail.com"},"repository":{"url":"git+https://github.com/alex123bob/opencode-cache-stats.git","type":"git"},"_npmVersion":"11.9.0","description":"opencode plugin — live cache hit rate widget in the TUI sidebar + per-session JSONL stats log","directories":{},"_nodeVersion":"24.14.0","dependencies":{"solid-js":"1.9.12","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"1.9.12","typescript":"^5.8.3","@types/node":"^24.0.0","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3","@opencode-ai/plugin":"^1.17.18"},"peerDependencies":{"@opencode-ai/plugin":">=1.15.0 <2"},"_npmOperationalInternal":{"tmp":"tmp/opencode-cache-stats_1.0.5_1784527102074_0.46896655135635146","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@alex123bob/opencode-cache-stats","version":"1.0.6","keywords":["opencode","plugin","cache","llm","tui","cache-hit-rate"],"author":{"name":"Alexander Li"},"license":"MIT","_id":"@alex123bob/opencode-cache-stats@1.0.6","maintainers":[{"name":"alex123bob","email":"alex123bobo@gmail.com"}],"homepage":"https://github.com/alex123bob/opencode-cache-stats#readme","bugs":{"url":"https://github.com/alex123bob/opencode-cache-stats/issues"},"dist":{"shasum":"3432773603c919d43cd00e84b11e12dc7b694870","tarball":"https://registry.npmjs.org/@alex123bob/opencode-cache-stats/-/opencode-cache-stats-1.0.6.tgz","fileCount":8,"integrity":"sha512-Fx+bHust1sm9RgWM+0maKBVSE6zHys4ao1rMqanMIHMYwsol04MrzxbHi3nkiDB5XteFya31VMl2rHYc7T0Mag==","signatures":[{"sig":"MEUCIQCo+qNfqOk1q8bu9lCgkNpzLPCBs9IvckQh9DfrExdtXAIgdfupEEnTle6W11n0NVaqhg97RGan43ZaT6ZMD1VFp5U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10251},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package.json","engines":{"node":">=22.13"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js","default":"./dist/tui.js"}},"gitHead":"47b96ebf270c99b4ab09dcf8b188c8975426f380","scripts":{"build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"alex123bob","email":"alex123bobo@gmail.com"},"repository":{"url":"git+https://github.com/alex123bob/opencode-cache-stats.git","type":"git"},"_npmVersion":"11.9.0","description":"opencode plugin — live cache hit rate widget in the TUI sidebar + per-session JSONL stats log","directories":{},"_nodeVersion":"24.14.0","dependencies":{"solid-js":"1.9.12","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"1.9.12","typescript":"^5.8.3","@types/node":"^24.0.0","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3","@opencode-ai/plugin":"^1.17.18"},"peerDependencies":{"@opencode-ai/plugin":">=1.15.0 <2"},"_npmOperationalInternal":{"tmp":"tmp/opencode-cache-stats_1.0.6_1784528198978_0.644730569024428","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@alex123bob/opencode-cache-stats","version":"1.0.7","keywords":["opencode","plugin","cache","llm","tui","cache-hit-rate"],"author":{"name":"Alexander Li"},"license":"MIT","_id":"@alex123bob/opencode-cache-stats@1.0.7","maintainers":[{"name":"alex123bob","email":"alex123bobo@gmail.com"}],"homepage":"https://github.com/alex123bob/opencode-cache-stats#readme","bugs":{"url":"https://github.com/alex123bob/opencode-cache-stats/issues"},"dist":{"shasum":"ae1fac46058bd676e5ae35145eef9eba2a60899d","tarball":"https://registry.npmjs.org/@alex123bob/opencode-cache-stats/-/opencode-cache-stats-1.0.7.tgz","fileCount":8,"integrity":"sha512-n70HM/cX7hKtKPAeVqN6b3qd0cXGifqQ3lAR/SjibNtuvTKgLJiKvy6Nwa5JOixKADArFptyYNbtQcDUi3XCJQ==","signatures":[{"sig":"MEUCIFBBrazXafjMcM5WWDQwcuANNH68XIZEyHx0a8jNhX8xAiEA4FSiLtyuYeW+gS1c8K6Amq5dXiwAWW4gcZXoYxSDNVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10845},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package.json","engines":{"node":">=22.13"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js","default":"./dist/tui.js"}},"gitHead":"df7b25ac7b9bd7e5146f2a501dd90ae95d531fb0","scripts":{"build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"alex123bob","email":"alex123bobo@gmail.com"},"repository":{"url":"git+https://github.com/alex123bob/opencode-cache-stats.git","type":"git"},"_npmVersion":"11.9.0","description":"opencode plugin — live cache hit rate widget in the TUI sidebar + per-session JSONL stats log","directories":{},"_nodeVersion":"24.14.0","dependencies":{"solid-js":"1.9.12","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"1.9.12","typescript":"^5.8.3","@types/node":"^24.0.0","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3","@opencode-ai/plugin":"^1.17.18"},"peerDependencies":{"@opencode-ai/plugin":">=1.15.0 <2"},"_npmOperationalInternal":{"tmp":"tmp/opencode-cache-stats_1.0.7_1784529158524_0.9464701602899066","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@alex123bob/opencode-cache-stats","version":"1.1.2","keywords":["opencode","plugin","cache","llm","tui","cache-hit-rate"],"author":{"name":"Alexander Li"},"license":"MIT","_id":"@alex123bob/opencode-cache-stats@1.1.2","maintainers":[{"name":"alex123bob","email":"alex123bobo@gmail.com"}],"homepage":"https://github.com/alex123bob/opencode-cache-stats#readme","bugs":{"url":"https://github.com/alex123bob/opencode-cache-stats/issues"},"dist":{"shasum":"e099bf2e94487c550b6d934fadf613df021b563b","tarball":"https://registry.npmjs.org/@alex123bob/opencode-cache-stats/-/opencode-cache-stats-1.1.2.tgz","fileCount":8,"integrity":"sha512-cdnPaJT2YzZoEY4R+/Rf/ZuryCYpFdI7XH0MM2NmRh8lrn+q4C17AnqRnbiMiLRt6mfijM8wrnc+oCk2ZPTMNQ==","signatures":[{"sig":"MEUCIDn6FJN3jaGAAmWKFWRAIaXXpWGP5eBeael2IC4UocqPAiEAmYDcXhmQv30Mop0UT6lnIikMFchQl6EGekVa9EVlXq4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14105},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package.json","engines":{"node":">=22.13"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js","default":"./dist/tui.js"}},"gitHead":"27c39a345d1d8ff403d318712e0cb4a784e338f2","scripts":{"build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"alex123bob","email":"alex123bobo@gmail.com"},"repository":{"url":"git+https://github.com/alex123bob/opencode-cache-stats.git","type":"git"},"_npmVersion":"11.9.0","description":"opencode plugin — live cache hit rate widget in the TUI sidebar + per-session JSONL stats log","directories":{},"_nodeVersion":"24.14.0","dependencies":{"solid-js":"1.9.12","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"1.9.12","typescript":"^5.8.3","@types/node":"^24.0.0","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3","@opencode-ai/plugin":"^1.17.18"},"peerDependencies":{"@opencode-ai/plugin":">=1.15.0 <2"},"_npmOperationalInternal":{"tmp":"tmp/opencode-cache-stats_1.1.2_1784539675155_0.2909287474477942","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@alex123bob/opencode-cache-stats","version":"1.1.3","keywords":["opencode","plugin","cache","llm","tui","cache-hit-rate"],"author":{"name":"Alexander Li"},"license":"MIT","_id":"@alex123bob/opencode-cache-stats@1.1.3","maintainers":[{"name":"alex123bob","email":"alex123bobo@gmail.com"}],"homepage":"https://github.com/alex123bob/opencode-cache-stats#readme","bugs":{"url":"https://github.com/alex123bob/opencode-cache-stats/issues"},"dist":{"shasum":"ac45d372450d56c83025eb91a2fb5287679d4e1e","tarball":"https://registry.npmjs.org/@alex123bob/opencode-cache-stats/-/opencode-cache-stats-1.1.3.tgz","fileCount":8,"integrity":"sha512-g64bpVWhTchGuKKQ4YaMK1ZXt97MFOP7lr+xJOS13U6JruscW9AudNtI+pmnoqlDajuEFq8yf0Suqi2rWC/tFg==","signatures":[{"sig":"MEYCIQDt1/sywIEgZWgblhogO2g67os44+HspZMo71Ye7q7neQIhAIKBsB7UYECB4BG/1ScPpJplfqip4WOygV3YXk5ZMdxj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14963},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package.json","engines":{"node":">=22.13"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js","default":"./dist/tui.js"}},"gitHead":"c34a627ae46d1a88a302dff64929a974896bf4db","scripts":{"build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"alex123bob","email":"alex123bobo@gmail.com"},"repository":{"url":"git+https://github.com/alex123bob/opencode-cache-stats.git","type":"git"},"_npmVersion":"11.9.0","description":"opencode plugin — live cache hit rate widget in the TUI sidebar + per-session JSONL stats log","directories":{},"_nodeVersion":"24.14.0","dependencies":{"solid-js":"1.9.12","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"1.9.12","typescript":"^5.8.3","@types/node":"^24.0.0","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3","@opencode-ai/plugin":"^1.17.18"},"peerDependencies":{"@opencode-ai/plugin":">=1.15.0 <2"},"_npmOperationalInternal":{"tmp":"tmp/opencode-cache-stats_1.1.3_1784540872875_0.2962731763746449","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@alex123bob/opencode-cache-stats","version":"1.3.0","keywords":["opencode","plugin","cache","llm","tui","cache-hit-rate"],"author":{"name":"Alexander Li"},"license":"MIT","_id":"@alex123bob/opencode-cache-stats@1.3.0","maintainers":[{"name":"alex123bob","email":"alex123bobo@gmail.com"}],"homepage":"https://github.com/alex123bob/opencode-cache-stats#readme","bugs":{"url":"https://github.com/alex123bob/opencode-cache-stats/issues"},"bin":{"opencode-cache-stats":"bin/dashboard.js"},"dist":{"shasum":"784bf1ba80fc64432018d517f4bbe8ca9ae99e13","tarball":"https://registry.npmjs.org/@alex123bob/opencode-cache-stats/-/opencode-cache-stats-1.3.0.tgz","fileCount":14,"integrity":"sha512-BFSLS9+lwTEFgQS6nTGhb+gW26ahZT6OWdTtaOiirzZM2NvnhPPI+HNJIxeIy6bu030ggb2nvB9Vl8YYyxisBQ==","signatures":[{"sig":"MEUCIQC5rLP7u9vbhrc0NnZhXTA+287h8q24zyZ2VsL5Yhgy9AIgWPKEjOJUHKoVCCa2uSHl1vriwTPI1cXyl5KcbSQYRIA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57772},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package.json","engines":{"node":">=22.13"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js","default":"./dist/tui.js"}},"gitHead":"682647834bd3efd25605b2430604e65a273b2514","scripts":{"build":"tsup","dashboard":"node bin/dashboard.js","postbuild":"node -e \"const{cpSync}=require('fs');cpSync('src/dashboard/ui','dist/dashboard/ui',{recursive:true})\"","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"alex123bob","email":"alex123bobo@gmail.com"},"repository":{"url":"git+https://github.com/alex123bob/opencode-cache-stats.git","type":"git"},"_npmVersion":"11.9.0","description":"opencode plugin — live cache hit rate widget in the TUI sidebar + per-session JSONL stats log","directories":{},"_nodeVersion":"24.14.0","dependencies":{"solid-js":"1.9.12","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"1.9.12","typescript":"^5.8.3","@types/node":"^24.0.0","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3","@opencode-ai/plugin":"^1.17.18"},"peerDependencies":{"@opencode-ai/plugin":">=1.15.0 <2"},"_npmOperationalInternal":{"tmp":"tmp/opencode-cache-stats_1.3.0_1784545381154_0.2579724545266835","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@alex123bob/opencode-cache-stats","version":"1.3.1","keywords":["opencode","plugin","cache","llm","tui","cache-hit-rate"],"author":{"name":"Alexander Li"},"license":"MIT","_id":"@alex123bob/opencode-cache-stats@1.3.1","maintainers":[{"name":"alex123bob","email":"alex123bobo@gmail.com"}],"homepage":"https://github.com/alex123bob/opencode-cache-stats#readme","bugs":{"url":"https://github.com/alex123bob/opencode-cache-stats/issues"},"bin":{"opencode-cache-stats":"bin/dashboard.js"},"dist":{"shasum":"3c9e8481f6260a2187620ae4c248777f217dc8fa","tarball":"https://registry.npmjs.org/@alex123bob/opencode-cache-stats/-/opencode-cache-stats-1.3.1.tgz","fileCount":14,"integrity":"sha512-X8m5NfIYh0EvOWdmFicRIHLcyH5VpUi4qIMX5lNYz6VRjhjxoDBleAzssyAnghEtmHyaC+wYZgfMxqK6GH8Bdg==","signatures":[{"sig":"MEQCIDMfGuh8w9RphYNVKYrGSUDt3VwzbYye0IEbPhSjuFUdAiBPWdazv+FR7SewGj5Pk5aWRu+1Ev4U6jymLyEVUIynkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58077},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package.json","engines":{"node":">=22.13"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js","default":"./dist/tui.js"}},"gitHead":"b41e0a0ad9c09901b03a1c64b2fd15b8254eba7f","scripts":{"build":"tsup","dashboard":"node bin/dashboard.js","postbuild":"node -e \"const{cpSync}=require('fs');cpSync('src/dashboard/ui','dist/dashboard/ui',{recursive:true})\"","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"alex123bob","email":"alex123bobo@gmail.com"},"repository":{"url":"git+https://github.com/alex123bob/opencode-cache-stats.git","type":"git"},"_npmVersion":"11.9.0","description":"opencode plugin — live cache hit rate widget in the TUI sidebar + per-session JSONL stats log","directories":{},"_nodeVersion":"24.14.0","dependencies":{"solid-js":"1.9.12","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"1.9.12","typescript":"^5.8.3","@types/node":"^24.0.0","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3","@opencode-ai/plugin":"^1.17.18"},"peerDependencies":{"@opencode-ai/plugin":">=1.15.0 <2"},"_npmOperationalInternal":{"tmp":"tmp/opencode-cache-stats_1.3.1_1784545810030_0.1632203001076744","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@alex123bob/opencode-cache-stats","version":"1.4.0","keywords":["opencode","plugin","cache","llm","tui","cache-hit-rate"],"author":{"name":"Alexander Li"},"license":"MIT","_id":"@alex123bob/opencode-cache-stats@1.4.0","maintainers":[{"name":"alex123bob","email":"alex123bobo@gmail.com"}],"homepage":"https://github.com/alex123bob/opencode-cache-stats#readme","bugs":{"url":"https://github.com/alex123bob/opencode-cache-stats/issues"},"bin":{"oc-cache-dashboard":"bin/dashboard.js"},"dist":{"shasum":"08fc49f4c3307fdf4f6bb06ef3d395e4c53accc3","tarball":"https://registry.npmjs.org/@alex123bob/opencode-cache-stats/-/opencode-cache-stats-1.4.0.tgz","fileCount":14,"integrity":"sha512-2Zka1tK6+jkmAEd5obq/III0W4/Ign1v38R1fTinhq0VVqIj41kCoVE1ZKy1wkgbUoJxXygs8cjOkcqNX+ZifA==","signatures":[{"sig":"MEQCIFxElQS2V30rQa7kMcJnBIlnngiSnNV0/YMb1sMh0TjkAiB+gsCAT5hc2P/kqn7tca0VaW3Ju5f+g7kdxxhAMd7LuA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58063},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package.json","engines":{"node":">=22.13"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js","default":"./dist/tui.js"}},"gitHead":"0de61f6fa543a9d63a052f5017000596655ab083","scripts":{"build":"tsup","dashboard":"node bin/dashboard.js","postbuild":"node -e \"const{cpSync}=require('fs');cpSync('src/dashboard/ui','dist/dashboard/ui',{recursive:true})\"","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"alex123bob","email":"alex123bobo@gmail.com"},"repository":{"url":"git+https://github.com/alex123bob/opencode-cache-stats.git","type":"git"},"_npmVersion":"11.9.0","description":"opencode plugin — live cache hit rate widget in the TUI sidebar + per-session JSONL stats log","directories":{},"_nodeVersion":"24.14.0","dependencies":{"solid-js":"1.9.12","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"1.9.12","typescript":"^5.8.3","@types/node":"^24.0.0","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3","@opencode-ai/plugin":"^1.17.18"},"peerDependencies":{"@opencode-ai/plugin":">=1.15.0 <2"},"_npmOperationalInternal":{"tmp":"tmp/opencode-cache-stats_1.4.0_1784546204124_0.47685435753631134","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@alex123bob/opencode-cache-stats","version":"1.4.1","keywords":["opencode","plugin","cache","llm","tui","cache-hit-rate"],"author":{"name":"Alexander Li"},"license":"MIT","_id":"@alex123bob/opencode-cache-stats@1.4.1","maintainers":[{"name":"alex123bob","email":"alex123bobo@gmail.com"}],"homepage":"https://github.com/alex123bob/opencode-cache-stats#readme","bugs":{"url":"https://github.com/alex123bob/opencode-cache-stats/issues"},"bin":{"oc-cache-dashboard":"bin/dashboard.js"},"dist":{"shasum":"42b8b37a2cc38aac0a5d567edf340109f27ceebf","tarball":"https://registry.npmjs.org/@alex123bob/opencode-cache-stats/-/opencode-cache-stats-1.4.1.tgz","fileCount":14,"integrity":"sha512-MLqbKJz/DyX4sPXQ7VKIFmPWUVEsmASSofJMhglWXtvetMqPHKqmQ5/kQ6vUnvCgdphS2BO0eiWwHqWjMljDCg==","signatures":[{"sig":"MEQCIBV/aPTL1pfENXdkPs1tUcOryXXPt1+7hvyRF+dbXt2VAiB6noocqNyqHdAS9/71M09pnom41BFyazHSwf0t2BxU3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59389},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package.json","engines":{"node":">=22.13"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js","default":"./dist/tui.js"}},"gitHead":"70d2c597ad90bc9cefe31f99032740e48e5b1f15","scripts":{"build":"tsup","dashboard":"node bin/dashboard.js","postbuild":"node -e \"const{cpSync}=require('fs');cpSync('src/dashboard/ui','dist/dashboard/ui',{recursive:true})\"","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"alex123bob","email":"alex123bobo@gmail.com"},"repository":{"url":"git+https://github.com/alex123bob/opencode-cache-stats.git","type":"git"},"_npmVersion":"11.16.0","description":"opencode plugin — live cache hit rate widget in the TUI sidebar + per-session JSONL stats log","directories":{},"_nodeVersion":"24.18.0","dependencies":{"solid-js":"1.9.12","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"1.9.12","typescript":"^5.8.3","@types/node":"^24.0.0","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3","@opencode-ai/plugin":"^1.17.18"},"peerDependencies":{"@opencode-ai/plugin":">=1.15.0 <2"},"_npmOperationalInternal":{"tmp":"tmp/opencode-cache-stats_1.4.1_1784599663231_0.37412377122470675","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"@alex123bob/opencode-cache-stats","version":"1.4.2","keywords":["opencode","plugin","cache","llm","tui","cache-hit-rate"],"author":{"name":"Alexander Li"},"license":"MIT","_id":"@alex123bob/opencode-cache-stats@1.4.2","maintainers":[{"name":"alex123bob","email":"alex123bobo@gmail.com"}],"homepage":"https://github.com/alex123bob/opencode-cache-stats#readme","bugs":{"url":"https://github.com/alex123bob/opencode-cache-stats/issues"},"bin":{"oc-cache-dashboard":"bin/dashboard.js"},"dist":{"shasum":"e6db57431e9349feb69ee114a812678a7825ba7e","tarball":"https://registry.npmjs.org/@alex123bob/opencode-cache-stats/-/opencode-cache-stats-1.4.2.tgz","fileCount":14,"integrity":"sha512-nnU6gljs0rpSk346IlZZ9uLbNOYLlWF0B4RmjSssrcyaexRxuW0XagJhlv1lZmas6V6wA9NVz07tbgMON4cc/w==","signatures":[{"sig":"MEQCIHnXPtiUuNdwHsuDF3KFPTJa3vFxqUDaq5Hy/7XktIzpAiAiyO+pmUz9CUH3rWy6/soSrHFG98iqPv5qz9MTjXhuoQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59299},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","$schema":"https://json.schemastore.org/package.json","engines":{"node":">=22.13"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js","default":"./dist/tui.js"}},"gitHead":"fa91978b974afe2b250ea12bd4a2b8c08927f759","scripts":{"build":"tsup","dashboard":"node bin/dashboard.js","postbuild":"node -e \"const{cpSync}=require('fs');cpSync('src/dashboard/ui','dist/dashboard/ui',{recursive:true})\"","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"_npmUser":{"name":"alex123bob","email":"alex123bobo@gmail.com"},"repository":{"url":"git+https://github.com/alex123bob/opencode-cache-stats.git","type":"git"},"_npmVersion":"11.16.0","description":"opencode plugin — live cache hit rate widget in the TUI sidebar + per-session JSONL stats log","directories":{},"_nodeVersion":"24.18.0","dependencies":{"solid-js":"1.9.12","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","solid-js":"1.9.12","typescript":"^5.8.3","@types/node":"^24.0.0","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3","@opencode-ai/plugin":"^1.17.18"},"peerDependencies":{"@opencode-ai/plugin":">=1.15.0 <2"},"_npmOperationalInternal":{"tmp":"tmp/opencode-cache-stats_1.4.2_1784605391410_0.5744049136428646","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"$schema":"https://json.schemastore.org/package.json","name":"@alex123bob/opencode-cache-stats","version":"1.5.0","description":"opencode plugin — live cache hit rate widget in the TUI sidebar + per-session JSONL stats log","type":"module","author":{"name":"Alexander Li"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/alex123bob/opencode-cache-stats.git"},"homepage":"https://github.com/alex123bob/opencode-cache-stats#readme","bugs":{"url":"https://github.com/alex123bob/opencode-cache-stats/issues"},"main":"./dist/index.js","bin":{"oc-cache-dashboard":"bin/dashboard.js"},"types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js","default":"./dist/tui.js"}},"keywords":["opencode","plugin","cache","llm","tui","cache-hit-rate"],"engines":{"node":">=22.13"},"scripts":{"build":"tsup","postbuild":"node -e \"const{cpSync}=require('fs');cpSync('src/dashboard/ui','dist/dashboard/ui',{recursive:true})\"","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build","dashboard":"node bin/dashboard.js","postinstall":"node scripts/register.cjs"},"dependencies":{"@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3","solid-js":"1.9.12"},"peerDependencies":{"@opencode-ai/plugin":">=1.15.0 <2"},"devDependencies":{"@opencode-ai/plugin":"^1.17.18","@opentui/core":"^0.4.3","@opentui/solid":"^0.4.3","@types/node":"^24.0.0","solid-js":"1.9.12","tsup":"^8.5.1","typescript":"^5.8.3"},"gitHead":"2bc2b3e7074d512f56632716df269a8ef0a7c3ee","_id":"@alex123bob/opencode-cache-stats@1.5.0","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-hJ82aZyIdis44WZa3S9XXrSlSxaZbY8ZqVTTlI9zdrVJjAvdYCWoDZJm1aBCl9WXlNOXp1bknvEFSxt31hydcw==","shasum":"cd0c2a697971646aeece96aed127df4ac3dc1882","tarball":"https://registry.npmjs.org/@alex123bob/opencode-cache-stats/-/opencode-cache-stats-1.5.0.tgz","fileCount":15,"unpackedSize":63774,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD1YzPViMmJljFiaF4LcYSX8mVLXfn+C7lcXLCMbDaX8gIgXlcle6WBFEnYwEenf+UcGEWJDwjlriUCWnDpGrFAA+s="}]},"_npmUser":{"name":"alex123bob","email":"alex123bobo@gmail.com"},"directories":{},"maintainers":[{"name":"alex123bob","email":"alex123bobo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/opencode-cache-stats_1.5.0_1784607613504_0.3238690134002009"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-13T07:53:27.584Z","modified":"2026-07-21T04:20:13.814Z","1.0.1":"2026-07-13T07:53:27.961Z","1.0.2":"2026-07-13T08:19:13.779Z","1.0.3":"2026-07-13T08:44:38.743Z","1.0.4":"2026-07-13T08:52:23.529Z","1.0.5":"2026-07-20T05:58:22.201Z","1.0.6":"2026-07-20T06:16:39.158Z","1.0.7":"2026-07-20T06:32:38.648Z","1.1.2":"2026-07-20T09:27:55.278Z","1.1.3":"2026-07-20T09:47:52.997Z","1.3.0":"2026-07-20T11:03:01.289Z","1.3.1":"2026-07-20T11:10:10.177Z","1.4.0":"2026-07-20T11:16:44.269Z","1.4.1":"2026-07-21T02:07:43.382Z","1.4.2":"2026-07-21T03:43:11.570Z","1.5.0":"2026-07-21T04:20:13.637Z"},"bugs":{"url":"https://github.com/alex123bob/opencode-cache-stats/issues"},"author":{"name":"Alexander Li"},"license":"MIT","homepage":"https://github.com/alex123bob/opencode-cache-stats#readme","keywords":["opencode","plugin","cache","llm","tui","cache-hit-rate"],"repository":{"type":"git","url":"git+https://github.com/alex123bob/opencode-cache-stats.git"},"description":"opencode plugin — live cache hit rate widget in the TUI sidebar + per-session JSONL stats log","maintainers":[{"name":"alex123bob","email":"alex123bobo@gmail.com"}],"readme":"# opencode-cache-stats\n\nAn [opencode](https://opencode.ai) plugin that displays a live **cache hit rate** widget\nin the TUI sidebar and writes per-turn stats to a JSONL file.\n\n## Install\n\n```bash\nnpm i opencode-cache-stats\n```\n\nThen add to `~/.config/opencode/opencode.json`:\n\n```json\n{\n  \"plugin\": [\"@alex123bob/opencode-cache-stats\"]\n}\n```\n\nRestart opencode. After the first assistant response, the right-column sidebar shows cache stats for each agent.\n\n![TUI sidebar showing collapsible agent sections](docs/screenshots/sidebar.png)\n\n## Sidebar behaviour\n\nActive agents show full stats. When an agent finishes (no response for 30 s) its section\ncollapses to a single header line. Click any header to expand or collapse it manually.\n\n```\n▼ Main Agent (active) ────────\n  Hit rate:  68.9%\n  Read:      1,240 tok\n  Turns:         3\n▶ Subagent 1 [done] ──────────   ← click to expand\n▶ Subagent 2 [done] ──────────\n```\n\n## Understanding the metrics\n\n> **All sidebar values are cumulative for the entire session** — they accumulate\n> across every turn, not reset per turn. The JSONL file records per-turn values\n> so you can analyze individual turns separately.\n\n| Metric | What it means |\n|---|---|\n| **Hit rate** | `cacheRead / (cacheRead + cacheWrite + inputRaw) × 100` — the fraction of total input tokens served from cache. Higher is cheaper and faster. |\n| **Read** | Tokens retrieved from the prompt cache (cache hits). These are not re-processed by the model, so they cost less. |\n| **Written** | Tokens written into the prompt cache this session (cache misses that seeded the cache). Only shown when non-zero. Not all providers report this. |\n| **Raw input** | Fresh, uncached input tokens — the part of your prompt that was processed from scratch. |\n| **Output** | Completion tokens generated by the model. |\n| **Turns** | Number of completed assistant responses in this session. |\n\n## Stats file\n\nEach completed turn appends one JSON line to:\n\n```\n~/.config/opencode/cache-stats.jsonl\n```\n\nExample record:\n\n```json\n{\"ts\":\"2026-07-20T10:23:01.000Z\",\"sessionID\":\"ses_abc123\",\"providerID\":\"anthropic\",\"modelID\":\"claude-sonnet-4-6\",\"turn\":3,\"cacheRead\":1240,\"cacheWrite\":512,\"inputRaw\":308,\"output\":320,\"totalInput\":2060,\"hitRate\":60.2,\"parentID\":null,\"agentLabel\":\"Main Agent\"}\n```\n\n> **Note:** The `hitRate` field in the JSONL file is **per-turn** (computed from\n> that turn's tokens only). The sidebar hit rate is session-cumulative. Both use\n> the same formula: `cacheRead / (cacheRead + cacheWrite + inputRaw) × 100`.\n\n## Live dashboard\n\nStart a live web dashboard to explore your cache stats.\n\nThe `oc-dash` command is registered automatically when the plugin is installed.\nRun:\n\n```bash\noc-dash\n```\n\n> **If `oc-dash` is not found:** the installer places the command in `~/.local/bin`\n> (macOS/Linux) or `%APPDATA%\\npm` (Windows). Make sure that directory is on your\n> `PATH`. Add to `~/.zshrc` or `~/.bashrc` if needed:\n> ```bash\n> export PATH=\"$HOME/.local/bin:$PATH\"\n> ```\n\nOpens `http://localhost:4321` in your browser automatically. The dashboard:\n\n- **Live updates** as new turns are appended to the JSONL file\n- **5 views:** Turn Timeline, Turn Deltas, Hit Rate Trend, Token Composition, Cross-session Heatmap\n- **Per-turn deltas** — see how cache read/write/raw changed turn-over-turn and whether the cache is warming up\n- **Filters** — narrow by time range (today / 7d / 30d) and agent type (main / subagents)\n\n### Turn Timeline\n\nHit rate per turn as a bar chart, plus a per-turn token composition table (green = cache read, yellow = cache write, red = raw input).\n\n![Turn Timeline tab](docs/screenshots/dashbaord-turntime.png)\n\n### Turn Deltas\n\nHow each metric changed turn-over-turn for the same agent — instantly shows whether the cache is warming up or context shifted.\n\n![Turn Deltas tab](docs/screenshots/dashboard-turndelta.png)\n\n### Hit Rate Trend\n\nHit rate across sessions over time, with a session table. Red dots mark sessions with cold cache.\n\n![Hit Rate Trend tab](docs/screenshots/dashbaord-hitratetrend.png)\n\n### Token Composition\n\nSession-level breakdown of cache read vs written vs raw input, plus write/read ratio and per-agent table.\n\n![Token Composition tab](docs/screenshots/dashboard-tokenconsumption.png)\n\n### Cross-session Heatmap\n\n30-day activity heatmap (colour = avg daily hit rate) and daily summary table.\n\n![Cross-session Heatmap tab](docs/screenshots/dashbaord-crosssession.png)\n\n### Options\n\n| Flag | Default | Description |\n|---|---|---|\n| `--port` | `4321` | Preferred port (auto-increments if in use) |\n| `--file` | `~/.config/opencode/cache-stats.jsonl` | Path to JSONL |\n| `--no-open` | — | Don't auto-open browser |\n\nStop with **Ctrl+C**.\n\n## Cache hit rate definition\n\n```\nhitRate = cacheRead / (cacheRead + cacheWrite + inputRaw) × 100\n```\n\nThis is the fraction of total input tokens served from cache rather than processed fresh.\n\n## Provider compatibility\n\n| Provider | cache read | cache write |\n|---|---|---|\n| Anthropic | Yes | Yes |\n| OpenAI | Yes | Conditional |\n| Google Vertex / Gemini | Yes | No |\n| Amazon Bedrock | Yes | Yes |\n| Groq | Yes | No |\n| xAI (Grok) | Yes | No |\n| Mistral | Yes | No |\n| Cohere | No | No |\n\nWhen cache data is unavailable the sidebar shows `No cache data` instead of a misleading 0%.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}