ccgauge 1.1.5 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-build-manifest.json +47 -31
- package/.next/standalone/.next/app-path-routes-manifest.json +4 -3
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/blocks/route.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.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_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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/turns/route.js +1 -0
- package/.next/standalone/.next/server/app/api/turns/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/turns/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/usage/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/models/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/page.js +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 +1 -1
- 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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/sessions/[id]/page.js +1 -1
- 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_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 +4 -3
- package/.next/standalone/.next/server/chunks/567.js +2 -2
- package/.next/standalone/.next/server/chunks/{125.js → 697.js} +1 -1
- package/.next/standalone/.next/server/chunks/716.js +1 -1
- package/.next/standalone/.next/server/chunks/730.js +1 -1
- package/.next/standalone/.next/server/functions-config-manifest.json +3 -2
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/KYCxLofmJUzQwVpdBlibl/_buildManifest.js +1 -0
- package/.next/standalone/.next/static/chunks/148-1212b038580a0433.js +1 -0
- package/.next/standalone/.next/static/chunks/567-72a086fabc9bacfe.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/blocks/route-c50a1245d93c020a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/export/usage/route-c50a1245d93c020a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/pricing/route-c50a1245d93c020a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/projects/route-c50a1245d93c020a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/scan/route-c50a1245d93c020a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/sessions/route-c50a1245d93c020a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/turns/route-c50a1245d93c020a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/usage/route-c50a1245d93c020a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/layout-6eefa1ce02863d7b.js +1 -0
- package/.next/standalone/.next/static/chunks/app/loading-c50a1245d93c020a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/page-0816ef0cd3e872d8.js +1 -0
- package/.next/standalone/.next/static/chunks/app/usage/loading-c50a1245d93c020a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/usage/page-1ffeadfacd55c9f0.js +1 -0
- package/.next/standalone/.next/static/css/169dd00e280f7237.css +5 -0
- package/.next/standalone/package.json +3 -2
- package/CHANGELOG.md +143 -0
- package/dist/mcp/server.mjs +15 -15
- package/dist/report/index.mjs +30 -30
- package/package.json +3 -2
- package/.next/standalone/.next/static/GtWVWyG8mgmjwPOWjfTMr/_buildManifest.js +0 -1
- package/.next/standalone/.next/static/chunks/148-59989feca70944f2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/blocks/route-33a382d58df5da76.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/export/usage/route-33a382d58df5da76.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/pricing/route-33a382d58df5da76.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/projects/route-33a382d58df5da76.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/scan/route-33a382d58df5da76.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/sessions/route-33a382d58df5da76.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/usage/route-33a382d58df5da76.js +0 -1
- package/.next/standalone/.next/static/chunks/app/layout-af71188a257674b5.js +0 -1
- package/.next/standalone/.next/static/chunks/app/loading-33a382d58df5da76.js +0 -1
- package/.next/standalone/.next/static/chunks/app/page-1a147d12fca0b184.js +0 -1
- package/.next/standalone/.next/static/chunks/app/usage/page-8af23d9f5420c824.js +0 -1
- package/.next/standalone/.next/static/css/fabb40b2545c70dd.css +0 -5
- /package/.next/standalone/.next/static/{GtWVWyG8mgmjwPOWjfTMr → KYCxLofmJUzQwVpdBlibl}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
exports.id=716,exports.ids=[716],exports.modules={31519:(a,b,c)=>{"use strict";c.d(b,{Q:()=>e,V:()=>d});let d={"claude-fable-5":{input:10,output:50,cacheCreation5m:12.5,cacheCreation1h:20,cacheRead:1},"claude-opus-4-8":{input:5,output:25,cacheCreation5m:6.25,cacheCreation1h:10,cacheRead:.5},"claude-opus-4-7":{input:5,output:25,cacheCreation5m:6.25,cacheCreation1h:10,cacheRead:.5},"claude-opus-4-6":{input:5,output:25,cacheCreation5m:6.25,cacheCreation1h:10,cacheRead:.5},"claude-opus-4-5":{input:5,output:25,cacheCreation5m:6.25,cacheCreation1h:10,cacheRead:.5},"claude-sonnet-4-6":{input:3,output:15,cacheCreation5m:3.75,cacheCreation1h:6,cacheRead:.3},"claude-sonnet-4-5":{input:3,output:15,cacheCreation5m:3.75,cacheCreation1h:6,cacheRead:.3},"claude-haiku-4-5":{input:1,output:5,cacheCreation5m:1.25,cacheCreation1h:2,cacheRead:.1},"claude-haiku-3-5":{input:.8,output:4,cacheCreation5m:1,cacheCreation1h:1.6,cacheRead:.08},"claude-opus-4-1":{input:15,output:75,cacheCreation5m:18.75,cacheCreation1h:30,cacheRead:1.5},"claude-opus-4":{input:15,output:75,cacheCreation5m:18.75,cacheCreation1h:30,cacheRead:1.5},"claude-sonnet-4":{input:3,output:15,cacheCreation5m:3.75,cacheCreation1h:6,cacheRead:.3},"claude-sonnet-3-7":{input:3,output:15,cacheCreation5m:3.75,cacheCreation1h:6,cacheRead:.3},"claude-haiku-3":{input:.25,output:1.25,cacheCreation5m:.3,cacheCreation1h:.5,cacheRead:.03}},e={fable:d["claude-fable-5"],opus:d["claude-opus-4-8"],sonnet:d["claude-sonnet-4-6"],haiku:d["claude-haiku-4-5"]}},60704:(a,b,c)=>{"use strict";c.d(b,{jt:()=>z,Gr:()=>A,Fw:()=>F,sO:()=>B,rl:()=>D,R0:()=>C});var d=c(73024),e=c(76760),f=c.n(e),g=c(48161),h=c.n(g),i=c(80481),j=c.n(i);async function k(a){let b=(0,d.createReadStream)(a,{encoding:"utf8"}),c=j().createInterface({input:b,crlfDelay:1/0}),e=[],f=[],g=[];for await(let b of c){let c;if(b.trim()){try{c=JSON.parse(b)}catch{continue}if(c&&"object"==typeof c){if(c.uuid&&g.push([c.uuid,c.parentUuid??null]),"assistant"===c.type){let b=function(a,b){let c=a.message;if(!c)return null;let d=c.usage;if(!d)return null;let e=c.model??"";if(!e||"<synthetic>"===e)return null;let f=c.id??a.uuid??"";if(!f&&!a.requestId)return null;let g=d.cache_creation,h=Array.isArray(c.content)?c.content:[],i=[],j=!1,k="";for(let a of h)"tool_use"===a.type&&"string"==typeof a.name?i.push(a.name):"thinking"===a.type?j=!0:"text"!==a.type||"string"!=typeof a.text||k||(k=a.text.slice(0,200));return{type:"assistant",source:"claude",uuid:a.uuid??f,parentUuid:a.parentUuid??null,timestamp:a.timestamp??new Date().toISOString(),sessionId:a.sessionId??"",requestId:a.requestId??"",cwd:a.cwd??"",gitBranch:a.gitBranch,version:a.version,model:e,messageId:f,usage:{input_tokens:Number(d.input_tokens)||0,output_tokens:Number(d.output_tokens)||0,cache_creation_input_tokens:Number(d.cache_creation_input_tokens)||0,cache_read_input_tokens:Number(d.cache_read_input_tokens)||0,cache_creation_5m:Number(g?.ephemeral_5m_input_tokens)||0,cache_creation_1h:Number(g?.ephemeral_1h_input_tokens)||0},toolNames:i,hasThinking:j,textPreview:k,filePath:b,isSidechain:!0===a.isSidechain||void 0}}(c,a);b&&e.push(b)}else if("user"===c.type){let b=function(a,b){if(!a.uuid)return null;let c=a.message,d="";if(c){let a=c.content;if("string"==typeof a)d=a.slice(0,200);else if(Array.isArray(a)){for(let b of a)if("text"===b.type&&"string"==typeof b.text){d=b.text.slice(0,200);break}}}let e=!0===a.isSidechain,f=e||!!d&&function(a){let b=a.trimStart();return!!(b.startsWith("Base directory for this skill:")||b.startsWith("<system-reminder>")||b.startsWith("Caveat: The messages below were generated by")||b.startsWith("<task-notification>"))}(d);return{type:"user",source:"claude",uuid:a.uuid,parentUuid:a.parentUuid??null,timestamp:a.timestamp??new Date().toISOString(),sessionId:a.sessionId??"",cwd:a.cwd??"",textPreview:d,isSynthetic:f,isSidechain:!!e||void 0,filePath:b}}(c,a);b&&f.push(b)}}}}return{assistant:e,user:f,parentLinks:g}}var l=c(31519);function m(a,b){if(!b)return{input:0,output:0,cacheCreation5m:0,cacheCreation1h:0,cacheRead:0,total:0,saved:0};let c=a.input_tokens/1e6*b.input,d=a.output_tokens/1e6*b.output,e=a.cache_creation_5m/1e6*b.cacheCreation5m,f=a.cache_creation_1h/1e6*b.cacheCreation1h;e+f===0&&a.cache_creation_input_tokens>0&&(e=a.cache_creation_input_tokens/1e6*b.cacheCreation5m);let g=a.cache_read_input_tokens/1e6*b.cacheRead,h=c+d+e+f+g;return{input:c,output:d,cacheCreation5m:e,cacheCreation1h:f,cacheRead:g,total:h,saved:a.cache_read_input_tokens/1e6*(b.input-b.cacheRead)}}function n(a){return a.replace(/\b\w/g,a=>a.toUpperCase())}let o=/-\d{8}$/,p=/^(vertex_ai|bedrock|anthropic)\//;async function q(a){try{let b=await d.promises.stat(a);return new Date(b.mtimeMs).toISOString()}catch{return new Date().toISOString()}}function r(a){return"string"==typeof a?a:""}function s(a){let b=Number(a);return Number.isFinite(b)?b:0}function t(a){let b=a.message;if("string"==typeof b)return b;let c=a.content;if("string"==typeof c)return c;if(Array.isArray(c))for(let a of c){let b=a?.type;if(("input_text"===b||"output_text"===b||"text"===b)&&"string"==typeof a.text)return a.text}return""}async function u(a){let b,c=(0,d.createReadStream)(a,{encoding:"utf8"}),e=j().createInterface({input:c,crlfDelay:1/0}),f=[],g=[],h=[],i="",k="",l=0,m=0,n=null,o=await q(a),p={turnId:null,cwd:"",model:"gpt-unknown",userUuid:null,toolNames:[],hasThinking:!1,pendingTextPreview:""};for await(let c of e){let d;if(!c.trim())continue;try{d=JSON.parse(c)}catch{continue}if(!d||"object"!=typeof d||!d.type)continue;let e=d.payload??{},j=r(d.timestamp),q=j||o;if(j&&(o=j),"session_meta"===d.type){i=r(e.id),k=r(e.cwd),b=r(e.cli_version)||void 0;let a=r(e.timestamp);a&&(o=a),p.cwd||(p.cwd=k);continue}if("turn_context"===d.type){p.turnId=r(e.turn_id)||p.turnId,p.cwd=r(e.cwd)||k;let a=r(e.model);a&&(p.model=a);let b=r(e.effort);b&&(p.effort=b),p.toolNames=[],p.hasThinking=!1,p.pendingTextPreview="";continue}if("event_msg"===d.type){let c=r(e.type);if("user_message"===c){let b=t(e);if(!b)continue;let c=`${i}::u${l++}`;g.push({type:"user",source:"codex",uuid:c,parentUuid:null,timestamp:q,sessionId:i,cwd:p.cwd||k,textPreview:b.slice(0,200),filePath:a}),h.push([c,null]),p.userUuid=c;continue}if("agent_message"===c){let a=t(e);a&&!p.pendingTextPreview&&(p.pendingTextPreview=a.slice(0,200));continue}if("agent_reasoning"===c){p.hasThinking=!0;continue}if("token_count"===c){let c,d,g,j,l=e.info;if(!l)continue;let o=l.total_token_usage,r=l.last_token_usage,t=o?{input:s(o.input_tokens),cached:s(o.cached_input_tokens),output:s(o.output_tokens),reasoning:s(o.reasoning_output_tokens)}:null;if(t){if(null===n?(c=t.input,d=t.cached,g=t.output,j=t.reasoning):(c=Math.max(0,t.input-n.input),d=Math.max(0,t.cached-n.cached),g=Math.max(0,t.output-n.output),j=Math.max(0,t.reasoning-n.reasoning)),0===c&&0===d&&0===g&&0===j)continue;n=null===n?{...t}:{input:Math.max(n.input,t.input),cached:Math.max(n.cached,t.cached),output:Math.max(n.output,t.output),reasoning:Math.max(n.reasoning,t.reasoning)}}else{if(!r||(c=s(r.input_tokens),d=s(r.cached_input_tokens),g=s(r.output_tokens),j=s(r.reasoning_output_tokens),0===c&&0===d&&0===g&&0===j))continue;n=null===n?{input:c,cached:d,output:g,reasoning:j}:{input:n.input+c,cached:n.cached+d,output:n.output+g,reasoning:n.reasoning+j}}let u=`${i}::a${m++}`,v=p.turnId?`${p.turnId}::a${m}`:`${i}::a${m}`;f.push({type:"assistant",source:"codex",uuid:u,parentUuid:p.userUuid,timestamp:q,sessionId:i,requestId:v,cwd:p.cwd||k,version:b,model:p.model||"gpt-unknown",messageId:v,usage:{input_tokens:Math.max(0,c-d),output_tokens:g+j,cache_creation_input_tokens:0,cache_read_input_tokens:d,cache_creation_5m:0,cache_creation_1h:0,reasoning_tokens:j},toolNames:[...p.toolNames],hasThinking:p.hasThinking,textPreview:p.pendingTextPreview,filePath:a,effort:p.effort}),h.push([u,p.userUuid]),p.toolNames=[],p.hasThinking=!1,p.pendingTextPreview=""}continue}if("response_item"===d.type){let a=r(e.type);if("function_call"===a||"custom_tool_call"===a){let a=r(e.name);a&&p.toolNames.push(a);continue}if("reasoning"===a){p.hasThinking=!0;continue}if("message"===a&&"assistant"===r(e.role)){let a=t(e);a&&!p.pendingTextPreview&&(p.pendingTextPreview=a.slice(0,200))}continue}}return{assistant:f,user:g,parentLinks:h}}var v=c(71310);let w={mini:"Mini",nano:"Nano",pro:"Pro",turbo:"Turbo",preview:"Preview"},x={id:"codex",displayName:{en:"Codex",zh:"Codex"},shortLabel:"X",color:{fg:"#047857",bg:"#d1fae5"},logoSrc:"/codex-logo.webp",parserVersion:"codex-v5-last-total-prev",capabilities:{hasCacheCreation:!1,hasReasoningTokens:!0,blockWindowMs:18e6},getDirs:function(){let a=h().homedir(),b=[f().join(a,".codex","sessions"),f().join(a,".codex","archived_sessions")];return process.env.CCGAUGE_CODEX_DIR&&b.push(process.env.CCGAUGE_CODEX_DIR),process.env.CODEX_HOME&&(b.push(f().join(process.env.CODEX_HOME,"sessions")),b.push(f().join(process.env.CODEX_HOME,"archived_sessions"))),Array.from(new Set(b))},shouldSkipDir:()=>!1,parseFile:u,resolvePricing:v.E7,shortenModel:function(a){if(!a)return"(unknown)";let b=a.replace(/^openai\//,"");return b.toLowerCase().startsWith("gpt-")?"GPT-"+b.slice(4).split("-").map(a=>w[a.toLowerCase()]??a).join(" "):b.toLowerCase().startsWith("o")?b.toUpperCase():b.replace(/-/g," ").replace(/\b\w/g,a=>a.toUpperCase())},costFromUsage:m,costFootnoteKey:"cost.footnote.codex"},y={claude:{id:"claude",displayName:{en:"Claude",zh:"Claude"},shortLabel:"C",color:{fg:"#b45309",bg:"#fef3c7"},logoSrc:"/claude-logo.webp",parserVersion:"claude-v5-task-notification-synthetic",capabilities:{hasCacheCreation:!0,hasReasoningTokens:!1,blockWindowMs:18e6},getDirs:function(){let a=h().homedir(),b=[f().join(a,".claude","projects"),f().join(a,".config","claude","projects")];return process.env.CCGAUGE_CONFIG_DIR&&b.push(f().join(process.env.CCGAUGE_CONFIG_DIR,"projects")),process.env.CLAUDE_CONFIG_DIR&&b.push(f().join(process.env.CLAUDE_CONFIG_DIR,"projects")),Array.from(new Set(b))},shouldSkipDir:a=>"tool-results"===a||"memory"===a,parseFile:async a=>await k(a),resolvePricing:function(a){if(!a)return{pricing:null,matchType:"none",matchedKey:null};if(l.V[a])return{pricing:l.V[a],matchType:"exact",matchedKey:a};let b=a.replace(o,"");if(l.V[b])return{pricing:l.V[b],matchType:"date-stripped",matchedKey:b};let c=b.replace(p,"");if(l.V[c])return{pricing:l.V[c],matchType:"prefix-stripped",matchedKey:c};for(let b of["fable","opus","sonnet","haiku"])if(a.toLowerCase().includes(b))return{pricing:l.Q[b],matchType:"family-fallback",matchedKey:`claude-${b}-(latest)`};return{pricing:null,matchType:"none",matchedKey:null}},shortenModel:function(a){if(!a)return"(unknown)";let b=a.replace(/-(\d{8})$/,"").replace(/^(vertex_ai|bedrock|anthropic)\//,""),c=(b=b.replace(/^claude-/,"")).split("-");if(c.length>=2){let a=c[0],b=c.slice(1).join(".");return n(a)+" "+b}return n(b.replace(/-/g," "))},costFromUsage:m,costFootnoteKey:null},codex:x},z=["claude","codex"],A="claude";function B(a){return y[a]}function C(){return z.map(a=>y[a])}function D(a){return"string"==typeof a&&("claude"===a||"codex"===a)}async function E(a){try{return(await d.promises.stat(a)).isDirectory()}catch{return!1}}async function F(){let a=[];for(let b of C())for(let c of b.getDirs())if(await E(c)){a.push(b.id);break}return a}},71310:(a,b,c)=>{"use strict";c.d(b,{E7:()=>h,_G:()=>d});let d={"gpt-5":{input:1.25,output:10,cacheRead:.13,cacheCreation5m:0,cacheCreation1h:0},"gpt-5-mini":{input:.25,output:2,cacheRead:.025,cacheCreation5m:0,cacheCreation1h:0},"gpt-5-nano":{input:.05,output:.4,cacheRead:.005,cacheCreation5m:0,cacheCreation1h:0},"gpt-5.4":{input:1.25,output:10,cacheRead:.13,cacheCreation5m:0,cacheCreation1h:0},"gpt-5.5":{input:1.25,output:10,cacheRead:.13,cacheCreation5m:0,cacheCreation1h:0},"gpt-5.5-mini":{input:.25,output:2,cacheRead:.025,cacheCreation5m:0,cacheCreation1h:0},"gpt-5.5-nano":{input:.05,output:.4,cacheRead:.005,cacheCreation5m:0,cacheCreation1h:0},"gpt-4.1":{input:2,output:8,cacheRead:.5,cacheCreation5m:0,cacheCreation1h:0},"gpt-4.1-mini":{input:.4,output:1.6,cacheRead:.1,cacheCreation5m:0,cacheCreation1h:0},o3:{input:2,output:8,cacheRead:.5,cacheCreation5m:0,cacheCreation1h:0},"o4-mini":{input:1.1,output:4.4,cacheRead:.275,cacheCreation5m:0,cacheCreation1h:0}},e={gpt:d["gpt-5"],o:d.o3},f=/-\d{8}$/,g=/^(openai)\//;function h(a){if(!a)return{pricing:null,matchType:"none",matchedKey:null};if(d[a])return{pricing:d[a],matchType:"exact",matchedKey:a};let b=a.replace(f,"");if(d[b])return{pricing:d[b],matchType:"date-stripped",matchedKey:b};let c=b.replace(g,"");if(d[c])return{pricing:d[c],matchType:"prefix-stripped",matchedKey:c};let h=a.toLowerCase();return h.startsWith("gpt-")||"gpt"===h?{pricing:e.gpt,matchType:"family-fallback",matchedKey:"gpt-(latest)"}:/^o\d/.test(h)?{pricing:e.o,matchType:"family-fallback",matchedKey:"o-(latest)"}:{pricing:null,matchType:"none",matchedKey:null}}},78335:()=>{},96487:()=>{}};
|
|
1
|
+
exports.id=716,exports.ids=[716],exports.modules={31519:(a,b,c)=>{"use strict";c.d(b,{Q:()=>e,V:()=>d});let d={"claude-opus-4":{input:15,output:75,cacheCreation5m:18.75,cacheCreation1h:30,cacheRead:1.5},"claude-sonnet-4":{input:3,output:15,cacheCreation5m:3.75,cacheCreation1h:6,cacheRead:.3},"claude-sonnet-3-7":{input:3,output:15,cacheCreation5m:3.75,cacheCreation1h:6,cacheRead:.3},"claude-haiku-3-5":{input:.8,output:4,cacheCreation5m:1,cacheCreation1h:1.6,cacheRead:.08},"claude-haiku-3":{input:.25,output:1.25,cacheCreation5m:.3,cacheCreation1h:.5,cacheRead:.03},...c(45699).O},e={fable:d["claude-fable-5"],opus:d["claude-opus-4-8"],sonnet:d["claude-sonnet-4-6"],haiku:d["claude-haiku-4-5"]}},45699:(a,b,c)=>{"use strict";c.d(b,{O:()=>d,y:()=>e});let d={"claude-3-7-sonnet-20250219":{input:3,output:15,cacheCreation5m:3.75,cacheCreation1h:6,cacheRead:.3},"claude-3-haiku-20240307":{input:.25,output:1.25,cacheCreation5m:.3,cacheCreation1h:.5,cacheRead:.03},"claude-3-opus-20240229":{input:15,output:75,cacheCreation5m:18.75,cacheCreation1h:30,cacheRead:1.5},"claude-4-opus-20250514":{input:15,output:75,cacheCreation5m:18.75,cacheCreation1h:30,cacheRead:1.5},"claude-4-sonnet-20250514":{input:3,output:15,cacheCreation5m:3.75,cacheCreation1h:6,cacheRead:.3},"claude-fable-5":{input:10,output:50,cacheCreation5m:12.5,cacheCreation1h:20,cacheRead:1},"claude-haiku-4-5":{input:1,output:5,cacheCreation5m:1.25,cacheCreation1h:2,cacheRead:.1},"claude-haiku-4-5-20251001":{input:1,output:5,cacheCreation5m:1.25,cacheCreation1h:2,cacheRead:.1},"claude-opus-4-1":{input:15,output:75,cacheCreation5m:18.75,cacheCreation1h:30,cacheRead:1.5},"claude-opus-4-1-20250805":{input:15,output:75,cacheCreation5m:18.75,cacheCreation1h:30,cacheRead:1.5},"claude-opus-4-20250514":{input:15,output:75,cacheCreation5m:18.75,cacheCreation1h:30,cacheRead:1.5},"claude-opus-4-5":{input:5,output:25,cacheCreation5m:6.25,cacheCreation1h:10,cacheRead:.5},"claude-opus-4-5-20251101":{input:5,output:25,cacheCreation5m:6.25,cacheCreation1h:10,cacheRead:.5},"claude-opus-4-6":{input:5,output:25,cacheCreation5m:6.25,cacheCreation1h:10,cacheRead:.5},"claude-opus-4-6-20260205":{input:5,output:25,cacheCreation5m:6.25,cacheCreation1h:10,cacheRead:.5},"claude-opus-4-7":{input:5,output:25,cacheCreation5m:6.25,cacheCreation1h:10,cacheRead:.5},"claude-opus-4-7-20260416":{input:5,output:25,cacheCreation5m:6.25,cacheCreation1h:10,cacheRead:.5},"claude-opus-4-8":{input:5,output:25,cacheCreation5m:6.25,cacheCreation1h:10,cacheRead:.5},"claude-sonnet-4-20250514":{input:3,output:15,cacheCreation5m:3.75,cacheCreation1h:6,cacheRead:.3},"claude-sonnet-4-5":{input:3,output:15,cacheCreation5m:3.75,cacheCreation1h:6,cacheRead:.3},"claude-sonnet-4-5-20250929":{input:3,output:15,cacheCreation5m:3.75,cacheCreation1h:6,cacheRead:.3},"claude-sonnet-4-6":{input:3,output:15,cacheCreation5m:3.75,cacheCreation1h:6,cacheRead:.3}},e={"chatgpt-4o-latest":{input:5,output:15,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.5},"codex-mini-latest":{input:1.5,output:6,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.375},"gpt-3.5-turbo":{input:.5,output:1.5,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.05},"gpt-3.5-turbo-0125":{input:.5,output:1.5,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.05},"gpt-3.5-turbo-1106":{input:1,output:2,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.1},"gpt-3.5-turbo-16k":{input:3,output:4,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.3},"gpt-4":{input:30,output:60,cacheCreation5m:0,cacheCreation1h:0,cacheRead:3},"gpt-4-0125-preview":{input:10,output:30,cacheCreation5m:0,cacheCreation1h:0,cacheRead:1},"gpt-4-0314":{input:30,output:60,cacheCreation5m:0,cacheCreation1h:0,cacheRead:3},"gpt-4-0613":{input:30,output:60,cacheCreation5m:0,cacheCreation1h:0,cacheRead:3},"gpt-4-1106-preview":{input:10,output:30,cacheCreation5m:0,cacheCreation1h:0,cacheRead:1},"gpt-4-turbo":{input:10,output:30,cacheCreation5m:0,cacheCreation1h:0,cacheRead:1},"gpt-4-turbo-2024-04-09":{input:10,output:30,cacheCreation5m:0,cacheCreation1h:0,cacheRead:1},"gpt-4-turbo-preview":{input:10,output:30,cacheCreation5m:0,cacheCreation1h:0,cacheRead:1},"gpt-4.1":{input:2,output:8,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.5},"gpt-4.1-2025-04-14":{input:2,output:8,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.5},"gpt-4.1-mini":{input:.4,output:1.6,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.1},"gpt-4.1-mini-2025-04-14":{input:.4,output:1.6,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.1},"gpt-4.1-nano":{input:.1,output:.4,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.025},"gpt-4.1-nano-2025-04-14":{input:.1,output:.4,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.025},"gpt-4o":{input:2.5,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:1.25},"gpt-4o-2024-05-13":{input:5,output:15,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.5},"gpt-4o-2024-08-06":{input:2.5,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:1.25},"gpt-4o-2024-11-20":{input:2.5,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:1.25},"gpt-4o-audio-preview":{input:2.5,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.25},"gpt-4o-audio-preview-2024-12-17":{input:2.5,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.25},"gpt-4o-audio-preview-2025-06-03":{input:2.5,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.25},"gpt-4o-mini":{input:.15,output:.6,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.075},"gpt-4o-mini-2024-07-18":{input:.15,output:.6,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.075},"gpt-4o-mini-audio-preview":{input:.15,output:.6,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.015},"gpt-4o-mini-audio-preview-2024-12-17":{input:.15,output:.6,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.015},"gpt-4o-mini-realtime-preview":{input:.6,output:2.4,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.3},"gpt-4o-mini-realtime-preview-2024-12-17":{input:.6,output:2.4,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.3},"gpt-4o-mini-search-preview":{input:.15,output:.6,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.075},"gpt-4o-mini-search-preview-2025-03-11":{input:.15,output:.6,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.075},"gpt-4o-realtime-preview":{input:5,output:20,cacheCreation5m:0,cacheCreation1h:0,cacheRead:2.5},"gpt-4o-realtime-preview-2024-12-17":{input:5,output:20,cacheCreation5m:0,cacheCreation1h:0,cacheRead:2.5},"gpt-4o-realtime-preview-2025-06-03":{input:5,output:20,cacheCreation5m:0,cacheCreation1h:0,cacheRead:2.5},"gpt-4o-search-preview":{input:2.5,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:1.25},"gpt-4o-search-preview-2025-03-11":{input:2.5,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:1.25},"gpt-5":{input:1.25,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.125},"gpt-5-2025-08-07":{input:1.25,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.125},"gpt-5-chat":{input:1.25,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.125},"gpt-5-chat-latest":{input:1.25,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.125},"gpt-5-codex":{input:1.25,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.125},"gpt-5-mini":{input:.25,output:2,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.025},"gpt-5-mini-2025-08-07":{input:.25,output:2,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.025},"gpt-5-nano":{input:.05,output:.4,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.005},"gpt-5-nano-2025-08-07":{input:.05,output:.4,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.005},"gpt-5-pro":{input:15,output:120,cacheCreation5m:0,cacheCreation1h:0,cacheRead:1.5},"gpt-5-pro-2025-10-06":{input:15,output:120,cacheCreation5m:0,cacheCreation1h:0,cacheRead:1.5},"gpt-5-search-api":{input:1.25,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.125},"gpt-5-search-api-2025-10-14":{input:1.25,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.125},"gpt-5.1":{input:1.25,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.125},"gpt-5.1-2025-11-13":{input:1.25,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.125},"gpt-5.1-chat-latest":{input:1.25,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.125},"gpt-5.1-codex":{input:1.25,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.125},"gpt-5.1-codex-max":{input:1.25,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.125},"gpt-5.1-codex-mini":{input:.25,output:2,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.025},"gpt-5.2":{input:1.75,output:14,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.175},"gpt-5.2-2025-12-11":{input:1.75,output:14,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.175},"gpt-5.2-chat-latest":{input:1.75,output:14,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.175},"gpt-5.2-codex":{input:1.75,output:14,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.175},"gpt-5.2-pro":{input:21,output:168,cacheCreation5m:0,cacheCreation1h:0,cacheRead:2.1},"gpt-5.2-pro-2025-12-11":{input:21,output:168,cacheCreation5m:0,cacheCreation1h:0,cacheRead:2.1},"gpt-5.3-chat-latest":{input:1.75,output:14,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.175},"gpt-5.3-codex":{input:1.75,output:14,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.175},"gpt-5.4":{input:2.5,output:15,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.25},"gpt-5.4-2026-03-05":{input:2.5,output:15,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.25},"gpt-5.4-mini":{input:.75,output:4.5,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.075},"gpt-5.4-mini-2026-03-17":{input:.75,output:4.5,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.075},"gpt-5.4-nano":{input:.2,output:1.25,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.02},"gpt-5.4-nano-2026-03-17":{input:.2,output:1.25,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.02},"gpt-5.4-pro":{input:30,output:180,cacheCreation5m:0,cacheCreation1h:0,cacheRead:3},"gpt-5.4-pro-2026-03-05":{input:30,output:180,cacheCreation5m:0,cacheCreation1h:0,cacheRead:3},"gpt-5.5":{input:5,output:30,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.5},"gpt-5.5-2026-04-23":{input:5,output:30,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.5},"gpt-5.5-pro":{input:30,output:180,cacheCreation5m:0,cacheCreation1h:0,cacheRead:3},"gpt-5.5-pro-2026-04-23":{input:30,output:180,cacheCreation5m:0,cacheCreation1h:0,cacheRead:3},"gpt-audio":{input:2.5,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.25},"gpt-audio-1.5":{input:2.5,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.25},"gpt-audio-2025-08-28":{input:2.5,output:10,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.25},"gpt-audio-mini":{input:.6,output:2.4,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.06},"gpt-audio-mini-2025-10-06":{input:.6,output:2.4,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.06},"gpt-audio-mini-2025-12-15":{input:.6,output:2.4,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.06},"gpt-realtime":{input:4,output:16,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.4},"gpt-realtime-1.5":{input:4,output:16,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.4},"gpt-realtime-2":{input:4,output:16,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.4},"gpt-realtime-2025-08-28":{input:4,output:16,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.4},"gpt-realtime-mini":{input:.6,output:2.4,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.06},"gpt-realtime-mini-2025-10-06":{input:.6,output:2.4,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.06},"gpt-realtime-mini-2025-12-15":{input:.6,output:2.4,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.06},o1:{input:15,output:60,cacheCreation5m:0,cacheCreation1h:0,cacheRead:7.5},"o1-2024-12-17":{input:15,output:60,cacheCreation5m:0,cacheCreation1h:0,cacheRead:7.5},"o1-pro":{input:150,output:600,cacheCreation5m:0,cacheCreation1h:0,cacheRead:15},"o1-pro-2025-03-19":{input:150,output:600,cacheCreation5m:0,cacheCreation1h:0,cacheRead:15},o3:{input:2,output:8,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.5},"o3-2025-04-16":{input:2,output:8,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.5},"o3-deep-research":{input:10,output:40,cacheCreation5m:0,cacheCreation1h:0,cacheRead:2.5},"o3-deep-research-2025-06-26":{input:10,output:40,cacheCreation5m:0,cacheCreation1h:0,cacheRead:2.5},"o3-mini":{input:1.1,output:4.4,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.55},"o3-mini-2025-01-31":{input:1.1,output:4.4,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.55},"o3-pro":{input:20,output:80,cacheCreation5m:0,cacheCreation1h:0,cacheRead:2},"o3-pro-2025-06-10":{input:20,output:80,cacheCreation5m:0,cacheCreation1h:0,cacheRead:2},"o4-mini":{input:1.1,output:4.4,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.275},"o4-mini-2025-04-16":{input:1.1,output:4.4,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.275},"o4-mini-deep-research":{input:2,output:8,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.5},"o4-mini-deep-research-2025-06-26":{input:2,output:8,cacheCreation5m:0,cacheCreation1h:0,cacheRead:.5}}},60704:(a,b,c)=>{"use strict";c.d(b,{jt:()=>A,Gr:()=>B,Fw:()=>G,sO:()=>C,rl:()=>E,R0:()=>D});var d=c(73024),e=c(76760),f=c.n(e),g=c(48161),h=c.n(g),i=c(80481),j=c.n(i);async function k(a){let b=(0,d.createReadStream)(a,{encoding:"utf8"}),c=j().createInterface({input:b,crlfDelay:1/0}),e=[],f=[],g=[];for await(let b of c){let c;if(b.trim()){try{c=JSON.parse(b)}catch{continue}if(c&&"object"==typeof c){if(c.uuid&&g.push([c.uuid,c.parentUuid??null]),"assistant"===c.type){let b=function(a,b){let c=a.message;if(!c)return null;let d=c.usage;if(!d)return null;let e=c.model??"";if(!e||"<synthetic>"===e)return null;let f=c.id??a.uuid??"";if(!f&&!a.requestId)return null;let g=d.cache_creation,h=Array.isArray(c.content)?c.content:[],i=[],j=!1,k="";for(let a of h)"tool_use"===a.type&&"string"==typeof a.name?i.push(a.name):"thinking"===a.type?j=!0:"text"!==a.type||"string"!=typeof a.text||k||(k=a.text.slice(0,200));return{type:"assistant",source:"claude",uuid:a.uuid??f,parentUuid:a.parentUuid??null,timestamp:a.timestamp??new Date().toISOString(),sessionId:a.sessionId??"",requestId:a.requestId??"",cwd:a.cwd??"",gitBranch:a.gitBranch,version:a.version,model:e,messageId:f,usage:{input_tokens:Number(d.input_tokens)||0,output_tokens:Number(d.output_tokens)||0,cache_creation_input_tokens:Number(d.cache_creation_input_tokens)||0,cache_read_input_tokens:Number(d.cache_read_input_tokens)||0,cache_creation_5m:Number(g?.ephemeral_5m_input_tokens)||0,cache_creation_1h:Number(g?.ephemeral_1h_input_tokens)||0},toolNames:i,hasThinking:j,textPreview:k,filePath:b,isSidechain:!0===a.isSidechain||void 0}}(c,a);b&&e.push(b)}else if("user"===c.type){let b=function(a,b){if(!a.uuid)return null;let c=a.message,d="";if(c){let a=c.content;if("string"==typeof a)d=a.slice(0,200);else if(Array.isArray(a)){for(let b of a)if("text"===b.type&&"string"==typeof b.text){d=b.text.slice(0,200);break}}}let e=!0===a.isSidechain,f=e||!!d&&function(a){let b=a.trimStart();return!!(b.startsWith("Base directory for this skill:")||b.startsWith("<system-reminder>")||b.startsWith("Caveat: The messages below were generated by")||b.startsWith("<task-notification>"))}(d);return{type:"user",source:"claude",uuid:a.uuid,parentUuid:a.parentUuid??null,timestamp:a.timestamp??new Date().toISOString(),sessionId:a.sessionId??"",cwd:a.cwd??"",textPreview:d,isSynthetic:f,isSidechain:!!e||void 0,filePath:b}}(c,a);b&&f.push(b)}}}}return{assistant:e,user:f,parentLinks:g}}var l=c(31519);function m(a,b){if(!b)return{input:0,output:0,cacheCreation5m:0,cacheCreation1h:0,cacheRead:0,total:0,saved:0};let c=a.input_tokens/1e6*b.input,d=a.output_tokens/1e6*b.output,e=a.cache_creation_5m/1e6*b.cacheCreation5m,f=a.cache_creation_1h/1e6*b.cacheCreation1h;e+f===0&&a.cache_creation_input_tokens>0&&(e=a.cache_creation_input_tokens/1e6*b.cacheCreation5m);let g=a.cache_read_input_tokens/1e6*b.cacheRead,h=c+d+e+f+g;return{input:c,output:d,cacheCreation5m:e,cacheCreation1h:f,cacheRead:g,total:h,saved:a.cache_read_input_tokens/1e6*(b.input-b.cacheRead)}}function n(a){return a.replace(/\b\w/g,a=>a.toUpperCase())}let o=/-\d{8}$/,p=/^(vertex_ai|bedrock|anthropic)\//;async function q(a){try{let b=await d.promises.stat(a);return new Date(b.mtimeMs).toISOString()}catch{return new Date().toISOString()}}function r(a){return"string"==typeof a?a:""}function s(a){let b=Number(a);return Number.isFinite(b)?b:0}function t(a){let b=a.message;if("string"==typeof b)return b;let c=a.content;if("string"==typeof c)return c;if(Array.isArray(c))for(let a of c){let b=a?.type;if(("input_text"===b||"output_text"===b||"text"===b)&&"string"==typeof a.text)return a.text}return""}async function u(a){let b,c=(0,d.createReadStream)(a,{encoding:"utf8"}),e=j().createInterface({input:c,crlfDelay:1/0}),f=[],g=[],h=[],i="",k="",l=0,m=0,n=null,o=await q(a),p={turnId:null,cwd:"",model:"gpt-unknown",userUuid:null,toolNames:[],hasThinking:!1,pendingTextPreview:""};for await(let c of e){let d;if(!c.trim())continue;try{d=JSON.parse(c)}catch{continue}if(!d||"object"!=typeof d||!d.type)continue;let e=d.payload??{},j=r(d.timestamp),q=j||o;if(j&&(o=j),"session_meta"===d.type){i=r(e.id),k=r(e.cwd),b=r(e.cli_version)||void 0;let a=r(e.timestamp);a&&(o=a),p.cwd||(p.cwd=k);continue}if("turn_context"===d.type){p.turnId=r(e.turn_id)||p.turnId,p.cwd=r(e.cwd)||k;let a=r(e.model);a&&(p.model=a);let b=r(e.effort);b&&(p.effort=b),p.toolNames=[],p.hasThinking=!1,p.pendingTextPreview="";continue}if("event_msg"===d.type){let c=r(e.type);if("user_message"===c){let b=t(e);if(!b)continue;let c=`${i}::u${l++}`;g.push({type:"user",source:"codex",uuid:c,parentUuid:null,timestamp:q,sessionId:i,cwd:p.cwd||k,textPreview:b.slice(0,200),filePath:a}),h.push([c,null]),p.userUuid=c;continue}if("agent_message"===c){let a=t(e);a&&!p.pendingTextPreview&&(p.pendingTextPreview=a.slice(0,200));continue}if("agent_reasoning"===c){p.hasThinking=!0;continue}if("token_count"===c){let c,d,g,j,l=e.info;if(!l)continue;let o=l.total_token_usage,r=l.last_token_usage,t=o?{input:s(o.input_tokens),cached:s(o.cached_input_tokens),output:s(o.output_tokens),reasoning:s(o.reasoning_output_tokens)}:null;if(t){if(null===n?(c=t.input,d=t.cached,g=t.output,j=t.reasoning):(c=Math.max(0,t.input-n.input),d=Math.max(0,t.cached-n.cached),g=Math.max(0,t.output-n.output),j=Math.max(0,t.reasoning-n.reasoning)),0===c&&0===d&&0===g&&0===j)continue;n=null===n?{...t}:{input:Math.max(n.input,t.input),cached:Math.max(n.cached,t.cached),output:Math.max(n.output,t.output),reasoning:Math.max(n.reasoning,t.reasoning)}}else{if(!r||(c=s(r.input_tokens),d=s(r.cached_input_tokens),g=s(r.output_tokens),j=s(r.reasoning_output_tokens),0===c&&0===d&&0===g&&0===j))continue;n=null===n?{input:c,cached:d,output:g,reasoning:j}:{input:n.input+c,cached:n.cached+d,output:n.output+g,reasoning:n.reasoning+j}}let u=`${i}::a${m++}`,v=p.turnId?`${p.turnId}::a${m}`:`${i}::a${m}`;f.push({type:"assistant",source:"codex",uuid:u,parentUuid:p.userUuid,timestamp:q,sessionId:i,requestId:v,cwd:p.cwd||k,version:b,model:p.model||"gpt-unknown",messageId:v,usage:{input_tokens:Math.max(0,c-d),output_tokens:g,cache_creation_input_tokens:0,cache_read_input_tokens:d,cache_creation_5m:0,cache_creation_1h:0,reasoning_tokens:j},toolNames:[...p.toolNames],hasThinking:p.hasThinking,textPreview:p.pendingTextPreview,filePath:a,effort:p.effort}),h.push([u,p.userUuid]),p.toolNames=[],p.hasThinking=!1,p.pendingTextPreview=""}continue}if("response_item"===d.type){let a=r(e.type);if("function_call"===a||"custom_tool_call"===a){let a=r(e.name);a&&p.toolNames.push(a);continue}if("reasoning"===a){p.hasThinking=!0;continue}if("message"===a&&"assistant"===r(e.role)){let a=t(e);a&&!p.pendingTextPreview&&(p.pendingTextPreview=a.slice(0,200))}continue}}return{assistant:f,user:g,parentLinks:h}}var v=c(71310);let w={mini:"Mini",nano:"Nano",pro:"Pro",turbo:"Turbo",preview:"Preview"};var x=c(86895);let y={id:"codex",displayName:{en:"Codex",zh:"Codex"},shortLabel:"X",color:{fg:"#047857",bg:"#d1fae5"},logoSrc:"/codex-logo.webp",parserVersion:"codex-v6-output-excludes-readded-reasoning",capabilities:{hasCacheCreation:!1,hasReasoningTokens:!0,blockWindowMs:18e6},getDirs:function(){let a=h().homedir(),b=[f().join(a,".codex","sessions"),f().join(a,".codex","archived_sessions")];return process.env.CCGAUGE_CODEX_DIR&&b.push(process.env.CCGAUGE_CODEX_DIR),process.env.CODEX_HOME&&(b.push(f().join(process.env.CODEX_HOME,"sessions")),b.push(f().join(process.env.CODEX_HOME,"archived_sessions"))),Array.from(new Set(b))},shouldSkipDir:()=>!1,parseFile:u,resolvePricing:v.E7,shortenModel:function(a){if(!a)return"(unknown)";let b=a.replace(/^openai\//,"");return b.toLowerCase().startsWith("gpt-")?"GPT-"+b.slice(4).split("-").map(a=>w[a.toLowerCase()]??a).join(" "):b.toLowerCase().startsWith("o")?b.toUpperCase():b.replace(/-/g," ").replace(/\b\w/g,a=>a.toUpperCase())},costFromUsage:function(a,b,c){return b?m(a,(0,x.mb)(b,(0,x.pO)(c??""))):m(a,null)},costFootnoteKey:"cost.footnote.codex"},z={claude:{id:"claude",displayName:{en:"Claude",zh:"Claude"},shortLabel:"C",color:{fg:"#b45309",bg:"#fef3c7"},logoSrc:"/claude-logo.webp",parserVersion:"claude-v5-task-notification-synthetic",capabilities:{hasCacheCreation:!0,hasReasoningTokens:!1,blockWindowMs:18e6},getDirs:function(){let a=h().homedir(),b=[f().join(a,".claude","projects"),f().join(a,".config","claude","projects")];return process.env.CCGAUGE_CONFIG_DIR&&b.push(f().join(process.env.CCGAUGE_CONFIG_DIR,"projects")),process.env.CLAUDE_CONFIG_DIR&&b.push(f().join(process.env.CLAUDE_CONFIG_DIR,"projects")),Array.from(new Set(b))},shouldSkipDir:a=>"tool-results"===a||"memory"===a,parseFile:async a=>await k(a),resolvePricing:function(a){if(!a)return{pricing:null,matchType:"none",matchedKey:null};if(l.V[a])return{pricing:l.V[a],matchType:"exact",matchedKey:a};let b=a.replace(o,"");if(l.V[b])return{pricing:l.V[b],matchType:"date-stripped",matchedKey:b};let c=b.replace(p,"");if(l.V[c])return{pricing:l.V[c],matchType:"prefix-stripped",matchedKey:c};for(let b of["fable","opus","sonnet","haiku"])if(a.toLowerCase().includes(b))return{pricing:l.Q[b],matchType:"family-fallback",matchedKey:`claude-${b}-(latest)`};return{pricing:null,matchType:"none",matchedKey:null}},shortenModel:function(a){if(!a)return"(unknown)";let b=a.replace(/-(\d{8})$/,"").replace(/^(vertex_ai|bedrock|anthropic)\//,""),c=(b=b.replace(/^claude-/,"")).split("-");if(c.length>=2){let a=c[0],b=c.slice(1).join(".");return n(a)+" "+b}return n(b.replace(/-/g," "))},costFromUsage:m,costFootnoteKey:null},codex:y},A=["claude","codex"],B="claude";function C(a){return z[a]}function D(){return A.map(a=>z[a])}function E(a){return"string"==typeof a&&("claude"===a||"codex"===a)}async function F(a){try{return(await d.promises.stat(a)).isDirectory()}catch{return!1}}async function G(){let a=[];for(let b of D())for(let c of b.getDirs())if(await F(c)){a.push(b.id);break}return a}},71310:(a,b,c)=>{"use strict";c.d(b,{E7:()=>h,_G:()=>d});let d={...c(45699).y},e={gpt:d["gpt-5.5"],o:d.o3},f=/-\d{8}$/,g=/^(openai)\//;function h(a){if(!a)return{pricing:null,matchType:"none",matchedKey:null};if(d[a])return{pricing:d[a],matchType:"exact",matchedKey:a};let b=a.replace(f,"");if(d[b])return{pricing:d[b],matchType:"date-stripped",matchedKey:b};let c=b.replace(g,"");if(d[c])return{pricing:d[c],matchType:"prefix-stripped",matchedKey:c};let h=a.toLowerCase();return h.startsWith("gpt-")||"gpt"===h?{pricing:e.gpt,matchType:"family-fallback",matchedKey:"gpt-(latest)"}:/^o\d/.test(h)?{pricing:e.o,matchType:"family-fallback",matchedKey:"o-(latest)"}:{pricing:null,matchType:"none",matchedKey:null}}},78335:()=>{},86895:(a,b,c)=>{"use strict";let d;c.d(b,{bY:()=>k,mb:()=>m,pO:()=>l});var e=c(73024),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h);let j={"gpt-5.5":2.5,"gpt-5.4":2,"gpt-5.3-codex":2};function k(){return void 0===d&&(d=function(){for(let a of function(){let a=[];return process.env.CODEX_HOME&&a.push(process.env.CODEX_HOME),a.push(i().join(g().homedir(),".codex")),Array.from(new Set(a))}())try{let b=(0,e.readFileSync)(i().join(a,"config.toml"),"utf8");if(function(a){for(let b of a.split(/\r?\n/)){let a=(b.split("#")[0]??"").trim(),c=a.indexOf("=");if(-1===c||"service_tier"!==a.slice(0,c).trim())continue;let d=a.slice(c+1).trim().replace(/^['"]+|['"]+$/g,"");if("fast"===d||"priority"===d)return!0}return!1}(b))return!0}catch{}return!1}()),d}function l(a){return k()?j[a.replace(/^openai\//,"").replace(/-\d{8}$/,"")]??2:1}function m(a,b){return 1===b?a:{input:a.input*b,output:a.output*b,cacheRead:a.cacheRead*b,cacheCreation5m:a.cacheCreation5m*b,cacheCreation1h:a.cacheCreation1h*b}}},96487:()=>{}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=730,exports.ids=[730],exports.modules={46796:(a,b,c)=>{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]}},50160:(a,b,c)=>{c.d(b,{SI:()=>e});var d=c(60704);function e(a){let b=(0,d.sO)(a.source),{pricing:c}=b.resolvePricing(a.model);return b.costFromUsage(a.usage,c)}},62955:(a,b,c)=>{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}},67803:(a,b,c)=>{c.d(b,{$M:()=>q,OJ:()=>o,a3:()=>j,a6:()=>m,a9:()=>n,bo:()=>i,pb:()=>p});var d=c(50160),e=c(60704),f=c(95012),g=c(62955);let h=["hour","day","week","month"];function i(a){return"string"==typeof a&&h.includes(a)}function j(a,b){let c=new Date(a),d=c.getFullYear(),e=String(c.getMonth()+1).padStart(2,"0"),f=String(c.getDate()).padStart(2,"0"),g=String(c.getHours()).padStart(2,"0");if("hour"===b)return{key:`${d}-${e}-${f}T${g}`,label:`${e}/${f} ${g}:00`};if("day"===b)return{key:`${d}-${e}-${f}`,label:`${e}/${f}`};if("week"===b){let a=new Date(c),b=a.getDay()||7;a.setDate(a.getDate()-b+1);let d=String(a.getMonth()+1).padStart(2,"0"),e=String(a.getDate()).padStart(2,"0");return{key:`${a.getFullYear()}-W${d}${e}`,label:`Wk ${d}/${e}`}}return{key:`${d}-${e}`,label:`${d}-${e}`}}function k(a){return{source:a.source,fromIso:a.from?.toISOString(),toIso:a.to?.toISOString(),models:a.models&&a.models.length?new Set(a.models):void 0,projects:a.projects&&a.projects.length?new Set(a.projects):void 0}}function l(a,b){return a.source===b.source&&(!b.fromIso||!(a.timestamp<b.fromIso))&&(!b.toIso||!(a.timestamp>b.toIso))&&(!b.models||!!b.models.has(a.model))&&(!b.projects||!!b.projects.has(a.cwd))}function m(a,b,c){let e=new Map,f=k(c);for(let c of a){if(!l(c,f))continue;let{key:a,label:g}=j(c.timestamp,b),h=e.get(a);h||(h={key:a,label:g,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,requests:0,models:{}},e.set(a,h)),function(a,b){let c=(0,d.SI)(b);a.inputTokens+=b.usage.input_tokens,a.outputTokens+=b.usage.output_tokens,a.cacheReadTokens+=b.usage.cache_read_input_tokens,a.cacheCreationTokens+=b.usage.cache_creation_input_tokens,a.totalTokens=a.inputTokens+a.outputTokens+a.cacheReadTokens+a.cacheCreationTokens,a.cost+=c.total,a.saved+=c.saved,a.requests+=1;let e=a.models[b.model]??{tokens:0,cost:0,requests:0};e.tokens+=b.usage.input_tokens+b.usage.output_tokens+b.usage.cache_read_input_tokens+b.usage.cache_creation_input_tokens,e.cost+=c.total,e.requests+=1,a.models[b.model]=e}(h,c)}return Array.from(e.values()).sort((a,b)=>a.key.localeCompare(b.key))}function n(a,b){let c=new Map,f=k(b);for(let b of a){if(!l(b,f))continue;let a=c.get(b.model);if(!a){let{pricing:d,matchType:f}=(0,e.sO)(b.source).resolvePricing(b.model);a={model:b.model,source:b.source,requests:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,pricing:d,pricingResolved:"exact"===f||"date-stripped"===f||"prefix-stripped"===f},c.set(b.model,a)}let g=(0,d.SI)(b);a.requests+=1,a.inputTokens+=b.usage.input_tokens,a.outputTokens+=b.usage.output_tokens,a.cacheReadTokens+=b.usage.cache_read_input_tokens,a.cacheCreationTokens+=b.usage.cache_creation_input_tokens,a.totalTokens=a.inputTokens+a.outputTokens+a.cacheReadTokens+a.cacheCreationTokens,a.cost+=g.total,a.saved+=g.saved}return Array.from(c.values()).sort((a,b)=>b.cost-a.cost)}function o(a,b){let c=new Map,e=new Map,g=k(b);for(let h of a){if(!l(h,g))continue;let a=h.cwd||"(unknown)",i=c.get(a);i||(i={source:b.source,cwd:a,projectName:(0,f.PJ)(a),sessions:0,requests:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,firstActivity:h.timestamp,lastActivity:h.timestamp,models:[]},c.set(a,i),e.set(a,new Set)),e.get(a).add(h.sessionId);let j=(0,d.SI)(h);i.requests+=1,i.inputTokens+=h.usage.input_tokens,i.outputTokens+=h.usage.output_tokens,i.cacheReadTokens+=h.usage.cache_read_input_tokens,i.cacheCreationTokens+=h.usage.cache_creation_input_tokens,i.totalTokens=i.inputTokens+i.outputTokens+i.cacheReadTokens+i.cacheCreationTokens,i.cost+=j.total,i.saved+=j.saved,h.timestamp<i.firstActivity&&(i.firstActivity=h.timestamp),h.timestamp>i.lastActivity&&(i.lastActivity=h.timestamp),i.models.includes(h.model)||i.models.push(h.model)}for(let[a,b]of e)c.get(a).sessions=b.size;return Array.from(c.values()).sort((a,b)=>b.cost-a.cost)}function p(a,b,c){let e=new Map,h=k(c);for(let b of a){if(!l(b,h))continue;let a=b.sessionId||b.uuid,c=e.get(a);c||(c={sessionId:a,source:b.source,cwd:b.cwd,projectName:(0,f.PJ)(b.cwd),projectLabel:(0,g.CL)(b.cwd),startTime:b.timestamp,endTime:b.timestamp,durationMs:0,requests:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,models:[],modelBreakdown:{}},e.set(a,c));let i=(0,d.SI)(b);c.requests+=1,c.inputTokens+=b.usage.input_tokens,c.outputTokens+=b.usage.output_tokens,c.cacheReadTokens+=b.usage.cache_read_input_tokens,c.cacheCreationTokens+=b.usage.cache_creation_input_tokens,c.totalTokens=c.inputTokens+c.outputTokens+c.cacheReadTokens+c.cacheCreationTokens,c.cost+=i.total,c.saved+=i.saved,b.timestamp<c.startTime&&(c.startTime=b.timestamp),b.timestamp>c.endTime&&(c.endTime=b.timestamp),c.models.includes(b.model)||c.models.push(b.model);let j=c.modelBreakdown[b.model]??{tokens:0,cost:0,requests:0};j.tokens+=b.usage.input_tokens+b.usage.output_tokens+b.usage.cache_read_input_tokens+b.usage.cache_creation_input_tokens,j.cost+=i.total,j.requests+=1,c.modelBreakdown[b.model]=j}let i=new Map;for(let a of b){let b=i.get(a.sessionId);(!b||a.timestamp<b.timestamp)&&i.set(a.sessionId,a)}for(let a of e.values()){a.durationMs=Math.max(0,new Date(a.endTime).getTime()-new Date(a.startTime).getTime());let b=i.get(a.sessionId);b&&b.textPreview&&(a.firstUserMessage=b.textPreview,a.title=b.textPreview.slice(0,80))}return Array.from(e.values()).sort((a,b)=>b.endTime.localeCompare(a.endTime))}function q(a,b){let c=0,e=0,f=0,g=0,h=0,i=0,j=0,m=k(b);for(let b of a){if(!l(b,m))continue;let a=(0,d.SI)(b);c+=b.usage.input_tokens,e+=b.usage.output_tokens,f+=b.usage.cache_read_input_tokens,g+=b.usage.cache_creation_input_tokens,h+=a.total,i+=a.saved,j+=1}return{inputTokens:c,outputTokens:e,cacheReadTokens:f,cacheCreationTokens:g,totalTokens:c+e+f+g,cost:h,saved:i,requests:j}}},95012:(a,b,c)=>{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):""}}};
|
|
1
|
+
"use strict";exports.id=730,exports.ids=[730],exports.modules={46796:(a,b,c)=>{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]}},50160:(a,b,c)=>{c.d(b,{SI:()=>e});var d=c(60704);function e(a){let b=(0,d.sO)(a.source),{pricing:c}=b.resolvePricing(a.model);return b.costFromUsage(a.usage,c,a.model)}},62955:(a,b,c)=>{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}},67803:(a,b,c)=>{c.d(b,{$M:()=>q,OJ:()=>o,a3:()=>j,a6:()=>m,a9:()=>n,bo:()=>i,pb:()=>p});var d=c(50160),e=c(60704),f=c(95012),g=c(62955);let h=["hour","day","week","month"];function i(a){return"string"==typeof a&&h.includes(a)}function j(a,b){let c=new Date(a),d=c.getFullYear(),e=String(c.getMonth()+1).padStart(2,"0"),f=String(c.getDate()).padStart(2,"0"),g=String(c.getHours()).padStart(2,"0");if("hour"===b)return{key:`${d}-${e}-${f}T${g}`,label:`${e}/${f} ${g}:00`};if("day"===b)return{key:`${d}-${e}-${f}`,label:`${e}/${f}`};if("week"===b){let a=new Date(c),b=a.getDay()||7;a.setDate(a.getDate()-b+1);let d=String(a.getMonth()+1).padStart(2,"0"),e=String(a.getDate()).padStart(2,"0");return{key:`${a.getFullYear()}-W${d}${e}`,label:`Wk ${d}/${e}`}}return{key:`${d}-${e}`,label:`${d}-${e}`}}function k(a){return{source:a.source,fromIso:a.from?.toISOString(),toIso:a.to?.toISOString(),models:a.models&&a.models.length?new Set(a.models):void 0,projects:a.projects&&a.projects.length?new Set(a.projects):void 0}}function l(a,b){return a.source===b.source&&(!b.fromIso||!(a.timestamp<b.fromIso))&&(!b.toIso||!(a.timestamp>b.toIso))&&(!b.models||!!b.models.has(a.model))&&(!b.projects||!!b.projects.has(a.cwd))}function m(a,b,c){let e=new Map,f=k(c);for(let c of a){if(!l(c,f))continue;let{key:a,label:g}=j(c.timestamp,b),h=e.get(a);h||(h={key:a,label:g,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,requests:0,models:{}},e.set(a,h)),function(a,b){let c=(0,d.SI)(b);a.inputTokens+=b.usage.input_tokens,a.outputTokens+=b.usage.output_tokens,a.cacheReadTokens+=b.usage.cache_read_input_tokens,a.cacheCreationTokens+=b.usage.cache_creation_input_tokens,a.totalTokens=a.inputTokens+a.outputTokens+a.cacheReadTokens+a.cacheCreationTokens,a.cost+=c.total,a.saved+=c.saved,a.requests+=1;let e=a.models[b.model]??{tokens:0,cost:0,requests:0};e.tokens+=b.usage.input_tokens+b.usage.output_tokens+b.usage.cache_read_input_tokens+b.usage.cache_creation_input_tokens,e.cost+=c.total,e.requests+=1,a.models[b.model]=e}(h,c)}return Array.from(e.values()).sort((a,b)=>a.key.localeCompare(b.key))}function n(a,b){let c=new Map,f=k(b);for(let b of a){if(!l(b,f))continue;let a=c.get(b.model);if(!a){let{pricing:d,matchType:f}=(0,e.sO)(b.source).resolvePricing(b.model);a={model:b.model,source:b.source,requests:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,pricing:d,pricingResolved:"exact"===f||"date-stripped"===f||"prefix-stripped"===f},c.set(b.model,a)}let g=(0,d.SI)(b);a.requests+=1,a.inputTokens+=b.usage.input_tokens,a.outputTokens+=b.usage.output_tokens,a.cacheReadTokens+=b.usage.cache_read_input_tokens,a.cacheCreationTokens+=b.usage.cache_creation_input_tokens,a.totalTokens=a.inputTokens+a.outputTokens+a.cacheReadTokens+a.cacheCreationTokens,a.cost+=g.total,a.saved+=g.saved}return Array.from(c.values()).sort((a,b)=>b.cost-a.cost)}function o(a,b){let c=new Map,e=new Map,g=k(b);for(let h of a){if(!l(h,g))continue;let a=h.cwd||"(unknown)",i=c.get(a);i||(i={source:b.source,cwd:a,projectName:(0,f.PJ)(a),sessions:0,requests:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,firstActivity:h.timestamp,lastActivity:h.timestamp,models:[]},c.set(a,i),e.set(a,new Set)),e.get(a).add(h.sessionId);let j=(0,d.SI)(h);i.requests+=1,i.inputTokens+=h.usage.input_tokens,i.outputTokens+=h.usage.output_tokens,i.cacheReadTokens+=h.usage.cache_read_input_tokens,i.cacheCreationTokens+=h.usage.cache_creation_input_tokens,i.totalTokens=i.inputTokens+i.outputTokens+i.cacheReadTokens+i.cacheCreationTokens,i.cost+=j.total,i.saved+=j.saved,h.timestamp<i.firstActivity&&(i.firstActivity=h.timestamp),h.timestamp>i.lastActivity&&(i.lastActivity=h.timestamp),i.models.includes(h.model)||i.models.push(h.model)}for(let[a,b]of e)c.get(a).sessions=b.size;return Array.from(c.values()).sort((a,b)=>b.cost-a.cost)}function p(a,b,c){let e=new Map,h=k(c);for(let b of a){if(!l(b,h))continue;let a=b.sessionId||b.uuid,c=e.get(a);c||(c={sessionId:a,source:b.source,cwd:b.cwd,projectName:(0,f.PJ)(b.cwd),projectLabel:(0,g.CL)(b.cwd),startTime:b.timestamp,endTime:b.timestamp,durationMs:0,requests:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreationTokens:0,totalTokens:0,cost:0,saved:0,models:[],modelBreakdown:{}},e.set(a,c));let i=(0,d.SI)(b);c.requests+=1,c.inputTokens+=b.usage.input_tokens,c.outputTokens+=b.usage.output_tokens,c.cacheReadTokens+=b.usage.cache_read_input_tokens,c.cacheCreationTokens+=b.usage.cache_creation_input_tokens,c.totalTokens=c.inputTokens+c.outputTokens+c.cacheReadTokens+c.cacheCreationTokens,c.cost+=i.total,c.saved+=i.saved,b.timestamp<c.startTime&&(c.startTime=b.timestamp),b.timestamp>c.endTime&&(c.endTime=b.timestamp),c.models.includes(b.model)||c.models.push(b.model);let j=c.modelBreakdown[b.model]??{tokens:0,cost:0,requests:0};j.tokens+=b.usage.input_tokens+b.usage.output_tokens+b.usage.cache_read_input_tokens+b.usage.cache_creation_input_tokens,j.cost+=i.total,j.requests+=1,c.modelBreakdown[b.model]=j}let i=new Map;for(let a of b){let b=i.get(a.sessionId);(!b||a.timestamp<b.timestamp)&&i.set(a.sessionId,a)}for(let a of e.values()){a.durationMs=Math.max(0,new Date(a.endTime).getTime()-new Date(a.startTime).getTime());let b=i.get(a.sessionId);b&&b.textPreview&&(a.firstUserMessage=b.textPreview,a.title=b.textPreview.slice(0,80))}return Array.from(e.values()).sort((a,b)=>b.endTime.localeCompare(a.endTime))}function q(a,b){let c=0,e=0,f=0,g=0,h=0,i=0,j=0,m=k(b);for(let b of a){if(!l(b,m))continue;let a=(0,d.SI)(b);c+=b.usage.input_tokens,e+=b.usage.output_tokens,f+=b.usage.cache_read_input_tokens,g+=b.usage.cache_creation_input_tokens,h+=a.total,i+=a.saved,j+=1}return{inputTokens:c,outputTokens:e,cacheReadTokens:f,cacheCreationTokens:g,totalTokens:c+e+f+g,cost:h,saved:i,requests:j}}},95012:(a,b,c)=>{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):""}}};
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 1,
|
|
3
3
|
"functions": {
|
|
4
|
-
"/api/scan": {},
|
|
5
4
|
"/api/blocks": {},
|
|
5
|
+
"/api/scan": {},
|
|
6
6
|
"/api/pricing": {},
|
|
7
7
|
"/api/projects": {},
|
|
8
|
-
"/api/sessions": {},
|
|
9
8
|
"/api/usage": {},
|
|
9
|
+
"/api/sessions": {},
|
|
10
|
+
"/api/turns": {},
|
|
10
11
|
"/api/export/usage": {}
|
|
11
12
|
}
|
|
12
13
|
}
|
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
"wasm": [],
|
|
18
18
|
"assets": [],
|
|
19
19
|
"env": {
|
|
20
|
-
"__NEXT_BUILD_ID": "
|
|
21
|
-
"NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "
|
|
22
|
-
"__NEXT_PREVIEW_MODE_ID": "
|
|
23
|
-
"__NEXT_PREVIEW_MODE_SIGNING_KEY": "
|
|
24
|
-
"__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "
|
|
20
|
+
"__NEXT_BUILD_ID": "KYCxLofmJUzQwVpdBlibl",
|
|
21
|
+
"NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "HmtH/8dEC5dii+5oj21wiLpfxCp+8iAEENi64164oAA=",
|
|
22
|
+
"__NEXT_PREVIEW_MODE_ID": "55df647abce96f391cdb1476cfb2e688",
|
|
23
|
+
"__NEXT_PREVIEW_MODE_SIGNING_KEY": "bd4ae66ae63f81628131722b239d8d44aed5d0d8b1f291651ff0945619147462",
|
|
24
|
+
"__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "67f9e4005475073051aaaa4bf76406b16aa5f06e011e9c70da108218fccfa6d2"
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-73dfee69c0ddc58e.js" defer=""></script><script src="/_next/static/chunks/framework-1a308e28e19f1a97.js" defer=""></script><script src="/_next/static/chunks/main-2cb79280eaf22774.js" defer=""></script><script src="/_next/static/chunks/pages/_app-5addca2b3b969fde.js" defer=""></script><script src="/_next/static/chunks/pages/_error-022e4ac7bbb9914f.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-73dfee69c0ddc58e.js" defer=""></script><script src="/_next/static/chunks/framework-1a308e28e19f1a97.js" defer=""></script><script src="/_next/static/chunks/main-2cb79280eaf22774.js" defer=""></script><script src="/_next/static/chunks/pages/_app-5addca2b3b969fde.js" defer=""></script><script src="/_next/static/chunks/pages/_error-022e4ac7bbb9914f.js" defer=""></script><script src="/_next/static/KYCxLofmJUzQwVpdBlibl/_buildManifest.js" defer=""></script><script src="/_next/static/KYCxLofmJUzQwVpdBlibl/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"KYCxLofmJUzQwVpdBlibl","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"node":{},"edge":{},"encryptionKey":"
|
|
1
|
+
{"node":{},"edge":{},"encryptionKey":"HmtH/8dEC5dii+5oj21wiLpfxCp+8iAEENi64164oAA="}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
self.__BUILD_MANIFEST=function(e,r,t,_){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:15,errorRate:1e-4,numBits:288,numHashes:14,bitArray:[1,1,e,e,0,0,r,e,r,r,r,e,e,r,e,e,e,r,e,r,e,r,e,r,e,e,r,e,e,r,e,e,e,r,r,r,r,e,e,e,r,e,e,r,r,r,r,r,e,r,e,r,r,r,e,e,r,e,e,e,e,e,r,e,e,r,r,e,r,e,r,r,e,e,r,r,e,r,r,e,r,e,r,r,e,r,r,r,e,r,r,e,r,e,e,e,r,e,r,e,e,e,e,r,e,r,e,r,e,r,e,r,r,e,e,e,r,r,e,r,e,r,e,e,e,e,r,r,r,r,e,r,e,e,r,e,r,e,e,e,r,r,r,e,r,e,e,e,e,r,r,e,e,r,e,e,r,e,e,r,e,e,r,e,r,r,r,e,e,r,r,e,r,e,r,r,e,e,e,e,e,e,e,r,r,e,r,e,e,e,e,r,e,e,r,e,e,e,e,r,r,r,e,e,e,e,e,e,r,r,e,e,r,e,e,r,e,e,e,e,r,e,e,e,e,r,e,e,e,e,r,e,e,r,e,e,r,r,r,e,r,r,r,e,r,r,e,r,e,e,e,r,e,r,r,e,e,e,r,r,e,e,e,e,e,r,e,e,r,r,e,e,r,e,r,r,r,r,e,e,r,e,r,r,e,e,e,e]},__routerFilterDynamic:{numItems:2,errorRate:1e-4,numBits:39,numHashes:14,bitArray:[e,e,e,e,e,e,r,e,e,e,r,r,e,r,r,r,r,e,e,r,e,r,e,e,e,r,r,e,e,e,e,e,r,e,r,r,r,r,r]},"/_error":["static/chunks/pages/_error-022e4ac7bbb9914f.js"],sortedPages:["/_app","/_error"]}}(1,0,1e-4,14),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[148],{51148:(e,t,s)=>{s.d(t,{CY:()=>d,s9:()=>u,kj:()=>g});var o=s(95155),i=s(12115),a=s(20063),n=s(79808);let c="ccgauge_locale",r=(0,i.createContext)({locale:n.Xn,setLocale:()=>{},t:e=>e}),l="ccgauge.locale";function d(e){let{initialLocale:t,children:s}=e,d=(0,a.useRouter)();(0,i.useEffect)(()=>{try{let e=localStorage.getItem(l);e&&e!==t&&("en"===e||"zh"===e)&&(document.cookie="".concat(c,"=").concat(e,"; path=/; max-age=").concat(31536e3,"; SameSite=Lax"),d.refresh())}catch(e){}},[]);let u=(0,i.useCallback)(e=>{try{localStorage.setItem(l,e)}catch(e){}document.cookie="".concat(c,"=").concat(e,"; path=/; max-age=").concat(31536e3,"; SameSite=Lax"),d.refresh()},[d]),g=(0,i.useCallback)((e,s)=>(0,n.nA)(t,e,s),[t]),m=(0,i.useMemo)(()=>({locale:t,setLocale:u,t:g}),[t,u,g]);return(0,o.jsx)(r.Provider,{value:m,children:s})}function u(){return(0,i.useContext)(r)}function g(){return(0,i.useContext)(r).t}},79808:(e,t,s)=>{s.d(t,{Xn:()=>i,YZ:()=>o,nA:()=>n});let o=["en","zh"],i="en",a={en:{"brand.tagline":"usage dashboard for AI coding CLIs","nav.overview":"Overview","nav.usage":"Usage","nav.sessions":"Sessions","nav.projects":"Projects","nav.models":"Models","nav.settings":"Settings","nav.docs":"Docs","nav.localBadge":"local","nav.source":"Data source","source.claude":"Claude","source.codex":"Codex","source.all":"All","cost.footnote.codex":"Cost shown is the OpenAI API equivalent (subscription plans pay differently).","common.requests":"requests","common.tokens":"tokens","common.cost":"Cost","common.savedViaCache":"Saved {amount} via cache","common.savedTodayViaCache":"Saved {amount} today","common.live":"live","common.allModels":"All","common.allProjects":"All","common.unknown":"(unknown)","common.session":"Session","common.sessions":"sessions","common.projects":"projects","common.req":"req","common.day":"day","common.days":"days","common.activity":"activity","common.fallbackPrice":"fallback price","common.thinking":"thinking","common.lastActivity":"last activity","common.empty.title":"No usage data yet","common.empty.desc":"Open Claude Code, send a message, then refresh.","common.refresh":"Refresh","common.search":"Search…","common.searchPlaceholder":"Search model, project, session, tool…","common.exportCsv":"Export CSV","common.rows":"{count} rows","common.prev":"‹ Prev","common.next":"Next ›","common.first":"\xab","common.last":"\xbb","common.pageOf":"Page {page} of {total}","common.allSessions":"← All sessions","common.allProjectsLink":"← All projects","common.noMatchingRows":"No matching rows","range.label":"Date range","range.today":"Today","range.7d":"7d","range.30d":"30d","range.90d":"90d","range.all":"All","range.custom":"Custom","range.customApply":"Apply","range.from":"From","range.to":"To","range.cancel":"Cancel","gran.label":"Granularity","gran.hour":"Hour","gran.day":"Day","gran.week":"Week","gran.month":"Month","overview.title":"Overview","overview.subtitle":"{count} requests across {files} files \xb7 scan in {ms}ms","overview.subtitle.empty":"Scanned {dirs} directory(ies). Open Claude Code, send a message, then refresh.","overview.empty.title":"No usage data yet","overview.kpi.tokensToday":"Tokens today","overview.kpi.costToday":"Cost today","overview.kpi.thisMonth":"This month","overview.kpi.cacheHit":"Cache hit rate","overview.kpi.topModel":"Top model","overview.kpi.activeSessions":"Sessions today","overview.kpi.activeSessions.hint":"{count} project(s)","overview.kpi.thisMonth.hint":"{tokens} tokens \xb7 {req} req","overview.kpi.tokensToday.hint":"{count} requests","overview.kpi.topModel.hint":"{pct} of cost this month","overview.kpi.cacheHit.hint":"Saved {amount} today","overview.delta.title":"vs yesterday","overview.delta.firstTime":"NEW","common.loading":"Loading…","common.error.title":"Something went wrong","common.error.desc":"Failed to load this page. Try again.","common.error.retry":"Retry","overview.trend.title":"Usage trend","overview.trend.desc":"Last 30 days \xb7 {metric}","overview.trend.desc.tokens":"stacked by token type","overview.trend.desc.conversations":"conversations per day","overview.trend.metric.tokens":"Tokens","overview.trend.metric.conversations":"Conversations","overview.trend.activeDays":"{n} day with activity","overview.trend.activeDays.plural":"{n} days with activity","overview.costByModel.title":"Cost by model","overview.costByModel.desc":"This month, sorted by spend","activity.title":"Activity","activity.subtitle":"Lifetime stats and when you usually code","activity.sessions":"Sessions","activity.messages":"Messages","activity.totalTokens":"Total tokens","activity.activeDays":"Active days","activity.currentStreak":"Current streak","activity.longestStreak":"Longest streak","activity.streakCombinedLabel":"Streak (cur / max)","activity.streakCombinedValue":"{current} / {longest} d","activity.peakHour":"Peak hour","activity.favoriteModel":"Favorite model","activity.streakValue":"{n}d","activity.dow.0":"Sun","activity.dow.1":"Mon","activity.dow.2":"Tue","activity.dow.3":"Wed","activity.dow.4":"Thu","activity.dow.5":"Fri","activity.dow.6":"Sat","activity.heatmap.tooltip":"{dow} \xb7 {hour} \xb7 {count} messages","activity.heatmap.messages":"Messages","activity.heatmap.tokens":"Tokens","activity.heatmap.shareLabel":"Share","activity.heatmap.intensityLabel":"Of peak","activity.heatmap.empty":"No activity","activity.comparison":"You've used ~{multiplier}\xd7 more tokens than {ref}.","activity.ref.haiku":"a haiku","activity.ref.tweet":"a tweet","activity.ref.littlePrince":"The Little Prince","activity.ref.gatsby":"The Great Gatsby","activity.ref.hobbit":"The Hobbit","activity.ref.lotrTrilogy":"the Lord of the Rings trilogy","activity.ref.warAndPeace":"War and Peace","activity.ref.harryPotterAll":"all 7 Harry Potter books","activity.ref.encyclopediaBritannica":"the Encyclopedia Britannica","activity.ref.wikipediaEn":"all of English Wikipedia","block.title":"Active 5h block","block.remaining":"remaining","block.elapsed":"Time elapsed {pct}%","block.tokensSuffix":"tokens","block.spentSoFar":"Spent so far","block.burnPerMin":"Burn / min","block.projectedTotal":"Projected total","block.requests":"Requests","block.empty":"No active block","block.emptyDesc":"Send a message in {cli} to start one.","block.disclaimer":"Wall-clock progress of the 5h window — not your plan quota.","chart.legend.input":"Input","chart.legend.output":"Output","chart.legend.cacheRead":"Cache read","chart.legend.cacheWrite":"Cache write","chart.tooltip.total":"Total","chart.tooltip.cost":"Cost","chart.tooltip.requests":"Requests","chart.tooltip.conversations":"Conversations","chart.empty":"No data in this range","chart.empty.short":"No data","usage.title":"Usage","usage.subtitle":"{count} turns in selected range","usage.col.calls":"Calls","usage.col.userMessage":"Prompt","usage.overview.label":"Overview","usage.overview.show":"Show overview (KPIs + trend)","usage.overview.hide":"Hide overview (KPIs + trend)","usage.turn.expand":"Expand","usage.turn.collapse":"Collapse","usage.turn.callsCount":"{count} calls","usage.turn.noPrompt":"(no user text)","usage.requests.desc":"One row per turn (user message + tool calls); click ▸ to expand","usage.kpi.totalTokens":"Total tokens","usage.kpi.totalCost":"Total cost","usage.kpi.cacheSaved":"Cache saved","usage.kpi.cacheHit":"Cache hit","usage.trend":"Trend","usage.trend.gran":"Granularity: {gran}","usage.requests.title":"Requests","usage.col.time":"Time","usage.col.duration":"Duration","usage.col.model":"Model","usage.col.project":"Project","usage.col.session":"Session","usage.col.input":"Input","usage.col.output":"Output","usage.col.cacheRead":"Cache R","usage.col.cacheWrite":"Cache W","usage.col.cost":"Cost","usage.col.tools":"Tools","usage.col.total":"Total","usage.badge.workflow":"Workflow","usage.badge.workflowHint":"Fanned out {count} parallel sub-agent(s) (Workflow / ultracode)","usage.badge.fast":"fast","usage.badge.fastHint":"Codex priority/fast service tier is active — these requests are billed at a higher rate (2x+).","usage.columns.button":"Columns","usage.columns.title":"Visible columns","usage.columns.reset":"Reset","usage.breakdown.title":"Token breakdown","usage.breakdown.headerTokens":"Tokens","usage.breakdown.headerCost":"Cost","usage.breakdown.total":"Total","usage.breakdown.reasoning":"reasoning","usage.breakdown.reasoningNote":"incl. above","filter.modelLabel":"Model","filter.projectLabel":"Project","filter.modelAll":"Model: All","filter.projectAll":"Project: All","filter.modelSingle":"Model: {value}","filter.projectSingle":"Project: {value}","filter.modelMulti":"Model: {count}","filter.projectMulti":"Project: {count}","filter.clearAll":"Clear all","filter.noOptions":"No options","sessions.title":"Sessions","sessions.subtitle":"{count} sessions \xb7 sorted by most recent activity","sessions.col.session":"Session","sessions.col.project":"Project","sessions.col.models":"Model(s)","sessions.col.requests":"Requests","sessions.col.tokens":"Tokens","sessions.col.cost":"Cost","sessions.col.duration":"Duration","sessions.col.lastActivity":"Last activity","sessions.untitled":"Session {hash}","sessions.empty":"No sessions yet","session.kpi.requests":"Requests","session.kpi.totalTokens":"Total tokens","session.kpi.cost":"Cost","session.kpi.duration":"Duration","session.timeline.title":"Message timeline","session.timeline.desc":"In order; newest at the bottom","session.perMessage.title":"Per-message tokens","session.modelsInSession":"Models in this session","session.modelLine":"{requests} req \xb7 {tokens} tokens","session.token.in":"in","session.token.out":"out","session.token.cacheR":"cache r","session.token.cacheW":"cache w","projects.title":"Projects","projects.subtitle":"{count} projects \xb7 sorted by spend","projects.empty":"No projects yet","projects.stat.sessions":"Sessions","projects.stat.requests":"Requests","projects.stat.tokens":"Tokens","project.activity":"Activity (last 30 days)","project.sessions.title":"Sessions ({count})","models.title":"Models","models.subtitle":"{count} model(s) used in total","models.empty":"No model usage yet","models.share.cost":"Cost share","models.share.tokens":"Tokens share","models.share.cacheHit":"Cache hit","models.field.requests":"Requests","models.field.savedByCache":"Saved by cache","models.field.input1M":"Input / 1M","models.field.output1M":"Output / 1M","models.field.cacheRead1M":"Cache read / 1M","models.field.pctOfTotal":"{pct} of total spend \xb7 {tokens} tokens","models.eachTrend":"Combined trend (last 30 days)","settings.title":"Settings","settings.subtitle":"Data sources, pricing, and behavior","settings.dataSources.title":"Data sources","settings.dataSources.desc":"ccgauge scans these locations for JSONL files","settings.dataSources.active":"active","settings.dataSources.notPresent":"not present","settings.dataSources.envHint":"Override with {env1} or {env2} environment variables (the dashboard appends {appendix}).","settings.rescan":"Rescan now","settings.rescanning":"Rescanning…","settings.scanStats.title":"Scan stats","settings.scanStats.files":"Files scanned","settings.scanStats.records":"Records parsed","settings.scanStats.assistant":"Assistant records (deduped)","settings.scanStats.duration":"Scan duration","settings.pricing.title":"Pricing table","settings.pricing.desc":"USD per 1M tokens \xb7 built-in snapshot, fuzzy match for date-suffixed model names","settings.pricing.col.model":"Model","settings.pricing.col.input":"Input","settings.pricing.col.output":"Output","settings.pricing.col.write5m":"Cache write 5m","settings.pricing.col.write1h":"Cache write 1h","settings.pricing.col.read":"Cache read","settings.preferences.title":"Preferences","settings.preferences.language":"Language","settings.preferences.theme":"Theme","settings.theme.light":"Light","settings.theme.dark":"Dark","settings.theme.system":"System","settings.about.title":"About","settings.about.subtitle":"Version {version} \xb7 MIT licensed","settings.about.line1":"Fully local: data never leaves your machine; no telemetry, no network calls.","settings.about.line2":"Read-only: ccgauge only reads JSONL files, never writes back to ~/.claude.","settings.about.line3":'Cache: scan results are memoized for 5s; click "Rescan" to force a fresh read.',"settings.about.line4":"Stop with Ctrl+C in the terminal that started ccgauge.","settings.indexer.desc":"Background indexer keeps the cache fresh via file watchers.","settings.indexer.lastIndexedAt":"Last indexed","settings.indexer.indexDuration":"Last index time","settings.indexer.watchers":"Active watchers","settings.indexer.loadedFromDisk":"Loaded from disk","settings.indexer.status":"Status","settings.indexer.indexing":"indexing…","settings.indexer.idle":"idle","settings.indexer.recentErrors":"Recent indexer errors","common.yes":"yes","common.no":"no","lang.label":"Language","lang.en":"English","lang.zh":"中文","theme.label":"Theme"},zh:{"brand.tagline":"AI 编程 CLI 的本地用量看板","nav.overview":"概览","nav.usage":"用量","nav.sessions":"会话","nav.projects":"项目","nav.models":"模型","nav.settings":"设置","nav.docs":"文档","nav.localBadge":"本地","nav.source":"数据源","source.claude":"Claude","source.codex":"Codex","source.all":"全部","cost.footnote.codex":"按 OpenAI API 单价折算估值(订阅计划实际计费不同)","common.requests":"次请求","common.tokens":"tokens","common.cost":"花费","common.savedViaCache":"通过缓存节省 {amount}","common.savedTodayViaCache":"今日缓存节省 {amount}","common.live":"进行中","common.allModels":"全部","common.allProjects":"全部","common.unknown":"(未知)","common.session":"会话","common.sessions":"个会话","common.projects":"个项目","common.req":"请求","common.day":"天","common.days":"天","common.activity":"活跃","common.fallbackPrice":"使用兜底单价","common.thinking":"思考","common.lastActivity":"最近活跃","common.empty.title":"暂无用量数据","common.empty.desc":"打开 Claude Code 发送一条消息后刷新本页。","common.refresh":"刷新","common.search":"搜索…","common.searchPlaceholder":"搜索模型 / 项目 / 会话 / 工具…","common.exportCsv":"导出 CSV","common.rows":"{count} 行","common.prev":"‹ 上一页","common.next":"下一页 ›","common.first":"\xab","common.last":"\xbb","common.pageOf":"第 {page} / {total} 页","common.allSessions":"← 返回会话列表","common.allProjectsLink":"← 返回项目列表","common.noMatchingRows":"没有匹配的记录","range.label":"时间范围","range.today":"今天","range.7d":"7 天","range.30d":"30 天","range.90d":"90 天","range.all":"全部","range.custom":"自定义","range.customApply":"应用","range.from":"开始","range.to":"结束","range.cancel":"取消","gran.label":"粒度","gran.hour":"小时","gran.day":"天","gran.week":"周","gran.month":"月","overview.title":"概览","overview.subtitle":"{count} 次请求,覆盖 {files} 个文件 \xb7 扫描耗时 {ms}ms","overview.subtitle.empty":"已扫描 {dirs} 个目录。打开 Claude Code 发一条消息后刷新本页。","overview.empty.title":"暂无用量数据","overview.kpi.tokensToday":"今日 tokens","overview.kpi.costToday":"今日花费","overview.kpi.thisMonth":"本月累计","overview.kpi.cacheHit":"缓存命中率","overview.kpi.topModel":"主力模型","overview.kpi.activeSessions":"今日会话","overview.kpi.activeSessions.hint":"涉及 {count} 个项目","overview.kpi.thisMonth.hint":"{tokens} tokens \xb7 {req} 次请求","overview.kpi.tokensToday.hint":"{count} 次请求","overview.kpi.topModel.hint":"本月成本占比 {pct}","overview.kpi.cacheHit.hint":"今日缓存节省 {amount}","overview.delta.title":"相比昨日","overview.delta.firstTime":"首次","common.loading":"加载中…","common.error.title":"出错了","common.error.desc":"加载失败,请重试。","common.error.retry":"重试","overview.trend.title":"用量趋势","overview.trend.desc":"近 30 天 \xb7 {metric}","overview.trend.desc.tokens":"按 token 类型堆叠","overview.trend.desc.conversations":"每日对话次数","overview.trend.metric.tokens":"Token","overview.trend.metric.conversations":"对话次数","overview.trend.activeDays":"{n} 天有数据","overview.trend.activeDays.plural":"{n} 天有数据","overview.costByModel.title":"按模型成本分布","overview.costByModel.desc":"本月,按花费排序","activity.title":"活动统计","activity.subtitle":"总览数据 + 每天什么时段最忙","activity.sessions":"会话","activity.messages":"消息","activity.totalTokens":"总 tokens","activity.activeDays":"活跃天数","activity.currentStreak":"当前连续","activity.longestStreak":"最长连续","activity.streakCombinedLabel":"当前 / 最长连续","activity.streakCombinedValue":"{current} / {longest} 天","activity.peakHour":"高峰小时","activity.favoriteModel":"最常用模型","activity.streakValue":"{n} 天","activity.dow.0":"周日","activity.dow.1":"周一","activity.dow.2":"周二","activity.dow.3":"周三","activity.dow.4":"周四","activity.dow.5":"周五","activity.dow.6":"周六","activity.heatmap.tooltip":"周{dow} \xb7 {hour} \xb7 {count} 条消息","activity.heatmap.messages":"消息数","activity.heatmap.tokens":"Tokens","activity.heatmap.shareLabel":"占总数","activity.heatmap.intensityLabel":"占峰值","activity.heatmap.empty":"无活动","activity.comparison":"你用掉的 token 大约是 {ref} 的 {multiplier}\xd7。","activity.ref.haiku":"一首俳句","activity.ref.tweet":"一条推文","activity.ref.littlePrince":"《小王子》","activity.ref.gatsby":"《了不起的盖茨比》","activity.ref.hobbit":"《霍比特人》","activity.ref.lotrTrilogy":"《魔戒》三部曲","activity.ref.warAndPeace":"《战争与和平》","activity.ref.harryPotterAll":"《哈利\xb7波特》全 7 册","activity.ref.encyclopediaBritannica":"《大英百科全书》","activity.ref.wikipediaEn":"英文维基百科全部","block.title":"当前 5h block","block.remaining":"剩余","block.elapsed":"时间进度 {pct}%","block.tokensSuffix":"tokens","block.spentSoFar":"已花费","block.burnPerMin":"每分钟消耗","block.projectedTotal":"预计总花费","block.requests":"请求数","block.empty":"当前无活跃 block","block.emptyDesc":"在 {cli} 中发送消息会启动一个新 block。","block.disclaimer":"仅是 5h 窗口的钟表进度,不是你的套餐配额。","chart.legend.input":"输入","chart.legend.output":"输出","chart.legend.cacheRead":"缓存读取","chart.legend.cacheWrite":"缓存写入","chart.tooltip.total":"合计","chart.tooltip.cost":"花费","chart.tooltip.requests":"请求数","chart.tooltip.conversations":"对话次数","chart.empty":"区间内无数据","chart.empty.short":"暂无数据","usage.title":"用量明细","usage.subtitle":"当前筛选范围内 {count} 轮对话","usage.kpi.totalTokens":"总 tokens","usage.kpi.totalCost":"总花费","usage.kpi.cacheSaved":"缓存节省","usage.kpi.cacheHit":"缓存命中","usage.trend":"趋势","usage.trend.gran":"粒度:{gran}","usage.requests.title":"对话轮次","usage.requests.desc":"每轮对话一行(用户消息 + 工具调用),点击 ▸ 展开明细","usage.col.calls":"调用","usage.col.userMessage":"提示","usage.overview.label":"概览","usage.overview.show":"显示概览(KPI + 趋势)","usage.overview.hide":"隐藏概览(KPI + 趋势)","usage.turn.expand":"展开","usage.turn.collapse":"收起","usage.turn.callsCount":"{count} 次调用","usage.turn.noPrompt":"(无用户文本)","usage.col.time":"时间","usage.col.duration":"耗时","usage.col.model":"模型","usage.col.project":"项目","usage.col.session":"会话","usage.col.input":"输入","usage.col.output":"输出","usage.col.cacheRead":"缓存读","usage.col.cacheWrite":"缓存写","usage.col.cost":"花费","usage.col.tools":"工具","usage.col.total":"总量","usage.badge.workflow":"工作流","usage.badge.workflowHint":"扇出了 {count} 个并行子代理(Workflow / ultracode)","usage.badge.fast":"fast","usage.badge.fastHint":"Codex 优先 / fast 服务档已开启 —— 这些请求按更高费率计费(2 倍起)。","usage.columns.button":"列","usage.columns.title":"显示列","usage.columns.reset":"重置","usage.breakdown.title":"总量明细","usage.breakdown.headerTokens":"Token","usage.breakdown.headerCost":"花费","usage.breakdown.total":"合计","usage.breakdown.reasoning":"其中推理","usage.breakdown.reasoningNote":"已含在 output","filter.modelLabel":"模型","filter.projectLabel":"项目","filter.modelAll":"模型:全部","filter.projectAll":"项目:全部","filter.modelSingle":"模型:{value}","filter.projectSingle":"项目:{value}","filter.modelMulti":"模型:{count} 个","filter.projectMulti":"项目:{count} 个","filter.clearAll":"清除筛选","filter.noOptions":"没有可选项","sessions.title":"会话","sessions.subtitle":"共 {count} 个会话 \xb7 按最近活跃排序","sessions.col.session":"会话","sessions.col.project":"项目","sessions.col.models":"模型","sessions.col.requests":"请求数","sessions.col.tokens":"Tokens","sessions.col.cost":"花费","sessions.col.duration":"时长","sessions.col.lastActivity":"最近活跃","sessions.untitled":"会话 {hash}","sessions.empty":"暂无会话","session.kpi.requests":"请求数","session.kpi.totalTokens":"总 tokens","session.kpi.cost":"花费","session.kpi.duration":"时长","session.timeline.title":"消息时间线","session.timeline.desc":"按时间正序,最新的在最下方","session.perMessage.title":"逐条消息 tokens","session.modelsInSession":"本会话使用的模型","session.modelLine":"{requests} 次 \xb7 {tokens} tokens","session.token.in":"输入","session.token.out":"输出","session.token.cacheR":"缓存读","session.token.cacheW":"缓存写","projects.title":"项目","projects.subtitle":"共 {count} 个项目 \xb7 按花费排序","projects.empty":"暂无项目","projects.stat.sessions":"会话","projects.stat.requests":"请求","projects.stat.tokens":"Tokens","project.activity":"活跃情况(近 30 天)","project.sessions.title":"会话({count})","models.title":"模型","models.subtitle":"共使用过 {count} 个模型","models.empty":"暂无模型用量","models.share.cost":"成本占比","models.share.tokens":"Tokens 占比","models.share.cacheHit":"缓存命中","models.field.requests":"请求数","models.field.savedByCache":"缓存节省","models.field.input1M":"输入 / 1M","models.field.output1M":"输出 / 1M","models.field.cacheRead1M":"缓存读 / 1M","models.field.pctOfTotal":"占总花费 {pct} \xb7 {tokens} tokens","models.eachTrend":"整体趋势(近 30 天)","settings.title":"设置","settings.subtitle":"数据源、价格表与行为偏好","settings.dataSources.title":"数据源","settings.dataSources.desc":"ccgauge 会扫描以下路径的 JSONL 文件","settings.dataSources.active":"已启用","settings.dataSources.notPresent":"不存在","settings.dataSources.envHint":"可以通过环境变量 {env1} 或 {env2} 自定义路径(看板会自动追加 {appendix})。","settings.rescan":"立即重新扫描","settings.rescanning":"扫描中…","settings.scanStats.title":"扫描统计","settings.scanStats.files":"扫描文件数","settings.scanStats.records":"解析记录数","settings.scanStats.assistant":"去重后 assistant 记录","settings.scanStats.duration":"扫描耗时","settings.pricing.title":"价格表","settings.pricing.desc":"美元 / 1M tokens \xb7 内置快照,对带日期后缀的模型名做 fuzzy 匹配","settings.pricing.col.model":"模型","settings.pricing.col.input":"输入","settings.pricing.col.output":"输出","settings.pricing.col.write5m":"缓存写入 5 分钟","settings.pricing.col.write1h":"缓存写入 1 小时","settings.pricing.col.read":"缓存读取","settings.preferences.title":"偏好设置","settings.preferences.language":"语言","settings.preferences.theme":"主题","settings.theme.light":"亮色","settings.theme.dark":"暗色","settings.theme.system":"跟随系统","settings.about.title":"关于","settings.about.subtitle":"版本 {version} \xb7 MIT 协议","settings.about.line1":"完全本地:数据从不离开你的机器,没有任何遥测、没有任何网络调用。","settings.about.line2":"只读:ccgauge 只读取 JSONL,绝不会写回 ~/.claude。","settings.about.line3":'缓存:扫描结果会缓存 5 秒;点击"重新扫描"可强制刷新。',"settings.about.line4":"在启动 ccgauge 的终端按 Ctrl+C 即可停止。","settings.indexer.desc":"后台 indexer 通过文件监听增量维护缓存。","settings.indexer.lastIndexedAt":"最近索引时间","settings.indexer.indexDuration":"最近索引耗时","settings.indexer.watchers":"活跃 watcher 数","settings.indexer.loadedFromDisk":"从磁盘恢复","settings.indexer.status":"状态","settings.indexer.indexing":"索引中…","settings.indexer.idle":"空闲","settings.indexer.recentErrors":"最近的索引错误","common.yes":"是","common.no":"否","lang.label":"语言","lang.en":"English","lang.zh":"中文","theme.label":"主题"}};function n(e,t,s){var o;let i=null==(o=a[e])?void 0:o[t];if(void 0===i&&(i=a.en[t]),void 0===i&&(i=t),s)for(let[e,t]of Object.entries(s))i=i.replace(RegExp("\\{".concat(e,"\\}"),"g"),String(t));return i}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[567],{7331:(e,t,r)=>{r.d(t,{pp:()=>c,wn:()=>i});var n=r(95155),a=r(25016);function i(e){let{title:t,desc:r,right:i,children:c,className:s,inlineDesc:l,fillBody:o}=e;return(0,n.jsxs)("section",{className:(0,a.cn)("card overflow-hidden",o&&"flex flex-col",s),children:[(t||i)&&(0,n.jsxs)("header",{className:(0,a.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,n.jsxs)("div",{className:(0,a.cn)("min-w-0",l&&"sm:flex sm:items-baseline sm:gap-2.5"),children:[t&&(0,n.jsx)("h2",{className:"text-[15px] font-semibold text-text-primary tracking-tight leading-tight",children:t}),r&&(0,n.jsx)("p",{className:(0,a.cn)("text-xs text-text-secondary leading-relaxed",l?"mt-1 sm:mt-0":"mt-1.5"),children:r})]}),i&&(0,n.jsx)("div",{className:"flex items-center gap-2 flex-wrap",children:i})]}),(0,n.jsx)("div",{className:(0,a.cn)("p-5 sm:p-6",o&&"flex-1 flex flex-col"),children:c})]})}function c(e){let{title:t,desc:r,icon:a,action:i}=e;return(0,n.jsxs)("div",{className:"card text-center py-14 sm:py-16 px-6 flex flex-col items-center gap-3",children:[(0,n.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:null!=a?a:(0,n.jsx)(s,{})}),(0,n.jsx)("div",{className:"text-base font-medium text-text-primary",children:t}),r&&(0,n.jsx)("div",{className:"text-sm text-text-tertiary max-w-md leading-relaxed",children:r}),i&&(0,n.jsx)("div",{className:"mt-2",children:i})]})}function s(){return(0,n.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,n.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,n.jsx)("path",{d:"M9 9h.01M15 9h.01M9 15c1 1 2 1.5 3 1.5s2-.5 3-1.5"})]})}},25016:(e,t,r)=>{r.d(t,{BC:()=>h,P6:()=>p,PJ:()=>x,R8:()=>d,a3:()=>u,az:()=>l,cn:()=>i,jh:()=>s,l7:()=>o,r6:()=>m});var n=r(2821),a=r(75889);function i(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,a.QP)((0,n.$)(t))}function c(e,t){var r;return new Intl.NumberFormat("en-US",{maximumFractionDigits:null!=(r=null==t?void 0:t.maxFrac)?r:0}).format(e)}function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en";return Number.isFinite(e)?"zh"===t?e>=1e8?(e/1e8).toFixed(2)+"亿":e>=1e4?(e/1e4).toFixed(1)+"万":c(e):e>=1e9?(e/1e9).toFixed(2)+"B":e>=1e6?(e/1e6).toFixed(2)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":c(e):"0"}function l(e,t){var r,n;return new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",minimumFractionDigits:null!=(r=null==t?void 0:t.minFrac)?r:2,maximumFractionDigits:null!=(n=null==t?void 0:t.maxFrac)?n:2}).format(e)}function o(e){return 0===e?"$0":e<.01?new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",minimumFractionDigits:4,maximumFractionDigits:6}).format(e):l(e)}function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return Number.isFinite(e)?"".concat((100*e).toFixed(t),"%"):"0%"}function u(e){if(e<1e3)return"".concat(e,"ms");let t=Math.floor(e/1e3);if(t<60)return"".concat(t,"s");let r=Math.floor(t/60);if(r<60){let e=t%60;return e?"".concat(r,"m ").concat(e,"s"):"".concat(r,"m")}let n=Math.floor(r/60),a=r%60;return a?"".concat(n,"h ").concat(a,"m"):"".concat(n,"h")}function m(e){let t="string"==typeof e||"number"==typeof e?new Date(e):e;if(Number.isNaN(t.getTime()))return"";let r=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),i=String(t.getHours()).padStart(2,"0"),c=String(t.getMinutes()).padStart(2,"0"),s=String(t.getSeconds()).padStart(2,"0");return"".concat(r,"-").concat(n,"-").concat(a," ").concat(i,":").concat(c,":").concat(s)}function x(e){if(!e)return"(unknown)";let t=e.replace(/[/\\]+$/,"").split(/[/\\]+/);return t[t.length-1]||e}function h(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;return e?e.replace(/-/g,"").slice(0,t):""}let f={mini:"Mini",nano:"Nano",pro:"Pro",turbo:"Turbo",preview:"Preview"};function p(e){if(!e)return"(unknown)";let t=e.replace(/^(vertex_ai|bedrock|anthropic|openai)\//,""),r=t.toLowerCase();if(r.startsWith("gpt-")||/^o\d/.test(r))return r.startsWith("gpt-")?"GPT-"+t.slice(4).split("-").map(e=>{var t;return null!=(t=f[e.toLowerCase()])?t:e}).join(" "):t.toUpperCase();let n=t.replace(/-(\d{8})$/,""),a=(n=n.replace(/^claude-/,"")).split("-");if(a.length>=2){let e=a[0],t=a.slice(1).join(".");return g(e)+" "+t}return g(n.replace(/-/g," "))}function g(e){return e.replace(/\b\w/g,e=>e.toUpperCase())}},38059:(e,t,r)=>{r.d(t,{TokenStackChart:()=>h});var n=r(95155),a=r(26991),i=r(94632),c=r(68425),s=r(47734),l=r(73697),o=r(23508),d=r(26736),u=r(25016),m=r(51148);let x={input:"rgb(var(--chart-input))",output:"rgb(var(--chart-output))",cacheRead:"rgb(var(--chart-cache-read))",cacheCreation:"rgb(var(--chart-cache-create))"};function h(e){let{data:t,height:r="h-72"}=e,h=(0,m.kj)(),{locale:g}=(0,m.s9)();return t.length?(0,n.jsxs)("div",{className:"".concat(r," w-full"),children:[(0,n.jsx)(a.u,{width:"100%",height:"100%",children:(0,n.jsxs)(i.E,{data:t,margin:{top:12,right:8,bottom:4,left:8},barCategoryGap:"22%",children:[(0,n.jsx)(c.d,{stroke:"rgb(var(--chart-grid))",strokeOpacity:.6,strokeDasharray:"3 3",vertical:!1}),(0,n.jsx)(s.W,{dataKey:"label",tick:{fill:"rgb(var(--chart-axis))",fontSize:11},tickLine:!1,axisLine:!1,interval:"preserveStartEnd",minTickGap:32,tickMargin:8}),(0,n.jsx)(l.h,{tickFormatter:e=>(0,u.jh)(Number(e),g),tick:{fill:"rgb(var(--chart-axis))",fontSize:11},tickLine:!1,axisLine:!1,width:56,tickMargin:4}),(0,n.jsx)(o.m,{content:(0,n.jsx)(p,{}),cursor:{fill:"rgb(var(--text-primary) / 0.05)",radius:4}}),(0,n.jsx)(d.y,{dataKey:"input",stackId:"a",fill:x.input,isAnimationActive:!1}),(0,n.jsx)(d.y,{dataKey:"cacheCreation",stackId:"a",fill:x.cacheCreation,isAnimationActive:!1}),(0,n.jsx)(d.y,{dataKey:"cacheRead",stackId:"a",fill:x.cacheRead,isAnimationActive:!1}),(0,n.jsx)(d.y,{dataKey:"output",stackId:"a",fill:x.output,radius:[4,4,0,0],isAnimationActive:!1})]})}),(0,n.jsxs)("div",{className:"flex items-center flex-wrap justify-center gap-4 text-xs text-text-secondary mt-2",children:[(0,n.jsx)(f,{color:x.input,label:h("chart.legend.input")}),(0,n.jsx)(f,{color:x.cacheCreation,label:h("chart.legend.cacheWrite")}),(0,n.jsx)(f,{color:x.cacheRead,label:h("chart.legend.cacheRead")}),(0,n.jsx)(f,{color:x.output,label:h("chart.legend.output")})]})]}):(0,n.jsx)("div",{className:"".concat(r," flex items-center justify-center text-text-tertiary text-sm"),children:h("chart.empty")})}function f(e){let{color:t,label:r}=e;return(0,n.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,n.jsx)("span",{className:"w-2.5 h-2.5 rounded-sm",style:{background:t}}),(0,n.jsx)("span",{children:r})]})}function p(e){let t=(0,m.kj)(),{locale:r}=(0,m.s9)();if(!e.active||!e.payload||!e.payload.length)return null;let a=e.payload[0].payload,i=a.input+a.output+a.cacheRead+a.cacheCreation;return(0,n.jsxs)("div",{className:"card-elevated border border-border-hi rounded-card p-3 text-xs min-w-[200px]",children:[(0,n.jsx)("div",{className:"font-medium text-text-primary mb-2",children:e.label}),(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)(g,{color:x.input,label:t("chart.legend.input"),value:a.input,locale:r}),(0,n.jsx)(g,{color:x.cacheCreation,label:t("chart.legend.cacheWrite"),value:a.cacheCreation,locale:r}),(0,n.jsx)(g,{color:x.cacheRead,label:t("chart.legend.cacheRead"),value:a.cacheRead,locale:r}),(0,n.jsx)(g,{color:x.output,label:t("chart.legend.output"),value:a.output,locale:r})]}),(0,n.jsxs)("div",{className:"mt-2 pt-2 border-t border-border flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-text-secondary",children:t("chart.tooltip.total")}),(0,n.jsx)("span",{className:"num-mono text-text-primary",children:(0,u.jh)(i,r)})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between mt-1",children:[(0,n.jsx)("span",{className:"text-text-secondary",children:t("chart.tooltip.cost")}),(0,n.jsx)("span",{className:"num-mono text-brand",children:(0,u.az)(a.cost)})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between mt-1",children:[(0,n.jsx)("span",{className:"text-text-secondary",children:t("chart.tooltip.requests")}),(0,n.jsx)("span",{className:"num-mono text-text-primary",children:a.requests})]})]})}function g(e){let{color:t,label:r,value:a,locale:i}=e;return(0,n.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,n.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-text-secondary",children:[(0,n.jsx)("span",{className:"w-2 h-2 rounded-sm",style:{background:t}}),r]}),(0,n.jsx)("span",{className:"num-mono text-text-primary",children:(0,u.jh)(a,i)})]})}},63847:(e,t,r)=>{r.d(t,{j:()=>i});var n=r(95155),a=r(25016);function i(e){let{rect:t,variant:r="pill",className:i}=e;if(!t)return null;let c=8*("underline"===r);return(0,n.jsx)("span",{"aria-hidden":!0,className:(0,a.cn)("pointer-events-none absolute transition-[transform,width] duration-200 ease-out-soft","pill"===r?"inset-y-0 rounded bg-brand-strong shadow-sm":"-bottom-[12px] h-[2px] rounded-full bg-brand",i),style:{transform:"translateX(".concat(t.left+c,"px)"),width:Math.max(0,t.width-2*c)}})}},76669:(e,t,r)=>{r.d(t,{S:()=>i});var n=r(12115);let a=n.useLayoutEffect;function i(e){let t=(0,n.useRef)(null),[r,i]=(0,n.useState)(null),c=(0,n.useCallback)(()=>{let r=t.current;if(!r)return;let n=r.querySelector('[data-tab="'.concat(e,'"]'));if(!n)return void i(null);i(e=>{let t={left:n.offsetLeft,width:n.offsetWidth};return e&&e.left===t.left&&e.width===t.width?e:t})},[e]);return a(()=>{c()},[c]),(0,n.useEffect)(()=>{let e=t.current;if(!e||"undefined"==typeof ResizeObserver)return;let r=new ResizeObserver(()=>c());for(let t of(r.observe(e),Array.from(e.children)))r.observe(t);return window.addEventListener("resize",c),()=>{r.disconnect(),window.removeEventListener("resize",c)}},[c]),{containerRef:t,rect:r}}},77549:(e,t,r)=>{r.d(t,{AutoRefresh:()=>i});var n=r(12115),a=r(20063);function i(e){let{intervalMs:t=15e3}=e,r=(0,a.useRouter)(),i=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{if(t<=0)return;let e=null;function n(){if(!document.hidden&&!i.current){i.current=!0;try{r.refresh(),window.dispatchEvent(new Event("ccgauge:refresh"))}finally{Promise.resolve().then(()=>{i.current=!1})}}}return e=window.setInterval(n,t),document.addEventListener("visibilitychange",n),()=>{null!==e&&window.clearInterval(e),document.removeEventListener("visibilitychange",n)}},[r,t]),null}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,74,97,209,236,347,609,872,948,949],{84441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,74,97,209,236,347,609,872,948,949],{84441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,74,97,209,236,347,609,872,948,949],{84441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,74,97,209,236,347,609,872,948,949],{84441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,74,97,209,236,347,609,872,948,949],{84441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,74,97,209,236,347,609,872,948,949],{84441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,74,97,209,236,347,609,872,948,949],{84441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,74,97,209,236,347,609,872,948,949],{84441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{12112:(e,t,r)=>{"use strict";r.d(t,{Providers:()=>s});var n=r(95155),i=r(51148),a=r(84479);function s(e){let{locale:t,theme:r,children:s}=e;return(0,n.jsx)(i.CY,{initialLocale:t,children:(0,n.jsx)(a.N,{initialTheme:r,children:s})})}},21264:(e,t,r)=>{"use strict";r.d(t,{LanguageSwitcher:()=>c});var n=r(95155),i=r(51148),a=r(79808);let s={en:"EN",zh:"中"},o={en:"English",zh:"中文"};function c(){let{locale:e,setLocale:t,t:r}=(0,i.s9)();return(0,n.jsx)("div",{role:"group",className:"inline-flex items-center rounded-md border border-border bg-bg-surface p-0.5 text-xs",title:r("lang.label"),"aria-label":r("lang.label"),children:a.YZ.map(r=>{let i=r===e;return(0,n.jsx)("button",{type:"button",onClick:()=>{i||t(r)},className:"px-2 py-1 rounded transition-colors ".concat(i?"bg-brand-strong text-white font-semibold":"text-text-tertiary hover:text-text-primary hover:bg-bg-surface-hi"),title:o[r],"aria-pressed":i,children:s[r]},r)})})}},25016:(e,t,r)=>{"use strict";r.d(t,{BC:()=>m,P6:()=>f,PJ:()=>x,R8:()=>d,a3:()=>h,az:()=>c,cn:()=>a,jh:()=>o,l7:()=>l,r6:()=>u});var n=r(2821),i=r(75889);function a(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,i.QP)((0,n.$)(t))}function s(e,t){var r;return new Intl.NumberFormat("en-US",{maximumFractionDigits:null!=(r=null==t?void 0:t.maxFrac)?r:0}).format(e)}function o(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en";return Number.isFinite(e)?"zh"===t?e>=1e8?(e/1e8).toFixed(2)+"亿":e>=1e4?(e/1e4).toFixed(1)+"万":s(e):e>=1e9?(e/1e9).toFixed(2)+"B":e>=1e6?(e/1e6).toFixed(2)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":s(e):"0"}function c(e,t){var r,n;return new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",minimumFractionDigits:null!=(r=null==t?void 0:t.minFrac)?r:2,maximumFractionDigits:null!=(n=null==t?void 0:t.maxFrac)?n:2}).format(e)}function l(e){return 0===e?"$0":e<.01?new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",minimumFractionDigits:4,maximumFractionDigits:6}).format(e):c(e)}function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return Number.isFinite(e)?"".concat((100*e).toFixed(t),"%"):"0%"}function h(e){if(e<1e3)return"".concat(e,"ms");let t=Math.floor(e/1e3);if(t<60)return"".concat(t,"s");let r=Math.floor(t/60);if(r<60){let e=t%60;return e?"".concat(r,"m ").concat(e,"s"):"".concat(r,"m")}let n=Math.floor(r/60),i=r%60;return i?"".concat(n,"h ").concat(i,"m"):"".concat(n,"h")}function u(e){let t="string"==typeof e||"number"==typeof e?new Date(e):e;if(Number.isNaN(t.getTime()))return"";let r=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),i=String(t.getDate()).padStart(2,"0"),a=String(t.getHours()).padStart(2,"0"),s=String(t.getMinutes()).padStart(2,"0"),o=String(t.getSeconds()).padStart(2,"0");return"".concat(r,"-").concat(n,"-").concat(i," ").concat(a,":").concat(s,":").concat(o)}function x(e){if(!e)return"(unknown)";let t=e.replace(/[/\\]+$/,"").split(/[/\\]+/);return t[t.length-1]||e}function m(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;return e?e.replace(/-/g,"").slice(0,t):""}let g={mini:"Mini",nano:"Nano",pro:"Pro",turbo:"Turbo",preview:"Preview"};function f(e){if(!e)return"(unknown)";let t=e.replace(/^(vertex_ai|bedrock|anthropic|openai)\//,""),r=t.toLowerCase();if(r.startsWith("gpt-")||/^o\d/.test(r))return r.startsWith("gpt-")?"GPT-"+t.slice(4).split("-").map(e=>{var t;return null!=(t=g[e.toLowerCase()])?t:e}).join(" "):t.toUpperCase();let n=t.replace(/-(\d{8})$/,""),i=(n=n.replace(/^claude-/,"")).split("-");if(i.length>=2){let e=i[0],t=i.slice(1).join(".");return p(e)+" "+t}return p(n.replace(/-/g," "))}function p(e){return e.replace(/\b\w/g,e=>e.toUpperCase())}},41290:()=>{},44703:(e,t,r)=>{"use strict";r.d(t,{ThemeSwitcher:()=>o});var n=r(95155),i=r(84479),a=r(51148);let s={light:"dark",dark:"system",system:"light"};function o(){let{theme:e,resolved:t,setTheme:r}=(0,i.D)(),{t:o}=(0,a.s9)(),l=s[e];return(0,n.jsx)("button",{onClick:()=>r(l),className:"h-7 w-9 inline-flex items-center justify-center rounded-md border border-border bg-bg-surface text-text-secondary hover:text-text-primary hover:bg-bg-surface-hi hover:border-border-hi transition-colors",title:"".concat(o("theme.label"),": ").concat(o("settings.theme.".concat(e))," (").concat(t,") → ").concat(o("settings.theme.".concat(l))),"aria-label":o("theme.label"),children:(0,n.jsx)(c,{theme:e})})}function c(e){let{theme:t}=e;return"light"===t?(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"4"}),(0,n.jsx)("path",{d:"M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41"})]}):"dark"===t?(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0,children:(0,n.jsx)("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"})}):(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,n.jsx)("path",{d:"M12 3v18"}),(0,n.jsx)("path",{d:"M12 3a9 9 0 0 1 0 18z",fill:"currentColor",stroke:"none"})]})}},57581:(e,t,r)=>{"use strict";r.d(t,{Nav:()=>v});var n=r(95155),i=r(52619),a=r.n(i),s=r(20063),o=r(25016),c=r(51148),l=r(76669),d=r(63847),h=r(21264),u=r(44703);function x(e){let{className:t,withBackground:r=!0}=e,i=r?"#FFFFFF":"currentColor",a=r?"#FFFFFF":"currentColor",s=r?"#FFFFFF":"currentColor";return(0,n.jsxs)("svg",{viewBox:"0 0 64 64",fill:"none","aria-hidden":!0,className:(0,o.cn)("block",!r&&"text-brand",t),children:[r&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("rect",{x:"3",y:"3",width:"58",height:"58",rx:"16",fill:"rgb(var(--brand-strong))"}),(0,n.jsx)("rect",{x:"3.75",y:"3.75",width:"56.5",height:"56.5",rx:"15.25",stroke:"#FFFFFF",strokeOpacity:"0.18",strokeWidth:"1.5"})]}),(0,n.jsx)("path",{d:"M15 39.5 A17 17 0 0 1 49 39.5",stroke:i,strokeOpacity:r?.24:.22,strokeWidth:"5",strokeLinecap:"round"}),(0,n.jsx)("path",{d:"M20.8 39.5 A11.2 11.2 0 0 1 43.2 39.5",stroke:i,strokeOpacity:r?.2:.18,strokeWidth:"1.8",strokeLinecap:"round"}),(0,n.jsx)("path",{d:"M15 39.5 A17 17 0 0 1 42.8 26",stroke:a,strokeWidth:"5",strokeLinecap:"round"}),(0,n.jsxs)("g",{stroke:i,strokeLinecap:"round",strokeWidth:"2",strokeOpacity:r?.54:.34,children:[(0,n.jsx)("path",{d:"M18.1 34.2 L15 32.4"}),(0,n.jsx)("path",{d:"M24 28.5 L22.3 25.5"}),(0,n.jsx)("path",{d:"M32 26.2 L32 22.8"}),(0,n.jsx)("path",{d:"M40 28.5 L41.7 25.5"}),(0,n.jsx)("path",{d:"M45.9 34.2 L49 32.4"})]}),(0,n.jsx)("path",{d:"M32 39.5 L42.8 26",stroke:s,strokeWidth:"3.4",strokeLinecap:"round"}),(0,n.jsx)("circle",{cx:"32",cy:"39.5",r:"4.8",fill:r?"#FFFFFF":"currentColor"}),r&&(0,n.jsx)("circle",{cx:"32",cy:"39.5",r:"2",fill:"#4F46E5"}),(0,n.jsxs)("g",{opacity:r?1:.68,children:[(0,n.jsx)("rect",{x:"17",y:"46",width:"7",height:"5",rx:"2",fill:r?"#34D399":"currentColor"}),(0,n.jsx)("rect",{x:"28.5",y:"43",width:"7",height:"8",rx:"2",fill:r?"#FBBF24":"currentColor"}),(0,n.jsx)("rect",{x:"40",y:"45",width:"7",height:"6",rx:"2",fill:r?"#93C5FD":"currentColor"})]})]})}var m=r(12115);function g(e){let{available:t,initial:r,providers:i}=e,a=(0,s.useRouter)(),o=(0,s.usePathname)(),l=(0,s.useSearchParams)(),d=(0,c.kj)(),{locale:h}=(0,c.s9)(),[u,x]=(0,m.useTransition)(),g=l.get("source"),b=g&&("all"===g?t.length>=2:t.includes(g))?g:null,[v,j]=(0,m.useState)(null!=b?b:r);if((0,m.useEffect)(()=>{b&&b!==v&&j(b)},[b,v]),t.length<2)return null;let k=e=>{var t;if(e===v)return;j(e),t=e,"undefined"!=typeof document&&(document.cookie="".concat("ccgauge_source","=").concat(encodeURIComponent(t),"; path=/; max-age=").concat(31536e3,"; SameSite=Lax"));let r=new URLSearchParams(l.toString());r.set("source",e);let n=/^\/sessions\/[^/]+|^\/projects\/[^/]+/.test(o)?"/".concat(o.split("/")[1],"?").concat(r.toString()):"".concat(o,"?").concat(r.toString());x(()=>{a.push(n)})},y=i.filter(e=>t.includes(e.id));return(0,n.jsxs)("div",{role:"group","aria-label":d("nav.source"),className:"inline-flex items-center rounded-md border border-border bg-bg-surface p-0.5 gap-0.5 ".concat(u?"opacity-60 cursor-progress":""),"aria-busy":u,title:d("nav.source"),children:[(0,n.jsx)(p,{active:"all"===v,label:d("source.all"),onSelect:()=>k("all"),disabled:u,providers:y}),y.map(e=>{let t=e.id===v,r="zh"===h?e.displayZh:e.displayEn;return(0,n.jsxs)("button",{type:"button",onClick:()=>k(e.id),"aria-pressed":t,disabled:u,className:"px-2.5 h-6 text-xs font-medium inline-flex items-center gap-1.5 rounded transition-colors ".concat(t?"bg-brand-strong text-white shadow-sm":"text-text-tertiary hover:text-text-primary hover:bg-bg-surface-hi"),children:[(0,n.jsx)(f,{provider:e}),(0,n.jsx)("span",{children:r})]},e.id)})]})}function f(e){let{provider:t}=e;return t.logoSrc?(0,n.jsx)("img",{src:t.logoSrc,alt:"","aria-hidden":!0,className:"w-4 h-4 rounded-[3px] object-contain shrink-0"}):(0,n.jsx)("span",{className:"inline-flex items-center justify-center w-3.5 h-3.5 rounded-full text-[9px] font-bold leading-none",style:{background:t.bg,color:t.fg},children:t.shortLabel})}function p(e){let{active:t,label:r,onSelect:i,disabled:a,providers:s}=e;return(0,n.jsxs)("button",{type:"button",onClick:i,"aria-pressed":t,disabled:a,className:"px-2.5 h-6 text-xs font-medium inline-flex items-center gap-1.5 rounded transition-colors ".concat(t?"bg-brand-strong text-white shadow-sm":"text-text-tertiary hover:text-text-primary hover:bg-bg-surface-hi"),children:[(0,n.jsx)("span",{className:"relative inline-flex items-center w-[26px] h-4 shrink-0","aria-hidden":!0,children:s.slice(0,2).map((e,t)=>{let r=10*(0!==t);return e.logoSrc?(0,n.jsx)("img",{src:e.logoSrc,alt:"",className:"absolute w-4 h-4 rounded-[3px] object-contain",style:{left:r,zIndex:s.length-t}},e.id):(0,n.jsx)("span",{className:"absolute inline-flex items-center justify-center w-3.5 h-3.5 rounded-full text-[9px] font-bold leading-none",style:{background:e.bg,color:e.fg,left:r,zIndex:s.length-t},children:e.shortLabel},e.id)})}),(0,n.jsx)("span",{children:r})]})}let b=[{href:"/",tk:"nav.overview",exact:!0},{href:"/usage",tk:"nav.usage"},{href:"/sessions",tk:"nav.sessions"},{href:"/projects",tk:"nav.projects"},{href:"/models",tk:"nav.models"},{href:"/settings",tk:"nav.settings"}];function v(e){var t;let{availableProviders:r,initialSource:i,providerInfos:m}=e,f=(0,s.usePathname)(),{t:p,locale:v}=(0,c.s9)(),j=b.find(e=>e.exact?f===e.href:f===e.href||f.startsWith(e.href+"/")),k=null!=(t=null==j?void 0:j.href)?t:"",{containerRef:y,rect:w}=(0,l.S)(k);return(0,n.jsx)("header",{className:"sticky top-0 z-30 border-b border-border bg-bg-base/85 backdrop-blur-md supports-[backdrop-filter]:bg-bg-base/70",children:(0,n.jsxs)("div",{className:"max-w-7xl mx-auto px-3 sm:px-6 h-14 flex items-center gap-2 sm:gap-4",children:[(0,n.jsxs)(a(),{href:"/",className:"flex items-center gap-2 font-semibold tracking-tight whitespace-nowrap shrink-0 text-text-primary hover:opacity-90 transition-opacity","aria-label":"ccgauge home",children:[(0,n.jsx)(x,{className:"w-7 h-7"}),(0,n.jsx)("span",{className:"hidden xs:inline sm:inline",children:"ccgauge"})]}),(0,n.jsxs)("nav",{ref:y,className:"relative flex-1 min-w-0 flex items-center gap-0.5 overflow-x-auto nav-scroller","aria-label":"Primary",children:[(0,n.jsx)(d.j,{rect:w,variant:"underline"}),b.map(e=>{let t=e.exact?f===e.href:f===e.href||f.startsWith(e.href+"/");return(0,n.jsx)(a(),{href:e.href,prefetch:!1,"data-tab":e.href,"aria-current":t?"page":void 0,className:(0,o.cn)("relative px-2.5 sm:px-3 py-1.5 text-sm rounded-button font-medium whitespace-nowrap shrink-0","transition-colors duration-150",t?"text-text-primary":"text-text-secondary hover:text-text-primary hover:bg-bg-surface-hi/60"),children:p(e.tk)},e.href)}),(0,n.jsxs)("a",{href:"zh"===v?"https://chengzuopeng.github.io/ccgauge/zh/":"https://chengzuopeng.github.io/ccgauge/",target:"_blank",rel:"noopener noreferrer",className:(0,o.cn)("relative inline-flex items-center gap-1 px-2.5 sm:px-3 py-1.5 text-sm rounded-button font-medium whitespace-nowrap shrink-0","transition-colors duration-150","text-text-secondary hover:text-text-primary hover:bg-bg-surface-hi/60"),children:[p("nav.docs"),(0,n.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,className:"opacity-70",children:[(0,n.jsx)("path",{d:"M7 17 17 7"}),(0,n.jsx)("path",{d:"M8 7h9v9"})]})]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[(0,n.jsx)(g,{available:r,initial:i,providers:m}),(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)(h.LanguageSwitcher,{}),(0,n.jsx)(u.ThemeSwitcher,{}),(0,n.jsx)("a",{href:"https://github.com/chengzuopeng/ccgauge",target:"_blank",rel:"noopener noreferrer",className:"h-7 w-9 inline-flex items-center justify-center rounded-md border border-border bg-bg-surface text-text-secondary hover:text-text-primary hover:bg-bg-surface-hi hover:border-border-hi transition-colors",title:"GitHub","aria-label":"GitHub",children:(0,n.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0,children:(0,n.jsx)("path",{d:"M12 .5C5.65.5.5 5.65.5 12c0 5.09 3.29 9.4 7.86 10.93.58.1.79-.25.79-.55v-2.1c-3.2.7-3.87-1.36-3.87-1.36-.52-1.33-1.27-1.69-1.27-1.69-1.04-.71.08-.7.08-.7 1.15.08 1.76 1.18 1.76 1.18 1.02 1.75 2.68 1.25 3.34.96.1-.74.4-1.25.73-1.54-2.55-.29-5.23-1.28-5.23-5.69 0-1.26.45-2.29 1.18-3.1-.12-.29-.51-1.45.11-3.03 0 0 .96-.31 3.15 1.18a10.94 10.94 0 0 1 5.74 0c2.19-1.49 3.15-1.18 3.15-1.18.63 1.58.24 2.74.12 3.03.73.81 1.18 1.84 1.18 3.1 0 4.43-2.69 5.4-5.25 5.68.41.36.78 1.06.78 2.14v3.18c0 .31.21.66.8.55A11.5 11.5 0 0 0 23.5 12C23.5 5.65 18.35.5 12 .5Z"})})})]})]})]})})}},63847:(e,t,r)=>{"use strict";r.d(t,{j:()=>a});var n=r(95155),i=r(25016);function a(e){let{rect:t,variant:r="pill",className:a}=e;if(!t)return null;let s=8*("underline"===r);return(0,n.jsx)("span",{"aria-hidden":!0,className:(0,i.cn)("pointer-events-none absolute transition-[transform,width] duration-200 ease-out-soft","pill"===r?"inset-y-0 rounded bg-brand-strong shadow-sm":"-bottom-[12px] h-[2px] rounded-full bg-brand",a),style:{transform:"translateX(".concat(t.left+s,"px)"),width:Math.max(0,t.width-2*s)}})}},76669:(e,t,r)=>{"use strict";r.d(t,{S:()=>a});var n=r(12115);let i=n.useLayoutEffect;function a(e){let t=(0,n.useRef)(null),[r,a]=(0,n.useState)(null),s=(0,n.useCallback)(()=>{let r=t.current;if(!r)return;let n=r.querySelector('[data-tab="'.concat(e,'"]'));if(!n)return void a(null);a(e=>{let t={left:n.offsetLeft,width:n.offsetWidth};return e&&e.left===t.left&&e.width===t.width?e:t})},[e]);return i(()=>{s()},[s]),(0,n.useEffect)(()=>{let e=t.current;if(!e||"undefined"==typeof ResizeObserver)return;let r=new ResizeObserver(()=>s());for(let t of(r.observe(e),Array.from(e.children)))r.observe(t);return window.addEventListener("resize",s),()=>{r.disconnect(),window.removeEventListener("resize",s)}},[s]),{containerRef:t,rect:r}}},79076:(e,t,r)=>{Promise.resolve().then(r.t.bind(r,41290,23)),Promise.resolve().then(r.bind(r,57581)),Promise.resolve().then(r.bind(r,12112))},84479:(e,t,r)=>{"use strict";r.d(t,{N:()=>d,D:()=>h});var n=r(95155),i=r(12115);let a="ccgauge_theme",s=(0,i.createContext)({theme:"dark",resolved:"dark",setTheme:()=>{}}),o="ccgauge.theme";function c(e){return"light"===e?"light":"dark"===e?"dark":window.matchMedia&&window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function l(e){if("undefined"==typeof document)return;let t=document.documentElement,r=c(e);t.classList.remove("theme-light","theme-dark"),t.classList.add("light"===r?"theme-light":"theme-dark"),t.setAttribute("data-theme",r)}function d(e){let{initialTheme:t,children:r}=e,[d,h]=(0,i.useState)(t),[u,x]=(0,i.useState)(()=>"system"===t?"dark":t);(0,i.useEffect)(()=>{try{let e=localStorage.getItem(o);if("light"===e||"dark"===e||"system"===e){e!==t&&(document.cookie="".concat(a,"=").concat(e,"; path=/; max-age=").concat(31536e3,"; SameSite=Lax")),h(e);let r=c(e);x(r),l(e)}else{let e=c(t);x(e),l(t)}}catch(e){x(c(t)),l(t)}},[]),(0,i.useEffect)(()=>{if("system"!==d)return;let e=window.matchMedia("(prefers-color-scheme: light)"),t=()=>{x(e.matches?"light":"dark"),l("system")};return e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[d]);let m=(0,i.useCallback)(e=>{try{localStorage.setItem(o,e)}catch(e){}document.cookie="".concat(a,"=").concat(e,"; path=/; max-age=").concat(31536e3,"; SameSite=Lax"),h(e),x(c(e)),l(e)},[]);return(0,n.jsx)(s.Provider,{value:{theme:d,resolved:u,setTheme:m},children:r})}function h(){return(0,i.useContext)(s)}}},e=>{e.O(0,[410,760,619,148,441,255,358],()=>e(e.s=79076)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,74,97,209,236,347,609,872,948,949],{84441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{8608:(e,t,a)=>{"use strict";a.d(t,{ModelBarChart:()=>l});var s=a(95155),r=a(25016),i=a(51148);let n={opus:"rgb(var(--chart-output))",sonnet:"rgb(var(--chart-input))",haiku:"rgb(var(--chart-cache-read))"};function l(e){let{models:t}=e,a=(0,i.kj)(),{locale:l}=(0,i.s9)();if(!t.length)return(0,s.jsx)("div",{className:"text-sm text-text-tertiary",children:a("chart.empty")});let c=Math.max(...t.map(e=>e.cost),1e-4),o=t.reduce((e,t)=>e+t.cost,0);return(0,s.jsx)("div",{className:"space-y-3.5",children:t.map(e=>{let t=o>0?e.cost/o:0;return(0,s.jsxs)("div",{className:"space-y-1.5 group",children:[(0,s.jsxs)("div",{className:"flex items-baseline justify-between gap-3 text-sm",children:[(0,s.jsx)("span",{className:"font-medium text-text-primary truncate",children:(0,r.P6)(e.model)}),(0,s.jsxs)("span",{className:"text-xs text-text-tertiary tabular-nums flex-1 text-right",children:[(0,r.jh)(e.totalTokens,l)," \xb7 ",(0,r.R8)(t)]}),(0,s.jsx)("span",{className:"num-mono font-medium text-text-primary min-w-[80px] text-right",children:(0,r.az)(e.cost)})]}),(0,s.jsx)("div",{className:"h-2 w-full bg-bg-surface-hi rounded-full overflow-hidden",children:(0,s.jsx)("div",{className:"bar-grow h-full rounded-full transition-all duration-500 ease-out-soft group-hover:brightness-110",style:{width:"".concat(e.cost/c*100,"%"),background:function(e){for(let t of Object.keys(n))if(e.toLowerCase().includes(t))return n[t];return"rgb(var(--chart-cache-create))"}(e.model)}})})]},e.model)})})}},11721:(e,t,a)=>{Promise.resolve().then(a.bind(a,12623)),Promise.resolve().then(a.bind(a,77549)),Promise.resolve().then(a.bind(a,30633)),Promise.resolve().then(a.bind(a,25763)),Promise.resolve().then(a.bind(a,8608)),Promise.resolve().then(a.bind(a,74387))},12623:(e,t,a)=>{"use strict";a.d(t,{ActivityStatsSection:()=>c});var s=a(95155),r=a(12115),i=a(25016),n=a(7331),l=a(79808);function c(e){var t;let{stats:a,comparison:i,locale:c,className:x}=e,m=(0,r.useCallback)((e,t)=>(0,l.nA)(c,e,t),[c]),h=[{label:m("activity.activeDays"),value:a.activeDays.toLocaleString()},{label:m("activity.streakCombinedLabel"),value:m("activity.streakCombinedValue",{current:a.currentStreak,longest:a.longestStreak})},{label:m("activity.peakHour"),value:a.peakHour<0?"—":u(a.peakHour,c)}];return(0,s.jsx)(n.wn,{title:m("activity.title"),desc:m("activity.subtitle"),inlineDesc:!0,fillBody:!0,className:x,children:(0,s.jsxs)("div",{className:"flex flex-col md:flex-row gap-5 md:gap-8 items-stretch flex-1",children:[(0,s.jsx)("div",{className:"grid grid-cols-3 md:flex md:flex-col md:w-[170px] md:shrink-0 gap-2.5",children:h.map(e=>(0,s.jsx)(o,{label:e.label,value:e.value},e.label))}),(0,s.jsxs)("div",{className:"flex-1 min-w-0 flex flex-col",children:[(0,s.jsx)(d,{data:a.heatmap,tokens:a.tokenHeatmap,max:a.heatmapMax,locale:c}),i&&(0,s.jsx)("div",{className:"mt-auto pt-4 text-xs text-text-tertiary leading-relaxed",children:m("activity.comparison",{multiplier:(t=i.multiplier)<10?t.toFixed(1):t<1e3?Math.round(t).toString():t<1e6?(t/1e3).toFixed(1)+"K":(t/1e6).toFixed(1)+"M",ref:m("activity.ref.".concat(i.refKey))})})]})]})})}function o(e){let{label:t,value:a}=e;return(0,s.jsxs)("div",{className:"rounded-button bg-bg-surface-hi/60 border border-border px-3.5 py-3 flex-1 flex flex-col justify-center min-h-[64px]",children:[(0,s.jsx)("div",{className:"text-[11px] uppercase tracking-[0.06em] text-text-tertiary font-semibold truncate",children:t}),(0,s.jsx)("div",{className:"num-mono text-xl font-semibold text-text-primary mt-1 leading-none truncate",children:a})]})}function d(e){let{data:t,tokens:a,max:i,locale:n}=e,c=(0,r.useCallback)((e,t)=>(0,l.nA)(n,e,t),[n]),o=[0,3,6,9,12,15,18,21],[d,m]=(0,r.useState)(null),u=(0,r.useMemo)(()=>{let e=0,s=0,r=0;for(let a of t)for(let t of a)e+=t;for(let e of a)for(let t of e)s+=t,t>r&&(r=t);return{messages:e,tokens:s,maxTokens:r}},[t,a]);function p(e,s,r){let i=e.currentTarget.getBoundingClientRect();m({dow:s,hour:r,count:t[s][r],tokens:a[s][r],rect:{left:i.left,top:i.top,width:i.width,height:i.height}})}return(0,s.jsxs)("div",{className:"w-full",children:[(0,s.jsxs)("div",{className:"grid gap-y-[3px] [grid-template-columns:auto_1fr] items-center",children:[t.map((e,t)=>(0,s.jsx)(x,{dow:t,row:e,max:i,t:c,onCellHover:p,onLeave:()=>m(null)},t)),(0,s.jsx)("div",{className:"text-[10px] text-text-tertiary opacity-0 select-none pr-2",children:"."}),(0,s.jsx)("div",{className:"grid [grid-template-columns:repeat(24,minmax(0,1fr))] text-[10px] text-text-tertiary tabular-nums gap-[3px] mt-1",children:Array.from({length:24}).map((e,t)=>{var a;return(0,s.jsx)("div",{className:"text-center leading-none",children:o.includes(t)?(a=t,"zh"===n?"".concat(a):0===a?"12a":a<12?"".concat(a,"a"):12===a?"12p":"".concat(a-12,"p")):""},t)})})]}),d&&(0,s.jsx)(h,{hover:d,locale:n,totalMessages:u.messages,totalTokens:u.tokens,maxCount:i,maxTokens:u.maxTokens,t:c})]})}function x(e){let{dow:t,row:a,max:r,t:i,onCellHover:n,onLeave:l}=e,c=i("activity.dow.".concat(t));return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"text-[11px] text-text-tertiary tabular-nums pr-2.5 leading-none whitespace-nowrap",children:c}),(0,s.jsx)("div",{className:"grid [grid-template-columns:repeat(24,minmax(0,1fr))] gap-[3px]",onMouseLeave:l,children:a.map((e,a)=>(0,s.jsx)(m,{count:e,max:r,onHover:e=>n(e,t,a)},a))})]})}function m(e){let{count:t,max:a,onHover:r}=e,n=a>0&&t>0?Math.sqrt(t/a):0,l=t?{backgroundColor:"rgb(var(--brand) / ".concat((.18+.82*n).toFixed(2),")")}:{};return(0,s.jsx)("div",{onMouseEnter:r,className:(0,i.cn)("aspect-square rounded-[3px] transition-transform duration-100","hover:scale-125 hover:ring-1 hover:ring-brand/60 hover:z-10 relative",!t&&"bg-bg-surface-hi"),style:l})}function h(e){let{hover:t,locale:a,totalMessages:r,totalTokens:n,maxCount:l,maxTokens:c,t:o}=e,d=t.rect.left+t.rect.width/2,x=t.rect.top<96,m=x?t.rect.top+t.rect.height+8:t.rect.top-8,h=o("activity.dow.".concat(t.dow)),p=function(e,t){let a=(e+1)%24;return"zh"===t?"".concat(e.toString().padStart(2,"0"),":00 – ").concat(a.toString().padStart(2,"0"),":00"):"".concat(u(e,t)," – ").concat(u(a,t))}(t.hour,a),v=r>0?t.count/r*100:0,b=l>0?t.count/l*100:0,f=n>0?t.tokens/n*100:0,j=c>0?t.tokens/c*100:0;return(0,s.jsx)("div",{role:"tooltip",className:"pointer-events-none fixed z-50",style:{left:d,top:m,transform:"translate(-50%, ".concat(x?"0%":"-100%",")")},children:(0,s.jsxs)("div",{className:"card-elevated rounded-button px-3 py-2 text-xs whitespace-nowrap shadow-xl border border-border-hi bg-bg-elevated min-w-[180px]",children:[(0,s.jsxs)("div",{className:"font-semibold text-text-primary mb-1",children:[h," \xb7 ",p]}),t.count>0?(0,s.jsxs)("div",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5 text-text-secondary tabular-nums",children:[(0,s.jsx)("span",{className:"text-text-tertiary",children:o("activity.heatmap.messages")}),(0,s.jsxs)("span",{className:"text-right",children:[t.count.toLocaleString(),(0,s.jsxs)("span",{className:"text-text-tertiary ml-1.5",children:["\xb7"," ",(0,s.jsxs)("span",{title:o("activity.heatmap.shareLabel"),children:[v.toFixed(1),"%"]})," / ",(0,s.jsxs)("span",{title:o("activity.heatmap.intensityLabel"),children:[b.toFixed(0),"%"]})]})]}),(0,s.jsx)("span",{className:"text-text-tertiary",children:o("activity.heatmap.tokens")}),(0,s.jsxs)("span",{className:"text-right",children:[(0,i.jh)(t.tokens,a),(0,s.jsxs)("span",{className:"text-text-tertiary ml-1.5",children:["\xb7"," ",(0,s.jsxs)("span",{title:o("activity.heatmap.shareLabel"),children:[f.toFixed(1),"%"]})," / ",(0,s.jsxs)("span",{title:o("activity.heatmap.intensityLabel"),children:[j.toFixed(0),"%"]})]})]}),(0,s.jsx)("span",{}),(0,s.jsxs)("span",{className:"text-[10px] text-text-tertiary text-right pt-1 leading-none",children:[o("activity.heatmap.shareLabel")," / ",o("activity.heatmap.intensityLabel")]})]}):(0,s.jsx)("div",{className:"text-text-tertiary",children:o("activity.heatmap.empty")})]})})}function u(e,t){return"zh"===t?"".concat(e,":00"):0===e?"12 AM":e<12?"".concat(e," AM"):12===e?"12 PM":"".concat(e-12," PM")}},25763:(e,t,a)=>{"use strict";a.d(t,{BlockProgress:()=>l});var s=a(95155),r=a(12115),i=a(25016),n=a(51148);function l(e){let{initial:t,className:a,sourceLabel:r,compact:l,headerRight:o,cliName:d="Claude Code"}=e,x=(0,n.kj)(),{locale:m}=(0,n.s9)(),h=e=>(0,i.jh)(e,m),u=(0,i.cn)("card flex flex-col",l?"p-4 min-h-[160px]":"card-pad min-h-[180px]",a),p=(0,s.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,s.jsx)("div",{className:"label whitespace-nowrap",children:x("block.title")}),r&&(0,s.jsxs)("span",{className:"text-[10px] uppercase tracking-wide text-text-tertiary font-medium whitespace-nowrap",children:["\xb7 ",r]})]});if(!t.hasBlock||!t.endTime||!t.startTime)return(0,s.jsxs)("div",{className:u,children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[p,o]}),(0,s.jsx)("div",{className:"text-sm text-text-tertiary mt-4",children:x("block.empty")}),(0,s.jsx)("div",{className:"text-xs text-text-tertiary mt-1",children:x("block.emptyDesc",{cli:d})})]});let v=(0,s.jsxs)("span",{className:"pill bg-success/10 text-success border border-success/20 whitespace-nowrap",children:[(0,s.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-success mr-1 animate-pulse"}),x("common.live")]});return(0,s.jsxs)("div",{className:u,children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[p,null!=o?o:v]}),(0,s.jsx)(c,{startTime:t.startTime,endTime:t.endTime,totalTokens:t.totalTokens,remainingLabel:x("block.remaining"),renderElapsed:e=>x("block.elapsed",{pct:e}),tokensSuffix:x("block.tokensSuffix"),fmtTokens:h}),(0,s.jsxs)("div",{className:"mt-4 pt-4 border-t border-border grid grid-cols-2 gap-3 text-xs",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-text-tertiary",children:x("block.spentSoFar")}),(0,s.jsx)("div",{className:"num-mono text-text-primary mt-0.5 text-base",children:(0,i.az)(t.cost)})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-text-tertiary",children:x("block.burnPerMin")}),(0,s.jsx)("div",{className:"num-mono text-text-primary mt-0.5 text-base",children:h(t.burnRatePerMin)})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-text-tertiary",children:x("block.projectedTotal")}),(0,s.jsx)("div",{className:"num-mono text-text-secondary mt-0.5",children:(0,i.az)(t.projectedCost)})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-text-tertiary",children:x("block.requests")}),(0,s.jsx)("div",{className:"num-mono text-text-secondary mt-0.5",children:t.requests})]})]}),(0,s.jsx)("div",{className:"mt-auto pt-3 text-[11px] leading-relaxed text-text-tertiary",children:x("block.disclaimer")})]})}function c(e){let{startTime:t,endTime:a,totalTokens:i,remainingLabel:n,renderElapsed:l,tokensSuffix:c,fmtTokens:o}=e,[d,x]=(0,r.useState)(()=>Date.now());(0,r.useEffect)(()=>{let e=setInterval(()=>x(Date.now()),1e3);return()=>clearInterval(e)},[]);let m=new Date(t).getTime(),h=new Date(a).getTime(),u=Math.max(0,d-m),p=Math.max(0,h-d),v=Math.min(1,u/(h-m)),b=l((100*v).toFixed(1));return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"mt-3 flex items-baseline gap-2",children:[(0,s.jsx)("div",{className:"num-hero",children:function(e){if(e<=0)return"0s";let t=Math.floor(e/1e3),a=Math.floor(t/3600),s=Math.floor(t%3600/60),r=t%60;return a>0?"".concat(a,"h ").concat(String(s).padStart(2,"0"),"m"):s>0?"".concat(s,"m ").concat(String(r).padStart(2,"0"),"s"):"".concat(r,"s")}(p)}),(0,s.jsx)("div",{className:"text-xs text-text-secondary",children:n})]}),(0,s.jsxs)("div",{className:"mt-3 space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between text-xs text-text-secondary",children:[(0,s.jsx)("span",{children:b}),(0,s.jsxs)("span",{className:"num-mono",children:[o(i)," ",c]})]}),(0,s.jsx)("div",{className:"h-1.5 bg-bg-surface-hi rounded-full overflow-hidden",children:(0,s.jsx)("div",{className:"h-full bg-gradient-to-r from-brand to-brand-hover transition-all",style:{width:"".concat(100*v,"%")},suppressHydrationWarning:!0})})]})]})}},30633:(e,t,a)=>{"use strict";a.d(t,{BlockProgressSwitcher:()=>n});var s=a(95155),r=a(12115),i=a(25763);function n(e){var t;let{slots:a,defaultSource:n,className:l}=e,c=Math.max(0,a.findIndex(e=>e.source===n)),[o,d]=(0,r.useState)(c),x=null!=(t=a[o])?t:a[0];return(0,s.jsx)(i.BlockProgress,{initial:x.initial,sourceLabel:x.label,cliName:x.cliName,className:l,headerRight:(0,s.jsx)("div",{role:"tablist","aria-label":"Active 5h block source",className:"inline-flex items-center rounded-md border border-border bg-bg-surface p-0.5 gap-0.5",children:a.map((e,t)=>{let a=t===o;return(0,s.jsx)("button",{type:"button",role:"tab","aria-selected":a,onClick:()=>d(t),className:"px-2 h-5 text-[11px] inline-flex items-center rounded transition-all ".concat(a?"bg-brand-strong text-white font-semibold shadow-sm":"text-text-tertiary font-medium hover:text-text-primary hover:bg-bg-surface-hi"),children:e.label},e.source)})})})}},74387:(e,t,a)=>{"use strict";a.d(t,{OverviewTrendCard:()=>j});var s=a(95155),r=a(12115),i=a(7331),n=a(38059),l=a(26991),c=a(94632),o=a(68425),d=a(47734),x=a(73697),m=a(23508),h=a(26736),u=a(51148);function p(e){let{data:t,height:a="h-72"}=e,r=(0,u.kj)(),{locale:i}=(0,u.s9)();return t.length?(0,s.jsx)("div",{className:"".concat(a," w-full"),children:(0,s.jsx)(l.u,{width:"100%",height:"100%",children:(0,s.jsxs)(c.E,{data:t,margin:{top:12,right:8,bottom:4,left:8},barCategoryGap:"22%",children:[(0,s.jsx)("defs",{children:(0,s.jsxs)("linearGradient",{id:"convBarGrad",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,s.jsx)("stop",{offset:"0%",stopColor:"rgb(var(--brand))",stopOpacity:.95}),(0,s.jsx)("stop",{offset:"100%",stopColor:"rgb(var(--brand))",stopOpacity:.5})]})}),(0,s.jsx)(o.d,{stroke:"rgb(var(--chart-grid))",strokeOpacity:.6,strokeDasharray:"3 3",vertical:!1}),(0,s.jsx)(d.W,{dataKey:"label",tick:{fill:"rgb(var(--chart-axis))",fontSize:11},tickLine:!1,axisLine:!1,interval:"preserveStartEnd",minTickGap:32,tickMargin:8}),(0,s.jsx)(x.h,{tickFormatter:e=>{let t;return t=Number(e),"zh"===i&&t>=1e4?"".concat((t/1e4).toFixed(1),"万"):t.toLocaleString()},tick:{fill:"rgb(var(--chart-axis))",fontSize:11},tickLine:!1,axisLine:!1,width:56,tickMargin:4}),(0,s.jsx)(m.m,{content:(0,s.jsx)(v,{}),cursor:{fill:"rgb(var(--text-primary) / 0.05)",radius:4}}),(0,s.jsx)(h.y,{dataKey:"turns",fill:"url(#convBarGrad)",radius:[4,4,0,0],isAnimationActive:!1})]})})}):(0,s.jsx)("div",{className:"".concat(a," flex items-center justify-center text-text-tertiary text-sm"),children:r("chart.empty")})}function v(e){var t;let a=(0,u.kj)();if(!e.active||!e.payload||!e.payload.length)return null;let r=e.payload[0].payload;return(0,s.jsxs)("div",{className:"card-elevated border border-border-hi rounded-card p-3 text-xs min-w-[180px]",children:[(0,s.jsx)("div",{className:"font-medium text-text-primary mb-2",children:e.label}),(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("span",{className:"text-text-secondary",children:a("chart.tooltip.conversations")}),(0,s.jsx)("span",{className:"num-mono text-text-primary",children:(null!=(t=r.turns)?t:0).toLocaleString()})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between mt-1 text-text-tertiary",children:[(0,s.jsx)("span",{children:a("chart.tooltip.requests")}),(0,s.jsx)("span",{className:"num-mono",children:r.requests.toLocaleString()})]})]})}var b=a(76669),f=a(63847);function j(e){let{data:t,activeDaysHint:a}=e,l=(0,u.kj)(),[c,o]=(0,r.useState)("tokens"),d=l("tokens"===c?"overview.trend.desc.tokens":"overview.trend.desc.conversations");return(0,s.jsx)(i.wn,{title:l("overview.trend.title"),desc:l("overview.trend.desc",{metric:d}),right:(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)(g,{value:c,onChange:o}),(0,s.jsx)("span",{className:"text-xs text-text-tertiary whitespace-nowrap",children:a})]}),children:"tokens"===c?(0,s.jsx)(n.TokenStackChart,{data:t}):(0,s.jsx)(p,{data:t})})}function g(e){let{value:t,onChange:a}=e,r=(0,u.kj)(),{containerRef:i,rect:n}=(0,b.S)(t),l=null===n;return(0,s.jsx)("div",{className:"inline-flex items-center rounded-md border border-border bg-bg-surface p-0.5",children:(0,s.jsxs)("div",{ref:i,role:"tablist","aria-label":r("overview.trend.title"),className:"relative flex gap-0.5",children:[(0,s.jsx)(f.j,{rect:n}),[{id:"tokens",labelKey:"overview.trend.metric.tokens"},{id:"conversations",labelKey:"overview.trend.metric.conversations"}].map(e=>{let i=e.id===t;return(0,s.jsx)("button",{type:"button",role:"tab","data-tab":e.id,"aria-selected":i,onClick:()=>a(e.id),className:"relative z-10 px-2.5 h-6 text-xs inline-flex items-center rounded transition-colors ".concat(i?"text-white font-semibold ".concat(l?"bg-brand-strong shadow-sm":""):"text-text-tertiary font-medium hover:text-text-primary hover:bg-bg-surface-hi"),children:r(e.labelKey)},e.id)})]})})}}},e=>{e.O(0,[760,930,148,567,441,255,358],()=>e(e.s=11721)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[64,74,97,209,236,347,609,872,948,949],{84441:()=>{}},_=>{_.O(0,[441,255,358],()=>_(_.s=84441)),_N_E=_.O()}]);
|