cc-viewer 1.5.5 → 1.5.6

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.
@@ -489,7 +489,7 @@ Please report this to https://github.com/markedjs/marked.`,t){let i="<p>An error
489
489
  `))}return r.join(`
490
490
 
491
491
 
492
- `)}renderProjectStatsContent(){const{projectStats:n,projectStatsLoading:r}=this.state;if(r)return S.jsx("div",{className:fe.projectStatsCenter,children:S.jsx(ks,{})});if(!n)return S.jsx("div",{className:fe.projectStatsEmpty,children:me("ui.projectStats.noData")});const{summary:i,models:o,updatedAt:s}=n;o&&Object.entries(o).sort((c,h)=>h[1]-c[1]);const a={};if(n.files){for(const c of Object.values(n.files))if(c.models)for(const[h,m]of Object.entries(c.models))a[h]||(a[h]={input:0,output:0,cacheRead:0,cacheCreation:0,count:0}),a[h].input+=m.input_tokens||0,a[h].output+=m.output_tokens||0,a[h].cacheRead+=m.cache_read_input_tokens||0,a[h].cacheCreation+=m.cache_creation_input_tokens||0,a[h].count+=m.count||0}const l=Object.entries(a).sort((c,h)=>h[1].count-c[1].count);return S.jsxs("div",{className:fe.projectStatsContent,children:[s&&S.jsx("div",{className:fe.projectStatsUpdated,children:me("ui.projectStats.updatedAt",{time:new Date(s).toLocaleString()})}),S.jsxs("div",{className:fe.projectStatsSummary,children:[S.jsxs("div",{className:fe.projectStatCard,children:[S.jsx("div",{className:fe.projectStatValue,children:(i==null?void 0:i.requestCount)??0}),S.jsx("div",{className:fe.projectStatLabel,children:me("ui.projectStats.totalRequests")})]}),S.jsxs("div",{className:fe.projectStatCard,children:[S.jsx("div",{className:fe.projectStatValue,children:(i==null?void 0:i.sessionCount)??0}),S.jsx("div",{className:fe.projectStatLabel,children:me("ui.projectStats.sessionCount")})]}),S.jsxs("div",{className:fe.projectStatCard,children:[S.jsx("div",{className:fe.projectStatValue,children:(i==null?void 0:i.fileCount)??0}),S.jsx("div",{className:fe.projectStatLabel,children:me("ui.projectStats.totalFiles")})]}),S.jsxs("div",{className:fe.projectStatCard,children:[S.jsx("div",{className:fe.projectStatValue,children:dr(i==null?void 0:i.input_tokens)}),S.jsx("div",{className:fe.projectStatLabel,children:"Input Tokens"})]}),S.jsxs("div",{className:fe.projectStatCard,children:[S.jsx("div",{className:fe.projectStatValue,children:dr(i==null?void 0:i.output_tokens)}),S.jsx("div",{className:fe.projectStatLabel,children:"Output Tokens"})]})]}),l.length>0&&S.jsxs("div",{className:fe.projectStatsSection,children:[S.jsx("div",{className:fe.projectStatsSectionTitle,children:me("ui.projectStats.modelUsage")}),l.map(([c,h])=>{const m=h.input+h.cacheRead+h.cacheCreation,p=m>0?(h.cacheRead/m*100).toFixed(1):"0.0";return S.jsxs("div",{className:fe.projectStatsModelCard,children:[S.jsxs("div",{className:fe.projectStatsModelHeader,children:[S.jsx("span",{className:fe.projectStatsModelName,children:c}),S.jsxs("span",{className:fe.projectStatsModelCount,children:[h.count," reqs"]})]}),S.jsx("table",{className:fe.statsTable,children:S.jsxs("tbody",{children:[S.jsxs("tr",{children:[S.jsx("td",{className:fe.label,children:"Token"}),S.jsx("td",{className:fe.th,children:"input"}),S.jsx("td",{className:fe.th,children:"output"})]}),S.jsxs("tr",{className:fe.rowBorder,children:[S.jsx("td",{className:fe.label}),S.jsx("td",{className:fe.td,children:dr(m)}),S.jsx("td",{className:fe.td,children:dr(h.output)})]}),S.jsxs("tr",{children:[S.jsx("td",{className:fe.label,children:"Cache"}),S.jsx("td",{className:fe.th,children:"create"}),S.jsx("td",{className:fe.th,children:"read"})]}),S.jsxs("tr",{className:fe.rowBorder,children:[S.jsx("td",{className:fe.label}),S.jsx("td",{className:fe.td,children:dr(h.cacheCreation)}),S.jsx("td",{className:fe.td,children:dr(h.cacheRead)})]}),S.jsxs("tr",{children:[S.jsx("td",{className:fe.label,children:me("ui.hitRate")}),S.jsxs("td",{colSpan:2,className:fe.td,children:[p,"%"]})]})]})})]},c)})]})]})}render(){const{requestCount:n,requests:r=[],viewMode:i,cacheType:o,onToggleViewMode:s,onImportLocalLogs:a,onLangChange:l,isLocalLog:c,localLogFile:h,projectName:m,collapseToolResults:p,onCollapseToolResultsChange:g,expandThinking:v,onExpandThinkingChange:_,expandDiff:b,onExpandDiffChange:C,filterIrrelevant:x,onFilterIrrelevantChange:w,updateInfo:k,onDismissUpdate:$,cliMode:R,terminalVisible:I,onToggleTerminal:P,onReturnToWorkspaces:M}=this.props,{countdownText:z}=this.state,F=[{key:"import-local",icon:S.jsx(D5,{}),label:me("ui.importLocalLogs"),onClick:a},{key:"export-prompts",icon:S.jsx(Aee,{}),label:me("ui.exportPrompts"),onClick:this.handleShowPrompts},{key:"plugin-management",icon:S.jsx(A5,{}),label:me("ui.pluginManagement"),onClick:this.handleShowPlugins},...R&&M?[{key:"switch-workspace",icon:S.jsx(D5,{style:{transform:"scaleX(-1)"}}),label:me("ui.switchWorkspace"),onClick:M}]:[],{type:"divider"},{key:"project-stats",icon:S.jsx(B5,{}),label:me("ui.projectStats"),onClick:this.handleShowProjectStats},...i==="raw"?[{key:"global-settings",icon:S.jsx(z5,{}),label:me("ui.globalSettings"),onClick:()=>this.setState({globalSettingsVisible:!0})}]:[],...i==="chat"?[{key:"display-settings",icon:S.jsx(z5,{}),label:me("ui.settings"),onClick:()=>this.setState({settingsDrawerVisible:!0})}]:[],{key:"language",icon:S.jsx(zee,{}),label:me("ui.languageSettings"),children:[{key:"lang-grid-container",type:"group",label:S.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"8px",padding:"8px 4px",minWidth:"360px",maxHeight:"none"},children:Mre.map(T=>S.jsx(gn,{size:"small",type:T.value===Oh()?"primary":"default",onClick:O=>{O.stopPropagation(),uC(T.value),l&&l()},style:{width:"100%",textAlign:"center"},children:T.label},T.value))})}]}];return S.jsxs("div",{className:fe.headerBar,children:[S.jsxs(Fs,{size:"middle",children:[S.jsx(Gg,{menu:{items:F},trigger:["hover"],children:S.jsxs(Ire,{strong:!0,className:fe.titleText,children:[S.jsx("img",{src:"/favicon.ico",alt:"Logo",className:fe.logoImage}),"CC-Viewer ",S.jsx(js,{className:fe.titleArrow})]})}),S.jsx(lh,{content:this.renderTokenStats(),trigger:"hover",placement:"bottomLeft",overlayInnerStyle:{background:"#1e1e1e",border:"1px solid #3a3a3a",borderRadius:8,padding:"8px 8px"},children:S.jsxs(xo,{className:fe.tokenStatsTag,children:[S.jsx(Nee,{className:fe.tokenStatsIcon}),me("ui.tokenStats")]})}),(()=>{const O=Date.now(),N=c?[]:(r||[]).filter(K=>!K.response&&O-new Date(K.timestamp).getTime()<3e5),A=N.length>0,B=c?null:A?S.jsxs("svg",{className:fe.liveSpinner,width:"10",height:"10",viewBox:"0 0 10 10",children:[S.jsx("line",{x1:"5",y1:"1",x2:"5",y2:"9",stroke:"#52c41a",strokeWidth:"1.5",strokeLinecap:"round"}),S.jsx("line",{x1:"1",y1:"5",x2:"9",y2:"5",stroke:"#52c41a",strokeWidth:"1.5",strokeLinecap:"round"}),S.jsx("line",{x1:"2.2",y1:"2.2",x2:"7.8",y2:"7.8",stroke:"#52c41a",strokeWidth:"1.5",strokeLinecap:"round",className:fe.liveSpinnerDiag}),S.jsx("line",{x1:"7.8",y1:"2.2",x2:"2.2",y2:"7.8",stroke:"#52c41a",strokeWidth:"1.5",strokeLinecap:"round",className:fe.liveSpinnerDiag})]}):S.jsx(OS,{status:"processing",color:"green"}),D=!c&&!A,j=B&&S.jsx("span",{className:fe.liveDotWrap,children:D?S.jsx(Zs,{title:me("ui.noInflightRequests"),placement:"bottom",children:B}):B}),W=S.jsxs(xo,{color:c?void 0:"green",className:`${fe.liveTag} ${c?fe.liveTagHistory:""}`,children:[j,S.jsx("span",{className:fe.liveTagText,children:c?me("ui.historyLog",{file:h}):me("ui.liveMonitoring")+(m?`:${m}`:"")})]});if(A){const K=S.jsx("div",{className:fe.inflightList,children:N.map((V,U)=>{var re;const q=_l(V),Y=Vp(q.type,q.subType),Z=((re=V.body)==null?void 0:re.model)||"",ee=Z.includes("-")?Z.split("-").slice(0,2).join("-"):Z,se=new Date(V.timestamp).toLocaleTimeString("zh-CN");return S.jsxs("div",{className:fe.inflightItem,children:[S.jsx("span",{className:fe.inflightTag,children:Y}),S.jsx("span",{className:fe.inflightModel,children:ee}),S.jsx("span",{className:fe.inflightTime,children:se})]},U)})});return S.jsx(lh,{content:K,title:me("ui.inflightRequests"),placement:"bottom",children:W})}return W})(),k&&S.jsx(xo,{color:k.type==="completed"?"green":"orange",closable:!0,onClose:()=>$&&$(),children:k.type==="completed"?me("ui.update.completed",{version:k.version}):me("ui.update.majorAvailable",{version:k.version})})]}),S.jsxs(Fs,{size:"middle",children:[z&&S.jsxs(xo,{color:z===me("ui.cacheExpired")?"red":"green",children:[me("ui.cacheCountdown",{type:o?`(${o})`:""}),S.jsx("strong",{className:fe.countdownStrong,children:z})]}),i==="chat"&&R&&this.state.localUrl&&S.jsx(lh,{content:S.jsxs("div",{className:fe.qrcodePopover,children:[S.jsx("div",{className:fe.qrcodeTitle,children:me("ui.scanToCoding")}),S.jsx(V8,{value:this.state.localUrl,size:200,bgColor:"#141414",fgColor:"#d9d9d9",level:"M"}),S.jsx(mc,{readOnly:!0,value:this.state.localUrl,className:fe.qrcodeUrlInput,suffix:S.jsx(dh,{className:fe.qrcodeUrlCopy,onClick:()=>{navigator.clipboard.writeText(this.state.localUrl).then(()=>{ar.success(me("ui.copied"))}).catch(()=>{})}})})]}),trigger:"hover",placement:"bottomRight",overlayInnerStyle:{background:"#1e1e1e",border:"1px solid #3a3a3a",borderRadius:8,padding:"8px 8px"},children:S.jsx(gn,{icon:S.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{verticalAlign:"-3px"},children:[S.jsx("rect",{x:"5",y:"2",width:"14",height:"20",rx:"2",ry:"2"}),S.jsx("line",{x1:"12",y1:"18",x2:"12.01",y2:"18"})]})})}),R&&i==="chat"&&!c&&S.jsx(gn,{type:I?"primary":"default",ghost:I,icon:S.jsx(np,{}),onClick:P,children:me("ui.terminal")}),S.jsx(gn,{type:i==="raw"?"primary":"default",icon:i==="raw"?S.jsx(M8,{}):S.jsx(ep,{}),onClick:s,children:me(i==="raw"?"ui.chatMode":"ui.rawMode")})]}),S.jsxs(xi,{title:`${me("ui.userPrompt")} (${this.state.promptData.length}${me("ui.promptCountUnit")})`,open:this.state.promptModalVisible,onCancel:()=>this.setState({promptModalVisible:!1}),footer:null,width:700,children:[S.jsx("div",{className:fe.promptExportBar,children:S.jsx(gn,{icon:S.jsx(N8,{}),onClick:this.handleExportPromptsTxt,children:me("ui.exportPromptsTxt")})}),S.jsx(qg,{activeKey:this.state.promptViewMode,onChange:T=>this.setState({promptViewMode:T}),size:"small",items:[{key:"original",label:me("ui.promptModeOriginal")},{key:"context",label:me("ui.promptModeContext")},{key:"text",label:me("ui.promptModeText")}]}),this.state.promptViewMode==="text"?S.jsx("textarea",{readOnly:!0,className:fe.promptTextarea,value:this.buildTextModeContent()}):S.jsxs("div",{className:fe.promptScrollArea,children:[this.state.promptData.length===0&&S.jsx("div",{className:fe.promptEmpty,children:me("ui.noPrompt")}),this.state.promptData.map((T,O)=>{const N=T.timestamp?new Date(T.timestamp).toLocaleString():me("ui.unknownTime");return S.jsxs("div",{children:[S.jsxs("div",{className:fe.promptTimestamp,children:[N,":"]}),this.state.promptViewMode==="original"?this.renderOriginalPrompt(T):this.renderTextPrompt(T)]},O)})]})]}),S.jsx(Jm,{title:me("ui.settings"),placement:"left",width:360,open:this.state.settingsDrawerVisible,onClose:()=>this.setState({settingsDrawerVisible:!1}),children:S.jsxs("div",{className:fe.settingsGroupBox,children:[S.jsx("div",{className:fe.settingsGroupTitle,children:me("ui.chatDisplaySwitches")}),S.jsxs("div",{className:fe.settingsItem,children:[S.jsx("span",{className:fe.settingsLabel,children:me("ui.collapseToolResults")}),S.jsx(al,{checked:!!p,onChange:T=>g&&g(T)})]}),S.jsxs("div",{className:fe.settingsItem,children:[S.jsx("span",{className:fe.settingsLabel,children:me("ui.expandThinking")}),S.jsx(al,{checked:!!v,onChange:T=>_&&_(T)})]})]})}),S.jsxs(Jm,{title:me("ui.globalSettings"),placement:"left",width:400,open:this.state.globalSettingsVisible,onClose:()=>this.setState({globalSettingsVisible:!1}),children:[S.jsxs("div",{className:fe.settingsItem,children:[S.jsx("span",{className:fe.settingsLabel,children:me("ui.filterIrrelevant")}),S.jsx(al,{checked:!!x,onChange:T=>w&&w(T)})]}),S.jsxs("div",{className:fe.settingsItem,children:[S.jsx("span",{className:fe.settingsLabel,children:me("ui.expandDiff")}),S.jsx(al,{checked:!!b,onChange:T=>C&&C(T)})]})]}),S.jsx(Jm,{title:S.jsxs("span",{children:[S.jsx(B5,{style:{marginRight:8}}),me("ui.projectStats")]}),placement:"left",width:400,open:this.state.projectStatsVisible,onClose:()=>this.setState({projectStatsVisible:!1}),children:this.renderProjectStatsContent()}),S.jsxs(xi,{title:S.jsxs("span",{children:[S.jsx(A5,{style:{marginRight:8}}),me("ui.pluginManagement")]}),open:this.state.pluginModalVisible,onCancel:()=>this.setState({pluginModalVisible:!1}),footer:S.jsxs("div",{style:{display:"flex",justifyContent:"space-between"},children:[S.jsx(gn,{icon:S.jsx(Mp,{}),onClick:this.handleAddPlugin,children:me("ui.plugins.add")}),S.jsx(gn,{icon:S.jsx(JX,{}),onClick:this.handleReloadPlugins,children:me("ui.plugins.reload")})]}),width:560,children:[this.state.pluginsDir&&S.jsxs("div",{className:fe.pluginDirHint,children:[S.jsxs("span",{style:{color:"#888"},children:[me("ui.plugins.pluginsDir"),":"]})," ",S.jsx("code",{className:fe.pluginDirPath,onClick:()=>{navigator.clipboard.writeText(this.state.pluginsDir).then(()=>{ar.success(me("ui.copied"))}).catch(()=>{})},children:this.state.pluginsDir})]}),this.state.pluginsList.length===0?S.jsxs("div",{className:fe.pluginEmpty,children:[S.jsx("div",{style:{fontSize:14,marginBottom:4},children:me("ui.plugins.empty")}),S.jsx("div",{style:{fontSize:12,color:"#666",marginBottom:12},children:me("ui.plugins.emptyHint")}),S.jsx(gn,{icon:S.jsx(Mp,{}),onClick:this.handleAddPlugin,children:me("ui.plugins.add")})]}):S.jsx("div",{className:fe.pluginList,children:this.state.pluginsList.map(T=>S.jsxs("div",{className:fe.pluginItem,children:[S.jsxs("div",{className:fe.pluginInfo,children:[S.jsx("span",{className:fe.pluginName,children:T.name}),S.jsx("span",{className:fe.pluginFile,children:T.file}),T.hooks.length>0&&S.jsx("span",{className:fe.pluginHooks,children:T.hooks.map(O=>S.jsx("span",{className:fe.pluginHookTag,children:O},O))})]}),S.jsxs("div",{className:fe.pluginActions,children:[S.jsx(al,{size:"small",checked:T.enabled,onChange:O=>this.handleTogglePlugin(T.name,O)}),S.jsx(gn,{type:"text",size:"small",danger:!0,icon:S.jsx(Dp,{}),onClick:()=>this.handleDeletePlugin(T.file,T.name)})]})]},T.file))})]}),S.jsx(xi,{title:me("ui.plugins.delete"),open:this.state.deleteConfirmVisible,onCancel:()=>this.setState({deleteConfirmVisible:!1,deleteTarget:null}),onOk:this.handleDeletePluginConfirm,okType:"danger",okText:"OK",cancelText:"Cancel",children:S.jsx("p",{children:this.state.deleteTarget?me("ui.plugins.deleteConfirm",{name:this.state.deleteTarget.name}):""})})]})}};It(bu,"COMMAND_TAGS",new Set(["command-name","command-message","command-args","local-command-caveat","local-command-stdout"]));let q_=bu;const Pre="_centerEmpty_oxhcp_1",Lre="_scrollContainer_oxhcp_8",Are="_listItem_oxhcp_15",Bre="_listItemActive_oxhcp_27",Dre="_itemContent_oxhcp_36",zre="_itemHeader_oxhcp_41",jre="_tagNoMargin_oxhcp_49",Fre="_modelName_oxhcp_54",Hre="_time_oxhcp_58",Wre="_detailRow_oxhcp_64",Vre="_urlText_oxhcp_71",Kre="_duration_oxhcp_80",Ure="_statusOk_oxhcp_85",qre="_statusErr_oxhcp_91",Gre="_statusDefault_oxhcp_96",Xre="_usageBox_oxhcp_101",Yre="_cacheDot_oxhcp_111",Zre="_cacheDotLoss_oxhcp_120",Qre="_cacheDotNormal_oxhcp_125",Mr={centerEmpty:Pre,scrollContainer:Lre,listItem:Are,listItemActive:Bre,itemContent:Dre,itemHeader:zre,tagNoMargin:jre,modelName:Fre,time:Hre,detailRow:Wre,urlText:Vre,duration:Kre,statusOk:Ure,statusErr:qre,statusDefault:Gre,usageBox:Xre,cacheDot:Yre,cacheDotLoss:Zre,cacheDotNormal:Qre};class Jre extends te.Component{constructor(t){super(t),this.activeItemRef=te.createRef()}componentDidMount(){this.scrollToSelected(!0)}componentDidUpdate(t){this.props.scrollCenter&&t.selectedIndex!==this.props.selectedIndex?this.scrollToSelected(!0):t.requests!==this.props.requests&&this.scrollToSelected(!1)}scrollToSelected(t){this.activeItemRef.current&&(this.activeItemRef.current.scrollIntoView({block:t?"center":"nearest",behavior:"instant"}),t&&this.props.onScrollDone&&this.props.onScrollDone())}render(){const{requests:t,selectedIndex:n,onSelect:r}=this.props;return t.length===0?S.jsx("div",{className:Mr.centerEmpty,children:S.jsx(Ii,{description:me("ui.waitingRequests")})}):S.jsx("div",{className:Mr.scrollContainer,children:S.jsx(Lp,{dataSource:t,size:"small",split:!1,renderItem:(i,o)=>{var k,$,R;const s=new Date(i.timestamp).toLocaleTimeString("zh-CN"),a=o===n,l=i.response&&i.response.status<400,c=i.response&&i.response.status>=400,h=dte((k=i.body)==null?void 0:k.model),m=o+1<t.length?t[o+1]:null,{type:p,subType:g}=_l(i,m),v=(R=($=i.response)==null?void 0:$.body)==null?void 0:R.usage,_=v?(v.input_tokens||0)+(v.cache_read_input_tokens||0)+(v.cache_creation_input_tokens||0):null,b=(v==null?void 0:v.output_tokens)||null,C=(v==null?void 0:v.cache_read_input_tokens)||0,x=(v==null?void 0:v.cache_creation_input_tokens)||0;let w=i.url;try{const I=new URL(i.url);w=I.host+I.pathname}catch{}return S.jsx(Lp.Item,{ref:a?this.activeItemRef:void 0,onClick:()=>r(o),className:`${Mr.listItem} ${a?Mr.listItemActive:""}`,children:S.jsxs("div",{className:Mr.itemContent,children:[S.jsxs("div",{className:Mr.itemHeader,children:[p==="MainAgent"?S.jsx(xo,{color:"orange",className:Mr.tagNoMargin,children:"MainAgent"}):p==="Plan"?S.jsx(xo,{className:Mr.tagNoMargin,style:{color:"#a33",borderColor:"#a33",backgroundColor:"#000"},children:Vp(p,g)}):p==="Count"||p==="Preflight"?S.jsx(xo,{className:Mr.tagNoMargin,style:{color:"#666",borderColor:"#444",backgroundColor:"#000"},children:p}):S.jsx(xo,{className:Mr.tagNoMargin,children:Vp(p,g)}),h&&S.jsx("span",{className:Mr.modelName,style:{color:p==="MainAgent"?"#d4822d":"#8c8c8c"},children:h}),S.jsx("span",{className:Mr.time,children:s})]}),S.jsxs("div",{className:Mr.detailRow,children:[S.jsx("span",{className:Mr.urlText,title:i.url,children:w}),i.duration&&S.jsxs("span",{className:Mr.duration,children:[i.duration,"ms"]}),i.response&&S.jsx("span",{className:l?Mr.statusOk:c?Mr.statusErr:Mr.statusDefault,children:i.response.status})]}),v&&S.jsxs("div",{className:Mr.usageBox,children:[S.jsxs("div",{children:["token: output:",dr(b)||0,", input: ",dr(_)||0]}),(C>0||x>0)&&S.jsx("div",{children:(()=>{const I=U8(t,o),P={ttl:"ui.cacheLoss.ttl",system_change:"ui.cacheLoss.systemChange",tools_change:"ui.cacheLoss.toolsChange",model_change:"ui.cacheLoss.modelChange",msg_truncated:"ui.cacheLoss.msgTruncated",msg_modified:"ui.cacheLoss.msgModified",key_change:"ui.cacheLoss.keyChange"};let M;if(I){const F=(I.reasons||[I.reason]).map(T=>me(P[T]||P.key_change)).join(`
492
+ `)}renderProjectStatsContent(){const{projectStats:n,projectStatsLoading:r}=this.state;if(r)return S.jsx("div",{className:fe.projectStatsCenter,children:S.jsx(ks,{})});if(!n)return S.jsx("div",{className:fe.projectStatsEmpty,children:me("ui.projectStats.noData")});const{summary:i,models:o,updatedAt:s}=n;o&&Object.entries(o).sort((c,h)=>h[1]-c[1]);const a={};if(n.files){for(const c of Object.values(n.files))if(c.models)for(const[h,m]of Object.entries(c.models))a[h]||(a[h]={input:0,output:0,cacheRead:0,cacheCreation:0,count:0}),a[h].input+=m.input_tokens||0,a[h].output+=m.output_tokens||0,a[h].cacheRead+=m.cache_read_input_tokens||0,a[h].cacheCreation+=m.cache_creation_input_tokens||0,a[h].count+=m.count||0}const l=Object.entries(a).sort((c,h)=>h[1].count-c[1].count);return S.jsxs("div",{className:fe.projectStatsContent,children:[s&&S.jsx("div",{className:fe.projectStatsUpdated,children:me("ui.projectStats.updatedAt",{time:new Date(s).toLocaleString()})}),S.jsxs("div",{className:fe.projectStatsSummary,children:[S.jsxs("div",{className:fe.projectStatCard,children:[S.jsx("div",{className:fe.projectStatValue,children:(i==null?void 0:i.requestCount)??0}),S.jsx("div",{className:fe.projectStatLabel,children:me("ui.projectStats.totalRequests")})]}),S.jsxs("div",{className:fe.projectStatCard,children:[S.jsx("div",{className:fe.projectStatValue,children:(i==null?void 0:i.sessionCount)??0}),S.jsx("div",{className:fe.projectStatLabel,children:me("ui.projectStats.sessionCount")})]}),S.jsxs("div",{className:fe.projectStatCard,children:[S.jsx("div",{className:fe.projectStatValue,children:(i==null?void 0:i.fileCount)??0}),S.jsx("div",{className:fe.projectStatLabel,children:me("ui.projectStats.totalFiles")})]}),S.jsxs("div",{className:fe.projectStatCard,children:[S.jsx("div",{className:fe.projectStatValue,children:dr(i==null?void 0:i.input_tokens)}),S.jsx("div",{className:fe.projectStatLabel,children:"Input Tokens"})]}),S.jsxs("div",{className:fe.projectStatCard,children:[S.jsx("div",{className:fe.projectStatValue,children:dr(i==null?void 0:i.output_tokens)}),S.jsx("div",{className:fe.projectStatLabel,children:"Output Tokens"})]})]}),l.length>0&&S.jsxs("div",{className:fe.projectStatsSection,children:[S.jsx("div",{className:fe.projectStatsSectionTitle,children:me("ui.projectStats.modelUsage")}),l.map(([c,h])=>{const m=h.input+h.cacheRead+h.cacheCreation,p=m>0?(h.cacheRead/m*100).toFixed(1):"0.0";return S.jsxs("div",{className:fe.projectStatsModelCard,children:[S.jsxs("div",{className:fe.projectStatsModelHeader,children:[S.jsx("span",{className:fe.projectStatsModelName,children:c}),S.jsxs("span",{className:fe.projectStatsModelCount,children:[h.count," reqs"]})]}),S.jsx("table",{className:fe.statsTable,children:S.jsxs("tbody",{children:[S.jsxs("tr",{children:[S.jsx("td",{className:fe.label,children:"Token"}),S.jsx("td",{className:fe.th,children:"input"}),S.jsx("td",{className:fe.th,children:"output"})]}),S.jsxs("tr",{className:fe.rowBorder,children:[S.jsx("td",{className:fe.label}),S.jsx("td",{className:fe.td,children:dr(m)}),S.jsx("td",{className:fe.td,children:dr(h.output)})]}),S.jsxs("tr",{children:[S.jsx("td",{className:fe.label,children:"Cache"}),S.jsx("td",{className:fe.th,children:"create"}),S.jsx("td",{className:fe.th,children:"read"})]}),S.jsxs("tr",{className:fe.rowBorder,children:[S.jsx("td",{className:fe.label}),S.jsx("td",{className:fe.td,children:dr(h.cacheCreation)}),S.jsx("td",{className:fe.td,children:dr(h.cacheRead)})]}),S.jsxs("tr",{children:[S.jsx("td",{className:fe.label,children:me("ui.hitRate")}),S.jsxs("td",{colSpan:2,className:fe.td,children:[p,"%"]})]})]})})]},c)})]})]})}render(){const{requestCount:n,requests:r=[],viewMode:i,cacheType:o,onToggleViewMode:s,onImportLocalLogs:a,onLangChange:l,isLocalLog:c,localLogFile:h,projectName:m,collapseToolResults:p,onCollapseToolResultsChange:g,expandThinking:v,onExpandThinkingChange:_,expandDiff:b,onExpandDiffChange:C,filterIrrelevant:x,onFilterIrrelevantChange:w,updateInfo:k,onDismissUpdate:$,cliMode:R,terminalVisible:I,onToggleTerminal:P,onReturnToWorkspaces:M}=this.props,{countdownText:z}=this.state,F=[{key:"import-local",icon:S.jsx(D5,{}),label:me("ui.importLocalLogs"),onClick:a},{key:"export-prompts",icon:S.jsx(Aee,{}),label:me("ui.exportPrompts"),onClick:this.handleShowPrompts},{key:"plugin-management",icon:S.jsx(A5,{}),label:me("ui.pluginManagement"),onClick:this.handleShowPlugins},...R&&M?[{key:"switch-workspace",icon:S.jsx(D5,{style:{transform:"scaleX(-1)"}}),label:me("ui.switchWorkspace"),onClick:M}]:[],{type:"divider"},{key:"project-stats",icon:S.jsx(B5,{}),label:me("ui.projectStats"),onClick:this.handleShowProjectStats},...i==="raw"?[{key:"global-settings",icon:S.jsx(z5,{}),label:me("ui.globalSettings"),onClick:()=>this.setState({globalSettingsVisible:!0})}]:[],...i==="chat"?[{key:"display-settings",icon:S.jsx(z5,{}),label:me("ui.settings"),onClick:()=>this.setState({settingsDrawerVisible:!0})}]:[],{key:"language",icon:S.jsx(zee,{}),label:me("ui.languageSettings"),children:[{key:"lang-grid-container",type:"group",label:S.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"8px",padding:"8px 4px",minWidth:"360px",maxHeight:"none"},children:Mre.map(T=>S.jsx(gn,{size:"small",type:T.value===Oh()?"primary":"default",onClick:O=>{O.stopPropagation(),uC(T.value),l&&l()},style:{width:"100%",textAlign:"center"},children:T.label},T.value))})}]}];return S.jsxs("div",{className:fe.headerBar,children:[S.jsxs(Fs,{size:"middle",children:[S.jsx(Gg,{menu:{items:F},trigger:["hover"],children:S.jsxs(Ire,{strong:!0,className:fe.titleText,children:[S.jsx("img",{src:"/favicon.ico",alt:"Logo",className:fe.logoImage}),"CC-Viewer ",S.jsx(js,{className:fe.titleArrow})]})}),S.jsx(lh,{content:this.renderTokenStats(),trigger:"hover",placement:"bottomLeft",overlayInnerStyle:{background:"#1e1e1e",border:"1px solid #3a3a3a",borderRadius:8,padding:"8px 8px"},children:S.jsxs(xo,{className:fe.tokenStatsTag,children:[S.jsx(Nee,{className:fe.tokenStatsIcon}),me("ui.tokenStats")]})}),(()=>{const O=Date.now(),N=c?[]:(r||[]).filter(K=>!K.response&&O-new Date(K.timestamp).getTime()<3e5),A=N.length>0,B=c?null:A?S.jsxs("svg",{className:fe.liveSpinner,width:"10",height:"10",viewBox:"0 0 10 10",children:[S.jsx("line",{x1:"5",y1:"1",x2:"5",y2:"9",stroke:"#52c41a",strokeWidth:"1.5",strokeLinecap:"round"}),S.jsx("line",{x1:"1",y1:"5",x2:"9",y2:"5",stroke:"#52c41a",strokeWidth:"1.5",strokeLinecap:"round"}),S.jsx("line",{x1:"2.2",y1:"2.2",x2:"7.8",y2:"7.8",stroke:"#52c41a",strokeWidth:"1.5",strokeLinecap:"round",className:fe.liveSpinnerDiag}),S.jsx("line",{x1:"7.8",y1:"2.2",x2:"2.2",y2:"7.8",stroke:"#52c41a",strokeWidth:"1.5",strokeLinecap:"round",className:fe.liveSpinnerDiag})]}):S.jsx(OS,{status:"processing",color:"green"}),D=!c&&!A,j=B&&S.jsx("span",{className:fe.liveDotWrap,children:D?S.jsx(Zs,{title:me("ui.noInflightRequests"),placement:"bottom",children:B}):B}),W=S.jsxs(xo,{color:c?void 0:"green",className:`${fe.liveTag} ${c?fe.liveTagHistory:""}`,children:[j,S.jsx("span",{className:fe.liveTagText,children:c?me("ui.historyLog",{file:h}):me("ui.liveMonitoring")+(m?`:${m}`:"")})]});if(A){const K=S.jsx("div",{className:fe.inflightList,children:N.map((V,U)=>{var re;const q=_l(V),Y=Vp(q.type,q.subType),Z=((re=V.body)==null?void 0:re.model)||"",ee=Z.includes("-")?Z.split("-").slice(0,2).join("-"):Z,se=new Date(V.timestamp).toLocaleTimeString("zh-CN");return S.jsxs("div",{className:fe.inflightItem,children:[S.jsx("span",{className:fe.inflightTag,children:Y}),S.jsx("span",{className:fe.inflightModel,children:ee}),S.jsx("span",{className:fe.inflightTime,children:se})]},U)})});return S.jsx(lh,{content:K,title:me("ui.inflightRequests"),placement:"bottom",children:W})}return W})(),k&&S.jsx(xo,{color:k.type==="completed"?"green":"orange",closable:!0,onClose:()=>$&&$(),children:k.type==="completed"?me("ui.update.completed",{version:k.version}):me("ui.update.majorAvailable",{version:k.version})})]}),S.jsxs(Fs,{size:"middle",children:[z&&S.jsxs(xo,{color:z===me("ui.cacheExpired")?"red":"green",children:[me("ui.cacheCountdown",{type:o?`(${o})`:""}),S.jsx("strong",{className:fe.countdownStrong,children:z})]}),i==="chat"&&R&&!c&&this.state.localUrl&&S.jsx(lh,{content:S.jsxs("div",{className:fe.qrcodePopover,children:[S.jsx("div",{className:fe.qrcodeTitle,children:me("ui.scanToCoding")}),S.jsx(V8,{value:this.state.localUrl,size:200,bgColor:"#141414",fgColor:"#d9d9d9",level:"M"}),S.jsx(mc,{readOnly:!0,value:this.state.localUrl,className:fe.qrcodeUrlInput,suffix:S.jsx(dh,{className:fe.qrcodeUrlCopy,onClick:()=>{navigator.clipboard.writeText(this.state.localUrl).then(()=>{ar.success(me("ui.copied"))}).catch(()=>{})}})})]}),trigger:"hover",placement:"bottomRight",overlayInnerStyle:{background:"#1e1e1e",border:"1px solid #3a3a3a",borderRadius:8,padding:"8px 8px"},children:S.jsx(gn,{icon:S.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{verticalAlign:"-3px"},children:[S.jsx("rect",{x:"5",y:"2",width:"14",height:"20",rx:"2",ry:"2"}),S.jsx("line",{x1:"12",y1:"18",x2:"12.01",y2:"18"})]})})}),R&&i==="chat"&&!c&&S.jsx(gn,{type:I?"primary":"default",ghost:I,icon:S.jsx(np,{}),onClick:P,children:me("ui.terminal")}),S.jsx(gn,{type:i==="raw"?"primary":"default",icon:i==="raw"?S.jsx(M8,{}):S.jsx(ep,{}),onClick:s,children:me(i==="raw"?"ui.chatMode":"ui.rawMode")})]}),S.jsxs(xi,{title:`${me("ui.userPrompt")} (${this.state.promptData.length}${me("ui.promptCountUnit")})`,open:this.state.promptModalVisible,onCancel:()=>this.setState({promptModalVisible:!1}),footer:null,width:700,children:[S.jsx("div",{className:fe.promptExportBar,children:S.jsx(gn,{icon:S.jsx(N8,{}),onClick:this.handleExportPromptsTxt,children:me("ui.exportPromptsTxt")})}),S.jsx(qg,{activeKey:this.state.promptViewMode,onChange:T=>this.setState({promptViewMode:T}),size:"small",items:[{key:"original",label:me("ui.promptModeOriginal")},{key:"context",label:me("ui.promptModeContext")},{key:"text",label:me("ui.promptModeText")}]}),this.state.promptViewMode==="text"?S.jsx("textarea",{readOnly:!0,className:fe.promptTextarea,value:this.buildTextModeContent()}):S.jsxs("div",{className:fe.promptScrollArea,children:[this.state.promptData.length===0&&S.jsx("div",{className:fe.promptEmpty,children:me("ui.noPrompt")}),this.state.promptData.map((T,O)=>{const N=T.timestamp?new Date(T.timestamp).toLocaleString():me("ui.unknownTime");return S.jsxs("div",{children:[S.jsxs("div",{className:fe.promptTimestamp,children:[N,":"]}),this.state.promptViewMode==="original"?this.renderOriginalPrompt(T):this.renderTextPrompt(T)]},O)})]})]}),S.jsx(Jm,{title:me("ui.settings"),placement:"left",width:360,open:this.state.settingsDrawerVisible,onClose:()=>this.setState({settingsDrawerVisible:!1}),children:S.jsxs("div",{className:fe.settingsGroupBox,children:[S.jsx("div",{className:fe.settingsGroupTitle,children:me("ui.chatDisplaySwitches")}),S.jsxs("div",{className:fe.settingsItem,children:[S.jsx("span",{className:fe.settingsLabel,children:me("ui.collapseToolResults")}),S.jsx(al,{checked:!!p,onChange:T=>g&&g(T)})]}),S.jsxs("div",{className:fe.settingsItem,children:[S.jsx("span",{className:fe.settingsLabel,children:me("ui.expandThinking")}),S.jsx(al,{checked:!!v,onChange:T=>_&&_(T)})]})]})}),S.jsxs(Jm,{title:me("ui.globalSettings"),placement:"left",width:400,open:this.state.globalSettingsVisible,onClose:()=>this.setState({globalSettingsVisible:!1}),children:[S.jsxs("div",{className:fe.settingsItem,children:[S.jsx("span",{className:fe.settingsLabel,children:me("ui.filterIrrelevant")}),S.jsx(al,{checked:!!x,onChange:T=>w&&w(T)})]}),S.jsxs("div",{className:fe.settingsItem,children:[S.jsx("span",{className:fe.settingsLabel,children:me("ui.expandDiff")}),S.jsx(al,{checked:!!b,onChange:T=>C&&C(T)})]})]}),S.jsx(Jm,{title:S.jsxs("span",{children:[S.jsx(B5,{style:{marginRight:8}}),me("ui.projectStats")]}),placement:"left",width:400,open:this.state.projectStatsVisible,onClose:()=>this.setState({projectStatsVisible:!1}),children:this.renderProjectStatsContent()}),S.jsxs(xi,{title:S.jsxs("span",{children:[S.jsx(A5,{style:{marginRight:8}}),me("ui.pluginManagement")]}),open:this.state.pluginModalVisible,onCancel:()=>this.setState({pluginModalVisible:!1}),footer:S.jsxs("div",{style:{display:"flex",justifyContent:"space-between"},children:[S.jsx(gn,{icon:S.jsx(Mp,{}),onClick:this.handleAddPlugin,children:me("ui.plugins.add")}),S.jsx(gn,{icon:S.jsx(JX,{}),onClick:this.handleReloadPlugins,children:me("ui.plugins.reload")})]}),width:560,children:[this.state.pluginsDir&&S.jsxs("div",{className:fe.pluginDirHint,children:[S.jsxs("span",{style:{color:"#888"},children:[me("ui.plugins.pluginsDir"),":"]})," ",S.jsx("code",{className:fe.pluginDirPath,onClick:()=>{navigator.clipboard.writeText(this.state.pluginsDir).then(()=>{ar.success(me("ui.copied"))}).catch(()=>{})},children:this.state.pluginsDir})]}),this.state.pluginsList.length===0?S.jsxs("div",{className:fe.pluginEmpty,children:[S.jsx("div",{style:{fontSize:14,marginBottom:4},children:me("ui.plugins.empty")}),S.jsx("div",{style:{fontSize:12,color:"#666",marginBottom:12},children:me("ui.plugins.emptyHint")}),S.jsx(gn,{icon:S.jsx(Mp,{}),onClick:this.handleAddPlugin,children:me("ui.plugins.add")})]}):S.jsx("div",{className:fe.pluginList,children:this.state.pluginsList.map(T=>S.jsxs("div",{className:fe.pluginItem,children:[S.jsxs("div",{className:fe.pluginInfo,children:[S.jsx("span",{className:fe.pluginName,children:T.name}),S.jsx("span",{className:fe.pluginFile,children:T.file}),T.hooks.length>0&&S.jsx("span",{className:fe.pluginHooks,children:T.hooks.map(O=>S.jsx("span",{className:fe.pluginHookTag,children:O},O))})]}),S.jsxs("div",{className:fe.pluginActions,children:[S.jsx(al,{size:"small",checked:T.enabled,onChange:O=>this.handleTogglePlugin(T.name,O)}),S.jsx(gn,{type:"text",size:"small",danger:!0,icon:S.jsx(Dp,{}),onClick:()=>this.handleDeletePlugin(T.file,T.name)})]})]},T.file))})]}),S.jsx(xi,{title:me("ui.plugins.delete"),open:this.state.deleteConfirmVisible,onCancel:()=>this.setState({deleteConfirmVisible:!1,deleteTarget:null}),onOk:this.handleDeletePluginConfirm,okType:"danger",okText:"OK",cancelText:"Cancel",children:S.jsx("p",{children:this.state.deleteTarget?me("ui.plugins.deleteConfirm",{name:this.state.deleteTarget.name}):""})})]})}};It(bu,"COMMAND_TAGS",new Set(["command-name","command-message","command-args","local-command-caveat","local-command-stdout"]));let q_=bu;const Pre="_centerEmpty_oxhcp_1",Lre="_scrollContainer_oxhcp_8",Are="_listItem_oxhcp_15",Bre="_listItemActive_oxhcp_27",Dre="_itemContent_oxhcp_36",zre="_itemHeader_oxhcp_41",jre="_tagNoMargin_oxhcp_49",Fre="_modelName_oxhcp_54",Hre="_time_oxhcp_58",Wre="_detailRow_oxhcp_64",Vre="_urlText_oxhcp_71",Kre="_duration_oxhcp_80",Ure="_statusOk_oxhcp_85",qre="_statusErr_oxhcp_91",Gre="_statusDefault_oxhcp_96",Xre="_usageBox_oxhcp_101",Yre="_cacheDot_oxhcp_111",Zre="_cacheDotLoss_oxhcp_120",Qre="_cacheDotNormal_oxhcp_125",Mr={centerEmpty:Pre,scrollContainer:Lre,listItem:Are,listItemActive:Bre,itemContent:Dre,itemHeader:zre,tagNoMargin:jre,modelName:Fre,time:Hre,detailRow:Wre,urlText:Vre,duration:Kre,statusOk:Ure,statusErr:qre,statusDefault:Gre,usageBox:Xre,cacheDot:Yre,cacheDotLoss:Zre,cacheDotNormal:Qre};class Jre extends te.Component{constructor(t){super(t),this.activeItemRef=te.createRef()}componentDidMount(){this.scrollToSelected(!0)}componentDidUpdate(t){this.props.scrollCenter&&t.selectedIndex!==this.props.selectedIndex?this.scrollToSelected(!0):t.requests!==this.props.requests&&this.scrollToSelected(!1)}scrollToSelected(t){this.activeItemRef.current&&(this.activeItemRef.current.scrollIntoView({block:t?"center":"nearest",behavior:"instant"}),t&&this.props.onScrollDone&&this.props.onScrollDone())}render(){const{requests:t,selectedIndex:n,onSelect:r}=this.props;return t.length===0?S.jsx("div",{className:Mr.centerEmpty,children:S.jsx(Ii,{description:me("ui.waitingRequests")})}):S.jsx("div",{className:Mr.scrollContainer,children:S.jsx(Lp,{dataSource:t,size:"small",split:!1,renderItem:(i,o)=>{var k,$,R;const s=new Date(i.timestamp).toLocaleTimeString("zh-CN"),a=o===n,l=i.response&&i.response.status<400,c=i.response&&i.response.status>=400,h=dte((k=i.body)==null?void 0:k.model),m=o+1<t.length?t[o+1]:null,{type:p,subType:g}=_l(i,m),v=(R=($=i.response)==null?void 0:$.body)==null?void 0:R.usage,_=v?(v.input_tokens||0)+(v.cache_read_input_tokens||0)+(v.cache_creation_input_tokens||0):null,b=(v==null?void 0:v.output_tokens)||null,C=(v==null?void 0:v.cache_read_input_tokens)||0,x=(v==null?void 0:v.cache_creation_input_tokens)||0;let w=i.url;try{const I=new URL(i.url);w=I.host+I.pathname}catch{}return S.jsx(Lp.Item,{ref:a?this.activeItemRef:void 0,onClick:()=>r(o),className:`${Mr.listItem} ${a?Mr.listItemActive:""}`,children:S.jsxs("div",{className:Mr.itemContent,children:[S.jsxs("div",{className:Mr.itemHeader,children:[p==="MainAgent"?S.jsx(xo,{color:"orange",className:Mr.tagNoMargin,children:"MainAgent"}):p==="Plan"?S.jsx(xo,{className:Mr.tagNoMargin,style:{color:"#a33",borderColor:"#a33",backgroundColor:"#000"},children:Vp(p,g)}):p==="Count"||p==="Preflight"?S.jsx(xo,{className:Mr.tagNoMargin,style:{color:"#666",borderColor:"#444",backgroundColor:"#000"},children:p}):S.jsx(xo,{className:Mr.tagNoMargin,children:Vp(p,g)}),h&&S.jsx("span",{className:Mr.modelName,style:{color:p==="MainAgent"?"#d4822d":"#8c8c8c"},children:h}),S.jsx("span",{className:Mr.time,children:s})]}),S.jsxs("div",{className:Mr.detailRow,children:[S.jsx("span",{className:Mr.urlText,title:i.url,children:w}),i.duration&&S.jsxs("span",{className:Mr.duration,children:[i.duration,"ms"]}),i.response&&S.jsx("span",{className:l?Mr.statusOk:c?Mr.statusErr:Mr.statusDefault,children:i.response.status})]}),v&&S.jsxs("div",{className:Mr.usageBox,children:[S.jsxs("div",{children:["token: output:",dr(b)||0,", input: ",dr(_)||0]}),(C>0||x>0)&&S.jsx("div",{children:(()=>{const I=U8(t,o),P={ttl:"ui.cacheLoss.ttl",system_change:"ui.cacheLoss.systemChange",tools_change:"ui.cacheLoss.toolsChange",model_change:"ui.cacheLoss.modelChange",msg_truncated:"ui.cacheLoss.msgTruncated",msg_modified:"ui.cacheLoss.msgModified",key_change:"ui.cacheLoss.keyChange"};let M;if(I){const F=(I.reasons||[I.reason]).map(T=>me(P[T]||P.key_change)).join(`
493
493
  `);M=S.jsx(Zs,{title:S.jsx("span",{style:{whiteSpace:"pre-line"},children:F}),children:S.jsx("span",{className:`${Mr.cacheDot} ${Mr.cacheDotLoss}`})})}else M=S.jsx("span",{className:`${Mr.cacheDot} ${Mr.cacheDotNormal}`});return S.jsxs(S.Fragment,{children:["cache",M,": ",C>0?`read:${dr(C)}`:"",C>0&&x>0?", ":"",x>0?`create:${dr(x)}`:""]})})()})]})]})})}})})}}const eie=e=>typeof e=="boolean"||e instanceof Boolean,tie=e=>typeof e=="number"||e instanceof Number,nie=e=>typeof e=="bigint"||e instanceof BigInt,cN=e=>!!e&&e instanceof Date,rie=e=>typeof e=="string"||e instanceof String,iie=e=>Array.isArray(e),uN=e=>typeof e=="object"&&e!==null,dN=e=>!!e&&e instanceof Object&&typeof e=="function";function Gp(e,t){return t===void 0&&(t=!1),!e||t?`"${e}"`:e}function oie(e,t,n){return n?JSON.stringify(e):t?`"${e}"`:e}function hN(e){let{field:t,value:n,data:r,lastElement:i,openBracket:o,closeBracket:s,level:a,style:l,shouldExpandNode:c,clickToExpandNode:h,outerRef:m,beforeExpandChange:p}=e;const g=d.useRef(!1),[v,_]=d.useState(()=>c(a,n,t)),b=d.useRef(null);d.useEffect(()=>{g.current?_(c(a,n,t)):g.current=!0},[c]);const C=d.useId();if(r.length===0)return sie({field:t,openBracket:o,closeBracket:s,lastElement:i,style:l});const x=v?l.collapseIcon:l.expandIcon,w=v?l.ariaLables.collapseJson:l.ariaLables.expandJson,k=a+1,$=r.length-1,R=M=>{v!==M&&(!p||p({level:a,value:n,field:t,newExpandValue:M}))&&_(M)},I=M=>{if(M.key==="ArrowRight"||M.key==="ArrowLeft")M.preventDefault(),R(M.key==="ArrowRight");else if(M.key==="ArrowUp"||M.key==="ArrowDown"){M.preventDefault();const z=M.key==="ArrowUp"?-1:1;if(!m.current)return;const F=m.current.querySelectorAll("[role=button]");let T=-1;for(let N=0;N<F.length;N++)if(F[N].tabIndex===0){T=N;break}if(T<0)return;const O=(T+z+F.length)%F.length;F[T].tabIndex=-1,F[O].tabIndex=0,F[O].focus()}},P=()=>{var M;R(!v);const z=b.current;if(!z)return;const F=(M=m.current)===null||M===void 0?void 0:M.querySelector('[role=button][tabindex="0"]');F&&(F.tabIndex=-1),z.tabIndex=0,z.focus()};return d.createElement("div",{className:l.basicChildStyle,role:"treeitem","aria-expanded":v,"aria-selected":void 0},d.createElement("span",{className:x,onClick:P,onKeyDown:I,role:"button","aria-label":w,"aria-expanded":v,"aria-controls":v?C:void 0,ref:b,tabIndex:a===0?0:-1}),(t||t==="")&&(h?d.createElement("span",{className:l.clickableLabel,onClick:P,onKeyDown:I},Gp(t,l.quotesForFieldNames),":"):d.createElement("span",{className:l.label},Gp(t,l.quotesForFieldNames),":")),d.createElement("span",{className:l.punctuation},o),v?d.createElement("ul",{id:C,role:"group",className:l.childFieldsContainer},r.map((M,z)=>d.createElement(G_,{key:M[0]||z,field:M[0],value:M[1],style:l,lastElement:z===$,level:k,shouldExpandNode:c,clickToExpandNode:h,beforeExpandChange:p,outerRef:m}))):d.createElement("span",{className:l.collapsedContent,onClick:P,onKeyDown:I}),d.createElement("span",{className:l.punctuation},s),!i&&d.createElement("span",{className:l.punctuation},","))}function sie(e){let{field:t,openBracket:n,closeBracket:r,lastElement:i,style:o}=e;return d.createElement("div",{className:o.basicChildStyle,role:"treeitem","aria-selected":void 0},(t||t==="")&&d.createElement("span",{className:o.label},Gp(t,o.quotesForFieldNames),":"),d.createElement("span",{className:o.punctuation},n),d.createElement("span",{className:o.punctuation},r),!i&&d.createElement("span",{className:o.punctuation},","))}function aie(e){let{field:t,value:n,style:r,lastElement:i,shouldExpandNode:o,clickToExpandNode:s,level:a,outerRef:l,beforeExpandChange:c}=e;return hN({field:t,value:n,lastElement:i||!1,level:a,openBracket:"{",closeBracket:"}",style:r,shouldExpandNode:o,clickToExpandNode:s,data:Object.keys(n).map(h=>[h,n[h]]),outerRef:l,beforeExpandChange:c})}function lie(e){let{field:t,value:n,style:r,lastElement:i,level:o,shouldExpandNode:s,clickToExpandNode:a,outerRef:l,beforeExpandChange:c}=e;return hN({field:t,value:n,lastElement:i||!1,level:o,openBracket:"[",closeBracket:"]",style:r,shouldExpandNode:s,clickToExpandNode:a,data:n.map(h=>[void 0,h]),outerRef:l,beforeExpandChange:c})}function cie(e){let{field:t,value:n,style:r,lastElement:i}=e,o,s=r.otherValue;return n===null?(o="null",s=r.nullValue):n===void 0?(o="undefined",s=r.undefinedValue):rie(n)?(o=oie(n,!r.noQuotesForStringValues,r.stringifyStringValues),s=r.stringValue):eie(n)?(o=n?"true":"false",s=r.booleanValue):tie(n)?(o=n.toString(),s=r.numberValue):nie(n)?(o=`${n.toString()}n`,s=r.numberValue):cN(n)?o=n.toISOString():dN(n)?o="function() { }":o=n.toString(),d.createElement("div",{className:r.basicChildStyle,role:"treeitem","aria-selected":void 0},(t||t==="")&&d.createElement("span",{className:r.label},Gp(t,r.quotesForFieldNames),":"),d.createElement("span",{className:s},o),!i&&d.createElement("span",{className:r.punctuation},","))}function G_(e){const t=e.value;return iie(t)?d.createElement(lie,Object.assign({},e)):uN(t)&&!cN(t)&&!dN(t)?d.createElement(aie,Object.assign({},e)):d.createElement(cie,Object.assign({},e))}var er={"container-light":"_2IvMF _GzYRV","basic-element-style":"_2bkNM","child-fields-container":"_1BXBN","label-light":"_1MGIk","clickable-label-light":"_2YKJg _1MGIk _1MFti","punctuation-light":"_3uHL6 _3eOF8","value-null-light":"_2T6PJ","value-undefined-light":"_1Gho6","value-string-light":"_vGjyY","value-number-light":"_1bQdo","value-boolean-light":"_3zQKs","value-other-light":"_1xvuR","collapse-icon-light":"_oLqym _f10Tu _1MFti _1LId0","expand-icon-light":"_2AXVT _f10Tu _1MFti _1UmXx","collapsed-content-light":"_2KJWg _1pNG9 _1MFti","container-dark":"_11RoI _GzYRV","expand-icon-dark":"_17H2C _f10Tu _1MFti _1UmXx","collapse-icon-dark":"_3QHg2 _f10Tu _1MFti _1LId0","collapsed-content-dark":"_3fDAz _1pNG9 _1MFti","label-dark":"_2bSDX","clickable-label-dark":"_1RQEj _2bSDX _1MFti","punctuation-dark":"_gsbQL _3eOF8","value-null-dark":"_LaAZe","value-undefined-dark":"_GTKgm","value-string-dark":"_Chy1W","value-number-dark":"_2bveF","value-boolean-dark":"_2vRm-","value-other-dark":"_1prJR"};const fN={collapseJson:"collapse JSON",expandJson:"expand JSON"},F1={container:er["container-light"],basicChildStyle:er["basic-element-style"],childFieldsContainer:er["child-fields-container"],label:er["label-light"],clickableLabel:er["clickable-label-light"],nullValue:er["value-null-light"],undefinedValue:er["value-undefined-light"],stringValue:er["value-string-light"],booleanValue:er["value-boolean-light"],numberValue:er["value-number-light"],otherValue:er["value-other-light"],punctuation:er["punctuation-light"],collapseIcon:er["collapse-icon-light"],expandIcon:er["expand-icon-light"],collapsedContent:er["collapsed-content-light"],noQuotesForStringValues:!1,quotesForFieldNames:!1,ariaLables:fN,stringifyStringValues:!1},uie={container:er["container-dark"],basicChildStyle:er["basic-element-style"],childFieldsContainer:er["child-fields-container"],label:er["label-dark"],clickableLabel:er["clickable-label-dark"],nullValue:er["value-null-dark"],undefinedValue:er["value-undefined-dark"],stringValue:er["value-string-dark"],booleanValue:er["value-boolean-dark"],numberValue:er["value-number-dark"],otherValue:er["value-other-dark"],punctuation:er["punctuation-dark"],collapseIcon:er["collapse-icon-dark"],expandIcon:er["expand-icon-dark"],collapsedContent:er["collapsed-content-dark"],noQuotesForStringValues:!1,quotesForFieldNames:!1,ariaLables:fN,stringifyStringValues:!1},die=()=>!0,hie=e=>{let{data:t,style:n=F1,shouldExpandNode:r=die,clickToExpandNode:i=!1,beforeExpandChange:o,compactTopLevel:s,...a}=e;const l=d.useRef(null);return d.createElement("div",Object.assign({"aria-label":"JSON view"},a,{className:n.container,ref:l,role:"tree"}),s&&uN(t)?Object.entries(t).map(c=>{let[h,m]=c;return d.createElement(G_,{key:h,field:h,value:m,style:{...F1,...n},lastElement:!0,level:1,shouldExpandNode:r,clickToExpandNode:i,beforeExpandChange:o,outerRef:l})}):d.createElement(G_,{value:t,style:{...F1,...n},lastElement:!0,level:0,shouldExpandNode:r,clickToExpandNode:i,outerRef:l,beforeExpandChange:o}))},fie="_container_1h2lr_1",mie={container:fie},pie={...uie,container:"rjv-container"};class Xp extends te.Component{shouldComponentUpdate(t){return t.data!==this.props.data||t.defaultExpand!==this.props.defaultExpand||t.expandNode!==this.props.expandNode}render(){const{data:t,defaultExpand:n,expandNode:r}=this.props;if(t==null)return null;const i=typeof r=="function"?r:n==="all"?()=>!0:n==="root"?o=>o<2:o=>o<1;return S.jsx("div",{className:mie.container,children:S.jsx(hie,{data:t,shouldExpandNode:i,style:pie})})}}const gie="_tag_17wfp_1",vie="_tagActive_17wfp_22",bie="_tagLoading_17wfp_27",_ie="_spinner_17wfp_32",xm={tag:gie,tagActive:vie,tagLoading:bie,spinner:_ie};function yC({text:e,onTranslated:t}){const[n,r]=d.useState("idle"),i=d.useRef(null),o=d.useCallback(a=>{if(a.stopPropagation(),n==="loading")return;if(n==="done"){r("idle"),t==null||t(null);return}if(i.current){r("done"),t==null||t(i.current);return}r("loading");const l=window.location.port||"7008",c=`${window.location.protocol}//${window.location.hostname}:${l}`;fetch(`${c}/api/translate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:e,to:Oh()})}).then(h=>{if(!h.ok)throw new Error(`HTTP ${h.status}`);return h.json()}).then(h=>{const m=h.text||"";i.current=m,r("done"),t==null||t(m)}).catch(()=>{r("idle")})},[n,e,t]),s=me(n==="loading"?"ui.translating":"ui.translate");return S.jsxs("span",{className:`${xm.tag} ${n==="done"?xm.tagActive:""} ${n==="loading"?xm.tagLoading:""}`,onClick:o,children:[n==="loading"&&S.jsx("span",{className:xm.spinner}),s]})}const yie="_root_1bepf_1",Sie="_sidebar_1bepf_9",Cie="_section_1bepf_18",xie="_sectionHeader_1bepf_22",wie="_arrow_1bepf_38",Eie="_sectionTitle_1bepf_44",kie="_sectionCount_1bepf_52",$ie="_sectionBody_1bepf_61",Rie="_historyToggle_1bepf_66",Tie="_historyToggleLabel_1bepf_82",Nie="_item_1bepf_87",Oie="_itemActive_1bepf_103",Mie="_itemContent_1bepf_113",Iie="_itemLabel_1bepf_119",Pie="_itemSublabel_1bepf_127",Lie="_itemTime_1bepf_136",Aie="_content_1bepf_145",Bie="_contentEmpty_1bepf_153",Die="_contentInner_1bepf_160",zie="_emptyWrap_1bepf_164",jie="_roleHeader_1bepf_172",Fie="_roleBadge_1bepf_180",Hie="_role_user_1bepf_189",Wie="_role_assistant_1bepf_195",Vie="_roleLabel_1bepf_201",Kie="_contentTime_1bepf_208",Uie="_turnDivider_1bepf_216",qie="_textBlock_1bepf_223",Gie="_textBlockBar_1bepf_230",Xie="_textBlockBody_1bepf_239",Yie="_textBlockCompact_1bepf_247",Zie="_textBlockCompactFloat_1bepf_254",Qie="_thinkingBlock_1bepf_261",Jie="_thinkingHeader_1bepf_269",eoe="_thinkingPreview_1bepf_284",toe="_thinkingBody_1bepf_294",noe="_toolBlock_1bepf_300",roe="_toolBlockResult_1bepf_307",ioe="_toolBlockError_1bepf_311",ooe="_toolBlockHeader_1bepf_315",soe="_toolBlockBody_1bepf_326",aoe="_toolName_1bepf_331",loe="_toolId_1bepf_337",coe="_errorLabel_1bepf_344",uoe="_blockTag_1bepf_354",doe="_blockTagText_1bepf_367",hoe="_blockTagThinking_1bepf_373",foe="_blockTagResult_1bepf_379",moe="_blockTagError_1bepf_385",poe="_jsonBlock_1bepf_392",goe="_jsonBlockLabel_1bepf_399",voe="_blockSeparator_1bepf_409",boe="_markdownBody_1bepf_416",Pt={root:yie,sidebar:Sie,section:Cie,sectionHeader:xie,arrow:wie,sectionTitle:Eie,sectionCount:kie,sectionBody:$ie,historyToggle:Rie,historyToggleLabel:Tie,item:Nie,itemActive:Oie,itemContent:Mie,itemLabel:Iie,itemSublabel:Pie,itemTime:Lie,content:Aie,contentEmpty:Bie,contentInner:Die,emptyWrap:zie,roleHeader:jie,roleBadge:Fie,role_user:Hie,role_assistant:Wie,roleLabel:Vie,contentTime:Kie,turnDivider:Uie,textBlock:qie,textBlockBar:Gie,textBlockBody:Xie,textBlockCompact:Yie,textBlockCompactFloat:Zie,thinkingBlock:Qie,thinkingHeader:Jie,thinkingPreview:eoe,thinkingBody:toe,toolBlock:noe,toolBlockResult:roe,toolBlockError:ioe,toolBlockHeader:ooe,toolBlockBody:soe,toolName:aoe,toolId:loe,errorLabel:coe,blockTag:uoe,blockTagText:doe,blockTagThinking:hoe,blockTagResult:foe,blockTagError:moe,jsonBlock:poe,jsonBlockLabel:goe,blockSeparator:voe,markdownBody:boe},{Text:_oe}=ss;function X_(e){if(e==null)return[];if(typeof e=="string"){const t=e.trim();return t?[{type:"markdown",text:t}]:[]}if(Array.isArray(e)){const t=[];for(const n of e)if(n)if(n.type==="text"){const r=(n.text||"").trim();r&&t.push({type:"markdown",text:r})}else if(n.type==="tool_use")t.push({type:"tool_use",name:n.name||"unknown",id:n.id||"",input:n.input??{}});else if(n.type==="tool_result"){const r=yoe(n.content);t.push({type:"tool_result",tool_use_id:n.tool_use_id||"",is_error:n.is_error,content:r})}else if(n.type==="thinking"){const r=n.thinking||"";r.trim()&&t.push({type:"thinking",text:r})}else n.type==="image"?t.push({type:"json",label:"image",data:n}):t.push({type:"json",label:n.type||"block",data:n});return t}return[{type:"json",label:"content",data:e}]}function yoe(e){if(e==null)return[];if(typeof e=="string"){const t=e.trim();return t?[{type:"markdown",text:t}]:[]}return Array.isArray(e)?e.flatMap(t=>{if(!t)return[];if(t.type==="text"){const n=(t.text||"").trim();return n?[{type:"markdown",text:n}]:[]}return[{type:"json",label:t.type||"block",data:t}]}):[{type:"json",label:"content",data:e}]}function Soe(e){if(!e)return null;if(typeof e=="string")return[{type:"markdown",text:e}];if(Array.isArray(e)){const t=[];return e.forEach((n,r)=>{r>0&&t.push({type:"separator"}),n&&(typeof n=="string"?t.push({type:"markdown",text:n}):n.type==="text"?t.push({type:"markdown",text:n.text||""}):t.push({type:"json",label:n.type||"item",data:n}))}),t}return[{type:"json",label:"system",data:e}]}function Coe(e){const t=[],n=(e==null?void 0:e.name)||"unknown",r=(e==null?void 0:e.description)||"";let i=`### ${n}
