ccgauge 1.0.3 → 1.0.5
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.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-build-manifest.json +42 -42
- package/.next/standalone/.next/app-path-routes-manifest.json +9 -9
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/server/app/_not-found/page.js +2 -2
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/blocks/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/export/usage/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/route.js +1 -1
- package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/scan/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/usage/route.js +1 -1
- package/.next/standalone/.next/server/app/api/usage/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/usage/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/models/page.js +2 -2
- package/.next/standalone/.next/server/app/models/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/models/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/page.js +2 -2
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/[id]/page.js +2 -2
- package/.next/standalone/.next/server/app/projects/[id]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page.js +1 -1
- package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/sessions/[id]/page.js +2 -2
- package/.next/standalone/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/sessions/page.js +1 -1
- package/.next/standalone/.next/server/app/sessions/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/page.js +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/usage/page.js +3 -3
- package/.next/standalone/.next/server/app/usage/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/usage/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +9 -9
- package/.next/standalone/.next/server/chunks/287.js +1 -0
- package/.next/standalone/.next/server/chunks/517.js +1 -1
- package/.next/standalone/.next/server/chunks/567.js +2 -2
- package/.next/standalone/.next/server/chunks/730.js +1 -0
- package/.next/standalone/.next/server/chunks/98.js +1 -1
- package/.next/standalone/.next/server/functions-config-manifest.json +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/static/chunks/148-6c2eaf5508bfe739.js +1 -0
- package/.next/standalone/.next/static/chunks/930-ca5c6f8b5cb6ac3d.js +1 -0
- package/.next/standalone/.next/static/chunks/app/layout-4f3538437c5e8366.js +1 -0
- package/.next/standalone/.next/static/chunks/app/page-3cda7f70ecf5017a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/settings/page-1ba7c4a4c0fae2f8.js +1 -0
- package/.next/standalone/.next/static/css/{406e067663b8b429.css → fbd2c395e5bf32cb.css} +1 -1
- package/.next/standalone/node_modules/next/node_modules/@img/sharp-darwin-arm64/LICENSE +191 -0
- package/.next/standalone/node_modules/next/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
- package/.next/standalone/node_modules/next/node_modules/@img/sharp-darwin-arm64/package.json +40 -0
- package/.next/standalone/node_modules/next/node_modules/@img/sharp-libvips-darwin-arm64/lib/index.js +1 -0
- package/.next/standalone/node_modules/next/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib +0 -0
- package/.next/standalone/node_modules/next/node_modules/@img/sharp-libvips-darwin-arm64/package.json +36 -0
- package/.next/standalone/node_modules/next/node_modules/@img/sharp-libvips-darwin-arm64/versions.json +30 -0
- package/.next/standalone/node_modules/next/node_modules/sharp/lib/channel.js +177 -0
- package/.next/standalone/node_modules/next/node_modules/sharp/lib/colour.js +195 -0
- package/.next/standalone/node_modules/next/node_modules/sharp/lib/composite.js +212 -0
- package/.next/standalone/node_modules/next/node_modules/sharp/lib/constructor.js +499 -0
- package/.next/standalone/node_modules/next/node_modules/sharp/lib/index.js +16 -0
- package/.next/standalone/node_modules/next/node_modules/sharp/lib/input.js +809 -0
- package/.next/standalone/node_modules/next/node_modules/sharp/lib/is.js +143 -0
- package/.next/standalone/node_modules/next/node_modules/sharp/lib/libvips.js +207 -0
- package/.next/standalone/node_modules/next/node_modules/sharp/lib/operation.js +1016 -0
- package/.next/standalone/node_modules/next/node_modules/sharp/lib/output.js +1666 -0
- package/.next/standalone/node_modules/next/node_modules/sharp/lib/resize.js +595 -0
- package/.next/standalone/node_modules/next/node_modules/sharp/lib/sharp.js +121 -0
- package/.next/standalone/node_modules/next/node_modules/sharp/lib/utility.js +291 -0
- package/.next/standalone/node_modules/next/node_modules/sharp/package.json +202 -0
- package/.next/standalone/node_modules/semver/classes/comparator.js +143 -0
- package/.next/standalone/node_modules/semver/classes/range.js +557 -0
- package/.next/standalone/node_modules/semver/classes/semver.js +333 -0
- package/.next/standalone/node_modules/semver/functions/cmp.js +54 -0
- package/.next/standalone/node_modules/semver/functions/coerce.js +62 -0
- package/.next/standalone/node_modules/semver/functions/compare.js +7 -0
- package/.next/standalone/node_modules/semver/functions/eq.js +5 -0
- package/.next/standalone/node_modules/semver/functions/gt.js +5 -0
- package/.next/standalone/node_modules/semver/functions/gte.js +5 -0
- package/.next/standalone/node_modules/semver/functions/lt.js +5 -0
- package/.next/standalone/node_modules/semver/functions/lte.js +5 -0
- package/.next/standalone/node_modules/semver/functions/neq.js +5 -0
- package/.next/standalone/node_modules/semver/functions/parse.js +18 -0
- package/.next/standalone/node_modules/semver/functions/satisfies.js +12 -0
- package/.next/standalone/node_modules/semver/internal/constants.js +37 -0
- package/.next/standalone/node_modules/semver/internal/debug.js +11 -0
- package/.next/standalone/node_modules/semver/internal/identifiers.js +29 -0
- package/.next/standalone/node_modules/semver/internal/lrucache.js +42 -0
- package/.next/standalone/node_modules/semver/internal/parse-options.js +17 -0
- package/.next/standalone/node_modules/semver/internal/re.js +223 -0
- package/.next/standalone/node_modules/semver/package.json +78 -0
- package/.next/standalone/package.json +13 -2
- package/.next/standalone/public/codex-logo.png +0 -0
- package/.next/standalone/public/favicon.svg +19 -5
- package/CHANGELOG.md +287 -0
- package/README.md +8 -2
- package/README.zh-CN.md +11 -4
- package/bin/cli.mjs +404 -92
- package/dist/mcp/server.mjs +16 -16
- package/dist/report/index.mjs +196 -30
- package/package.json +14 -3
- package/.next/standalone/.next/server/chunks/971.js +0 -1
- package/.next/standalone/.next/static/chunks/148-0a1e1b0207b89e3f.js +0 -1
- package/.next/standalone/.next/static/chunks/930-3035d0b294080d0b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/layout-2512ccdfb13aeb17.js +0 -1
- package/.next/standalone/.next/static/chunks/app/page-19d3e77d4aa35a63.js +0 -1
- package/.next/standalone/.next/static/chunks/app/settings/page-cfeb089549c94f88.js +0 -1
- /package/.next/standalone/.next/static/{alqi5oQtTQUdpxp2x0yAt → kdpS1dOlXPsnKYuNBuMt9}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{alqi5oQtTQUdpxp2x0yAt → kdpS1dOlXPsnKYuNBuMt9}/_ssgManifest.js +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
(()=>{var a={};a.id=662,a.ids=[662],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")},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")},29509:(a,b,c)=>{"use strict";c.d(b,{ThemeSwitcher:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call ThemeSwitcher() from the server but ThemeSwitcher 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/theme-switcher.tsx","ThemeSwitcher")},33873:a=>{"use strict";a.exports=require("path")},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",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")},41255:(a,b,c)=>{Promise.resolve().then(c.bind(c,98392)),Promise.resolve().then(c.bind(c,87639)),Promise.resolve().then(c.bind(c,84701)),Promise.resolve().then(c.bind(c,29509))},41573:(a,b,c)=>{"use strict";c.d(b,{H:()=>g});var d=c(21124),e=c(38301),f=c(15514);function g({children:a,className:b}){let c=(0,e.useRef)(null),[g,h]=(0,e.useState)(!1),[i,j]=(0,e.useState)(!1);return(0,d.jsxs)("div",{className:(0,f.cn)("relative",b),children:[(0,d.jsx)("div",{ref:c,className:"overflow-x-auto",children:a}),(0,d.jsx)("div",{"aria-hidden":!0,className:(0,f.cn)("pointer-events-none absolute left-0 top-0 bottom-0 w-8 bg-gradient-to-r from-bg-surface to-transparent transition-opacity duration-150",g?"opacity-100":"opacity-0")}),(0,d.jsx)("div",{"aria-hidden":!0,className:(0,f.cn)("pointer-events-none absolute right-0 top-0 bottom-0 w-8 bg-gradient-to-l from-bg-surface to-transparent transition-opacity duration-150",i?"opacity-100":"opacity-0")})]})}},45362:(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:["settings",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,80027)),"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/settings/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(c.bind(c,67302)),"/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/settings/page.tsx"],J={require:c,loadChunk:()=>Promise.resolve()},K=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/settings/page",pathname:"/settings",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:H},distDir:".next",relativeProjectDir:""});async function L(a,b,d){var C;let G="/settings/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}}},48161:a=>{"use strict";a.exports=require("node:os")},48507:(a,b,c)=>{"use strict";c.d(b,{ScanRefresh:()=>h});var d=c(21124),e=c(38301),f=c(42378),g=c(15519);function h(){let a=(0,g.kj)(),[b,c]=(0,e.useState)(!1),h=(0,f.useRouter)();async function i(){c(!0);try{await fetch("/api/scan",{method:"POST",cache:"no-store"}),h.refresh()}finally{c(!1)}}return(0,d.jsx)("button",{onClick:i,disabled:b,className:"btn",children:a(b?"settings.rescanning":"settings.rescan")})}},60505:(a,b,c)=>{"use strict";c.d(b,{PricingTable:()=>i});var d=c(21124),e=c(38301),f=c(15514),g=c(15519),h=c(41573);function i({rows:a}){let b=(0,g.kj)(),[c,i]=(0,e.useState)(""),[k,l]=(0,e.useState)("model"),[m,n]=(0,e.useState)("asc");function o(a){a===k?n("asc"===m?"desc":"asc"):(l(a),n("model"===a?"asc":"desc"))}let p=(0,e.useMemo)(()=>{let b=c.trim().toLowerCase();return b?a.filter(a=>a.model.toLowerCase().includes(b)||(0,f.P6)(a.model).toLowerCase().includes(b)):a},[a,c]),q=(0,e.useMemo)(()=>{let a=[...p];return a.sort((a,b)=>{if("model"===k){let c=a.model.localeCompare(b.model);return"asc"===m?c:-c}let c=a[k],d=b[k];return c===d?0:"asc"===m?c<d?-1:1:c<d?1:-1}),a},[p,k,m]);return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3 mb-3 flex-wrap",children:[(0,d.jsx)("input",{value:c,onChange:a=>i(a.target.value),placeholder:b("common.searchPlaceholder"),"aria-label":b("common.searchPlaceholder"),className:"px-3 py-1.5 text-sm rounded-button border border-border bg-bg-surface focus:outline-none focus:border-border-hi w-72 placeholder:text-text-tertiary text-text-primary"}),(0,d.jsx)("span",{className:"text-xs text-text-tertiary tabular-nums",children:b("common.rows",{count:q.length.toLocaleString()})})]}),(0,d.jsx)(h.H,{children:(0,d.jsxs)("table",{className:"w-full text-sm",children:[(0,d.jsx)("thead",{children:(0,d.jsxs)("tr",{className:"border-b border-border",children:[(0,d.jsx)(j,{sorted:"model"===k,dir:m,onClick:()=>o("model"),children:b("settings.pricing.col.model")}),(0,d.jsx)(j,{align:"right",sorted:"input"===k,dir:m,onClick:()=>o("input"),children:b("settings.pricing.col.input")}),(0,d.jsx)(j,{align:"right",sorted:"output"===k,dir:m,onClick:()=>o("output"),children:b("settings.pricing.col.output")}),(0,d.jsx)(j,{align:"right",sorted:"cacheCreation5m"===k,dir:m,onClick:()=>o("cacheCreation5m"),children:b("settings.pricing.col.write5m")}),(0,d.jsx)(j,{align:"right",sorted:"cacheCreation1h"===k,dir:m,onClick:()=>o("cacheCreation1h"),children:b("settings.pricing.col.write1h")}),(0,d.jsx)(j,{align:"right",sorted:"cacheRead"===k,dir:m,onClick:()=>o("cacheRead"),children:b("settings.pricing.col.read")})]})}),(0,d.jsxs)("tbody",{children:[q.map(a=>(0,d.jsxs)("tr",{className:"border-b border-border last:border-b-0 hover:bg-bg-surface-hi/30",children:[(0,d.jsx)("td",{className:"px-3 py-2 text-text-primary",title:a.model,children:(0,f.P6)(a.model)}),(0,d.jsx)("td",{className:"px-3 py-2 num-mono text-right",children:(0,f.az)(a.input)}),(0,d.jsx)("td",{className:"px-3 py-2 num-mono text-right",children:(0,f.az)(a.output)}),(0,d.jsx)("td",{className:"px-3 py-2 num-mono text-right text-text-secondary",children:(0,f.az)(a.cacheCreation5m)}),(0,d.jsx)("td",{className:"px-3 py-2 num-mono text-right text-text-secondary",children:(0,f.az)(a.cacheCreation1h)}),(0,d.jsx)("td",{className:"px-3 py-2 num-mono text-right text-success",children:(0,f.az)(a.cacheRead)})]},a.model)),0===q.length&&(0,d.jsx)("tr",{children:(0,d.jsx)("td",{colSpan:6,className:"px-3 py-8 text-center text-text-tertiary text-sm",children:b("common.noMatchingRows")})})]})]})})]})}function j({children:a,align:b="left",sorted:c,dir:e,onClick:g}){return(0,d.jsx)("th",{onClick:g,className:(0,f.cn)("px-3 py-2 text-xs font-medium text-text-tertiary uppercase tracking-wide whitespace-nowrap","right"===b?"text-right":"text-left",g&&"cursor-pointer hover:text-text-primary select-none"),children:(0,d.jsxs)("span",{className:"inline-flex items-center gap-1",children:[a,c&&(0,d.jsx)("span",{className:"text-[10px]",children:"asc"===e?"▲":"▼"})]})})}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},80027:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>q,dynamic:()=>o,revalidate:()=>p});var d=c(75338),e=c(49098),f=c(31519),g=c(71310),h=c(60704),i=c(37583),j=c(84701),k=c(87639),l=c(98392),m=c(29509),n=c(91719);let o="force-dynamic",p=0;async function q(){let a=await (0,n.yO)(),b=await (0,n.sG)(),c=await (0,e.So)(),o=(0,e.TF)(),p=await (0,h.Fw)(),q=(0,h.R0)(),s=(0,e.mo)(),t={claude:Object.entries(f.V).map(([a,b])=>({model:a,input:b.input,output:b.output,cacheCreation5m:b.cacheCreation5m,cacheCreation1h:b.cacheCreation1h,cacheRead:b.cacheRead})),codex:Object.entries(g._G).map(([a,b])=>({model:a,input:b.input,output:b.output,cacheCreation5m:b.cacheCreation5m,cacheCreation1h:b.cacheCreation1h,cacheRead:b.cacheRead}))};return(0,d.jsxs)(i.qK,{title:a("settings.title"),desc:a("settings.subtitle"),children:[(0,d.jsx)(i.wn,{title:a("settings.preferences.title"),children:(0,d.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4 p-3 rounded-button border border-border",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-medium text-text-primary text-sm",children:a("settings.preferences.language")}),(0,d.jsx)("div",{className:"text-xs text-text-tertiary mt-0.5",children:"English / 中文"})]}),(0,d.jsx)(l.LanguageSwitcher,{})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4 p-3 rounded-button border border-border",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-medium text-text-primary text-sm",children:a("settings.preferences.theme")}),(0,d.jsxs)("div",{className:"text-xs text-text-tertiary mt-0.5",children:[a("settings.theme.light")," / ",a("settings.theme.dark")," / ",a("settings.theme.system")]})]}),(0,d.jsx)(m.ThemeSwitcher,{})]})]})}),(0,d.jsxs)(i.wn,{title:a("settings.dataSources.title"),desc:a("settings.dataSources.desc"),children:[(0,d.jsx)("div",{className:"space-y-5",children:o.map(({source:e,dirs:f})=>{let g=q.find(a=>a.id===e),h=p.includes(e),i=c.bySource.find(a=>a.source===e);return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("img",{src:g.logoSrc,alt:"","aria-hidden":!0,className:"w-5 h-5 rounded-[4px] object-contain shrink-0"}),(0,d.jsx)("span",{className:"text-sm font-semibold text-text-primary",children:g.displayName[b]}),h?(0,d.jsx)("span",{className:"pill bg-success/10 text-success border border-success/20 text-xs",children:a("settings.dataSources.active")}):(0,d.jsx)("span",{className:"pill bg-bg-surface-hi text-text-tertiary text-xs",children:a("settings.dataSources.notPresent")})]}),i&&h&&(0,d.jsxs)("span",{className:"text-xs text-text-tertiary num-mono",children:[i.filesScanned," files \xb7 ",i.assistantRecords.toLocaleString()," records"]})]}),(0,d.jsx)("div",{className:"space-y-1.5",children:f.map(b=>{let e=c.stats.scannedDirs.includes(b);return(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3 px-3 py-2 rounded-button border border-border bg-bg-surface-hi/30",children:[(0,d.jsx)("span",{className:"num-mono text-sm text-text-primary truncate",children:b}),(0,d.jsx)("span",{className:`pill text-xs whitespace-nowrap ${e?"bg-success/10 text-success border border-success/20":"bg-bg-surface-hi text-text-tertiary"}`,children:e?a("settings.dataSources.active"):a("settings.dataSources.notPresent")})]},b)})})]},e)})}),(0,d.jsx)("div",{className:"mt-4 text-xs text-text-secondary",children:a("settings.dataSources.envHint",{env1:"CCGAUGE_CONFIG_DIR / CLAUDE_CONFIG_DIR",env2:"CCGAUGE_CODEX_DIR / CODEX_HOME",appendix:"/projects \xb7 /sessions"})}),(0,d.jsx)("div",{className:"mt-4",children:(0,d.jsx)(j.ScanRefresh,{})})]}),(0,d.jsxs)(i.wn,{title:a("settings.scanStats.title"),desc:a("settings.indexer.desc"),children:[(0,d.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-3 text-sm",children:[(0,d.jsx)(r,{label:a("settings.scanStats.files"),value:String(c.stats.filesScanned)}),(0,d.jsx)(r,{label:a("settings.scanStats.records"),value:c.stats.recordsParsed.toLocaleString()}),(0,d.jsx)(r,{label:a("settings.scanStats.assistant"),value:c.stats.assistantRecords.toLocaleString()}),(0,d.jsx)(r,{label:a("settings.indexer.lastIndexedAt"),value:s.lastIndexedAt?new Date(s.lastIndexedAt).toLocaleTimeString():"—"}),(0,d.jsx)(r,{label:a("settings.indexer.indexDuration"),value:null!=s.indexDurationMs?`${s.indexDurationMs} ms`:"—"}),(0,d.jsx)(r,{label:a("settings.indexer.watchers"),value:String(s.watchers)}),(0,d.jsx)(r,{label:a("settings.indexer.loadedFromDisk"),value:s.loadedFromDisk?a("common.yes"):a("common.no")}),(0,d.jsx)(r,{label:a("settings.indexer.status"),value:s.isIndexing?a("settings.indexer.indexing"):a("settings.indexer.idle")})]}),s.errors.length>0&&(0,d.jsxs)("div",{className:"mt-4 text-xs text-warning space-y-1",children:[(0,d.jsx)("div",{className:"font-medium",children:a("settings.indexer.recentErrors")}),(0,d.jsx)("ul",{className:"list-disc list-inside space-y-0.5 num-mono text-text-tertiary",children:s.errors.slice(-3).map((a,b)=>(0,d.jsx)("li",{className:"truncate",title:a,children:a},b))})]})]}),q.map(c=>{let e=t[c.id];return e&&0!==e.length?(0,d.jsx)(i.wn,{title:`${c.displayName[b]} \xb7 ${a("settings.pricing.title")}`,desc:c.costFootnoteKey?a(c.costFootnoteKey):a("settings.pricing.desc"),children:(0,d.jsx)(k.PricingTable,{rows:e})},c.id):null}),(0,d.jsx)(i.wn,{title:a("settings.about.title"),desc:a("settings.about.subtitle",{version:"1.0.3"}),children:(0,d.jsxs)("ul",{className:"text-sm text-text-secondary space-y-1.5",children:[(0,d.jsxs)("li",{children:["• ",a("settings.about.line1")]}),(0,d.jsxs)("li",{children:["• ",a("settings.about.line2")]}),(0,d.jsxs)("li",{children:["• ",a("settings.about.line3")]}),(0,d.jsxs)("li",{children:["• ",a("settings.about.line4")]})]})})]})}function r({label:a,value:b}){return(0,d.jsxs)("div",{className:"card card-pad py-4",children:[(0,d.jsx)("div",{className:"label",children:a}),(0,d.jsx)("div",{className:"num-mid mt-1",children:b})]})}},80481:a=>{"use strict";a.exports=require("node:readline")},80575:(a,b,c)=>{Promise.resolve().then(c.bind(c,95546)),Promise.resolve().then(c.bind(c,60505)),Promise.resolve().then(c.bind(c,48507)),Promise.resolve().then(c.bind(c,28607))},84701:(a,b,c)=>{"use strict";c.d(b,{ScanRefresh:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call ScanRefresh() from the server but ScanRefresh 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/scan-refresh.tsx","ScanRefresh")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87639:(a,b,c)=>{"use strict";c.d(b,{PricingTable:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call PricingTable() from the server but PricingTable 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/pricing-table.tsx","PricingTable")},98392:(a,b,c)=>{"use strict";c.d(b,{LanguageSwitcher:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call LanguageSwitcher() from the server but LanguageSwitcher 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/language-switcher.tsx","LanguageSwitcher")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[331,802,153,993,716,98,567],()=>b(b.s=45362));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}}},46796:(a,b,c)=>{"use strict";c.d(b,{ev:()=>f,n$:()=>h,rY:()=>g});var d=c(86802),e=c(60704);async function f(a){let b=await (0,e.Fw)(),c=b.length>=2,f=a??void 0;if("all"===f&&c)return"all";if(f&&(0,e.rl)(f))return f;let g=await (0,d.UL)(),h=g.get("ccgauge_source")?.value;if("all"===h&&c)return"all";let i=h&&(0,e.rl)(h)?h:e.Gr;return b.length>0&&!b.includes(i)?b[0]:i}function g(a,b){return"all"===b?a:a.filter(a=>a.source===b)}function h(a){return"all"===a?e.jt.slice():[a]}},48161:a=>{"use strict";a.exports=require("node:os")},48507:(a,b,c)=>{"use strict";c.d(b,{ScanRefresh:()=>h});var d=c(21124),e=c(38301),f=c(42378),g=c(15519);function h(){let a=(0,g.kj)(),[b,c]=(0,e.useState)(!1),h=(0,f.useRouter)();async function i(){c(!0);try{await fetch("/api/scan",{method:"POST",cache:"no-store"}),h.refresh()}finally{c(!1)}}return(0,d.jsx)("button",{onClick:i,disabled:b,className:"btn",children:a(b?"settings.rescanning":"settings.rescan")})}},60505:(a,b,c)=>{"use strict";c.d(b,{PricingTable:()=>i});var d=c(21124),e=c(38301),f=c(15514),g=c(15519),h=c(41573);function i({rows:a}){let b=(0,g.kj)(),[c,i]=(0,e.useState)(""),[k,l]=(0,e.useState)("model"),[m,n]=(0,e.useState)("asc");function o(a){a===k?n("asc"===m?"desc":"asc"):(l(a),n("model"===a?"asc":"desc"))}let p=(0,e.useMemo)(()=>{let b=c.trim().toLowerCase();return b?a.filter(a=>a.model.toLowerCase().includes(b)||(0,f.P6)(a.model).toLowerCase().includes(b)):a},[a,c]),q=(0,e.useMemo)(()=>{let a=[...p];return a.sort((a,b)=>{if("model"===k){let c=a.model.localeCompare(b.model);return"asc"===m?c:-c}let c=a[k],d=b[k];return c===d?0:"asc"===m?c<d?-1:1:c<d?1:-1}),a},[p,k,m]);return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3 mb-3 flex-wrap",children:[(0,d.jsx)("input",{value:c,onChange:a=>i(a.target.value),placeholder:b("common.searchPlaceholder"),"aria-label":b("common.searchPlaceholder"),className:"px-3 py-1.5 text-sm rounded-button border border-border bg-bg-surface focus:outline-none focus:border-border-hi w-72 placeholder:text-text-tertiary text-text-primary"}),(0,d.jsx)("span",{className:"text-xs text-text-tertiary tabular-nums",children:b("common.rows",{count:q.length.toLocaleString()})})]}),(0,d.jsx)(h.H,{children:(0,d.jsxs)("table",{className:"w-full text-sm",children:[(0,d.jsx)("thead",{children:(0,d.jsxs)("tr",{className:"border-b border-border",children:[(0,d.jsx)(j,{sorted:"model"===k,dir:m,onClick:()=>o("model"),children:b("settings.pricing.col.model")}),(0,d.jsx)(j,{align:"right",sorted:"input"===k,dir:m,onClick:()=>o("input"),children:b("settings.pricing.col.input")}),(0,d.jsx)(j,{align:"right",sorted:"output"===k,dir:m,onClick:()=>o("output"),children:b("settings.pricing.col.output")}),(0,d.jsx)(j,{align:"right",sorted:"cacheCreation5m"===k,dir:m,onClick:()=>o("cacheCreation5m"),children:b("settings.pricing.col.write5m")}),(0,d.jsx)(j,{align:"right",sorted:"cacheCreation1h"===k,dir:m,onClick:()=>o("cacheCreation1h"),children:b("settings.pricing.col.write1h")}),(0,d.jsx)(j,{align:"right",sorted:"cacheRead"===k,dir:m,onClick:()=>o("cacheRead"),children:b("settings.pricing.col.read")})]})}),(0,d.jsxs)("tbody",{children:[q.map(a=>(0,d.jsxs)("tr",{className:"border-b border-border last:border-b-0 hover:bg-bg-surface-hi/30",children:[(0,d.jsx)("td",{className:"px-3 py-2 text-text-primary",title:a.model,children:(0,f.P6)(a.model)}),(0,d.jsx)("td",{className:"px-3 py-2 num-mono text-right",children:(0,f.az)(a.input)}),(0,d.jsx)("td",{className:"px-3 py-2 num-mono text-right",children:(0,f.az)(a.output)}),(0,d.jsx)("td",{className:"px-3 py-2 num-mono text-right text-text-secondary",children:(0,f.az)(a.cacheCreation5m)}),(0,d.jsx)("td",{className:"px-3 py-2 num-mono text-right text-text-secondary",children:(0,f.az)(a.cacheCreation1h)}),(0,d.jsx)("td",{className:"px-3 py-2 num-mono text-right text-success",children:(0,f.az)(a.cacheRead)})]},a.model)),0===q.length&&(0,d.jsx)("tr",{children:(0,d.jsx)("td",{colSpan:6,className:"px-3 py-8 text-center text-text-tertiary text-sm",children:b("common.noMatchingRows")})})]})]})})]})}function j({children:a,align:b="left",sorted:c,dir:e,onClick:g}){return(0,d.jsx)("th",{onClick:g,className:(0,f.cn)("px-3 py-2 text-xs font-medium text-text-tertiary uppercase tracking-wide whitespace-nowrap","right"===b?"text-right":"text-left",g&&"cursor-pointer hover:text-text-primary select-none"),children:(0,d.jsxs)("span",{className:"inline-flex items-center gap-1",children:[a,c&&(0,d.jsx)("span",{className:"text-[10px]",children:"asc"===e?"▲":"▼"})]})})}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},80027:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>q,dynamic:()=>o,revalidate:()=>p});var d=c(75338),e=c(49098),f=c(31519),g=c(71310),h=c(60704),i=c(37583),j=c(84701),k=c(87639),l=c(98392),m=c(29509),n=c(91719);let o="force-dynamic",p=0;async function q(){let a=await (0,n.yO)(),b=await (0,n.sG)(),c=await (0,e.So)(),o=(0,e.TF)(),p=await (0,h.Fw)(),q=(0,h.R0)(),s=(0,e.mo)(),t={claude:Object.entries(f.V).map(([a,b])=>({model:a,input:b.input,output:b.output,cacheCreation5m:b.cacheCreation5m,cacheCreation1h:b.cacheCreation1h,cacheRead:b.cacheRead})),codex:Object.entries(g._G).map(([a,b])=>({model:a,input:b.input,output:b.output,cacheCreation5m:b.cacheCreation5m,cacheCreation1h:b.cacheCreation1h,cacheRead:b.cacheRead}))};return(0,d.jsxs)(i.qK,{title:a("settings.title"),desc:a("settings.subtitle"),children:[(0,d.jsx)(i.wn,{title:a("settings.preferences.title"),children:(0,d.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4 p-3 rounded-button border border-border",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-medium text-text-primary text-sm",children:a("settings.preferences.language")}),(0,d.jsx)("div",{className:"text-xs text-text-tertiary mt-0.5",children:"English / 中文"})]}),(0,d.jsx)(l.LanguageSwitcher,{})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between gap-4 p-3 rounded-button border border-border",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"font-medium text-text-primary text-sm",children:a("settings.preferences.theme")}),(0,d.jsxs)("div",{className:"text-xs text-text-tertiary mt-0.5",children:[a("settings.theme.light")," / ",a("settings.theme.dark")," / ",a("settings.theme.system")]})]}),(0,d.jsx)(m.ThemeSwitcher,{})]})]})}),(0,d.jsxs)(i.wn,{title:a("settings.dataSources.title"),desc:a("settings.dataSources.desc"),children:[(0,d.jsx)("div",{className:"space-y-5",children:o.map(({source:e,dirs:f})=>{let g=q.find(a=>a.id===e),h=p.includes(e),i=c.bySource.find(a=>a.source===e);return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("img",{src:g.logoSrc,alt:"","aria-hidden":!0,className:"w-5 h-5 rounded-[4px] object-contain shrink-0"}),(0,d.jsx)("span",{className:"text-sm font-semibold text-text-primary",children:g.displayName[b]}),h?(0,d.jsx)("span",{className:"pill bg-success/10 text-success border border-success/20 text-xs",children:a("settings.dataSources.active")}):(0,d.jsx)("span",{className:"pill bg-bg-surface-hi text-text-tertiary text-xs",children:a("settings.dataSources.notPresent")})]}),i&&h&&(0,d.jsxs)("span",{className:"text-xs text-text-tertiary num-mono",children:[i.filesScanned," files \xb7 ",i.assistantRecords.toLocaleString()," records"]})]}),(0,d.jsx)("div",{className:"space-y-1.5",children:f.map(b=>{let e=c.stats.scannedDirs.includes(b);return(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3 px-3 py-2 rounded-button border border-border bg-bg-surface-hi/30",children:[(0,d.jsx)("span",{className:"num-mono text-sm text-text-primary truncate",children:b}),(0,d.jsx)("span",{className:`pill text-xs whitespace-nowrap ${e?"bg-success/10 text-success border border-success/20":"bg-bg-surface-hi text-text-tertiary"}`,children:e?a("settings.dataSources.active"):a("settings.dataSources.notPresent")})]},b)})})]},e)})}),(0,d.jsx)("div",{className:"mt-4 text-xs text-text-secondary",children:a("settings.dataSources.envHint",{env1:"CCGAUGE_CONFIG_DIR / CLAUDE_CONFIG_DIR",env2:"CCGAUGE_CODEX_DIR / CODEX_HOME",appendix:"/projects \xb7 /sessions"})}),(0,d.jsx)("div",{className:"mt-4",children:(0,d.jsx)(j.ScanRefresh,{})})]}),(0,d.jsxs)(i.wn,{title:a("settings.scanStats.title"),desc:a("settings.indexer.desc"),children:[(0,d.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-3 text-sm",children:[(0,d.jsx)(r,{label:a("settings.scanStats.files"),value:String(c.stats.filesScanned)}),(0,d.jsx)(r,{label:a("settings.scanStats.records"),value:c.stats.recordsParsed.toLocaleString()}),(0,d.jsx)(r,{label:a("settings.scanStats.assistant"),value:c.stats.assistantRecords.toLocaleString()}),(0,d.jsx)(r,{label:a("settings.indexer.lastIndexedAt"),value:s.lastIndexedAt?new Date(s.lastIndexedAt).toLocaleTimeString():"—"}),(0,d.jsx)(r,{label:a("settings.indexer.indexDuration"),value:null!=s.indexDurationMs?`${s.indexDurationMs} ms`:"—"}),(0,d.jsx)(r,{label:a("settings.indexer.watchers"),value:String(s.watchers)}),(0,d.jsx)(r,{label:a("settings.indexer.loadedFromDisk"),value:s.loadedFromDisk?a("common.yes"):a("common.no")}),(0,d.jsx)(r,{label:a("settings.indexer.status"),value:s.isIndexing?a("settings.indexer.indexing"):a("settings.indexer.idle")})]}),s.errors.length>0&&(0,d.jsxs)("div",{className:"mt-4 text-xs text-warning space-y-1",children:[(0,d.jsx)("div",{className:"font-medium",children:a("settings.indexer.recentErrors")}),(0,d.jsx)("ul",{className:"list-disc list-inside space-y-0.5 num-mono text-text-tertiary",children:s.errors.slice(-3).map((a,b)=>(0,d.jsx)("li",{className:"truncate",title:a,children:a},b))})]})]}),q.map(c=>{let e=t[c.id];return e&&0!==e.length?(0,d.jsx)(i.wn,{title:`${c.displayName[b]} \xb7 ${a("settings.pricing.title")}`,desc:c.costFootnoteKey?a(c.costFootnoteKey):a("settings.pricing.desc"),children:(0,d.jsx)(k.PricingTable,{rows:e})},c.id):null}),(0,d.jsx)(i.wn,{title:a("settings.about.title"),desc:a("settings.about.subtitle",{version:"1.0.5"}),children:(0,d.jsxs)("ul",{className:"text-sm text-text-secondary space-y-1.5",children:[(0,d.jsxs)("li",{children:["• ",a("settings.about.line1")]}),(0,d.jsxs)("li",{children:["• ",a("settings.about.line2")]}),(0,d.jsxs)("li",{children:["• ",a("settings.about.line3")]}),(0,d.jsxs)("li",{children:["• ",a("settings.about.line4")]})]})})]})}function r({label:a,value:b}){return(0,d.jsxs)("div",{className:"card card-pad py-4",children:[(0,d.jsx)("div",{className:"label",children:a}),(0,d.jsx)("div",{className:"num-mid mt-1",children:b})]})}},80481:a=>{"use strict";a.exports=require("node:readline")},80575:(a,b,c)=>{Promise.resolve().then(c.bind(c,95546)),Promise.resolve().then(c.bind(c,60505)),Promise.resolve().then(c.bind(c,48507)),Promise.resolve().then(c.bind(c,28607))},84701:(a,b,c)=>{"use strict";c.d(b,{ScanRefresh:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call ScanRefresh() from the server but ScanRefresh 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/scan-refresh.tsx","ScanRefresh")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87639:(a,b,c)=>{"use strict";c.d(b,{PricingTable:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call PricingTable() from the server but PricingTable 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/pricing-table.tsx","PricingTable")},95012:(a,b,c)=>{"use strict";c.d(b,{BC:()=>o,PJ:()=>n,R8:()=>j,a3:()=>k,az:()=>i,cn:()=>f,jh:()=>h,om:()=>l,r6:()=>m});var d=c(81171),e=c(11167);function f(...a){return(0,e.QP)((0,d.$)(a))}function g(a,b){return new Intl.NumberFormat("en-US",{maximumFractionDigits:b?.maxFrac??0}).format(a)}function h(a,b="en"){return Number.isFinite(a)?"zh"===b?a>=1e8?(a/1e8).toFixed(2)+"亿":a>=1e4?(a/1e4).toFixed(1)+"万":g(a):a>=1e9?(a/1e9).toFixed(2)+"B":a>=1e6?(a/1e6).toFixed(2)+"M":a>=1e3?(a/1e3).toFixed(1)+"K":g(a):"0"}function i(a,b){return new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",minimumFractionDigits:b?.minFrac??2,maximumFractionDigits:b?.maxFrac??2}).format(a)}function j(a,b=1){return Number.isFinite(a)?`${(100*a).toFixed(b)}%`:"0%"}function k(a){if(a<1e3)return`${a}ms`;let b=Math.floor(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60);if(c<60){let a=b%60;return a?`${c}m ${a}s`:`${c}m`}let d=Math.floor(c/60),e=c%60;return e?`${d}h ${e}m`:`${d}h`}function l(a,b="en"){let c="string"==typeof a||"number"==typeof a?new Date(a):a,d=Date.now()-c.getTime(),e="zh"===b;if(d<0)return e?"刚刚":"just now";let f=Math.floor(d/1e3);if(f<60)return e?"刚刚":`${f}s ago`;let g=Math.floor(f/60);if(g<60)return e?`${g} 分钟前`:`${g}m ago`;let h=Math.floor(g/60);if(h<24)return e?`${h} 小时前`:`${h}h ago`;let i=Math.floor(h/24);if(i<7)return e?`${i} 天前`:`${i}d ago`;let j=Math.floor(i/7);if(j<5)return e?`${j} 周前`:`${j}w ago`;let k=Math.floor(i/30);if(k<12)return e?`${k} 个月前`:`${k}mo ago`;let m=Math.floor(i/365);return e?`${m} 年前`:`${m}y ago`}function m(a){let b="string"==typeof a||"number"==typeof a?new Date(a):a;if(Number.isNaN(b.getTime()))return"";let c=b.getFullYear(),d=String(b.getMonth()+1).padStart(2,"0"),e=String(b.getDate()).padStart(2,"0"),f=String(b.getHours()).padStart(2,"0"),g=String(b.getMinutes()).padStart(2,"0"),h=String(b.getSeconds()).padStart(2,"0");return`${c}-${d}-${e} ${f}:${g}:${h}`}function n(a){if(!a)return"(unknown)";let b=a.replace(/[/\\]+$/,"").split(/[/\\]+/);return b[b.length-1]||a}function o(a,b=8){return a?a.replace(/-/g,"").slice(0,b):""}},98392:(a,b,c)=>{"use strict";c.d(b,{LanguageSwitcher:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call LanguageSwitcher() from the server but LanguageSwitcher 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/language-switcher.tsx","LanguageSwitcher")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[331,802,153,993,716,98,567],()=>b(b.s=45362));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/settings/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}},"12623":{"*":{"id":"25515","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}},"30633":{"*":{"id":"55423","name":"*","chunks":[],"async":false}},"38059":{"*":{"id":"24919","name":"*","chunks":[],"async":false}},"44512":{"*":{"id":"88843","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}},"74387":{"*":{"id":"33280","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-0a1e1b0207b89e3f.js","177","static/chunks/app/layout-2512ccdfb13aeb17.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-0a1e1b0207b89e3f.js","177","static/chunks/app/layout-2512ccdfb13aeb17.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-0a1e1b0207b89e3f.js","177","static/chunks/app/layout-2512ccdfb13aeb17.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/error.tsx":{"id":49567,"name":"*","chunks":["148","static/chunks/148-0a1e1b0207b89e3f.js","39","static/chunks/app/error-3e48784f89c5ae8d.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/language-switcher.tsx":{"id":21264,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","148","static/chunks/148-0a1e1b0207b89e3f.js","662","static/chunks/app/settings/page-cfeb089549c94f88.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/pricing-table.tsx":{"id":8783,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","148","static/chunks/148-0a1e1b0207b89e3f.js","662","static/chunks/app/settings/page-cfeb089549c94f88.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/scan-refresh.tsx":{"id":91107,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","148","static/chunks/148-0a1e1b0207b89e3f.js","662","static/chunks/app/settings/page-cfeb089549c94f88.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/theme-switcher.tsx":{"id":44703,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","148","static/chunks/148-0a1e1b0207b89e3f.js","662","static/chunks/app/settings/page-cfeb089549c94f88.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/charts/token-stack-chart.tsx":{"id":38059,"name":"*","chunks":[],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/activity-stats.tsx":{"id":12623,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","148","static/chunks/148-0a1e1b0207b89e3f.js","974","static/chunks/app/page-19d3e77d4aa35a63.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/block-progress-switcher.tsx":{"id":30633,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","148","static/chunks/148-0a1e1b0207b89e3f.js","974","static/chunks/app/page-19d3e77d4aa35a63.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-0a1e1b0207b89e3f.js","974","static/chunks/app/page-19d3e77d4aa35a63.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-0a1e1b0207b89e3f.js","974","static/chunks/app/page-19d3e77d4aa35a63.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/overview-trend-card.tsx":{"id":74387,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-3035d0b294080d0b.js","148","static/chunks/148-0a1e1b0207b89e3f.js","974","static/chunks/app/page-19d3e77d4aa35a63.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":44512,"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}},"entryCSSFiles":{"/Users/zuopeng.cheng/personal/workspace/ccgauge/":[],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/layout":[{"inlined":false,"path":"static/css/406e067663b8b429.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/settings/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}},"12623":{"*":{"id":"4001","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}},"30633":{"*":{"id":"53633","name":"*","chunks":[],"async":false}},"38059":{"*":{"id":"89605","name":"*","chunks":[],"async":false}},"41290":{"*":{"id":"82704","name":"*","chunks":[],"async":false}},"44512":{"*":{"id":"68264","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}},"74387":{"*":{"id":"73668","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
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/settings/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}},"12623":{"*":{"id":"25515","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}},"30633":{"*":{"id":"55423","name":"*","chunks":[],"async":false}},"38059":{"*":{"id":"24919","name":"*","chunks":[],"async":false}},"44512":{"*":{"id":"88843","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}},"74387":{"*":{"id":"33280","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-6c2eaf5508bfe739.js","177","static/chunks/app/layout-4f3538437c5e8366.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-6c2eaf5508bfe739.js","177","static/chunks/app/layout-4f3538437c5e8366.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-6c2eaf5508bfe739.js","177","static/chunks/app/layout-4f3538437c5e8366.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/error.tsx":{"id":49567,"name":"*","chunks":["148","static/chunks/148-6c2eaf5508bfe739.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":[],"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/activity-stats.tsx":{"id":12623,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-ca5c6f8b5cb6ac3d.js","148","static/chunks/148-6c2eaf5508bfe739.js","974","static/chunks/app/page-3cda7f70ecf5017a.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/block-progress-switcher.tsx":{"id":30633,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-ca5c6f8b5cb6ac3d.js","148","static/chunks/148-6c2eaf5508bfe739.js","974","static/chunks/app/page-3cda7f70ecf5017a.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-ca5c6f8b5cb6ac3d.js","148","static/chunks/148-6c2eaf5508bfe739.js","974","static/chunks/app/page-3cda7f70ecf5017a.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-ca5c6f8b5cb6ac3d.js","148","static/chunks/148-6c2eaf5508bfe739.js","974","static/chunks/app/page-3cda7f70ecf5017a.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/overview-trend-card.tsx":{"id":74387,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","930","static/chunks/930-ca5c6f8b5cb6ac3d.js","148","static/chunks/148-6c2eaf5508bfe739.js","974","static/chunks/app/page-3cda7f70ecf5017a.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/language-switcher.tsx":{"id":21264,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","148","static/chunks/148-6c2eaf5508bfe739.js","662","static/chunks/app/settings/page-1ba7c4a4c0fae2f8.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/pricing-table.tsx":{"id":8783,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","148","static/chunks/148-6c2eaf5508bfe739.js","662","static/chunks/app/settings/page-1ba7c4a4c0fae2f8.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/scan-refresh.tsx":{"id":91107,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","148","static/chunks/148-6c2eaf5508bfe739.js","662","static/chunks/app/settings/page-1ba7c4a4c0fae2f8.js"],"async":false},"/Users/zuopeng.cheng/personal/workspace/ccgauge/components/theme-switcher.tsx":{"id":44703,"name":"*","chunks":["760","static/chunks/760-24bf5ac5820b9230.js","148","static/chunks/148-6c2eaf5508bfe739.js","662","static/chunks/app/settings/page-1ba7c4a4c0fae2f8.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":44512,"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}},"entryCSSFiles":{"/Users/zuopeng.cheng/personal/workspace/ccgauge/":[],"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/layout":[{"inlined":false,"path":"static/css/fbd2c395e5bf32cb.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/settings/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}},"12623":{"*":{"id":"4001","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}},"30633":{"*":{"id":"53633","name":"*","chunks":[],"async":false}},"38059":{"*":{"id":"89605","name":"*","chunks":[],"async":false}},"41290":{"*":{"id":"82704","name":"*","chunks":[],"async":false}},"44512":{"*":{"id":"68264","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}},"74387":{"*":{"id":"73668","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,3 +1,3 @@
|
|
|
1
|
-
(()=>{var a={};a.id=430,a.ids=[430],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")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14843:(a,b,c)=>{"use strict";c.d(b,{N0:()=>g,go:()=>h});var d=c(50160),e=c(30285),f=c(62955);function g(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 h(a,b,c){let g=(0,e.o)(a,b,c),h=new Map;for(let a of b)h.set(a.uuid,a);let i=new Map,j=new Map,k=new Map;for(let b of a){let a=g.get(b.uuid)??b.uuid,e=(0,d.SI)(b),l=function(a){let b=i.get(a);if(void 0!==b)return b;let d=[],e=a,f="",g=new Set;for(;e&&!g.has(e);){g.add(e);let a=i.get(e);if(void 0!==a){f=a;break}d.push(e);let b=h.get(e);if(b&&b.textPreview&&b.textPreview.trim()){f=b.textPreview;break}e=c[e]??null}for(let a of d)i.set(a,f);return f}(b.uuid),m={uuid:b.uuid,timestamp:b.timestamp,source:b.source,model:b.model,cwd:b.cwd,projectLabel:(0,f.CL)(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:e.total,costInput:e.input,costOutput:e.output,costCacheRead:e.cacheRead,costCacheWrite:e.cacheCreation5m+e.cacheCreation1h,toolNames:b.toolNames,effort:b.effort,directPrompt:l||void 0},n=j.get(a);n?n.push(m):j.set(a,[m]),k.has(a)||k.set(a,b)}let l=[];for(let[a,b]of j){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,i=new Set,j=0,k=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&&i.add(a.effort),j+=a.inputTokens,k+=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=h.get(a),v=new Date(c.timestamp).getTime(),w=new Date(d.timestamp).getTime(),x=Number.isFinite(v)&&Number.isFinite(w)?Math.max(0,w-v):0;l.push({turnId:a,timestamp:c.timestamp,endTimestamp:d.timestamp,durationMs:x,cwd:c.cwd,projectLabel:(0,f.CL)(c.cwd),sessionId:c.sessionId,models:Array.from(e),callCount:b.length,inputTokens:j,outputTokens:k,cacheReadTokens:m,cacheCreationTokens:n,reasoningTokens:o,totalTokens:j+k+m+n,cost:p,costInput:q,costOutput:r,costCacheRead:s,costCacheWrite:t,toolNames:Array.from(g),efforts:Array.from(i),userText:u?.textPreview??"",children:b})}return l.sort((a,b)=>a.timestamp<b.timestamp?1:-1),l}},18710:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>B,dynamic:()=>z,revalidate:()=>A});var d=c(75338),e=c(49098),f=c(67803),g=c(37583),h=c(89605),i=c(21092),j=c(14843),k=c(58258),l=c(40236),m=c(49863),n=c(36666),o=c(21966),p=c(80489),q=c(95012),r=c(91719),s=c(55340),t=c(46796),u=c(69181),v=c(60704),w=c(62035),x=c(68264),y=c(76559);let z="force-dynamic",A=0;async function B({searchParams:a}){let b=await a,c=await (0,t.ev)(b.source),z=(0,l.UF)(b.range,"7d"),A=(0,f.bo)(b.gran)?b.gran:"1d"===z?"hour":"day",B=b.models?b.models.split(",").filter(Boolean):[],C=b.projects?b.projects.split(",").filter(Boolean):[],D=(b.q||"").trim(),E=b.sort&&(0,y.Yb)(b.sort)?b.sort:"timestamp",F="asc"===b.dir?"asc":"desc",G=(0,y.PR)(b.page),H=await (0,r.yO)(),I=await (0,r.sG)(),J=await (0,e.So)(),K=(0,t.rY)(J.records,c),L=(0,t.rY)(J.userRecords,c),M=(0,l.Cw)(z),N=(0,t.n$)(c),O={from:M.from,to:M.to,models:B.length?B:void 0,projects:C.length?C:void 0},P=(0,u.z)(N.map(a=>(0,f.$M)(K,{...O,source:a}))),Q=(0,u.i)(N.map(a=>(0,f.a6)(K,A,{...O,source:a}))).map(a=>({label:a.label,input:a.inputTokens,output:a.outputTokens,cacheRead:a.cacheReadTokens,cacheCreation:a.cacheCreationTokens,cost:a.cost,requests:a.requests})),R=K.filter(a=>!(M.from&&a.timestamp<M.from.toISOString())&&(!B.length||!!B.includes(a.model))&&(!C.length||!!C.includes(a.cwd))),S=function(a,b,c){let d=a.slice();return d.sort((a,d)=>{let e="timestamp"===b?a.timestamp:a[b],f="timestamp"===b?d.timestamp:d[b];return e===f?0:("asc"===c?1:-1)*(e<f?-1:1)}),d}(function(a,b){if(!b)return a;let c=b.toLowerCase();return a.filter(a=>a.userText.toLowerCase().includes(c)||a.cwd.toLowerCase().includes(c)||a.sessionId.toLowerCase().includes(c)||a.models.some(a=>a.toLowerCase().includes(c))||a.toolNames.some(a=>a.toLowerCase().includes(c)))}((0,j.go)(R,L,J.parentMap),D),E,F),T=S.length,U=Math.max(1,Math.ceil(T/y.QE)),V=Math.min(G,U-1),W=S.slice(V*y.QE,(V+1)*y.QE),X=Array.from(new Set(K.map(a=>a.model))).sort(),Y=Array.from(new Set(K.map(a=>a.cwd).filter(Boolean))).sort(),Z=P.totalTokens>0?P.cacheReadTokens/Math.max(1,P.cacheReadTokens+P.inputTokens+P.cacheCreationTokens):0,$="all"===c?"":(0,v.sO)(c).costFootnoteKey?H((0,v.sO)(c).costFootnoteKey):"";return(0,d.jsxs)(g.qK,{title:H("usage.title"),desc:H("usage.subtitle",{count:T.toLocaleString()}),right:(0,d.jsxs)("div",{className:"flex items-center gap-3 flex-wrap",children:[(0,d.jsx)(x.OverviewToggle,{}),(0,d.jsx)(n.ModelFilter,{all:X,selected:B}),(0,d.jsx)(o.ProjectFilter,{all:Y,selected:C}),(0,d.jsx)(k.RangePicker,{defaultValue:"7d"})]}),children:[(0,d.jsx)(w.AutoRefresh,{intervalMs:15e3}),0===K.length?(0,d.jsx)(g.pp,{title:H("common.empty.title"),desc:H("common.empty.desc")}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"usage-overview-block contents",children:[(0,d.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 mt-4",children:[(0,d.jsx)(p.n,{label:H("usage.kpi.totalTokens"),value:(0,q.jh)(P.totalTokens,I)}),(0,d.jsx)(p.n,{label:H("usage.kpi.totalCost"),value:(0,q.az)(P.cost),hint:$||void 0}),(0,d.jsx)(p.n,{label:H("usage.kpi.cacheSaved"),value:(0,q.az)(P.saved),accent:"success"}),(0,d.jsx)(p.n,{label:H("usage.kpi.cacheHit"),value:(0,q.R8)(Z,0),accent:"success"})]}),(0,d.jsx)(g.wn,{title:H("usage.trend"),desc:H("usage.trend.gran",{gran:(0,s.nA)(I,`gran.${A}`)}),right:(0,d.jsx)(m.GranularityPicker,{defaultValue:A}),className:"mt-4",children:(0,d.jsx)(h.TokenStackChart,{data:Q})})]}),(0,d.jsx)(g.wn,{title:H("usage.requests.title"),desc:H("usage.requests.desc"),children:(0,d.jsx)(i.UsageTable,{rows:W,totalCount:T,page:V,pageCount:U,sort:{key:E,dir:F},query:D})})]})]})}},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},20976:(a,b,c)=>{Promise.resolve().then(c.bind(c,62035)),Promise.resolve().then(c.bind(c,89605)),Promise.resolve().then(c.bind(c,49863)),Promise.resolve().then(c.bind(c,36666)),Promise.resolve().then(c.bind(c,68264)),Promise.resolve().then(c.bind(c,21966)),Promise.resolve().then(c.bind(c,58258)),Promise.resolve().then(c.bind(c,21092))},21092:(a,b,c)=>{"use strict";c.d(b,{UsageTable:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call UsageTable() from the server but UsageTable 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/usage-table.tsx","UsageTable")},21966:(a,b,c)=>{"use strict";c.d(b,{ProjectFilter:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call ProjectFilter() from the server but ProjectFilter 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/project-filter.tsx","ProjectFilter")},24961:(a,b,c)=>{"use strict";c.d(b,{AutoRefresh:()=>f});var d=c(38301),e=c(42378);function f({intervalMs:a=15e3}){return(0,e.useRouter)(),(0,d.useRef)(!1),null}},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")},30285:(a,b,c)=>{"use strict";function d(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}c.d(b,{o:()=>d})},32560:(a,b,c)=>{"use strict";c.d(b,{ProjectFilter:()=>h});var d=c(21124),e=c(83426),f=c(15514),g=c(15519);function h({all:a,selected:b}){let c=(0,g.kj)();return(0,d.jsx)(e.K,{paramKey:"projects",all:a,selected:b,render:f.PJ,labelAllKey:"filter.projectAll",labelSingleKey:"filter.projectSingle",labelMultiKey:"filter.projectMulti",ariaLabel:c("filter.projectLabel")})}},32900:(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:["usage",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,18710)),"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/usage/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(c.bind(c,67302)),"/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/usage/page.tsx"],J={require:c,loadChunk:()=>Promise.resolve()},K=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/usage/page",pathname:"/usage",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:H},distDir:".next",relativeProjectDir:""});async function L(a,b,d){var C;let G="/usage/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}}},33873:a=>{"use strict";a.exports=require("path")},36666:(a,b,c)=>{"use strict";c.d(b,{ModelFilter:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call ModelFilter() from the server but ModelFilter 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/model-filter.tsx","ModelFilter")},39472:(a,b,c)=>{"use strict";c.d(b,{ModelFilter:()=>h});var d=c(21124),e=c(83426),f=c(15514),g=c(15519);function h({all:a,selected:b}){let c=(0,g.kj)();return(0,d.jsx)(e.K,{paramKey:"models",all:a,selected:b,render:f.P6,labelAllKey:"filter.modelAll",labelSingleKey:"filter.modelSingle",labelMultiKey:"filter.modelMulti",ariaLabel:c("filter.modelLabel")})}},40236:(a,b,c)=>{"use strict";c.d(b,{Cw:()=>g,UF:()=>f,dg:()=>e});let d=["1d","7d","30d","90d","all"];function e(a){return"string"==typeof a&&d.includes(a)}function f(a,b="7d"){return e(a)?a:b}function g(a){let b=new Date;if("all"===a)return{};if("1d"===a)return{from:new Date(b.getFullYear(),b.getMonth(),b.getDate())};let c=a.match(/^(\d+)([dwm])$/);if(!c)return{};let d=parseInt(c[1],10),e=c[2],f=new Date(b);return"d"===e?f.setDate(f.getDate()-d):"w"===e?f.setDate(f.getDate()-7*d):"m"===e&&f.setMonth(f.getMonth()-d),{from:f}}},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41573:(a,b,c)=>{"use strict";c.d(b,{H:()=>g});var d=c(21124),e=c(38301),f=c(15514);function g({children:a,className:b}){let c=(0,e.useRef)(null),[g,h]=(0,e.useState)(!1),[i,j]=(0,e.useState)(!1);return(0,d.jsxs)("div",{className:(0,f.cn)("relative",b),children:[(0,d.jsx)("div",{ref:c,className:"overflow-x-auto",children:a}),(0,d.jsx)("div",{"aria-hidden":!0,className:(0,f.cn)("pointer-events-none absolute left-0 top-0 bottom-0 w-8 bg-gradient-to-r from-bg-surface to-transparent transition-opacity duration-150",g?"opacity-100":"opacity-0")}),(0,d.jsx)("div",{"aria-hidden":!0,className:(0,f.cn)("pointer-events-none absolute right-0 top-0 bottom-0 w-8 bg-gradient-to-l from-bg-surface to-transparent transition-opacity duration-150",i?"opacity-100":"opacity-0")})]})}},48161:a=>{"use strict";a.exports=require("node:os")},49863:(a,b,c)=>{"use strict";c.d(b,{GranularityPicker:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call GranularityPicker() from the server but GranularityPicker 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/granularity-picker.tsx","GranularityPicker")},55824:(a,b,c)=>{Promise.resolve().then(c.bind(c,24961)),Promise.resolve().then(c.bind(c,24919)),Promise.resolve().then(c.bind(c,88253)),Promise.resolve().then(c.bind(c,39472)),Promise.resolve().then(c.bind(c,88843)),Promise.resolve().then(c.bind(c,32560)),Promise.resolve().then(c.bind(c,75268)),Promise.resolve().then(c.bind(c,99955))},58258:(a,b,c)=>{"use strict";c.d(b,{RangePicker:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call RangePicker() from the server but RangePicker 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/range-picker.tsx","RangePicker")},62035:(a,b,c)=>{"use strict";c.d(b,{AutoRefresh:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call AutoRefresh() from the server but AutoRefresh 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/auto-refresh.tsx","AutoRefresh")},62955:(a,b,c)=>{"use strict";c.d(b,{CL:()=>k,tv:()=>l});var d=c(73024),e=c(76760),f=c(95012);let g=new Map,h=/^(.+?)[/\\]\.git[/\\]worktrees[/\\]([^/\\]+)[/\\]?$/,i=/^(.+?)[/\\](?:\.git|\.claude)[/\\]worktrees[/\\]([^/\\]+)(?:[/\\].*)?$/;function j(a){let b=(0,f.PJ)(a);if(!a)return{label:b,isWorktree:!1,mainName:b,worktreeName:"",canonicalCwd:a};let c=i.exec(a);if(c){let a=c[1],b=c[2],d=(0,e.basename)(a)||a;return{label:`${d} (${b})`,isWorktree:!0,mainName:d,worktreeName:b,canonicalCwd:a}}try{let c=`${a}/.git`;if(!(0,d.statSync)(c).isFile())return{label:b,isWorktree:!1,mainName:b,worktreeName:"",canonicalCwd:a};let f=(0,d.readFileSync)(c,"utf8").trim().split(/\r?\n/,1)[0]??"",g=/^gitdir:\s*(.+)$/.exec(f);if(!g)return{label:b,isWorktree:!1,mainName:b,worktreeName:"",canonicalCwd:a};let i=g[1].trim(),j=h.exec(i);if(!j)return{label:b,isWorktree:!1,mainName:b,worktreeName:"",canonicalCwd:a};let k=j[1],l=j[2],m=(0,e.basename)(k)||k;return{label:`${m} (${l})`,isWorktree:!0,mainName:m,worktreeName:l,canonicalCwd:k}}catch{return{label:b,isWorktree:!1,mainName:b,worktreeName:"",canonicalCwd:a}}}function k(a){let b=g.get(a);if(b)return b.label;let c=j(a);return g.set(a,c),c.label}function l(a){return function(a){let b=g.get(a);if(b)return b;let c=j(a);return g.set(a,c),c}(a).canonicalCwd}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},68264:(a,b,c)=>{"use strict";c.d(b,{OverviewToggle:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call OverviewToggle() from the server but OverviewToggle 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/overview-toggle.tsx","OverviewToggle")},69181:(a,b,c)=>{"use strict";c.d(b,{i:()=>f,z:()=>e});let d={inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,requests:0};function e(a){return 0===a.length?{...d}:1===a.length?a[0]:a.reduce((a,b)=>({inputTokens:a.inputTokens+b.inputTokens,outputTokens:a.outputTokens+b.outputTokens,cacheReadTokens:a.cacheReadTokens+b.cacheReadTokens,cacheCreationTokens:a.cacheCreationTokens+b.cacheCreationTokens,totalTokens:a.totalTokens+b.totalTokens,cost:a.cost+b.cost,saved:a.saved+b.saved,requests:a.requests+b.requests}),{...d})}function f(a){if(0===a.length)return[];if(1===a.length)return a[0];let b=new Map;for(let c of a)for(let a of c){let c=b.get(a.key);if(!c){b.set(a.key,{...a,models:{...a.models}});continue}for(let[b,d]of(c.inputTokens+=a.inputTokens,c.outputTokens+=a.outputTokens,c.cacheReadTokens+=a.cacheReadTokens,c.cacheCreationTokens+=a.cacheCreationTokens,c.totalTokens+=a.totalTokens,c.cost+=a.cost,c.saved+=a.saved,c.requests+=a.requests,Object.entries(a.models))){let a=c.models[b]??{tokens:0,cost:0,requests:0};a.tokens+=d.tokens,a.cost+=d.cost,a.requests+=d.requests,c.models[b]=a}}return Array.from(b.values()).sort((a,b)=>a.key.localeCompare(b.key))}},73024:a=>{"use strict";a.exports=require("node:fs")},75268:(a,b,c)=>{"use strict";c.d(b,{RangePicker:()=>h});var d=c(21124),e=c(91377),f=c(15519);let g=[{value:"1d",tk:"range.today"},{value:"7d",tk:"range.7d"},{value:"30d",tk:"range.30d"},{value:"90d",tk:"range.90d"},{value:"all",tk:"range.all"}];function h({defaultValue:a="7d"}){let b=(0,f.kj)();return(0,d.jsx)(e.V,{paramKey:"range",defaultValue:a,options:g,ariaLabel:b("range.label")})}},76559:(a,b,c)=>{"use strict";c.d(b,{PR:()=>g,QE:()=>d,Yb:()=>f});let d=25,e=["timestamp","cost","inputTokens","outputTokens","cacheReadTokens","cacheCreationTokens","totalTokens","callCount","durationMs"];function f(a){return"string"==typeof a&&e.includes(a)}function g(a){if(!a)return 0;let b=Number(a);return!Number.isFinite(b)||b<1?0:Math.floor(b)-1}},76760:a=>{"use strict";a.exports=require("node:path")},80481:a=>{"use strict";a.exports=require("node:readline")},83426:(a,b,c)=>{"use strict";c.d(b,{K:()=>i});var d=c(21124),e=c(42378),f=c(38301),g=c(15514),h=c(15519);function i({paramKey:a,all:b,selected:c,render:i=a=>a,labelAllKey:j,labelSingleKey:k,labelMultiKey:l,ariaLabel:m,searchThreshold:n=6}){let o,p=(0,e.useRouter)(),q=(0,e.usePathname)(),r=(0,e.useSearchParams)(),s=(0,h.kj)(),[t,u]=(0,f.useState)(!1),[v,w]=(0,f.useState)(""),[x,y]=(0,f.useState)(0),z=(0,f.useRef)(null),A=(0,f.useRef)(null),B=(0,f.useRef)(null),C=(0,f.useRef)(null),D=(0,f.useId)(),E=(0,f.useId)(),F=(0,f.useMemo)(()=>{let a=v.trim().toLowerCase();return a?b.filter(b=>i(b).toLowerCase().includes(a)||b.toLowerCase().includes(a)):b},[b,v,i]);function G(b){let c=new URLSearchParams(r.toString());0===b.size?c.delete(a):c.set(a,Array.from(b).join(","));let d=c.toString();p.push(d?`${q}?${d}`:q)}function H(a){let b=new Set(c);b.has(a)?b.delete(a):b.add(a),G(b)}function I(a){if("ArrowDown"===a.key)a.preventDefault(),y(a=>Math.min(F.length-1,a+1));else if("ArrowUp"===a.key)a.preventDefault(),y(a=>Math.max(0,a-1));else if("Enter"===a.key){a.preventDefault();let b=F[x];b&&H(b)}else"Home"===a.key?(a.preventDefault(),y(0)):"End"===a.key&&(a.preventDefault(),y(F.length-1))}o=0===c.length?s(j):1===c.length?s(k,{value:i(c[0])}):s(l,{count:c.length});let J=b.length>=n;return(0,d.jsxs)("div",{ref:z,className:"relative",children:[(0,d.jsxs)("button",{ref:A,id:D,onClick:()=>u(a=>!a),className:"btn focus:outline-none focus-visible:ring-2 focus-visible:ring-brand/40","aria-haspopup":"listbox","aria-expanded":t,"aria-controls":E,"aria-label":m,children:[o,(0,d.jsx)("span",{className:"text-text-tertiary ml-1","aria-hidden":!0,children:"▾"})]}),t&&(0,d.jsxs)("div",{id:E,role:"listbox","aria-multiselectable":"true","aria-labelledby":D,className:"absolute right-0 mt-1 w-72 card border-border-hi shadow-lg z-20 overflow-hidden",children:[c.length>0&&(0,d.jsxs)("div",{className:"px-2 pt-2 pb-1.5 border-b border-border flex flex-wrap gap-1 items-center",children:[c.slice(0,6).map(a=>(0,d.jsxs)("button",{onClick:()=>H(a),className:"inline-flex items-center gap-1 max-w-[160px] pl-2 pr-1.5 py-0.5 text-[11px] rounded-full bg-brand/10 text-brand border border-brand/20 hover:bg-brand/15","aria-label":`Remove ${i(a)}`,title:i(a),children:[(0,d.jsx)("span",{className:"truncate",children:i(a)}),(0,d.jsx)("span",{"aria-hidden":!0,className:"text-brand/70",children:"\xd7"})]},a)),c.length>6&&(0,d.jsxs)("span",{className:"text-[11px] text-text-tertiary px-1",children:["+",c.length-6]}),(0,d.jsx)("button",{onClick:function(){G(new Set)},className:"ml-auto text-[11px] text-text-tertiary hover:text-text-primary px-1.5 py-0.5",children:s("filter.clearAll")})]}),J&&(0,d.jsx)("div",{className:"p-2 border-b border-border",children:(0,d.jsx)("input",{ref:B,value:v,onChange:a=>{w(a.target.value),y(0)},onKeyDown:a=>{("ArrowDown"===a.key||"ArrowUp"===a.key||"Enter"===a.key||"Home"===a.key||"End"===a.key)&&I(a)},placeholder:s("common.searchPlaceholder"),className:"w-full px-2 py-1 text-sm rounded border border-border bg-bg-surface focus:outline-none focus:border-border-hi placeholder:text-text-tertiary text-text-primary"})}),(0,d.jsxs)("div",{ref:C,onKeyDown:I,className:"max-h-64 overflow-y-auto p-1 outline-none",tabIndex:-1,children:[0===F.length&&(0,d.jsx)("div",{className:"text-xs text-text-tertiary px-2 py-3 text-center",children:s("filter.noOptions")}),F.map((a,b)=>{let e=c.includes(a),f=b===x;return(0,d.jsxs)("button",{role:"option","aria-selected":e,onMouseEnter:()=>y(b),onClick:()=>H(a),className:(0,g.cn)("w-full text-left text-sm px-2 py-1.5 rounded flex items-center gap-2 transition-colors",f?"bg-bg-surface-hi":"hover:bg-bg-surface-hi",e&&"text-text-primary"),children:[(0,d.jsx)("span",{className:(0,g.cn)("w-3.5 h-3.5 rounded-sm border flex items-center justify-center text-[10px] flex-shrink-0",e?"bg-brand border-brand text-white":"border-border-hi"),"aria-hidden":!0,children:e?"✓":""}),(0,d.jsx)("span",{className:"truncate",children:i(a)})]},a)})]})]})]})}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},88253:(a,b,c)=>{"use strict";c.d(b,{GranularityPicker:()=>h});var d=c(21124),e=c(91377),f=c(15519);let g=[{value:"hour",tk:"gran.hour"},{value:"day",tk:"gran.day"},{value:"week",tk:"gran.week"},{value:"month",tk:"gran.month"}];function h({defaultValue:a="day"}){let b=(0,f.kj)();return(0,d.jsx)(e.V,{paramKey:"gran",defaultValue:a,options:g,ariaLabel:b("gran.label")})}},88843:(a,b,c)=>{"use strict";c.d(b,{OverviewToggle:()=>i});var d=c(21124),e=c(38301),f=c(15514),g=c(15519);let h="data-usage-overview";function i(){let a=(0,g.kj)(),[b,c]=(0,e.useState)(!1);return(0,d.jsxs)("button",{type:"button",onClick:function(){let a=!b;c(a);try{localStorage.setItem("ccgauge.usage.overview.hidden",a?"1":"0")}catch{}a?document.documentElement.setAttribute(h,"hidden"):document.documentElement.removeAttribute(h)},"aria-pressed":!b,title:a(b?"usage.overview.show":"usage.overview.hide"),className:(0,f.cn)("inline-flex items-center gap-1.5 px-2.5 py-1.5 rounded-button text-xs font-medium","border transition-colors duration-150",b?"border-border bg-bg-surface text-text-secondary hover:text-text-primary hover:bg-bg-surface-hi":"border-brand/40 bg-brand/12 text-brand hover:bg-brand/20 hover:border-brand/60"),children:[(0,d.jsx)(j,{open:!b}),(0,d.jsx)("span",{className:"hidden sm:inline",children:a("usage.overview.label")})]})}function j({open:a}){return(0,d.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:a?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("path",{d:"M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z"}),(0,d.jsx)("circle",{cx:"12",cy:"12",r:"3"})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("path",{d:"M9.88 9.88a3 3 0 0 0 4.24 4.24"}),(0,d.jsx)("path",{d:"M10.73 5.08A11 11 0 0 1 12 5c6.5 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68"}),(0,d.jsx)("path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3.5 7 10 7a9.74 9.74 0 0 0 5.39-1.61"}),(0,d.jsx)("line",{x1:"2",y1:"2",x2:"22",y2:"22"})]})})}},89605:(a,b,c)=>{"use strict";c.d(b,{TokenStackChart:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call TokenStackChart() from the server but TokenStackChart 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/token-stack-chart.tsx","TokenStackChart")},91377:(a,b,c)=>{"use strict";c.d(b,{V:()=>i});var d=c(21124),e=c(42378),f=c(38301),g=c(15514),h=c(15519);function i({paramKey:a,defaultValue:b,options:c,ariaLabel:i}){let j=(0,e.useRouter)(),k=(0,e.usePathname)(),l=(0,e.useSearchParams)(),m=(0,h.kj)(),n=l.get(a)||b,o=c.some(a=>a.value===n)?n:b,p=(0,f.useRef)(null);function q(b){let c=new URLSearchParams(l.toString());c.set(a,b),j.push(`${k}?${c.toString()}`)}return(0,d.jsx)("div",{ref:p,role:"radiogroup","aria-label":i,onKeyDown:function(a){if("ArrowLeft"!==a.key&&"ArrowRight"!==a.key)return;a.preventDefault();let b=(c.findIndex(a=>a.value===o)+("ArrowRight"===a.key?1:-1)+c.length)%c.length;q(c[b].value);let d=p.current?.querySelectorAll('button[role="radio"]');d?.[b]?.focus()},className:"inline-flex rounded-button border border-border bg-bg-surface p-0.5 gap-0.5",children:c.map(a=>{let b=o===a.value;return(0,d.jsx)("button",{role:"radio","aria-checked":b,tabIndex:b?0:-1,onClick:()=>q(a.value),className:(0,g.cn)("px-2.5 py-1 text-xs rounded transition-all","focus:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",b?"bg-brand-strong text-white font-semibold shadow-sm ring-1 ring-brand/40":"text-text-tertiary font-medium hover:text-text-primary hover:bg-bg-surface-hi"),children:m(a.tk)},a.value)})})}},99955:(a,b,c)=>{"use strict";c.d(b,{UsageTable:()=>n});var d=c(21124),e=c(38301),f=c(42378),g=c(15514),h=c(15519),i=c(23312);function j({children:a,content:b,className:c,panelClassName:f,align:h="left",delay:j=100,maxWidth:k=360}){let l=(0,e.useRef)(null),m=(0,e.useRef)(null),n=(0,e.useRef)(null),[o,p]=(0,e.useState)(null),[q,r]=(0,e.useState)(!1),[s,t]=(0,e.useState)(!1);function u(){n.current&&(window.clearTimeout(n.current),n.current=null),s||(m.current=window.setTimeout(()=>{let a=function(){let a,b=l.current;if(!b)return null;let c=b.getBoundingClientRect(),d=Math.min(k,window.innerWidth-16),e=window.innerHeight-c.bottom<200?"top":"bottom";return"right"===h?(a=Math.min(c.right,window.innerWidth-8))-d<8&&(a=d+8):(a=Math.max(c.left,8))+d>window.innerWidth-8&&(a=window.innerWidth-d-8),{x:a,y:"bottom"===e?c.bottom+8:c.top-8,placement:e,align:h}}();a&&(p(a),t(!0))},j))}function v(){m.current&&(window.clearTimeout(m.current),m.current=null),n.current=window.setTimeout(()=>t(!1),80)}return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{ref:l,onMouseEnter:u,onMouseLeave:v,onFocus:u,onBlur:v,className:(0,g.cn)("inline-block",c),children:a}),q&&o&&(0,i.createPortal)((0,d.jsx)("div",{onMouseEnter:()=>{n.current&&(window.clearTimeout(n.current),n.current=null)},onMouseLeave:v,style:{position:"fixed",left:"right"===o.align?void 0:o.x,right:"right"===o.align?window.innerWidth-o.x:void 0,top:"bottom"===o.placement?o.y:void 0,bottom:"top"===o.placement?window.innerHeight-o.y:void 0,maxWidth:k,transform:s?"translateY(0) scale(1)":"bottom"===o.placement?"translateY(-4px) scale(0.98)":"translateY(4px) scale(0.98)",opacity:+!!s,transitionProperty:"opacity, transform",transitionDuration:"120ms",transitionTimingFunction:"cubic-bezier(0.16, 1, 0.3, 1)",transformOrigin:"bottom"===o.placement?"top":"bottom",pointerEvents:s?"auto":"none"},className:(0,g.cn)("z-50 card border-border-hi shadow-xl rounded-button",f),children:b}),document.body)]})}var k=c(41573);let l=[{id:"time",labelKey:"usage.col.time",sortKey:"timestamp",defaultVisible:!0},{id:"duration",labelKey:"usage.col.duration",align:"right",sortKey:"durationMs",defaultVisible:!1},{id:"prompt",labelKey:"usage.col.userMessage",defaultVisible:!0},{id:"model",labelKey:"usage.col.model",defaultVisible:!0},{id:"project",labelKey:"usage.col.project",defaultVisible:!0},{id:"session",labelKey:"usage.col.session",defaultVisible:!1},{id:"calls",labelKey:"usage.col.calls",align:"right",sortKey:"callCount",defaultVisible:!1},{id:"input",labelKey:"usage.col.input",align:"right",sortKey:"inputTokens",defaultVisible:!1},{id:"output",labelKey:"usage.col.output",align:"right",sortKey:"outputTokens",defaultVisible:!1},{id:"cacheRead",labelKey:"usage.col.cacheRead",align:"right",sortKey:"cacheReadTokens",defaultVisible:!1},{id:"cacheWrite",labelKey:"usage.col.cacheWrite",align:"right",sortKey:"cacheCreationTokens",defaultVisible:!1},{id:"total",labelKey:"usage.col.total",align:"right",sortKey:"totalTokens",defaultVisible:!0},{id:"cost",labelKey:"usage.col.cost",align:"right",sortKey:"cost",defaultVisible:!1},{id:"tools",labelKey:"usage.col.tools",defaultVisible:!1}];function m(){return l.reduce((a,b)=>(a[b.id]=b.defaultVisible,a),{})}function n({rows:a,totalCount:b,page:c,pageCount:g,sort:i,query:j}){let n=(0,h.kj)(),{locale:p}=(0,h.s9)(),r=(0,f.useRouter)(),s=(0,f.usePathname)(),t=(0,f.useSearchParams)(),[u,v]=(0,e.useState)(new Set),[w,x]=(0,e.useState)(m),[y,z]=(0,e.useState)(!1),[A,B]=(0,e.useState)(j),C=(0,e.useRef)(null),D=(0,e.useRef)(null);function E(a){let b=new URLSearchParams(t.toString());for(let[c,d]of Object.entries(a))void 0===d||""===d?b.delete(c):b.set(c,d);let c=b.toString();r.push(c?`${s}?${c}`:s)}function F(a){E({page:a>0?String(a+1):void 0})}let G=l.filter(a=>w[a.id]),H=G.length+1,I=G.length;return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3 mb-3 flex-wrap",children:[(0,d.jsx)("input",{value:A,onChange:a=>{var b;B(b=a.target.value),D.current&&window.clearTimeout(D.current),D.current=window.setTimeout(()=>{E({q:b.trim()||void 0,page:void 0})},300)},placeholder:n("common.searchPlaceholder"),className:"px-3 py-1.5 text-sm rounded-button border border-border bg-bg-surface focus:outline-none focus:border-border-hi w-72 placeholder:text-text-tertiary text-text-primary"}),(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("span",{className:"text-xs text-text-tertiary tabular-nums",children:n("common.rows",{count:b.toLocaleString()})}),(0,d.jsxs)("div",{ref:C,className:"relative",children:[(0,d.jsxs)("button",{onClick:()=>z(a=>!a),className:"btn",children:[n("usage.columns.button"),(0,d.jsx)("span",{className:"ml-1 text-text-tertiary tabular-nums",children:I})]}),y&&(0,d.jsxs)("div",{className:"absolute right-0 mt-1 w-56 card border-border-hi shadow-lg p-2 z-30",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-1.5 pb-1.5 mb-1 border-b border-border",children:[(0,d.jsx)("span",{className:"text-xs text-text-tertiary uppercase tracking-wide",children:n("usage.columns.title")}),(0,d.jsx)("button",{onClick:()=>x(m()),className:"text-xs text-text-tertiary hover:text-text-primary",children:n("usage.columns.reset")})]}),(0,d.jsx)("div",{className:"max-h-72 overflow-auto",children:l.map(a=>(0,d.jsxs)("label",{className:"flex items-center gap-2 px-1.5 py-1.5 text-sm rounded hover:bg-bg-surface-hi cursor-pointer",children:[(0,d.jsx)("input",{type:"checkbox",checked:!!w[a.id],onChange:b=>x(c=>({...c,[a.id]:b.target.checked})),className:"accent-brand"}),(0,d.jsx)("span",{className:"text-text-secondary",children:n(a.labelKey)})]},a.id))})]})]}),(0,d.jsx)("button",{onClick:function(){let a=new URLSearchParams(t.toString());window.location.href=`/api/export/usage?${a.toString()}`},className:"btn",children:n("common.exportCsv")})]})]}),(0,d.jsx)("div",{className:"card overflow-hidden",children:(0,d.jsx)(k.H,{children:(0,d.jsxs)("table",{className:"w-full text-sm",children:[(0,d.jsx)("thead",{children:(0,d.jsxs)("tr",{className:"border-b border-border bg-bg-surface-hi/30",children:[(0,d.jsx)(q,{children:(0,d.jsx)("span",{className:"sr-only",children:"expand"})}),G.map(a=>(0,d.jsx)(q,{align:a.align,sorted:!!a.sortKey&&i.key===a.sortKey,dir:i.dir,onClick:a.sortKey?()=>{var b;let c;return b=a.sortKey,c="desc",void(i.key===b&&(c="asc"===i.dir?"desc":"asc"),E({sort:"timestamp"===b?void 0:b,dir:"desc"===c?void 0:c,page:void 0}))}:void 0,children:n(a.labelKey)},a.id))]})}),(0,d.jsxs)("tbody",{children:[a.map(a=>{let b=u.has(a.turnId),c=a.userText.trim()||n("usage.turn.noPrompt");return(0,d.jsx)(o,{turn:a,isOpen:b,onToggle:()=>{var b;return b=a.turnId,void v(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},userText:c,expandLabel:n("usage.turn.expand"),collapseLabel:n("usage.turn.collapse"),activeColumns:G,locale:p,t:n},a.turnId)}),0===a.length&&(0,d.jsx)("tr",{children:(0,d.jsx)("td",{colSpan:H,className:"px-3 py-8 text-center text-text-tertiary text-sm",children:n("common.noMatchingRows")})})]})]})})}),g>1&&(0,d.jsxs)("div",{className:"flex items-center justify-between mt-3 text-xs text-text-secondary",children:[(0,d.jsx)("span",{children:n("common.pageOf",{page:c+1,total:g})}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{onClick:()=>F(0),disabled:0===c,className:"btn-ghost disabled:opacity-40",children:n("common.first")}),(0,d.jsx)("button",{onClick:()=>F(c-1),disabled:0===c,className:"btn-ghost disabled:opacity-40",children:n("common.prev")}),(0,d.jsx)("button",{onClick:()=>F(c+1),disabled:c>=g-1,className:"btn-ghost disabled:opacity-40",children:n("common.next")}),(0,d.jsx)("button",{onClick:()=>F(g-1),disabled:c>=g-1,className:"btn-ghost disabled:opacity-40",children:n("common.last")})]})]})]})}function o({turn:a,isOpen:b,onToggle:c,userText:e,expandLabel:f,collapseLabel:h,activeColumns:i,locale:k,t:l}){let m=(1===a.models.length?(0,g.P6)(a.models[0]):`${(0,g.P6)(a.models[0])} +${a.models.length-1}`)+(a.efforts.length?1===a.efforts.length?` \xb7 ${a.efforts[0]}`:` \xb7 ${a.efforts[0]}+${a.efforts.length-1}`:""),n=a.toolNames.length?a.toolNames.slice(0,3).join(", ")+(a.toolNames.length>3?"…":""):"—";return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("tr",{className:"border-b border-border last:border-b-0 hover:bg-bg-surface-hi/40 cursor-pointer",onClick:c,children:[(0,d.jsx)("td",{className:"px-2 py-2 text-text-tertiary w-6 text-center select-none",children:(0,d.jsx)("span",{title:b?h:f,className:"inline-block w-4",children:b?"▾":"▸"})}),i.map(b=>(0,d.jsx)("td",{className:(0,g.cn)("px-3 py-2","right"===b.align?"text-right":"text-left"),children:function(a,b,c,e,f,h,i){switch(a){case"time":return(0,d.jsx)("span",{className:"num-mono text-text-secondary whitespace-nowrap text-xs",title:`started ${(0,g.r6)(b.timestamp)}
|
|
3
|
-
ended ${(0,g.r6)(b.endTimestamp)}`,children:(0,g.r6)(b.timestamp)});case"duration":return(0,d.jsx)("span",{className:"num-mono text-text-secondary whitespace-nowrap text-xs",title:`${(0,g.r6)(b.timestamp)} → ${(0,g.r6)(b.endTimestamp)}`,children:(0,g.a3)(b.durationMs)});case"prompt":return(0,d.jsx)(j,{maxWidth:460,panelClassName:"p-3 text-sm text-text-secondary leading-relaxed",content:(0,d.jsx)("div",{className:"whitespace-pre-wrap break-words",children:f}),children:(0,d.jsx)("span",{className:"block text-text-secondary truncate max-w-[280px]",children:f})});case"model":return(0,d.jsx)("span",{className:"text-text-primary whitespace-nowrap",children:c});case"project":return(0,d.jsx)("span",{className:"block text-text-secondary truncate max-w-[180px]",title:b.cwd,children:b.projectLabel||(0,g.PJ)(b.cwd)});case"session":return(0,d.jsx)("span",{className:"num-mono text-text-tertiary text-xs",title:b.sessionId,children:(0,g.BC)(b.sessionId)});case"calls":return(0,d.jsx)("span",{className:"num-mono text-text-secondary",children:b.callCount});case"input":return(0,d.jsx)("span",{className:"num-mono text-text-secondary",children:(0,g.jh)(b.inputTokens,h)});case"output":return(0,d.jsx)("span",{className:"num-mono text-text-secondary",children:(0,g.jh)(b.outputTokens,h)});case"cacheRead":return(0,d.jsx)("span",{className:"num-mono text-success",children:(0,g.jh)(b.cacheReadTokens,h)});case"cacheWrite":return(0,d.jsx)("span",{className:"num-mono text-text-secondary",children:(0,g.jh)(b.cacheCreationTokens,h)});case"total":return(0,d.jsx)(j,{align:"right",maxWidth:300,panelClassName:"p-0 overflow-hidden",content:(0,d.jsx)(p,{row:b,locale:h,t:i}),children:(0,d.jsx)("span",{className:"num-mono text-text-primary font-medium border-b border-dashed border-border hover:border-text-tertiary cursor-help",children:(0,g.jh)(b.totalTokens,h)})});case"cost":return(0,d.jsx)("span",{className:"num-mono text-text-primary font-medium",children:(0,g.l7)(b.cost)});case"tools":return(0,d.jsx)("span",{className:"block text-xs text-text-tertiary truncate max-w-[160px]",title:b.toolNames.join(", "),children:e})}}(b.id,a,m,n,e,k,l)},b.id))]}),b&&a.children.map(b=>(0,d.jsxs)("tr",{className:"border-b border-border last:border-b-0 bg-bg-surface-hi/20 text-text-tertiary",children:[(0,d.jsx)("td",{className:"px-2 py-1.5 w-6"}),i.map(c=>(0,d.jsx)("td",{className:(0,g.cn)("px-3 py-1.5","right"===c.align?"text-right":"text-left"),children:function(a,b,c,e,f){switch(a){case"time":return(0,d.jsx)("span",{className:"num-mono whitespace-nowrap text-xs inline-block translate-x-5",children:(0,g.r6)(b.timestamp)});case"duration":return(0,d.jsx)("span",{className:"text-xs text-text-tertiary",children:"—"});case"prompt":{let a=(b.directPrompt??"").trim();if(a&&a!==c.trim())return(0,d.jsx)("span",{className:"block text-xs text-text-secondary truncate max-w-[320px]",title:a,children:a});if(!b.toolNames.length)return(0,d.jsx)("span",{className:"text-xs text-text-tertiary",children:"—"});let e=b.toolNames.join(", "),f=b.toolNames.slice(0,3).join(", ")+(b.toolNames.length>3?"…":"");return(0,d.jsx)("span",{className:"block text-xs text-text-secondary truncate max-w-[280px]",title:e,children:f})}case"model":return(0,d.jsxs)("span",{className:"whitespace-nowrap",children:[(0,g.P6)(b.model),b.effort?` \xb7 ${b.effort}`:""]});case"project":return(0,d.jsx)("span",{className:"block truncate max-w-[180px]",title:b.cwd,children:b.projectLabel||(0,g.PJ)(b.cwd)});case"session":return(0,d.jsx)("span",{className:"num-mono text-xs",title:b.sessionId,children:(0,g.BC)(b.sessionId)});case"calls":return(0,d.jsx)("span",{className:"num-mono",children:"1"});case"input":return(0,d.jsx)("span",{className:"num-mono",children:(0,g.jh)(b.inputTokens,e)});case"output":return(0,d.jsx)("span",{className:"num-mono",children:(0,g.jh)(b.outputTokens,e)});case"cacheRead":return(0,d.jsx)("span",{className:"num-mono text-success",children:(0,g.jh)(b.cacheReadTokens,e)});case"cacheWrite":return(0,d.jsx)("span",{className:"num-mono",children:(0,g.jh)(b.cacheCreationTokens,e)});case"total":return(0,d.jsx)(j,{align:"right",maxWidth:300,panelClassName:"p-0 overflow-hidden",content:(0,d.jsx)(p,{row:b,locale:e,t:f}),children:(0,d.jsx)("span",{className:"num-mono border-b border-dashed border-border/60 hover:border-text-tertiary cursor-help",children:(0,g.jh)(b.totalTokens,e)})});case"cost":return(0,d.jsx)("span",{className:"num-mono",children:(0,g.l7)(b.cost)});case"tools":return(0,d.jsx)("span",{className:"block text-xs truncate max-w-[160px]",title:b.toolNames.join(", "),children:b.toolNames.length?b.toolNames.join(", "):"—"})}}(c.id,b,a.userText,k,l)},c.id))]},b.uuid))]})}function p({row:a,locale:b,t:c}){let f=[{key:"input",label:c("usage.col.input"),tokens:a.inputTokens,cost:a.costInput,tone:"text-text-primary",dot:"bg-chart-input"},{key:"output",label:c("usage.col.output"),tokens:a.outputTokens,cost:a.costOutput,tone:"text-text-primary",dot:"bg-chart-output"},{key:"cacheRead",label:c("usage.col.cacheRead"),tokens:a.cacheReadTokens,cost:a.costCacheRead,tone:"text-success",dot:"bg-chart-cache-read"},{key:"cacheWrite",label:c("usage.col.cacheWrite"),tokens:a.cacheCreationTokens,cost:a.costCacheWrite,tone:"text-text-primary",dot:"bg-chart-cache-create"}];return(0,d.jsxs)("div",{className:"text-xs",children:[(0,d.jsx)("div",{className:"px-3 py-2 border-b border-border bg-bg-surface-hi/40 text-text-tertiary uppercase tracking-wide font-medium",children:c("usage.breakdown.title")}),(0,d.jsxs)("div",{className:"px-3 py-2",children:[(0,d.jsxs)("div",{className:"grid grid-cols-[auto_1fr_auto] gap-x-3 gap-y-1.5 items-center",children:[(0,d.jsx)("span",{}),(0,d.jsx)("span",{className:"text-text-tertiary text-[10px] uppercase tracking-wide text-right",children:c("usage.breakdown.headerTokens")}),(0,d.jsx)("span",{className:"text-text-tertiary text-[10px] uppercase tracking-wide text-right",children:c("usage.breakdown.headerCost")}),f.map(f=>(0,d.jsxs)(e.Fragment,{children:[(0,d.jsxs)("span",{className:"inline-flex items-center gap-2 text-text-secondary",children:[(0,d.jsx)("span",{className:(0,g.cn)("w-2 h-2 rounded-sm",f.dot)}),f.label]}),(0,d.jsx)("span",{className:(0,g.cn)("num-mono text-right",f.tone),children:(0,g.jh)(f.tokens,b)}),(0,d.jsx)("span",{className:"num-mono text-right text-text-secondary",children:(0,g.l7)(f.cost)}),"output"===f.key&&a.reasoningTokens>0&&(0,d.jsxs)(e.Fragment,{children:[(0,d.jsxs)("span",{className:"inline-flex items-center gap-2 text-text-tertiary pl-4 text-[11px]",children:[(0,d.jsx)("span",{className:"text-text-tertiary",children:"↳"}),c("usage.breakdown.reasoning")]}),(0,d.jsx)("span",{className:"num-mono text-right text-text-tertiary text-[11px]",children:(0,g.jh)(a.reasoningTokens,b)}),(0,d.jsx)("span",{className:"text-right text-text-tertiary text-[11px]",children:c("usage.breakdown.reasoningNote")})]},"reasoning-detail")]},f.key))]}),(0,d.jsxs)("div",{className:"mt-2 pt-2 border-t border-border grid grid-cols-[auto_1fr_auto] gap-x-3 items-center",children:[(0,d.jsx)("span",{className:"text-text-secondary font-medium",children:c("usage.breakdown.total")}),(0,d.jsx)("span",{className:"num-mono text-right text-text-primary font-medium",children:(0,g.jh)(a.totalTokens,b)}),(0,d.jsx)("span",{className:"num-mono text-right text-text-primary font-medium",children:(0,g.l7)(a.cost)})]})]})]})}function q({children:a,align:b="left",sorted:c,dir:e,onClick:f}){return(0,d.jsx)("th",{className:(0,g.cn)("px-3 py-2 text-xs font-medium text-text-tertiary uppercase tracking-wide whitespace-nowrap","right"===b?"text-right":"text-left",f&&"cursor-pointer hover:text-text-primary select-none"),onClick:f,children:(0,d.jsxs)("span",{className:"inline-flex items-center gap-1",children:[a,c&&(0,d.jsx)("span",{className:"text-[10px]",children:"asc"===e?"▲":"▼"})]})})}}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[331,802,153,993,517,716,98,567
|
|
1
|
+
(()=>{var a={};a.id=430,a.ids=[430],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")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14843:(a,b,c)=>{"use strict";c.d(b,{N0:()=>g,go:()=>h});var d=c(50160),e=c(30285),f=c(62955);function g(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 h(a,b,c){let g=(0,e.o)(a,b,c),h=new Map;for(let a of b)h.set(a.uuid,a);let i=new Map,j=new Map,k=new Map;for(let b of a){let a=g.get(b.uuid)??b.uuid,e=(0,d.SI)(b),l=function(a){let b=i.get(a);if(void 0!==b)return b;let d=[],e=a,f="",g=new Set;for(;e&&!g.has(e);){g.add(e);let a=i.get(e);if(void 0!==a){f=a;break}d.push(e);let b=h.get(e);if(b&&b.textPreview&&b.textPreview.trim()){f=b.textPreview;break}e=c[e]??null}for(let a of d)i.set(a,f);return f}(b.uuid),m={uuid:b.uuid,timestamp:b.timestamp,source:b.source,model:b.model,cwd:b.cwd,projectLabel:(0,f.CL)(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:e.total,costInput:e.input,costOutput:e.output,costCacheRead:e.cacheRead,costCacheWrite:e.cacheCreation5m+e.cacheCreation1h,toolNames:b.toolNames,effort:b.effort,directPrompt:l||void 0},n=j.get(a);n?n.push(m):j.set(a,[m]),k.has(a)||k.set(a,b)}let l=[];for(let[a,b]of j){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,i=new Set,j=0,k=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&&i.add(a.effort),j+=a.inputTokens,k+=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=h.get(a),v=new Date(c.timestamp).getTime(),w=new Date(d.timestamp).getTime(),x=Number.isFinite(v)&&Number.isFinite(w)?Math.max(0,w-v):0;l.push({turnId:a,timestamp:c.timestamp,endTimestamp:d.timestamp,durationMs:x,cwd:c.cwd,projectLabel:(0,f.CL)(c.cwd),sessionId:c.sessionId,models:Array.from(e),callCount:b.length,inputTokens:j,outputTokens:k,cacheReadTokens:m,cacheCreationTokens:n,reasoningTokens:o,totalTokens:j+k+m+n,cost:p,costInput:q,costOutput:r,costCacheRead:s,costCacheWrite:t,toolNames:Array.from(g),efforts:Array.from(i),userText:u?.textPreview??"",children:b})}return l.sort((a,b)=>a.timestamp<b.timestamp?1:-1),l}},18710:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>C,dynamic:()=>A,revalidate:()=>B});var d=c(75338),e=c(49098),f=c(67803),g=c(62955),h=c(37583),i=c(89605),j=c(21092),k=c(14843),l=c(58258),m=c(40236),n=c(49863),o=c(36666),p=c(21966),q=c(80489),r=c(95012),s=c(91719),t=c(55340),u=c(46796),v=c(69181),w=c(60704),x=c(62035),y=c(68264),z=c(76559);let A="force-dynamic",B=0;async function C({searchParams:a}){let b=await a,c=await (0,u.ev)(b.source),A=(0,m.UF)(b.range,"7d"),B=(0,f.bo)(b.gran)?b.gran:"1d"===A?"hour":"day",C=b.models?b.models.split(",").filter(Boolean):[],D=b.projects?b.projects.split(",").filter(Boolean):[],E=(b.q||"").trim(),F=b.sort&&(0,z.Yb)(b.sort)?b.sort:"timestamp",G="asc"===b.dir?"asc":"desc",H=(0,z.PR)(b.page),I=await (0,s.yO)(),J=await (0,s.sG)(),K=await (0,e.So)(),L=(0,u.rY)(K.records,c),M=(0,u.rY)(K.userRecords,c),N=(0,m.Cw)(A),O=(0,u.n$)(c),P=new Set(D),Q=D.length?L.filter(a=>P.has((0,g.tv)(a.cwd))):L,R={from:N.from,to:N.to,models:C.length?C:void 0},S=(0,v.z)(O.map(a=>(0,f.$M)(Q,{...R,source:a}))),T=(0,v.i)(O.map(a=>(0,f.a6)(Q,B,{...R,source:a}))).map(a=>({label:a.label,input:a.inputTokens,output:a.outputTokens,cacheRead:a.cacheReadTokens,cacheCreation:a.cacheCreationTokens,cost:a.cost,requests:a.requests})),U=Q.filter(a=>!(N.from&&a.timestamp<N.from.toISOString())&&(!C.length||!!C.includes(a.model))),V=function(a,b,c){let d=a.slice();return d.sort((a,d)=>{let e="timestamp"===b?a.timestamp:a[b],f="timestamp"===b?d.timestamp:d[b];return e===f?0:("asc"===c?1:-1)*(e<f?-1:1)}),d}(function(a,b){if(!b)return a;let c=b.toLowerCase();return a.filter(a=>a.userText.toLowerCase().includes(c)||a.cwd.toLowerCase().includes(c)||a.sessionId.toLowerCase().includes(c)||a.models.some(a=>a.toLowerCase().includes(c))||a.toolNames.some(a=>a.toLowerCase().includes(c)))}((0,k.go)(U,M,K.parentMap),E),F,G),W=V.length,X=Math.max(1,Math.ceil(W/z.QE)),Y=Math.min(H,X-1),Z=V.slice(Y*z.QE,(Y+1)*z.QE),$=Array.from(new Set(L.map(a=>a.model))).sort(),_=Array.from(new Set(L.map(a=>(0,g.tv)(a.cwd)).filter(Boolean))).sort(),aa=S.totalTokens>0?S.cacheReadTokens/Math.max(1,S.cacheReadTokens+S.inputTokens+S.cacheCreationTokens):0,ab="all"===c?"":(0,w.sO)(c).costFootnoteKey?I((0,w.sO)(c).costFootnoteKey):"";return(0,d.jsxs)(h.qK,{title:I("usage.title"),desc:I("usage.subtitle",{count:W.toLocaleString()}),right:(0,d.jsxs)("div",{className:"flex items-center gap-3 flex-wrap",children:[(0,d.jsx)(y.OverviewToggle,{}),(0,d.jsx)(o.ModelFilter,{all:$,selected:C}),(0,d.jsx)(p.ProjectFilter,{all:_,selected:D}),(0,d.jsx)(l.RangePicker,{defaultValue:"7d"})]}),children:[(0,d.jsx)(x.AutoRefresh,{intervalMs:15e3}),0===L.length?(0,d.jsx)(h.pp,{title:I("common.empty.title"),desc:I("common.empty.desc")}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"usage-overview-block contents",children:[(0,d.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 mt-4",children:[(0,d.jsx)(q.n,{label:I("usage.kpi.totalTokens"),value:(0,r.jh)(S.totalTokens,J)}),(0,d.jsx)(q.n,{label:I("usage.kpi.totalCost"),value:(0,r.az)(S.cost),hint:ab||void 0}),(0,d.jsx)(q.n,{label:I("usage.kpi.cacheSaved"),value:(0,r.az)(S.saved),accent:"success"}),(0,d.jsx)(q.n,{label:I("usage.kpi.cacheHit"),value:(0,r.R8)(aa,0),accent:"success"})]}),(0,d.jsx)(h.wn,{title:I("usage.trend"),desc:I("usage.trend.gran",{gran:(0,t.nA)(J,`gran.${B}`)}),right:(0,d.jsx)(n.GranularityPicker,{defaultValue:B}),className:"mt-4",children:(0,d.jsx)(i.TokenStackChart,{data:T})})]}),(0,d.jsx)(h.wn,{title:I("usage.requests.title"),desc:I("usage.requests.desc"),children:(0,d.jsx)(j.UsageTable,{rows:Z,totalCount:W,page:Y,pageCount:X,sort:{key:F,dir:G},query:E})})]})]})}},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},20976:(a,b,c)=>{Promise.resolve().then(c.bind(c,62035)),Promise.resolve().then(c.bind(c,89605)),Promise.resolve().then(c.bind(c,49863)),Promise.resolve().then(c.bind(c,36666)),Promise.resolve().then(c.bind(c,68264)),Promise.resolve().then(c.bind(c,21966)),Promise.resolve().then(c.bind(c,58258)),Promise.resolve().then(c.bind(c,21092))},21092:(a,b,c)=>{"use strict";c.d(b,{UsageTable:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call UsageTable() from the server but UsageTable 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/usage-table.tsx","UsageTable")},21966:(a,b,c)=>{"use strict";c.d(b,{ProjectFilter:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call ProjectFilter() from the server but ProjectFilter 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/project-filter.tsx","ProjectFilter")},24919:(a,b,c)=>{"use strict";c.d(b,{TokenStackChart:()=>o});var d=c(21124),e=c(6077),f=c(72400),g=c(57495),h=c(59296),i=c(16803),j=c(11767),k=c(18311),l=c(15514),m=c(15519);let n={input:"rgb(var(--chart-input))",output:"rgb(var(--chart-output))",cacheRead:"rgb(var(--chart-cache-read))",cacheCreation:"rgb(var(--chart-cache-create))"};function o({data:a,height:b="h-72"}){let c=(0,m.kj)(),{locale:o}=(0,m.s9)();return a.length?(0,d.jsxs)("div",{className:`${b} w-full`,children:[(0,d.jsx)(e.u,{width:"100%",height:"100%",children:(0,d.jsxs)(f.E,{data:a,margin:{top:12,right:8,bottom:4,left:8},barCategoryGap:"22%",children:[(0,d.jsx)(g.d,{stroke:"rgb(var(--chart-grid))",strokeOpacity:.6,strokeDasharray:"3 3",vertical:!1}),(0,d.jsx)(h.W,{dataKey:"label",tick:{fill:"rgb(var(--chart-axis))",fontSize:11},tickLine:!1,axisLine:!1,interval:"preserveStartEnd",minTickGap:32,tickMargin:8}),(0,d.jsx)(i.h,{tickFormatter:a=>(0,l.jh)(Number(a),o),tick:{fill:"rgb(var(--chart-axis))",fontSize:11},tickLine:!1,axisLine:!1,width:56,tickMargin:4}),(0,d.jsx)(j.m,{content:(0,d.jsx)(q,{}),cursor:{fill:"rgb(var(--text-primary) / 0.05)",radius:4}}),(0,d.jsx)(k.y,{dataKey:"input",stackId:"a",fill:n.input,isAnimationActive:!1}),(0,d.jsx)(k.y,{dataKey:"cacheCreation",stackId:"a",fill:n.cacheCreation,isAnimationActive:!1}),(0,d.jsx)(k.y,{dataKey:"cacheRead",stackId:"a",fill:n.cacheRead,isAnimationActive:!1}),(0,d.jsx)(k.y,{dataKey:"output",stackId:"a",fill:n.output,radius:[4,4,0,0],isAnimationActive:!1})]})}),(0,d.jsxs)("div",{className:"flex items-center flex-wrap justify-center gap-4 text-xs text-text-secondary mt-2",children:[(0,d.jsx)(p,{color:n.input,label:c("chart.legend.input")}),(0,d.jsx)(p,{color:n.cacheCreation,label:c("chart.legend.cacheWrite")}),(0,d.jsx)(p,{color:n.cacheRead,label:c("chart.legend.cacheRead")}),(0,d.jsx)(p,{color:n.output,label:c("chart.legend.output")})]})]}):(0,d.jsx)("div",{className:`${b} flex items-center justify-center text-text-tertiary text-sm`,children:c("chart.empty")})}function p({color:a,label:b}){return(0,d.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,d.jsx)("span",{className:"w-2.5 h-2.5 rounded-sm",style:{background:a}}),(0,d.jsx)("span",{children:b})]})}function q(a){let b=(0,m.kj)(),{locale:c}=(0,m.s9)();if(!a.active||!a.payload||!a.payload.length)return null;let e=a.payload[0].payload,f=e.input+e.output+e.cacheRead+e.cacheCreation;return(0,d.jsxs)("div",{className:"card-elevated border border-border-hi rounded-card p-3 text-xs min-w-[200px]",children:[(0,d.jsx)("div",{className:"font-medium text-text-primary mb-2",children:a.label}),(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)(r,{color:n.input,label:b("chart.legend.input"),value:e.input,locale:c}),(0,d.jsx)(r,{color:n.cacheCreation,label:b("chart.legend.cacheWrite"),value:e.cacheCreation,locale:c}),(0,d.jsx)(r,{color:n.cacheRead,label:b("chart.legend.cacheRead"),value:e.cacheRead,locale:c}),(0,d.jsx)(r,{color:n.output,label:b("chart.legend.output"),value:e.output,locale:c})]}),(0,d.jsxs)("div",{className:"mt-2 pt-2 border-t border-border flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-text-secondary",children:b("chart.tooltip.total")}),(0,d.jsx)("span",{className:"num-mono text-text-primary",children:(0,l.jh)(f,c)})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between mt-1",children:[(0,d.jsx)("span",{className:"text-text-secondary",children:b("chart.tooltip.cost")}),(0,d.jsx)("span",{className:"num-mono text-brand",children:(0,l.az)(e.cost)})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between mt-1",children:[(0,d.jsx)("span",{className:"text-text-secondary",children:b("chart.tooltip.requests")}),(0,d.jsx)("span",{className:"num-mono text-text-primary",children:e.requests})]})]})}function r({color:a,label:b,value:c,locale:e}){return(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,d.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-text-secondary",children:[(0,d.jsx)("span",{className:"w-2 h-2 rounded-sm",style:{background:a}}),b]}),(0,d.jsx)("span",{className:"num-mono text-text-primary",children:(0,l.jh)(c,e)})]})}},24961:(a,b,c)=>{"use strict";c.d(b,{AutoRefresh:()=>f});var d=c(38301),e=c(42378);function f({intervalMs:a=15e3}){return(0,e.useRouter)(),(0,d.useRef)(!1),null}},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")},30285:(a,b,c)=>{"use strict";function d(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}c.d(b,{o:()=>d})},32560:(a,b,c)=>{"use strict";c.d(b,{ProjectFilter:()=>h});var d=c(21124),e=c(83426),f=c(15514),g=c(15519);function h({all:a,selected:b}){let c=(0,g.kj)();return(0,d.jsx)(e.K,{paramKey:"projects",all:a,selected:b,render:f.PJ,labelAllKey:"filter.projectAll",labelSingleKey:"filter.projectSingle",labelMultiKey:"filter.projectMulti",ariaLabel:c("filter.projectLabel")})}},32900:(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:["usage",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,18710)),"/Users/zuopeng.cheng/personal/workspace/ccgauge/app/usage/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(c.bind(c,67302)),"/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/usage/page.tsx"],J={require:c,loadChunk:()=>Promise.resolve()},K=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/usage/page",pathname:"/usage",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:H},distDir:".next",relativeProjectDir:""});async function L(a,b,d){var C;let G="/usage/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}}},33873:a=>{"use strict";a.exports=require("path")},36666:(a,b,c)=>{"use strict";c.d(b,{ModelFilter:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call ModelFilter() from the server but ModelFilter 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/model-filter.tsx","ModelFilter")},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",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"})]})}},39472:(a,b,c)=>{"use strict";c.d(b,{ModelFilter:()=>h});var d=c(21124),e=c(83426),f=c(15514),g=c(15519);function h({all:a,selected:b}){let c=(0,g.kj)();return(0,d.jsx)(e.K,{paramKey:"models",all:a,selected:b,render:f.P6,labelAllKey:"filter.modelAll",labelSingleKey:"filter.modelSingle",labelMultiKey:"filter.modelMulti",ariaLabel:c("filter.modelLabel")})}},40236:(a,b,c)=>{"use strict";c.d(b,{Cw:()=>g,UF:()=>f,dg:()=>e});let d=["1d","7d","30d","90d","all"];function e(a){return"string"==typeof a&&d.includes(a)}function f(a,b="7d"){return e(a)?a:b}function g(a){let b=new Date;if("all"===a)return{};if("1d"===a)return{from:new Date(b.getFullYear(),b.getMonth(),b.getDate())};let c=a.match(/^(\d+)([dwm])$/);if(!c)return{};let d=parseInt(c[1],10),e=c[2],f=new Date(b);return"d"===e?f.setDate(f.getDate()-d):"w"===e?f.setDate(f.getDate()-7*d):"m"===e&&f.setMonth(f.getMonth()-d),{from:f}}},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41573:(a,b,c)=>{"use strict";c.d(b,{H:()=>g});var d=c(21124),e=c(38301),f=c(15514);function g({children:a,className:b}){let c=(0,e.useRef)(null),[g,h]=(0,e.useState)(!1),[i,j]=(0,e.useState)(!1);return(0,d.jsxs)("div",{className:(0,f.cn)("relative",b),children:[(0,d.jsx)("div",{ref:c,className:"overflow-x-auto",children:a}),(0,d.jsx)("div",{"aria-hidden":!0,className:(0,f.cn)("pointer-events-none absolute left-0 top-0 bottom-0 w-8 bg-gradient-to-r from-bg-surface to-transparent transition-opacity duration-150",g?"opacity-100":"opacity-0")}),(0,d.jsx)("div",{"aria-hidden":!0,className:(0,f.cn)("pointer-events-none absolute right-0 top-0 bottom-0 w-8 bg-gradient-to-l from-bg-surface to-transparent transition-opacity duration-150",i?"opacity-100":"opacity-0")})]})}},48161:a=>{"use strict";a.exports=require("node:os")},49863:(a,b,c)=>{"use strict";c.d(b,{GranularityPicker:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call GranularityPicker() from the server but GranularityPicker 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/granularity-picker.tsx","GranularityPicker")},55824:(a,b,c)=>{Promise.resolve().then(c.bind(c,24961)),Promise.resolve().then(c.bind(c,24919)),Promise.resolve().then(c.bind(c,88253)),Promise.resolve().then(c.bind(c,39472)),Promise.resolve().then(c.bind(c,88843)),Promise.resolve().then(c.bind(c,32560)),Promise.resolve().then(c.bind(c,75268)),Promise.resolve().then(c.bind(c,99955))},58258:(a,b,c)=>{"use strict";c.d(b,{RangePicker:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call RangePicker() from the server but RangePicker 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/range-picker.tsx","RangePicker")},62035:(a,b,c)=>{"use strict";c.d(b,{AutoRefresh:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call AutoRefresh() from the server but AutoRefresh 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/auto-refresh.tsx","AutoRefresh")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},68264:(a,b,c)=>{"use strict";c.d(b,{OverviewToggle:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call OverviewToggle() from the server but OverviewToggle 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/overview-toggle.tsx","OverviewToggle")},69181:(a,b,c)=>{"use strict";c.d(b,{i:()=>f,z:()=>e});let d={inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,requests:0};function e(a){return 0===a.length?{...d}:1===a.length?a[0]:a.reduce((a,b)=>({inputTokens:a.inputTokens+b.inputTokens,outputTokens:a.outputTokens+b.outputTokens,cacheReadTokens:a.cacheReadTokens+b.cacheReadTokens,cacheCreationTokens:a.cacheCreationTokens+b.cacheCreationTokens,totalTokens:a.totalTokens+b.totalTokens,cost:a.cost+b.cost,saved:a.saved+b.saved,requests:a.requests+b.requests}),{...d})}function f(a){if(0===a.length)return[];if(1===a.length)return a[0];let b=new Map;for(let c of a)for(let a of c){let c=b.get(a.key);if(!c){b.set(a.key,{...a,models:function(a){let b={};for(let[c,d]of Object.entries(a))b[c]={tokens:d.tokens,cost:d.cost,requests:d.requests};return b}(a.models)});continue}for(let[b,d]of(c.inputTokens+=a.inputTokens,c.outputTokens+=a.outputTokens,c.cacheReadTokens+=a.cacheReadTokens,c.cacheCreationTokens+=a.cacheCreationTokens,c.totalTokens+=a.totalTokens,c.cost+=a.cost,c.saved+=a.saved,c.requests+=a.requests,Object.entries(a.models))){let a=c.models[b]??{tokens:0,cost:0,requests:0};a.tokens+=d.tokens,a.cost+=d.cost,a.requests+=d.requests,c.models[b]=a}}return Array.from(b.values()).sort((a,b)=>a.key.localeCompare(b.key))}},73024:a=>{"use strict";a.exports=require("node:fs")},75268:(a,b,c)=>{"use strict";c.d(b,{RangePicker:()=>h});var d=c(21124),e=c(91377),f=c(15519);let g=[{value:"1d",tk:"range.today"},{value:"7d",tk:"range.7d"},{value:"30d",tk:"range.30d"},{value:"90d",tk:"range.90d"},{value:"all",tk:"range.all"}];function h({defaultValue:a="7d"}){let b=(0,f.kj)();return(0,d.jsx)(e.V,{paramKey:"range",defaultValue:a,options:g,ariaLabel:b("range.label")})}},76559:(a,b,c)=>{"use strict";c.d(b,{PR:()=>g,QE:()=>d,Yb:()=>f});let d=25,e=["timestamp","cost","inputTokens","outputTokens","cacheReadTokens","cacheCreationTokens","totalTokens","callCount","durationMs"];function f(a){return"string"==typeof a&&e.includes(a)}function g(a){if(!a)return 0;let b=Number(a);return!Number.isFinite(b)||b<1?0:Math.floor(b)-1}},76760:a=>{"use strict";a.exports=require("node:path")},80481:a=>{"use strict";a.exports=require("node:readline")},83426:(a,b,c)=>{"use strict";c.d(b,{K:()=>i});var d=c(21124),e=c(42378),f=c(38301),g=c(15514),h=c(15519);function i({paramKey:a,all:b,selected:c,render:i=a=>a,labelAllKey:j,labelSingleKey:k,labelMultiKey:l,ariaLabel:m,searchThreshold:n=6}){let o,p=(0,e.useRouter)(),q=(0,e.usePathname)(),r=(0,e.useSearchParams)(),s=(0,h.kj)(),[t,u]=(0,f.useState)(!1),[v,w]=(0,f.useState)(""),[x,y]=(0,f.useState)(0),z=(0,f.useRef)(null),A=(0,f.useRef)(null),B=(0,f.useRef)(null),C=(0,f.useRef)(null),D=(0,f.useId)(),E=(0,f.useId)(),F=(0,f.useMemo)(()=>{let a=v.trim().toLowerCase();return a?b.filter(b=>i(b).toLowerCase().includes(a)||b.toLowerCase().includes(a)):b},[b,v,i]);function G(b){let c=new URLSearchParams(r.toString());0===b.size?c.delete(a):c.set(a,Array.from(b).join(","));let d=c.toString();p.push(d?`${q}?${d}`:q)}function H(a){let b=new Set(c);b.has(a)?b.delete(a):b.add(a),G(b)}function I(a){if("ArrowDown"===a.key)a.preventDefault(),y(a=>Math.min(F.length-1,a+1));else if("ArrowUp"===a.key)a.preventDefault(),y(a=>Math.max(0,a-1));else if("Enter"===a.key){a.preventDefault();let b=F[x];b&&H(b)}else"Home"===a.key?(a.preventDefault(),y(0)):"End"===a.key&&(a.preventDefault(),y(F.length-1))}o=0===c.length?s(j):1===c.length?s(k,{value:i(c[0])}):s(l,{count:c.length});let J=b.length>=n;return(0,d.jsxs)("div",{ref:z,className:"relative",children:[(0,d.jsxs)("button",{ref:A,id:D,onClick:()=>u(a=>!a),className:"btn focus:outline-none focus-visible:ring-2 focus-visible:ring-brand/40","aria-haspopup":"listbox","aria-expanded":t,"aria-controls":E,"aria-label":m,children:[o,(0,d.jsx)("span",{className:"text-text-tertiary ml-1","aria-hidden":!0,children:"▾"})]}),t&&(0,d.jsxs)("div",{id:E,role:"listbox","aria-multiselectable":"true","aria-labelledby":D,className:"absolute right-0 mt-1 w-72 card border-border-hi shadow-lg z-20 overflow-hidden",children:[c.length>0&&(0,d.jsxs)("div",{className:"px-2 pt-2 pb-1.5 border-b border-border flex flex-wrap gap-1 items-center",children:[c.slice(0,6).map(a=>(0,d.jsxs)("button",{onClick:()=>H(a),className:"inline-flex items-center gap-1 max-w-[160px] pl-2 pr-1.5 py-0.5 text-[11px] rounded-full bg-brand/10 text-brand border border-brand/20 hover:bg-brand/15","aria-label":`Remove ${i(a)}`,title:i(a),children:[(0,d.jsx)("span",{className:"truncate",children:i(a)}),(0,d.jsx)("span",{"aria-hidden":!0,className:"text-brand/70",children:"\xd7"})]},a)),c.length>6&&(0,d.jsxs)("span",{className:"text-[11px] text-text-tertiary px-1",children:["+",c.length-6]}),(0,d.jsx)("button",{onClick:function(){G(new Set)},className:"ml-auto text-[11px] text-text-tertiary hover:text-text-primary px-1.5 py-0.5",children:s("filter.clearAll")})]}),J&&(0,d.jsx)("div",{className:"p-2 border-b border-border",children:(0,d.jsx)("input",{ref:B,value:v,onChange:a=>{w(a.target.value),y(0)},onKeyDown:a=>{("ArrowDown"===a.key||"ArrowUp"===a.key||"Enter"===a.key||"Home"===a.key||"End"===a.key)&&I(a)},placeholder:s("common.searchPlaceholder"),className:"w-full px-2 py-1 text-sm rounded border border-border bg-bg-surface focus:outline-none focus:border-border-hi placeholder:text-text-tertiary text-text-primary"})}),(0,d.jsxs)("div",{ref:C,onKeyDown:I,className:"max-h-64 overflow-y-auto p-1 outline-none",tabIndex:-1,children:[0===F.length&&(0,d.jsx)("div",{className:"text-xs text-text-tertiary px-2 py-3 text-center",children:s("filter.noOptions")}),F.map((a,b)=>{let e=c.includes(a),f=b===x;return(0,d.jsxs)("button",{role:"option","aria-selected":e,onMouseEnter:()=>y(b),onClick:()=>H(a),className:(0,g.cn)("w-full text-left text-sm px-2 py-1.5 rounded flex items-center gap-2 transition-colors",f?"bg-bg-surface-hi":"hover:bg-bg-surface-hi",e&&"text-text-primary"),children:[(0,d.jsx)("span",{className:(0,g.cn)("w-3.5 h-3.5 rounded-sm border flex items-center justify-center text-[10px] flex-shrink-0",e?"bg-brand border-brand text-white":"border-border-hi"),"aria-hidden":!0,children:e?"✓":""}),(0,d.jsx)("span",{className:"truncate",children:i(a)})]},a)})]})]})]})}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},88253:(a,b,c)=>{"use strict";c.d(b,{GranularityPicker:()=>h});var d=c(21124),e=c(91377),f=c(15519);let g=[{value:"hour",tk:"gran.hour"},{value:"day",tk:"gran.day"},{value:"week",tk:"gran.week"},{value:"month",tk:"gran.month"}];function h({defaultValue:a="day"}){let b=(0,f.kj)();return(0,d.jsx)(e.V,{paramKey:"gran",defaultValue:a,options:g,ariaLabel:b("gran.label")})}},88843:(a,b,c)=>{"use strict";c.d(b,{OverviewToggle:()=>i});var d=c(21124),e=c(38301),f=c(15514),g=c(15519);let h="data-usage-overview";function i(){let a=(0,g.kj)(),[b,c]=(0,e.useState)(!1);return(0,d.jsxs)("button",{type:"button",onClick:function(){let a=!b;c(a);try{localStorage.setItem("ccgauge.usage.overview.hidden",a?"1":"0")}catch{}a?document.documentElement.setAttribute(h,"hidden"):document.documentElement.removeAttribute(h)},"aria-pressed":!b,title:a(b?"usage.overview.show":"usage.overview.hide"),className:(0,f.cn)("inline-flex items-center gap-1.5 px-2.5 py-1.5 rounded-button text-xs font-medium","border transition-colors duration-150",b?"border-border bg-bg-surface text-text-secondary hover:text-text-primary hover:bg-bg-surface-hi":"border-brand/40 bg-brand/12 text-brand hover:bg-brand/20 hover:border-brand/60"),children:[(0,d.jsx)(j,{open:!b}),(0,d.jsx)("span",{className:"hidden sm:inline",children:a("usage.overview.label")})]})}function j({open:a}){return(0,d.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:a?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("path",{d:"M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z"}),(0,d.jsx)("circle",{cx:"12",cy:"12",r:"3"})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("path",{d:"M9.88 9.88a3 3 0 0 0 4.24 4.24"}),(0,d.jsx)("path",{d:"M10.73 5.08A11 11 0 0 1 12 5c6.5 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68"}),(0,d.jsx)("path",{d:"M6.61 6.61A13.526 13.526 0 0 0 2 12s3.5 7 10 7a9.74 9.74 0 0 0 5.39-1.61"}),(0,d.jsx)("line",{x1:"2",y1:"2",x2:"22",y2:"22"})]})})}},89605:(a,b,c)=>{"use strict";c.d(b,{TokenStackChart:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call TokenStackChart() from the server but TokenStackChart 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/token-stack-chart.tsx","TokenStackChart")},91377:(a,b,c)=>{"use strict";c.d(b,{V:()=>i});var d=c(21124),e=c(42378),f=c(38301),g=c(15514),h=c(15519);function i({paramKey:a,defaultValue:b,options:c,ariaLabel:i}){let j=(0,e.useRouter)(),k=(0,e.usePathname)(),l=(0,e.useSearchParams)(),m=(0,h.kj)(),n=l.get(a)||b,o=c.some(a=>a.value===n)?n:b,p=(0,f.useRef)(null);function q(b){let c=new URLSearchParams(l.toString());c.set(a,b),j.push(`${k}?${c.toString()}`)}return(0,d.jsx)("div",{ref:p,role:"radiogroup","aria-label":i,onKeyDown:function(a){if("ArrowLeft"!==a.key&&"ArrowRight"!==a.key)return;a.preventDefault();let b=(c.findIndex(a=>a.value===o)+("ArrowRight"===a.key?1:-1)+c.length)%c.length;q(c[b].value);let d=p.current?.querySelectorAll('button[role="radio"]');d?.[b]?.focus()},className:"inline-flex rounded-button border border-border bg-bg-surface p-0.5 gap-0.5",children:c.map(a=>{let b=o===a.value;return(0,d.jsx)("button",{role:"radio","aria-checked":b,tabIndex:b?0:-1,onClick:()=>q(a.value),className:(0,g.cn)("px-2.5 py-1 text-xs rounded transition-all","focus:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",b?"bg-brand-strong text-white font-semibold shadow-sm ring-1 ring-brand/40":"text-text-tertiary font-medium hover:text-text-primary hover:bg-bg-surface-hi"),children:m(a.tk)},a.value)})})}},99955:(a,b,c)=>{"use strict";c.d(b,{UsageTable:()=>n});var d=c(21124),e=c(38301),f=c(42378),g=c(15514),h=c(15519),i=c(23312);function j({children:a,content:b,className:c,panelClassName:f,align:h="left",delay:j=100,maxWidth:k=360}){let l=(0,e.useRef)(null),m=(0,e.useRef)(null),n=(0,e.useRef)(null),[o,p]=(0,e.useState)(null),[q,r]=(0,e.useState)(!1),[s,t]=(0,e.useState)(!1);function u(){n.current&&(window.clearTimeout(n.current),n.current=null),s||(m.current=window.setTimeout(()=>{let a=function(){let a,b=l.current;if(!b)return null;let c=b.getBoundingClientRect(),d=Math.min(k,window.innerWidth-16),e=window.innerHeight-c.bottom<200?"top":"bottom";return"right"===h?(a=Math.min(c.right,window.innerWidth-8))-d<8&&(a=d+8):(a=Math.max(c.left,8))+d>window.innerWidth-8&&(a=window.innerWidth-d-8),{x:a,y:"bottom"===e?c.bottom+8:c.top-8,placement:e,align:h}}();a&&(p(a),t(!0))},j))}function v(){m.current&&(window.clearTimeout(m.current),m.current=null),n.current=window.setTimeout(()=>t(!1),80)}return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{ref:l,onMouseEnter:u,onMouseLeave:v,onFocus:u,onBlur:v,className:(0,g.cn)("inline-block",c),children:a}),q&&o&&(0,i.createPortal)((0,d.jsx)("div",{onMouseEnter:()=>{n.current&&(window.clearTimeout(n.current),n.current=null)},onMouseLeave:v,style:{position:"fixed",left:"right"===o.align?void 0:o.x,right:"right"===o.align?window.innerWidth-o.x:void 0,top:"bottom"===o.placement?o.y:void 0,bottom:"top"===o.placement?window.innerHeight-o.y:void 0,maxWidth:k,transform:s?"translateY(0) scale(1)":"bottom"===o.placement?"translateY(-4px) scale(0.98)":"translateY(4px) scale(0.98)",opacity:+!!s,transitionProperty:"opacity, transform",transitionDuration:"120ms",transitionTimingFunction:"cubic-bezier(0.16, 1, 0.3, 1)",transformOrigin:"bottom"===o.placement?"top":"bottom",pointerEvents:s?"auto":"none"},className:(0,g.cn)("z-50 card border-border-hi shadow-xl rounded-button",f),children:b}),document.body)]})}var k=c(41573);let l=[{id:"time",labelKey:"usage.col.time",sortKey:"timestamp",defaultVisible:!0},{id:"duration",labelKey:"usage.col.duration",align:"right",sortKey:"durationMs",defaultVisible:!1},{id:"prompt",labelKey:"usage.col.userMessage",defaultVisible:!0},{id:"model",labelKey:"usage.col.model",defaultVisible:!0},{id:"project",labelKey:"usage.col.project",defaultVisible:!0},{id:"session",labelKey:"usage.col.session",defaultVisible:!1},{id:"calls",labelKey:"usage.col.calls",align:"right",sortKey:"callCount",defaultVisible:!1},{id:"input",labelKey:"usage.col.input",align:"right",sortKey:"inputTokens",defaultVisible:!1},{id:"output",labelKey:"usage.col.output",align:"right",sortKey:"outputTokens",defaultVisible:!1},{id:"cacheRead",labelKey:"usage.col.cacheRead",align:"right",sortKey:"cacheReadTokens",defaultVisible:!1},{id:"cacheWrite",labelKey:"usage.col.cacheWrite",align:"right",sortKey:"cacheCreationTokens",defaultVisible:!1},{id:"total",labelKey:"usage.col.total",align:"right",sortKey:"totalTokens",defaultVisible:!0},{id:"cost",labelKey:"usage.col.cost",align:"right",sortKey:"cost",defaultVisible:!1},{id:"tools",labelKey:"usage.col.tools",defaultVisible:!1}];function m(){return l.reduce((a,b)=>(a[b.id]=b.defaultVisible,a),{})}function n({rows:a,totalCount:b,page:c,pageCount:g,sort:i,query:j}){let n=(0,h.kj)(),{locale:p}=(0,h.s9)(),r=(0,f.useRouter)(),s=(0,f.usePathname)(),t=(0,f.useSearchParams)(),[u,v]=(0,e.useState)(new Set),[w,x]=(0,e.useState)(m),[y,z]=(0,e.useState)(!1),[A,B]=(0,e.useState)(j),C=(0,e.useRef)(null),D=(0,e.useRef)(null);function E(a){let b=new URLSearchParams(t.toString());for(let[c,d]of Object.entries(a))void 0===d||""===d?b.delete(c):b.set(c,d);let c=b.toString();r.push(c?`${s}?${c}`:s)}function F(a){E({page:a>0?String(a+1):void 0})}let G=l.filter(a=>w[a.id]),H=G.length+1,I=G.length;return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3 mb-3 flex-wrap",children:[(0,d.jsx)("input",{value:A,onChange:a=>{var b;B(b=a.target.value),D.current&&window.clearTimeout(D.current),D.current=window.setTimeout(()=>{E({q:b.trim()||void 0,page:void 0})},300)},placeholder:n("common.searchPlaceholder"),className:"px-3 py-1.5 text-sm rounded-button border border-border bg-bg-surface focus:outline-none focus:border-border-hi w-72 placeholder:text-text-tertiary text-text-primary"}),(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("span",{className:"text-xs text-text-tertiary tabular-nums",children:n("common.rows",{count:b.toLocaleString()})}),(0,d.jsxs)("div",{ref:C,className:"relative",children:[(0,d.jsxs)("button",{onClick:()=>z(a=>!a),className:"btn",children:[n("usage.columns.button"),(0,d.jsx)("span",{className:"ml-1 text-text-tertiary tabular-nums",children:I})]}),y&&(0,d.jsxs)("div",{className:"absolute right-0 mt-1 w-56 card border-border-hi shadow-lg p-2 z-30",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-1.5 pb-1.5 mb-1 border-b border-border",children:[(0,d.jsx)("span",{className:"text-xs text-text-tertiary uppercase tracking-wide",children:n("usage.columns.title")}),(0,d.jsx)("button",{onClick:()=>x(m()),className:"text-xs text-text-tertiary hover:text-text-primary",children:n("usage.columns.reset")})]}),(0,d.jsx)("div",{className:"max-h-72 overflow-auto",children:l.map(a=>(0,d.jsxs)("label",{className:"flex items-center gap-2 px-1.5 py-1.5 text-sm rounded hover:bg-bg-surface-hi cursor-pointer",children:[(0,d.jsx)("input",{type:"checkbox",checked:!!w[a.id],onChange:b=>x(c=>({...c,[a.id]:b.target.checked})),className:"accent-brand"}),(0,d.jsx)("span",{className:"text-text-secondary",children:n(a.labelKey)})]},a.id))})]})]}),(0,d.jsx)("button",{onClick:function(){let a=new URLSearchParams(t.toString());window.location.href=`/api/export/usage?${a.toString()}`},className:"btn",children:n("common.exportCsv")})]})]}),(0,d.jsx)("div",{className:"card overflow-hidden",children:(0,d.jsx)(k.H,{children:(0,d.jsxs)("table",{className:"w-full text-sm",children:[(0,d.jsx)("thead",{children:(0,d.jsxs)("tr",{className:"border-b border-border bg-bg-surface-hi/30",children:[(0,d.jsx)(q,{children:(0,d.jsx)("span",{className:"sr-only",children:"expand"})}),G.map(a=>(0,d.jsx)(q,{align:a.align,sorted:!!a.sortKey&&i.key===a.sortKey,dir:i.dir,onClick:a.sortKey?()=>{var b;let c;return b=a.sortKey,c="desc",void(i.key===b&&(c="asc"===i.dir?"desc":"asc"),E({sort:"timestamp"===b?void 0:b,dir:"desc"===c?void 0:c,page:void 0}))}:void 0,children:n(a.labelKey)},a.id))]})}),(0,d.jsxs)("tbody",{children:[a.map(a=>{let b=u.has(a.turnId),c=a.userText.trim()||n("usage.turn.noPrompt");return(0,d.jsx)(o,{turn:a,isOpen:b,onToggle:()=>{var b;return b=a.turnId,void v(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},userText:c,expandLabel:n("usage.turn.expand"),collapseLabel:n("usage.turn.collapse"),activeColumns:G,locale:p,t:n},a.turnId)}),0===a.length&&(0,d.jsx)("tr",{children:(0,d.jsx)("td",{colSpan:H,className:"px-3 py-8 text-center text-text-tertiary text-sm",children:n("common.noMatchingRows")})})]})]})})}),g>1&&(0,d.jsxs)("div",{className:"flex items-center justify-between mt-3 text-xs text-text-secondary",children:[(0,d.jsx)("span",{children:n("common.pageOf",{page:c+1,total:g})}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{onClick:()=>F(0),disabled:0===c,className:"btn-ghost disabled:opacity-40",children:n("common.first")}),(0,d.jsx)("button",{onClick:()=>F(c-1),disabled:0===c,className:"btn-ghost disabled:opacity-40",children:n("common.prev")}),(0,d.jsx)("button",{onClick:()=>F(c+1),disabled:c>=g-1,className:"btn-ghost disabled:opacity-40",children:n("common.next")}),(0,d.jsx)("button",{onClick:()=>F(g-1),disabled:c>=g-1,className:"btn-ghost disabled:opacity-40",children:n("common.last")})]})]})]})}function o({turn:a,isOpen:b,onToggle:c,userText:e,expandLabel:f,collapseLabel:h,activeColumns:i,locale:k,t:l}){let m=(1===a.models.length?(0,g.P6)(a.models[0]):`${(0,g.P6)(a.models[0])} +${a.models.length-1}`)+(a.efforts.length?1===a.efforts.length?` \xb7 ${a.efforts[0]}`:` \xb7 ${a.efforts[0]}+${a.efforts.length-1}`:""),n=a.toolNames.length?a.toolNames.slice(0,3).join(", ")+(a.toolNames.length>3?"…":""):"—";return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("tr",{className:"border-b border-border last:border-b-0 hover:bg-bg-surface-hi/40 cursor-pointer",onClick:c,children:[(0,d.jsx)("td",{className:"px-2 py-2 text-text-tertiary w-6 text-center select-none",children:(0,d.jsx)("span",{title:b?h:f,className:"inline-block w-4",children:b?"▾":"▸"})}),i.map(b=>(0,d.jsx)("td",{className:(0,g.cn)("px-3 py-2","right"===b.align?"text-right":"text-left"),children:function(a,b,c,e,f,h,i){switch(a){case"time":return(0,d.jsx)("span",{className:"num-mono text-text-secondary whitespace-nowrap text-xs",title:`started ${(0,g.r6)(b.timestamp)}
|
|
3
|
+
ended ${(0,g.r6)(b.endTimestamp)}`,children:(0,g.r6)(b.timestamp)});case"duration":return(0,d.jsx)("span",{className:"num-mono text-text-secondary whitespace-nowrap text-xs",title:`${(0,g.r6)(b.timestamp)} → ${(0,g.r6)(b.endTimestamp)}`,children:(0,g.a3)(b.durationMs)});case"prompt":return(0,d.jsx)(j,{maxWidth:460,panelClassName:"p-3 text-sm text-text-secondary leading-relaxed",content:(0,d.jsx)("div",{className:"whitespace-pre-wrap break-words",children:f}),children:(0,d.jsx)("span",{className:"block text-text-secondary truncate max-w-[280px]",children:f})});case"model":return(0,d.jsx)("span",{className:"text-text-primary whitespace-nowrap",children:c});case"project":return(0,d.jsx)("span",{className:"block text-text-secondary truncate max-w-[180px]",title:b.cwd,children:b.projectLabel||(0,g.PJ)(b.cwd)});case"session":return(0,d.jsx)("span",{className:"num-mono text-text-tertiary text-xs",title:b.sessionId,children:(0,g.BC)(b.sessionId)});case"calls":return(0,d.jsx)("span",{className:"num-mono text-text-secondary",children:b.callCount});case"input":return(0,d.jsx)("span",{className:"num-mono text-text-secondary",children:(0,g.jh)(b.inputTokens,h)});case"output":return(0,d.jsx)("span",{className:"num-mono text-text-secondary",children:(0,g.jh)(b.outputTokens,h)});case"cacheRead":return(0,d.jsx)("span",{className:"num-mono text-success",children:(0,g.jh)(b.cacheReadTokens,h)});case"cacheWrite":return(0,d.jsx)("span",{className:"num-mono text-text-secondary",children:(0,g.jh)(b.cacheCreationTokens,h)});case"total":return(0,d.jsx)(j,{align:"right",maxWidth:300,panelClassName:"p-0 overflow-hidden",content:(0,d.jsx)(p,{row:b,locale:h,t:i}),children:(0,d.jsx)("span",{className:"num-mono text-text-primary font-medium border-b border-dashed border-border hover:border-text-tertiary cursor-help",children:(0,g.jh)(b.totalTokens,h)})});case"cost":return(0,d.jsx)("span",{className:"num-mono text-text-primary font-medium",children:(0,g.l7)(b.cost)});case"tools":return(0,d.jsx)("span",{className:"block text-xs text-text-tertiary truncate max-w-[160px]",title:b.toolNames.join(", "),children:e})}}(b.id,a,m,n,e,k,l)},b.id))]}),b&&a.children.map(b=>(0,d.jsxs)("tr",{className:"border-b border-border last:border-b-0 bg-bg-surface-hi/20 text-text-tertiary",children:[(0,d.jsx)("td",{className:"px-2 py-1.5 w-6"}),i.map(c=>(0,d.jsx)("td",{className:(0,g.cn)("px-3 py-1.5","right"===c.align?"text-right":"text-left"),children:function(a,b,c,e,f){switch(a){case"time":return(0,d.jsx)("span",{className:"num-mono whitespace-nowrap text-xs inline-block translate-x-5",children:(0,g.r6)(b.timestamp)});case"duration":return(0,d.jsx)("span",{className:"text-xs text-text-tertiary",children:"—"});case"prompt":{let a=(b.directPrompt??"").trim();if(a&&a!==c.trim())return(0,d.jsx)("span",{className:"block text-xs text-text-secondary truncate max-w-[320px]",title:a,children:a});if(!b.toolNames.length)return(0,d.jsx)("span",{className:"text-xs text-text-tertiary",children:"—"});let e=b.toolNames.join(", "),f=b.toolNames.slice(0,3).join(", ")+(b.toolNames.length>3?"…":"");return(0,d.jsx)("span",{className:"block text-xs text-text-secondary truncate max-w-[280px]",title:e,children:f})}case"model":return(0,d.jsxs)("span",{className:"whitespace-nowrap",children:[(0,g.P6)(b.model),b.effort?` \xb7 ${b.effort}`:""]});case"project":return(0,d.jsx)("span",{className:"block truncate max-w-[180px]",title:b.cwd,children:b.projectLabel||(0,g.PJ)(b.cwd)});case"session":return(0,d.jsx)("span",{className:"num-mono text-xs",title:b.sessionId,children:(0,g.BC)(b.sessionId)});case"calls":return(0,d.jsx)("span",{className:"num-mono",children:"1"});case"input":return(0,d.jsx)("span",{className:"num-mono",children:(0,g.jh)(b.inputTokens,e)});case"output":return(0,d.jsx)("span",{className:"num-mono",children:(0,g.jh)(b.outputTokens,e)});case"cacheRead":return(0,d.jsx)("span",{className:"num-mono text-success",children:(0,g.jh)(b.cacheReadTokens,e)});case"cacheWrite":return(0,d.jsx)("span",{className:"num-mono",children:(0,g.jh)(b.cacheCreationTokens,e)});case"total":return(0,d.jsx)(j,{align:"right",maxWidth:300,panelClassName:"p-0 overflow-hidden",content:(0,d.jsx)(p,{row:b,locale:e,t:f}),children:(0,d.jsx)("span",{className:"num-mono border-b border-dashed border-border/60 hover:border-text-tertiary cursor-help",children:(0,g.jh)(b.totalTokens,e)})});case"cost":return(0,d.jsx)("span",{className:"num-mono",children:(0,g.l7)(b.cost)});case"tools":return(0,d.jsx)("span",{className:"block text-xs truncate max-w-[160px]",title:b.toolNames.join(", "),children:b.toolNames.length?b.toolNames.join(", "):"—"})}}(c.id,b,a.userText,k,l)},c.id))]},b.uuid))]})}function p({row:a,locale:b,t:c}){let f=[{key:"input",label:c("usage.col.input"),tokens:a.inputTokens,cost:a.costInput,tone:"text-text-primary",dot:"bg-chart-input"},{key:"output",label:c("usage.col.output"),tokens:a.outputTokens,cost:a.costOutput,tone:"text-text-primary",dot:"bg-chart-output"},{key:"cacheRead",label:c("usage.col.cacheRead"),tokens:a.cacheReadTokens,cost:a.costCacheRead,tone:"text-success",dot:"bg-chart-cache-read"},{key:"cacheWrite",label:c("usage.col.cacheWrite"),tokens:a.cacheCreationTokens,cost:a.costCacheWrite,tone:"text-text-primary",dot:"bg-chart-cache-create"}];return(0,d.jsxs)("div",{className:"text-xs",children:[(0,d.jsx)("div",{className:"px-3 py-2 border-b border-border bg-bg-surface-hi/40 text-text-tertiary uppercase tracking-wide font-medium",children:c("usage.breakdown.title")}),(0,d.jsxs)("div",{className:"px-3 py-2",children:[(0,d.jsxs)("div",{className:"grid grid-cols-[auto_1fr_auto] gap-x-3 gap-y-1.5 items-center",children:[(0,d.jsx)("span",{}),(0,d.jsx)("span",{className:"text-text-tertiary text-[10px] uppercase tracking-wide text-right",children:c("usage.breakdown.headerTokens")}),(0,d.jsx)("span",{className:"text-text-tertiary text-[10px] uppercase tracking-wide text-right",children:c("usage.breakdown.headerCost")}),f.map(f=>(0,d.jsxs)(e.Fragment,{children:[(0,d.jsxs)("span",{className:"inline-flex items-center gap-2 text-text-secondary",children:[(0,d.jsx)("span",{className:(0,g.cn)("w-2 h-2 rounded-sm",f.dot)}),f.label]}),(0,d.jsx)("span",{className:(0,g.cn)("num-mono text-right",f.tone),children:(0,g.jh)(f.tokens,b)}),(0,d.jsx)("span",{className:"num-mono text-right text-text-secondary",children:(0,g.l7)(f.cost)}),"output"===f.key&&a.reasoningTokens>0&&(0,d.jsxs)(e.Fragment,{children:[(0,d.jsxs)("span",{className:"inline-flex items-center gap-2 text-text-tertiary pl-4 text-[11px]",children:[(0,d.jsx)("span",{className:"text-text-tertiary",children:"↳"}),c("usage.breakdown.reasoning")]}),(0,d.jsx)("span",{className:"num-mono text-right text-text-tertiary text-[11px]",children:(0,g.jh)(a.reasoningTokens,b)}),(0,d.jsx)("span",{className:"text-right text-text-tertiary text-[11px]",children:c("usage.breakdown.reasoningNote")})]},"reasoning-detail")]},f.key))]}),(0,d.jsxs)("div",{className:"mt-2 pt-2 border-t border-border grid grid-cols-[auto_1fr_auto] gap-x-3 items-center",children:[(0,d.jsx)("span",{className:"text-text-secondary font-medium",children:c("usage.breakdown.total")}),(0,d.jsx)("span",{className:"num-mono text-right text-text-primary font-medium",children:(0,g.jh)(a.totalTokens,b)}),(0,d.jsx)("span",{className:"num-mono text-right text-text-primary font-medium",children:(0,g.l7)(a.cost)})]})]})]})}function q({children:a,align:b="left",sorted:c,dir:e,onClick:f}){return(0,d.jsx)("th",{className:(0,g.cn)("px-3 py-2 text-xs font-medium text-text-tertiary uppercase tracking-wide whitespace-nowrap","right"===b?"text-right":"text-left",f&&"cursor-pointer hover:text-text-primary select-none"),onClick:f,children:(0,d.jsxs)("span",{className:"inline-flex items-center gap-1",children:[a,c&&(0,d.jsx)("span",{className:"text-[10px]",children:"asc"===e?"▲":"▼"})]})})}}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[331,802,153,993,517,716,98,730,567],()=>b(b.s=32900));module.exports=c})();
|