ccgauge 0.3.1 → 1.0.0

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 (92) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +41 -41
  3. package/.next/standalone/.next/app-path-routes-manifest.json +6 -6
  4. package/.next/standalone/.next/build-manifest.json +2 -2
  5. package/.next/standalone/.next/prerender-manifest.json +3 -3
  6. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/.next/server/app/api/blocks/route.js +1 -1
  8. package/.next/standalone/.next/server/app/api/blocks/route_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/api/export/usage/route.js +1 -1
  10. package/.next/standalone/.next/server/app/api/export/usage/route.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/api/export/usage/route_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/api/pricing/route.js +1 -1
  13. package/.next/standalone/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/api/projects/route.js +1 -1
  15. package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/api/scan/route.js +1 -1
  17. package/.next/standalone/.next/server/app/api/scan/route_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/api/sessions/route.js +1 -1
  19. package/.next/standalone/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/api/usage/route.js +1 -1
  21. package/.next/standalone/.next/server/app/api/usage/route_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/models/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/page.js +2 -2
  24. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/projects/[id]/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/projects/page.js +1 -1
  27. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  28. package/.next/standalone/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/sessions/page.js +1 -1
  30. package/.next/standalone/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/settings/page.js +2 -2
  32. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/usage/page.js +2 -2
  34. package/.next/standalone/.next/server/app/usage/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app-paths-manifest.json +6 -6
  36. package/.next/standalone/.next/server/chunks/426.js +9 -4
  37. package/.next/standalone/.next/server/chunks/520.js +1 -1
  38. package/.next/standalone/.next/server/chunks/716.js +1 -1
  39. package/.next/standalone/.next/server/chunks/775.js +1 -1
  40. package/.next/standalone/.next/server/functions-config-manifest.json +4 -4
  41. package/.next/standalone/.next/server/pages/500.html +1 -1
  42. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  43. package/.next/standalone/.next/static/chunks/148-557ee562aff993b1.js +1 -0
  44. package/.next/standalone/.next/static/chunks/app/{error-89ee9e078058915d.js → error-3e48784f89c5ae8d.js} +1 -1
  45. package/.next/standalone/.next/static/chunks/app/layout-6c973d790f015707.js +1 -0
  46. package/.next/standalone/.next/static/chunks/app/models/page-dff43b9050382020.js +1 -0
  47. package/.next/standalone/.next/static/chunks/app/page-6d87d7a8aa752100.js +1 -0
  48. package/.next/standalone/.next/static/chunks/app/projects/[id]/page-3f812f0e20137f2b.js +1 -0
  49. package/.next/standalone/.next/static/chunks/app/sessions/[id]/page-3f812f0e20137f2b.js +1 -0
  50. package/.next/standalone/.next/static/chunks/app/settings/{page-334168b522eac1b1.js → page-d1af886a5c22af9b.js} +1 -1
  51. package/.next/standalone/.next/static/chunks/app/usage/page-26297e0641d51da8.js +1 -0
  52. package/.next/standalone/.next/static/css/b07523b7c353538d.css +3 -0
  53. package/.next/standalone/node_modules/next/node_modules/postcss/package.json +0 -0
  54. package/.next/standalone/package.json +20 -4
  55. package/CHANGELOG.md +208 -0
  56. package/README.md +235 -2
  57. package/README.zh-CN.md +229 -2
  58. package/bin/cli.mjs +123 -3
  59. package/dist/mcp/server.mjs +23622 -0
  60. package/dist/report/index.mjs +2098 -0
  61. package/package.json +29 -15
  62. package/.next/standalone/.next/static/chunks/454-d0e7d0fa6f643c41.js +0 -1
  63. package/.next/standalone/.next/static/chunks/app/layout-a6e30ba3a7f39737.js +0 -1
  64. package/.next/standalone/.next/static/chunks/app/models/page-e0e1b5979547421a.js +0 -1
  65. package/.next/standalone/.next/static/chunks/app/page-9347dfa20dabb24b.js +0 -1
  66. package/.next/standalone/.next/static/chunks/app/projects/[id]/page-5804875e3dc384df.js +0 -1
  67. package/.next/standalone/.next/static/chunks/app/sessions/[id]/page-5804875e3dc384df.js +0 -1
  68. package/.next/standalone/.next/static/chunks/app/usage/page-7789fec27778df9a.js +0 -1
  69. package/.next/standalone/.next/static/css/2e5f36bcdf442844.css +0 -3
  70. package/.next/standalone/node_modules/semver/classes/comparator.js +0 -143
  71. package/.next/standalone/node_modules/semver/classes/range.js +0 -557
  72. package/.next/standalone/node_modules/semver/classes/semver.js +0 -333
  73. package/.next/standalone/node_modules/semver/functions/cmp.js +0 -54
  74. package/.next/standalone/node_modules/semver/functions/coerce.js +0 -62
  75. package/.next/standalone/node_modules/semver/functions/compare.js +0 -7
  76. package/.next/standalone/node_modules/semver/functions/eq.js +0 -5
  77. package/.next/standalone/node_modules/semver/functions/gt.js +0 -5
  78. package/.next/standalone/node_modules/semver/functions/gte.js +0 -5
  79. package/.next/standalone/node_modules/semver/functions/lt.js +0 -5
  80. package/.next/standalone/node_modules/semver/functions/lte.js +0 -5
  81. package/.next/standalone/node_modules/semver/functions/neq.js +0 -5
  82. package/.next/standalone/node_modules/semver/functions/parse.js +0 -18
  83. package/.next/standalone/node_modules/semver/functions/satisfies.js +0 -12
  84. package/.next/standalone/node_modules/semver/internal/constants.js +0 -37
  85. package/.next/standalone/node_modules/semver/internal/debug.js +0 -11
  86. package/.next/standalone/node_modules/semver/internal/identifiers.js +0 -29
  87. package/.next/standalone/node_modules/semver/internal/lrucache.js +0 -42
  88. package/.next/standalone/node_modules/semver/internal/parse-options.js +0 -17
  89. package/.next/standalone/node_modules/semver/internal/re.js +0 -223
  90. package/.next/standalone/node_modules/semver/package.json +0 -78
  91. /package/.next/standalone/.next/static/{kmNFwlVOydWtqBX3zI8OH → ZPycmg0NLiIflO5NXMT75}/_buildManifest.js +0 -0
  92. /package/.next/standalone/.next/static/{kmNFwlVOydWtqBX3zI8OH → ZPycmg0NLiIflO5NXMT75}/_ssgManifest.js +0 -0