494
494
 
495
495
  `;r&&(i+=`${r}
@@ -499,7 +499,7 @@ Please report this to https://github.com/markedjs/marked.`,t){let i="<p>An error
499
499
  `))&&(n=n.trim())):r.ignoreNewlineAtEof&&!r.newlineIsToken&&(t.endsWith(`
500
500
  `)&&(t=t.slice(0,-1)),n.endsWith(`
501
501
  `)&&(n=n.slice(0,-1))),super.equals(t,n,r)}}const hse=new dse;function mN(e,t,n){return hse.diff(e,t,n)}function fse(e,t){t.stripTrailingCr&&(e=e.replace(/\r\n/g,`
502
- `));const n=[],r=e.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(let i=0;i<r.length;i++){const o=r[i];i%2&&!t.newlineIsToken?n[n.length-1]+=o:n.push(o)}return n}const mse="_wrapper_1ovxs_1",pse="_header_1ovxs_9",gse="_headerRight_1ovxs_16",vse="_filePath_1ovxs_22",bse="_toggle_1ovxs_28",_se="_diffSummary_1ovxs_35",yse="_tableWrap_1ovxs_40",Sse="_diffTable_1ovxs_44",Cse="_lineNumOld_1ovxs_59",xse="_lineNumNew_1ovxs_60",wse="_prefix_1ovxs_70",Ese="_lineContent_1ovxs_79",kse="_rowContext_1ovxs_85",$se="_rowDel_1ovxs_89",Rse="_rowAdd_1ovxs_99",Qi={wrapper:mse,header:pse,headerRight:gse,filePath:vse,toggle:bse,diffSummary:_se,tableWrap:yse,diffTable:Sse,lineNumOld:Cse,lineNumNew:xse,prefix:wse,lineContent:Ese,rowContext:kse,rowDel:$se,rowAdd:Rse},{Text:H1}=ss;function Tse(e,t,n){const r=mN(e,t),i=[];let o=n,s=n;for(const a of r){const l=a.value.replace(/\n$/,"").split(`
502
+ `));const n=[],r=e.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(let i=0;i<r.length;i++){const o=r[i];i%2&&!t.newlineIsToken?n[n.length-1]+=o:n.push(o)}return n}const mse="_wrapper_xav1m_1",pse="_header_xav1m_9",gse="_headerRight_xav1m_16",vse="_filePath_xav1m_24",bse="_toggle_xav1m_30",_se="_diffSummary_xav1m_39",yse="_tableWrap_xav1m_44",Sse="_diffTable_xav1m_48",Cse="_lineNumOld_xav1m_61",xse="_lineNumNew_xav1m_62",wse="_prefix_xav1m_82",Ese="_lineContent_xav1m_94",kse="_rowContext_xav1m_98",$se="_rowDel_xav1m_110",Rse="_rowAdd_xav1m_125",Qi={wrapper:mse,header:pse,headerRight:gse,filePath:vse,toggle:bse,diffSummary:_se,tableWrap:yse,diffTable:Sse,lineNumOld:Cse,lineNumNew:xse,prefix:wse,lineContent:Ese,rowContext:kse,rowDel:$se,rowAdd:Rse},{Text:H1}=ss;function Tse(e,t,n){const r=mN(e,t),i=[];let o=n,s=n;for(const a of r){const l=a.value.replace(/\n$/,"").split(`
503
503
  `);if(a.value!=="")for(const c of l)a.added?i.push({type:"add",oldNum:null,newNum:s++,text:c}):a.removed?i.push({type:"del",oldNum:o++,newNum:null,text:c}):i.push({type:"context",oldNum:o++,newNum:s++,text:c})}return i}function Nse({file_path:e,old_string:t,new_string:n,startLine:r=1}){const[i,o]=d.useState(!1),s=d.useMemo(()=>Tse(t,n,r),[t,n,r]),a=s.filter(p=>p.type==="add").length,l=s.filter(p=>p.type==="del").length,c=d.useMemo(()=>{let p=1;for(const g of s)g.oldNum!=null&&g.oldNum>p&&(p=g.oldNum),g.newNum!=null&&g.newNum>p&&(p=g.newNum);return p},[s]),m=String(c).length*8+10;return S.jsxs("div",{className:Qi.wrapper,children:[S.jsxs("div",{className:Qi.header,children:[S.jsxs(H1,{className:Qi.filePath,children:["Edit: ",e]}),S.jsxs("span",{className:Qi.headerRight,children:[S.jsx(H1,{className:Qi.diffSummary,children:me("ui.diffSummary",{added:a,removed:l})}),S.jsx(H1,{className:Qi.toggle,onClick:()=>o(p=>!p),children:me(i?"ui.expand":"ui.collapse")})]})]}),!i&&S.jsx("div",{className:Qi.tableWrap,children:S.jsx("table",{className:Qi.diffTable,style:{"--line-num-w":`${m}px`},children:S.jsx("tbody",{children:s.map((p,g)=>{const v=p.type==="del"?Qi.rowDel:p.type==="add"?Qi.rowAdd:Qi.rowContext,_=p.type==="del"?"-":p.type==="add"?"+":" ";return S.jsxs("tr",{className:v,children:[S.jsx("td",{className:Qi.lineNumOld,children:p.oldNum??""}),S.jsx("td",{className:Qi.lineNumNew,children:p.newNum??""}),S.jsx("td",{className:Qi.prefix,children:_}),S.jsx("td",{className:Qi.lineContent,children:p.text})]},g)})})})})]})}const Ose="_plainResult_1uh60_1",Mse="_plainTitle_1uh60_7",Ise="_plainPre_1uh60_11",Pse="_codeResult_1uh60_20",Lse="_codeHeader_1uh60_27",Ase="_codeTitle_1uh60_36",Bse="_codeToggle_1uh60_41",Dse="_codePre_1uh60_48",zse="_markdownBody_1uh60_57",Ji={plainResult:Ose,plainTitle:Mse,plainPre:Ise,codeResult:Pse,codeHeader:Lse,codeTitle:Ase,codeToggle:Bse,codePre:Dse,markdownBody:zse},{Text:Zc}=ss,Qc={js:"javascript",jsx:"javascript",ts:"typescript",tsx:"typescript",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",css:"css",scss:"css",less:"css",html:"html",htm:"html",xml:"xml",svg:"xml",json:"json",yaml:"yaml",yml:"yaml",toml:"toml",sh:"shell",bash:"shell",zsh:"shell",md:"markdown",sql:"sql"},jse=["Read","Grep","Glob","Bash","Write","Edit"];function Fse(e,t,n){if(!t)return null;const r=t.file_path||"";if(r){const i=r.split(".").pop().toLowerCase();if(Qc[i])return Qc[i]}if(e==="Bash")return"shell-output";if(e==="Glob")return"file-list";if(e==="Grep"){const i=t.glob||"";if(i){const o=i.replace(/[{}*]/g,",").split(",").filter(Boolean);for(const s of o){const a=s.replace(/^\./,"").toLowerCase();if(Qc[a])return Qc[a]}}if(t.output_mode==="files_with_matches"||!t.output_mode)return"file-list";if(t.output_mode==="content"&&n){const o=n.match(/^[\w/.~-]+\.([\w]+):\d+/m);if(o&&Qc[o[1].toLowerCase()])return Qc[o[1].toLowerCase()]}return"shell-output"}return n?Hse(n):null}function Hse(e){const t=e.substring(0,2e3);return/^\s*[\[{]/.test(t)&&/[}\]]\s*$/.test(t.trimEnd())?"json":/^\s*<!DOCTYPE|^\s*<html|^\s*<\?xml/i.test(t)?"html":/^#!.*python/m.test(t)||/\bdef\s+\w+\s*\(.*\)\s*:/m.test(t)||/\bclass\s+\w+.*:/m.test(t)||/^\s*(from\s+\w+\s+import|import\s+\w+)/m.test(t)&&/:$/.test(t)?"python":/\bfn\s+\w+\s*\(/.test(t)&&/\blet\s+(mut\s+)?\w+/.test(t)?"rust":/^package\s+\w+/m.test(t)&&/\bfunc\s+/.test(t)?"go":/\bpublic\s+(class|interface|static)\b/.test(t)?"java":/\bdef\s+\w+/.test(t)&&/\bend\b/.test(t)&&!/;/.test(t)?"ruby":/^#!.*\b(bash|sh|zsh)\b/m.test(t)?"shell":/\b(const|let|var)\s+\w+\s*=/.test(t)&&(/=>/.test(t)||/\brequire\s*\(/.test(t))||/^\s*import\s+.*\s+from\s+['"]/.test(t)||/^\s*export\s+(default\s+)?(function|class|const)\b/m.test(t)?"javascript":/[.#][\w-]+\s*\{[\s\S]*?:\s*[\w#]/.test(t)?"css":/^[\w-]+\s*:(\s+\S|$)/m.test(t)&&!/[{;]/.test(t)?"yaml":/\b(SELECT|INSERT|UPDATE|DELETE|CREATE\s+TABLE)\b/i.test(t)?"sql":null}const Wse={javascript:[{pattern:/(\/\/.*$)/gm,cls:"hl-comment"},{pattern:/(\/\*[\s\S]*?\*\/)/g,cls:"hl-comment"},{pattern:/('(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*`)/g,cls:"hl-string"},{pattern:/\b(const|let|var|function|return|if|else|for|while|class|import|export|from|default|new|this|async|await|try|catch|throw|switch|case|break|continue|typeof|instanceof|in|of|null|undefined|true|false)\b/g,cls:"hl-keyword"},{pattern:/\b(\d+\.?\d*)\b/g,cls:"hl-number"}],typescript:null,python:[{pattern:/(#.*$)/gm,cls:"hl-comment"},{pattern:/('''[\s\S]*?'''|"""[\s\S]*?"""|'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*")/g,cls:"hl-string"},{pattern:/\b(def|class|return|if|elif|else|for|while|import|from|as|try|except|finally|raise|with|yield|lambda|pass|break|continue|and|or|not|in|is|None|True|False|self|async|await)\b/g,cls:"hl-keyword"},{pattern:/\b(\d+\.?\d*)\b/g,cls:"hl-number"}],go:[{pattern:/(\/\/.*$)/gm,cls:"hl-comment"},{pattern:/(\/\*[\s\S]*?\*\/)/g,cls:"hl-comment"},{pattern:/('(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`[^`]*`)/g,cls:"hl-string"},{pattern:/\b(func|return|if|else|for|range|switch|case|default|break|continue|go|defer|select|chan|map|struct|interface|package|import|var|const|type|nil|true|false|make|new|append|len|cap)\b/g,cls:"hl-keyword"},{pattern:/\b(\d+\.?\d*)\b/g,cls:"hl-number"}],rust:[{pattern:/(\/\/.*$)/gm,cls:"hl-comment"},{pattern:/("(?:[^"\\]|\\.)*")/g,cls:"hl-string"},{pattern:/\b(fn|let|mut|return|if|else|for|while|loop|match|struct|enum|impl|trait|pub|use|mod|crate|self|super|where|async|await|move|ref|true|false|Some|None|Ok|Err)\b/g,cls:"hl-keyword"},{pattern:/\b(\d+\.?\d*)\b/g,cls:"hl-number"}],java:[{pattern:/(\/\/.*$)/gm,cls:"hl-comment"},{pattern:/(\/\*[\s\S]*?\*\/)/g,cls:"hl-comment"},{pattern:/("(?:[^"\\]|\\.)*")/g,cls:"hl-string"},{pattern:/\b(public|private|protected|class|interface|extends|implements|return|if|else|for|while|switch|case|break|continue|new|this|super|static|final|void|int|long|double|float|boolean|char|String|import|package|try|catch|throw|throws|null|true|false)\b/g,cls:"hl-keyword"},{pattern:/\b(\d+\.?\d*[fFdDlL]?)\b/g,cls:"hl-number"}],ruby:[{pattern:/(#.*$)/gm,cls:"hl-comment"},{pattern:/('(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*")/g,cls:"hl-string"},{pattern:/\b(def|end|class|module|return|if|elsif|else|unless|for|while|do|begin|rescue|ensure|raise|yield|block_given\?|nil|true|false|self|require|include|attr_accessor|attr_reader)\b/g,cls:"hl-keyword"},{pattern:/\b(\d+\.?\d*)\b/g,cls:"hl-number"}],css:[{pattern:/(\/\*[\s\S]*?\*\/)/g,cls:"hl-comment"},{pattern:/("(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/g,cls:"hl-string"},{pattern:/([.#][\w-]+)/g,cls:"hl-keyword"},{pattern:/\b(\d+\.?\d*(px|em|rem|%|vh|vw|s|ms)?)\b/g,cls:"hl-number"}],json:[{pattern:/("(?:[^"\\]|\\.)*")\s*:/g,cls:"hl-keyword"},{pattern:/:\s*("(?:[^"\\]|\\.)*")/g,cls:"hl-string"},{pattern:/\b(true|false|null)\b/g,cls:"hl-keyword"},{pattern:/\b(-?\d+\.?\d*([eE][+-]?\d+)?)\b/g,cls:"hl-number"}],shell:[{pattern:/(#.*$)/gm,cls:"hl-comment"},{pattern:/('(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*")/g,cls:"hl-string"},{pattern:/\b(if|then|else|elif|fi|for|while|do|done|case|esac|function|return|exit|export|source|alias|cd|ls|grep|find|echo|cat|mkdir|rm|cp|mv|chmod|sudo|apt|npm|pip|git)\b/g,cls:"hl-keyword"}],sql:[{pattern:/(--.*$)/gm,cls:"hl-comment"},{pattern:/('(?:[^'\\]|\\.)*')/g,cls:"hl-string"},{pattern:/\b(SELECT|FROM|WHERE|INSERT|UPDATE|DELETE|CREATE|DROP|ALTER|TABLE|INDEX|JOIN|LEFT|RIGHT|INNER|OUTER|ON|AND|OR|NOT|IN|IS|NULL|AS|ORDER|BY|GROUP|HAVING|LIMIT|OFFSET|UNION|SET|VALUES|INTO|DISTINCT|COUNT|SUM|AVG|MAX|MIN|LIKE|BETWEEN|EXISTS|CASE|WHEN|THEN|ELSE|END)\b/gi,cls:"hl-keyword"},{pattern:/\b(\d+\.?\d*)\b/g,cls:"hl-number"}],html:[{pattern:/(<!--[\s\S]*?-->)/g,cls:"hl-comment"},{pattern:/("(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/g,cls:"hl-string"},{pattern:/(<\/?[\w-]+|\/?>)/g,cls:"hl-keyword"}],xml:null,yaml:[{pattern:/(#.*$)/gm,cls:"hl-comment"},{pattern:/("(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/g,cls:"hl-string"},{pattern:/^([\w.-]+)\s*:/gm,cls:"hl-keyword"},{pattern:/\b(true|false|null|yes|no)\b/gi,cls:"hl-keyword"},{pattern:/\b(\d+\.?\d*)\b/g,cls:"hl-number"}],markdown:[{pattern:/^(#{1,6}\s.*$)/gm,cls:"hl-keyword"},{pattern:/(`[^`]+`)/g,cls:"hl-string"},{pattern:/(\*\*[^*]+\*\*|__[^_]+__)/g,cls:"hl-keyword"},{pattern:/(\[[^\]]+\]\([^)]+\))/g,cls:"hl-string"}],toml:[{pattern:/(#.*$)/gm,cls:"hl-comment"},{pattern:/("(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/g,cls:"hl-string"},{pattern:/^([\w.-]+)\s*=/gm,cls:"hl-keyword"},{pattern:/(\[[\w.-]+\])/g,cls:"hl-keyword"},{pattern:/\b(true|false)\b/g,cls:"hl-keyword"},{pattern:/\b(\d+\.?\d*)\b/g,cls:"hl-number"}]},Vse=[{pattern:/(\/\/.*$|#.*$)/gm,cls:"hl-comment"},{pattern:/('(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*`)/g,cls:"hl-string"},{pattern:/\b(\d+\.?\d*)\b/g,cls:"hl-number"}],Kse=[{pattern:/^([\w/.~-]+:\d+[:-])/gm,cls:"hl-keyword"},{pattern:/('(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*")/g,cls:"hl-string"},{pattern:/\b(\d+\.?\d*)\b/g,cls:"hl-number"}],Use=[{pattern:/^(.*\.(jsx?|tsx?|mjs|cjs))$/gm,cls:"hl-string"},{pattern:/^(.*\.(py|rb|go|rs|java|c|cpp|h))$/gm,cls:"hl-keyword"},{pattern:/^(.*\.(json|ya?ml|toml|xml|html?|css|scss|less|md))$/gm,cls:"hl-number"},{pattern:/^(.*\.(log|txt|csv|jsonl))$/gm,cls:"hl-comment"}];function qse(e,t){let n=t;n==="typescript"&&(n="javascript"),n==="xml"&&(n="html"),(n==="c"||n==="cpp")&&(n="javascript");let r;n==="shell-output"?r=Kse:n==="file-list"?r=Use:r=Wse[n]||Vse;const i=/^(\s*\d+→)/gm,o=[];let s=e.replace(i,h=>{const m=o.length;return o.push(h),`L${m}`});const a=Fp(s),l=[];let c=a;for(const h of r)h.pattern.lastIndex=0,c=c.replace(h.pattern,m=>{const p=l.length;return l.push(`<span class="${h.cls}">${m}</span>`),`P${p}`});return c=c.replace(/\x02P(\d+)\x02/g,(h,m)=>l[parseInt(m)]),c=c.replace(/\x01L(\d+)\x01/g,(h,m)=>`<span class="hl-linenum">${Fp(o[parseInt(m)])}</span>`),c}function Y5({toolName:e,toolInput:t,resultText:n,defaultCollapsed:r}){const[i,o]=d.useState(r??!1);d.useEffect(()=>{o(r??!1)},[r]);const s=jse.includes(e),a=s?Fse(e,t,n):null,l=n.length>5e3?n.substring(0,5e3)+`
504
504
  ... (truncated)`:n;let c=e?me("ui.toolReturnNamed",{name:e}):"Result";if(t){const m=t.file_path||t.path||"";if(m){const p=m.split("/");c=`${e}: ${p[p.length-1]}`}}if(!s)return e==="Task"?S.jsxs("div",{className:Ji.plainResult,children:[S.jsxs("div",{className:Ji.codeHeader,children:[S.jsx(Zc,{type:"secondary",className:Ji.plainTitle,children:c}),S.jsx(Zc,{className:Ji.codeToggle,onClick:()=>o(m=>!m),children:me(i?"ui.expand":"ui.collapse")})]}),!i&&S.jsx("div",{className:`chat-md ${Ji.markdownBody}`,dangerouslySetInnerHTML:{__html:Cs(l)}})]}):S.jsxs("div",{className:Ji.plainResult,children:[S.jsxs("div",{className:Ji.codeHeader,children:[S.jsx(Zc,{type:"secondary",className:Ji.plainTitle,children:c}),S.jsx(Zc,{className:Ji.codeToggle,onClick:()=>o(m=>!m),children:me(i?"ui.expand":"ui.collapse")})]}),!i&&S.jsx("pre",{className:Ji.plainPre,children:l})]});const h=qse(l,a||"fallback");return S.jsxs("div",{className:`tool-result-code ${Ji.codeResult}`,children:[S.jsxs("div",{className:Ji.codeHeader,children:[S.jsxs(Zc,{className:Ji.codeTitle,children:[c,a?` (${a})`:""]}),S.jsx(Zc,{className:Ji.codeToggle,onClick:()=>o(m=>!m),children:me(i?"ui.expand":"ui.collapse")})]}),!i&&S.jsx("pre",{className:`code-highlight ${Ji.codePre}`,dangerouslySetInnerHTML:{__html:h}})]})}const Gse="_avatar_w9l4s_3",Xse="_avatarImg_w9l4s_13",Yse="_messageRow_w9l4s_32",Zse="_messageRowEnd_w9l4s_38",Qse="_contentCol_w9l4s_47",Jse="_contentColLimited_w9l4s_52",eae="_labelRow_w9l4s_60",tae="_labelRowEnd_w9l4s_67",nae="_labelRight_w9l4s_74",rae="_labelText_w9l4s_82",iae="_timeText_w9l4s_86",oae="_timeTextNoMargin_w9l4s_92",sae="_labelTextRight_w9l4s_98",aae="_bubbleUser_w9l4s_105 _bubble_w9l4s_21",lae="_bubbleAssistant_w9l4s_111 _bubble_w9l4s_21",cae="_bubbleHighlight_w9l4s_119",uae="_bubbleHighlightFading_w9l4s_123",dae="_borderSvg_w9l4s_128",hae="_borderSvgFading_w9l4s_137",fae="_borderRect_w9l4s_142",mae="_bubblePlan_w9l4s_151 _bubble_w9l4s_21",pae="_bubbleSubAgent_w9l4s_159 _bubble_w9l4s_21",gae="_bubbleSelection_w9l4s_165 _bubble_w9l4s_21",vae="_systemTagLabel_w9l4s_173",bae="_skillLabel_w9l4s_177",_ae="_systemTagPre_w9l4s_182",yae="_collapseMargin_w9l4s_190",Sae="_collapseNoMargin_w9l4s_194",Cae="_thinkingLabel_w9l4s_200",xae="_toolBox_w9l4s_206",wae="_toolLabel_w9l4s_215",Eae="_codePre_w9l4s_221",kae="_pathTag_w9l4s_233",$ae="_descSpan_w9l4s_240",Rae="_secondarySpan_w9l4s_245",Tae="_patternSpan_w9l4s_249",Nae="_kvContainer_w9l4s_255",Oae="_kvItem_w9l4s_260",Mae="_kvKey_w9l4s_264",Iae="_kvValue_w9l4s_268",Pae="_toolResult_w9l4s_274",Lae="_toolResultLabel_w9l4s_283",Aae="_compactLabel_w9l4s_289",Bae="_compactPre_w9l4s_294",Dae="_viewRequestBtn_w9l4s_304",zae="_optionList_w9l4s_318",jae="_optionDesc_w9l4s_322",Fae="_questionText_w9l4s_330",Hae="_questionSpacing_w9l4s_336",Wae="_option_w9l4s_318",Vae="_askQuestionBox_w9l4s_349",Kae="_askQuestionHeader_w9l4s_358",Uae="_askQuestionText_w9l4s_369",qae="_askOptionItem_w9l4s_375",Gae="_planModeBox_w9l4s_383",Xae="_planModeLabel_w9l4s_392",Yae="_planModePermissions_w9l4s_397",Zae="_planModePermLabel_w9l4s_403",at={avatar:Gse,avatarImg:Xse,messageRow:Yse,messageRowEnd:Zse,contentCol:Qse,contentColLimited:Jse,labelRow:eae,labelRowEnd:tae,labelRight:nae,labelText:rae,timeText:iae,timeTextNoMargin:oae,labelTextRight:sae,bubbleUser:aae,bubbleAssistant:lae,bubbleHighlight:cae,bubbleHighlightFading:uae,borderSvg:dae,borderSvgFading:hae,borderRect:fae,bubblePlan:mae,bubbleSubAgent:pae,bubbleSelection:gae,systemTagLabel:vae,skillLabel:bae,systemTagPre:_ae,collapseMargin:yae,collapseNoMargin:Sae,thinkingLabel:Cae,toolBox:xae,toolLabel:wae,codePre:Eae,pathTag:kae,descSpan:$ae,secondarySpan:Rae,patternSpan:Tae,kvContainer:Nae,kvItem:Oae,kvKey:Mae,kvValue:Iae,toolResult:Pae,toolResultLabel:Lae,compactLabel:Aae,compactPre:Bae,viewRequestBtn:Dae,optionList:zae,optionDesc:jae,questionText:Fae,questionSpacing:Hae,option:Wae,askQuestionBox:Vae,askQuestionHeader:Kae,askQuestionText:Uae,askOptionItem:qae,planModeBox:Gae,planModeLabel:Xae,planModePermissions:Yae,planModePermLabel:Zae},{Text:_o}=ss;class ps extends te.Component{constructor(n){super(n);It(this,"handleThinkingTranslated",(n,r)=>{this.setState(i=>({thinkingTranslated:{...i.thinkingTranslated,[n]:r?Cs(r):null}}))});this.state={thinkingTranslated:{}}}formatTime(n){if(!n)return null;try{const r=new Date(n),i=o=>String(o).padStart(2,"0");return`${i(r.getMonth()+1)}-${i(r.getDate())} ${i(r.getHours())}:${i(r.getMinutes())}:${i(r.getSeconds())}`}catch{return null}}renderViewRequestBtn(){const{requestIndex:n,onViewRequest:r}=this.props;return n==null||!r?null:S.jsx("span",{className:at.viewRequestBtn,onClick:i=>{i.stopPropagation(),r(n)},children:me("ui.viewRequest")})}renderLabel(n,r){const{timestamp:i}=this.props,o=this.formatTime(i);return S.jsxs("div",{className:at.labelRow,children:[S.jsxs(_o,{type:"secondary",className:at.labelText,children:[n,r||""]}),S.jsxs("span",{className:at.labelRight,children:[this.renderViewRequestBtn(),o&&S.jsx(_o,{className:at.timeText,children:o})]})]})}renderUserAvatar(n){const{userProfile:r}=this.props;return r!=null&&r.avatar?S.jsx("img",{src:r.avatar,className:at.avatarImg,alt:r.name||"User"}):S.jsx("div",{className:at.avatar,style:{background:n},dangerouslySetInnerHTML:{__html:su("user")}})}getUserName(){const{userProfile:n}=this.props;return(n==null?void 0:n.name)||"User"}renderSegments(n){return n.map((r,i)=>r.type==="system-tag"?S.jsx(Gd,{ghost:!0,size:"small",items:[{key:"1",label:S.jsx(_o,{type:"secondary",className:at.systemTagLabel,children:r.tag}),children:S.jsx("pre",{className:at.systemTagPre,children:r.content})}],className:at.collapseMargin},i):S.jsx("div",{className:"chat-md",dangerouslySetInnerHTML:{__html:Cs(r.content)}},i))}renderToolCall(n){if(typeof n.input=="string")try{const h=n.input.replace(/^\[object Object\]/,"");n={...n,input:JSON.parse(h)}}catch{}if(n.name==="Edit"&&n.input&&n.input.old_string!=null&&n.input.new_string!=null){const h=this.props.editSnapshotMap||{},m=n.input.file_path||"";let p=1;const g=h[n.id];if(g&&n.input.old_string){const v=g.plainText.indexOf(n.input.old_string);if(v>=0){const b=g.plainText.substring(0,v).split(`
505
505
  `).length-1;p=g.lineNums[b]??b+1}}return S.jsx(Nse,{file_path:m,old_string:n.input.old_string,new_string:n.input.new_string,startLine:p},n.id)}const r=n.input&&typeof n.input=="object"?n.input:{},i=(h,m)=>S.jsxs("div",{className:at.toolBox,children:[S.jsx(_o,{strong:!0,className:at.toolLabel,children:h}),m]},n.id),o=(h,m)=>S.jsx("pre",{className:at.codePre,style:{color:m},children:h}),s=h=>S.jsx("span",{className:at.pathTag,children:h});if(n.name==="Bash"){const h=r.command||"",m=r.description||"";return i(S.jsxs(S.Fragment,{children:["Bash",m?S.jsxs("span",{className:at.descSpan,children:[" — ",m]}):""]}),o(h,"#c9d1d9"))}if(n.name==="Read"){const h=r.file_path||"",m=[];r.offset&&m.push(`offset: ${r.offset}`),r.limit&&m.push(`limit: ${r.limit}`);const p=m.length?` (${m.join(", ")})`:"";return i(S.jsxs(S.Fragment,{children:["Read: ",s(h),S.jsx("span",{className:at.secondarySpan,children:p})]}),null)}if(n.name==="Write"){const h=r.file_path||"",m=r.content||"",p=m.split(`
@@ -1,4 +1,4 @@
1
- body{margin:0;background-color:#0d0d0d}*{scrollbar-width:thin;scrollbar-color:#3a3a3a #0d0d0d}@media(pointer:coarse){*{scrollbar-width:auto;scrollbar-color:auto}}@media(pointer:fine){*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:#0d0d0d}*::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:#555}}.code-highlight{color:#e6edf3}.hl-keyword{color:#ff7b72}.hl-string{color:#a5d6ff}.hl-comment{color:#8b949e;font-style:italic}.hl-number{color:#79c0ff}.hl-linenum{color:#484f58;-webkit-user-select:none;user-select:none}.chat-md pre{background:#0d1117;border:1px solid #2a2a2a;border-radius:6px;padding:12px;overflow-x:auto;font-size:13px;line-height:1.5}.chat-md code{background:#1a1a2e;padding:2px 6px;border-radius:4px;font-size:13px;color:#e5e7eb}.chat-md pre code{background:none;padding:0}.chat-md p{margin:6px 0}.chat-md ul,.chat-md ol{padding-left:20px;margin:6px 0}.chat-md li{margin:2px 0}.chat-md h1,.chat-md h2,.chat-md h3{margin:12px 0 6px;color:#fff}.chat-md h1{font-size:1.3em}.chat-md h2{font-size:1.15em}.chat-md h3{font-size:1.05em}.chat-md blockquote{border-left:3px solid #3b82f6;margin:8px 0;padding:4px 12px;color:#9ca3af}.chat-md table{border-collapse:collapse;margin:8px 0;font-size:13px}.chat-md th,.chat-md td{border:1px solid #2a2a2a;padding:6px 10px}.chat-md th{background:#1a1a1a;color:#fff}.chat-md a{color:#60a5fa}.chat-md hr{border:none;border-top:1px solid #2a2a2a;margin:12px 0}.chat-md strong{color:#f1f5f9}.chat-md em{color:#cbd5e1}.ant-tooltip .ant-tooltip-inner{background-color:#090909}.ant-tooltip .ant-tooltip-arrow:before,.ant-tooltip .ant-tooltip-arrow:after{background:#090909}._helpBtn_ovmho_1{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#1a1a1a;border:1px solid #444;color:#aaa;font-size:11px;line-height:1;cursor:pointer;margin-left:4px;vertical-align:middle;transition:background .2s;-webkit-user-select:none;user-select:none}._helpBtn_ovmho_1:hover{background:#333}._modalBody_ovmho_24{max-height:60vh;overflow-y:auto;overflow-x:hidden;line-height:1.7;color:#d9d9d9;word-break:break-word}._modalBody_ovmho_24 h1,._modalBody_ovmho_24 h2,._modalBody_ovmho_24 h3{margin-top:.8em;color:#f0f0f0}._modalBody_ovmho_24 p{margin:.5em 0}._modalBody_ovmho_24 code{background:#2a2a2a;padding:1px 4px;border-radius:3px;font-size:.9em;color:#e8ab6a}._modalBody_ovmho_24 pre{background:#1a1a1a;padding:12px;border-radius:6px;overflow-x:auto;color:#d9d9d9;max-width:100%;box-sizing:border-box}._modalBody_ovmho_24 a{color:#5b9bd5}._modalBody_ovmho_24 strong{color:#f0f0f0}._spinWrap_ovmho_70{display:flex;justify-content:center;padding:40px 0}._modalBody_ovmho_24 textarea{width:100%;min-height:200px;background:#1a1a1a;color:#d9d9d9;font-family:monospace;font-size:13px;line-height:1.6;border:1px solid #333;border-radius:6px;padding:10px 14px;resize:vertical;outline:none;box-sizing:border-box}@media(max-width:768px){._modalBody_ovmho_24{font-size:13px;line-height:1.6;max-height:75vh}._modalBody_ovmho_24 h1{font-size:18px}._modalBody_ovmho_24 h2{font-size:16px}._modalBody_ovmho_24 h3{font-size:14px}._modalBody_ovmho_24 pre{font-size:12px;padding:8px}._modalBody_ovmho_24 code,._modalBody_ovmho_24 textarea{font-size:12px}}._headerBar_1oh31_2{display:flex;align-items:center;justify-content:space-between;width:100%;height:100%}._titleText_1oh31_11{color:#fff;font-size:18px;cursor:pointer}._logoImage_1oh31_17{height:24px;width:24px;margin-right:6px;border-radius:3px;vertical-align:text-bottom}._titleArrow_1oh31_25{font-size:12px;margin-left:4px}._tokenStatsTag_1oh31_31{border-radius:12px;cursor:pointer;background:#2a2a2a;border:1px solid #3a3a3a;color:#ccc}._tokenStatsIcon_1oh31_39{margin-right:4px}._liveTag_1oh31_44{border-radius:12px}._liveDotWrap_1oh31_48{display:inline-flex;align-items:center;justify-content:center;width:10px;height:10px;vertical-align:middle;margin-right:2px;position:relative;top:-1px}._liveTag_1oh31_44 .ant-badge-status-processing{animation:_breathe_1oh31_1 2.5s ease-in-out infinite}@keyframes _breathe_1oh31_1{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}._liveSpinner_1oh31_70{display:block;animation:_spinPlusStar_1oh31_1 2s linear infinite}._liveSpinnerDiag_1oh31_75{animation:_diagFade_1oh31_1 2s ease-in-out infinite}@keyframes _spinPlusStar_1oh31_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes _diagFade_1oh31_1{0%,to{opacity:1}50%{opacity:0}}._inflightList_1oh31_90{min-width:180px}._inflightItem_1oh31_94{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12px}._inflightItem_1oh31_94+._inflightItem_1oh31_94{border-top:1px solid #333}._inflightTag_1oh31_106{color:#52c41a;font-weight:500;white-space:nowrap}._inflightModel_1oh31_112{color:#999;white-space:nowrap}._inflightTime_1oh31_117{color:#666;margin-left:auto;white-space:nowrap}._liveTagHistory_1oh31_123{background:#2a2a2a;border-color:#424242;color:#d1d5db}._liveTagText_1oh31_129{margin-left:4px}._countdownStrong_1oh31_134{font-variant-numeric:tabular-nums}._qrcodePopover_1oh31_139{display:flex;flex-direction:column;align-items:center;padding:8px}._qrcodeSection_1oh31_146{display:flex;flex-direction:column;align-items:center;padding:16px;margin-bottom:12px;border:1px solid #333;border-radius:8px;background:#111}._qrcodeTitle_1oh31_157{font-size:14px;font-weight:600;color:#e5e5e5;margin-bottom:12px}._qrcodeUrlInput_1oh31_164{margin-top:12px;font-size:12px;font-family:Menlo,Monaco,monospace}._qrcodeUrlCopy_1oh31_170{cursor:pointer;color:#888;transition:color .2s}._qrcodeUrlCopy_1oh31_170:hover{color:#3b82f6}._settingsGroupBox_1oh31_181{border:1px solid #333;border-radius:8px;background:#111;padding:4px 16px;margin-bottom:12px}._settingsGroupTitle_1oh31_189{font-size:14px;font-weight:600;color:#e5e5e5;padding:12px 0 4px;border-bottom:1px solid #333}._settingsItem_1oh31_198{display:flex;justify-content:space-between;align-items:center;padding:12px 0}._settingsLabel_1oh31_205{font-size:14px}._tokenStatsEmpty_1oh31_210{padding:8px 4px;color:#999;font-size:13px}._tokenStatsContainer_1oh31_217{display:flex;gap:12px;align-items:flex-start}._tokenStatsColumn_1oh31_223{min-width:240px}._toolStatsColumn_1oh31_227{min-width:180px}._modelCard_1oh31_232{border:1px solid #333;border-radius:6px;padding:8px 10px;background:#111}._modelCardSpaced_1oh31_239{margin-bottom:10px}._modelName_1oh31_245{font-size:13px;font-weight:600;color:#e5e5e5;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #333}._statsTable_1oh31_255{width:100%;border-collapse:collapse}._th_1oh31_260{padding:2px 12px;font-size:12px;font-family:monospace;white-space:nowrap;color:#888;font-weight:400;text-align:right}._td_1oh31_270{padding:2px 12px;font-size:12px;font-family:monospace;white-space:nowrap;color:#e5e5e5;text-align:right}._label_1oh31_279{padding:2px 12px;font-size:12px;font-family:monospace;white-space:nowrap;color:#aaa;font-weight:400;text-align:left}._rowBorder_1oh31_289{border-bottom:1px solid #2a2a2a}._rebuildCard_1oh31_293{border:1px solid #333;border-radius:6px;padding:8px 10px;margin-top:10px;background:#111}._rebuildTotalRow_1oh31_301{border-top:1px solid #444}._rebuildTotalRow_1oh31_301 td{font-weight:600}._promptExportBar_1oh31_310{margin-bottom:12px}._promptScrollArea_1oh31_314{max-height:500px;overflow:auto}._promptEmpty_1oh31_319{color:#999;padding:12px}._promptTimestamp_1oh31_325{color:#666;font-size:12px;margin:12px 0 4px;padding-bottom:6px}._textPromptCard_1oh31_333{margin:4px 0;background:#141414;border-radius:6px;border:1px solid #303030;padding:10px 14px}._preText_1oh31_342{white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.6;color:#d9d9d9;margin:4px 0}._systemCollapse_1oh31_352{margin:4px 0;background:#1a1a1a;border:1px solid #303030;border-radius:6px}._systemLabel_1oh31_359{color:#888;font-size:12px}._preSys_1oh31_364{white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.5;color:#999;margin:0}._promptTextarea_1oh31_374{box-sizing:border-box;background:#000;width:100%;min-height:400px;color:#d9d9d9;font-family:monospace;font-size:13px;line-height:1.6;border:none;resize:vertical;padding:10px 14px;outline:none}._projectStatsCenter_1oh31_390{display:flex;justify-content:center;padding:40px 0}._projectStatsEmpty_1oh31_396{color:#999;padding:40px 0;text-align:center;font-size:13px}._projectStatsContent_1oh31_403{display:flex;flex-direction:column;gap:16px}._projectStatsUpdated_1oh31_409{color:#666;font-size:12px;text-align:right}._projectStatsSummary_1oh31_415{display:grid;grid-template-columns:1fr 1fr;gap:10px}._projectStatCard_1oh31_421{background:#111;border:1px solid #333;border-radius:8px;padding:14px 12px;text-align:center}._projectStatValue_1oh31_429{font-size:22px;font-weight:700;color:#e5e5e5;font-family:monospace;font-variant-numeric:tabular-nums}._projectStatLabel_1oh31_437{font-size:12px;color:#888;margin-top:4px}._projectStatsSection_1oh31_443{display:flex;flex-direction:column;gap:10px}._projectStatsSectionTitle_1oh31_449{font-size:14px;font-weight:600;color:#ccc;padding-bottom:4px;border-bottom:1px solid #333}._projectStatsModelCard_1oh31_457{background:#111;border:1px solid #333;border-radius:6px;padding:10px 12px}._projectStatsModelHeader_1oh31_464{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #333}._projectStatsModelName_1oh31_473{font-size:13px;font-weight:600;color:#e5e5e5}._projectStatsModelCount_1oh31_479{font-size:12px;color:#888;font-family:monospace}._pluginDirHint_1oh31_486{margin-bottom:12px;font-size:12px;color:#888}._pluginDirPath_1oh31_492{font-family:Menlo,Monaco,monospace;color:#aaa;cursor:pointer;padding:1px 4px;border-radius:3px;background:#1a1a1a}._pluginDirPath_1oh31_492:hover{color:#3b82f6}._pluginList_1oh31_505{display:flex;flex-direction:column;gap:8px}._pluginItem_1oh31_511{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #303030;border-radius:6px;background:#141414}._pluginInfo_1oh31_521{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}._pluginName_1oh31_529{font-size:14px;color:#e5e5e5;font-weight:500}._pluginFile_1oh31_535{font-size:12px;color:#666;font-family:Menlo,Monaco,monospace}._pluginHooks_1oh31_541{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}._pluginHookTag_1oh31_548{font-size:11px;padding:0 5px;border-radius:3px;background:#1e3a5f;color:#6cb6ff;line-height:18px}._pluginActions_1oh31_557{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:12px}._pluginEmpty_1oh31_565{text-align:center;padding:32px 0;color:#999}._centerEmpty_oxhcp_1{display:flex;align-items:center;justify-content:center;height:100%}._scrollContainer_oxhcp_8{overflow:auto;height:100%;-webkit-overflow-scrolling:touch;will-change:scroll-position}._listItem_oxhcp_15{cursor:pointer;padding:8px 12px;border-left:3px solid transparent;border-bottom:1px solid #1f1f1f;transition:background .15s}._listItem_oxhcp_15:hover{background:#151515}._listItemActive_oxhcp_27{background:#1a2332;border-left-color:#3b82f6}._listItemActive_oxhcp_27:hover{background:#1a2332}._itemContent_oxhcp_36{width:100%;min-width:0}._itemHeader_oxhcp_41{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:12px}._tagNoMargin_oxhcp_49{margin:0;font-size:12px}._modelName_oxhcp_54{font-size:12px}._time_oxhcp_58{font-size:12px;color:#6b7280;margin-left:auto}._detailRow_oxhcp_64{display:flex;gap:8px;font-size:12px;align-items:center}._urlText_oxhcp_71{color:#555;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}._duration_oxhcp_80{color:#6b7280;flex-shrink:0}._statusOk_oxhcp_85{color:#52c41a;opacity:.5;flex-shrink:0}._statusErr_oxhcp_91{color:#ef4444;flex-shrink:0}._statusDefault_oxhcp_96{color:#9ca3af;flex-shrink:0}._usageBox_oxhcp_101{background:#111;border-radius:4px;padding:3px 6px;margin-top:4px;font-size:12px;color:#6b7280;line-height:1.6}._cacheDot_oxhcp_111{display:inline-block;width:6px;height:6px;border-radius:50%;margin:0 3px;vertical-align:middle}._cacheDotLoss_oxhcp_120{background-color:#8b1a1a;cursor:help}._cacheDotNormal_oxhcp_125{background-color:#3a3a3a}._GzYRV{line-height:1.2;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}._3eOF8{margin-right:5px;font-weight:700}._3eOF8+._3eOF8{margin-left:-5px}._1MFti{cursor:pointer}._f10Tu{font-size:1.2em;margin-right:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none}._1UmXx:after{content:"▸"}._1LId0:after{content:"▾"}._1pNG9{margin-right:5px}._1pNG9:after{content:"...";font-size:.8em}._2IvMF{background:#eee}._2bkNM{margin:0;padding:0 10px}._1BXBN{margin:0;padding:0}._1MGIk{font-weight:600;margin-right:5px;color:#000}._3uHL6{color:#000}._2T6PJ,._1Gho6{color:#df113a}._vGjyY{color:#2a3f3c}._1bQdo{color:#0b75f5}._3zQKs{color:#469038}._1xvuR{color:#43413d}._oLqym,._2AXVT,._2KJWg{color:#000}._11RoI{background:#002b36}._17H2C,._3QHg2,._3fDAz{color:#fdf6e3}._2bSDX{font-weight:bolder;margin-right:5px;color:#fdf6e3}._gsbQL{color:#fdf6e3}._LaAZe,._GTKgm{color:#81b5ac}._Chy1W{color:#cb4b16}._2bveF{color:#d33682}._2vRm-{color:#ae81ff}._1prJR{color:#268bd2}._container_1h2lr_1{background:#0d1117;border-radius:6px;border:1px solid #2a2a2a;padding:12px;font-size:13px;font-family:monospace;overflow:auto}._tag_17wfp_1{display:inline-block;font-size:10px;color:#6b7280;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:3px;padding:0 4px;margin-left:6px;cursor:pointer;line-height:18px;vertical-align:middle;transition:color .2s,border-color .2s;-webkit-user-select:none;user-select:none}._tag_17wfp_1:hover{color:#93c5fd;border-color:#93c5fd4d}._tagActive_17wfp_22{color:#93c5fd;border-color:#93c5fd40}._tagLoading_17wfp_27{cursor:wait;opacity:.7}._spinner_17wfp_32{display:inline-block;width:10px;height:10px;border:1.5px solid rgba(147,197,253,.3);border-top-color:#93c5fd;border-radius:50%;animation:_spin_17wfp_32 .6s linear infinite;margin-right:3px;vertical-align:middle}@keyframes _spin_17wfp_32{to{transform:rotate(360deg)}}._root_1bepf_1{display:flex;height:100%;min-height:0;gap:0}._sidebar_1bepf_9{width:220px;flex-shrink:0;border-right:1px solid #2a2a2a;overflow-y:auto;padding:4px 0;-webkit-overflow-scrolling:touch}._section_1bepf_18{-webkit-user-select:none;user-select:none}._sectionHeader_1bepf_22{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;color:#d1d5db;font-size:12px;font-weight:600;transition:background .15s}._sectionHeader_1bepf_22:hover{background:#ffffff0d}._arrow_1bepf_38{font-size:10px;color:#888;flex-shrink:0}._sectionTitle_1bepf_44{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._sectionCount_1bepf_52{font-size:11px;color:#666;background:#1f1f1f;border-radius:10px;padding:0 6px;line-height:18px}._sectionBody_1bepf_61{padding:2px 0}._historyToggle_1bepf_66{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 14px;cursor:pointer;color:#666;font-size:11px;transition:color .15s,background .15s}._historyToggle_1bepf_66:hover{color:#888;background:#ffffff08}._historyToggleLabel_1bepf_82{flex:1}._item_1bepf_87{display:flex;align-items:center;justify-content:space-between;padding:5px 10px 5px 24px;font-size:12px;color:#888;cursor:pointer;transition:background .15s,color .15s}._item_1bepf_87:hover{background:#ffffff0a;color:#d1d5db}._itemActive_1bepf_103{background:#63b3ed1f;color:#63b3ed}._itemActive_1bepf_103:hover{background:#63b3ed29;color:#63b3ed}._itemContent_1bepf_113{flex:1;min-width:0;overflow:hidden}._itemLabel_1bepf_119{font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}._itemSublabel_1bepf_127{font-size:10px;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}._itemTime_1bepf_136{font-size:9px;color:#555;flex-shrink:0;margin-left:4px;font-family:monospace}._content_1bepf_145{flex:1;min-width:0;overflow:auto;padding:12px 16px;-webkit-overflow-scrolling:touch}._contentEmpty_1bepf_153{height:100%;display:flex;align-items:center;justify-content:center}._contentInner_1bepf_160{padding-bottom:20px}._emptyWrap_1bepf_164{display:flex;align-items:center;justify-content:center;height:200px}._roleHeader_1bepf_172{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:nowrap}._roleBadge_1bepf_180{font-size:10px;font-weight:600;letter-spacing:.04em;padding:2px 7px;border-radius:4px;flex-shrink:0}._role_user_1bepf_189{background:#3b82f62e;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}._role_assistant_1bepf_195{background:#8b5cf62e;color:#a78bfa;border:1px solid rgba(139,92,246,.3)}._roleLabel_1bepf_201{font-size:11px;color:#666;flex:1;min-width:0}._contentTime_1bepf_208{margin-left:auto;font-size:10px;color:#555;font-family:monospace;flex-shrink:0}._turnDivider_1bepf_216{border:none;border-top:1px solid #1e1e1e;margin:14px 0}._textBlock_1bepf_223{margin-bottom:8px;border:1px solid #222;border-radius:6px;overflow:hidden}._textBlockBar_1bepf_230{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#141414;border-bottom:1px solid #222}._textBlockBody_1bepf_239{padding:10px 12px;font-size:13px;line-height:1.7;color:#d1d5db;word-break:break-word}._textBlockCompact_1bepf_247{position:relative;padding:8px 10px;font-size:12px;color:#aaa}._textBlockCompactFloat_1bepf_254{float:right;margin-left:6px;margin-bottom:2px}._thinkingBlock_1bepf_261{margin-bottom:8px;border:1px solid #2a2a1e;border-radius:6px;overflow:hidden;background:#111108}._thinkingHeader_1bepf_269{display:flex;align-items:center;gap:6px;padding:5px 10px;cursor:pointer;font-size:12px;color:#888;transition:background .15s}._thinkingHeader_1bepf_269:hover{background:#ffffc808}._thinkingPreview_1bepf_284{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#666;font-size:11px}._thinkingBody_1bepf_294{padding:8px 12px;border-top:1px solid #2a2a1e}._toolBlock_1bepf_300{margin-bottom:8px;border:1px solid #222;border-radius:6px;overflow:hidden}._toolBlockResult_1bepf_307{border-color:#1a2a1a}._toolBlockError_1bepf_311{border-color:#2a1a1a}._toolBlockHeader_1bepf_315{display:flex;align-items:center;gap:8px;padding:5px 10px;background:#141414;border-bottom:1px solid #222;font-size:12px;flex-wrap:wrap}._toolBlockBody_1bepf_326{padding:8px 10px;font-size:12px}._toolName_1bepf_331{color:#d1d5db;font-weight:500;font-family:monospace}._toolId_1bepf_337{color:#555;font-size:10px;font-family:monospace;margin-left:auto}._errorLabel_1bepf_344{font-size:10px;color:#f87171;background:#ef44441f;border:1px solid rgba(239,68,68,.25);border-radius:3px;padding:1px 5px}._blockTag_1bepf_354{font-size:9px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:1px 5px;border-radius:3px;background:#1a1a1a;color:#666;border:1px solid #2a2a2a;flex-shrink:0}._blockTagText_1bepf_367{background:#3b82f61a;color:#60a5fa;border-color:#3b82f633}._blockTagThinking_1bepf_373{background:#eab3081a;color:#ca8a04;border-color:#eab30833}._blockTagResult_1bepf_379{background:#22c55e1a;color:#4ade80;border-color:#22c55e33}._blockTagError_1bepf_385{background:#ef44441a;color:#f87171;border-color:#ef444433}._jsonBlock_1bepf_392{margin-bottom:8px;border:1px solid #222;border-radius:6px;overflow:hidden}._jsonBlockLabel_1bepf_399{font-size:10px;color:#666;padding:3px 10px;background:#141414;border-bottom:1px solid #222;font-family:monospace}._blockSeparator_1bepf_409{border:none;border-top:1px solid #2a2a2a;margin:16px 0}._markdownBody_1bepf_416{font-size:13px;line-height:1.7;color:#d1d5db;word-break:break-word}._container_i6t4e_1{height:100%;overflow:auto;padding:0 16px;-webkit-overflow-scrolling:touch;will-change:scroll-position}._emptyState_i6t4e_9{display:flex;align-items:center;justify-content:center;height:100%}._urlSection_i6t4e_16{padding:12px 0;border-bottom:1px solid #1f1f1f;display:flex;align-items:flex-start}._urlLeft_i6t4e_23{flex:1;min-width:0}._tokenStatsBox_i6t4e_28{flex-shrink:0;padding-left:12px;display:flex;align-items:center}._tokenGrid_i6t4e_35{display:flex;border:1px solid #303030;border-radius:6px;overflow:hidden;min-width:360px;font-size:11px;line-height:1.6}._tokenRows_i6t4e_45{flex:1}._tokenRow_i6t4e_45{display:flex}._tokenRowBorder_i6t4e_53{border-top:1px solid #303030}._tokenLabel_i6t4e_57{color:#888;padding:4px 8px;white-space:nowrap;font-weight:600}._tokenTd_i6t4e_64{flex:1;color:#d1d5db;text-align:right;padding:4px 8px;font-family:monospace;white-space:nowrap}._tokenHitRate_i6t4e_73{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#d1d5db;padding:4px 8px;font-family:monospace;white-space:nowrap;border-left:1px solid #303030;min-width:100px}._tokenHitRateLabel_i6t4e_86{color:#888;font-size:10px;font-family:sans-serif}._tokenRowBorder_i6t4e_53 td{border-top:1px solid #303030}._urlText_i6t4e_96{color:#d1d5db;font-size:13px;margin-bottom:8px;word-break:break-all}._metaText_i6t4e_103,._headersContainer_i6t4e_107{font-size:12px}._headerRow_i6t4e_111{display:flex;padding:4px 0;border-bottom:1px solid #1f1f1f}._headerKey_i6t4e_117{min-width:200px;flex-shrink:0}._headerValue_i6t4e_122{word-break:break-all;margin-left:8px}._streamingBox_i6t4e_127{padding:20px;background:#1a1a1a;border-radius:6px;border:1px solid #2a2a2a}._bodyToolbar_i6t4e_134{display:flex;gap:8px;margin-bottom:8px}._rawTextPre_i6t4e_140{background:#0d1117;border:1px solid #2a2a2a;border-radius:6px;padding:12px;font-size:12px;color:#e5e7eb;overflow:auto;max-height:600px;white-space:pre-wrap;word-break:break-all}._tabContent_i6t4e_153{padding:12px 0}._collapseSpacing_i6t4e_157{margin-bottom:16px}._bodyLabel_i6t4e_161{margin:0}._bodyHeader_i6t4e_165{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}._diffSection_i6t4e_172{margin-bottom:16px}._diffToggle_i6t4e_176{display:inline-block;margin-bottom:8px;cursor:pointer}._diffIcon_i6t4e_182{font-size:12px;margin-left:4px}._viewInChatBtn_i6t4e_187{display:inline-flex;align-items:center;height:26px;border-radius:13px;border:1px solid #424242;background:transparent;color:#888;cursor:pointer;font-size:12px;transition:all .2s;padding:0 10px;white-space:nowrap}._viewInChatBtn_i6t4e_187:hover{border-color:#666;color:#d1d5db;background:#ffffff0f}._reminderSelect_i6t4e_208{min-width:140px;font-size:12px}._reminderSelect_i6t4e_208 .ant-select-selector{border-radius:2px!important;border-color:#424242!important;background:transparent!important;min-height:26px!important;height:auto!important;padding:0 8px!important;font-family:monospace}._reminderSelect_i6t4e_208 .ant-select-selection-placeholder{font-size:11px}._wrapper_1ovxs_1{margin:6px 0;background:#1a1a2e;border:1px solid #2a2a3e;border-radius:8px;padding:8px 12px}._header_1ovxs_9{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}._headerRight_1ovxs_16{display:flex;align-items:center;gap:12px}._filePath_1ovxs_22{color:#a78bfa;font-size:12px;font-weight:600}._toggle_1ovxs_28{color:#6b7280;font-size:11px;cursor:pointer;-webkit-user-select:none;user-select:none}._diffSummary_1ovxs_35{font-size:11px;color:#6b7280}._tableWrap_1ovxs_40{overflow-x:auto}._diffTable_1ovxs_44{width:100%;border-collapse:collapse;font-family:SF Mono,Cascadia Code,Fira Code,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;table-layout:fixed}._diffTable_1ovxs_44 td{padding:0 4px;white-space:pre;vertical-align:top}._lineNumOld_1ovxs_59,._lineNumNew_1ovxs_60{width:var(--line-num-w, 40px);min-width:var(--line-num-w, 40px);max-width:var(--line-num-w, 40px);text-align:right;color:#484f58;-webkit-user-select:none;user-select:none;padding-right:6px}._prefix_1ovxs_70{width:16px;min-width:16px;max-width:16px;text-align:center;-webkit-user-select:none;user-select:none;font-weight:600}._lineContent_1ovxs_79{width:100%;overflow:hidden;text-overflow:ellipsis}._rowContext_1ovxs_85 td{color:#8b949e}._rowDel_1ovxs_89{background:#ef44441f}._rowDel_1ovxs_89 td{color:#fca5a5}._rowDel_1ovxs_89 ._prefix_1ovxs_70{color:#ef4444}._rowAdd_1ovxs_99{background:#22c55e1f}._rowAdd_1ovxs_99 td{color:#86efac}._rowAdd_1ovxs_99 ._prefix_1ovxs_70{color:#22c55e}._plainResult_1uh60_1{background:#111;border-radius:6px;font-size:12px}._plainTitle_1uh60_7{font-size:11px}._plainPre_1uh60_11{color:#d1d5db;margin:0;white-space:pre-wrap;word-break:break-all;font-size:12px;padding:8px 12px}._codeResult_1uh60_20{background:#0d1117;border-radius:6px;border:1px solid #1e2a3a;overflow:hidden}._codeHeader_1uh60_27{display:flex;justify-content:space-between;align-items:center;padding:4px 10px;background:#161b22;border-bottom:1px solid #1e2a3a}._codeTitle_1uh60_36{font-size:11px;color:#8b949e}._codeToggle_1uh60_41{font-size:11px;color:#484f58;cursor:pointer;-webkit-user-select:none;user-select:none}._codePre_1uh60_48{margin:0;padding:8px 12px;font-size:12px;line-height:1.5;overflow:auto;max-height:500px}._markdownBody_1uh60_57{padding:8px 12px;font-size:13px;line-height:1.6;overflow:auto;max-height:500px}._avatar_w9l4s_3{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}._avatarImg_w9l4s_13{width:32px;height:32px;border-radius:50%;flex-shrink:0;object-fit:cover}._bubble_w9l4s_21{border-radius:8px;padding:10px 14px;max-width:100%;font-size:14px;line-height:1.6;word-break:break-word}._messageRow_w9l4s_32{display:flex;gap:10px;padding:8px 0}._messageRowEnd_w9l4s_38{display:flex;gap:10px;padding:8px 0;justify-content:flex-end}._contentCol_w9l4s_47{min-width:0;flex:1}._contentColLimited_w9l4s_52{min-width:0;max-width:80%;width:fit-content}._labelRow_w9l4s_60{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}._labelRowEnd_w9l4s_67{display:flex;justify-content:flex-end;align-items:center;margin-bottom:2px}._labelRight_w9l4s_74{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-left:auto}._labelText_w9l4s_82{font-size:11px}._timeText_w9l4s_86,._timeTextNoMargin_w9l4s_92{font-size:10px;color:#6b7280;flex-shrink:0}._labelTextRight_w9l4s_98{font-size:11px;margin-left:auto}._bubbleUser_w9l4s_105{background:#1668dc;color:#e5e7eb}._bubbleAssistant_w9l4s_111{background:#141414;color:#e5e7eb;transition:box-shadow 0s;position:relative}._bubbleHighlight_w9l4s_119{box-shadow:0 0 10px #1668dc99}._bubbleHighlightFading_w9l4s_123{box-shadow:0 0 10px #1668dc00;transition:box-shadow 5s ease-out}._borderSvg_w9l4s_128{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}._borderSvgFading_w9l4s_137{opacity:0;transition:opacity 5s ease-out}._borderRect_w9l4s_142{animation:_dashRotate_w9l4s_1 4s linear infinite}@keyframes _dashRotate_w9l4s_1{0%{stroke-dashoffset:0}to{stroke-dashoffset:-100}}._bubblePlan_w9l4s_151{background:#141428;border:5px solid #1668dc;font-size:12px;color:#e5e7eb}._bubbleSubAgent_w9l4s_159{background:#1a1a2e;color:#e5e7eb}._bubbleSelection_w9l4s_165{background:#1a3a1a;color:#e5e7eb}._systemTagLabel_w9l4s_173{font-size:12px}._skillLabel_w9l4s_177{font-size:12px;color:#a78bfa}._systemTagPre_w9l4s_182{font-size:12px;color:#9ca3af;white-space:pre-wrap;word-break:break-all;margin:0}._collapseMargin_w9l4s_190{margin:4px 0}._collapseNoMargin_w9l4s_194{margin:0}._thinkingLabel_w9l4s_200{font-size:12px}._toolBox_w9l4s_206{background:#1a1a2e;border:1px solid #2a2a3e;border-radius:8px;padding:8px 12px;margin:6px 0;font-size:12px}._toolLabel_w9l4s_215{color:#a78bfa}._codePre_w9l4s_221{font-size:12px;margin:4px 0 0;white-space:pre-wrap;word-break:break-all;background:#0d1117;border-radius:4px;padding:6px 8px}._pathTag_w9l4s_233{color:#7dd3fc;font-size:11px}._descSpan_w9l4s_240{color:#6b7280;font-weight:400}._secondarySpan_w9l4s_245{color:#6b7280}._patternSpan_w9l4s_249{color:#fbbf24}._kvContainer_w9l4s_255{margin-top:4px;font-size:11px}._kvItem_w9l4s_260{margin:2px 0}._kvKey_w9l4s_264{color:#7dd3fc}._kvValue_w9l4s_268{color:#9ca3af}._toolResult_w9l4s_274{background:#111827;border:1px solid #1e293b;border-radius:6px;padding:6px 10px;margin:2px 0 6px;font-size:11px}._toolResultLabel_w9l4s_283{font-size:11px}._compactLabel_w9l4s_289{font-size:12px;color:#93c5fd}._compactPre_w9l4s_294{font-size:12px;color:#d1d5db;white-space:pre-wrap;word-break:break-all;margin:0}._viewRequestBtn_w9l4s_304{font-size:10px;color:#555;cursor:pointer;margin-left:6px;flex-shrink:0}._viewRequestBtn_w9l4s_304:hover{color:#93c5fd}._optionList_w9l4s_318{padding-left:8px}._optionDesc_w9l4s_322{color:#555;margin-left:6px;font-weight:400}._questionText_w9l4s_330{font-size:13px;color:#ccc;margin-bottom:4px}._questionSpacing_w9l4s_336{margin-bottom:10px}._option_w9l4s_318{font-size:12px;padding:1px 0}._askQuestionBox_w9l4s_349{background:#0d1f0d;border:1px solid #2ea043;border-radius:8px;padding:8px 12px;margin:6px 0;font-size:12px}._askQuestionHeader_w9l4s_358{display:inline-block;background:#1a3a1a;color:#7ee787;font-size:10px;padding:1px 6px;border-radius:4px;margin-bottom:4px;font-weight:600}._askQuestionText_w9l4s_369{color:#e5e7eb;font-size:13px;margin-bottom:4px}._askOptionItem_w9l4s_375{font-size:12px;color:#9ca3af;padding:1px 0}._planModeBox_w9l4s_383{background:#0d1528;border:1px solid #1668dc;border-radius:8px;padding:8px 12px;margin:6px 0;font-size:12px}._planModeLabel_w9l4s_392{color:#93c5fd;font-weight:600}._planModePermissions_w9l4s_397{margin-top:6px;padding-top:6px;border-top:1px solid #1e3a5f}._planModePermLabel_w9l4s_403{color:#6b7280;font-size:11px;margin-bottom:2px}/**
1
+ body{margin:0;background-color:#0d0d0d}*{scrollbar-width:thin;scrollbar-color:#3a3a3a #0d0d0d}@media(pointer:coarse){*{scrollbar-width:auto;scrollbar-color:auto}}@media(pointer:fine){*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:#0d0d0d}*::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:#555}}.code-highlight{color:#e6edf3}.hl-keyword{color:#ff7b72}.hl-string{color:#a5d6ff}.hl-comment{color:#8b949e;font-style:italic}.hl-number{color:#79c0ff}.hl-linenum{color:#484f58;-webkit-user-select:none;user-select:none}.chat-md pre{background:#0d1117;border:1px solid #2a2a2a;border-radius:6px;padding:12px;overflow-x:auto;font-size:13px;line-height:1.5}.chat-md code{background:#1a1a2e;padding:2px 6px;border-radius:4px;font-size:13px;color:#e5e7eb}.chat-md pre code{background:none;padding:0}.chat-md p{margin:6px 0}.chat-md ul,.chat-md ol{padding-left:20px;margin:6px 0}.chat-md li{margin:2px 0}.chat-md h1,.chat-md h2,.chat-md h3{margin:12px 0 6px;color:#fff}.chat-md h1{font-size:1.3em}.chat-md h2{font-size:1.15em}.chat-md h3{font-size:1.05em}.chat-md blockquote{border-left:3px solid #3b82f6;margin:8px 0;padding:4px 12px;color:#9ca3af}.chat-md table{border-collapse:collapse;margin:8px 0;font-size:13px}.chat-md th,.chat-md td{border:1px solid #2a2a2a;padding:6px 10px}.chat-md th{background:#1a1a1a;color:#fff}.chat-md a{color:#60a5fa}.chat-md hr{border:none;border-top:1px solid #2a2a2a;margin:12px 0}.chat-md strong{color:#f1f5f9}.chat-md em{color:#cbd5e1}.ant-tooltip .ant-tooltip-inner{background-color:#090909}.ant-tooltip .ant-tooltip-arrow:before,.ant-tooltip .ant-tooltip-arrow:after{background:#090909}._helpBtn_ovmho_1{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#1a1a1a;border:1px solid #444;color:#aaa;font-size:11px;line-height:1;cursor:pointer;margin-left:4px;vertical-align:middle;transition:background .2s;-webkit-user-select:none;user-select:none}._helpBtn_ovmho_1:hover{background:#333}._modalBody_ovmho_24{max-height:60vh;overflow-y:auto;overflow-x:hidden;line-height:1.7;color:#d9d9d9;word-break:break-word}._modalBody_ovmho_24 h1,._modalBody_ovmho_24 h2,._modalBody_ovmho_24 h3{margin-top:.8em;color:#f0f0f0}._modalBody_ovmho_24 p{margin:.5em 0}._modalBody_ovmho_24 code{background:#2a2a2a;padding:1px 4px;border-radius:3px;font-size:.9em;color:#e8ab6a}._modalBody_ovmho_24 pre{background:#1a1a1a;padding:12px;border-radius:6px;overflow-x:auto;color:#d9d9d9;max-width:100%;box-sizing:border-box}._modalBody_ovmho_24 a{color:#5b9bd5}._modalBody_ovmho_24 strong{color:#f0f0f0}._spinWrap_ovmho_70{display:flex;justify-content:center;padding:40px 0}._modalBody_ovmho_24 textarea{width:100%;min-height:200px;background:#1a1a1a;color:#d9d9d9;font-family:monospace;font-size:13px;line-height:1.6;border:1px solid #333;border-radius:6px;padding:10px 14px;resize:vertical;outline:none;box-sizing:border-box}@media(max-width:768px){._modalBody_ovmho_24{font-size:13px;line-height:1.6;max-height:75vh}._modalBody_ovmho_24 h1{font-size:18px}._modalBody_ovmho_24 h2{font-size:16px}._modalBody_ovmho_24 h3{font-size:14px}._modalBody_ovmho_24 pre{font-size:12px;padding:8px}._modalBody_ovmho_24 code,._modalBody_ovmho_24 textarea{font-size:12px}}._headerBar_1oh31_2{display:flex;align-items:center;justify-content:space-between;width:100%;height:100%}._titleText_1oh31_11{color:#fff;font-size:18px;cursor:pointer}._logoImage_1oh31_17{height:24px;width:24px;margin-right:6px;border-radius:3px;vertical-align:text-bottom}._titleArrow_1oh31_25{font-size:12px;margin-left:4px}._tokenStatsTag_1oh31_31{border-radius:12px;cursor:pointer;background:#2a2a2a;border:1px solid #3a3a3a;color:#ccc}._tokenStatsIcon_1oh31_39{margin-right:4px}._liveTag_1oh31_44{border-radius:12px}._liveDotWrap_1oh31_48{display:inline-flex;align-items:center;justify-content:center;width:10px;height:10px;vertical-align:middle;margin-right:2px;position:relative;top:-1px}._liveTag_1oh31_44 .ant-badge-status-processing{animation:_breathe_1oh31_1 2.5s ease-in-out infinite}@keyframes _breathe_1oh31_1{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}._liveSpinner_1oh31_70{display:block;animation:_spinPlusStar_1oh31_1 2s linear infinite}._liveSpinnerDiag_1oh31_75{animation:_diagFade_1oh31_1 2s ease-in-out infinite}@keyframes _spinPlusStar_1oh31_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes _diagFade_1oh31_1{0%,to{opacity:1}50%{opacity:0}}._inflightList_1oh31_90{min-width:180px}._inflightItem_1oh31_94{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12px}._inflightItem_1oh31_94+._inflightItem_1oh31_94{border-top:1px solid #333}._inflightTag_1oh31_106{color:#52c41a;font-weight:500;white-space:nowrap}._inflightModel_1oh31_112{color:#999;white-space:nowrap}._inflightTime_1oh31_117{color:#666;margin-left:auto;white-space:nowrap}._liveTagHistory_1oh31_123{background:#2a2a2a;border-color:#424242;color:#d1d5db}._liveTagText_1oh31_129{margin-left:4px}._countdownStrong_1oh31_134{font-variant-numeric:tabular-nums}._qrcodePopover_1oh31_139{display:flex;flex-direction:column;align-items:center;padding:8px}._qrcodeSection_1oh31_146{display:flex;flex-direction:column;align-items:center;padding:16px;margin-bottom:12px;border:1px solid #333;border-radius:8px;background:#111}._qrcodeTitle_1oh31_157{font-size:14px;font-weight:600;color:#e5e5e5;margin-bottom:12px}._qrcodeUrlInput_1oh31_164{margin-top:12px;font-size:12px;font-family:Menlo,Monaco,monospace}._qrcodeUrlCopy_1oh31_170{cursor:pointer;color:#888;transition:color .2s}._qrcodeUrlCopy_1oh31_170:hover{color:#3b82f6}._settingsGroupBox_1oh31_181{border:1px solid #333;border-radius:8px;background:#111;padding:4px 16px;margin-bottom:12px}._settingsGroupTitle_1oh31_189{font-size:14px;font-weight:600;color:#e5e5e5;padding:12px 0 4px;border-bottom:1px solid #333}._settingsItem_1oh31_198{display:flex;justify-content:space-between;align-items:center;padding:12px 0}._settingsLabel_1oh31_205{font-size:14px}._tokenStatsEmpty_1oh31_210{padding:8px 4px;color:#999;font-size:13px}._tokenStatsContainer_1oh31_217{display:flex;gap:12px;align-items:flex-start}._tokenStatsColumn_1oh31_223{min-width:240px}._toolStatsColumn_1oh31_227{min-width:180px}._modelCard_1oh31_232{border:1px solid #333;border-radius:6px;padding:8px 10px;background:#111}._modelCardSpaced_1oh31_239{margin-bottom:10px}._modelName_1oh31_245{font-size:13px;font-weight:600;color:#e5e5e5;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #333}._statsTable_1oh31_255{width:100%;border-collapse:collapse}._th_1oh31_260{padding:2px 12px;font-size:12px;font-family:monospace;white-space:nowrap;color:#888;font-weight:400;text-align:right}._td_1oh31_270{padding:2px 12px;font-size:12px;font-family:monospace;white-space:nowrap;color:#e5e5e5;text-align:right}._label_1oh31_279{padding:2px 12px;font-size:12px;font-family:monospace;white-space:nowrap;color:#aaa;font-weight:400;text-align:left}._rowBorder_1oh31_289{border-bottom:1px solid #2a2a2a}._rebuildCard_1oh31_293{border:1px solid #333;border-radius:6px;padding:8px 10px;margin-top:10px;background:#111}._rebuildTotalRow_1oh31_301{border-top:1px solid #444}._rebuildTotalRow_1oh31_301 td{font-weight:600}._promptExportBar_1oh31_310{margin-bottom:12px}._promptScrollArea_1oh31_314{max-height:500px;overflow:auto}._promptEmpty_1oh31_319{color:#999;padding:12px}._promptTimestamp_1oh31_325{color:#666;font-size:12px;margin:12px 0 4px;padding-bottom:6px}._textPromptCard_1oh31_333{margin:4px 0;background:#141414;border-radius:6px;border:1px solid #303030;padding:10px 14px}._preText_1oh31_342{white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.6;color:#d9d9d9;margin:4px 0}._systemCollapse_1oh31_352{margin:4px 0;background:#1a1a1a;border:1px solid #303030;border-radius:6px}._systemLabel_1oh31_359{color:#888;font-size:12px}._preSys_1oh31_364{white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.5;color:#999;margin:0}._promptTextarea_1oh31_374{box-sizing:border-box;background:#000;width:100%;min-height:400px;color:#d9d9d9;font-family:monospace;font-size:13px;line-height:1.6;border:none;resize:vertical;padding:10px 14px;outline:none}._projectStatsCenter_1oh31_390{display:flex;justify-content:center;padding:40px 0}._projectStatsEmpty_1oh31_396{color:#999;padding:40px 0;text-align:center;font-size:13px}._projectStatsContent_1oh31_403{display:flex;flex-direction:column;gap:16px}._projectStatsUpdated_1oh31_409{color:#666;font-size:12px;text-align:right}._projectStatsSummary_1oh31_415{display:grid;grid-template-columns:1fr 1fr;gap:10px}._projectStatCard_1oh31_421{background:#111;border:1px solid #333;border-radius:8px;padding:14px 12px;text-align:center}._projectStatValue_1oh31_429{font-size:22px;font-weight:700;color:#e5e5e5;font-family:monospace;font-variant-numeric:tabular-nums}._projectStatLabel_1oh31_437{font-size:12px;color:#888;margin-top:4px}._projectStatsSection_1oh31_443{display:flex;flex-direction:column;gap:10px}._projectStatsSectionTitle_1oh31_449{font-size:14px;font-weight:600;color:#ccc;padding-bottom:4px;border-bottom:1px solid #333}._projectStatsModelCard_1oh31_457{background:#111;border:1px solid #333;border-radius:6px;padding:10px 12px}._projectStatsModelHeader_1oh31_464{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #333}._projectStatsModelName_1oh31_473{font-size:13px;font-weight:600;color:#e5e5e5}._projectStatsModelCount_1oh31_479{font-size:12px;color:#888;font-family:monospace}._pluginDirHint_1oh31_486{margin-bottom:12px;font-size:12px;color:#888}._pluginDirPath_1oh31_492{font-family:Menlo,Monaco,monospace;color:#aaa;cursor:pointer;padding:1px 4px;border-radius:3px;background:#1a1a1a}._pluginDirPath_1oh31_492:hover{color:#3b82f6}._pluginList_1oh31_505{display:flex;flex-direction:column;gap:8px}._pluginItem_1oh31_511{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #303030;border-radius:6px;background:#141414}._pluginInfo_1oh31_521{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}._pluginName_1oh31_529{font-size:14px;color:#e5e5e5;font-weight:500}._pluginFile_1oh31_535{font-size:12px;color:#666;font-family:Menlo,Monaco,monospace}._pluginHooks_1oh31_541{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}._pluginHookTag_1oh31_548{font-size:11px;padding:0 5px;border-radius:3px;background:#1e3a5f;color:#6cb6ff;line-height:18px}._pluginActions_1oh31_557{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:12px}._pluginEmpty_1oh31_565{text-align:center;padding:32px 0;color:#999}._centerEmpty_oxhcp_1{display:flex;align-items:center;justify-content:center;height:100%}._scrollContainer_oxhcp_8{overflow:auto;height:100%;-webkit-overflow-scrolling:touch;will-change:scroll-position}._listItem_oxhcp_15{cursor:pointer;padding:8px 12px;border-left:3px solid transparent;border-bottom:1px solid #1f1f1f;transition:background .15s}._listItem_oxhcp_15:hover{background:#151515}._listItemActive_oxhcp_27{background:#1a2332;border-left-color:#3b82f6}._listItemActive_oxhcp_27:hover{background:#1a2332}._itemContent_oxhcp_36{width:100%;min-width:0}._itemHeader_oxhcp_41{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:12px}._tagNoMargin_oxhcp_49{margin:0;font-size:12px}._modelName_oxhcp_54{font-size:12px}._time_oxhcp_58{font-size:12px;color:#6b7280;margin-left:auto}._detailRow_oxhcp_64{display:flex;gap:8px;font-size:12px;align-items:center}._urlText_oxhcp_71{color:#555;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}._duration_oxhcp_80{color:#6b7280;flex-shrink:0}._statusOk_oxhcp_85{color:#52c41a;opacity:.5;flex-shrink:0}._statusErr_oxhcp_91{color:#ef4444;flex-shrink:0}._statusDefault_oxhcp_96{color:#9ca3af;flex-shrink:0}._usageBox_oxhcp_101{background:#111;border-radius:4px;padding:3px 6px;margin-top:4px;font-size:12px;color:#6b7280;line-height:1.6}._cacheDot_oxhcp_111{display:inline-block;width:6px;height:6px;border-radius:50%;margin:0 3px;vertical-align:middle}._cacheDotLoss_oxhcp_120{background-color:#8b1a1a;cursor:help}._cacheDotNormal_oxhcp_125{background-color:#3a3a3a}._GzYRV{line-height:1.2;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}._3eOF8{margin-right:5px;font-weight:700}._3eOF8+._3eOF8{margin-left:-5px}._1MFti{cursor:pointer}._f10Tu{font-size:1.2em;margin-right:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none}._1UmXx:after{content:"▸"}._1LId0:after{content:"▾"}._1pNG9{margin-right:5px}._1pNG9:after{content:"...";font-size:.8em}._2IvMF{background:#eee}._2bkNM{margin:0;padding:0 10px}._1BXBN{margin:0;padding:0}._1MGIk{font-weight:600;margin-right:5px;color:#000}._3uHL6{color:#000}._2T6PJ,._1Gho6{color:#df113a}._vGjyY{color:#2a3f3c}._1bQdo{color:#0b75f5}._3zQKs{color:#469038}._1xvuR{color:#43413d}._oLqym,._2AXVT,._2KJWg{color:#000}._11RoI{background:#002b36}._17H2C,._3QHg2,._3fDAz{color:#fdf6e3}._2bSDX{font-weight:bolder;margin-right:5px;color:#fdf6e3}._gsbQL{color:#fdf6e3}._LaAZe,._GTKgm{color:#81b5ac}._Chy1W{color:#cb4b16}._2bveF{color:#d33682}._2vRm-{color:#ae81ff}._1prJR{color:#268bd2}._container_1h2lr_1{background:#0d1117;border-radius:6px;border:1px solid #2a2a2a;padding:12px;font-size:13px;font-family:monospace;overflow:auto}._tag_17wfp_1{display:inline-block;font-size:10px;color:#6b7280;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:3px;padding:0 4px;margin-left:6px;cursor:pointer;line-height:18px;vertical-align:middle;transition:color .2s,border-color .2s;-webkit-user-select:none;user-select:none}._tag_17wfp_1:hover{color:#93c5fd;border-color:#93c5fd4d}._tagActive_17wfp_22{color:#93c5fd;border-color:#93c5fd40}._tagLoading_17wfp_27{cursor:wait;opacity:.7}._spinner_17wfp_32{display:inline-block;width:10px;height:10px;border:1.5px solid rgba(147,197,253,.3);border-top-color:#93c5fd;border-radius:50%;animation:_spin_17wfp_32 .6s linear infinite;margin-right:3px;vertical-align:middle}@keyframes _spin_17wfp_32{to{transform:rotate(360deg)}}._root_1bepf_1{display:flex;height:100%;min-height:0;gap:0}._sidebar_1bepf_9{width:220px;flex-shrink:0;border-right:1px solid #2a2a2a;overflow-y:auto;padding:4px 0;-webkit-overflow-scrolling:touch}._section_1bepf_18{-webkit-user-select:none;user-select:none}._sectionHeader_1bepf_22{display:flex;align-items:center;gap:6px;padding:6px 10px;cursor:pointer;color:#d1d5db;font-size:12px;font-weight:600;transition:background .15s}._sectionHeader_1bepf_22:hover{background:#ffffff0d}._arrow_1bepf_38{font-size:10px;color:#888;flex-shrink:0}._sectionTitle_1bepf_44{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._sectionCount_1bepf_52{font-size:11px;color:#666;background:#1f1f1f;border-radius:10px;padding:0 6px;line-height:18px}._sectionBody_1bepf_61{padding:2px 0}._historyToggle_1bepf_66{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 14px;cursor:pointer;color:#666;font-size:11px;transition:color .15s,background .15s}._historyToggle_1bepf_66:hover{color:#888;background:#ffffff08}._historyToggleLabel_1bepf_82{flex:1}._item_1bepf_87{display:flex;align-items:center;justify-content:space-between;padding:5px 10px 5px 24px;font-size:12px;color:#888;cursor:pointer;transition:background .15s,color .15s}._item_1bepf_87:hover{background:#ffffff0a;color:#d1d5db}._itemActive_1bepf_103{background:#63b3ed1f;color:#63b3ed}._itemActive_1bepf_103:hover{background:#63b3ed29;color:#63b3ed}._itemContent_1bepf_113{flex:1;min-width:0;overflow:hidden}._itemLabel_1bepf_119{font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}._itemSublabel_1bepf_127{font-size:10px;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}._itemTime_1bepf_136{font-size:9px;color:#555;flex-shrink:0;margin-left:4px;font-family:monospace}._content_1bepf_145{flex:1;min-width:0;overflow:auto;padding:12px 16px;-webkit-overflow-scrolling:touch}._contentEmpty_1bepf_153{height:100%;display:flex;align-items:center;justify-content:center}._contentInner_1bepf_160{padding-bottom:20px}._emptyWrap_1bepf_164{display:flex;align-items:center;justify-content:center;height:200px}._roleHeader_1bepf_172{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:nowrap}._roleBadge_1bepf_180{font-size:10px;font-weight:600;letter-spacing:.04em;padding:2px 7px;border-radius:4px;flex-shrink:0}._role_user_1bepf_189{background:#3b82f62e;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}._role_assistant_1bepf_195{background:#8b5cf62e;color:#a78bfa;border:1px solid rgba(139,92,246,.3)}._roleLabel_1bepf_201{font-size:11px;color:#666;flex:1;min-width:0}._contentTime_1bepf_208{margin-left:auto;font-size:10px;color:#555;font-family:monospace;flex-shrink:0}._turnDivider_1bepf_216{border:none;border-top:1px solid #1e1e1e;margin:14px 0}._textBlock_1bepf_223{margin-bottom:8px;border:1px solid #222;border-radius:6px;overflow:hidden}._textBlockBar_1bepf_230{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#141414;border-bottom:1px solid #222}._textBlockBody_1bepf_239{padding:10px 12px;font-size:13px;line-height:1.7;color:#d1d5db;word-break:break-word}._textBlockCompact_1bepf_247{position:relative;padding:8px 10px;font-size:12px;color:#aaa}._textBlockCompactFloat_1bepf_254{float:right;margin-left:6px;margin-bottom:2px}._thinkingBlock_1bepf_261{margin-bottom:8px;border:1px solid #2a2a1e;border-radius:6px;overflow:hidden;background:#111108}._thinkingHeader_1bepf_269{display:flex;align-items:center;gap:6px;padding:5px 10px;cursor:pointer;font-size:12px;color:#888;transition:background .15s}._thinkingHeader_1bepf_269:hover{background:#ffffc808}._thinkingPreview_1bepf_284{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#666;font-size:11px}._thinkingBody_1bepf_294{padding:8px 12px;border-top:1px solid #2a2a1e}._toolBlock_1bepf_300{margin-bottom:8px;border:1px solid #222;border-radius:6px;overflow:hidden}._toolBlockResult_1bepf_307{border-color:#1a2a1a}._toolBlockError_1bepf_311{border-color:#2a1a1a}._toolBlockHeader_1bepf_315{display:flex;align-items:center;gap:8px;padding:5px 10px;background:#141414;border-bottom:1px solid #222;font-size:12px;flex-wrap:wrap}._toolBlockBody_1bepf_326{padding:8px 10px;font-size:12px}._toolName_1bepf_331{color:#d1d5db;font-weight:500;font-family:monospace}._toolId_1bepf_337{color:#555;font-size:10px;font-family:monospace;margin-left:auto}._errorLabel_1bepf_344{font-size:10px;color:#f87171;background:#ef44441f;border:1px solid rgba(239,68,68,.25);border-radius:3px;padding:1px 5px}._blockTag_1bepf_354{font-size:9px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:1px 5px;border-radius:3px;background:#1a1a1a;color:#666;border:1px solid #2a2a2a;flex-shrink:0}._blockTagText_1bepf_367{background:#3b82f61a;color:#60a5fa;border-color:#3b82f633}._blockTagThinking_1bepf_373{background:#eab3081a;color:#ca8a04;border-color:#eab30833}._blockTagResult_1bepf_379{background:#22c55e1a;color:#4ade80;border-color:#22c55e33}._blockTagError_1bepf_385{background:#ef44441a;color:#f87171;border-color:#ef444433}._jsonBlock_1bepf_392{margin-bottom:8px;border:1px solid #222;border-radius:6px;overflow:hidden}._jsonBlockLabel_1bepf_399{font-size:10px;color:#666;padding:3px 10px;background:#141414;border-bottom:1px solid #222;font-family:monospace}._blockSeparator_1bepf_409{border:none;border-top:1px solid #2a2a2a;margin:16px 0}._markdownBody_1bepf_416{font-size:13px;line-height:1.7;color:#d1d5db;word-break:break-word}._container_i6t4e_1{height:100%;overflow:auto;padding:0 16px;-webkit-overflow-scrolling:touch;will-change:scroll-position}._emptyState_i6t4e_9{display:flex;align-items:center;justify-content:center;height:100%}._urlSection_i6t4e_16{padding:12px 0;border-bottom:1px solid #1f1f1f;display:flex;align-items:flex-start}._urlLeft_i6t4e_23{flex:1;min-width:0}._tokenStatsBox_i6t4e_28{flex-shrink:0;padding-left:12px;display:flex;align-items:center}._tokenGrid_i6t4e_35{display:flex;border:1px solid #303030;border-radius:6px;overflow:hidden;min-width:360px;font-size:11px;line-height:1.6}._tokenRows_i6t4e_45{flex:1}._tokenRow_i6t4e_45{display:flex}._tokenRowBorder_i6t4e_53{border-top:1px solid #303030}._tokenLabel_i6t4e_57{color:#888;padding:4px 8px;white-space:nowrap;font-weight:600}._tokenTd_i6t4e_64{flex:1;color:#d1d5db;text-align:right;padding:4px 8px;font-family:monospace;white-space:nowrap}._tokenHitRate_i6t4e_73{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#d1d5db;padding:4px 8px;font-family:monospace;white-space:nowrap;border-left:1px solid #303030;min-width:100px}._tokenHitRateLabel_i6t4e_86{color:#888;font-size:10px;font-family:sans-serif}._tokenRowBorder_i6t4e_53 td{border-top:1px solid #303030}._urlText_i6t4e_96{color:#d1d5db;font-size:13px;margin-bottom:8px;word-break:break-all}._metaText_i6t4e_103,._headersContainer_i6t4e_107{font-size:12px}._headerRow_i6t4e_111{display:flex;padding:4px 0;border-bottom:1px solid #1f1f1f}._headerKey_i6t4e_117{min-width:200px;flex-shrink:0}._headerValue_i6t4e_122{word-break:break-all;margin-left:8px}._streamingBox_i6t4e_127{padding:20px;background:#1a1a1a;border-radius:6px;border:1px solid #2a2a2a}._bodyToolbar_i6t4e_134{display:flex;gap:8px;margin-bottom:8px}._rawTextPre_i6t4e_140{background:#0d1117;border:1px solid #2a2a2a;border-radius:6px;padding:12px;font-size:12px;color:#e5e7eb;overflow:auto;max-height:600px;white-space:pre-wrap;word-break:break-all}._tabContent_i6t4e_153{padding:12px 0}._collapseSpacing_i6t4e_157{margin-bottom:16px}._bodyLabel_i6t4e_161{margin:0}._bodyHeader_i6t4e_165{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}._diffSection_i6t4e_172{margin-bottom:16px}._diffToggle_i6t4e_176{display:inline-block;margin-bottom:8px;cursor:pointer}._diffIcon_i6t4e_182{font-size:12px;margin-left:4px}._viewInChatBtn_i6t4e_187{display:inline-flex;align-items:center;height:26px;border-radius:13px;border:1px solid #424242;background:transparent;color:#888;cursor:pointer;font-size:12px;transition:all .2s;padding:0 10px;white-space:nowrap}._viewInChatBtn_i6t4e_187:hover{border-color:#666;color:#d1d5db;background:#ffffff0f}._reminderSelect_i6t4e_208{min-width:140px;font-size:12px}._reminderSelect_i6t4e_208 .ant-select-selector{border-radius:2px!important;border-color:#424242!important;background:transparent!important;min-height:26px!important;height:auto!important;padding:0 8px!important;font-family:monospace}._reminderSelect_i6t4e_208 .ant-select-selection-placeholder{font-size:11px}._wrapper_xav1m_1{margin:6px 0;background:#1a1a2e;border:1px solid #2a2a3e;border-radius:8px;padding:8px 12px}._header_xav1m_9{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}._headerRight_xav1m_16{display:flex;align-items:center;gap:12px;flex-shrink:0;white-space:nowrap}._filePath_xav1m_24{color:#a78bfa;font-size:12px;font-weight:600}._toggle_xav1m_30{color:#6b7280;font-size:11px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0}._diffSummary_xav1m_39{font-size:11px;color:#6b7280}._tableWrap_xav1m_44{overflow-x:auto}._diffTable_xav1m_48{border-collapse:collapse;font-family:SF Mono,Cascadia Code,Fira Code,Menlo,Consolas,monospace;font-size:12px;line-height:1.5}._diffTable_xav1m_48 td{padding:0 4px;white-space:pre;vertical-align:top}._lineNumOld_xav1m_61,._lineNumNew_xav1m_62{width:var(--line-num-w, 40px);min-width:var(--line-num-w, 40px);max-width:var(--line-num-w, 40px);text-align:right;color:#484f58;-webkit-user-select:none;user-select:none;padding-right:6px;position:sticky;z-index:2}._lineNumOld_xav1m_61{left:0}._lineNumNew_xav1m_62{left:var(--line-num-w, 40px)}._prefix_xav1m_82{width:16px;min-width:16px;max-width:16px;text-align:center;-webkit-user-select:none;user-select:none;font-weight:600;position:sticky;left:calc(var(--line-num-w, 40px) * 2);z-index:2}._lineContent_xav1m_94{white-space:pre}._rowContext_xav1m_98{background:#1a1a2e}._rowContext_xav1m_98 td{color:#8b949e}._rowContext_xav1m_98 ._lineNumOld_xav1m_61,._rowContext_xav1m_98 ._lineNumNew_xav1m_62,._rowContext_xav1m_98 ._prefix_xav1m_82{background:#1a1a2e}._rowDel_xav1m_110{background:#ef44441f}._rowDel_xav1m_110 td{color:#fca5a5}._rowDel_xav1m_110 ._prefix_xav1m_82{color:#ef4444}._rowDel_xav1m_110 ._lineNumOld_xav1m_61,._rowDel_xav1m_110 ._lineNumNew_xav1m_62,._rowDel_xav1m_110 ._prefix_xav1m_82{background:#341f31}._rowAdd_xav1m_125{background:#22c55e1f}._rowAdd_xav1m_125 td{color:#86efac}._rowAdd_xav1m_125 ._prefix_xav1m_82{color:#22c55e}._rowAdd_xav1m_125 ._lineNumOld_xav1m_61,._rowAdd_xav1m_125 ._lineNumNew_xav1m_62,._rowAdd_xav1m_125 ._prefix_xav1m_82{background:#1b2f34}._plainResult_1uh60_1{background:#111;border-radius:6px;font-size:12px}._plainTitle_1uh60_7{font-size:11px}._plainPre_1uh60_11{color:#d1d5db;margin:0;white-space:pre-wrap;word-break:break-all;font-size:12px;padding:8px 12px}._codeResult_1uh60_20{background:#0d1117;border-radius:6px;border:1px solid #1e2a3a;overflow:hidden}._codeHeader_1uh60_27{display:flex;justify-content:space-between;align-items:center;padding:4px 10px;background:#161b22;border-bottom:1px solid #1e2a3a}._codeTitle_1uh60_36{font-size:11px;color:#8b949e}._codeToggle_1uh60_41{font-size:11px;color:#484f58;cursor:pointer;-webkit-user-select:none;user-select:none}._codePre_1uh60_48{margin:0;padding:8px 12px;font-size:12px;line-height:1.5;overflow:auto;max-height:500px}._markdownBody_1uh60_57{padding:8px 12px;font-size:13px;line-height:1.6;overflow:auto;max-height:500px}._avatar_w9l4s_3{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}._avatarImg_w9l4s_13{width:32px;height:32px;border-radius:50%;flex-shrink:0;object-fit:cover}._bubble_w9l4s_21{border-radius:8px;padding:10px 14px;max-width:100%;font-size:14px;line-height:1.6;word-break:break-word}._messageRow_w9l4s_32{display:flex;gap:10px;padding:8px 0}._messageRowEnd_w9l4s_38{display:flex;gap:10px;padding:8px 0;justify-content:flex-end}._contentCol_w9l4s_47{min-width:0;flex:1}._contentColLimited_w9l4s_52{min-width:0;max-width:80%;width:fit-content}._labelRow_w9l4s_60{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}._labelRowEnd_w9l4s_67{display:flex;justify-content:flex-end;align-items:center;margin-bottom:2px}._labelRight_w9l4s_74{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-left:auto}._labelText_w9l4s_82{font-size:11px}._timeText_w9l4s_86,._timeTextNoMargin_w9l4s_92{font-size:10px;color:#6b7280;flex-shrink:0}._labelTextRight_w9l4s_98{font-size:11px;margin-left:auto}._bubbleUser_w9l4s_105{background:#1668dc;color:#e5e7eb}._bubbleAssistant_w9l4s_111{background:#141414;color:#e5e7eb;transition:box-shadow 0s;position:relative}._bubbleHighlight_w9l4s_119{box-shadow:0 0 10px #1668dc99}._bubbleHighlightFading_w9l4s_123{box-shadow:0 0 10px #1668dc00;transition:box-shadow 5s ease-out}._borderSvg_w9l4s_128{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}._borderSvgFading_w9l4s_137{opacity:0;transition:opacity 5s ease-out}._borderRect_w9l4s_142{animation:_dashRotate_w9l4s_1 4s linear infinite}@keyframes _dashRotate_w9l4s_1{0%{stroke-dashoffset:0}to{stroke-dashoffset:-100}}._bubblePlan_w9l4s_151{background:#141428;border:5px solid #1668dc;font-size:12px;color:#e5e7eb}._bubbleSubAgent_w9l4s_159{background:#1a1a2e;color:#e5e7eb}._bubbleSelection_w9l4s_165{background:#1a3a1a;color:#e5e7eb}._systemTagLabel_w9l4s_173{font-size:12px}._skillLabel_w9l4s_177{font-size:12px;color:#a78bfa}._systemTagPre_w9l4s_182{font-size:12px;color:#9ca3af;white-space:pre-wrap;word-break:break-all;margin:0}._collapseMargin_w9l4s_190{margin:4px 0}._collapseNoMargin_w9l4s_194{margin:0}._thinkingLabel_w9l4s_200{font-size:12px}._toolBox_w9l4s_206{background:#1a1a2e;border:1px solid #2a2a3e;border-radius:8px;padding:8px 12px;margin:6px 0;font-size:12px}._toolLabel_w9l4s_215{color:#a78bfa}._codePre_w9l4s_221{font-size:12px;margin:4px 0 0;white-space:pre-wrap;word-break:break-all;background:#0d1117;border-radius:4px;padding:6px 8px}._pathTag_w9l4s_233{color:#7dd3fc;font-size:11px}._descSpan_w9l4s_240{color:#6b7280;font-weight:400}._secondarySpan_w9l4s_245{color:#6b7280}._patternSpan_w9l4s_249{color:#fbbf24}._kvContainer_w9l4s_255{margin-top:4px;font-size:11px}._kvItem_w9l4s_260{margin:2px 0}._kvKey_w9l4s_264{color:#7dd3fc}._kvValue_w9l4s_268{color:#9ca3af}._toolResult_w9l4s_274{background:#111827;border:1px solid #1e293b;border-radius:6px;padding:6px 10px;margin:2px 0 6px;font-size:11px}._toolResultLabel_w9l4s_283{font-size:11px}._compactLabel_w9l4s_289{font-size:12px;color:#93c5fd}._compactPre_w9l4s_294{font-size:12px;color:#d1d5db;white-space:pre-wrap;word-break:break-all;margin:0}._viewRequestBtn_w9l4s_304{font-size:10px;color:#555;cursor:pointer;margin-left:6px;flex-shrink:0}._viewRequestBtn_w9l4s_304:hover{color:#93c5fd}._optionList_w9l4s_318{padding-left:8px}._optionDesc_w9l4s_322{color:#555;margin-left:6px;font-weight:400}._questionText_w9l4s_330{font-size:13px;color:#ccc;margin-bottom:4px}._questionSpacing_w9l4s_336{margin-bottom:10px}._option_w9l4s_318{font-size:12px;padding:1px 0}._askQuestionBox_w9l4s_349{background:#0d1f0d;border:1px solid #2ea043;border-radius:8px;padding:8px 12px;margin:6px 0;font-size:12px}._askQuestionHeader_w9l4s_358{display:inline-block;background:#1a3a1a;color:#7ee787;font-size:10px;padding:1px 6px;border-radius:4px;margin-bottom:4px;font-weight:600}._askQuestionText_w9l4s_369{color:#e5e7eb;font-size:13px;margin-bottom:4px}._askOptionItem_w9l4s_375{font-size:12px;color:#9ca3af;padding:1px 0}._planModeBox_w9l4s_383{background:#0d1528;border:1px solid #1668dc;border-radius:8px;padding:8px 12px;margin:6px 0;font-size:12px}._planModeLabel_w9l4s_392{color:#93c5fd;font-weight:600}._planModePermissions_w9l4s_397{margin-top:6px;padding-top:6px;border-top:1px solid #1e3a5f}._planModePermLabel_w9l4s_403{color:#6b7280;font-size:11px;margin-bottom:2px}/**
2
2
  * Copyright (c) 2014 The xterm.js authors. All rights reserved.
3
3
  * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
4
4
  * https://github.com/chjj/term.js
package/dist/index.html CHANGED
@@ -6,8 +6,8 @@
6
6
  <title>Claude Code Viewer</title>
7
7
  <link rel="icon" href="/favicon.ico?v=1">
8
8
  <link rel="shortcut icon" href="/favicon.ico?v=1">
9
- <script type="module" crossorigin src="/assets/index-J-HTEXmo.js"></script>
10
- <link rel="stylesheet" crossorigin href="/assets/index-48freCdh.css">
9
+ <script type="module" crossorigin src="/assets/index-B_PWewSO.js"></script>
10
+ <link rel="stylesheet" crossorigin href="/assets/index-DanT_EUs.css">
11
11
  </head>
12
12
  <body>
13
13
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cc-viewer",
3
- "version": "1.5.5",
3
+ "version": "1.5.6",
4
4
  "description": "Claude Code Logger visualization management tool",
5
5
  "license": "MIT",
6
6
  "main": "server.js",