@mbeato/contextscope 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  4. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  5. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  6. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  12. package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
  13. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  14. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  16. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  18. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  19. package/.next/standalone/.next/server/app/context/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/items/page.js +3 -2
  21. package/.next/standalone/.next/server/app/items/page.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/items/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/page.js +3 -2
  24. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/sessions/page.js +3 -2
  27. package/.next/standalone/.next/server/app/sessions/page.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__08l_yt3._.js +3 -0
  30. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0j40w4k._.js +3 -0
  31. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0lbywin._.js +3 -0
  32. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0p2sxww._.js +3 -0
  33. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wj0exw._.js +3 -0
  34. package/.next/standalone/.next/server/chunks/ssr/_0j0avc7._.js +1 -1
  35. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  36. package/.next/standalone/.next/server/pages/404.html +1 -1
  37. package/.next/standalone/.next/server/pages/500.html +1 -1
  38. package/.next/standalone/app/page.tsx +8 -2
  39. package/.next/standalone/app/sessions/page.tsx +10 -2
  40. package/.next/standalone/lib/model-prices.json +147 -0
  41. package/.next/standalone/lib/pricing.ts +80 -0
  42. package/.next/standalone/lib/sessions.ts +33 -6
  43. package/.next/standalone/lib/transcripts.ts +137 -35
  44. package/.next/standalone/package.json +2 -1
  45. package/.next/standalone/scripts/refresh-prices.mjs +58 -0
  46. package/.next/standalone/tsconfig.tsbuildinfo +1 -1
  47. package/.next/static/chunks/118uk9v3812u1.css +1 -0
  48. package/package.json +2 -1
  49. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__08jw6yr._.js +0 -3
  50. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0duau-w._.js +0 -3
  51. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ubqc9u._.js +0 -3
  52. package/.next/static/chunks/13525lf.7uo9s.css +0 -1
  53. /package/.next/static/{BT6H4g8OlEYi9snYU0PI- → kaNzMZNco9qjeyEFA-gjr}/_buildManifest.js +0 -0
  54. /package/.next/static/{BT6H4g8OlEYi9snYU0PI- → kaNzMZNco9qjeyEFA-gjr}/_clientMiddlewareManifest.js +0 -0
  55. /package/.next/static/{BT6H4g8OlEYi9snYU0PI- → kaNzMZNco9qjeyEFA-gjr}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[64240,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},790,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(11857);a.n(d("[project]/node_modules/next/dist/client/app-dir/link.js <module evaluation>"))},84707,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(11857);a.n(d("[project]/node_modules/next/dist/client/app-dir/link.js"))},97647,a=>{"use strict";a.i(790);var b=a.i(84707);a.n(b)},95936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return i},useLinkStatus:function(){return h.useLinkStatus}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(64240),g=a.r(7997),h=f._(a.r(97647));function i(a){let b=a.legacyBehavior,c="string"==typeof a.children||"number"==typeof a.children||"string"==typeof a.children?.type,d=a.children?.type?.$$typeof===Symbol.for("react.client.reference");return!b||c||d||(a.children?.type?.$$typeof===Symbol.for("react.lazy")?console.error("Using a Lazy Component as a direct child of `<Link legacyBehavior>` from a Server Component is not supported. If you need legacyBehavior, wrap your Lazy Component in a Client Component that renders the Link's `<a>` tag."):console.error("Using a Server Component as a direct child of `<Link legacyBehavior>` is not supported. If you need legacyBehavior, wrap your Server Component in a Client Component that renders the Link's `<a>` tag.")),(0,g.jsx)(h.default,{...a})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},84434,a=>{"use strict";var b=a.i(7997),c=a.i(95936);a.s(["MiniStat",0,function({label:a,value:c}){return(0,b.jsxs)("div",{className:"px-2 py-3 text-center",children:[(0,b.jsx)("div",{className:"text-sm font-semibold tabular-nums tracking-tight text-zinc-900 dark:text-zinc-50",children:c}),(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500 mt-0.5",children:a})]})},"Receipt",0,function({label:a,action:d,pad:e="default",className:f="",children:g}){let h=!!(a||d);return(0,b.jsxs)("div",{className:`rounded-lg border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-900 ${f}`,children:[h&&(0,b.jsxs)("div",{className:"flex items-baseline justify-between gap-3 px-4 pt-3 pb-2 border-b border-zinc-200 dark:border-zinc-800",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:a}),d&&(0,b.jsxs)(c.default,{href:d.href,className:"text-[10px] uppercase tracking-widest text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors",children:[d.label," →"]})]}),(0,b.jsx)("div",{className:`${"none"===e?"":"tight"===e?"px-4 py-3":"loose"===e?"px-6 py-6 md:px-8 md:py-7":"px-4 py-4 md:px-6 md:py-5"} ${"none"===e?"overflow-x-auto":""}`,children:g})]})},"Stat",0,function({label:a,value:c,hint:d,align:e="left",size:f="lg"}){return(0,b.jsxs)("div",{className:"center"===e?"text-center":"right"===e?"text-right":"text-left",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:a}),(0,b.jsx)("div",{className:`${"xl"===f?"text-3xl":"lg"===f?"text-2xl":"text-xl"} font-semibold tabular-nums tracking-tight text-zinc-900 dark:text-zinc-50 mt-1`,children:c}),d&&(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500 mt-0.5",children:d})]})}])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},1457,(a,b,c)=>{b.exports=a.x("node:readline",()=>require("node:readline"))},28886,(a,b,c)=>{b.exports={_source:"https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json",_refreshedAt:"2026-05-27T17:24:45.345Z",_description:"Anthropic model prices in USD per token (input, output, cache_read, cache_creation 5min default). Refresh with `npm run refresh-prices`.",models:{"claude-3-7-sonnet-20250219":{input:3e-6,output:15e-6,cache_read:3e-7,cache_creation_5m:375e-8,cache_creation_1h:6e-6},"claude-3-haiku-20240307":{input:25e-8,output:125e-8,cache_read:3e-8,cache_creation_5m:3e-7,cache_creation_1h:6e-6},"claude-3-opus-20240229":{input:15e-6,output:75e-6,cache_read:15e-7,cache_creation_5m:1875e-8,cache_creation_1h:6e-6},"claude-4-opus-20250514":{input:15e-6,output:75e-6,cache_read:15e-7,cache_creation_5m:1875e-8,cache_creation_1h:375e-7},"claude-4-sonnet-20250514":{input:3e-6,output:15e-6,cache_read:3e-7,cache_creation_5m:375e-8,cache_creation_1h:75e-7},"claude-haiku-4-5":{input:1e-6,output:5e-6,cache_read:1e-7,cache_creation_5m:125e-8,cache_creation_1h:2e-6},"claude-haiku-4-5-20251001":{input:1e-6,output:5e-6,cache_read:1e-7,cache_creation_5m:125e-8,cache_creation_1h:2e-6},"claude-opus-4-1":{input:15e-6,output:75e-6,cache_read:15e-7,cache_creation_5m:1875e-8,cache_creation_1h:3e-5},"claude-opus-4-1-20250805":{input:15e-6,output:75e-6,cache_read:15e-7,cache_creation_5m:1875e-8,cache_creation_1h:3e-5},"claude-opus-4-20250514":{input:15e-6,output:75e-6,cache_read:15e-7,cache_creation_5m:1875e-8,cache_creation_1h:3e-5},"claude-opus-4-5":{input:5e-6,output:25e-6,cache_read:5e-7,cache_creation_5m:625e-8,cache_creation_1h:1e-5},"claude-opus-4-5-20251101":{input:5e-6,output:25e-6,cache_read:5e-7,cache_creation_5m:625e-8,cache_creation_1h:1e-5},"claude-opus-4-6":{input:5e-6,output:25e-6,cache_read:5e-7,cache_creation_5m:625e-8,cache_creation_1h:1e-5},"claude-opus-4-6-20260205":{input:5e-6,output:25e-6,cache_read:5e-7,cache_creation_5m:625e-8,cache_creation_1h:1e-5},"claude-opus-4-7":{input:5e-6,output:25e-6,cache_read:5e-7,cache_creation_5m:625e-8,cache_creation_1h:1e-5},"claude-opus-4-7-20260416":{input:5e-6,output:25e-6,cache_read:5e-7,cache_creation_5m:625e-8,cache_creation_1h:1e-5},"claude-sonnet-4-20250514":{input:3e-6,output:15e-6,cache_read:3e-7,cache_creation_5m:375e-8,cache_creation_1h:6e-6},"claude-sonnet-4-5":{input:3e-6,output:15e-6,cache_read:3e-7,cache_creation_5m:375e-8,cache_creation_1h:75e-7},"claude-sonnet-4-5-20250929":{input:3e-6,output:15e-6,cache_read:3e-7,cache_creation_5m:375e-8,cache_creation_1h:75e-7},"claude-sonnet-4-6":{input:3e-6,output:15e-6,cache_read:3e-7,cache_creation_5m:375e-8,cache_creation_1h:75e-7}}}},21249,32110,78110,a=>{"use strict";var b=a.i(12714),c=a.i(2157),d=a.i(1457),e=a.i(60526),f=a.i(50227);let g=(0,f.join)((0,e.homedir)(),".claude","projects"),h=new Map;async function i(a,b){let e=a.split("/"),f=e[e.length-1].replace(/\.jsonl$/,""),g=e[e.length-2]??"",h={filePath:a,mtimeMs:b,sessionId:f,project:g,projectPath:g.replace(/^-/,"/").replaceAll("-","/"),startTime:0,endTime:0,turnCount:0,models:[],inputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,outputTokens:0,byModel:{},usageRecords:[],invocations:[],toolCalls:{},toolErrors:0,sidechainTurns:0};return new Promise(b=>{let e=(0,d.createInterface)({input:(0,c.createReadStream)(a,{encoding:"utf8"}),crlfDelay:1/0});e.on("line",a=>{let b;if(!a||"{"!==a[0])return;let c=a.includes('"usage"'),d=a.includes('"tool_use"'),e=a.includes('"tool_result"');if(!c&&!d&&!e)return;try{b=JSON.parse(a)}catch{return}let f=b.message,g=b.timestamp,i="string"==typeof g?Date.parse(g):NaN,j=!0===b.isSidechain,k=f?.usage;if(k){let a="string"==typeof f?.id?f.id:"",c="string"==typeof b.requestId?b.requestId:"",d=a?`${a}:${c}`:"",e=Number(k.cache_creation_input_tokens)||0,g=k.cache_creation??null,l=0,m=0;if(g&&"object"==typeof g){let a=e-((l=Number(g.ephemeral_5m_input_tokens)||0)+(m=Number(g.ephemeral_1h_input_tokens)||0));a>0&&(l+=a)}else l=e;h.usageRecords.push({dedupKey:d,model:f?.model||"<synthetic>",ts:Number.isFinite(i)?i:0,input:Number(k.input_tokens)||0,cacheRead:Number(k.cache_read_input_tokens)||0,cacheCreation5m:l,cacheCreation1h:m,output:Number(k.output_tokens)||0,isSidechain:j})}if(Array.isArray(f?.content)){for(let a of f.content)if(a&&"object"==typeof a)if("tool_use"===a.type){let b="string"==typeof a.name?a.name:"(unknown)";h.toolCalls[b]=(h.toolCalls[b]??0)+1;let c=a.input;c&&("Skill"===b&&"string"==typeof c.skill?h.invocations.push({kind:"skill",name:c.skill,ts:Number.isFinite(i)?i:0}):"Agent"===b&&"string"==typeof c.subagent_type&&h.invocations.push({kind:"agent",name:c.subagent_type,ts:Number.isFinite(i)?i:0}))}else"tool_result"===a.type&&!0===a.is_error&&(h.toolErrors+=1)}}),e.on("close",()=>b(h)),e.on("error",()=>b(h))})}async function j(a,b){let c=h.get(a);if(c&&c.mtimeMs===b)return c;let d=await i(a,b);for(c&&h.delete(a),h.set(a,d);h.size>5e3;){let a=h.keys().next().value;if(void 0===a)break;h.delete(a)}return d}async function k(a,b,c){let d=Array(a.length),e=0,f=Array.from({length:Math.min(b,a.length)},async()=>{for(;;){let b=e++;if(b>=a.length)return;d[b]=await c(a[b])}});return await Promise.all(f),d}async function l(a=30){let c,d,e,h=Date.now()-24*a*36e5;try{c=await (0,b.readdir)(g,{withFileTypes:!0})}catch{return[]}let i=[];return await Promise.all(c.map(async a=>{let c;if(!a.isDirectory())return;let d=(0,f.join)(g,String(a.name));try{c=await (0,b.readdir)(d,{withFileTypes:!0})}catch{return}for(let a of c){if(!a.isFile()||!a.name.endsWith(".jsonl"))continue;let c=(0,f.join)(d,a.name);try{let a=await (0,b.stat)(c);a.mtimeMs>=h&&i.push({filePath:c,mtimeMs:a.mtimeMs})}catch{}}})),d=[...await k(i,16,a=>j(a.filePath,a.mtimeMs))].sort((a,b)=>a.mtimeMs-b.mtimeMs),e=new Set,d.map(a=>{let b={...a,startTime:0,endTime:0,turnCount:0,inputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,outputTokens:0,byModel:{},models:[],sidechainTurns:0},c=new Set;for(let d of a.usageRecords){if(d.dedupKey){if(e.has(d.dedupKey))continue;e.add(d.dedupKey)}b.inputTokens+=d.input,b.cacheReadTokens+=d.cacheRead,b.cacheCreationTokens+=d.cacheCreation5m+d.cacheCreation1h,b.outputTokens+=d.output,b.turnCount+=1,d.isSidechain&&(b.sidechainTurns+=1),c.add(d.model);let a=b.byModel[d.model]??{inputTokens:0,cacheReadTokens:0,cacheCreation5mTokens:0,cacheCreation1hTokens:0,outputTokens:0};a.inputTokens+=d.input,a.cacheReadTokens+=d.cacheRead,a.cacheCreation5mTokens+=d.cacheCreation5m,a.cacheCreation1hTokens+=d.cacheCreation1h,a.outputTokens+=d.output,b.byModel[d.model]=a,d.ts>0&&((!b.startTime||d.ts<b.startTime)&&(b.startTime=d.ts),d.ts>b.endTime&&(b.endTime=d.ts))}return b.models=[...c],b})}a.s(["getAllTranscripts",0,l],32110);let m=a.i(28886).default.models,n={opus:"claude-opus-4-7",sonnet:"claude-sonnet-4-6",haiku:"claude-haiku-4-5"},o=new Set;function p(a,b){let c=function(a){if(!a||"<synthetic>"===a)return null;if(m[a])return m[a];if(n[a]&&m[n[a]])return m[n[a]];let b=a.replace(/\[[^\]]+\]$/,"");if(b!==a&&m[b])return m[b];let c=b.replace(/-\d{8}$/,"");return m[c]?m[c]:(o.has(a)||(o.add(a),console.warn(`[contextscope] no price found for model "${a}" — treating as $0. Add to lib/model-prices.json or alias.`)),null)}(a);return c?b.input*c.input+b.output*c.output+b.cacheRead*c.cache_read+b.cacheCreation5m*c.cache_creation_5m+b.cacheCreation1h*c.cache_creation_1h:0}function q(a){let b=a.inputTokens+a.cacheReadTokens+a.cacheCreationTokens+a.outputTokens;return{sessionId:a.sessionId,project:a.project,projectPath:a.projectPath,filePath:a.filePath,startTime:a.startTime,endTime:a.endTime,turnCount:a.turnCount,models:a.models,inputTokens:a.inputTokens,cacheReadTokens:a.cacheReadTokens,cacheCreationTokens:a.cacheCreationTokens,outputTokens:a.outputTokens,totalTokens:b,costUsd:function(a){let b=0;for(let[c,d]of Object.entries(a.byModel))b+=p(c,{input:d.inputTokens,output:d.outputTokens,cacheRead:d.cacheReadTokens,cacheCreation5m:d.cacheCreation5mTokens,cacheCreation1h:d.cacheCreation1hTokens});return b}(a),toolCalls:a.toolCalls,toolErrors:a.toolErrors,sidechainTurns:a.sidechainTurns}}async function r(a=30){return(await l(a)).filter(a=>a.turnCount>0).map(q).sort((a,b)=>b.totalTokens-a.totalTokens)}a.s(["costForUsage",0,p,"formatUsd",0,function(a){return a>=100?`$${a.toFixed(0)}`:a>=10?`$${a.toFixed(1)}`:a>=1||a>=.01?`$${a.toFixed(2)}`:a>0?"<$0.01":"$0"}],78110),a.s(["getSessions",0,r,"summarizeSessions",0,function(a){if(0===a.length)return{count:0,totalTokens:0,totalOutputTokens:0,totalInputPlusCache:0,totalCostUsd:0,cacheHitRatio:0,outputInputRatio:0,averageSessionTokens:0,medianSessionTokens:0,p95SessionTokens:0,longSessions:[],dailyBurn:[],byProject:[],totalToolCalls:{},totalToolErrors:0,totalSidechainTurns:0,totalTurns:0};let b=[...a].map(a=>a.totalTokens).sort((a,b)=>a-b),c=b.reduce((a,b)=>a+b,0),d=b[Math.floor(b.length/2)],e=b[Math.min(b.length-1,Math.floor(.95*b.length))],f=0,g=0,h=0,i=0;for(let b of a)f+=b.inputTokens,g+=b.cacheReadTokens,h+=b.cacheCreationTokens,i+=b.outputTokens;let j=f+g+h,k=j>0?g/j:0,l=j>0?i/j:0,m=a.filter(a=>a.totalTokens>=5e5),n=new Map;for(let b of a){let a=b.endTime||b.startTime;if(!a)continue;let c=new Date(a),d=`${c.getUTCFullYear()}-${String(c.getUTCMonth()+1).padStart(2,"0")}-${String(c.getUTCDate()).padStart(2,"0")}`,e=n.get(d)??{tokens:0,cost:0};e.tokens+=b.totalTokens,e.cost+=b.costUsd,n.set(d,e)}let o=[...n.entries()].map(([a,b])=>({date:a,tokens:b.tokens,cost:b.cost})).sort((a,b)=>a.date.localeCompare(b.date)),p=new Map,q=0;for(let b of a){q+=b.costUsd;let a=p.get(b.project)??{project:b.project,projectPath:b.projectPath,count:0,tokens:0,cost:0,turns:0};a.count+=1,a.tokens+=b.totalTokens,a.cost+=b.costUsd,a.turns+=b.turnCount,p.set(b.project,a)}let r=[...p.values()].sort((a,b)=>b.tokens-a.tokens),s={},t=0,u=0,v=0;for(let b of a){for(let[a,c]of Object.entries(b.toolCalls))s[a]=(s[a]??0)+c;t+=b.toolErrors,u+=b.sidechainTurns,v+=b.turnCount}return{count:a.length,totalTokens:c,totalOutputTokens:i,totalInputPlusCache:j,totalCostUsd:q,cacheHitRatio:k,outputInputRatio:l,averageSessionTokens:Math.round(c/a.length),medianSessionTokens:d,p95SessionTokens:e,longSessions:m,dailyBurn:o,byProject:r,totalToolCalls:s,totalToolErrors:t,totalSidechainTurns:u,totalTurns:v}}],21249)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0j40w4k._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[11902,a=>{"use strict";var b=a.i(50708),c=a.i(56004);a.s([],60008),a.i(60008),a.s(["40313b416b27ed3146caaeb6626e778d79a763844a",()=>c.disableUserItems,"40434b25f068566ff30915fb27ff295e1706d99336",()=>c.togglePlugin,"40b82ab2b5a2575d5c2beb515f28609f42c434a44f",()=>b.$$RSC_SERVER_ACTION_0,"40d28d9083db975c0124c656d5480bb2767eeaed78",()=>c.toggleUserItem],11902)},87903,a=>{a.v(a=>Promise.resolve().then(()=>a(12714)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0lbywin._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[64240,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},790,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(11857);a.n(d("[project]/node_modules/next/dist/client/app-dir/link.js <module evaluation>"))},84707,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(11857);a.n(d("[project]/node_modules/next/dist/client/app-dir/link.js"))},97647,a=>{"use strict";a.i(790);var b=a.i(84707);a.n(b)},95936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return i},useLinkStatus:function(){return h.useLinkStatus}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(64240),g=a.r(7997),h=f._(a.r(97647));function i(a){let b=a.legacyBehavior,c="string"==typeof a.children||"number"==typeof a.children||"string"==typeof a.children?.type,d=a.children?.type?.$$typeof===Symbol.for("react.client.reference");return!b||c||d||(a.children?.type?.$$typeof===Symbol.for("react.lazy")?console.error("Using a Lazy Component as a direct child of `<Link legacyBehavior>` from a Server Component is not supported. If you need legacyBehavior, wrap your Lazy Component in a Client Component that renders the Link's `<a>` tag."):console.error("Using a Server Component as a direct child of `<Link legacyBehavior>` is not supported. If you need legacyBehavior, wrap your Server Component in a Client Component that renders the Link's `<a>` tag.")),(0,g.jsx)(h.default,{...a})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},84434,a=>{"use strict";var b=a.i(7997),c=a.i(95936);a.s(["MiniStat",0,function({label:a,value:c}){return(0,b.jsxs)("div",{className:"px-2 py-3 text-center",children:[(0,b.jsx)("div",{className:"text-sm font-semibold tabular-nums tracking-tight text-zinc-900 dark:text-zinc-50",children:c}),(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500 mt-0.5",children:a})]})},"Receipt",0,function({label:a,action:d,pad:e="default",className:f="",children:g}){let h=!!(a||d);return(0,b.jsxs)("div",{className:`rounded-lg border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-900 ${f}`,children:[h&&(0,b.jsxs)("div",{className:"flex items-baseline justify-between gap-3 px-4 pt-3 pb-2 border-b border-zinc-200 dark:border-zinc-800",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:a}),d&&(0,b.jsxs)(c.default,{href:d.href,className:"text-[10px] uppercase tracking-widest text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors",children:[d.label," →"]})]}),(0,b.jsx)("div",{className:`${"none"===e?"":"tight"===e?"px-4 py-3":"loose"===e?"px-6 py-6 md:px-8 md:py-7":"px-4 py-4 md:px-6 md:py-5"} ${"none"===e?"overflow-x-auto":""}`,children:g})]})},"Stat",0,function({label:a,value:c,hint:d,align:e="left",size:f="lg"}){return(0,b.jsxs)("div",{className:"center"===e?"text-center":"right"===e?"text-right":"text-left",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:a}),(0,b.jsx)("div",{className:`${"xl"===f?"text-3xl":"lg"===f?"text-2xl":"text-xl"} font-semibold tabular-nums tracking-tight text-zinc-900 dark:text-zinc-50 mt-1`,children:c}),d&&(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500 mt-0.5",children:d})]})}])},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},1457,(a,b,c)=>{b.exports=a.x("node:readline",()=>require("node:readline"))},28886,(a,b,c)=>{b.exports={_source:"https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json",_refreshedAt:"2026-05-27T17:24:45.345Z",_description:"Anthropic model prices in USD per token (input, output, cache_read, cache_creation 5min default). Refresh with `npm run refresh-prices`.",models:{"claude-3-7-sonnet-20250219":{input:3e-6,output:15e-6,cache_read:3e-7,cache_creation_5m:375e-8,cache_creation_1h:6e-6},"claude-3-haiku-20240307":{input:25e-8,output:125e-8,cache_read:3e-8,cache_creation_5m:3e-7,cache_creation_1h:6e-6},"claude-3-opus-20240229":{input:15e-6,output:75e-6,cache_read:15e-7,cache_creation_5m:1875e-8,cache_creation_1h:6e-6},"claude-4-opus-20250514":{input:15e-6,output:75e-6,cache_read:15e-7,cache_creation_5m:1875e-8,cache_creation_1h:375e-7},"claude-4-sonnet-20250514":{input:3e-6,output:15e-6,cache_read:3e-7,cache_creation_5m:375e-8,cache_creation_1h:75e-7},"claude-haiku-4-5":{input:1e-6,output:5e-6,cache_read:1e-7,cache_creation_5m:125e-8,cache_creation_1h:2e-6},"claude-haiku-4-5-20251001":{input:1e-6,output:5e-6,cache_read:1e-7,cache_creation_5m:125e-8,cache_creation_1h:2e-6},"claude-opus-4-1":{input:15e-6,output:75e-6,cache_read:15e-7,cache_creation_5m:1875e-8,cache_creation_1h:3e-5},"claude-opus-4-1-20250805":{input:15e-6,output:75e-6,cache_read:15e-7,cache_creation_5m:1875e-8,cache_creation_1h:3e-5},"claude-opus-4-20250514":{input:15e-6,output:75e-6,cache_read:15e-7,cache_creation_5m:1875e-8,cache_creation_1h:3e-5},"claude-opus-4-5":{input:5e-6,output:25e-6,cache_read:5e-7,cache_creation_5m:625e-8,cache_creation_1h:1e-5},"claude-opus-4-5-20251101":{input:5e-6,output:25e-6,cache_read:5e-7,cache_creation_5m:625e-8,cache_creation_1h:1e-5},"claude-opus-4-6":{input:5e-6,output:25e-6,cache_read:5e-7,cache_creation_5m:625e-8,cache_creation_1h:1e-5},"claude-opus-4-6-20260205":{input:5e-6,output:25e-6,cache_read:5e-7,cache_creation_5m:625e-8,cache_creation_1h:1e-5},"claude-opus-4-7":{input:5e-6,output:25e-6,cache_read:5e-7,cache_creation_5m:625e-8,cache_creation_1h:1e-5},"claude-opus-4-7-20260416":{input:5e-6,output:25e-6,cache_read:5e-7,cache_creation_5m:625e-8,cache_creation_1h:1e-5},"claude-sonnet-4-20250514":{input:3e-6,output:15e-6,cache_read:3e-7,cache_creation_5m:375e-8,cache_creation_1h:6e-6},"claude-sonnet-4-5":{input:3e-6,output:15e-6,cache_read:3e-7,cache_creation_5m:375e-8,cache_creation_1h:75e-7},"claude-sonnet-4-5-20250929":{input:3e-6,output:15e-6,cache_read:3e-7,cache_creation_5m:375e-8,cache_creation_1h:75e-7},"claude-sonnet-4-6":{input:3e-6,output:15e-6,cache_read:3e-7,cache_creation_5m:375e-8,cache_creation_1h:75e-7}}}},21249,32110,78110,a=>{"use strict";var b=a.i(12714),c=a.i(2157),d=a.i(1457),e=a.i(60526),f=a.i(50227);let g=(0,f.join)((0,e.homedir)(),".claude","projects"),h=new Map;async function i(a,b){let e=a.split("/"),f=e[e.length-1].replace(/\.jsonl$/,""),g=e[e.length-2]??"",h={filePath:a,mtimeMs:b,sessionId:f,project:g,projectPath:g.replace(/^-/,"/").replaceAll("-","/"),startTime:0,endTime:0,turnCount:0,models:[],inputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,outputTokens:0,byModel:{},usageRecords:[],invocations:[],toolCalls:{},toolErrors:0,sidechainTurns:0};return new Promise(b=>{let e=(0,d.createInterface)({input:(0,c.createReadStream)(a,{encoding:"utf8"}),crlfDelay:1/0});e.on("line",a=>{let b;if(!a||"{"!==a[0])return;let c=a.includes('"usage"'),d=a.includes('"tool_use"'),e=a.includes('"tool_result"');if(!c&&!d&&!e)return;try{b=JSON.parse(a)}catch{return}let f=b.message,g=b.timestamp,i="string"==typeof g?Date.parse(g):NaN,j=!0===b.isSidechain,k=f?.usage;if(k){let a="string"==typeof f?.id?f.id:"",c="string"==typeof b.requestId?b.requestId:"",d=a?`${a}:${c}`:"",e=Number(k.cache_creation_input_tokens)||0,g=k.cache_creation??null,l=0,m=0;if(g&&"object"==typeof g){let a=e-((l=Number(g.ephemeral_5m_input_tokens)||0)+(m=Number(g.ephemeral_1h_input_tokens)||0));a>0&&(l+=a)}else l=e;h.usageRecords.push({dedupKey:d,model:f?.model||"<synthetic>",ts:Number.isFinite(i)?i:0,input:Number(k.input_tokens)||0,cacheRead:Number(k.cache_read_input_tokens)||0,cacheCreation5m:l,cacheCreation1h:m,output:Number(k.output_tokens)||0,isSidechain:j})}if(Array.isArray(f?.content)){for(let a of f.content)if(a&&"object"==typeof a)if("tool_use"===a.type){let b="string"==typeof a.name?a.name:"(unknown)";h.toolCalls[b]=(h.toolCalls[b]??0)+1;let c=a.input;c&&("Skill"===b&&"string"==typeof c.skill?h.invocations.push({kind:"skill",name:c.skill,ts:Number.isFinite(i)?i:0}):"Agent"===b&&"string"==typeof c.subagent_type&&h.invocations.push({kind:"agent",name:c.subagent_type,ts:Number.isFinite(i)?i:0}))}else"tool_result"===a.type&&!0===a.is_error&&(h.toolErrors+=1)}}),e.on("close",()=>b(h)),e.on("error",()=>b(h))})}async function j(a,b){let c=h.get(a);if(c&&c.mtimeMs===b)return c;let d=await i(a,b);for(c&&h.delete(a),h.set(a,d);h.size>5e3;){let a=h.keys().next().value;if(void 0===a)break;h.delete(a)}return d}async function k(a,b,c){let d=Array(a.length),e=0,f=Array.from({length:Math.min(b,a.length)},async()=>{for(;;){let b=e++;if(b>=a.length)return;d[b]=await c(a[b])}});return await Promise.all(f),d}async function l(a=30){let c,d,e,h=Date.now()-24*a*36e5;try{c=await (0,b.readdir)(g,{withFileTypes:!0})}catch{return[]}let i=[];return await Promise.all(c.map(async a=>{let c;if(!a.isDirectory())return;let d=(0,f.join)(g,String(a.name));try{c=await (0,b.readdir)(d,{withFileTypes:!0})}catch{return}for(let a of c){if(!a.isFile()||!a.name.endsWith(".jsonl"))continue;let c=(0,f.join)(d,a.name);try{let a=await (0,b.stat)(c);a.mtimeMs>=h&&i.push({filePath:c,mtimeMs:a.mtimeMs})}catch{}}})),d=[...await k(i,16,a=>j(a.filePath,a.mtimeMs))].sort((a,b)=>a.mtimeMs-b.mtimeMs),e=new Set,d.map(a=>{let b={...a,startTime:0,endTime:0,turnCount:0,inputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,outputTokens:0,byModel:{},models:[],sidechainTurns:0},c=new Set;for(let d of a.usageRecords){if(d.dedupKey){if(e.has(d.dedupKey))continue;e.add(d.dedupKey)}b.inputTokens+=d.input,b.cacheReadTokens+=d.cacheRead,b.cacheCreationTokens+=d.cacheCreation5m+d.cacheCreation1h,b.outputTokens+=d.output,b.turnCount+=1,d.isSidechain&&(b.sidechainTurns+=1),c.add(d.model);let a=b.byModel[d.model]??{inputTokens:0,cacheReadTokens:0,cacheCreation5mTokens:0,cacheCreation1hTokens:0,outputTokens:0};a.inputTokens+=d.input,a.cacheReadTokens+=d.cacheRead,a.cacheCreation5mTokens+=d.cacheCreation5m,a.cacheCreation1hTokens+=d.cacheCreation1h,a.outputTokens+=d.output,b.byModel[d.model]=a,d.ts>0&&((!b.startTime||d.ts<b.startTime)&&(b.startTime=d.ts),d.ts>b.endTime&&(b.endTime=d.ts))}return b.models=[...c],b})}a.s(["getAllTranscripts",0,l],32110);let m=a.i(28886).default.models,n={opus:"claude-opus-4-7",sonnet:"claude-sonnet-4-6",haiku:"claude-haiku-4-5"},o=new Set;function p(a,b){let c=function(a){if(!a||"<synthetic>"===a)return null;if(m[a])return m[a];if(n[a]&&m[n[a]])return m[n[a]];let b=a.replace(/\[[^\]]+\]$/,"");if(b!==a&&m[b])return m[b];let c=b.replace(/-\d{8}$/,"");return m[c]?m[c]:(o.has(a)||(o.add(a),console.warn(`[contextscope] no price found for model "${a}" — treating as $0. Add to lib/model-prices.json or alias.`)),null)}(a);return c?b.input*c.input+b.output*c.output+b.cacheRead*c.cache_read+b.cacheCreation5m*c.cache_creation_5m+b.cacheCreation1h*c.cache_creation_1h:0}function q(a){let b=a.inputTokens+a.cacheReadTokens+a.cacheCreationTokens+a.outputTokens;return{sessionId:a.sessionId,project:a.project,projectPath:a.projectPath,filePath:a.filePath,startTime:a.startTime,endTime:a.endTime,turnCount:a.turnCount,models:a.models,inputTokens:a.inputTokens,cacheReadTokens:a.cacheReadTokens,cacheCreationTokens:a.cacheCreationTokens,outputTokens:a.outputTokens,totalTokens:b,costUsd:function(a){let b=0;for(let[c,d]of Object.entries(a.byModel))b+=p(c,{input:d.inputTokens,output:d.outputTokens,cacheRead:d.cacheReadTokens,cacheCreation5m:d.cacheCreation5mTokens,cacheCreation1h:d.cacheCreation1hTokens});return b}(a),toolCalls:a.toolCalls,toolErrors:a.toolErrors,sidechainTurns:a.sidechainTurns}}async function r(a=30){return(await l(a)).filter(a=>a.turnCount>0).map(q).sort((a,b)=>b.totalTokens-a.totalTokens)}a.s(["costForUsage",0,p,"formatUsd",0,function(a){return a>=100?`$${a.toFixed(0)}`:a>=10?`$${a.toFixed(1)}`:a>=1||a>=.01?`$${a.toFixed(2)}`:a>0?"<$0.01":"$0"}],78110),a.s(["getSessions",0,r,"summarizeSessions",0,function(a){if(0===a.length)return{count:0,totalTokens:0,totalOutputTokens:0,totalInputPlusCache:0,totalCostUsd:0,cacheHitRatio:0,outputInputRatio:0,averageSessionTokens:0,medianSessionTokens:0,p95SessionTokens:0,longSessions:[],dailyBurn:[],byProject:[],totalToolCalls:{},totalToolErrors:0,totalSidechainTurns:0,totalTurns:0};let b=[...a].map(a=>a.totalTokens).sort((a,b)=>a-b),c=b.reduce((a,b)=>a+b,0),d=b[Math.floor(b.length/2)],e=b[Math.min(b.length-1,Math.floor(.95*b.length))],f=0,g=0,h=0,i=0;for(let b of a)f+=b.inputTokens,g+=b.cacheReadTokens,h+=b.cacheCreationTokens,i+=b.outputTokens;let j=f+g+h,k=j>0?g/j:0,l=j>0?i/j:0,m=a.filter(a=>a.totalTokens>=5e5),n=new Map;for(let b of a){let a=b.endTime||b.startTime;if(!a)continue;let c=new Date(a),d=`${c.getUTCFullYear()}-${String(c.getUTCMonth()+1).padStart(2,"0")}-${String(c.getUTCDate()).padStart(2,"0")}`,e=n.get(d)??{tokens:0,cost:0};e.tokens+=b.totalTokens,e.cost+=b.costUsd,n.set(d,e)}let o=[...n.entries()].map(([a,b])=>({date:a,tokens:b.tokens,cost:b.cost})).sort((a,b)=>a.date.localeCompare(b.date)),p=new Map,q=0;for(let b of a){q+=b.costUsd;let a=p.get(b.project)??{project:b.project,projectPath:b.projectPath,count:0,tokens:0,cost:0,turns:0};a.count+=1,a.tokens+=b.totalTokens,a.cost+=b.costUsd,a.turns+=b.turnCount,p.set(b.project,a)}let r=[...p.values()].sort((a,b)=>b.tokens-a.tokens),s={},t=0,u=0,v=0;for(let b of a){for(let[a,c]of Object.entries(b.toolCalls))s[a]=(s[a]??0)+c;t+=b.toolErrors,u+=b.sidechainTurns,v+=b.turnCount}return{count:a.length,totalTokens:c,totalOutputTokens:i,totalInputPlusCache:j,totalCostUsd:q,cacheHitRatio:k,outputInputRatio:l,averageSessionTokens:Math.round(c/a.length),medianSessionTokens:d,p95SessionTokens:e,longSessions:m,dailyBurn:o,byProject:r,totalToolCalls:s,totalToolErrors:t,totalSidechainTurns:u,totalTurns:v}}],21249)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0p2sxww._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[82887,a=>{"use strict";var b=a.i(12714),c=a.i(60526),d=a.i(50227);let e=(0,c.homedir)(),f=(0,d.join)(e,".claude.json"),g=(0,d.join)(e,".claude","mcp-servers","ptc-mcp","config.yaml");async function h(){let a,c=[];try{let c=await (0,b.readFile)(f,"utf8");a=JSON.parse(c)}catch{return c}for(let[b,d]of Object.entries(a?.mcpServers??{})){let a,e=d.type??"stdio",f="stdio"===e?`${d.command??""} ${(d.args??[]).join(" ")}`.trim():d.url??"",g="ptc"===b;g&&(a=await i()),c.push({name:b,transport:e,target:f,isPtc:g,downstream:a})}return c}async function i(){try{let a=await (0,b.readFile)(g,"utf8"),c=[],d=a.split("\n"),e=!1;for(let a of d){if(/^servers:\s*$/.test(a)){e=!0;continue}if(e&&/^\w/.test(a))break;if(!e)continue;let b=a.match(/^\s*-\s*name:\s*(\S+)\s*$/);b&&c.push(b[1])}return c}catch{return[]}}a.s(["getMcpServers",0,h])},38196,a=>{"use strict";var b=a.i(7997),c=a.i(37936),d=a.i(44721),e=a.i(55574),f=a.i(62367),g=a.i(21249),h=a.i(71120),i=a.i(82887),j=a.i(84434),k=a.i(56004);let l=new Intl.NumberFormat("en-US"),m=async function(a){var[b]=await (0,d.decryptActionBoundArgs)("409c3838ba47309422766564fe8e315449b9d6b693",a);await (0,k.disableUserItems)(b.map(a=>a.filePath))};(0,c.registerServerReference)(m,"409c3838ba47309422766564fe8e315449b9d6b693",null);let n=async function(a){var[b]=await (0,d.decryptActionBoundArgs)("40c03bfcac613440541372c390d393c5adca85bed5",a);await (0,k.togglePlugin)(b)};(0,c.registerServerReference)(n,"40c03bfcac613440541372c390d393c5adca85bed5",null);let o=async function(a){var[b]=await (0,d.decryptActionBoundArgs)("403c0ce82e7ff78139da5d2f5c8f3a598ed91a7d8f",a);await (0,k.toggleUserItem)(b)};async function p(){let[a,c,k,p,r]=await Promise.all([(0,e.getInventory)(),(0,f.getUsage)(30),(0,g.getSessions)(30),(0,h.getHooks)(),(0,i.getMcpServers)()]),s=(0,e.summarize)(a),t=a.map(a=>({...a,...(0,f.lookupUsage)(a,c)})),u=[...t].sort((a,b)=>{let c=!a.disabled&&0===a.invocations;return c!==(!b.disabled&&0===b.invocations)?c?-1:1:a.disabled!==b.disabled?a.disabled?1:-1:b.invocations-a.invocations}),v=t.filter(a=>!a.disabled&&0===a.invocations&&"user"===a.source),w=v.reduce((a,b)=>a+b.perTurnTokens,0),x=p.filter(a=>"SessionStart"===a.event&&"measured"===a.status).reduce((a,b)=>a+b.perTurnTokens,0),y=(()=>{if(0===k.length)return 0;let a=[...k].map(a=>a.totalTokens).sort((a,b)=>a-b);return a[Math.min(a.length-1,Math.floor(.75*a.length))]})(),z=k.filter(a=>a.totalTokens>y).length,A=r.filter(a=>!a.isPtc).length;return(0,b.jsx)("main",{className:"flex-1 font-mono bg-zinc-50 dark:bg-zinc-950",children:(0,b.jsxs)("div",{className:"max-w-6xl mx-auto px-6 py-10",children:[(0,b.jsxs)("header",{className:"mb-8 flex flex-col sm:flex-row sm:items-baseline sm:justify-between gap-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:"items"}),(0,b.jsx)("p",{className:"text-[10px] uppercase tracking-widest text-zinc-500 mt-1",children:"skills · agents · commands"})]}),(0,b.jsxs)("code",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:[s.totalItems," loaded · ",l.format(s.totalPerTurnTokens)," tok/turn"]})]}),(0,b.jsxs)("p",{className:"mb-6 text-[10px] uppercase tracking-widest text-zinc-500",children:["toggles apply on next Claude Code restart · plugin toggles snapshot"," ",(0,b.jsx)("code",{className:"normal-case tracking-normal",children:"settings.json"})," to"," ",(0,b.jsx)("code",{className:"normal-case tracking-normal",children:"~/.claude/settings.json.usage-bak-<ts>"})," ","(5 most recent kept)"]}),(0,b.jsxs)("section",{className:"grid grid-cols-2 md:grid-cols-4 gap-3 mb-6",children:[(0,b.jsx)(j.Receipt,{pad:"default",children:(0,b.jsx)(j.Stat,{label:"total items",value:l.format(s.totalItems),hint:`${l.format(s.totalPerTurnTokens)} tok/turn`})}),(0,b.jsx)(j.Receipt,{pad:"default",children:(0,b.jsx)(j.Stat,{label:"skills",value:l.format(s.byKind.skill.count),hint:`${l.format(s.byKind.skill.perTurnTokens)} tok/turn`})}),(0,b.jsx)(j.Receipt,{pad:"default",children:(0,b.jsx)(j.Stat,{label:"agents",value:l.format(s.byKind.agent.count),hint:`${l.format(s.byKind.agent.perTurnTokens)} tok/turn`})}),(0,b.jsx)(j.Receipt,{pad:"default",children:(0,b.jsx)(j.Stat,{label:"commands",value:l.format(s.byKind.command.count),hint:`${l.format(s.byKind.command.perTurnTokens)} tok/turn`})})]}),(0,b.jsxs)("section",{className:"mb-6 space-y-3",children:[v.length>0&&(0,b.jsx)(j.Receipt,{label:`recommendation \xb7 ${v.length} unused`,pad:"default",className:"border-amber-300 dark:border-amber-900/50 bg-amber-50/40 dark:bg-amber-950/10",children:(0,b.jsxs)("div",{className:"flex items-start gap-4 flex-wrap",children:[(0,b.jsxs)("div",{className:"flex-1 min-w-[280px]",children:[(0,b.jsxs)("div",{className:"text-sm text-zinc-700 dark:text-zinc-300",children:[(0,b.jsx)("span",{className:"text-2xl font-semibold tabular-nums tracking-tight mr-2",children:v.length}),"user items have not been invoked in the last ",30," days."]}),(0,b.jsxs)("div",{className:"text-xs text-zinc-500 mt-1",children:["Disable all to remove"," ",(0,b.jsx)("span",{className:"tabular-nums font-semibold text-zinc-700 dark:text-zinc-300",children:l.format(w)})," ","tok/turn. Reversible (renames file with"," ",(0,b.jsx)("code",{children:".disabled"})," suffix)."]})]}),(0,b.jsx)("form",{action:m.bind(null,(0,d.encryptActionBoundArgs)("409c3838ba47309422766564fe8e315449b9d6b693",v)),children:(0,b.jsxs)("button",{type:"submit",className:"text-[10px] uppercase tracking-widest rounded-full px-3 py-1.5 bg-amber-200 dark:bg-amber-900 text-amber-900 dark:text-amber-100 hover:bg-amber-300 dark:hover:bg-amber-800 transition-colors cursor-pointer",children:["disable all ",v.length," →"]})})]})}),x>0&&(0,b.jsxs)(j.Receipt,{label:"recommendation · sticky hook overhead",pad:"default",className:"border-zinc-200 dark:border-zinc-800",children:[(0,b.jsxs)("div",{className:"text-sm text-zinc-700 dark:text-zinc-300",children:[(0,b.jsx)("span",{className:"text-2xl font-semibold tabular-nums tracking-tight mr-2",children:l.format(x)}),"tokens injected by SessionStart hooks every session."]}),(0,b.jsxs)("div",{className:"text-xs text-zinc-500 mt-1",children:["Sticky until restart — that overhead compounds across every turn in the session. If you don't rely on the injected content, edit"," ",(0,b.jsx)("code",{children:"hooks.SessionStart"})," in ",(0,b.jsx)("code",{children:"~/.claude/settings.json"}),"."]})]}),z>0&&y>0&&(0,b.jsxs)(j.Receipt,{label:"recommendation · long-session outliers",pad:"default",className:"border-zinc-200 dark:border-zinc-800",children:[(0,b.jsxs)("div",{className:"text-sm text-zinc-700 dark:text-zinc-300",children:[(0,b.jsx)("span",{className:"text-2xl font-semibold tabular-nums tracking-tight mr-2",children:z}),"sessions exceeded your p75 (",y>=1e9?`${(y/1e9).toFixed(2)}B`:y>=1e6?`${(y/1e6).toFixed(1)}M`:y>=1e3?`${(y/1e3).toFixed(1)}k`:String(y)," tokens) in the last ",30," days."]}),(0,b.jsxs)("div",{className:"text-xs text-zinc-500 mt-1",children:["Long sessions amplify every per-turn cost — even small baseline overhead becomes huge when re-fed 1000+ times. Use ",(0,b.jsx)("code",{children:"/clear"})," between unrelated tasks."]})]}),A>1&&(0,b.jsxs)(j.Receipt,{label:"recommendation · mcp consolidation",pad:"default",className:"border-zinc-200 dark:border-zinc-800",children:[(0,b.jsxs)("div",{className:"text-sm text-zinc-700 dark:text-zinc-300",children:[(0,b.jsx)("span",{className:"text-2xl font-semibold tabular-nums tracking-tight mr-2",children:A}),"MCP servers registered directly."]}),(0,b.jsx)("div",{className:"text-xs text-zinc-500 mt-1",children:"Each direct server adds its tool descriptions to the deferred-tools list. Routing through PTC (Programmatic Tool Calling) replaces all of them with 3 generic tools."})]})]}),(0,b.jsx)("section",{className:"mb-6",children:(0,b.jsx)(j.Receipt,{label:"by plugin",pad:"none",children:0===s.byPlugin.length?(0,b.jsxs)("p",{className:"px-5 py-4 text-sm text-zinc-500",children:["No plugins detected in ",(0,b.jsx)("code",{children:"~/.claude/plugins/cache/"}),"."]}):(0,b.jsxs)("table",{className:"w-full text-sm",children:[(0,b.jsx)("thead",{className:"text-left text-[10px] uppercase tracking-widest text-zinc-500 border-b border-zinc-200 dark:border-zinc-800",children:(0,b.jsxs)("tr",{children:[(0,b.jsx)("th",{className:"px-5 py-3 font-normal",children:"plugin"}),(0,b.jsx)("th",{className:"px-5 py-3 font-normal text-right",children:"items"}),(0,b.jsx)("th",{className:"px-5 py-3 font-normal text-right",children:"per turn"}),(0,b.jsx)("th",{className:"px-5 py-3 font-normal text-right",children:"body"}),(0,b.jsx)("th",{className:"px-5 py-3 font-normal text-center",children:"enabled"})]})}),(0,b.jsx)("tbody",{children:s.byPlugin.map(c=>{let e=a.find(a=>a.plugin===c.plugin),f=e?.pluginKey,g=!!e&&!e.disabled;return(0,b.jsxs)("tr",{className:"border-b border-zinc-200/60 dark:border-zinc-800/60 last:border-b-0 hover:bg-zinc-50 dark:hover:bg-zinc-950/40 transition-colors",children:[(0,b.jsx)("td",{className:"px-5 py-3",children:c.plugin}),(0,b.jsx)("td",{className:"px-5 py-3 text-right tabular-nums text-zinc-500",children:c.count}),(0,b.jsx)("td",{className:"px-5 py-3 text-right tabular-nums",children:l.format(c.perTurnTokens)}),(0,b.jsx)("td",{className:"px-5 py-3 text-right tabular-nums text-zinc-500",children:l.format(c.bodyTokens)}),(0,b.jsx)("td",{className:"px-5 py-3 text-center",children:f?(0,b.jsx)("form",{action:n.bind(null,(0,d.encryptActionBoundArgs)("40c03bfcac613440541372c390d393c5adca85bed5",f)),children:(0,b.jsx)(q,{enabled:g})}):(0,b.jsx)("span",{className:"text-xs text-zinc-400",children:"—"})})]},c.plugin)})})]})})}),(0,b.jsx)("section",{className:"mb-6",children:(0,b.jsx)(j.Receipt,{label:`all items \xb7 ${u.length} total`,pad:"none",children:(0,b.jsxs)("table",{className:"w-full text-sm",children:[(0,b.jsx)("thead",{className:"text-left text-[10px] uppercase tracking-widest text-zinc-500 border-b border-zinc-200 dark:border-zinc-800",children:(0,b.jsxs)("tr",{children:[(0,b.jsx)("th",{className:"px-5 py-3 font-normal",children:"name"}),(0,b.jsx)("th",{className:"px-5 py-3 font-normal",children:"kind"}),(0,b.jsx)("th",{className:"px-5 py-3 font-normal",children:"source"}),(0,b.jsx)("th",{className:"px-5 py-3 font-normal",children:"plugin"}),(0,b.jsx)("th",{className:"px-5 py-3 font-normal text-right",children:"per turn"}),(0,b.jsx)("th",{className:"px-5 py-3 font-normal text-right",children:"invokes"}),(0,b.jsx)("th",{className:"px-5 py-3 font-normal text-right",children:"last"}),(0,b.jsx)("th",{className:"px-5 py-3 font-normal text-center",children:"enabled"})]})}),(0,b.jsx)("tbody",{children:u.map(a=>{let c=!a.disabled&&0===a.invocations,e=a.disabled?"opacity-50":c?"bg-red-50/40 dark:bg-red-950/20 hover:bg-red-50/60 dark:hover:bg-red-950/30":"hover:bg-zinc-50 dark:hover:bg-zinc-950/40";return(0,b.jsxs)("tr",{className:`border-b border-zinc-200/60 dark:border-zinc-800/60 last:border-b-0 transition-colors ${e}`,title:a.description,children:[(0,b.jsx)("td",{className:"px-5 py-3",children:(0,b.jsx)("span",{className:c?"text-red-700 dark:text-red-400":"",children:a.name})}),(0,b.jsx)("td",{className:"px-5 py-3 text-zinc-500 text-xs",children:a.kind}),(0,b.jsx)("td",{className:"px-5 py-3 text-zinc-500 text-xs",children:a.source}),(0,b.jsx)("td",{className:"px-5 py-3 text-zinc-500 text-xs truncate max-w-[160px]",children:a.plugin??"—"}),(0,b.jsx)("td",{className:"px-5 py-3 text-right tabular-nums",children:a.disabled?(0,b.jsx)("span",{className:"text-zinc-400",children:"—"}):l.format(a.perTurnTokens)}),(0,b.jsx)("td",{className:`px-5 py-3 text-right tabular-nums ${c?"text-red-700 dark:text-red-400":"text-zinc-700 dark:text-zinc-300"}`,children:a.invocations}),(0,b.jsx)("td",{className:"px-5 py-3 text-right text-zinc-500 tabular-nums text-xs",children:function(a){if(!a)return"never";let b=Math.floor((Date.now()-a)/864e5);return 0===b?"today":1===b?"1d":`${b}d`}(a.lastUsed)}),(0,b.jsx)("td",{className:"px-5 py-3 text-center",children:"user"===a.source?(0,b.jsx)("form",{action:o.bind(null,(0,d.encryptActionBoundArgs)("403c0ce82e7ff78139da5d2f5c8f3a598ed91a7d8f",a.filePath)),children:(0,b.jsx)(q,{enabled:!a.disabled})}):(0,b.jsx)("span",{className:"text-[10px] uppercase tracking-widest text-zinc-400",title:"Plugin items can only be toggled at the plugin level",children:"plugin"})})]},a.filePath)})})]})})})]})})}function q({enabled:a}){return(0,b.jsx)("button",{type:"submit",className:`text-[10px] uppercase tracking-widest rounded-full px-2.5 py-1 border transition-colors cursor-pointer ${a?"text-emerald-700 dark:text-emerald-300 border-emerald-300/60 dark:border-emerald-800/60 bg-emerald-50/50 dark:bg-emerald-950/30 hover:bg-zinc-100 dark:hover:bg-zinc-900 hover:text-zinc-600 dark:hover:text-zinc-400 hover:border-zinc-300 dark:hover:border-zinc-700":"text-zinc-500 border-zinc-300 dark:border-zinc-700 hover:bg-emerald-50/50 dark:hover:bg-emerald-950/30 hover:text-emerald-700 dark:hover:text-emerald-300 hover:border-emerald-300/60 dark:hover:border-emerald-800/60"}`,"aria-pressed":a,title:a?"Click to disable":"Click to enable",children:a?"on":"off"})}(0,c.registerServerReference)(o,"403c0ce82e7ff78139da5d2f5c8f3a598ed91a7d8f",null),a.s(["$$RSC_SERVER_ACTION_0",0,m,"$$RSC_SERVER_ACTION_1",0,n,"$$RSC_SERVER_ACTION_2",0,o,"default",0,p,"dynamic",0,"force-dynamic"])},39470,a=>{"use strict";var b=a.i(38196),c=a.i(56004);a.s([],15211),a.i(15211),a.s(["40313b416b27ed3146caaeb6626e778d79a763844a",()=>c.disableUserItems,"403c0ce82e7ff78139da5d2f5c8f3a598ed91a7d8f",()=>b.$$RSC_SERVER_ACTION_2,"40434b25f068566ff30915fb27ff295e1706d99336",()=>c.togglePlugin,"409c3838ba47309422766564fe8e315449b9d6b693",()=>b.$$RSC_SERVER_ACTION_0,"40c03bfcac613440541372c390d393c5adca85bed5",()=>b.$$RSC_SERVER_ACTION_1,"40d28d9083db975c0124c656d5480bb2767eeaed78",()=>c.toggleUserItem],39470)},87903,a=>{a.v(a=>Promise.resolve().then(()=>a(12714)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0wj0exw._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[13952,a=>{"use strict";var b=a.i(12714),c=a.i(60526),d=a.i(50227),e=a.i(23789);let f=(0,c.homedir)(),g=(0,d.join)(f,".claude"),h=(0,d.join)(g,"projects"),i=(0,e.getEncoding)("cl100k_base"),j=[f],k=new Set(["node_modules",".git",".next","dist","build",".turbo",".vercel",".cache",".pnpm-store",".vscode",".antigravity",".bun",".cursor",".windsurf","worktrees"]);async function l(a){try{return await (0,b.stat)(a),!0}catch{return!1}}async function m(a){try{var c;return c=await (0,b.readFile)(a,"utf8"),i.encode(c).length}catch{return 0}}async function n(a,c,e){let f;if(!(c>4)){try{f=await (0,b.readdir)(a,{withFileTypes:!0})}catch{return}for(let b of f){if(b.name.startsWith(".")&&".claude"!==b.name&&(k.has(b.name)||c>0)||k.has(b.name))continue;let f=(0,d.join)(a,b.name);b.isDirectory()?await n(f,c+1,e):b.isFile()&&"CLAUDE.md"===b.name&&e.push(f)}}}async function o(){let a=[],c=(0,d.join)(g,"CLAUDE.md");await l(c)&&a.push({category:"claude-md-global",name:"~/.claude/CLAUDE.md",filePath:c,tokens:await m(c),loadedWhen:"every session"});let e=[];for(let a of j)await n(a,0,e);for(let b of e){if(b===c)continue;let d=await m(b),e=b.replace(f,"~"),g=e.replace(/\/CLAUDE\.md$/,"");a.push({category:"claude-md-project",name:e,filePath:b,tokens:d,loadedWhen:`when cwd is ${g} (or below)`})}if(await l(h)){let c=[];try{c=await (0,b.readdir)(h,{withFileTypes:!0})}catch{c=[]}for(let b of c){if(!b.isDirectory())continue;let c=String(b.name),e=(0,d.join)(h,c,"memory","MEMORY.md");if(!await l(e))continue;let f=c.replace(/^-/,"/").replaceAll("-","/").replace(/[\x00-\x1f\x7f]/g,"");a.push({category:"memory-md",name:`${c}/memory/MEMORY.md`,filePath:e,tokens:await m(e),loadedWhen:`in project ${f}`})}}return a.sort((a,b)=>b.tokens-a.tokens)}a.s(["getContextFiles",0,o])},50708,a=>{"use strict";var b=a.i(7997),c=a.i(37936),d=a.i(44721),e=a.i(95936),f=a.i(55574),g=a.i(62367),h=a.i(21249),i=a.i(13952),j=a.i(71120),k=a.i(84434),l=a.i(56004);let m=new Intl.NumberFormat("en-US");function n(a){return a>=1e9?`${(a/1e9).toFixed(2)}B`:a>=1e6?`${(a/1e6).toFixed(1)}M`:a>=1e3?`${(a/1e3).toFixed(1)}k`:String(a)}let o=async function(a){var[b]=await (0,d.decryptActionBoundArgs)("40b82ab2b5a2575d5c2beb515f28609f42c434a44f",a);await (0,l.toggleUserItem)(b)};async function p(){let[a,c,l,p,q]=await Promise.all([(0,f.getInventory)(),(0,g.getUsage)(30),(0,h.getSessions)(30),(0,i.getContextFiles)(),(0,j.getHooks)()]),r=(0,f.summarize)(a),s=(0,h.summarizeSessions)(l),t=a.map(a=>({...a,...(0,g.lookupUsage)(a,c)})).filter(a=>!a.disabled&&0===a.invocations&&"user"===a.source).sort((a,b)=>b.perTurnTokens-a.perTurnTokens).slice(0,5),u=t.reduce((a,b)=>a+b.perTurnTokens,0),v=p.find(a=>"claude-md-global"===a.category),w=p.filter(a=>"memory-md"===a.category).sort((a,b)=>b.tokens-a.tokens)[0],x=q.filter(a=>"SessionStart"===a.event&&"measured"===a.status).reduce((a,b)=>a+b.perTurnTokens,0),y=Math.max(1,...s.dailyBurn.map(a=>a.tokens)),z=(v?.tokens??0)+(w?.tokens??0)+x,A=+!!v+ +!!w+ +(x>0);return(0,b.jsx)("main",{className:"flex-1 font-mono bg-zinc-50 dark:bg-zinc-950",children:(0,b.jsxs)("div",{className:"max-w-6xl mx-auto px-6 py-10",children:[(0,b.jsxs)("header",{className:"mb-8 flex flex-col sm:flex-row sm:items-baseline sm:justify-between gap-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:"contextscope"}),(0,b.jsx)("p",{className:"text-[10px] uppercase tracking-widest text-zinc-500 mt-1",children:"audit · trim · ship"})]}),(0,b.jsx)("code",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"~/.claude/projects/"})]}),(0,b.jsx)("section",{className:"flex justify-center mb-6",children:(0,b.jsxs)("div",{className:"w-full max-w-md rounded-lg border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-900",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 pt-3 pb-2 border-b border-zinc-200 dark:border-zinc-800",children:[(0,b.jsxs)("span",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:[30,"-day window"]}),(0,b.jsx)(e.default,{href:"/items",className:"text-[10px] uppercase tracking-widest text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors",children:"items →"})]}),(0,b.jsxs)("div",{className:"px-8 py-6 text-center",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"per-turn baseline"}),(0,b.jsxs)("div",{className:"mt-2 text-4xl font-semibold tabular-nums tracking-tight text-zinc-900 dark:text-zinc-50",children:[m.format(r.totalPerTurnTokens),(0,b.jsx)("span",{className:"ml-1.5 text-sm text-zinc-500 font-normal",children:"tok"})]}),(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500 mt-1",children:"loaded into every system prompt"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-4 border-t border-zinc-200 dark:border-zinc-800 divide-x divide-zinc-200 dark:divide-zinc-800",children:[(0,b.jsx)(k.MiniStat,{label:"items",value:m.format(r.totalItems)}),(0,b.jsx)(k.MiniStat,{label:"skills",value:m.format(r.byKind.skill.count)}),(0,b.jsx)(k.MiniStat,{label:"agents",value:m.format(r.byKind.agent.count)}),(0,b.jsx)(k.MiniStat,{label:"commands",value:m.format(r.byKind.command.count)})]})]})}),(0,b.jsxs)("section",{className:"grid grid-cols-1 md:grid-cols-3 gap-3",children:[(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-900 px-4 py-4 flex flex-col",children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,b.jsxs)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:[30,"-day burn"]}),(0,b.jsx)(e.default,{href:"/sessions",className:"text-[10px] uppercase tracking-widest text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors",children:"sessions →"})]}),(0,b.jsxs)("div",{className:"mt-1.5 text-2xl font-semibold tabular-nums tracking-tight text-zinc-900 dark:text-zinc-50",children:[n(s.totalTokens),(0,b.jsx)("span",{className:"ml-1 text-xs text-zinc-500 font-normal",children:"tok"})]}),s.dailyBurn.length>0&&(0,b.jsxs)("div",{className:"mt-3",children:[(0,b.jsx)("div",{className:"flex items-end gap-px h-8",children:s.dailyBurn.map(a=>{let c=Math.max(2,a.tokens/y*100);return(0,b.jsx)("div",{className:"flex-1 bg-zinc-300 dark:bg-zinc-700",style:{height:`${c}%`},title:`${a.date}: ${n(a.tokens)}`},a.date)})}),(0,b.jsxs)("div",{className:"flex items-center justify-between mt-1 text-[10px] uppercase tracking-widest text-zinc-500 tabular-nums",children:[(0,b.jsx)("span",{children:s.dailyBurn[0].date.slice(5)}),(0,b.jsxs)("span",{children:[s.dailyBurn.length," active days"]}),(0,b.jsx)("span",{children:s.dailyBurn[s.dailyBurn.length-1].date.slice(5)})]})]}),(0,b.jsxs)("div",{className:"mt-3 pt-3 border-t border-zinc-200 dark:border-zinc-800 grid grid-cols-3 text-center",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"sess"}),(0,b.jsx)("div",{className:"text-xs font-semibold tabular-nums mt-0.5",children:m.format(s.count)})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"median"}),(0,b.jsx)("div",{className:"text-xs font-semibold tabular-nums mt-0.5",children:n(s.medianSessionTokens)})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"p95"}),(0,b.jsx)("div",{className:"text-xs font-semibold tabular-nums mt-0.5",children:n(s.p95SessionTokens)})]})]})]}),(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-900 px-4 py-4 flex flex-col",children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"disable candidates"}),(0,b.jsx)(e.default,{href:"/items",className:"text-[10px] uppercase tracking-widest text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors",children:"all →"})]}),(0,b.jsxs)("div",{className:"mt-1.5 text-2xl font-semibold tabular-nums tracking-tight text-zinc-900 dark:text-zinc-50",children:[m.format(u),(0,b.jsx)("span",{className:"ml-1 text-xs text-zinc-500 font-normal",children:"tok/turn"})]}),(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:t.length>0?`top ${t.length} unused`:"none in window"}),(0,b.jsx)("ul",{className:"mt-3 pt-3 border-t border-zinc-200 dark:border-zinc-800 text-xs space-y-1 flex-1",children:0===t.length?(0,b.jsxs)("li",{className:"text-zinc-500",children:["every loaded user item invoked in ",30,"d."]}):t.map(a=>(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"w-10 text-right tabular-nums text-zinc-500",children:m.format(a.perTurnTokens)}),(0,b.jsx)("span",{className:"flex-1 truncate text-zinc-700 dark:text-zinc-300",children:a.name}),(0,b.jsx)("span",{className:"text-[10px] uppercase tracking-widest text-zinc-500 w-12",children:a.kind}),(0,b.jsx)("form",{action:o.bind(null,(0,d.encryptActionBoundArgs)("40b82ab2b5a2575d5c2beb515f28609f42c434a44f",a.filePath)),children:(0,b.jsx)("button",{type:"submit",className:"text-[10px] uppercase tracking-widest text-zinc-600 dark:text-zinc-400 border border-zinc-300 dark:border-zinc-700 hover:text-red-700 dark:hover:text-red-400 hover:border-red-300 dark:hover:border-red-800 hover:bg-red-50 dark:hover:bg-red-950/40 rounded px-1.5 py-0.5 transition-colors cursor-pointer",title:`Disable ${a.name}`,children:"off"})})]},a.filePath))})]}),(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-900 px-4 py-4 flex flex-col",children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"context overhead"}),(0,b.jsx)(e.default,{href:"/context",className:"text-[10px] uppercase tracking-widest text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors",children:"context →"})]}),(0,b.jsxs)("div",{className:"mt-1.5 text-2xl font-semibold tabular-nums tracking-tight text-zinc-900 dark:text-zinc-50",children:[m.format(z),(0,b.jsx)("span",{className:"ml-1 text-xs text-zinc-500 font-normal",children:"tok"})]}),(0,b.jsxs)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:["top ",A," sticky"," ",1===A?"source":"sources"]}),(0,b.jsxs)("ul",{className:"mt-3 pt-3 border-t border-zinc-200 dark:border-zinc-800 text-xs space-y-1 flex-1",children:[v&&(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"w-10 text-right tabular-nums text-zinc-500",children:m.format(v.tokens)}),(0,b.jsx)("span",{className:"flex-1 truncate text-zinc-700 dark:text-zinc-300",children:(0,b.jsx)("code",{className:"text-[11px]",children:"~/.claude/CLAUDE.md"})}),(0,b.jsx)("span",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"every"})]}),w&&(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"w-10 text-right tabular-nums text-zinc-500",children:m.format(w.tokens)}),(0,b.jsx)("span",{className:"flex-1 truncate text-zinc-700 dark:text-zinc-300",children:(0,b.jsx)("code",{className:"text-[11px]",children:w.name})}),(0,b.jsx)("span",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"mem"})]}),x>0&&(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"w-10 text-right tabular-nums text-zinc-500",children:m.format(x)}),(0,b.jsx)("span",{className:"flex-1 truncate text-zinc-700 dark:text-zinc-300",children:"SessionStart hooks"}),(0,b.jsx)("span",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"sticky"})]})]})]})]}),(0,b.jsxs)("footer",{className:"mt-8 pt-4 border-t border-zinc-200 dark:border-zinc-800 text-[10px] uppercase tracking-widest text-zinc-500 flex items-center justify-between",children:[(0,b.jsx)("span",{children:"cl100k_base · re-scanned every load · toggles apply on next CC restart"}),(0,b.jsx)("a",{href:"https://github.com/mbeato/contextscope",className:"text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors",children:"github →"})]})]})})}(0,c.registerServerReference)(o,"40b82ab2b5a2575d5c2beb515f28609f42c434a44f",null),a.s(["$$RSC_SERVER_ACTION_0",0,o,"default",0,p,"dynamic",0,"force-dynamic"])}];
1
+ module.exports=[13952,a=>{"use strict";var b=a.i(12714),c=a.i(60526),d=a.i(50227),e=a.i(23789);let f=(0,c.homedir)(),g=(0,d.join)(f,".claude"),h=(0,d.join)(g,"projects"),i=(0,e.getEncoding)("cl100k_base"),j=[f],k=new Set(["node_modules",".git",".next","dist","build",".turbo",".vercel",".cache",".pnpm-store",".vscode",".antigravity",".bun",".cursor",".windsurf","worktrees"]);async function l(a){try{return await (0,b.stat)(a),!0}catch{return!1}}async function m(a){try{var c;return c=await (0,b.readFile)(a,"utf8"),i.encode(c).length}catch{return 0}}async function n(a,c,e){let f;if(!(c>4)){try{f=await (0,b.readdir)(a,{withFileTypes:!0})}catch{return}for(let b of f){if(b.name.startsWith(".")&&".claude"!==b.name&&(k.has(b.name)||c>0)||k.has(b.name))continue;let f=(0,d.join)(a,b.name);b.isDirectory()?await n(f,c+1,e):b.isFile()&&"CLAUDE.md"===b.name&&e.push(f)}}}async function o(){let a=[],c=(0,d.join)(g,"CLAUDE.md");await l(c)&&a.push({category:"claude-md-global",name:"~/.claude/CLAUDE.md",filePath:c,tokens:await m(c),loadedWhen:"every session"});let e=[];for(let a of j)await n(a,0,e);for(let b of e){if(b===c)continue;let d=await m(b),e=b.replace(f,"~"),g=e.replace(/\/CLAUDE\.md$/,"");a.push({category:"claude-md-project",name:e,filePath:b,tokens:d,loadedWhen:`when cwd is ${g} (or below)`})}if(await l(h)){let c=[];try{c=await (0,b.readdir)(h,{withFileTypes:!0})}catch{c=[]}for(let b of c){if(!b.isDirectory())continue;let c=String(b.name),e=(0,d.join)(h,c,"memory","MEMORY.md");if(!await l(e))continue;let f=c.replace(/^-/,"/").replaceAll("-","/").replace(/[\x00-\x1f\x7f]/g,"");a.push({category:"memory-md",name:`${c}/memory/MEMORY.md`,filePath:e,tokens:await m(e),loadedWhen:`in project ${f}`})}}return a.sort((a,b)=>b.tokens-a.tokens)}a.s(["getContextFiles",0,o])},50708,a=>{"use strict";var b=a.i(7997),c=a.i(37936),d=a.i(44721),e=a.i(95936),f=a.i(55574),g=a.i(62367),h=a.i(21249),i=a.i(13952),j=a.i(71120),k=a.i(78110),l=a.i(84434),m=a.i(56004);let n=new Intl.NumberFormat("en-US");function o(a){return a>=1e9?`${(a/1e9).toFixed(2)}B`:a>=1e6?`${(a/1e6).toFixed(1)}M`:a>=1e3?`${(a/1e3).toFixed(1)}k`:String(a)}let p=async function(a){var[b]=await (0,d.decryptActionBoundArgs)("40b82ab2b5a2575d5c2beb515f28609f42c434a44f",a);await (0,m.toggleUserItem)(b)};async function q(){let[a,c,m,q,r]=await Promise.all([(0,f.getInventory)(),(0,g.getUsage)(30),(0,h.getSessions)(30),(0,i.getContextFiles)(),(0,j.getHooks)()]),s=(0,f.summarize)(a),t=(0,h.summarizeSessions)(m),u=a.map(a=>({...a,...(0,g.lookupUsage)(a,c)})).filter(a=>!a.disabled&&0===a.invocations&&"user"===a.source).sort((a,b)=>b.perTurnTokens-a.perTurnTokens).slice(0,5),v=u.reduce((a,b)=>a+b.perTurnTokens,0),w=q.find(a=>"claude-md-global"===a.category),x=q.filter(a=>"memory-md"===a.category).sort((a,b)=>b.tokens-a.tokens)[0],y=r.filter(a=>"SessionStart"===a.event&&"measured"===a.status).reduce((a,b)=>a+b.perTurnTokens,0),z=Math.max(1,...t.dailyBurn.map(a=>a.tokens)),A=(w?.tokens??0)+(x?.tokens??0)+y,B=+!!w+ +!!x+ +(y>0);return(0,b.jsx)("main",{className:"flex-1 font-mono bg-zinc-50 dark:bg-zinc-950",children:(0,b.jsxs)("div",{className:"max-w-6xl mx-auto px-6 py-10",children:[(0,b.jsxs)("header",{className:"mb-8 flex flex-col sm:flex-row sm:items-baseline sm:justify-between gap-2",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:"contextscope"}),(0,b.jsx)("p",{className:"text-[10px] uppercase tracking-widest text-zinc-500 mt-1",children:"audit · trim · ship"})]}),(0,b.jsx)("code",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"~/.claude/projects/"})]}),(0,b.jsx)("section",{className:"flex justify-center mb-6",children:(0,b.jsxs)("div",{className:"w-full max-w-md rounded-lg border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-900",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 pt-3 pb-2 border-b border-zinc-200 dark:border-zinc-800",children:[(0,b.jsxs)("span",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:[30,"-day window"]}),(0,b.jsx)(e.default,{href:"/items",className:"text-[10px] uppercase tracking-widest text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors",children:"items →"})]}),(0,b.jsxs)("div",{className:"px-8 py-6 text-center",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"per-turn baseline"}),(0,b.jsxs)("div",{className:"mt-2 text-4xl font-semibold tabular-nums tracking-tight text-zinc-900 dark:text-zinc-50",children:[n.format(s.totalPerTurnTokens),(0,b.jsx)("span",{className:"ml-1.5 text-sm text-zinc-500 font-normal",children:"tok"})]}),(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500 mt-1",children:"loaded into every system prompt"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-4 border-t border-zinc-200 dark:border-zinc-800 divide-x divide-zinc-200 dark:divide-zinc-800",children:[(0,b.jsx)(l.MiniStat,{label:"items",value:n.format(s.totalItems)}),(0,b.jsx)(l.MiniStat,{label:"skills",value:n.format(s.byKind.skill.count)}),(0,b.jsx)(l.MiniStat,{label:"agents",value:n.format(s.byKind.agent.count)}),(0,b.jsx)(l.MiniStat,{label:"commands",value:n.format(s.byKind.command.count)})]})]})}),(0,b.jsxs)("section",{className:"grid grid-cols-1 md:grid-cols-3 gap-3",children:[(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-900 px-4 py-4 flex flex-col",children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,b.jsxs)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:[30,"-day burn"]}),(0,b.jsx)(e.default,{href:"/sessions",className:"text-[10px] uppercase tracking-widest text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors",children:"sessions →"})]}),(0,b.jsxs)("div",{className:"mt-1.5 text-2xl font-semibold tabular-nums tracking-tight text-zinc-900 dark:text-zinc-50",children:[o(t.totalTokens),(0,b.jsx)("span",{className:"ml-1 text-xs text-zinc-500 font-normal",children:"tok"}),(0,b.jsx)("span",{className:"ml-2 text-xs text-zinc-500 font-normal",children:"·"}),(0,b.jsx)("span",{className:"ml-2 text-base font-semibold tabular-nums text-zinc-900 dark:text-zinc-50",children:(0,k.formatUsd)(t.totalCostUsd)}),(0,b.jsx)("span",{className:"ml-1 text-xs text-zinc-500 font-normal",children:"api"})]}),t.dailyBurn.length>0&&(0,b.jsxs)("div",{className:"mt-3",children:[(0,b.jsx)("div",{className:"flex items-end gap-px h-8",children:t.dailyBurn.map(a=>{let c=Math.max(2,a.tokens/z*100);return(0,b.jsx)("div",{className:"flex-1 bg-zinc-300 dark:bg-zinc-700",style:{height:`${c}%`},title:`${a.date}: ${o(a.tokens)} \xb7 ${(0,k.formatUsd)(a.cost)}`},a.date)})}),(0,b.jsxs)("div",{className:"flex items-center justify-between mt-1 text-[10px] uppercase tracking-widest text-zinc-500 tabular-nums",children:[(0,b.jsx)("span",{children:t.dailyBurn[0].date.slice(5)}),(0,b.jsxs)("span",{children:[t.dailyBurn.length," active days"]}),(0,b.jsx)("span",{children:t.dailyBurn[t.dailyBurn.length-1].date.slice(5)})]})]}),(0,b.jsxs)("div",{className:"mt-3 pt-3 border-t border-zinc-200 dark:border-zinc-800 grid grid-cols-3 text-center",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"sess"}),(0,b.jsx)("div",{className:"text-xs font-semibold tabular-nums mt-0.5",children:n.format(t.count)})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"median"}),(0,b.jsx)("div",{className:"text-xs font-semibold tabular-nums mt-0.5",children:o(t.medianSessionTokens)})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"p95"}),(0,b.jsx)("div",{className:"text-xs font-semibold tabular-nums mt-0.5",children:o(t.p95SessionTokens)})]})]})]}),(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-900 px-4 py-4 flex flex-col",children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"disable candidates"}),(0,b.jsx)(e.default,{href:"/items",className:"text-[10px] uppercase tracking-widest text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors",children:"all →"})]}),(0,b.jsxs)("div",{className:"mt-1.5 text-2xl font-semibold tabular-nums tracking-tight text-zinc-900 dark:text-zinc-50",children:[n.format(v),(0,b.jsx)("span",{className:"ml-1 text-xs text-zinc-500 font-normal",children:"tok/turn"})]}),(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:u.length>0?`top ${u.length} unused`:"none in window"}),(0,b.jsx)("ul",{className:"mt-3 pt-3 border-t border-zinc-200 dark:border-zinc-800 text-xs space-y-1 flex-1",children:0===u.length?(0,b.jsxs)("li",{className:"text-zinc-500",children:["every loaded user item invoked in ",30,"d."]}):u.map(a=>(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"w-10 text-right tabular-nums text-zinc-500",children:n.format(a.perTurnTokens)}),(0,b.jsx)("span",{className:"flex-1 truncate text-zinc-700 dark:text-zinc-300",children:a.name}),(0,b.jsx)("span",{className:"text-[10px] uppercase tracking-widest text-zinc-500 w-12",children:a.kind}),(0,b.jsx)("form",{action:p.bind(null,(0,d.encryptActionBoundArgs)("40b82ab2b5a2575d5c2beb515f28609f42c434a44f",a.filePath)),children:(0,b.jsx)("button",{type:"submit",className:"text-[10px] uppercase tracking-widest text-zinc-600 dark:text-zinc-400 border border-zinc-300 dark:border-zinc-700 hover:text-red-700 dark:hover:text-red-400 hover:border-red-300 dark:hover:border-red-800 hover:bg-red-50 dark:hover:bg-red-950/40 rounded px-1.5 py-0.5 transition-colors cursor-pointer",title:`Disable ${a.name}`,children:"off"})})]},a.filePath))})]}),(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-900 px-4 py-4 flex flex-col",children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,b.jsx)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"context overhead"}),(0,b.jsx)(e.default,{href:"/context",className:"text-[10px] uppercase tracking-widest text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors",children:"context →"})]}),(0,b.jsxs)("div",{className:"mt-1.5 text-2xl font-semibold tabular-nums tracking-tight text-zinc-900 dark:text-zinc-50",children:[n.format(A),(0,b.jsx)("span",{className:"ml-1 text-xs text-zinc-500 font-normal",children:"tok"})]}),(0,b.jsxs)("div",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:["top ",B," sticky"," ",1===B?"source":"sources"]}),(0,b.jsxs)("ul",{className:"mt-3 pt-3 border-t border-zinc-200 dark:border-zinc-800 text-xs space-y-1 flex-1",children:[w&&(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"w-10 text-right tabular-nums text-zinc-500",children:n.format(w.tokens)}),(0,b.jsx)("span",{className:"flex-1 truncate text-zinc-700 dark:text-zinc-300",children:(0,b.jsx)("code",{className:"text-[11px]",children:"~/.claude/CLAUDE.md"})}),(0,b.jsx)("span",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"every"})]}),x&&(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"w-10 text-right tabular-nums text-zinc-500",children:n.format(x.tokens)}),(0,b.jsx)("span",{className:"flex-1 truncate text-zinc-700 dark:text-zinc-300",children:(0,b.jsx)("code",{className:"text-[11px]",children:x.name})}),(0,b.jsx)("span",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"mem"})]}),y>0&&(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"w-10 text-right tabular-nums text-zinc-500",children:n.format(y)}),(0,b.jsx)("span",{className:"flex-1 truncate text-zinc-700 dark:text-zinc-300",children:"SessionStart hooks"}),(0,b.jsx)("span",{className:"text-[10px] uppercase tracking-widest text-zinc-500",children:"sticky"})]})]})]})]}),(0,b.jsxs)("footer",{className:"mt-8 pt-4 border-t border-zinc-200 dark:border-zinc-800 text-[10px] uppercase tracking-widest text-zinc-500 flex items-center justify-between",children:[(0,b.jsx)("span",{children:"cl100k_base · cost deduped per msg.id (cc splits one msg across lines · ccusage daily sums dupes) · toggles apply on next cc restart"}),(0,b.jsx)("a",{href:"https://github.com/mbeato/contextscope",className:"text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors",children:"github →"})]})]})})}(0,c.registerServerReference)(p,"40b82ab2b5a2575d5c2beb515f28609f42c434a44f",null),a.s(["$$RSC_SERVER_ACTION_0",0,p,"default",0,q,"dynamic",0,"force-dynamic"])}];
2
2
 