@@ -1,2 +1,2 @@
1
- (()=>{var a={};a.id=974,a.ids=[974],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1853:(a,b,c)=>{"use strict";c.d(b,{ls:()=>f,y2:()=>e});var d=c(50160);function e(a,b=18e6){if(0===a.length)return[];let c=[...a].sort((a,b)=>a.timestamp.localeCompare(b.timestamp)),f=[],g=null,h=0,i=Date.now();for(let a of c){let c=new Date(a.timestamp).getTime();(!g||c-h>=b)&&(h=c,g={id:a.timestamp,startTime:a.timestamp,endTime:new Date(c+b).toISOString(),actualEndTime:a.timestamp,isActive:!1,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,models:[],requests:0},f.push(g));let e=(0,d.SI)(a);g.inputTokens+=a.usage.input_tokens,g.outputTokens+=a.usage.output_tokens,g.cacheReadTokens+=a.usage.cache_read_input_tokens,g.cacheCreationTokens+=a.usage.cache_creation_input_tokens,g.totalTokens=g.inputTokens+g.outputTokens+g.cacheReadTokens+g.cacheCreationTokens,g.cost+=e.total,g.saved+=e.saved,g.requests+=1,g.actualEndTime=a.timestamp,g.models.includes(a.model)||g.models.push(a.model)}for(let a of f){let b=new Date(a.endTime).getTime();a.isActive=i<b}return f}function f(a,b=18e6){let c=function(a,b=18e6){return e(a,b).find(a=>a.isActive)??null}(a,b);if(!c)return{block:null,windowMs:b,elapsedMs:0,remainingMs:0,progress:0,burnRatePerMin:0,costPerMin:0,projectedTotal:0,projectedCost:0};let d=Date.now(),g=new Date(c.startTime).getTime(),h=new Date(c.endTime).getTime(),i=d-g,j=Math.max(0,h-d),k=Math.min(1,i/b),l=i/6e4,m=l>0?c.totalTokens/l:0,n=l>0?c.cost/l:0,o=b/6e4;return{block:c,windowMs:b,elapsedMs:i,remainingMs:j,progress:k,burnRatePerMin:m,costPerMin:n,projectedTotal:m*o,projectedCost:n*o}}},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},17572:(a,b,c)=>{Promise.resolve().then(c.bind(c,88622)),Promise.resolve().then(c.bind(c,60798)),Promise.resolve().then(c.bind(c,89605))},17742:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>t,dynamic:()=>r,revalidate:()=>s});var d=c(75338),e=c(27520),f=c(67803),g=c(1853),h=c(80489),i=c(37583),j=c(89605),k=c(60798),l=c(88622),m=c(23158),n=c(95012),o=c(91719),p=c(46796),q=c(60704);let r="force-dynamic",s=0;async function t({searchParams:a}){let b=await a,c=await (0,p.ev)(b.source);return(0,d.jsx)(u,{source:c})}async function u({source:a}){let b,c=await (0,e.So)(),r=(0,p.rY)(c.records,a),s=await (0,o.yO)(),t=await (0,o.sG)(),u=a=>(0,n.jh)(a,t),v=(0,q.sO)(a);if(0===r.length)return(0,d.jsx)(i.qK,{title:s("overview.title"),desc:s("brand.tagline"),children:(0,d.jsx)(i.pp,{title:s("overview.empty.title"),desc:s("overview.subtitle.empty",{dirs:c.stats.scannedDirs.length})})});let w=r.filter(a=>(function(a){let b=new Date(a),c=new Date;return b.getFullYear()===c.getFullYear()&&b.getMonth()===c.getMonth()&&b.getDate()===c.getDate()})(a.timestamp)),x=r.filter(a=>(function(a){let b=new Date(a),c=new Date;return c.setDate(c.getDate()-1),b.getFullYear()===c.getFullYear()&&b.getMonth()===c.getMonth()&&b.getDate()===c.getDate()})(a.timestamp)),y=r.filter(a=>(function(a){let b=new Date(a),c=new Date;return b.getFullYear()===c.getFullYear()&&b.getMonth()===c.getMonth()})(a.timestamp)),z={source:a},A=(0,f.$M)(w,z),B=(0,f.$M)(x,z),C=(0,f.$M)(y,z),D=B.totalTokens>0||B.cost>0,E=B.totalTokens>0?(A.totalTokens-B.totalTokens)/B.totalTokens*100:NaN,F=B.cost>0?(A.cost-B.cost)/B.cost*100:NaN,G=!D&&(A.totalTokens>0||A.cost>0)?{firstTime:!0,label:s("overview.delta.firstTime")}:null,H=A.cacheReadTokens+A.inputTokens>0?A.cacheReadTokens/(A.cacheReadTokens+A.inputTokens+A.cacheCreationTokens):0,I=(0,g.ls)(r,v.capabilities.blockWindowMs),J=(0,m.N0)(I),K=new Date;K.setDate(K.getDate()-30);let L=(0,f.a6)(r,"day",{source:a,from:K}),M=L.map(a=>({label:a.label,input:a.inputTokens,output:a.outputTokens,cacheRead:a.cacheReadTokens,cacheCreation:a.cacheCreationTokens,cost:a.cost,requests:a.requests})),N=L.length,O=1===N?s("overview.trend.activeDays",{n:1}):s("overview.trend.activeDays.plural",{n:N}),P=(0,f.a9)(r,{source:a,from:function(){let a=new Date;return new Date(a.getFullYear(),a.getMonth(),1)}()}),Q=P[0],R=Q&&C.cost>0?(0,n.R8)(Q.cost/C.cost):"—",S=v.costFootnoteKey?s(v.costFootnoteKey):"",T=c.bySource.find(b=>b.source===a),U=T?.filesScanned??0,V=T?.assistantRecords??r.length;return(0,d.jsxs)(i.qK,{title:s("overview.title"),desc:s("overview.subtitle",{count:V.toLocaleString(),files:U,ms:c.stats.durationMs}),children:[(0,d.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4",children:[(0,d.jsx)(h.n,{label:s("overview.kpi.tokensToday"),value:u(A.totalTokens),hint:s("overview.kpi.tokensToday.hint",{count:A.requests}),delta:Number.isFinite(E)?{value:E,positiveIsGood:!1}:G,deltaTitle:s("overview.delta.title")}),(0,d.jsx)(h.n,{label:s("overview.kpi.costToday"),value:(0,n.az)(A.cost),hint:S||s("common.savedTodayViaCache",{amount:(0,n.az)(A.saved)}),delta:Number.isFinite(F)?{value:F,positiveIsGood:!1}:G,deltaTitle:s("overview.delta.title")}),(0,d.jsx)(h.n,{label:s("overview.kpi.thisMonth"),value:(0,n.az)(C.cost),hint:s("overview.kpi.thisMonth.hint",{tokens:u(C.totalTokens),req:C.requests})}),(0,d.jsx)(h.n,{label:s("overview.kpi.cacheHit"),value:(0,n.R8)(H,0),hint:s("overview.kpi.cacheHit.hint",{amount:(0,n.az)(A.saved)}),accent:"success",progress:{value:H,tone:"success"}}),(0,d.jsx)(h.n,{label:s("overview.kpi.topModel"),value:Q?(b=Q.model,v.shortenModel(b)):"—",hint:Q?s("overview.kpi.topModel.hint",{pct:R}):"",accent:"brand"}),(0,d.jsx)(h.n,{label:s("overview.kpi.activeSessions"),value:String(new Set(w.map(a=>a.sessionId)).size),hint:s("overview.kpi.activeSessions.hint",{count:new Set(w.map(a=>a.cwd)).size})})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-4",children:[(0,d.jsx)("div",{className:"lg:col-span-2",children:(0,d.jsx)(i.wn,{title:s("overview.trend.title"),desc:s("overview.trend.desc"),right:(0,d.jsx)("span",{className:"text-xs text-text-tertiary",children:O}),children:(0,d.jsx)(j.TokenStackChart,{data:M})})}),(0,d.jsx)(l.BlockProgress,{initial:J})]}),(0,d.jsx)(i.wn,{title:s("overview.costByModel.title"),desc:s("overview.costByModel.desc"),children:(0,d.jsx)(k.ModelBarChart,{models:P.slice(0,8)})})]})}},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},23158:(a,b,c)=>{"use strict";c.d(b,{N0:()=>e,go:()=>f});var d=c(50160);function e(a){return a&&a.block?{hasBlock:!0,startTime:a.block.startTime,endTime:a.block.endTime,totalTokens:a.block.totalTokens,cost:a.block.cost,requests:a.block.requests,models:a.block.models,burnRatePerMin:a.burnRatePerMin,costPerMin:a.costPerMin,projectedTotal:a.projectedTotal,projectedCost:a.projectedCost}:{hasBlock:!1,totalTokens:0,cost:0,requests:0,models:[],burnRatePerMin:0,costPerMin:0,projectedTotal:0,projectedCost:0}}function f(a,b,c){let e=function(a,b,c){let d=new Map;for(let a of b)a.textPreview&&a.textPreview.trim()&&d.set(a.uuid,a.textPreview);let e=new Map,f=new Map;for(let b of a)e.set(b.uuid,function(a){let b=[],e=a,g=null,h=0,i=new Set;for(;e&&h++<5e3&&!i.has(e);){i.add(e);let a=f.get(e);if(a){g=a;break}if(b.push(e),d.has(e)){g=e;break}e=c[e]??null}for(let c of(g||(g=a),b))f.set(c,g);return g}(b.uuid));return e}(a,b,c),f=new Map;for(let a of b)f.set(a.uuid,a);let g=new Map,h=new Map;for(let b of a){let a=e.get(b.uuid)??b.uuid,c=(0,d.SI)(b),f={uuid:b.uuid,timestamp:b.timestamp,model:b.model,cwd:b.cwd,sessionId:b.sessionId,inputTokens:b.usage.input_tokens,outputTokens:b.usage.output_tokens,cacheReadTokens:b.usage.cache_read_input_tokens,cacheCreationTokens:b.usage.cache_creation_input_tokens,reasoningTokens:b.usage.reasoning_tokens??0,totalTokens:b.usage.input_tokens+b.usage.output_tokens+b.usage.cache_read_input_tokens+b.usage.cache_creation_input_tokens,cost:c.total,costInput:c.input,costOutput:c.output,costCacheRead:c.cacheRead,costCacheWrite:c.cacheCreation5m+c.cacheCreation1h,toolNames:b.toolNames},i=g.get(a);i?i.push(f):g.set(a,[f]),h.has(a)||h.set(a,b)}let i=[];for(let[a,b]of g){b.sort((a,b)=>a.timestamp<b.timestamp?-1:1);let c=b[0],d=b[b.length-1],e=new Set,g=new Set,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;for(let a of b){for(let b of(e.add(a.model),a.toolNames))g.add(b);h+=a.inputTokens,j+=a.outputTokens,k+=a.cacheReadTokens,l+=a.cacheCreationTokens,m+=a.reasoningTokens,n+=a.cost,o+=a.costInput,p+=a.costOutput,q+=a.costCacheRead,r+=a.costCacheWrite}let s=f.get(a);i.push({turnId:a,timestamp:c.timestamp,endTimestamp:d.timestamp,cwd:c.cwd,sessionId:c.sessionId,models:Array.from(e),callCount:b.length,inputTokens:h,outputTokens:j,cacheReadTokens:k,cacheCreationTokens:l,reasoningTokens:m,totalTokens:h+j+k+l,cost:n,costInput:o,costOutput:p,costCacheRead:q,costCacheWrite:r,toolNames:Array.from(g),userText:s?.textPreview??"",children:b})}return i.sort((a,b)=>a.endTimestamp<b.endTimestamp?1:-1),i}},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},48161:a=>{"use strict";a.exports=require("node:os")},60798:(a,b,c)=>{"use strict";c.d(b,{ModelBarChart:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call ModelBarChart() from the server but ModelBarChart is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/charts/model-bar-chart.tsx","ModelBarChart")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},72267:(a,b,c)=>{"use strict";c.d(b,{BlockProgress:()=>h});var d=c(21124),e=c(38301),f=c(15514),g=c(7475);function h({initial:a}){let b=(0,g.kj)(),{locale:c}=(0,g.s9)(),e=a=>(0,f.jh)(a,c);return a.hasBlock&&a.endTime&&a.startTime?(0,d.jsxs)("div",{className:"card card-pad min-h-[180px]",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("div",{className:"label",children:b("block.title")}),(0,d.jsxs)("span",{className:"pill bg-success/10 text-success border border-success/20",children:[(0,d.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-success mr-1 animate-pulse"}),b("common.live")]})]}),(0,d.jsx)(i,{startTime:a.startTime,endTime:a.endTime,totalTokens:a.totalTokens,remainingLabel:b("block.remaining"),renderElapsed:a=>b("block.elapsed",{pct:a}),tokensSuffix:b("block.tokensSuffix"),fmtTokens:e}),(0,d.jsxs)("div",{className:"mt-4 pt-4 border-t border-border grid grid-cols-2 gap-3 text-xs",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-text-tertiary",children:b("block.spentSoFar")}),(0,d.jsx)("div",{className:"num-mono text-text-primary mt-0.5 text-base",children:(0,f.az)(a.cost)})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-text-tertiary",children:b("block.burnPerMin")}),(0,d.jsx)("div",{className:"num-mono text-text-primary mt-0.5 text-base",children:e(a.burnRatePerMin)})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-text-tertiary",children:b("block.projectedTotal")}),(0,d.jsx)("div",{className:"num-mono text-text-secondary mt-0.5",children:(0,f.az)(a.projectedCost)})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-text-tertiary",children:b("block.requests")}),(0,d.jsx)("div",{className:"num-mono text-text-secondary mt-0.5",children:a.requests})]})]})]}):(0,d.jsxs)("div",{className:"card card-pad min-h-[180px] flex flex-col",children:[(0,d.jsx)("div",{className:"label",children:b("block.title")}),(0,d.jsx)("div",{className:"text-sm text-text-tertiary mt-4",children:b("block.empty")}),(0,d.jsx)("div",{className:"text-xs text-text-tertiary mt-1",children:b("block.emptyDesc")})]})}function i({startTime:a,endTime:b,totalTokens:c,remainingLabel:f,renderElapsed:g,tokensSuffix:h,fmtTokens:i}){let[j,k]=(0,e.useState)(()=>Date.now()),l=new Date(a).getTime(),m=new Date(b).getTime(),n=Math.max(0,j-l),o=Math.max(0,m-j),p=Math.min(1,n/(m-l)),q=g((100*p).toFixed(1));return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"mt-3 flex items-baseline gap-2",children:[(0,d.jsx)("div",{className:"num-hero",children:function(a){if(a<=0)return"0s";let b=Math.floor(a/1e3),c=Math.floor(b/3600),d=Math.floor(b%3600/60),e=b%60;return c>0?`${c}h ${String(d).padStart(2,"0")}m`:d>0?`${d}m ${String(e).padStart(2,"0")}s`:`${e}s`}(o)}),(0,d.jsx)("div",{className:"text-xs text-text-secondary",children:f})]}),(0,d.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between text-xs text-text-secondary",children:[(0,d.jsx)("span",{children:q}),(0,d.jsxs)("span",{className:"num-mono",children:[i(c)," ",h]})]}),(0,d.jsx)("div",{className:"h-1.5 bg-bg-surface-hi rounded-full overflow-hidden",children:(0,d.jsx)("div",{className:"h-full bg-gradient-to-r from-brand to-brand-hover transition-all",style:{width:`${100*p}%`},suppressHydrationWarning:!0})})]})]})}},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77048:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>D.a,__next_app__:()=>J,handler:()=>L,pages:()=>I,routeModule:()=>K,tree:()=>H});var d=c(49754),e=c(9117),f=c(46595),g=c(32324),h=c(39326),i=c(38928),j=c(20175),k=c(12),l=c(54290),m=c(12696),n=c(82802),o=c(77533),p=c(45229),q=c(32822),r=c(261),s=c(26453),t=c(52474),u=c(26713),v=c(51356),w=c(62685),x=c(36225),y=c(63446),z=c(2762),A=c(45742),B=c(86439),C=c(81170),D=c.n(C),E=c(62506),F=c(91203),G={};for(let a in E)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(G[a]=()=>E[a]);c.d(b,G);let H=["",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,17742)),"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/page.tsx"]}]},{layout:[()=>Promise.resolve().then(c.bind(c,25088)),"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/layout.tsx"],error:[()=>Promise.resolve().then(c.bind(c,41697)),"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/error.tsx"],loading:[()=>Promise.resolve().then(c.bind(c,90391)),"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/loading.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,81170,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,90461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,32768,23)),"next/dist/client/components/builtin/unauthorized.js"]}],I=["/Users/zuopeng.cheng/personal/workspace/ccgauge/app/page.tsx"],J={require:c,loadChunk:()=>Promise.resolve()},K=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/page",pathname:"/",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:H},distDir:".next",relativeProjectDir:""});async function L(a,b,d){var C;let G="/page";"/index"===G&&(G="/");let M=(0,h.getRequestMeta)(a,"postponed"),N=(0,h.getRequestMeta)(a,"minimalMode"),O=await K.prepare(a,b,{srcPage:G,multiZoneDraftMode:!1});if(!O)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:P,query:Q,params:R,parsedUrl:S,pageIsDynamic:T,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,serverActionsManifest:X,clientReferenceManifest:Y,subresourceIntegrityManifest:Z,prerenderManifest:$,isDraftMode:_,resolvedPathname:aa,revalidateOnlyGenerated:ab,routerServerContext:ac,nextConfig:ad,interceptionRoutePatterns:ae}=O,af=S.pathname||"/",ag=(0,r.normalizeAppPath)(G),{isOnDemandRevalidate:ah}=O,ai=K.match(af,$),aj=!!$.routes[aa],ak=!!(ai||aj||$.routes[ag]),al=a.headers["user-agent"]||"",am=(0,u.getBotType)(al),an=(0,p.isHtmlBotRequest)(a),ao=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],ap=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[t.RSC_HEADER],aq=(0,s.getIsPossibleServerAction)(a),ar=(0,m.checkIsAppPPREnabled)(ad.experimental.ppr)&&(null==(C=$.routes[ag]??$.dynamicRoutes[ag])?void 0:C.renderingMode)==="PARTIALLY_STATIC",as=!1,at=!1,au=ar?M:void 0,av=ar&&ap&&!ao,aw=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ax=!al||(0,p.shouldServeStreamingMetadata)(al,ad.htmlLimitedBots);an&&ar&&(ak=!1,ax=!1);let ay=!0===K.isDev||!ak||"string"==typeof M||av,az=an&&ar,aA=null;_||!ak||ay||aq||au||av||(aA=aa);let aB=aA;!aB&&K.isDev&&(aB=aa),K.isDev||_||!ak||!ap||av||(0,k.d)(a.headers);let aC={...E,tree:H,pages:I,GlobalError:D(),handler:L,routeModule:K,__next_app__:J};X&&Y&&(0,o.setReferenceManifestsSingleton)({page:G,clientReferenceManifest:Y,serverActionsManifest:X,serverModuleMap:(0,q.createServerModuleMap)({serverActionsManifest:X})});let aD=a.method||"GET",aE=(0,g.getTracer)(),aF=aE.getActiveScopeSpan();try{let f=K.getVaryHeader(aa,ae);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return K.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aE.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aD} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aD} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:Q,params:R,page:ag,sharedContext:{buildId:P},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aC,Component:(0,j.T)(aC),params:R,routeModule:K,page:G,postponed:f,shouldWaitOnAllReady:az,serveStreamingMetadata:ax,supportsDynamicResponse:"string"==typeof f||ay,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,subresourceIntegrityManifest:Z,serverActionsManifest:X,clientReferenceManifest:Y,setIsrStatus:null==ac?void 0:ac.setIsrStatus,dir:c(33873).join(process.cwd(),K.relativeProjectDir),isDraftMode:_,isRevalidate:ak&&!f&&!av,botType:am,isOnDemandRevalidate:ah,isPossibleServerAction:aq,assetPrefix:ad.assetPrefix,nextConfigOutput:ad.output,crossOrigin:ad.crossOrigin,trailingSlash:ad.trailingSlash,previewProps:$.preview,deploymentId:ad.deploymentId,enableTainting:ad.experimental.taint,htmlLimitedBots:ad.htmlLimitedBots,devtoolSegmentExplorer:ad.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ad.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ad.experimental.cacheLife,basePath:ad.basePath,serverActions:ad.experimental.serverActions,...as?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:as}:{},experimental:{isRoutePPREnabled:ar,expireTime:ad.expireTime,staleTimes:ad.experimental.staleTimes,cacheComponents:!!ad.experimental.cacheComponents,clientSegmentCache:!!ad.experimental.clientSegmentCache,clientParamParsing:!!ad.experimental.clientParamParsing,dynamicOnHover:!!ad.experimental.dynamicOnHover,inlineCss:!!ad.experimental.inlineCss,authInterrupts:!!ad.experimental.authInterrupts,clientTraceMetadata:ad.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>K.onRequestError(a,b,d,ac),err:(0,h.getRequestMeta)(a,"invokeError"),dev:K.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[y.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,ak&&(null==n?void 0:n.revalidate)===0&&!K.isDev&&!ar){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${aa}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
- see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},o=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===K.isDev,l=c||b.writableEnded;if(ah&&ab&&!f&&!N)return(null==ac?void 0:ac.render404)?await ac.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ai&&(j=(0,w.parseFallbackField)(ai.fallback)),j===w.FallbackMode.PRERENDER&&(0,u.isBot)(al)&&(!ar||an)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ah=!0),ah&&(j!==w.FallbackMode.NOT_FOUND||f)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),!N&&j!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aB&&!l&&!_&&T&&(k||!aj)){let b;if((k||ai)&&j===w.FallbackMode.NOT_FOUND)throw new B.NoFallbackError;if(ar&&!ap){let c="string"==typeof(null==ai?void 0:ai.fallback)?ai.fallback:k?ag:null;if(b=await K.handleResponse({cacheKey:c,req:a,nextConfig:ad,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:$,isRoutePPREnabled:ar,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||at?(0,n.u)(ag):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let o=ah||g||!au?void 0:au;if(as&&void 0!==o)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=T&&ar&&((0,h.getRequestMeta)(a,"renderFallbackShell")||at)?(0,n.u)(af):null;return m({span:i,postponed:o,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,n=await K.handleResponse({cacheKey:aA,responseGenerator:a=>o({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ah,isRoutePPREnabled:ar,req:a,nextConfig:ad,prerenderManifest:$,waitUntil:d.waitUntil});if(_&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),K.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!n){if(aA)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof n.value.postponed;ak&&!av&&(!p||ao)&&(N||b.setHeader("x-nextjs-cache",ah?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=n;if(au)l={revalidate:0,expire:void 0};else if(N&&ap&&!ao&&ar)l={revalidate:0,expire:void 0};else if(!K.isDev)if(_)l={revalidate:0,expire:void 0};else if(ak){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??ad.expireTime}}else l={revalidate:y.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(n.cacheControl=l,"string"==typeof aw&&(null==q?void 0:q.kind)===v.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];N&&ak&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(aw);return void 0!==d?(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...n,value:{...n.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&au)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(N&&ak||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(N&&ak&&s&&"string"==typeof s&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,s),!q.status||ap&&ar||(b.statusCode=q.status),!N&&q.status&&F.RedirectStatusCode[q.status]&&ap&&(b.statusCode=200),p&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),ap&&!_){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:q.html,cacheControl:av?{revalidate:0,expire:void 0}:n.cacheControl})}return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(q.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let u=q.html;if(!p||N||ap)return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:n.cacheControl});if(as)return u.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}});let w=new TransformStream;return u.push(w.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(w.writable)}).catch(a=>{w.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}})};if(!aF)return await aE.withPropagatedContext(a.headers,()=>aE.trace(i.BaseServerSpan.handleRequest,{spanName:`${aD} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aD,"http.target":a.url}},p));await p(aF)}catch(b){throw b instanceof B.NoFallbackError||await K.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:ak,isOnDemandRevalidate:ah})},ac),b}}},80481:a=>{"use strict";a.exports=require("node:readline")},82140:(a,b,c)=>{"use strict";c.d(b,{ModelBarChart:()=>h});var d=c(21124),e=c(15514),f=c(7475);let g={opus:"rgb(var(--chart-output))",sonnet:"rgb(var(--chart-input))",haiku:"rgb(var(--chart-cache-read))"};function h({models:a}){let b=(0,f.kj)(),{locale:c}=(0,f.s9)();if(!a.length)return(0,d.jsx)("div",{className:"text-sm text-text-tertiary",children:b("chart.empty")});let h=Math.max(...a.map(a=>a.cost),1e-4),i=a.reduce((a,b)=>a+b.cost,0);return(0,d.jsx)("div",{className:"space-y-3",children:a.map(a=>{let b=i>0?a.cost/i:0;return(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsxs)("div",{className:"flex items-baseline justify-between gap-3 text-sm",children:[(0,d.jsx)("span",{className:"font-medium text-text-primary",children:(0,e.P6)(a.model)}),(0,d.jsxs)("span",{className:"text-xs text-text-secondary tabular-nums flex-1 text-right",children:[(0,e.jh)(a.totalTokens,c)," \xb7 ",(0,e.R8)(b)]}),(0,d.jsx)("span",{className:"num-mono text-text-primary min-w-[80px] text-right",children:(0,e.az)(a.cost)})]}),(0,d.jsx)("div",{className:"h-2 w-full bg-bg-surface-hi rounded overflow-hidden",children:(0,d.jsx)("div",{className:"h-full rounded",style:{width:`${a.cost/h*100}%`,background:function(a){for(let b of Object.keys(g))if(a.toLowerCase().includes(b))return g[b];return"rgb(var(--chart-cache-create))"}(a.model)}})})]},a.model)})})}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},88622:(a,b,c)=>{"use strict";c.d(b,{BlockProgress:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call BlockProgress() from the server but BlockProgress is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/block-progress.tsx","BlockProgress")},99012:(a,b,c)=>{Promise.resolve().then(c.bind(c,72267)),Promise.resolve().then(c.bind(c,82140)),Promise.resolve().then(c.bind(c,24919))}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[331,802,153,993,517,716,520,426,775],()=>b(b.s=77048));module.exports=c})();
1
+ (()=>{var a={};a.id=974,a.ids=[974],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1853:(a,b,c)=>{"use strict";c.d(b,{ls:()=>f,y2:()=>e});var d=c(50160);function e(a,b=18e6){if(0===a.length)return[];let c=[...a].sort((a,b)=>a.timestamp.localeCompare(b.timestamp)),f=[],g=null,h=0,i=Date.now();for(let a of c){let c=new Date(a.timestamp).getTime();(!g||c-h>=b)&&(h=c,g={id:a.timestamp,startTime:a.timestamp,endTime:new Date(c+b).toISOString(),actualEndTime:a.timestamp,isActive:!1,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,models:[],requests:0},f.push(g));let e=(0,d.SI)(a);g.inputTokens+=a.usage.input_tokens,g.outputTokens+=a.usage.output_tokens,g.cacheReadTokens+=a.usage.cache_read_input_tokens,g.cacheCreationTokens+=a.usage.cache_creation_input_tokens,g.totalTokens=g.inputTokens+g.outputTokens+g.cacheReadTokens+g.cacheCreationTokens,g.cost+=e.total,g.saved+=e.saved,g.requests+=1,g.actualEndTime=a.timestamp,g.models.includes(a.model)||g.models.push(a.model)}for(let a of f){let b=new Date(a.endTime).getTime();a.isActive=i<b}return f}function f(a,b=18e6){let c=function(a,b=18e6){return e(a,b).find(a=>a.isActive)??null}(a,b);if(!c)return{block:null,windowMs:b,elapsedMs:0,remainingMs:0,progress:0,burnRatePerMin:0,costPerMin:0,projectedTotal:0,projectedCost:0};let d=Date.now(),g=new Date(c.startTime).getTime(),h=new Date(c.endTime).getTime(),i=d-g,j=Math.max(0,h-d),k=Math.min(1,i/b),l=i/6e4,m=l>0?c.totalTokens/l:0,n=l>0?c.cost/l:0,o=b/6e4;return{block:c,windowMs:b,elapsedMs:i,remainingMs:j,progress:k,burnRatePerMin:m,costPerMin:n,projectedTotal:m*o,projectedCost:n*o}}},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4001:(a,b,c)=>{"use strict";c.d(b,{ActivityStatsSection:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call ActivityStatsSection() from the server but ActivityStatsSection is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/activity-stats.tsx","ActivityStatsSection")},4996:(a,b,c)=>{Promise.resolve().then(c.bind(c,4001)),Promise.resolve().then(c.bind(c,88622)),Promise.resolve().then(c.bind(c,60798)),Promise.resolve().then(c.bind(c,89605))},5693:(a,b,c)=>{"use strict";c.d(b,{N0:()=>k,go:()=>l});var d=c(50160),e=c(73024),f=c(76760),g=c(95012);let h=new Map,i=/^(.+?)[/\\]\.git[/\\]worktrees[/\\]([^/\\]+)[/\\]?$/;function j(a){let b=h.get(a);if(b)return b.label;let c=function(a){let b=(0,g.PJ)(a);if(!a)return{label:b,isWorktree:!1,mainName:b,worktreeName:""};try{let c=`${a}/.git`;if(!(0,e.statSync)(c).isFile())return{label:b,isWorktree:!1,mainName:b,worktreeName:""};let d=(0,e.readFileSync)(c,"utf8").trim().split(/\r?\n/,1)[0]??"",g=/^gitdir:\s*(.+)$/.exec(d);if(!g)return{label:b,isWorktree:!1,mainName:b,worktreeName:""};let h=g[1].trim(),j=i.exec(h);if(!j)return{label:b,isWorktree:!1,mainName:b,worktreeName:""};let k=j[1],l=j[2],m=(0,f.basename)(k)||k;return{label:`${m} (${l})`,isWorktree:!0,mainName:m,worktreeName:l}}catch{return{label:b,isWorktree:!1,mainName:b,worktreeName:""}}}(a);return h.set(a,c),c.label}function k(a){return a&&a.block?{hasBlock:!0,startTime:a.block.startTime,endTime:a.block.endTime,totalTokens:a.block.totalTokens,cost:a.block.cost,requests:a.block.requests,models:a.block.models,burnRatePerMin:a.burnRatePerMin,costPerMin:a.costPerMin,projectedTotal:a.projectedTotal,projectedCost:a.projectedCost}:{hasBlock:!1,totalTokens:0,cost:0,requests:0,models:[],burnRatePerMin:0,costPerMin:0,projectedTotal:0,projectedCost:0}}function l(a,b,c){let e=function(a,b,c){let d=new Map;for(let a of b)!a.isSynthetic&&a.textPreview&&a.textPreview.trim()&&d.set(a.uuid,a.textPreview);let e=new Map,f=new Map;for(let b of a)e.set(b.uuid,function(a){let b=[],e=a,g=null,h=0,i=new Set;for(;e&&h++<5e3&&!i.has(e);){i.add(e);let a=f.get(e);if(a){g=a;break}if(b.push(e),d.has(e)){g=e;break}e=c[e]??null}for(let c of(g||(g=a),b))f.set(c,g);return g}(b.uuid));return e}(a,b,c),f=new Map;for(let a of b)f.set(a.uuid,a);let g=new Map,h=new Map,i=new Map;for(let b of a){let a=e.get(b.uuid)??b.uuid,k=(0,d.SI)(b),l=function(a){let b=g.get(a);if(void 0!==b)return b;let d=[],e=a,h="",i=new Set;for(;e&&!i.has(e);){i.add(e);let a=g.get(e);if(void 0!==a){h=a;break}d.push(e);let b=f.get(e);if(b&&b.textPreview&&b.textPreview.trim()){h=b.textPreview;break}e=c[e]??null}for(let a of d)g.set(a,h);return h}(b.uuid),m={uuid:b.uuid,timestamp:b.timestamp,source:b.source,model:b.model,cwd:b.cwd,projectLabel:j(b.cwd),sessionId:b.sessionId,inputTokens:b.usage.input_tokens,outputTokens:b.usage.output_tokens,cacheReadTokens:b.usage.cache_read_input_tokens,cacheCreationTokens:b.usage.cache_creation_input_tokens,reasoningTokens:b.usage.reasoning_tokens??0,totalTokens:b.usage.input_tokens+b.usage.output_tokens+b.usage.cache_read_input_tokens+b.usage.cache_creation_input_tokens,cost:k.total,costInput:k.input,costOutput:k.output,costCacheRead:k.cacheRead,costCacheWrite:k.cacheCreation5m+k.cacheCreation1h,toolNames:b.toolNames,effort:b.effort,directPrompt:l||void 0},n=h.get(a);n?n.push(m):h.set(a,[m]),i.has(a)||i.set(a,b)}let k=[];for(let[a,b]of h){b.sort((a,b)=>a.timestamp<b.timestamp?-1:1);let c=b[0],d=b[b.length-1],e=new Set,g=new Set,h=new Set,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;for(let a of b){for(let b of(e.add(a.model),a.toolNames))g.add(b);a.effort&&h.add(a.effort),i+=a.inputTokens,l+=a.outputTokens,m+=a.cacheReadTokens,n+=a.cacheCreationTokens,o+=a.reasoningTokens,p+=a.cost,q+=a.costInput,r+=a.costOutput,s+=a.costCacheRead,t+=a.costCacheWrite}let u=f.get(a);k.push({turnId:a,timestamp:c.timestamp,endTimestamp:d.timestamp,cwd:c.cwd,projectLabel:j(c.cwd),sessionId:c.sessionId,models:Array.from(e),callCount:b.length,inputTokens:i,outputTokens:l,cacheReadTokens:m,cacheCreationTokens:n,reasoningTokens:o,totalTokens:i+l+m+n,cost:p,costInput:q,costOutput:r,costCacheRead:s,costCacheWrite:t,toolNames:Array.from(g),efforts:Array.from(h),userText:u?.textPreview??"",children:b})}return k.sort((a,b)=>a.endTimestamp<b.endTimestamp?1:-1),k}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29820:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>w,dynamic:()=>u,revalidate:()=>v});var d=c(75338),e=c(27520),f=c(67803),g=c(1853),h=c(80489),i=c(37583),j=c(89605),k=c(60798),l=c(88622),m=c(5693),n=c(95012),o=c(91719),p=c(46796),q=c(60704);function r(){return Array.from({length:7},()=>Array(24).fill(0))}let s=[{key:"haiku",tokens:22},{key:"tweet",tokens:50},{key:"littlePrince",tokens:22e3},{key:"gatsby",tokens:65e3},{key:"hobbit",tokens:124e3},{key:"lotrTrilogy",tokens:624e3},{key:"warAndPeace",tokens:763e3},{key:"harryPotterAll",tokens:143e4},{key:"encyclopediaBritannica",tokens:572e5},{key:"wikipediaEn",tokens:65e8}];var t=c(4001);let u="force-dynamic",v=0;async function w({searchParams:a}){let b=await a,c=await (0,p.ev)(b.source);return(0,d.jsx)(x,{source:c})}async function x({source:a}){let b,c=await (0,e.So)(),u=(0,p.rY)(c.records,a),v=await (0,o.yO)(),w=await (0,o.sG)(),x=a=>(0,n.jh)(a,w),y=(0,q.sO)(a);if(0===u.length)return(0,d.jsx)(i.qK,{title:v("overview.title"),desc:v("brand.tagline"),children:(0,d.jsx)(i.pp,{title:v("overview.empty.title"),desc:v("overview.subtitle.empty",{dirs:c.stats.scannedDirs.length})})});let z=u.filter(a=>(function(a){let b=new Date(a),c=new Date;return b.getFullYear()===c.getFullYear()&&b.getMonth()===c.getMonth()&&b.getDate()===c.getDate()})(a.timestamp)),A=u.filter(a=>(function(a){let b=new Date(a),c=new Date;return c.setDate(c.getDate()-1),b.getFullYear()===c.getFullYear()&&b.getMonth()===c.getMonth()&&b.getDate()===c.getDate()})(a.timestamp)),B=u.filter(a=>(function(a){let b=new Date(a),c=new Date;return b.getFullYear()===c.getFullYear()&&b.getMonth()===c.getMonth()})(a.timestamp)),C={source:a},D=(0,f.$M)(z,C),E=(0,f.$M)(A,C),F=(0,f.$M)(B,C),G=E.totalTokens>0||E.cost>0,H=E.totalTokens>0?(D.totalTokens-E.totalTokens)/E.totalTokens*100:NaN,I=!G&&(D.totalTokens>0||D.cost>0)?{firstTime:!0,label:v("overview.delta.firstTime")}:null,J=D.cacheReadTokens+D.inputTokens>0?D.cacheReadTokens/(D.cacheReadTokens+D.inputTokens+D.cacheCreationTokens):0,K=(0,g.ls)(u,y.capabilities.blockWindowMs),L=(0,m.N0)(K),M=new Date;M.setDate(M.getDate()-30);let N=(0,f.a6)(u,"day",{source:a,from:M}),O=N.map(a=>({label:a.label,input:a.inputTokens,output:a.outputTokens,cacheRead:a.cacheReadTokens,cacheCreation:a.cacheCreationTokens,cost:a.cost,requests:a.requests})),P=N.length,Q=1===P?v("overview.trend.activeDays",{n:1}):v("overview.trend.activeDays.plural",{n:P}),R=(0,f.a9)(u,{source:a,from:function(){let a=new Date;return new Date(a.getFullYear(),a.getMonth(),1)}()}),S=R[0],T=S&&F.cost>0?(0,n.R8)(S.cost/F.cost):"—",U=c.bySource.find(b=>b.source===a),V=U?.filesScanned??0,W=U?.assistantRecords??u.length;return(0,d.jsxs)(i.qK,{title:v("overview.title"),desc:v("overview.subtitle",{count:W.toLocaleString(),files:V,ms:c.stats.durationMs}),children:[(0,d.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-2 lg:grid-cols-4 gap-4",children:[(0,d.jsx)(h.n,{label:v("overview.kpi.tokensToday"),value:x(D.totalTokens),hint:v("overview.kpi.tokensToday.hint",{count:D.requests}),delta:Number.isFinite(H)?{value:H,positiveIsGood:!1}:I,deltaTitle:v("overview.delta.title")}),(0,d.jsx)(h.n,{label:v("overview.kpi.thisMonth"),value:(0,n.az)(F.cost),hint:v("overview.kpi.thisMonth.hint",{tokens:x(F.totalTokens),req:F.requests})}),(0,d.jsx)(h.n,{label:v("overview.kpi.cacheHit"),value:(0,n.R8)(J,0),hint:v("overview.kpi.cacheHit.hint",{amount:(0,n.az)(D.saved)}),accent:"success",progress:{value:J,tone:"success"}}),(0,d.jsx)(h.n,{label:v("overview.kpi.topModel"),value:S?(b=S.model,y.shortenModel(b)):"—",hint:S?v("overview.kpi.topModel.hint",{pct:T}):"",accent:"brand"})]}),(0,d.jsx)(i.wn,{title:v("overview.trend.title"),desc:v("overview.trend.desc"),right:(0,d.jsx)("span",{className:"text-xs text-text-tertiary",children:Q}),children:(0,d.jsx)(j.TokenStackChart,{data:O})}),(0,d.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-4 items-stretch",children:[(0,d.jsx)("div",{className:"lg:col-span-2 flex",children:(0,d.jsx)(t.ActivityStatsSection,{stats:function(a,b){let c=a.filter(a=>a.source===b.source);if(0===c.length)return{sessions:0,messages:0,totalTokens:0,activeDays:0,currentStreak:0,longestStreak:0,peakHour:-1,favoriteModel:null,heatmap:r(),heatmapMax:0,tokenHeatmap:r(),tokensSummed:0};let d=new Set,e=new Set,f=Array(24).fill(0),g=new Map,h=r(),i=r(),j=0,k=0;for(let a of c){a.sessionId&&d.add(a.sessionId);let b=new Date(a.timestamp);if(Number.isNaN(b.getTime()))continue;let c=function(a){let b=a.getFullYear(),c=String(a.getMonth()+1).padStart(2,"0"),d=String(a.getDate()).padStart(2,"0");return`${b}-${c}-${d}`}(b);e.add(c);let l=b.getDay(),m=b.getHours();f[m]+=1,h[l][m]+=1,g.set(a.model,(g.get(a.model)??0)+1);let n=a.usage,o=n.input_tokens+n.output_tokens+n.cache_read_input_tokens+n.cache_creation_input_tokens;i[l][m]+=o,j+=o,k+=1}let l=function(a){let b=-1,c=-1;for(let d=0;d<a.length;d+=1)a[d]>c&&(c=a[d],b=d);return b}(f),m=function(a){let b=null,c=-1;for(let[d,e]of a)e>c&&(b=d,c=e);return b}(g),{current:n,longest:o}=function(a,b){if(0===a.size)return{current:0,longest:0};let c=Array.from(a).map(a=>new Date(a+"T00:00:00").getTime()).filter(a=>Number.isFinite(a)).sort((a,b)=>a-b),d=1,e=1;for(let a=1;a<c.length;a+=1)c[a]-c[a-1]==864e5?(e+=1)>d&&(d=e):e=1;let f=function(a){let b=new Date(a);return b.setHours(0,0,0,0),b.getTime()}(Date.now()),g=c[c.length-1];if(f-g>864e5)return{current:0,longest:d};let h=g,i=0,j=0,k=new Set(c);for(;j<b&&k.has(h);)i+=1,h-=864e5,j+=1;return{current:i,longest:d}}(e,b.streakWindowDays??365),p=0;for(let a of h)for(let b of a)b>p&&(p=b);return{sessions:d.size,messages:k,totalTokens:j,activeDays:e.size,currentStreak:n,longestStreak:o,peakHour:l,favoriteModel:m,heatmap:h,heatmapMax:p,tokenHeatmap:i,tokensSummed:j}}(u,{source:a}),comparison:function(a){if(a<=0)return null;let b=null;for(let c of s)a/c.tokens>=5&&(b=c);return b||(b=s[0]),{refKey:b.key,multiplier:a/b.tokens}}(u.reduce((a,b)=>a+b.usage.input_tokens+b.usage.output_tokens+b.usage.cache_read_input_tokens+b.usage.cache_creation_input_tokens,0)),locale:w,className:"flex-1"})}),(0,d.jsx)("div",{className:"flex",children:(0,d.jsx)(l.BlockProgress,{initial:L,className:"flex-1 mt-3"})})]}),(0,d.jsx)(i.wn,{title:v("overview.costByModel.title"),desc:v("overview.costByModel.desc"),children:(0,d.jsx)(k.ModelBarChart,{models:R.slice(0,8)})})]})}},33873:a=>{"use strict";a.exports=require("path")},34852:(a,b,c)=>{Promise.resolve().then(c.bind(c,42629)),Promise.resolve().then(c.bind(c,72267)),Promise.resolve().then(c.bind(c,82140)),Promise.resolve().then(c.bind(c,24919))},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},42629:(a,b,c)=>{"use strict";c.d(b,{ActivityStatsSection:()=>i});var d=c(21124),e=c(38301),f=c(15514);function g({title:a,desc:b,right:c,children:e,className:g,inlineDesc:h,fillBody:i}){return(0,d.jsxs)("section",{className:(0,f.cn)("card overflow-hidden mt-3",i&&"flex flex-col",g),children:[(a||c)&&(0,d.jsxs)("header",{className:(0,f.cn)("section-header","flex flex-col sm:flex-row sm:items-start sm:justify-between gap-3 sm:gap-4","px-5 sm:px-6 pt-4 sm:pt-5 pb-3 border-b border-border"),children:[(0,d.jsxs)("div",{className:(0,f.cn)("min-w-0",h&&"sm:flex sm:items-baseline sm:gap-2.5"),children:[a&&(0,d.jsx)("h2",{className:"text-[15px] font-semibold text-text-primary tracking-tight leading-tight",children:a}),b&&(0,d.jsx)("p",{className:(0,f.cn)("text-xs text-text-secondary leading-relaxed",h?"mt-1 sm:mt-0":"mt-1.5"),children:b})]}),c&&(0,d.jsx)("div",{className:"flex items-center gap-2 flex-wrap",children:c})]}),(0,d.jsx)("div",{className:(0,f.cn)("p-5 sm:p-6",i&&"flex-1 flex flex-col"),children:e})]})}var h=c(78642);function i({stats:a,comparison:b,locale:c,className:f}){var i;let l=(0,e.useCallback)((a,b)=>(0,h.nA)(c,a,b),[c]),m=[{label:l("activity.activeDays"),value:a.activeDays.toLocaleString()},{label:l("activity.streakCombinedLabel"),value:l("activity.streakCombinedValue",{current:a.currentStreak,longest:a.longestStreak})},{label:l("activity.peakHour"),value:a.peakHour<0?"—":o(a.peakHour,c)}];return(0,d.jsx)(g,{title:l("activity.title"),desc:l("activity.subtitle"),inlineDesc:!0,fillBody:!0,className:f,children:(0,d.jsxs)("div",{className:"flex flex-col md:flex-row gap-5 md:gap-8 items-stretch flex-1",children:[(0,d.jsx)("div",{className:"grid grid-cols-3 md:flex md:flex-col md:w-[170px] md:shrink-0 gap-2.5",children:m.map(a=>(0,d.jsx)(j,{label:a.label,value:a.value},a.label))}),(0,d.jsxs)("div",{className:"flex-1 min-w-0 flex flex-col",children:[(0,d.jsx)(k,{data:a.heatmap,tokens:a.tokenHeatmap,max:a.heatmapMax,locale:c}),b&&(0,d.jsx)("div",{className:"mt-auto pt-4 text-xs text-text-tertiary leading-relaxed",children:l("activity.comparison",{multiplier:(i=b.multiplier)<10?i.toFixed(1):i<1e3?Math.round(i).toString():i<1e6?(i/1e3).toFixed(1)+"K":(i/1e6).toFixed(1)+"M",ref:l(`activity.ref.${b.refKey}`)})})]})]})})}function j({label:a,value:b}){return(0,d.jsxs)("div",{className:"rounded-button bg-bg-surface-hi/60 border border-border px-3.5 py-3 flex-1 flex flex-col justify-center min-h-[64px]",children:[(0,d.jsx)("div",{className:"text-[11px] uppercase tracking-[0.06em] text-text-tertiary font-semibold truncate",children:a}),(0,d.jsx)("div",{className:"num-mono text-xl font-semibold text-text-primary mt-1 leading-none truncate",children:b})]})}function k({data:a,tokens:b,max:c,locale:f}){let g=(0,e.useCallback)((a,b)=>(0,h.nA)(f,a,b),[f]),i=[0,3,6,9,12,15,18,21],[j,k]=(0,e.useState)(null),m=(0,e.useMemo)(()=>{let c=0,d=0,e=0;for(let b of a)for(let a of b)c+=a;for(let a of b)for(let b of a)d+=b,b>e&&(e=b);return{messages:c,tokens:d,maxTokens:e}},[a,b]);function o(c,d,e){let f=c.currentTarget.getBoundingClientRect();k({dow:d,hour:e,count:a[d][e],tokens:b[d][e],rect:{left:f.left,top:f.top,width:f.width,height:f.height}})}return(0,d.jsxs)("div",{className:"w-full",children:[(0,d.jsxs)("div",{className:"grid gap-y-[3px] [grid-template-columns:auto_1fr] items-center",children:[a.map((a,b)=>(0,d.jsx)(l,{dow:b,row:a,max:c,t:g,onCellHover:o,onLeave:()=>k(null)},b)),(0,d.jsx)("div",{className:"text-[10px] text-text-tertiary opacity-0 select-none pr-2",children:"."}),(0,d.jsx)("div",{className:"grid [grid-template-columns:repeat(24,minmax(0,1fr))] text-[10px] text-text-tertiary tabular-nums gap-[3px] mt-1",children:Array.from({length:24}).map((a,b)=>{var c;return(0,d.jsx)("div",{className:"text-center leading-none",children:i.includes(b)?(c=b,"zh"===f?`${c}`:0===c?"12a":c<12?`${c}a`:12===c?"12p":`${c-12}p`):""},b)})})]}),j&&(0,d.jsx)(n,{hover:j,locale:f,totalMessages:m.messages,totalTokens:m.tokens,maxCount:c,maxTokens:m.maxTokens,t:g})]})}function l({dow:a,row:b,max:c,t:e,onCellHover:f,onLeave:g}){let h=e(`activity.dow.${a}`);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"text-[11px] text-text-tertiary tabular-nums pr-2.5 leading-none whitespace-nowrap",children:h}),(0,d.jsx)("div",{className:"grid [grid-template-columns:repeat(24,minmax(0,1fr))] gap-[3px]",onMouseLeave:g,children:b.map((b,e)=>(0,d.jsx)(m,{count:b,max:c,onHover:b=>f(b,a,e)},e))})]})}function m({count:a,max:b,onHover:c}){let e=b>0&&a>0?Math.sqrt(a/b):0,g=a?{backgroundColor:`rgb(var(--brand) / ${(.18+.82*e).toFixed(2)})`}:{};return(0,d.jsx)("div",{onMouseEnter:c,className:(0,f.cn)("aspect-square rounded-[3px] transition-transform duration-100","hover:scale-125 hover:ring-1 hover:ring-brand/60 hover:z-10 relative",!a&&"bg-bg-surface-hi"),style:g})}function n({hover:a,locale:b,totalMessages:c,totalTokens:e,maxCount:g,maxTokens:h,t:i}){let j=a.rect.left+a.rect.width/2,k=a.rect.top-8,l=i(`activity.dow.${a.dow}`),m=function(a,b){let c=(a+1)%24;return"zh"===b?`${a.toString().padStart(2,"0")}:00 – ${c.toString().padStart(2,"0")}:00`:`${o(a,b)} – ${o(c,b)}`}(a.hour,b),n=c>0?a.count/c*100:0,p=g>0?a.count/g*100:0,q=e>0?a.tokens/e*100:0,r=h>0?a.tokens/h*100:0;return(0,d.jsx)("div",{role:"tooltip",className:"pointer-events-none fixed z-50",style:{left:j,top:k,transform:"translate(-50%, -100%)"},children:(0,d.jsxs)("div",{className:"card-elevated rounded-button px-3 py-2 text-xs whitespace-nowrap shadow-xl border border-border-hi bg-bg-elevated min-w-[180px]",children:[(0,d.jsxs)("div",{className:"font-semibold text-text-primary mb-1",children:[l," \xb7 ",m]}),a.count>0?(0,d.jsxs)("div",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5 text-text-secondary tabular-nums",children:[(0,d.jsx)("span",{className:"text-text-tertiary",children:i("activity.heatmap.messages")}),(0,d.jsxs)("span",{className:"text-right",children:[a.count.toLocaleString(),(0,d.jsxs)("span",{className:"text-text-tertiary ml-1.5",children:["\xb7 ",n.toFixed(1),"% / ",p.toFixed(0),"%"]})]}),(0,d.jsx)("span",{className:"text-text-tertiary",children:i("activity.heatmap.tokens")}),(0,d.jsxs)("span",{className:"text-right",children:[(0,f.jh)(a.tokens,b),(0,d.jsxs)("span",{className:"text-text-tertiary ml-1.5",children:["\xb7 ",q.toFixed(1),"% / ",r.toFixed(0),"%"]})]})]}):(0,d.jsx)("div",{className:"text-text-tertiary",children:i("activity.heatmap.empty")})]})})}function o(a,b){return"zh"===b?`${a}:00`:0===a?"12 AM":a<12?`${a} AM`:12===a?"12 PM":`${a-12} PM`}},48161:a=>{"use strict";a.exports=require("node:os")},60798:(a,b,c)=>{"use strict";c.d(b,{ModelBarChart:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call ModelBarChart() from the server but ModelBarChart is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/charts/model-bar-chart.tsx","ModelBarChart")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},72267:(a,b,c)=>{"use strict";c.d(b,{BlockProgress:()=>h});var d=c(21124),e=c(38301),f=c(15514),g=c(15519);function h({initial:a,className:b}){let c=(0,g.kj)(),{locale:e}=(0,g.s9)(),h=a=>(0,f.jh)(a,e);return a.hasBlock&&a.endTime&&a.startTime?(0,d.jsxs)("div",{className:(0,f.cn)("card card-pad min-h-[180px] flex flex-col",b),children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("div",{className:"label",children:c("block.title")}),(0,d.jsxs)("span",{className:"pill bg-success/10 text-success border border-success/20",children:[(0,d.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-success mr-1 animate-pulse"}),c("common.live")]})]}),(0,d.jsx)(i,{startTime:a.startTime,endTime:a.endTime,totalTokens:a.totalTokens,remainingLabel:c("block.remaining"),renderElapsed:a=>c("block.elapsed",{pct:a}),tokensSuffix:c("block.tokensSuffix"),fmtTokens:h}),(0,d.jsxs)("div",{className:"mt-4 pt-4 border-t border-border grid grid-cols-2 gap-3 text-xs",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-text-tertiary",children:c("block.spentSoFar")}),(0,d.jsx)("div",{className:"num-mono text-text-primary mt-0.5 text-base",children:(0,f.az)(a.cost)})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-text-tertiary",children:c("block.burnPerMin")}),(0,d.jsx)("div",{className:"num-mono text-text-primary mt-0.5 text-base",children:h(a.burnRatePerMin)})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-text-tertiary",children:c("block.projectedTotal")}),(0,d.jsx)("div",{className:"num-mono text-text-secondary mt-0.5",children:(0,f.az)(a.projectedCost)})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-text-tertiary",children:c("block.requests")}),(0,d.jsx)("div",{className:"num-mono text-text-secondary mt-0.5",children:a.requests})]})]}),(0,d.jsx)("div",{className:"mt-auto pt-3 text-[11px] leading-relaxed text-text-tertiary",children:c("block.disclaimer")})]}):(0,d.jsxs)("div",{className:(0,f.cn)("card card-pad min-h-[180px] flex flex-col",b),children:[(0,d.jsx)("div",{className:"label",children:c("block.title")}),(0,d.jsx)("div",{className:"text-sm text-text-tertiary mt-4",children:c("block.empty")}),(0,d.jsx)("div",{className:"text-xs text-text-tertiary mt-1",children:c("block.emptyDesc")})]})}function i({startTime:a,endTime:b,totalTokens:c,remainingLabel:f,renderElapsed:g,tokensSuffix:h,fmtTokens:i}){let[j,k]=(0,e.useState)(()=>Date.now()),l=new Date(a).getTime(),m=new Date(b).getTime(),n=Math.max(0,j-l),o=Math.max(0,m-j),p=Math.min(1,n/(m-l)),q=g((100*p).toFixed(1));return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"mt-3 flex items-baseline gap-2",children:[(0,d.jsx)("div",{className:"num-hero",children:function(a){if(a<=0)return"0s";let b=Math.floor(a/1e3),c=Math.floor(b/3600),d=Math.floor(b%3600/60),e=b%60;return c>0?`${c}h ${String(d).padStart(2,"0")}m`:d>0?`${d}m ${String(e).padStart(2,"0")}s`:`${e}s`}(o)}),(0,d.jsx)("div",{className:"text-xs text-text-secondary",children:f})]}),(0,d.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between text-xs text-text-secondary",children:[(0,d.jsx)("span",{children:q}),(0,d.jsxs)("span",{className:"num-mono",children:[i(c)," ",h]})]}),(0,d.jsx)("div",{className:"h-1.5 bg-bg-surface-hi rounded-full overflow-hidden",children:(0,d.jsx)("div",{className:"h-full bg-gradient-to-r from-brand to-brand-hover transition-all",style:{width:`${100*p}%`},suppressHydrationWarning:!0})})]})]})}},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77048:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>D.a,__next_app__:()=>J,handler:()=>L,pages:()=>I,routeModule:()=>K,tree:()=>H});var d=c(49754),e=c(9117),f=c(46595),g=c(32324),h=c(39326),i=c(38928),j=c(20175),k=c(12),l=c(54290),m=c(12696),n=c(82802),o=c(77533),p=c(45229),q=c(32822),r=c(261),s=c(26453),t=c(52474),u=c(26713),v=c(51356),w=c(62685),x=c(36225),y=c(63446),z=c(2762),A=c(45742),B=c(86439),C=c(81170),D=c.n(C),E=c(62506),F=c(91203),G={};for(let a in E)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(G[a]=()=>E[a]);c.d(b,G);let H=["",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,29820)),"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/page.tsx"]}]},{layout:[()=>Promise.resolve().then(c.bind(c,25088)),"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/layout.tsx"],error:[()=>Promise.resolve().then(c.bind(c,41697)),"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/error.tsx"],loading:[()=>Promise.resolve().then(c.bind(c,90391)),"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/loading.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,81170,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,90461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,32768,23)),"next/dist/client/components/builtin/unauthorized.js"]}],I=["/Users/zuopeng.cheng/personal/workspace/ccgauge/app/page.tsx"],J={require:c,loadChunk:()=>Promise.resolve()},K=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/page",pathname:"/",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:H},distDir:".next",relativeProjectDir:""});async function L(a,b,d){var C;let G="/page";"/index"===G&&(G="/");let M=(0,h.getRequestMeta)(a,"postponed"),N=(0,h.getRequestMeta)(a,"minimalMode"),O=await K.prepare(a,b,{srcPage:G,multiZoneDraftMode:!1});if(!O)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:P,query:Q,params:R,parsedUrl:S,pageIsDynamic:T,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,serverActionsManifest:X,clientReferenceManifest:Y,subresourceIntegrityManifest:Z,prerenderManifest:$,isDraftMode:_,resolvedPathname:aa,revalidateOnlyGenerated:ab,routerServerContext:ac,nextConfig:ad,interceptionRoutePatterns:ae}=O,af=S.pathname||"/",ag=(0,r.normalizeAppPath)(G),{isOnDemandRevalidate:ah}=O,ai=K.match(af,$),aj=!!$.routes[aa],ak=!!(ai||aj||$.routes[ag]),al=a.headers["user-agent"]||"",am=(0,u.getBotType)(al),an=(0,p.isHtmlBotRequest)(a),ao=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],ap=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[t.RSC_HEADER],aq=(0,s.getIsPossibleServerAction)(a),ar=(0,m.checkIsAppPPREnabled)(ad.experimental.ppr)&&(null==(C=$.routes[ag]??$.dynamicRoutes[ag])?void 0:C.renderingMode)==="PARTIALLY_STATIC",as=!1,at=!1,au=ar?M:void 0,av=ar&&ap&&!ao,aw=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ax=!al||(0,p.shouldServeStreamingMetadata)(al,ad.htmlLimitedBots);an&&ar&&(ak=!1,ax=!1);let ay=!0===K.isDev||!ak||"string"==typeof M||av,az=an&&ar,aA=null;_||!ak||ay||aq||au||av||(aA=aa);let aB=aA;!aB&&K.isDev&&(aB=aa),K.isDev||_||!ak||!ap||av||(0,k.d)(a.headers);let aC={...E,tree:H,pages:I,GlobalError:D(),handler:L,routeModule:K,__next_app__:J};X&&Y&&(0,o.setReferenceManifestsSingleton)({page:G,clientReferenceManifest:Y,serverActionsManifest:X,serverModuleMap:(0,q.createServerModuleMap)({serverActionsManifest:X})});let aD=a.method||"GET",aE=(0,g.getTracer)(),aF=aE.getActiveScopeSpan();try{let f=K.getVaryHeader(aa,ae);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return K.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aE.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aD} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aD} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:Q,params:R,page:ag,sharedContext:{buildId:P},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aC,Component:(0,j.T)(aC),params:R,routeModule:K,page:G,postponed:f,shouldWaitOnAllReady:az,serveStreamingMetadata:ax,supportsDynamicResponse:"string"==typeof f||ay,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,subresourceIntegrityManifest:Z,serverActionsManifest:X,clientReferenceManifest:Y,setIsrStatus:null==ac?void 0:ac.setIsrStatus,dir:c(33873).join(process.cwd(),K.relativeProjectDir),isDraftMode:_,isRevalidate:ak&&!f&&!av,botType:am,isOnDemandRevalidate:ah,isPossibleServerAction:aq,assetPrefix:ad.assetPrefix,nextConfigOutput:ad.output,crossOrigin:ad.crossOrigin,trailingSlash:ad.trailingSlash,previewProps:$.preview,deploymentId:ad.deploymentId,enableTainting:ad.experimental.taint,htmlLimitedBots:ad.htmlLimitedBots,devtoolSegmentExplorer:ad.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ad.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ad.experimental.cacheLife,basePath:ad.basePath,serverActions:ad.experimental.serverActions,...as?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:as}:{},experimental:{isRoutePPREnabled:ar,expireTime:ad.expireTime,staleTimes:ad.experimental.staleTimes,cacheComponents:!!ad.experimental.cacheComponents,clientSegmentCache:!!ad.experimental.clientSegmentCache,clientParamParsing:!!ad.experimental.clientParamParsing,dynamicOnHover:!!ad.experimental.dynamicOnHover,inlineCss:!!ad.experimental.inlineCss,authInterrupts:!!ad.experimental.authInterrupts,clientTraceMetadata:ad.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>K.onRequestError(a,b,d,ac),err:(0,h.getRequestMeta)(a,"invokeError"),dev:K.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[y.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,ak&&(null==n?void 0:n.revalidate)===0&&!K.isDev&&!ar){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${aa}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
+ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},o=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===K.isDev,l=c||b.writableEnded;if(ah&&ab&&!f&&!N)return(null==ac?void 0:ac.render404)?await ac.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ai&&(j=(0,w.parseFallbackField)(ai.fallback)),j===w.FallbackMode.PRERENDER&&(0,u.isBot)(al)&&(!ar||an)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ah=!0),ah&&(j!==w.FallbackMode.NOT_FOUND||f)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),!N&&j!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aB&&!l&&!_&&T&&(k||!aj)){let b;if((k||ai)&&j===w.FallbackMode.NOT_FOUND)throw new B.NoFallbackError;if(ar&&!ap){let c="string"==typeof(null==ai?void 0:ai.fallback)?ai.fallback:k?ag:null;if(b=await K.handleResponse({cacheKey:c,req:a,nextConfig:ad,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:$,isRoutePPREnabled:ar,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||at?(0,n.u)(ag):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let o=ah||g||!au?void 0:au;if(as&&void 0!==o)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=T&&ar&&((0,h.getRequestMeta)(a,"renderFallbackShell")||at)?(0,n.u)(af):null;return m({span:i,postponed:o,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,n=await K.handleResponse({cacheKey:aA,responseGenerator:a=>o({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ah,isRoutePPREnabled:ar,req:a,nextConfig:ad,prerenderManifest:$,waitUntil:d.waitUntil});if(_&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),K.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!n){if(aA)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof n.value.postponed;ak&&!av&&(!p||ao)&&(N||b.setHeader("x-nextjs-cache",ah?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=n;if(au)l={revalidate:0,expire:void 0};else if(N&&ap&&!ao&&ar)l={revalidate:0,expire:void 0};else if(!K.isDev)if(_)l={revalidate:0,expire:void 0};else if(ak){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??ad.expireTime}}else l={revalidate:y.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(n.cacheControl=l,"string"==typeof aw&&(null==q?void 0:q.kind)===v.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];N&&ak&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(aw);return void 0!==d?(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...n,value:{...n.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&au)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(N&&ak||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(N&&ak&&s&&"string"==typeof s&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,s),!q.status||ap&&ar||(b.statusCode=q.status),!N&&q.status&&F.RedirectStatusCode[q.status]&&ap&&(b.statusCode=200),p&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),ap&&!_){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:q.html,cacheControl:av?{revalidate:0,expire:void 0}:n.cacheControl})}return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(q.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let u=q.html;if(!p||N||ap)return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:n.cacheControl});if(as)return u.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}});let w=new TransformStream;return u.push(w.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(w.writable)}).catch(a=>{w.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}})};if(!aF)return await aE.withPropagatedContext(a.headers,()=>aE.trace(i.BaseServerSpan.handleRequest,{spanName:`${aD} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aD,"http.target":a.url}},p));await p(aF)}catch(b){throw b instanceof B.NoFallbackError||await K.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:ak,isOnDemandRevalidate:ah})},ac),b}}},80481:a=>{"use strict";a.exports=require("node:readline")},82140:(a,b,c)=>{"use strict";c.d(b,{ModelBarChart:()=>h});var d=c(21124),e=c(15514),f=c(15519);let g={opus:"rgb(var(--chart-output))",sonnet:"rgb(var(--chart-input))",haiku:"rgb(var(--chart-cache-read))"};function h({models:a}){let b=(0,f.kj)(),{locale:c}=(0,f.s9)();if(!a.length)return(0,d.jsx)("div",{className:"text-sm text-text-tertiary",children:b("chart.empty")});let h=Math.max(...a.map(a=>a.cost),1e-4),i=a.reduce((a,b)=>a+b.cost,0);return(0,d.jsx)("div",{className:"space-y-3.5",children:a.map(a=>{let b=i>0?a.cost/i:0;return(0,d.jsxs)("div",{className:"space-y-1.5 group",children:[(0,d.jsxs)("div",{className:"flex items-baseline justify-between gap-3 text-sm",children:[(0,d.jsx)("span",{className:"font-medium text-text-primary truncate",children:(0,e.P6)(a.model)}),(0,d.jsxs)("span",{className:"text-xs text-text-tertiary tabular-nums flex-1 text-right",children:[(0,e.jh)(a.totalTokens,c)," \xb7 ",(0,e.R8)(b)]}),(0,d.jsx)("span",{className:"num-mono font-medium text-text-primary min-w-[80px] text-right",children:(0,e.az)(a.cost)})]}),(0,d.jsx)("div",{className:"h-2 w-full bg-bg-surface-hi rounded-full overflow-hidden",children:(0,d.jsx)("div",{className:"h-full rounded-full transition-all duration-500 ease-out-soft group-hover:brightness-110",style:{width:`${a.cost/h*100}%`,background:function(a){for(let b of Object.keys(g))if(a.toLowerCase().includes(b))return g[b];return"rgb(var(--chart-cache-create))"}(a.model)}})})]},a.model)})})}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},88622:(a,b,c)=>{"use strict";c.d(b,{BlockProgress:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call BlockProgress() from the server but BlockProgress is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/block-progress.tsx","BlockProgress")}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[331,802,153,993,517,716,520,426,775],()=>b(b.s=77048));module.exports=c})();
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"7152":{"*":{"id":"75268","name":"*","chunks":[],"async":false}},"8336":{"*":{"id":"39472","name":"*","chunks":[],"async":false}},"8608":{"*":{"id":"82140","name":"*","chunks":[],"async":false}},"8783":{"*":{"id":"60505","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"77526","name":"*","chunks":[],"async":false}},"12112":{"*":{"id":"17290","name":"*","chunks":[],"async":false}},"14920":{"*":{"id":"32560","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"16633":{"*":{"id":"88253","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"21264":{"*":{"id":"95546","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"12263","name":"*","chunks":[],"async":false}},"25577":{"*":{"id":"99955","name":"*","chunks":[],"async":false}},"25763":{"*":{"id":"72267","name":"*","chunks":[],"async":false}},"38059":{"*":{"id":"24919","name":"*","chunks":[],"async":false}},"44703":{"*":{"id":"28607","name":"*","chunks":[],"async":false}},"49567":{"*":{"id":"77731","name":"*","chunks":[],"async":false}},"52619":{"*":{"id":"3991","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"57581":{"*":{"id":"88267","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"91107":{"*":{"id":"48507","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/builtin/global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/lib/framework/boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/globals.css":{"id":41290,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","619","static/chunks/619-f072ac750404f9da.js","454","static/chunks/454-d0e7d0fa6f643c41.js","177","static/chunks/app/layout-a6e30ba3a7f39737.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/nav.tsx":{"id":57581,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","619","static/chunks/619-f072ac750404f9da.js","454","static/chunks/454-d0e7d0fa6f643c41.js","177","static/chunks/app/layout-a6e30ba3a7f39737.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/providers.tsx":{"id":12112,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","619","static/chunks/619-f072ac750404f9da.js","454","static/chunks/454-d0e7d0fa6f643c41.js","177","static/chunks/app/layout-a6e30ba3a7f39737.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/error.tsx":{"id":49567,"name":"*","chunks":["454","static/chunks/454-d0e7d0fa6f643c41.js","39","static/chunks/app/error-89ee9e078058915d.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/block-progress.tsx":{"id":25763,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","454","static/chunks/454-d0e7d0fa6f643c41.js","974","static/chunks/app/page-9347dfa20dabb24b.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/charts/model-bar-chart.tsx":{"id":8608,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","454","static/chunks/454-d0e7d0fa6f643c41.js","974","static/chunks/app/page-9347dfa20dabb24b.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/charts/token-stack-chart.tsx":{"id":38059,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","454","static/chunks/454-d0e7d0fa6f643c41.js","974","static/chunks/app/page-9347dfa20dabb24b.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/app-dir/link.js":{"id":52619,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/app-dir/link.js":{"id":52619,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/granularity-picker.tsx":{"id":16633,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/model-filter.tsx":{"id":8336,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/project-filter.tsx":{"id":14920,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/range-picker.tsx":{"id":7152,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/usage-table.tsx":{"id":25577,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/language-switcher.tsx":{"id":21264,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/pricing-table.tsx":{"id":8783,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/scan-refresh.tsx":{"id":91107,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/theme-switcher.tsx":{"id":44703,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/zuopeng.cheng/personal/workspace/ccgauge/":[],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/layout":[{"inlined":false,"path":"static/css/2e5f36bcdf442844.css"}],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/error":[],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/loading":[],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/page":[]},"rscModuleMapping":{"7152":{"*":{"id":"58258","name":"*","chunks":[],"async":false}},"8336":{"*":{"id":"36666","name":"*","chunks":[],"async":false}},"8608":{"*":{"id":"60798","name":"*","chunks":[],"async":false}},"8783":{"*":{"id":"87639","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}},"12112":{"*":{"id":"66664","name":"*","chunks":[],"async":false}},"14920":{"*":{"id":"21966","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"16633":{"*":{"id":"49863","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"21264":{"*":{"id":"98392","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"25577":{"*":{"id":"21092","name":"*","chunks":[],"async":false}},"25763":{"*":{"id":"88622","name":"*","chunks":[],"async":false}},"38059":{"*":{"id":"89605","name":"*","chunks":[],"async":false}},"41290":{"*":{"id":"82704","name":"*","chunks":[],"async":false}},"44703":{"*":{"id":"29509","name":"*","chunks":[],"async":false}},"49567":{"*":{"id":"41697","name":"*","chunks":[],"async":false}},"52619":{"*":{"id":"65169","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"57581":{"*":{"id":"64285","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"91107":{"*":{"id":"84701","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"5248":{"*":{"id":"39422","name":"*","chunks":[],"async":false}},"7152":{"*":{"id":"75268","name":"*","chunks":[],"async":false}},"8336":{"*":{"id":"39472","name":"*","chunks":[],"async":false}},"8608":{"*":{"id":"82140","name":"*","chunks":[],"async":false}},"8783":{"*":{"id":"60505","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"77526","name":"*","chunks":[],"async":false}},"12112":{"*":{"id":"17290","name":"*","chunks":[],"async":false}},"14920":{"*":{"id":"32560","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"16633":{"*":{"id":"88253","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"21264":{"*":{"id":"95546","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"12263","name":"*","chunks":[],"async":false}},"25577":{"*":{"id":"99955","name":"*","chunks":[],"async":false}},"25763":{"*":{"id":"72267","name":"*","chunks":[],"async":false}},"38059":{"*":{"id":"24919","name":"*","chunks":[],"async":false}},"44703":{"*":{"id":"28607","name":"*","chunks":[],"async":false}},"49567":{"*":{"id":"77731","name":"*","chunks":[],"async":false}},"52619":{"*":{"id":"3991","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"57581":{"*":{"id":"88267","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"69612":{"*":{"id":"42629","name":"*","chunks":[],"async":false}},"77549":{"*":{"id":"24961","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"91107":{"*":{"id":"48507","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/builtin/global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/lib/framework/boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/globals.css":{"id":41290,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","619","static/chunks/619-f072ac750404f9da.js","148","static/chunks/148-557ee562aff993b1.js","177","static/chunks/app/layout-6c973d790f015707.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/nav.tsx":{"id":57581,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","619","static/chunks/619-f072ac750404f9da.js","148","static/chunks/148-557ee562aff993b1.js","177","static/chunks/app/layout-6c973d790f015707.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/providers.tsx":{"id":12112,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","619","static/chunks/619-f072ac750404f9da.js","148","static/chunks/148-557ee562aff993b1.js","177","static/chunks/app/layout-6c973d790f015707.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/error.tsx":{"id":49567,"name":"*","chunks":["148","static/chunks/148-557ee562aff993b1.js","39","static/chunks/app/error-3e48784f89c5ae8d.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/charts/token-stack-chart.tsx":{"id":38059,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","148","static/chunks/148-557ee562aff993b1.js","974","static/chunks/app/page-6d87d7a8aa752100.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/app-dir/link.js":{"id":52619,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/app-dir/link.js":{"id":52619,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/auto-refresh.tsx":{"id":77549,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/granularity-picker.tsx":{"id":16633,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/model-filter.tsx":{"id":8336,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/overview-toggle.tsx":{"id":5248,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/project-filter.tsx":{"id":14920,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/range-picker.tsx":{"id":7152,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/usage-table.tsx":{"id":25577,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/activity-stats.tsx":{"id":69612,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","148","static/chunks/148-557ee562aff993b1.js","974","static/chunks/app/page-6d87d7a8aa752100.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/block-progress.tsx":{"id":25763,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","148","static/chunks/148-557ee562aff993b1.js","974","static/chunks/app/page-6d87d7a8aa752100.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/charts/model-bar-chart.tsx":{"id":8608,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","148","static/chunks/148-557ee562aff993b1.js","974","static/chunks/app/page-6d87d7a8aa752100.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/language-switcher.tsx":{"id":21264,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/pricing-table.tsx":{"id":8783,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/scan-refresh.tsx":{"id":91107,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/theme-switcher.tsx":{"id":44703,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/zuopeng.cheng/personal/workspace/ccgauge/":[],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/layout":[{"inlined":false,"path":"static/css/b07523b7c353538d.css"}],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/error":[],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/loading":[],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/page":[]},"rscModuleMapping":{"5248":{"*":{"id":"68264","name":"*","chunks":[],"async":false}},"7152":{"*":{"id":"58258","name":"*","chunks":[],"async":false}},"8336":{"*":{"id":"36666","name":"*","chunks":[],"async":false}},"8608":{"*":{"id":"60798","name":"*","chunks":[],"async":false}},"8783":{"*":{"id":"87639","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}},"12112":{"*":{"id":"66664","name":"*","chunks":[],"async":false}},"14920":{"*":{"id":"21966","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"16633":{"*":{"id":"49863","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"21264":{"*":{"id":"98392","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"25577":{"*":{"id":"21092","name":"*","chunks":[],"async":false}},"25763":{"*":{"id":"88622","name":"*","chunks":[],"async":false}},"38059":{"*":{"id":"89605","name":"*","chunks":[],"async":false}},"41290":{"*":{"id":"82704","name":"*","chunks":[],"async":false}},"44703":{"*":{"id":"29509","name":"*","chunks":[],"async":false}},"49567":{"*":{"id":"41697","name":"*","chunks":[],"async":false}},"52619":{"*":{"id":"65169","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"57581":{"*":{"id":"64285","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"69612":{"*":{"id":"4001","name":"*","chunks":[],"async":false}},"77549":{"*":{"id":"62035","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"91107":{"*":{"id":"84701","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/projects/[id]/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"7152":{"*":{"id":"75268","name":"*","chunks":[],"async":false}},"8336":{"*":{"id":"39472","name":"*","chunks":[],"async":false}},"8608":{"*":{"id":"82140","name":"*","chunks":[],"async":false}},"8783":{"*":{"id":"60505","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"77526","name":"*","chunks":[],"async":false}},"12112":{"*":{"id":"17290","name":"*","chunks":[],"async":false}},"14920":{"*":{"id":"32560","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"16633":{"*":{"id":"88253","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"21264":{"*":{"id":"95546","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"12263","name":"*","chunks":[],"async":false}},"25577":{"*":{"id":"99955","name":"*","chunks":[],"async":false}},"25763":{"*":{"id":"72267","name":"*","chunks":[],"async":false}},"38059":{"*":{"id":"24919","name":"*","chunks":[],"async":false}},"44703":{"*":{"id":"28607","name":"*","chunks":[],"async":false}},"49567":{"*":{"id":"77731","name":"*","chunks":[],"async":false}},"52619":{"*":{"id":"3991","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"57581":{"*":{"id":"88267","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"91107":{"*":{"id":"48507","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/builtin/global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/lib/framework/boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/globals.css":{"id":41290,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","619","static/chunks/619-f072ac750404f9da.js","454","static/chunks/454-d0e7d0fa6f643c41.js","177","static/chunks/app/layout-a6e30ba3a7f39737.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/nav.tsx":{"id":57581,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","619","static/chunks/619-f072ac750404f9da.js","454","static/chunks/454-d0e7d0fa6f643c41.js","177","static/chunks/app/layout-a6e30ba3a7f39737.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/providers.tsx":{"id":12112,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","619","static/chunks/619-f072ac750404f9da.js","454","static/chunks/454-d0e7d0fa6f643c41.js","177","static/chunks/app/layout-a6e30ba3a7f39737.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/error.tsx":{"id":49567,"name":"*","chunks":["454","static/chunks/454-d0e7d0fa6f643c41.js","39","static/chunks/app/error-89ee9e078058915d.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/block-progress.tsx":{"id":25763,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","454","static/chunks/454-d0e7d0fa6f643c41.js","974","static/chunks/app/page-9347dfa20dabb24b.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/charts/model-bar-chart.tsx":{"id":8608,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","454","static/chunks/454-d0e7d0fa6f643c41.js","974","static/chunks/app/page-9347dfa20dabb24b.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/charts/token-stack-chart.tsx":{"id":38059,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","619","static/chunks/619-f072ac750404f9da.js","454","static/chunks/454-d0e7d0fa6f643c41.js","801","static/chunks/app/projects/%5Bid%5D/page-5804875e3dc384df.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/app-dir/link.js":{"id":52619,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","619","static/chunks/619-f072ac750404f9da.js","454","static/chunks/454-d0e7d0fa6f643c41.js","801","static/chunks/app/projects/%5Bid%5D/page-5804875e3dc384df.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/app-dir/link.js":{"id":52619,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","619","static/chunks/619-f072ac750404f9da.js","454","static/chunks/454-d0e7d0fa6f643c41.js","801","static/chunks/app/projects/%5Bid%5D/page-5804875e3dc384df.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/granularity-picker.tsx":{"id":16633,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/model-filter.tsx":{"id":8336,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/project-filter.tsx":{"id":14920,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/range-picker.tsx":{"id":7152,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/usage-table.tsx":{"id":25577,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/language-switcher.tsx":{"id":21264,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/pricing-table.tsx":{"id":8783,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/scan-refresh.tsx":{"id":91107,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/theme-switcher.tsx":{"id":44703,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/zuopeng.cheng/personal/workspace/ccgauge/":[],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/layout":[{"inlined":false,"path":"static/css/2e5f36bcdf442844.css"}],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/error":[],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/loading":[],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/page":[],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/projects/page":[],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/projects/[id]/page":[]},"rscModuleMapping":{"7152":{"*":{"id":"58258","name":"*","chunks":[],"async":false}},"8336":{"*":{"id":"36666","name":"*","chunks":[],"async":false}},"8608":{"*":{"id":"60798","name":"*","chunks":[],"async":false}},"8783":{"*":{"id":"87639","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}},"12112":{"*":{"id":"66664","name":"*","chunks":[],"async":false}},"14920":{"*":{"id":"21966","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"16633":{"*":{"id":"49863","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"21264":{"*":{"id":"98392","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"25577":{"*":{"id":"21092","name":"*","chunks":[],"async":false}},"25763":{"*":{"id":"88622","name":"*","chunks":[],"async":false}},"38059":{"*":{"id":"89605","name":"*","chunks":[],"async":false}},"41290":{"*":{"id":"82704","name":"*","chunks":[],"async":false}},"44703":{"*":{"id":"29509","name":"*","chunks":[],"async":false}},"49567":{"*":{"id":"41697","name":"*","chunks":[],"async":false}},"52619":{"*":{"id":"65169","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"57581":{"*":{"id":"64285","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"91107":{"*":{"id":"84701","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/projects/[id]/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"5248":{"*":{"id":"39422","name":"*","chunks":[],"async":false}},"7152":{"*":{"id":"75268","name":"*","chunks":[],"async":false}},"8336":{"*":{"id":"39472","name":"*","chunks":[],"async":false}},"8608":{"*":{"id":"82140","name":"*","chunks":[],"async":false}},"8783":{"*":{"id":"60505","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"77526","name":"*","chunks":[],"async":false}},"12112":{"*":{"id":"17290","name":"*","chunks":[],"async":false}},"14920":{"*":{"id":"32560","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"78922","name":"*","chunks":[],"async":false}},"16633":{"*":{"id":"88253","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"68495","name":"*","chunks":[],"async":false}},"21264":{"*":{"id":"95546","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"12263","name":"*","chunks":[],"async":false}},"25577":{"*":{"id":"99955","name":"*","chunks":[],"async":false}},"25763":{"*":{"id":"72267","name":"*","chunks":[],"async":false}},"38059":{"*":{"id":"24919","name":"*","chunks":[],"async":false}},"44703":{"*":{"id":"28607","name":"*","chunks":[],"async":false}},"49567":{"*":{"id":"77731","name":"*","chunks":[],"async":false}},"52619":{"*":{"id":"3991","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"54160","name":"*","chunks":[],"async":false}},"57581":{"*":{"id":"88267","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"75170","name":"*","chunks":[],"async":false}},"69612":{"*":{"id":"42629","name":"*","chunks":[],"async":false}},"77549":{"*":{"id":"24961","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"82146","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"31603","name":"*","chunks":[],"async":false}},"91107":{"*":{"id":"48507","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"29234","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/builtin/global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":57150,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/client-page.js":{"id":81959,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/client-segment.js":{"id":17989,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":63886,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":15278,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/components/render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":98924,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/lib/framework/boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":24431,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":80622,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/globals.css":{"id":41290,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","619","static/chunks/619-f072ac750404f9da.js","148","static/chunks/148-557ee562aff993b1.js","177","static/chunks/app/layout-6c973d790f015707.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/nav.tsx":{"id":57581,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","619","static/chunks/619-f072ac750404f9da.js","148","static/chunks/148-557ee562aff993b1.js","177","static/chunks/app/layout-6c973d790f015707.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/providers.tsx":{"id":12112,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","619","static/chunks/619-f072ac750404f9da.js","148","static/chunks/148-557ee562aff993b1.js","177","static/chunks/app/layout-6c973d790f015707.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/error.tsx":{"id":49567,"name":"*","chunks":["148","static/chunks/148-557ee562aff993b1.js","39","static/chunks/app/error-3e48784f89c5ae8d.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/charts/token-stack-chart.tsx":{"id":38059,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","619","static/chunks/619-f072ac750404f9da.js","148","static/chunks/148-557ee562aff993b1.js","801","static/chunks/app/projects/%5Bid%5D/page-3f812f0e20137f2b.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/app-dir/link.js":{"id":52619,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","619","static/chunks/619-f072ac750404f9da.js","148","static/chunks/148-557ee562aff993b1.js","801","static/chunks/app/projects/%5Bid%5D/page-3f812f0e20137f2b.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/esm/client/app-dir/link.js":{"id":52619,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","619","static/chunks/619-f072ac750404f9da.js","148","static/chunks/148-557ee562aff993b1.js","801","static/chunks/app/projects/%5Bid%5D/page-3f812f0e20137f2b.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/auto-refresh.tsx":{"id":77549,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/granularity-picker.tsx":{"id":16633,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/model-filter.tsx":{"id":8336,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/overview-toggle.tsx":{"id":5248,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/project-filter.tsx":{"id":14920,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/range-picker.tsx":{"id":7152,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/usage-table.tsx":{"id":25577,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/activity-stats.tsx":{"id":69612,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","148","static/chunks/148-557ee562aff993b1.js","974","static/chunks/app/page-6d87d7a8aa752100.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/block-progress.tsx":{"id":25763,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","148","static/chunks/148-557ee562aff993b1.js","974","static/chunks/app/page-6d87d7a8aa752100.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/charts/model-bar-chart.tsx":{"id":8608,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","148","static/chunks/148-557ee562aff993b1.js","974","static/chunks/app/page-6d87d7a8aa752100.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/language-switcher.tsx":{"id":21264,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/pricing-table.tsx":{"id":8783,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/scan-refresh.tsx":{"id":91107,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/theme-switcher.tsx":{"id":44703,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/zuopeng.cheng/personal/workspace/ccgauge/":[],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/layout":[{"inlined":false,"path":"static/css/b07523b7c353538d.css"}],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/error":[],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/loading":[],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/page":[],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/projects/page":[],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/projects/[id]/page":[]},"rscModuleMapping":{"5248":{"*":{"id":"68264","name":"*","chunks":[],"async":false}},"7152":{"*":{"id":"58258","name":"*","chunks":[],"async":false}},"8336":{"*":{"id":"36666","name":"*","chunks":[],"async":false}},"8608":{"*":{"id":"60798","name":"*","chunks":[],"async":false}},"8783":{"*":{"id":"87639","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}},"12112":{"*":{"id":"66664","name":"*","chunks":[],"async":false}},"14920":{"*":{"id":"21966","name":"*","chunks":[],"async":false}},"15278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"16633":{"*":{"id":"49863","name":"*","chunks":[],"async":false}},"17989":{"*":{"id":"36893","name":"*","chunks":[],"async":false}},"21264":{"*":{"id":"98392","name":"*","chunks":[],"async":false}},"24431":{"*":{"id":"73041","name":"*","chunks":[],"async":false}},"25577":{"*":{"id":"21092","name":"*","chunks":[],"async":false}},"25763":{"*":{"id":"88622","name":"*","chunks":[],"async":false}},"38059":{"*":{"id":"89605","name":"*","chunks":[],"async":false}},"41290":{"*":{"id":"82704","name":"*","chunks":[],"async":false}},"44703":{"*":{"id":"29509","name":"*","chunks":[],"async":false}},"49567":{"*":{"id":"41697","name":"*","chunks":[],"async":false}},"52619":{"*":{"id":"65169","name":"*","chunks":[],"async":false}},"57150":{"*":{"id":"81170","name":"*","chunks":[],"async":false}},"57581":{"*":{"id":"64285","name":"*","chunks":[],"async":false}},"63886":{"*":{"id":"89748","name":"*","chunks":[],"async":false}},"69612":{"*":{"id":"4001","name":"*","chunks":[],"async":false}},"77549":{"*":{"id":"62035","name":"*","chunks":[],"async":false}},"80622":{"*":{"id":"51384","name":"*","chunks":[],"async":false}},"81959":{"*":{"id":"23597","name":"*","chunks":[],"async":false}},"91107":{"*":{"id":"84701","name":"*","chunks":[],"async":false}},"98924":{"*":{"id":"69576","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
@@ -1,2 +1,2 @@
1
1
  (()=>{var a={};a.id=893,a.ids=[893],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4514:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>D.a,__next_app__:()=>J,handler:()=>L,pages:()=>I,routeModule:()=>K,tree:()=>H});var d=c(49754),e=c(9117),f=c(46595),g=c(32324),h=c(39326),i=c(38928),j=c(20175),k=c(12),l=c(54290),m=c(12696),n=c(82802),o=c(77533),p=c(45229),q=c(32822),r=c(261),s=c(26453),t=c(52474),u=c(26713),v=c(51356),w=c(62685),x=c(36225),y=c(63446),z=c(2762),A=c(45742),B=c(86439),C=c(81170),D=c.n(C),E=c(62506),F=c(91203),G={};for(let a in E)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(G[a]=()=>E[a]);c.d(b,G);let H={children:["",{children:["projects",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,35743)),"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/projects/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(c.bind(c,25088)),"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/layout.tsx"],error:[()=>Promise.resolve().then(c.bind(c,41697)),"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/error.tsx"],loading:[()=>Promise.resolve().then(c.bind(c,90391)),"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/loading.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,81170,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,87028,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,90461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,32768,23)),"next/dist/client/components/builtin/unauthorized.js"]}]}.children,I=["/Users/zuopeng.cheng/personal/workspace/ccgauge/app/projects/page.tsx"],J={require:c,loadChunk:()=>Promise.resolve()},K=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/projects/page",pathname:"/projects",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:H},distDir:".next",relativeProjectDir:""});async function L(a,b,d){var C;let G="/projects/page";"/index"===G&&(G="/");let M=(0,h.getRequestMeta)(a,"postponed"),N=(0,h.getRequestMeta)(a,"minimalMode"),O=await K.prepare(a,b,{srcPage:G,multiZoneDraftMode:!1});if(!O)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:P,query:Q,params:R,parsedUrl:S,pageIsDynamic:T,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,serverActionsManifest:X,clientReferenceManifest:Y,subresourceIntegrityManifest:Z,prerenderManifest:$,isDraftMode:_,resolvedPathname:aa,revalidateOnlyGenerated:ab,routerServerContext:ac,nextConfig:ad,interceptionRoutePatterns:ae}=O,af=S.pathname||"/",ag=(0,r.normalizeAppPath)(G),{isOnDemandRevalidate:ah}=O,ai=K.match(af,$),aj=!!$.routes[aa],ak=!!(ai||aj||$.routes[ag]),al=a.headers["user-agent"]||"",am=(0,u.getBotType)(al),an=(0,p.isHtmlBotRequest)(a),ao=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],ap=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[t.RSC_HEADER],aq=(0,s.getIsPossibleServerAction)(a),ar=(0,m.checkIsAppPPREnabled)(ad.experimental.ppr)&&(null==(C=$.routes[ag]??$.dynamicRoutes[ag])?void 0:C.renderingMode)==="PARTIALLY_STATIC",as=!1,at=!1,au=ar?M:void 0,av=ar&&ap&&!ao,aw=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ax=!al||(0,p.shouldServeStreamingMetadata)(al,ad.htmlLimitedBots);an&&ar&&(ak=!1,ax=!1);let ay=!0===K.isDev||!ak||"string"==typeof M||av,az=an&&ar,aA=null;_||!ak||ay||aq||au||av||(aA=aa);let aB=aA;!aB&&K.isDev&&(aB=aa),K.isDev||_||!ak||!ap||av||(0,k.d)(a.headers);let aC={...E,tree:H,pages:I,GlobalError:D(),handler:L,routeModule:K,__next_app__:J};X&&Y&&(0,o.setReferenceManifestsSingleton)({page:G,clientReferenceManifest:Y,serverActionsManifest:X,serverModuleMap:(0,q.createServerModuleMap)({serverActionsManifest:X})});let aD=a.method||"GET",aE=(0,g.getTracer)(),aF=aE.getActiveScopeSpan();try{let f=K.getVaryHeader(aa,ae);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return K.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aE.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aD} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aD} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:Q,params:R,page:ag,sharedContext:{buildId:P},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aC,Component:(0,j.T)(aC),params:R,routeModule:K,page:G,postponed:f,shouldWaitOnAllReady:az,serveStreamingMetadata:ax,supportsDynamicResponse:"string"==typeof f||ay,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,subresourceIntegrityManifest:Z,serverActionsManifest:X,clientReferenceManifest:Y,setIsrStatus:null==ac?void 0:ac.setIsrStatus,dir:c(33873).join(process.cwd(),K.relativeProjectDir),isDraftMode:_,isRevalidate:ak&&!f&&!av,botType:am,isOnDemandRevalidate:ah,isPossibleServerAction:aq,assetPrefix:ad.assetPrefix,nextConfigOutput:ad.output,crossOrigin:ad.crossOrigin,trailingSlash:ad.trailingSlash,previewProps:$.preview,deploymentId:ad.deploymentId,enableTainting:ad.experimental.taint,htmlLimitedBots:ad.htmlLimitedBots,devtoolSegmentExplorer:ad.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ad.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ad.experimental.cacheLife,basePath:ad.basePath,serverActions:ad.experimental.serverActions,...as?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:as}:{},experimental:{isRoutePPREnabled:ar,expireTime:ad.expireTime,staleTimes:ad.experimental.staleTimes,cacheComponents:!!ad.experimental.cacheComponents,clientSegmentCache:!!ad.experimental.clientSegmentCache,clientParamParsing:!!ad.experimental.clientParamParsing,dynamicOnHover:!!ad.experimental.dynamicOnHover,inlineCss:!!ad.experimental.inlineCss,authInterrupts:!!ad.experimental.authInterrupts,clientTraceMetadata:ad.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>K.onRequestError(a,b,d,ac),err:(0,h.getRequestMeta)(a,"invokeError"),dev:K.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[y.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,ak&&(null==n?void 0:n.revalidate)===0&&!K.isDev&&!ar){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${aa}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
- see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},o=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===K.isDev,l=c||b.writableEnded;if(ah&&ab&&!f&&!N)return(null==ac?void 0:ac.render404)?await ac.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ai&&(j=(0,w.parseFallbackField)(ai.fallback)),j===w.FallbackMode.PRERENDER&&(0,u.isBot)(al)&&(!ar||an)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ah=!0),ah&&(j!==w.FallbackMode.NOT_FOUND||f)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),!N&&j!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aB&&!l&&!_&&T&&(k||!aj)){let b;if((k||ai)&&j===w.FallbackMode.NOT_FOUND)throw new B.NoFallbackError;if(ar&&!ap){let c="string"==typeof(null==ai?void 0:ai.fallback)?ai.fallback:k?ag:null;if(b=await K.handleResponse({cacheKey:c,req:a,nextConfig:ad,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:$,isRoutePPREnabled:ar,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||at?(0,n.u)(ag):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let o=ah||g||!au?void 0:au;if(as&&void 0!==o)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=T&&ar&&((0,h.getRequestMeta)(a,"renderFallbackShell")||at)?(0,n.u)(af):null;return m({span:i,postponed:o,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,n=await K.handleResponse({cacheKey:aA,responseGenerator:a=>o({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ah,isRoutePPREnabled:ar,req:a,nextConfig:ad,prerenderManifest:$,waitUntil:d.waitUntil});if(_&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),K.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!n){if(aA)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof n.value.postponed;ak&&!av&&(!p||ao)&&(N||b.setHeader("x-nextjs-cache",ah?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=n;if(au)l={revalidate:0,expire:void 0};else if(N&&ap&&!ao&&ar)l={revalidate:0,expire:void 0};else if(!K.isDev)if(_)l={revalidate:0,expire:void 0};else if(ak){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??ad.expireTime}}else l={revalidate:y.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(n.cacheControl=l,"string"==typeof aw&&(null==q?void 0:q.kind)===v.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];N&&ak&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(aw);return void 0!==d?(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...n,value:{...n.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&au)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(N&&ak||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(N&&ak&&s&&"string"==typeof s&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,s),!q.status||ap&&ar||(b.statusCode=q.status),!N&&q.status&&F.RedirectStatusCode[q.status]&&ap&&(b.statusCode=200),p&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),ap&&!_){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:q.html,cacheControl:av?{revalidate:0,expire:void 0}:n.cacheControl})}return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(q.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let u=q.html;if(!p||N||ap)return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:n.cacheControl});if(as)return u.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}});let w=new TransformStream;return u.push(w.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(w.writable)}).catch(a=>{w.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}})};if(!aF)return await aE.withPropagatedContext(a.headers,()=>aE.trace(i.BaseServerSpan.handleRequest,{spanName:`${aD} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aD,"http.target":a.url}},p));await p(aF)}catch(b){throw b instanceof B.NoFallbackError||await K.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:ak,isOnDemandRevalidate:ah})},ac),b}}},6567:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,3991,23))},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},35743:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>p,dynamic:()=>n,revalidate:()=>o});var d=c(75338),e=c(65169),f=c.n(e),g=c(27520),h=c(67803),i=c(37583),j=c(95012),k=c(91719),l=c(46796),m=c(60704);let n="force-dynamic",o=0;async function p({searchParams:a}){let b=await a,c=await (0,l.ev)(b.source),e=await (0,k.yO)(),n=await (0,k.sG)(),o=await (0,g.So)(),p=(0,l.rY)(o.records,c),r=(0,m.sO)(c),s=a=>r.shortenModel(a);if(0===p.length)return(0,d.jsx)(i.qK,{title:e("projects.title"),children:(0,d.jsx)(i.pp,{title:e("projects.empty")})});let t=(0,h.OJ)(p,{source:c}),u=t.reduce((a,b)=>a+b.cost,0);return(0,d.jsx)(i.qK,{title:e("projects.title"),desc:e("projects.subtitle",{count:t.length}),children:(0,d.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:t.map(a=>{let b=u>0?a.cost/u:0;return(0,d.jsxs)(f(),{href:`/projects/${encodeURIComponent(a.cwd)}?source=${c}`,className:"card card-pad hover:border-border-hi transition-colors group",children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("div",{className:"font-semibold text-text-primary truncate group-hover:text-brand transition-colors",children:a.projectName}),(0,d.jsx)("div",{className:"text-xs text-text-tertiary truncate mt-0.5",title:a.cwd,children:a.cwd})]}),(0,d.jsx)("div",{className:"num-mono text-text-primary text-right whitespace-nowrap",children:(0,j.az)(a.cost)})]}),(0,d.jsxs)("div",{className:"mt-4 grid grid-cols-3 gap-2 text-xs",children:[(0,d.jsx)(q,{label:e("projects.stat.sessions"),value:a.sessions}),(0,d.jsx)(q,{label:e("projects.stat.requests"),value:a.requests}),(0,d.jsx)(q,{label:e("projects.stat.tokens"),value:(0,j.jh)(a.totalTokens,n)})]}),(0,d.jsx)("div",{className:"mt-4 h-1.5 bg-bg-surface-hi rounded overflow-hidden",children:(0,d.jsx)("div",{className:"h-full bg-brand rounded",style:{width:`${100*b}%`}})}),(0,d.jsxs)("div",{className:"mt-3 flex items-center justify-between text-xs text-text-tertiary gap-2",children:[(0,d.jsxs)("span",{className:"whitespace-nowrap",children:[e("common.lastActivity")," ",(0,j.om)(a.lastActivity,n)]}),(0,d.jsx)("span",{className:"truncate",children:a.models.map(s).join(", ")})]})]},a.cwd)})})})}function q({label:a,value:b}){return(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-text-tertiary",children:a}),(0,d.jsx)("div",{className:"num-mono text-text-primary mt-0.5",children:b})]})}},37583:(a,b,c)=>{"use strict";c.d(b,{pp:()=>h,qK:()=>g,wn:()=>f});var d=c(75338),e=c(95012);function f({title:a,desc:b,right:c,children:f,className:g}){return(0,d.jsxs)("section",{className:(0,e.cn)("card",g),children:[(a||c)&&(0,d.jsxs)("header",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-3 sm:gap-4 px-4 sm:px-6 pt-4 sm:pt-5 pb-3 border-b border-border",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[a&&(0,d.jsx)("h2",{className:"text-base font-semibold text-text-primary tracking-tight",children:a}),b&&(0,d.jsx)("p",{className:"text-xs text-text-secondary mt-1",children:b})]}),c&&(0,d.jsx)("div",{className:"flex items-center gap-2 flex-wrap",children:c})]}),(0,d.jsx)("div",{className:"p-4 sm:p-6",children:f})]})}function g({title:a,desc:b,right:c,children:e}){return(0,d.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 py-6 sm:py-8 space-y-6",children:[(0,d.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-end sm:justify-between gap-3 sm:gap-4",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold tracking-tight truncate",children:a}),b&&(0,d.jsx)("p",{className:"text-sm text-text-secondary mt-1",children:b})]}),c&&(0,d.jsx)("div",{className:"flex items-center gap-2 flex-wrap",children:c})]}),e]})}function h({title:a,desc:b}){return(0,d.jsxs)("div",{className:"card card-pad text-center py-16",children:[(0,d.jsx)("div",{className:"text-base font-medium text-text-secondary",children:a}),b&&(0,d.jsx)("div",{className:"text-sm text-text-tertiary mt-2",children:b})]})}},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},48161:a=>{"use strict";a.exports=require("node:os")},50160:(a,b,c)=>{"use strict";c.d(b,{SI:()=>e});var d=c(60704);function e(a){let b=(0,d.sO)(a.source),{pricing:c}=b.resolvePricing(a.model);return b.costFromUsage(a.usage,c)}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},65169:(a,b,c)=>{let{createProxy:d}=c(39893);a.exports=d("/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/app-dir/link.js")},67803:(a,b,c)=>{"use strict";c.d(b,{$M:()=>l,OJ:()=>j,a6:()=>h,a9:()=>i,pb:()=>k});var d=c(50160),e=c(60704),f=c(95012);function g(a,b){return!(a.source!==b.source||b.from&&a.timestamp<b.from.toISOString()||b.to&&a.timestamp>b.to.toISOString())&&(!b.models||!b.models.length||!!b.models.includes(a.model))&&(!b.projects||!b.projects.length||!!b.projects.includes(a.cwd))}function h(a,b,c){let e=new Map;for(let f of a){if(!g(f,c))continue;let{key:a,label:h}=function(a,b){let c=new Date(a),d=c.getFullYear(),e=String(c.getMonth()+1).padStart(2,"0"),f=String(c.getDate()).padStart(2,"0"),g=String(c.getHours()).padStart(2,"0");if("hour"===b)return{key:`${d}-${e}-${f}T${g}`,label:`${e}/${f} ${g}:00`};if("day"===b)return{key:`${d}-${e}-${f}`,label:`${e}/${f}`};if("week"===b){let a=new Date(c),b=a.getDay()||7;a.setDate(a.getDate()-b+1);let d=String(a.getMonth()+1).padStart(2,"0"),e=String(a.getDate()).padStart(2,"0");return{key:`${a.getFullYear()}-W${d}${e}`,label:`Wk ${d}/${e}`}}return{key:`${d}-${e}`,label:`${d}-${e}`}}(f.timestamp,b),i=e.get(a);i||(i={key:a,label:h,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,requests:0,models:{}},e.set(a,i)),function(a,b){let c=(0,d.SI)(b);a.inputTokens+=b.usage.input_tokens,a.outputTokens+=b.usage.output_tokens,a.cacheReadTokens+=b.usage.cache_read_input_tokens,a.cacheCreationTokens+=b.usage.cache_creation_input_tokens,a.totalTokens=a.inputTokens+a.outputTokens+a.cacheReadTokens+a.cacheCreationTokens,a.cost+=c.total,a.saved+=c.saved,a.requests+=1;let e=a.models[b.model]??{tokens:0,cost:0,requests:0};e.tokens+=b.usage.input_tokens+b.usage.output_tokens+b.usage.cache_read_input_tokens+b.usage.cache_creation_input_tokens,e.cost+=c.total,e.requests+=1,a.models[b.model]=e}(i,f)}return Array.from(e.values()).sort((a,b)=>a.key.localeCompare(b.key))}function i(a,b){let c=new Map;for(let f of a){if(!g(f,b))continue;let a=c.get(f.model);if(!a){let{pricing:b,matchType:d}=(0,e.sO)(f.source).resolvePricing(f.model);a={model:f.model,source:f.source,requests:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,pricing:b,pricingResolved:"exact"===d||"date-stripped"===d||"prefix-stripped"===d},c.set(f.model,a)}let h=(0,d.SI)(f);a.requests+=1,a.inputTokens+=f.usage.input_tokens,a.outputTokens+=f.usage.output_tokens,a.cacheReadTokens+=f.usage.cache_read_input_tokens,a.cacheCreationTokens+=f.usage.cache_creation_input_tokens,a.totalTokens=a.inputTokens+a.outputTokens+a.cacheReadTokens+a.cacheCreationTokens,a.cost+=h.total,a.saved+=h.saved}return Array.from(c.values()).sort((a,b)=>b.cost-a.cost)}function j(a,b){let c=new Map,e=new Map;for(let h of a){if(!g(h,b))continue;let a=h.cwd||"(unknown)",i=c.get(a);i||(i={cwd:a,projectName:(0,f.PJ)(a),sessions:0,requests:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,firstActivity:h.timestamp,lastActivity:h.timestamp,models:[]},c.set(a,i),e.set(a,new Set)),e.get(a).add(h.sessionId);let j=(0,d.SI)(h);i.requests+=1,i.inputTokens+=h.usage.input_tokens,i.outputTokens+=h.usage.output_tokens,i.cacheReadTokens+=h.usage.cache_read_input_tokens,i.cacheCreationTokens+=h.usage.cache_creation_input_tokens,i.totalTokens=i.inputTokens+i.outputTokens+i.cacheReadTokens+i.cacheCreationTokens,i.cost+=j.total,i.saved+=j.saved,h.timestamp<i.firstActivity&&(i.firstActivity=h.timestamp),h.timestamp>i.lastActivity&&(i.lastActivity=h.timestamp),i.models.includes(h.model)||i.models.push(h.model)}for(let[a,b]of e)c.get(a).sessions=b.size;return Array.from(c.values()).sort((a,b)=>b.cost-a.cost)}function k(a,b,c){let e=new Map;for(let b of a){if(!g(b,c))continue;let a=b.sessionId||b.uuid,h=e.get(a);h||(h={sessionId:a,cwd:b.cwd,projectName:(0,f.PJ)(b.cwd),startTime:b.timestamp,endTime:b.timestamp,durationMs:0,requests:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,models:[],modelBreakdown:{}},e.set(a,h));let i=(0,d.SI)(b);h.requests+=1,h.inputTokens+=b.usage.input_tokens,h.outputTokens+=b.usage.output_tokens,h.cacheReadTokens+=b.usage.cache_read_input_tokens,h.cacheCreationTokens+=b.usage.cache_creation_input_tokens,h.totalTokens=h.inputTokens+h.outputTokens+h.cacheReadTokens+h.cacheCreationTokens,h.cost+=i.total,h.saved+=i.saved,b.timestamp<h.startTime&&(h.startTime=b.timestamp),b.timestamp>h.endTime&&(h.endTime=b.timestamp),h.models.includes(b.model)||h.models.push(b.model);let j=h.modelBreakdown[b.model]??{tokens:0,cost:0,requests:0};j.tokens+=b.usage.input_tokens+b.usage.output_tokens+b.usage.cache_read_input_tokens+b.usage.cache_creation_input_tokens,j.cost+=i.total,j.requests+=1,h.modelBreakdown[b.model]=j}let h=new Map;for(let a of b){let b=h.get(a.sessionId);(!b||a.timestamp<b.timestamp)&&h.set(a.sessionId,a)}for(let a of e.values()){a.durationMs=Math.max(0,new Date(a.endTime).getTime()-new Date(a.startTime).getTime());let b=h.get(a.sessionId);b&&b.textPreview&&(a.firstUserMessage=b.textPreview,a.title=b.textPreview.slice(0,80))}return Array.from(e.values()).sort((a,b)=>b.endTime.localeCompare(a.endTime))}function l(a,b){let c=0,e=0,f=0,h=0,i=0,j=0,k=0;for(let l of a){if(!g(l,b))continue;let a=(0,d.SI)(l);c+=l.usage.input_tokens,e+=l.usage.output_tokens,f+=l.usage.cache_read_input_tokens,h+=l.usage.cache_creation_input_tokens,i+=a.total,j+=a.saved,k+=1}return{inputTokens:c,outputTokens:e,cacheReadTokens:f,cacheCreationTokens:h,totalTokens:c+e+f+h,cost:i,saved:j,requests:k}}},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},80481:a=>{"use strict";a.exports=require("node:readline")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},98319:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,65169,23))}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[331,802,153,993,716,520,426],()=>b(b.s=4514));module.exports=c})();
2
+ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},o=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===K.isDev,l=c||b.writableEnded;if(ah&&ab&&!f&&!N)return(null==ac?void 0:ac.render404)?await ac.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ai&&(j=(0,w.parseFallbackField)(ai.fallback)),j===w.FallbackMode.PRERENDER&&(0,u.isBot)(al)&&(!ar||an)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ah=!0),ah&&(j!==w.FallbackMode.NOT_FOUND||f)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),!N&&j!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aB&&!l&&!_&&T&&(k||!aj)){let b;if((k||ai)&&j===w.FallbackMode.NOT_FOUND)throw new B.NoFallbackError;if(ar&&!ap){let c="string"==typeof(null==ai?void 0:ai.fallback)?ai.fallback:k?ag:null;if(b=await K.handleResponse({cacheKey:c,req:a,nextConfig:ad,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:$,isRoutePPREnabled:ar,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||at?(0,n.u)(ag):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let o=ah||g||!au?void 0:au;if(as&&void 0!==o)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=T&&ar&&((0,h.getRequestMeta)(a,"renderFallbackShell")||at)?(0,n.u)(af):null;return m({span:i,postponed:o,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,n=await K.handleResponse({cacheKey:aA,responseGenerator:a=>o({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ah,isRoutePPREnabled:ar,req:a,nextConfig:ad,prerenderManifest:$,waitUntil:d.waitUntil});if(_&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),K.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!n){if(aA)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof n.value.postponed;ak&&!av&&(!p||ao)&&(N||b.setHeader("x-nextjs-cache",ah?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=n;if(au)l={revalidate:0,expire:void 0};else if(N&&ap&&!ao&&ar)l={revalidate:0,expire:void 0};else if(!K.isDev)if(_)l={revalidate:0,expire:void 0};else if(ak){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??ad.expireTime}}else l={revalidate:y.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(n.cacheControl=l,"string"==typeof aw&&(null==q?void 0:q.kind)===v.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];N&&ak&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(aw);return void 0!==d?(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...n,value:{...n.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&au)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(N&&ak||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(N&&ak&&s&&"string"==typeof s&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,s),!q.status||ap&&ar||(b.statusCode=q.status),!N&&q.status&&F.RedirectStatusCode[q.status]&&ap&&(b.statusCode=200),p&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),ap&&!_){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:q.html,cacheControl:av?{revalidate:0,expire:void 0}:n.cacheControl})}return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(q.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let u=q.html;if(!p||N||ap)return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:n.cacheControl});if(as)return u.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}});let w=new TransformStream;return u.push(w.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(w.writable)}).catch(a=>{w.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}})};if(!aF)return await aE.withPropagatedContext(a.headers,()=>aE.trace(i.BaseServerSpan.handleRequest,{spanName:`${aD} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aD,"http.target":a.url}},p));await p(aF)}catch(b){throw b instanceof B.NoFallbackError||await K.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:ak,isOnDemandRevalidate:ah})},ac),b}}},6567:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,3991,23))},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},35743:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>p,dynamic:()=>n,revalidate:()=>o});var d=c(75338),e=c(65169),f=c.n(e),g=c(27520),h=c(67803),i=c(37583),j=c(95012),k=c(91719),l=c(46796),m=c(60704);let n="force-dynamic",o=0;async function p({searchParams:a}){let b=await a,c=await (0,l.ev)(b.source),e=await (0,k.yO)(),n=await (0,k.sG)(),o=await (0,g.So)(),p=(0,l.rY)(o.records,c),r=(0,m.sO)(c),s=a=>r.shortenModel(a);if(0===p.length)return(0,d.jsx)(i.qK,{title:e("projects.title"),children:(0,d.jsx)(i.pp,{title:e("projects.empty")})});let t=(0,h.OJ)(p,{source:c}),u=t.reduce((a,b)=>a+b.cost,0);return(0,d.jsx)(i.qK,{title:e("projects.title"),desc:e("projects.subtitle",{count:t.length}),children:(0,d.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:t.map(a=>{let b=u>0?a.cost/u:0;return(0,d.jsxs)(f(),{href:`/projects/${encodeURIComponent(a.cwd)}?source=${c}`,className:"card card-pad hover:border-border-hi transition-colors group",children:[(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("div",{className:"font-semibold text-text-primary truncate group-hover:text-brand transition-colors",children:a.projectName}),(0,d.jsx)("div",{className:"text-xs text-text-tertiary truncate mt-0.5",title:a.cwd,children:a.cwd})]}),(0,d.jsx)("div",{className:"num-mono text-text-primary text-right whitespace-nowrap",children:(0,j.az)(a.cost)})]}),(0,d.jsxs)("div",{className:"mt-4 grid grid-cols-3 gap-2 text-xs",children:[(0,d.jsx)(q,{label:e("projects.stat.sessions"),value:a.sessions}),(0,d.jsx)(q,{label:e("projects.stat.requests"),value:a.requests}),(0,d.jsx)(q,{label:e("projects.stat.tokens"),value:(0,j.jh)(a.totalTokens,n)})]}),(0,d.jsx)("div",{className:"mt-4 h-1.5 bg-bg-surface-hi rounded overflow-hidden",children:(0,d.jsx)("div",{className:"h-full bg-brand rounded",style:{width:`${100*b}%`}})}),(0,d.jsxs)("div",{className:"mt-3 flex items-center justify-between text-xs text-text-tertiary gap-2",children:[(0,d.jsxs)("span",{className:"whitespace-nowrap",children:[e("common.lastActivity")," ",(0,j.om)(a.lastActivity,n)]}),(0,d.jsx)("span",{className:"truncate",children:a.models.map(s).join(", ")})]})]},a.cwd)})})})}function q({label:a,value:b}){return(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-text-tertiary",children:a}),(0,d.jsx)("div",{className:"num-mono text-text-primary mt-0.5",children:b})]})}},37583:(a,b,c)=>{"use strict";c.d(b,{pp:()=>h,qK:()=>g,wn:()=>f});var d=c(75338),e=c(95012);function f({title:a,desc:b,right:c,children:f,className:g,inlineDesc:h,fillBody:i}){return(0,d.jsxs)("section",{className:(0,e.cn)("card overflow-hidden mt-3",i&&"flex flex-col",g),children:[(a||c)&&(0,d.jsxs)("header",{className:(0,e.cn)("section-header","flex flex-col sm:flex-row sm:items-start sm:justify-between gap-3 sm:gap-4","px-5 sm:px-6 pt-4 sm:pt-5 pb-3 border-b border-border"),children:[(0,d.jsxs)("div",{className:(0,e.cn)("min-w-0",h&&"sm:flex sm:items-baseline sm:gap-2.5"),children:[a&&(0,d.jsx)("h2",{className:"text-[15px] font-semibold text-text-primary tracking-tight leading-tight",children:a}),b&&(0,d.jsx)("p",{className:(0,e.cn)("text-xs text-text-secondary leading-relaxed",h?"mt-1 sm:mt-0":"mt-1.5"),children:b})]}),c&&(0,d.jsx)("div",{className:"flex items-center gap-2 flex-wrap",children:c})]}),(0,d.jsx)("div",{className:(0,e.cn)("p-5 sm:p-6",i&&"flex-1 flex flex-col"),children:f})]})}function g({title:a,desc:b,right:c,children:e}){return(0,d.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 py-6 sm:py-8 space-y-5 sm:space-y-6",children:[(0,d.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-end sm:justify-between gap-3 sm:gap-4",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("h1",{className:"text-2xl sm:text-[1.75rem] font-semibold tracking-tight leading-tight truncate",children:a}),b&&(0,d.jsx)("p",{className:"text-sm text-text-secondary mt-1.5 leading-relaxed",children:b})]}),c&&(0,d.jsx)("div",{className:"flex items-center gap-2 flex-wrap",children:c})]}),e]})}function h({title:a,desc:b,icon:c,action:e}){return(0,d.jsxs)("div",{className:"card text-center py-14 sm:py-16 px-6 flex flex-col items-center gap-3",children:[(0,d.jsx)("div",{className:"w-12 h-12 rounded-full bg-bg-surface-hi border border-border flex items-center justify-center text-text-tertiary",children:c??(0,d.jsx)(i,{})}),(0,d.jsx)("div",{className:"text-base font-medium text-text-primary",children:a}),b&&(0,d.jsx)("div",{className:"text-sm text-text-tertiary max-w-md leading-relaxed",children:b}),e&&(0,d.jsx)("div",{className:"mt-2",children:e})]})}function i(){return(0,d.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,d.jsx)("path",{d:"M9 9h.01M15 9h.01M9 15c1 1 2 1.5 3 1.5s2-.5 3-1.5"})]})}},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},48161:a=>{"use strict";a.exports=require("node:os")},50160:(a,b,c)=>{"use strict";c.d(b,{SI:()=>e});var d=c(60704);function e(a){let b=(0,d.sO)(a.source),{pricing:c}=b.resolvePricing(a.model);return b.costFromUsage(a.usage,c)}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},65169:(a,b,c)=>{let{createProxy:d}=c(39893);a.exports=d("/Users/zuopeng.cheng/personal/workspace/ccgauge/node_modules/next/dist/client/app-dir/link.js")},67803:(a,b,c)=>{"use strict";c.d(b,{$M:()=>n,OJ:()=>l,a6:()=>j,a9:()=>k,bo:()=>h,pb:()=>m});var d=c(50160),e=c(60704),f=c(95012);let g=["hour","day","week","month"];function h(a){return"string"==typeof a&&g.includes(a)}function i(a,b){return!(a.source!==b.source||b.from&&a.timestamp<b.from.toISOString()||b.to&&a.timestamp>b.to.toISOString())&&(!b.models||!b.models.length||!!b.models.includes(a.model))&&(!b.projects||!b.projects.length||!!b.projects.includes(a.cwd))}function j(a,b,c){let e=new Map;for(let f of a){if(!i(f,c))continue;let{key:a,label:g}=function(a,b){let c=new Date(a),d=c.getFullYear(),e=String(c.getMonth()+1).padStart(2,"0"),f=String(c.getDate()).padStart(2,"0"),g=String(c.getHours()).padStart(2,"0");if("hour"===b)return{key:`${d}-${e}-${f}T${g}`,label:`${e}/${f} ${g}:00`};if("day"===b)return{key:`${d}-${e}-${f}`,label:`${e}/${f}`};if("week"===b){let a=new Date(c),b=a.getDay()||7;a.setDate(a.getDate()-b+1);let d=String(a.getMonth()+1).padStart(2,"0"),e=String(a.getDate()).padStart(2,"0");return{key:`${a.getFullYear()}-W${d}${e}`,label:`Wk ${d}/${e}`}}return{key:`${d}-${e}`,label:`${d}-${e}`}}(f.timestamp,b),h=e.get(a);h||(h={key:a,label:g,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,requests:0,models:{}},e.set(a,h)),function(a,b){let c=(0,d.SI)(b);a.inputTokens+=b.usage.input_tokens,a.outputTokens+=b.usage.output_tokens,a.cacheReadTokens+=b.usage.cache_read_input_tokens,a.cacheCreationTokens+=b.usage.cache_creation_input_tokens,a.totalTokens=a.inputTokens+a.outputTokens+a.cacheReadTokens+a.cacheCreationTokens,a.cost+=c.total,a.saved+=c.saved,a.requests+=1;let e=a.models[b.model]??{tokens:0,cost:0,requests:0};e.tokens+=b.usage.input_tokens+b.usage.output_tokens+b.usage.cache_read_input_tokens+b.usage.cache_creation_input_tokens,e.cost+=c.total,e.requests+=1,a.models[b.model]=e}(h,f)}return Array.from(e.values()).sort((a,b)=>a.key.localeCompare(b.key))}function k(a,b){let c=new Map;for(let f of a){if(!i(f,b))continue;let a=c.get(f.model);if(!a){let{pricing:b,matchType:d}=(0,e.sO)(f.source).resolvePricing(f.model);a={model:f.model,source:f.source,requests:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,pricing:b,pricingResolved:"exact"===d||"date-stripped"===d||"prefix-stripped"===d},c.set(f.model,a)}let g=(0,d.SI)(f);a.requests+=1,a.inputTokens+=f.usage.input_tokens,a.outputTokens+=f.usage.output_tokens,a.cacheReadTokens+=f.usage.cache_read_input_tokens,a.cacheCreationTokens+=f.usage.cache_creation_input_tokens,a.totalTokens=a.inputTokens+a.outputTokens+a.cacheReadTokens+a.cacheCreationTokens,a.cost+=g.total,a.saved+=g.saved}return Array.from(c.values()).sort((a,b)=>b.cost-a.cost)}function l(a,b){let c=new Map,e=new Map;for(let g of a){if(!i(g,b))continue;let a=g.cwd||"(unknown)",h=c.get(a);h||(h={cwd:a,projectName:(0,f.PJ)(a),sessions:0,requests:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,firstActivity:g.timestamp,lastActivity:g.timestamp,models:[]},c.set(a,h),e.set(a,new Set)),e.get(a).add(g.sessionId);let j=(0,d.SI)(g);h.requests+=1,h.inputTokens+=g.usage.input_tokens,h.outputTokens+=g.usage.output_tokens,h.cacheReadTokens+=g.usage.cache_read_input_tokens,h.cacheCreationTokens+=g.usage.cache_creation_input_tokens,h.totalTokens=h.inputTokens+h.outputTokens+h.cacheReadTokens+h.cacheCreationTokens,h.cost+=j.total,h.saved+=j.saved,g.timestamp<h.firstActivity&&(h.firstActivity=g.timestamp),g.timestamp>h.lastActivity&&(h.lastActivity=g.timestamp),h.models.includes(g.model)||h.models.push(g.model)}for(let[a,b]of e)c.get(a).sessions=b.size;return Array.from(c.values()).sort((a,b)=>b.cost-a.cost)}function m(a,b,c){let e=new Map;for(let b of a){if(!i(b,c))continue;let a=b.sessionId||b.uuid,g=e.get(a);g||(g={sessionId:a,cwd:b.cwd,projectName:(0,f.PJ)(b.cwd),startTime:b.timestamp,endTime:b.timestamp,durationMs:0,requests:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,models:[],modelBreakdown:{}},e.set(a,g));let h=(0,d.SI)(b);g.requests+=1,g.inputTokens+=b.usage.input_tokens,g.outputTokens+=b.usage.output_tokens,g.cacheReadTokens+=b.usage.cache_read_input_tokens,g.cacheCreationTokens+=b.usage.cache_creation_input_tokens,g.totalTokens=g.inputTokens+g.outputTokens+g.cacheReadTokens+g.cacheCreationTokens,g.cost+=h.total,g.saved+=h.saved,b.timestamp<g.startTime&&(g.startTime=b.timestamp),b.timestamp>g.endTime&&(g.endTime=b.timestamp),g.models.includes(b.model)||g.models.push(b.model);let j=g.modelBreakdown[b.model]??{tokens:0,cost:0,requests:0};j.tokens+=b.usage.input_tokens+b.usage.output_tokens+b.usage.cache_read_input_tokens+b.usage.cache_creation_input_tokens,j.cost+=h.total,j.requests+=1,g.modelBreakdown[b.model]=j}let g=new Map;for(let a of b){let b=g.get(a.sessionId);(!b||a.timestamp<b.timestamp)&&g.set(a.sessionId,a)}for(let a of e.values()){a.durationMs=Math.max(0,new Date(a.endTime).getTime()-new Date(a.startTime).getTime());let b=g.get(a.sessionId);b&&b.textPreview&&(a.firstUserMessage=b.textPreview,a.title=b.textPreview.slice(0,80))}return Array.from(e.values()).sort((a,b)=>b.endTime.localeCompare(a.endTime))}function n(a,b){let c=0,e=0,f=0,g=0,h=0,j=0,k=0;for(let l of a){if(!i(l,b))continue;let a=(0,d.SI)(l);c+=l.usage.input_tokens,e+=l.usage.output_tokens,f+=l.usage.cache_read_input_tokens,g+=l.usage.cache_creation_input_tokens,h+=a.total,j+=a.saved,k+=1}return{inputTokens:c,outputTokens:e,cacheReadTokens:f,cacheCreationTokens:g,totalTokens:c+e+f+g,cost:h,saved:j,requests:k}}},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},80481:a=>{"use strict";a.exports=require("node:readline")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},98319:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,65169,23))}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[331,802,153,993,716,520,426],()=>b(b.s=4514));module.exports=c})();