3
3
  //# sourceMappingURL=_0j0avc7._.js.map
@@ -7,9 +7,9 @@ globalThis.__BUILD_MANIFEST = {
7
7
  "static/chunks/03~yq9q893hmn.js"
8
8
  ],
9
9
  "lowPriorityFiles": [
10
- "static/BT6H4g8OlEYi9snYU0PI-/_buildManifest.js",
11
- "static/BT6H4g8OlEYi9snYU0PI-/_ssgManifest.js",
12
- "static/BT6H4g8OlEYi9snYU0PI-/_clientMiddlewareManifest.js"
10
+ "static/kaNzMZNco9qjeyEFA-gjr/_buildManifest.js",
11
+ "static/kaNzMZNco9qjeyEFA-gjr/_ssgManifest.js",
12
+ "static/kaNzMZNco9qjeyEFA-gjr/_clientMiddlewareManifest.js"
13
13
  ],
14
14
  "rootMainFiles": [
15
15
  "static/chunks/00gq-v0e07i1q.js",
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" class="h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/13525lf.7uo9s.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/00gq-v0e07i1q.js"/><script src="/_next/static/chunks/14hcmzto5g-b7.js" async=""></script><script src="/_next/static/chunks/0nxgnfb4qc8my.js" async=""></script><script src="/_next/static/chunks/07lhk_q6pmm3r.js" async=""></script><script src="/_next/static/chunks/turbopack-0wzfw6l~krt~8.js" async=""></script><script src="/_next/static/chunks/17hugzvnj-r7p.js" async=""></script><script src="/_next/static/chunks/0d3shmwh5_nmn.js" async=""></script><title>404: This page could not be found.</title><meta name="robots" content="noindex"/><title>contextscope</title><meta name="description" content="Local dashboard auditing Claude Code&#x27;s per-turn token context — skills, agents, commands, CLAUDE.md, MEMORY.md, hooks, MCP, and session analytics."/><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body class="min-h-full flex flex-col font-mono bg-zinc-50 dark:bg-zinc-950 text-zinc-900 dark:text-zinc-100"><div hidden=""><!--$--><!--/$--></div><nav class="border-b border-zinc-200 dark:border-zinc-800 bg-zinc-50 dark:bg-zinc-950 sticky top-0 z-10"><div class="max-w-6xl mx-auto px-6 h-12 flex items-center gap-8 text-sm"><a class="font-semibold tracking-tight text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors" href="/">contextscope</a><div class="flex items-center gap-5"><a class="text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors" href="/items">items</a><a class="text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors" href="/sessions">sessions</a><a class="text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors" href="/context">context</a></div></div></nav><!--$--><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><!--/$--><script src="/_next/static/chunks/00gq-v0e07i1q.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:I[39756,[\"/_next/static/chunks/17hugzvnj-r7p.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"LoadingBoundaryProvider\"]\n2:\"$Sreact.fragment\"\n3:I[54858,[\"/_next/static/chunks/17hugzvnj-r7p.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"Nav\"]\n4:I[39756,[\"/_next/static/chunks/17hugzvnj-r7p.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n5:I[37457,[\"/_next/static/chunks/17hugzvnj-r7p.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\na:I[68027,[\"/_next/static/chunks/17hugzvnj-r7p.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/13525lf.7uo9s.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",20],[[\"$\",\"$L1\",null,{\"loading\":[[\"$\",\"main\",\"l\",{\"className\":\"flex-1 font-mono bg-zinc-50 dark:bg-zinc-950\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-6xl mx-auto px-6 py-10\",\"children\":[[\"$\",\"header\",null,{\"className\":\"mb-8 flex items-baseline justify-between\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"div\",null,{\"className\":\"h-6 w-40 bg-zinc-200 dark:bg-zinc-800 rounded animate-pulse\"}],[\"$\",\"div\",null,{\"className\":\"h-3 w-36 bg-zinc-200/60 dark:bg-zinc-800/60 rounded animate-pulse mt-2\"}]]}],[\"$\",\"div\",null,{\"className\":\"h-3 w-48 bg-zinc-200/60 dark:bg-zinc-800/60 rounded animate-pulse\"}]]}],[\"$\",\"section\",null,{\"className\":\"flex justify-center mb-6\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full max-w-md h-64 rounded-lg border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-900 animate-pulse\"}]}],[\"$\",\"section\",null,{\"className\":\"grid grid-cols-1 md:grid-cols-3 gap-3\",\"children\":[[\"$\",\"div\",\"0\",{\"className\":\"h-72 rounded-lg border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-900 animate-pulse\"}],[\"$\",\"div\",\"1\",{\"className\":\"h-72 rounded-lg border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-900 animate-pulse\"}],[\"$\",\"div\",\"2\",{\"className\":\"h-72 rounded-lg border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-900 animate-pulse\"}]]}],[\"$\",\"p\",null,{\"className\":\"text-[10px] uppercase tracking-widest text-zinc-500 mt-6\",\"children\":\"scanning ~/.claude · first load cold; subsequent cached by file mtime\"}]]}]}],[],[]],\"children\":[\"$\",\"$2\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/13525lf.7uo9s.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/17hugzvnj-r7p.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col font-mono bg-zinc-50 dark:bg-zinc-950 text-zinc-900 dark:text-zinc-100\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}]}],{\"children\":[[\"$\",\"$2\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$2\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:props:children:1:props:children:props:children:1:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],\"$L6\"]}]}]],null,\"$L7\"]}],{},null,false,null]},null,false,\"$@8\"]},null,false,null],\"$L9\",false]],\"m\":\"$undefined\",\"G\":[\"$a\",[\"$Lb\"]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"BT6H4g8OlEYi9snYU0PI-\"}\n"])</script><script>self.__next_f.push([1,"c:I[97367,[\"/_next/static/chunks/17hugzvnj-r7p.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"OutletBoundary\"]\nd:\"$Sreact.suspense\"\n10:I[97367,[\"/_next/static/chunks/17hugzvnj-r7p.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"ViewportBoundary\"]\n12:I[97367,[\"/_next/static/chunks/17hugzvnj-r7p.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"MetadataBoundary\"]\n6:[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]\n7:[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@e\"}]}]\nf:[]\n8:\"$Wf\"\n9:[\"$\",\"$2\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L10\",null,{\"children\":\"$L11\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L13\"}]}]}],null]}]\nb:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/13525lf.7uo9s.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"11:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"14:I[27201,[\"/_next/static/chunks/17hugzvnj-r7p.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"IconMark\"]\ne:null\n13:[[\"$\",\"title\",\"0\",{\"children\":\"contextscope\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local dashboard auditing Claude Code's per-turn token context — skills, agents, commands, CLAUDE.md, MEMORY.md, hooks, MCP, and session analytics.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$L14\",\"3\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/118uk9v3812u1.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/00gq-v0e07i1q.js"/><script src="/_next/static/chunks/14hcmzto5g-b7.js" async=""></script><script src="/_next/static/chunks/0nxgnfb4qc8my.js" async=""></script><script src="/_next/static/chunks/07lhk_q6pmm3r.js" async=""></script><script src="/_next/static/chunks/turbopack-0wzfw6l~krt~8.js" async=""></script><script src="/_next/static/chunks/17hugzvnj-r7p.js" async=""></script><script src="/_next/static/chunks/0d3shmwh5_nmn.js" async=""></script><title>404: This page could not be found.</title><meta name="robots" content="noindex"/><title>contextscope</title><meta name="description" content="Local dashboard auditing Claude Code&#x27;s per-turn token context — skills, agents, commands, CLAUDE.md, MEMORY.md, hooks, MCP, and session analytics."/><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body class="min-h-full flex flex-col font-mono bg-zinc-50 dark:bg-zinc-950 text-zinc-900 dark:text-zinc-100"><div hidden=""><!--$--><!--/$--></div><nav class="border-b border-zinc-200 dark:border-zinc-800 bg-zinc-50 dark:bg-zinc-950 sticky top-0 z-10"><div class="max-w-6xl mx-auto px-6 h-12 flex items-center gap-8 text-sm"><a class="font-semibold tracking-tight text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors" href="/">contextscope</a><div class="flex items-center gap-5"><a class="text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors" href="/items">items</a><a class="text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors" href="/sessions">sessions</a><a class="text-zinc-500 hover:text-zinc-900 dark:hover:text-zinc-100 transition-colors" href="/context">context</a></div></div></nav><!--$--><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><!--/$--><script src="/_next/static/chunks/00gq-v0e07i1q.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:I[39756,[\"/_next/static/chunks/17hugzvnj-r7p.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"LoadingBoundaryProvider\"]\n2:\"$Sreact.fragment\"\n3:I[54858,[\"/_next/static/chunks/17hugzvnj-r7p.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"Nav\"]\n4:I[39756,[\"/_next/static/chunks/17hugzvnj-r7p.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n5:I[37457,[\"/_next/static/chunks/17hugzvnj-r7p.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\na:I[68027,[\"/_next/static/chunks/17hugzvnj-r7p.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/118uk9v3812u1.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",20],[[\"$\",\"$L1\",null,{\"loading\":[[\"$\",\"main\",\"l\",{\"className\":\"flex-1 font-mono bg-zinc-50 dark:bg-zinc-950\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-6xl mx-auto px-6 py-10\",\"children\":[[\"$\",\"header\",null,{\"className\":\"mb-8 flex items-baseline justify-between\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"div\",null,{\"className\":\"h-6 w-40 bg-zinc-200 dark:bg-zinc-800 rounded animate-pulse\"}],[\"$\",\"div\",null,{\"className\":\"h-3 w-36 bg-zinc-200/60 dark:bg-zinc-800/60 rounded animate-pulse mt-2\"}]]}],[\"$\",\"div\",null,{\"className\":\"h-3 w-48 bg-zinc-200/60 dark:bg-zinc-800/60 rounded animate-pulse\"}]]}],[\"$\",\"section\",null,{\"className\":\"flex justify-center mb-6\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full max-w-md h-64 rounded-lg border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-900 animate-pulse\"}]}],[\"$\",\"section\",null,{\"className\":\"grid grid-cols-1 md:grid-cols-3 gap-3\",\"children\":[[\"$\",\"div\",\"0\",{\"className\":\"h-72 rounded-lg border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-900 animate-pulse\"}],[\"$\",\"div\",\"1\",{\"className\":\"h-72 rounded-lg border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-900 animate-pulse\"}],[\"$\",\"div\",\"2\",{\"className\":\"h-72 rounded-lg border border-zinc-200 dark:border-zinc-800 bg-white dark:bg-zinc-900 animate-pulse\"}]]}],[\"$\",\"p\",null,{\"className\":\"text-[10px] uppercase tracking-widest text-zinc-500 mt-6\",\"children\":\"scanning ~/.claude · first load cold; subsequent cached by file mtime\"}]]}]}],[],[]],\"children\":[\"$\",\"$2\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/118uk9v3812u1.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/17hugzvnj-r7p.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col font-mono bg-zinc-50 dark:bg-zinc-950 text-zinc-900 dark:text-zinc-100\",\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}]}],{\"children\":[[\"$\",\"$2\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$2\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:props:children:1:props:children:props:children:1:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],\"$L6\"]}]}]],null,\"$L7\"]}],{},null,false,null]},null,false,\"$@8\"]},null,false,null],\"$L9\",false]],\"m\":\"$undefined\",\"G\":[\"$a\",[\"$Lb\"]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"kaNzMZNco9qjeyEFA-gjr\"}\n"])</script><script>self.__next_f.push([1,"c:I[97367,[\"/_next/static/chunks/17hugzvnj-r7p.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"OutletBoundary\"]\nd:\"$Sreact.suspense\"\n10:I[97367,[\"/_next/static/chunks/17hugzvnj-r7p.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"ViewportBoundary\"]\n12:I[97367,[\"/_next/static/chunks/17hugzvnj-r7p.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"MetadataBoundary\"]\n6:[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]\n7:[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@e\"}]}]\nf:[]\n8:\"$Wf\"\n9:[\"$\",\"$2\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L10\",null,{\"children\":\"$L11\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$d\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L13\"}]}]}],null]}]\nb:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/118uk9v3812u1.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"11:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"14:I[27201,[\"/_next/static/chunks/17hugzvnj-r7p.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"IconMark\"]\ne:null\n13:[[\"$\",\"title\",\"0\",{\"children\":\"contextscope\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local dashboard auditing Claude Code's per-turn token context — skills, agents, commands, CLAUDE.md, MEMORY.md, hooks, MCP, and session analytics.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$L14\",\"3\",{}]]\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/00gq-v0e07i1q.js"/><script src="/_next/static/chunks/14hcmzto5g-b7.js" async=""></script><script src="/_next/static/chunks/0nxgnfb4qc8my.js" async=""></script><script src="/_next/static/chunks/07lhk_q6pmm3r.js" async=""></script><script src="/_next/static/chunks/turbopack-0wzfw6l~krt~8.js" async=""></script><script src="/_next/static/chunks/01xlw8hd842-c.js" async=""></script><script src="/_next/static/chunks/0d3shmwh5_nmn.js" async=""></script><title>500: This page couldn’t load</title><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/00gq-v0e07i1q.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"BT6H4g8OlEYi9snYU0PI-\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[27201,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"1\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/00gq-v0e07i1q.js"/><script src="/_next/static/chunks/14hcmzto5g-b7.js" async=""></script><script src="/_next/static/chunks/0nxgnfb4qc8my.js" async=""></script><script src="/_next/static/chunks/07lhk_q6pmm3r.js" async=""></script><script src="/_next/static/chunks/turbopack-0wzfw6l~krt~8.js" async=""></script><script src="/_next/static/chunks/01xlw8hd842-c.js" async=""></script><script src="/_next/static/chunks/0d3shmwh5_nmn.js" async=""></script><title>500: This page couldn’t load</title><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/00gq-v0e07i1q.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"kaNzMZNco9qjeyEFA-gjr\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[27201,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"1\",{}]]\n"])</script></body></html>
@@ -22,6 +22,7 @@ import { getUsage, lookupUsage } from "@/lib/usage";
22
22
  import { getSessions, summarizeSessions } from "@/lib/sessions";
23
23
  import { getContextFiles } from "@/lib/files";
24
24
  import { getHooks } from "@/lib/hooks";
25
+ import { formatUsd } from "@/lib/pricing";
25
26
  import { MiniStat } from "./components/Receipt";
26
27
  import { toggleUserItem } from "./actions";
27
28
 
@@ -143,6 +144,11 @@ export default async function Cockpit() {
143
144
  <div className="mt-1.5 text-2xl font-semibold tabular-nums tracking-tight text-zinc-900 dark:text-zinc-50">
144
145
  {shortNumber(sess.totalTokens)}
145
146
  <span className="ml-1 text-xs text-zinc-500 font-normal">tok</span>
147
+ <span className="ml-2 text-xs text-zinc-500 font-normal">·</span>
148
+ <span className="ml-2 text-base font-semibold tabular-nums text-zinc-900 dark:text-zinc-50">
149
+ {formatUsd(sess.totalCostUsd)}
150
+ </span>
151
+ <span className="ml-1 text-xs text-zinc-500 font-normal">api</span>
146
152
  </div>
147
153
 
148
154
  {sess.dailyBurn.length > 0 && (
@@ -155,7 +161,7 @@ export default async function Cockpit() {
155
161
  key={d.date}
156
162
  className="flex-1 bg-zinc-300 dark:bg-zinc-700"
157
163
  style={{ height: `${pct}%` }}
158
- title={`${d.date}: ${shortNumber(d.tokens)}`}
164
+ title={`${d.date}: ${shortNumber(d.tokens)} · ${formatUsd(d.cost)}`}
159
165
  />
160
166
  );
161
167
  })}
@@ -324,7 +330,7 @@ export default async function Cockpit() {
324
330
 
325
331
  <footer className="mt-8 pt-4 border-t border-zinc-200 dark:border-zinc-800 text-[10px] uppercase tracking-widest text-zinc-500 flex items-center justify-between">
326
332
  <span>
327
- cl100k_base · re-scanned every load · toggles apply on next CC restart
333
+ cl100k_base · cost deduped per msg.id (cc splits one msg across lines · ccusage daily sums dupes) · toggles apply on next cc restart
328
334
  </span>
329
335
  <a
330
336
  href="https://github.com/mbeato/contextscope"
@@ -1,5 +1,6 @@
1
1
  import { homedir } from "node:os";
2
2
  import { getSessions, summarizeSessions } from "@/lib/sessions";
3
+ import { formatUsd } from "@/lib/pricing";
3
4
  import { Receipt, Stat } from "../components/Receipt";
4
5
 
5
6
  const fmt = new Intl.NumberFormat("en-US");
@@ -56,7 +57,7 @@ export default async function SessionsPage() {
56
57
  <Stat label="sessions" value={fmt.format(s.count)} hint={`avg ${shortNumber(s.averageSessionTokens)}`} />
57
58
  </Receipt>
58
59
  <Receipt pad="default">
59
- <Stat label="30d total" value={shortNumber(s.totalTokens)} hint="all tokens" />
60
+ <Stat label="30d total" value={shortNumber(s.totalTokens)} hint={`${formatUsd(s.totalCostUsd)} api`} />
60
61
  </Receipt>
61
62
  <Receipt pad="default">
62
63
  <Stat label="median" value={shortNumber(s.medianSessionTokens)} hint="per session" />
@@ -80,7 +81,7 @@ export default async function SessionsPage() {
80
81
 
81
82
  {/* Daily burn */}
82
83
  <section className="mb-6">
83
- <Receipt label={`daily burn · ${s.dailyBurn.length} active days`}>
84
+ <Receipt label={`daily burn · ${s.dailyBurn.length} active days · ${formatUsd(s.totalCostUsd)} api total`}>
84
85
  <div className="space-y-1">
85
86
  {s.dailyBurn.map((d) => {
86
87
  const pct = (d.tokens / maxDayTokens) * 100;
@@ -93,6 +94,9 @@ export default async function SessionsPage() {
93
94
  <div className="w-20 text-right tabular-nums text-zinc-700 dark:text-zinc-300">
94
95
  {shortNumber(d.tokens)}
95
96
  </div>
97
+ <div className="w-16 text-right tabular-nums text-zinc-500">
98
+ {formatUsd(d.cost)}
99
+ </div>
96
100
  </div>
97
101
  );
98
102
  })}
@@ -111,6 +115,7 @@ export default async function SessionsPage() {
111
115
  <th className="px-5 py-3 font-normal">models</th>
112
116
  <th className="px-5 py-3 font-normal text-right">turns</th>
113
117
  <th className="px-5 py-3 font-normal text-right">tokens</th>
118
+ <th className="px-5 py-3 font-normal text-right">api</th>
114
119
  <th className="px-5 py-3 font-normal text-right">cache hit</th>
115
120
  </tr>
116
121
  </thead>
@@ -131,6 +136,7 @@ export default async function SessionsPage() {
131
136
  </td>
132
137
  <td className="px-5 py-3 text-right tabular-nums">{session.turnCount}</td>
133
138
  <td className="px-5 py-3 text-right tabular-nums">{shortNumber(session.totalTokens)}</td>
139
+ <td className="px-5 py-3 text-right tabular-nums text-zinc-500">{formatUsd(session.costUsd)}</td>
134
140
  <td className="px-5 py-3 text-right tabular-nums text-zinc-500">{hit.toFixed(1)}%</td>
135
141
  </tr>
136
142
  );
@@ -150,6 +156,7 @@ export default async function SessionsPage() {
150
156
  <th className="px-5 py-3 font-normal text-right">sessions</th>
151
157
  <th className="px-5 py-3 font-normal text-right">turns</th>
152
158
  <th className="px-5 py-3 font-normal text-right">total</th>
159
+ <th className="px-5 py-3 font-normal text-right">api</th>
153
160
  <th className="px-5 py-3 font-normal text-right">share</th>
154
161
  </tr>
155
162
  </thead>
@@ -164,6 +171,7 @@ export default async function SessionsPage() {
164
171
  <td className="px-5 py-3 text-right tabular-nums text-zinc-500">{p.count}</td>
165
172
  <td className="px-5 py-3 text-right tabular-nums">{fmt.format(p.turns)}</td>
166
173
  <td className="px-5 py-3 text-right tabular-nums">{shortNumber(p.tokens)}</td>
174
+ <td className="px-5 py-3 text-right tabular-nums text-zinc-500">{formatUsd(p.cost)}</td>
167
175
  <td className="px-5 py-3 text-right tabular-nums text-zinc-500">{share.toFixed(1)}%</td>
168
176
  </tr>
169
177
  );