@bd7pil/ocrc 0.17.0 → 0.17.1

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.
@@ -1,4 +1,4 @@
1
- import"../chunks/CWj6FrbW.js";import{r as Re,f as Ce,k as Nt,p as Pt,l as sa,i as _a,F as ga,y as ba,j as xa,z as Bt,e as ka,a as Xt,b as Yt,c as Zt,B as wa,w as ya}from"../chunks/TuGPYaVf.js";import{aE as ze,M as ot,a4 as Te,w as i,aB as Fe,V,b4 as n,J as s,aK as a,a$ as D,a8 as e,aR as S,a3 as W,aU as r,a6 as u,aw as yt,ay as jt,ap as y,aO as t,aq as Ue,au as o,b5 as Ct,Q as $a,az as Wt,$ as bt,b2 as na,av as It,b1 as Ot,aI as qa,b0 as Ia,a7 as Ca,Z as Sa}from"../chunks/BjY4dxcB.js";import{i as A,a as Pe,s as Mt}from"../chunks/DIEDQ_hk.js";import{h as De,w as Rt,I as He,j as ja,v as Le,k as xt,u as we,M as ra,t as Ma,x as Ea,c as Ta,e as Lt,g as Da,f as oa,q as Aa,s as Ba,C as ea,a as Oa,z as Ra,y as za,l as la,p as Fa,n as ta,i as La}from"../chunks/CVAbf59M.js";import{p as qe,b as at}from"../chunks/C2FuqD3s.js";import{g as zt}from"../chunks/DY5gTx_H.js";var Na=u('<button class="chip svelte-1hbn5f9" role="listitem"> </button>'),Pa=u('<div class="suggestions svelte-1hbn5f9" role="list" aria-label="建议的后续操作"><!> <button class="dismiss svelte-1hbn5f9" aria-label="忽略建议"><!></button></div>');function Wa(ce,P){ze(P,!1);let c=qe(P,"suggestions",24,()=>[]),g=qe(P,"onPick",8,()=>{}),_=qe(P,"onDismiss",8,()=>{});Re();var O=ot(),p=Te(O);{var f=m=>{var d=Pa(),w=s(d);De(w,3,c,j=>j,(j,U,G)=>{var l=Na(),C=s(l,!0);a(l),D(q=>{Rt(l,q),S(C,e(U))},[()=>(V(e(G)),n(()=>`animation-delay: ${Math.min(e(G),5)*45}ms`))]),W("click",l,()=>g()(e(U))),i(j,l)});var $=r(w,2),E=s($);He(E,{name:"close",size:12}),a($),a(d),W("click",$,function(...j){var U;(U=_())==null||U.apply(this,j)}),i(m,d)};A(p,m=>{V(c()),n(()=>c().length>0)&&m(f)})}i(ce,O),Fe()}var Ha=u('<div class="card user svelte-2ec03f"> </div>');function Ka(ce,P){ze(P,!1);let c=qe(P,"card",8);Re();var g=Ha(),_=s(g,!0);a(g),D(()=>S(_,(V(c()),n(()=>c().text)))),i(ce,g),Fe()}var Ua=u('<button class="stop svelte-1n9pz5q">Stop</button>'),Ga=u('<div class="thinking-row svelte-1n9pz5q"><span class="toggle mono svelte-1n9pz5q"><span class="caret svelte-1n9pz5q" aria-hidden="true"><!></span> reasoning</span> <!></div>');function Ja(ce,P){ze(P,!1);let c=qe(P,"card",8);Re();var g=Ga(),_=s(g),O=s(_),p=s(O);He(p,{name:"caret-right",size:11}),a(O),yt(),a(_);var f=r(_,2);{var m=d=>{var w=Ua();W("click",w,()=>Ce.abort(c().sessionId)),i(d,w)};A(f,d=>{V(c()),n(()=>c().showStop)&&d(m)})}a(g),i(ce,g),Fe()}const aa={30:"#555",31:"#e0796b",32:"#6cc08b",33:"#e0b341",34:"#7cafc2",35:"#b48cf0",36:"#4ec9b0",37:"#f2f0ec",90:"#8d877c",91:"#f09080",92:"#8dd8a4",93:"#f0c860",94:"#90c5dd",95:"#c9a8f8",96:"#70dcc8",97:"#ffffff"};function Va(ce){let P=ce.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");P=P.replace(/\x1b\[[0-9;?]*[A-Za-z]/g,_=>_.endsWith("m")?_:"").replace(/\x1b\][^\x07]*\x07/g,"").replace(/\x1b\][^\x1b]*\x1b\\/g,"");let c=0;const g=[];for(const _ of P.split(/(\x1b\[[0-9;]*m)/)){const O=_.match(/^\x1b\[([0-9;]*)m$/);if(!O){g.push(_);continue}const p=O[1].split(";").filter(Boolean).map(Number);p.length===0&&p.push(0);const f=[];for(let m=0;m<p.length;m++){const d=p[m];if(d===0)for(;c>0;)g.push("</span>"),c--;else if(d===38||d===48){const w=p[m+1];w===5?m+=2:w===2&&(d===38&&f.push(`color:rgb(${p[m+2]},${p[m+3]},${p[m+4]})`),m+=4)}else d===1?f.push("font-weight:bold"):d===2?f.push("opacity:0.7"):d===3?f.push("font-style:italic"):d===4?f.push("text-decoration:underline"):aa[d]&&f.push(`color:${aa[d]}`)}f.length&&(g.push(`<span style="${f.join(";")}">`),c++)}for(;c>0;)g.push("</span>"),c--;return g.join("")}var Qa=u('<span class="add svelte-dcl78h"> </span>'),Xa=u('<span class="del svelte-dcl78h"> </span>'),Ya=u('<span class="diff mono svelte-dcl78h"><!> <!></span>'),Za=u('<span class="shimmer svelte-dcl78h" aria-hidden="true"></span>'),es=u('<span class="dur mono svelte-dcl78h"> </span>'),ts=u('<button class="toggle mono svelte-dcl78h"> </button>'),as=u('<div><div class="term-head svelte-dcl78h"><span class="glyph svelte-dcl78h" aria-hidden="true"> </span> <span class="tname mono svelte-dcl78h"> </span> <!> <!></div> <div class="term-body mono svelte-dcl78h"></div> <!></div>');function ss(ce,P){ze(P,!1);const c=o(),g=o(),_=o(),O=o(),p=o();let f=qe(P,"text",8),m=qe(P,"tool",8,""),d=qe(P,"status",8,"done"),w=qe(P,"dur",8,void 0),$=qe(P,"adds",8,void 0),E=qe(P,"dels",8,void 0);const j=20;let U=o(!1),G=o(""),l,C=o(0),q=o("");function Y(z){z!==l&&(l=z,t(G,Va(z)))}jt(()=>{e(C)&&cancelAnimationFrame(e(C))});function k(z){return z==null?"":z<1?`${(z*1e3).toFixed(0)}ms`:`${z.toFixed(1)}s`}y(()=>V(f()),()=>{t(c,f().split(`
1
+ import"../chunks/CWj6FrbW.js";import{r as Re,f as Ce,k as Nt,p as Pt,l as sa,i as _a,F as ga,y as ba,j as xa,z as Bt,e as ka,a as Xt,b as Yt,c as Zt,B as wa,w as ya}from"../chunks/TuGPYaVf.js";import{aE as ze,M as ot,a4 as Te,w as i,aB as Fe,V,b4 as n,J as s,aK as a,a$ as D,a8 as e,aR as S,a3 as W,aU as r,a6 as u,aw as yt,ay as jt,ap as y,aO as t,aq as Ue,au as o,b5 as Ct,Q as $a,az as Wt,$ as bt,b2 as na,av as It,b1 as Ot,aI as qa,b0 as Ia,a7 as Ca,Z as Sa}from"../chunks/BjY4dxcB.js";import{i as A,a as Pe,s as Mt}from"../chunks/DIEDQ_hk.js";import{j as De,z as Rt,I as He,l as ja,y as Le,m as xt,x as we,M as ra,w as Ma,A as Ea,d as Ta,g as Lt,i as Da,h as oa,t as Aa,v as Ba,G as ea,b as Oa,D as Ra,C as za,a as Fa,n as la,s as La,p as ta,k as Na}from"../chunks/DJgyevNN.js";import{p as qe,b as at}from"../chunks/C2FuqD3s.js";import{g as zt}from"../chunks/aiCxvHoo.js";var Pa=u('<button class="chip svelte-1hbn5f9" role="listitem"> </button>'),Wa=u('<div class="suggestions svelte-1hbn5f9" role="list" aria-label="建议的后续操作"><!> <button class="dismiss svelte-1hbn5f9" aria-label="忽略建议"><!></button></div>');function Ha(ce,P){ze(P,!1);let c=qe(P,"suggestions",24,()=>[]),g=qe(P,"onPick",8,()=>{}),_=qe(P,"onDismiss",8,()=>{});Re();var O=ot(),p=Te(O);{var f=m=>{var d=Wa(),w=s(d);De(w,3,c,j=>j,(j,U,G)=>{var l=Pa(),C=s(l,!0);a(l),D(q=>{Rt(l,q),S(C,e(U))},[()=>(V(e(G)),n(()=>`animation-delay: ${Math.min(e(G),5)*45}ms`))]),W("click",l,()=>g()(e(U))),i(j,l)});var $=r(w,2),E=s($);He(E,{name:"close",size:12}),a($),a(d),W("click",$,function(...j){var U;(U=_())==null||U.apply(this,j)}),i(m,d)};A(p,m=>{V(c()),n(()=>c().length>0)&&m(f)})}i(ce,O),Fe()}var Ka=u('<div class="card user svelte-2ec03f"> </div>');function Ua(ce,P){ze(P,!1);let c=qe(P,"card",8);Re();var g=Ka(),_=s(g,!0);a(g),D(()=>S(_,(V(c()),n(()=>c().text)))),i(ce,g),Fe()}var Ga=u('<button class="stop svelte-1n9pz5q">Stop</button>'),Ja=u('<div class="thinking-row svelte-1n9pz5q"><span class="toggle mono svelte-1n9pz5q"><span class="caret svelte-1n9pz5q" aria-hidden="true"><!></span> reasoning</span> <!></div>');function Va(ce,P){ze(P,!1);let c=qe(P,"card",8);Re();var g=Ja(),_=s(g),O=s(_),p=s(O);He(p,{name:"caret-right",size:11}),a(O),yt(),a(_);var f=r(_,2);{var m=d=>{var w=Ga();W("click",w,()=>Ce.abort(c().sessionId)),i(d,w)};A(f,d=>{V(c()),n(()=>c().showStop)&&d(m)})}a(g),i(ce,g),Fe()}const aa={30:"#555",31:"#e0796b",32:"#6cc08b",33:"#e0b341",34:"#7cafc2",35:"#b48cf0",36:"#4ec9b0",37:"#f2f0ec",90:"#8d877c",91:"#f09080",92:"#8dd8a4",93:"#f0c860",94:"#90c5dd",95:"#c9a8f8",96:"#70dcc8",97:"#ffffff"};function Qa(ce){let P=ce.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");P=P.replace(/\x1b\[[0-9;?]*[A-Za-z]/g,_=>_.endsWith("m")?_:"").replace(/\x1b\][^\x07]*\x07/g,"").replace(/\x1b\][^\x1b]*\x1b\\/g,"");let c=0;const g=[];for(const _ of P.split(/(\x1b\[[0-9;]*m)/)){const O=_.match(/^\x1b\[([0-9;]*)m$/);if(!O){g.push(_);continue}const p=O[1].split(";").filter(Boolean).map(Number);p.length===0&&p.push(0);const f=[];for(let m=0;m<p.length;m++){const d=p[m];if(d===0)for(;c>0;)g.push("</span>"),c--;else if(d===38||d===48){const w=p[m+1];w===5?m+=2:w===2&&(d===38&&f.push(`color:rgb(${p[m+2]},${p[m+3]},${p[m+4]})`),m+=4)}else d===1?f.push("font-weight:bold"):d===2?f.push("opacity:0.7"):d===3?f.push("font-style:italic"):d===4?f.push("text-decoration:underline"):aa[d]&&f.push(`color:${aa[d]}`)}f.length&&(g.push(`<span style="${f.join(";")}">`),c++)}for(;c>0;)g.push("</span>"),c--;return g.join("")}var Xa=u('<span class="add svelte-dcl78h"> </span>'),Ya=u('<span class="del svelte-dcl78h"> </span>'),Za=u('<span class="diff mono svelte-dcl78h"><!> <!></span>'),es=u('<span class="shimmer svelte-dcl78h" aria-hidden="true"></span>'),ts=u('<span class="dur mono svelte-dcl78h"> </span>'),as=u('<button class="toggle mono svelte-dcl78h"> </button>'),ss=u('<div><div class="term-head svelte-dcl78h"><span class="glyph svelte-dcl78h" aria-hidden="true"> </span> <span class="tname mono svelte-dcl78h"> </span> <!> <!></div> <div class="term-body mono svelte-dcl78h"></div> <!></div>');function ns(ce,P){ze(P,!1);const c=o(),g=o(),_=o(),O=o(),p=o();let f=qe(P,"text",8),m=qe(P,"tool",8,""),d=qe(P,"status",8,"done"),w=qe(P,"dur",8,void 0),$=qe(P,"adds",8,void 0),E=qe(P,"dels",8,void 0);const j=20;let U=o(!1),G=o(""),l,C=o(0),q=o("");function Y(z){z!==l&&(l=z,t(G,Qa(z)))}jt(()=>{e(C)&&cancelAnimationFrame(e(C))});function k(z){return z==null?"":z<1?`${(z*1e3).toFixed(0)}ms`:`${z.toFixed(1)}s`}y(()=>V(f()),()=>{t(c,f().split(`
2
2
  `))}),y(()=>e(c),()=>{t(g,e(c).length>j)}),y(()=>(V(d()),e(U)),()=>{t(_,d()==="running"||e(U))}),y(()=>(e(g),e(_),e(c),V(f())),()=>{t(O,e(g)&&!e(_)?e(c).slice(0,j).join(`
3
- `):f())}),y(()=>(e(O),V(d()),e(q),e(C)),()=>{const z=e(O);d()==="running"&&typeof requestAnimationFrame<"u"?(t(q,z),e(C)||t(C,requestAnimationFrame(()=>{t(C,0),Y(e(q))}))):(e(C)&&(cancelAnimationFrame(e(C)),t(C,0)),Y(z))}),y(()=>V(d()),()=>{t(p,d()==="done"?"✓":d()==="running"?"●":"✗")}),Ue(),Re();var v=as(),h=s(v),H=s(h),Q=s(H,!0);a(H);var J=r(H,2),I=s(J,!0);a(J);var K=r(J,2);{var L=z=>{var Z=Ya(),de=s(Z);{var ve=N=>{var F=Qa(),ne=s(F);a(F),D(()=>S(ne,`+${$()??""}`)),i(N,F)};A(de,N=>{$()&&N(ve)})}var M=r(de,2);{var oe=N=>{var F=Xa(),ne=s(F);a(F),D(()=>S(ne,`−${E()??""}`)),i(N,F)};A(M,N=>{E()&&N(oe)})}a(Z),i(z,Z)};A(K,z=>{($()||E())&&z(L)})}var se=r(K,2);{var B=z=>{var Z=Za();i(z,Z)},X=z=>{var Z=es(),de=s(Z,!0);a(Z),D(ve=>S(de,ve),[()=>(V(w()),n(()=>k(w())))]),i(z,Z)};A(se,z=>{d()==="running"?z(B):w()!=null&&z(X,1)})}a(h);var be=r(h,2);ja(be,()=>e(G),!0),a(be);var ie=r(be,2);{var te=z=>{var Z=ts(),de=s(Z,!0);a(Z),D(()=>S(de,(e(_),e(c),n(()=>e(_)?"▴ show less":`▾ show more · ${e(c).length-j} more lines`)))),W("click",Z,()=>t(U,!e(U))),i(z,Z)};A(ie,z=>{e(g)&&d()!=="running"&&z(te)})}a(v),D(()=>{Le(v,1,`term ${d()??""}`,"svelte-dcl78h"),S(Q,e(p)),S(I,m())}),i(ce,v),Fe()}var ns=u('<span class="ps1 mono svelte-on906i" aria-hidden="true">$</span>'),rs=u('<span class="add svelte-on906i"> </span>'),os=u('<span class="del svelte-on906i"> </span>'),ls=u('<span class="diff mono svelte-on906i"><!> <!></span>'),is=u('<span class="shimmer svelte-on906i" aria-hidden="true"></span>'),vs=u('<span class="dur mono svelte-on906i"> </span>'),cs=u('<div><div class="row-main svelte-on906i"><span class="status svelte-on906i" aria-hidden="true"></span> <span class="sr-only svelte-on906i"> </span> <span class="name mono svelte-on906i"> </span> <!> <span class="arg mono svelte-on906i"> </span> <!> <!></div></div>'),ds=u('<button class="more mono svelte-on906i"> </button>'),us=u('<div class="execution svelte-on906i"><div class="header svelte-on906i"><span class="label mono svelte-on906i">EXECUTION</span> <span class="rule svelte-on906i" aria-hidden="true"></span> <span class="count mono svelte-on906i"> </span></div> <div class="rows svelte-on906i"><!> <!></div></div>');function ia(ce,P){ze(P,!1);const c=o(),g=o(),_=o(),O=o();let p=qe(P,"tools",8);const f=12,m=100;let d=o(!1);const w=new Set;function $(l,C){if(w.has(C))return!0;const q=l.args??"",Y=q.includes(`
4
- `)||q.length>m;return Y&&w.add(C),Y}function E(l){return l==null?"":l<1?`${(l*1e3).toFixed(0)}ms`:`${l.toFixed(1)}s`}y(()=>V(p()),()=>{t(c,p())}),y(()=>(e(d),e(c)),()=>{t(g,e(d)?e(c):e(c).slice(0,f))}),y(()=>e(c),()=>{t(_,e(c).length)}),y(()=>e(c),()=>{t(O,e(c).filter(l=>l.status==="done").length)}),Ue(),Re();var j=ot(),U=Te(j);{var G=l=>{var C=us(),q=s(C),Y=r(s(q),4),k=s(Y);a(Y),a(q);var v=r(q,2),h=s(v);De(h,1,()=>e(g),xt,(J,I,K)=>{var L=ot(),se=Te(L);{var B=ie=>{ss(ie,{get text(){return e(I),n(()=>e(I).args)},get tool(){return e(I),n(()=>e(I).tool)},get status(){return e(I),n(()=>e(I).status)},get dur(){return e(I),n(()=>e(I).dur)},get adds(){return e(I),n(()=>e(I).adds)},get dels(){return e(I),n(()=>e(I).dels)}})},X=Ct(()=>(e(I),n(()=>$(e(I),K)))),be=ie=>{var te=cs(),z=s(te),Z=r(s(z),2),de=s(Z,!0);a(Z);var ve=r(Z,2),M=s(ve,!0);a(ve);var oe=r(ve,2);{var N=re=>{var _e=ns();i(re,_e)};A(oe,re=>{e(I),n(()=>e(I).tool==="bash")&&re(N)})}var F=r(oe,2),ne=s(F,!0);a(F);var ge=r(F,2);{var ke=re=>{var _e=ls(),Ne=s(_e);{var Ze=Me=>{var Ae=rs(),Be=s(Ae);a(Ae),D(()=>S(Be,`+${e(I),n(()=>e(I).adds)??""}`)),i(Me,Ae)};A(Ne,Me=>{e(I),n(()=>e(I).adds)&&Me(Ze)})}var Ge=r(Ne,2);{var Ke=Me=>{var Ae=os(),Be=s(Ae);a(Ae),D(()=>S(Be,`−${e(I),n(()=>e(I).dels)??""}`)),i(Me,Ae)};A(Ge,Me=>{e(I),n(()=>e(I).dels)&&Me(Ke)})}a(_e),i(re,_e)};A(ge,re=>{e(I),n(()=>e(I).adds||e(I).dels)&&re(ke)})}var ue=r(ge,2);{var R=re=>{var _e=is();i(re,_e)},le=re=>{var _e=vs(),Ne=s(_e,!0);a(_e),D(Ze=>S(Ne,Ze),[()=>(e(I),n(()=>E(e(I).dur)))]),i(re,_e)};A(ue,re=>{e(I),n(()=>e(I).status==="running")?re(R):(e(I),n(()=>e(I).dur!=null)&&re(le,1))})}a(z),a(te),D(()=>{Le(te,1,`row ${e(I),n(()=>e(I).status)??""}`,"svelte-on906i"),S(de,(e(I),n(()=>e(I).status))),S(M,(e(I),n(()=>e(I).tool))),S(ne,(e(I),n(()=>e(I).args)))}),i(ie,te)};A(se,ie=>{e(X)?ie(B):ie(be,-1)})}i(J,L)});var H=r(h,2);{var Q=J=>{var I=ds(),K=s(I);a(I),D(()=>S(K,`… ${e(c),n(()=>e(c).length-f)??""} more`)),W("click",I,()=>t(d,!0)),i(J,I)};A(H,J=>{e(c),e(d),n(()=>e(c).length>f&&!e(d))&&J(Q)})}a(v),a(C),D(()=>S(k,`${e(O)??""}/${e(_)??""} steps`)),i(l,C)};A(U,l=>{V(p()),n(()=>p().length>0)&&l(G)})}i(ce,j),Fe()}var ps=u('<div class="text svelte-l1yd1q"><!></div>'),fs=u('<span class="think-dot svelte-l1yd1q" aria-hidden="true"></span>'),hs=u('<pre class="think-body svelte-l1yd1q"> </pre>'),ms=u('<div class="think svelte-l1yd1q"><button class="think-head svelte-l1yd1q"><!> <span class="think-label svelte-l1yd1q"> </span> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg></button> <!></div>'),_s=u('<div class="card streaming svelte-l1yd1q"></div>');function gs(ce,P){ze(P,!1);const c=o(),g=o();let _=qe(P,"card",8),O=o(!1);y(()=>V(_()),()=>{t(c,(()=>{const f=[];for(const m of _().blocks)if(m.type==="text"){const d=f[f.length-1];(d==null?void 0:d.kind)==="text"?d.text+=m.text:f.push({kind:"text",text:m.text})}else if(m.type==="tool"){const d=f[f.length-1],w={tool:m.tool,args:m.args,status:m.status};(d==null?void 0:d.kind)==="tools"?d.tools.push(w):f.push({kind:"tools",tools:[w]})}else if(m.type==="reasoning"){const d=f[f.length-1];(d==null?void 0:d.kind)==="reasoning"?d.text+=m.text:f.push({kind:"reasoning",text:m.text})}return f})())}),y(()=>e(c),()=>{t(g,e(c).length>0&&e(c)[e(c).length-1].kind==="reasoning")}),Ue(),Re();var p=_s();De(p,5,()=>e(c),xt,(f,m)=>{var d=ot(),w=Te(d);{var $=G=>{var l=ot(),C=Te(l);{var q=k=>{var v=ps(),h=s(v);ra(h,{get src(){return e(m),n(()=>e(m).text)},throttle:!0,streaming:!0}),a(v),i(k,v)},Y=Ct(()=>(e(m),n(()=>e(m).text.trim())));A(C,k=>{e(Y)&&k(q)})}i(G,l)},E=G=>{ia(G,{get tools(){return e(m),n(()=>e(m).tools)}})},j=G=>{var l=ms(),C=s(l),q=s(C);{var Y=I=>{var K=fs();i(I,K)};A(q,I=>{e(g)&&I(Y)})}var k=r(q,2),v=s(k,!0);a(k);var h=r(k,2);let H;a(C);var Q=r(C,2);{var J=I=>{var K=hs(),L=s(K,!0);a(K),D(()=>S(L,(e(m),n(()=>e(m).text)))),i(I,K)};A(Q,I=>{e(O)&&I(J)})}a(l),D(()=>{we(C,"aria-expanded",e(O)),S(v,e(g)?"思考中…":"思考过程"),H=Le(h,0,"think-caret svelte-l1yd1q",null,H,{open:e(O)})}),W("click",C,()=>t(O,!e(O))),i(G,l)},U=Ct(()=>(e(m),n(()=>e(m).text.trim())));A(w,G=>{e(m),n(()=>e(m).kind==="text")?G($):(e(m),n(()=>e(m).kind==="tools")?G(E,1):e(U)&&G(j,2))})}i(f,d)}),a(p),i(ce,p),Fe()}var bs=u('<details class="think svelte-wmi6xy"><summary class="svelte-wmi6xy">思考过程</summary> <pre class="svelte-wmi6xy"> </pre></details>'),xs=u('<div class="text svelte-wmi6xy"><!></div>'),ks=u('<span class="chip agent mono svelte-wmi6xy"> </span>'),ws=u('<span class="chip mono svelte-wmi6xy"> </span>'),ys=u('<span class="chip mono svelte-wmi6xy"> </span>'),$s=u('<span class="chip mono svelte-wmi6xy"> </span>'),qs=u('<span class="chip cost mono svelte-wmi6xy"> </span>'),Is=u('<button class="icon svelte-wmi6xy" title="重新生成" aria-label="重新生成"><!></button>'),Cs=u('<div class="meta svelte-wmi6xy"><div class="chips svelte-wmi6xy"><!> <!> <!> <!> <!></div> <div class="actions svelte-wmi6xy"><!> <button title="复制" aria-label="复制"><!></button></div></div>'),Ss=u('<div class="card assistant svelte-wmi6xy"><!> <!> <!> <!></div>');function js(ce,P){ze(P,!1);const c=o(),g=o(),_=o(),O=o();let p=qe(P,"card",8),f=qe(P,"onRegenerate",8,void 0);function m(k){return k>=1e3?`${(k/1e3).toFixed(1)}k`:String(k)}let d=o(!1),w;async function $(){if(e(g)){try{await navigator.clipboard.writeText(e(g))}catch{return}t(d,!0),w&&clearTimeout(w),w=setTimeout(()=>t(d,!1),1300)}}jt(()=>clearTimeout(w)),y(()=>V(p()),()=>{t(c,p().blocks.filter(k=>k.type==="tool").map(k=>({tool:k.tool,args:k.args,status:k.status})))}),y(()=>V(p()),()=>{t(g,p().blocks.filter(k=>k.type==="text").map(k=>k.text).join(""))}),y(()=>V(p()),()=>{t(_,p().meta)}),y(()=>e(_),()=>{t(O,e(_).agent||e(_).model||e(_).tokens||e(_).duration!=null||e(_).cost!==void 0)}),Ue(),Re();var E=Ss(),j=s(E);{var U=k=>{var v=bs(),h=r(s(v),2),H=s(h,!0);a(h),a(v),D(()=>S(H,(V(p()),n(()=>p().thinkingText)))),i(k,v)};A(j,k=>{V(p()),n(()=>p().thinkingText)&&k(U)})}var G=r(j,2);ia(G,{get tools(){return e(c)}});var l=r(G,2);{var C=k=>{var v=xs(),h=s(v);ra(h,{get src(){return e(g)}}),a(v),i(k,v)};A(l,k=>{e(g)&&k(C)})}var q=r(l,2);{var Y=k=>{var v=Cs(),h=s(v),H=s(h);{var Q=N=>{var F=ks(),ne=s(F,!0);a(F),D(()=>S(ne,(e(_),n(()=>e(_).agent)))),i(N,F)};A(H,N=>{e(_),n(()=>e(_).agent)&&N(Q)})}var J=r(H,2);{var I=N=>{var F=ws(),ne=s(F,!0);a(F),D(()=>S(ne,(e(_),n(()=>e(_).model)))),i(N,F)};A(J,N=>{e(_),n(()=>e(_).model)&&N(I)})}var K=r(J,2);{var L=N=>{var F=ys(),ne=s(F);a(F),D((ge,ke)=>S(ne,`↑${ge??""} ↓${ke??""}`),[()=>(e(_),n(()=>m(e(_).tokens.input))),()=>(e(_),n(()=>m(e(_).tokens.output)))]),i(N,F)};A(K,N=>{e(_),n(()=>e(_).tokens)&&N(L)})}var se=r(K,2);{var B=N=>{var F=$s(),ne=s(F);a(F),D(()=>S(ne,`${e(_),n(()=>e(_).duration)??""}s`)),i(N,F)};A(se,N=>{e(_),n(()=>e(_).duration!=null)&&N(B)})}var X=r(se,2);{var be=N=>{var F=qs(),ne=s(F);a(F),D(ge=>S(ne,`$${ge??""}`),[()=>(e(_),n(()=>e(_).cost.toFixed(3)))]),i(N,F)};A(X,N=>{e(_),n(()=>e(_).cost!==void 0)&&N(be)})}a(h);var ie=r(h,2),te=s(ie);{var z=N=>{var F=Is(),ne=s(F);He(ne,{name:"refresh",size:13}),a(F),W("click",F,function(...ge){var ke;(ke=f())==null||ke.apply(this,ge)}),i(N,F)};A(te,N=>{f()&&N(z)})}var Z=r(te,2);let de;var ve=s(Z);{var M=N=>{He(N,{name:"check",size:13})},oe=N=>{He(N,{name:"copy",size:13})};A(ve,N=>{e(d)?N(M):N(oe,-1)})}a(Z),a(ie),a(v),D(()=>de=Le(Z,1,"icon svelte-wmi6xy",null,de,{copied:e(d)})),W("click",Z,$),i(k,v)};A(q,k=>{e(O)&&k(Y)})}a(E),i(ce,E),Fe()}var Ms=u('<button class="retry svelte-1m8kde8"><!> Retry</button>'),Es=u('<div class="card error svelte-1m8kde8"><div class="head svelte-1m8kde8"><!> </div> <code class="svelte-1m8kde8"> </code> <!></div>');function Ts(ce,P){ze(P,!1);const c=o();let g=qe(P,"card",8),_=qe(P,"onRetry",8,void 0);const O=$a();function p(l){const C=(l||"").toLowerCase();return C.includes("abort")?{label:"Stopped",retryable:!1}:C.includes("timeout")||C.includes("timed out")?{label:"Timed out",retryable:!0}:C.includes("fetch")||C.includes("network")||C.includes("econn")||/\b(429|500|502|503|504)\b/.test(C)?{label:"Network issue",retryable:!0}:{label:"Error",retryable:!0}}function f(){_()?_()():O("retry")}y(()=>V(g()),()=>{t(c,p(g().message))}),Ue(),Re();var m=Es(),d=s(m),w=s(d);He(w,{name:"alert",size:13});var $=r(w);a(d);var E=r(d,2),j=s(E,!0);a(E);var U=r(E,2);{var G=l=>{var C=Ms(),q=s(C);He(q,{name:"refresh",size:11}),yt(),a(C),D(()=>C.disabled=!_()),W("click",C,f),i(l,C)};A(U,l=>{e(c),n(()=>e(c).retryable)&&l(G)})}a(m),D(()=>{S($,` ${e(c),n(()=>e(c).label)??""}`),S(j,(V(g()),n(()=>g().message)))}),i(ce,m),Fe()}var Ds=u('<div class="note mono svelte-hbf6ni"> </div>');function As(ce,P){ze(P,!1);const c=o(),g=o();let _=qe(P,"card",8);y(()=>V(_()),()=>{t(c,_().sections.map(f=>f.body).join(" ")||"")}),y(()=>(V(_()),e(c)),()=>{t(g,[_().title,e(c)].filter(Boolean).join(" — "))}),Ue(),Re();var O=Ds(),p=s(O,!0);a(O),D(()=>S(p,e(g))),i(ce,O),Fe()}var Bs=u('<div class="note mono svelte-scaqco"> </div>');function Os(ce,P){ze(P,!1);const c=o(),g=o(),_=o(),O=o();let p=qe(P,"card",8);y(()=>V(p()),()=>{t(c,p().fields.title??"Status")}),y(()=>V(p()),()=>{t(g,Object.entries(p().fields).filter(([d])=>d!=="title"))}),y(()=>e(g),()=>{t(_,e(g).map(([d,w])=>`${d}: ${w}`).join(" · "))}),y(()=>(e(c),e(_)),()=>{t(O,[e(c),e(_)].filter(Boolean).join(" · "))}),Ue(),Re();var f=Bs(),m=s(f,!0);a(f),D(()=>S(m,e(O))),i(ce,f),Fe()}var Rs=u('<div><span class="mark svelte-19vkggv" aria-hidden="true"> </span> <span class="rlabel svelte-19vkggv"> </span> <span class="rttl svelte-19vkggv"> </span></div>'),zs=u('<div class="appr pending svelte-19vkggv"><div class="header svelte-19vkggv"><span class="warn-dot svelte-19vkggv" aria-hidden="true"></span> <span class="label svelte-19vkggv">需要审批</span> <span class="rule svelte-19vkggv" aria-hidden="true"></span> <span class="tool mono svelte-19vkggv"> </span></div> <pre class="diff mono svelte-19vkggv"> </pre> <div class="acts svelte-19vkggv"><button class="a allow svelte-19vkggv">批准</button> <button class="a always svelte-19vkggv">总是允许</button> <span class="spacer svelte-19vkggv"></span> <button class="a rej svelte-19vkggv">拒绝</button></div></div>');function Fs(ce,P){ze(P,!1);const c=o(),g=o(),_=o();let O=qe(P,"card",8),p=o("");async function f(j){try{await Ce.approve(O().sessionId,O().requestId,j),t(p,j)}catch{t(p,"error")}}const m={once:"已批准 — 已应用",always:"已设为自动允许",reject:"已拒绝 — 未应用",error:"失败"};y(()=>e(p),()=>{t(c,!!e(p))}),y(()=>e(p),()=>{t(g,e(p)==="reject"||e(p)==="error")}),y(()=>V(O()),()=>{t(_,typeof O().args=="string"?O().args:JSON.stringify(O().args,null,2))}),Ue(),Re();var d=ot(),w=Te(d);{var $=j=>{var U=Rs();let G;var l=s(U),C=s(l,!0);a(l);var q=r(l,2),Y=s(q,!0);a(q);var k=r(q,2),v=s(k,!0);a(k),a(U),D(()=>{G=Le(U,1,"appr resolved svelte-19vkggv",null,G,{rej:e(g)}),S(C,e(g)?"✕":"✓"),S(Y,(e(p),n(()=>m[e(p)]??e(p)))),S(v,(V(O()),n(()=>O().title)))}),i(j,U)},E=j=>{var U=zs(),G=s(U),l=r(s(G),6),C=s(l,!0);a(l),a(G);var q=r(G,2),Y=s(q,!0);a(q);var k=r(q,2),v=s(k),h=r(v,2),H=r(h,4);a(k),a(U),D(()=>{S(C,(V(O()),n(()=>O().title))),S(Y,e(_))}),W("click",v,()=>f("once")),W("click",h,()=>f("always")),W("click",H,()=>f("reject")),i(j,U)};A(w,j=>{e(c)?j($):j(E,-1)})}i(ce,d),Fe()}var Ls=u('<div><span class="mark svelte-hiqfhq" aria-hidden="true"> </span> <span class="rlabel svelte-hiqfhq"> </span> <span class="rttl mono svelte-hiqfhq"> </span></div>'),Ns=u('<span class="mono warn-note svelte-hiqfhq">当前后端不支持 Web 回答</span>'),Ps=u('<div class="qhead mono svelte-hiqfhq"> </div>'),Ws=u("<button> </button>"),Hs=u('<input class="custom mono svelte-hiqfhq" placeholder="或输入自定义回答…"/>'),Ks=u('<div class="hint svelte-hiqfhq">可多选</div>'),Us=u('<div class="q svelte-hiqfhq"><!> <div class="qtext svelte-hiqfhq"> </div> <div class="opts svelte-hiqfhq"></div> <!> <!></div>'),Gs=u('<div class="qcard pending svelte-hiqfhq"><div class="header svelte-hiqfhq"><span class="q-dot svelte-hiqfhq" aria-hidden="true"></span> <span class="label svelte-hiqfhq">需要你的回答</span> <span class="rule svelte-hiqfhq" aria-hidden="true"></span> <!></div> <!> <div class="acts svelte-hiqfhq"><button class="a send svelte-hiqfhq">提交回答</button> <span class="spacer svelte-hiqfhq"></span> <button class="a rej svelte-hiqfhq">取消</button></div></div>');function Js(ce,P){ze(P,!1);const c=()=>Pe(Nt,"$can",g),[g,_]=Mt(),O=o(),p=o(),f=o(),m=o();let d=qe(P,"card",8),w=o({}),$=o({}),E=o("");function j(v,h,H){const Q=e(w)[v]??[];H?t(w,{...e(w),[v]:Q.includes(h)?Q.filter(J=>J!==h):[...Q,h]}):t(w,{...e(w),[v]:Q.includes(h)?[]:[h]})}async function U(){const v=(d().questions??[]).map((h,H)=>{const Q=(e($)[H]??"").trim();return Q?[Q]:(e(w)[H]??[]).map(J=>{var I;return(I=h.options[J])==null?void 0:I.label}).filter(J=>!!J)});try{const h=await Ce.answerQuestion(d().sessionId,d().requestId,v);t(E,h!=null&&h.stale?"stale":h!=null&&h.ok?"replied":"error")}catch{t(E,"error")}}async function G(){try{const v=await Ce.rejectQuestion(d().sessionId,d().requestId);t(E,v!=null&&v.stale?"stale":v!=null&&v.ok?"rejected":"error")}catch{t(E,"error")}}const l={replied:"已回答",rejected:"已取消",stale:"已在其他界面回答",error:"提交失败"};y(()=>(V(d()),e(E)),()=>{t(O,d().resolved??(e(E)==="replied"||e(E)==="rejected"?e(E):void 0))}),y(()=>e(E),()=>{t(p,e(E)==="stale")}),y(()=>c(),()=>{t(f,c()("questions"))}),y(()=>(V(d()),e($),e(w)),()=>{t(m,(d().questions??[]).every((v,h)=>(e($)[h]??"").trim()?!0:(e(w)[h]??[]).length>0))}),Ue(),Re();var C=ot(),q=Te(C);{var Y=v=>{var h=Ls();let H;var Q=s(h),J=s(Q,!0);a(Q);var I=r(Q,2),K=s(I,!0);a(I);var L=r(I,2),se=s(L,!0);a(L),a(h),D(B=>{H=Le(h,1,"qcard resolved svelte-hiqfhq",null,H,{fresh:e(E)!=="",rej:e(O)==="rejected"||e(p)||e(E)==="error"}),S(J,e(O)==="replied"?"✓":"✕"),S(K,(e(O),e(E),n(()=>l[e(O)??e(E)]??""))),S(se,B)},[()=>(V(d()),n(()=>d().requestId.slice(0,12)))]),i(v,h)},k=v=>{var h=Gs(),H=s(h),Q=r(s(H),6);{var J=B=>{var X=Ns();i(B,X)};A(Q,B=>{e(f)||B(J)})}a(H);var I=r(H,2);De(I,1,()=>(V(d()),n(()=>d().questions)),xt,(B,X,be)=>{var ie=Us(),te=s(ie);{var z=ne=>{var ge=Ps(),ke=s(ge,!0);a(ge),D(()=>S(ke,(e(X),n(()=>e(X).header)))),i(ne,ge)};A(te,ne=>{e(X),n(()=>e(X).header)&&ne(z)})}var Z=r(te,2),de=s(Z,!0);a(Z);var ve=r(Z,2);De(ve,5,()=>(e(X),n(()=>e(X).options)),xt,(ne,ge,ke)=>{var ue=Ws();let R;var le=s(ue,!0);a(ue),D(re=>{R=Le(ue,1,"opt svelte-hiqfhq",null,R,re),we(ue,"title",(e(ge),n(()=>e(ge).description??e(ge).label))),S(le,(e(ge),n(()=>e(ge).label)))},[()=>({on:(e(w)[be]??[]).includes(ke)})]),W("click",ue,()=>j(be,ke,e(X).multiple)),i(ne,ue)}),a(ve);var M=r(ve,2);{var oe=ne=>{var ge=Hs();Ma(ge),D(()=>Ea(ge,(e($),n(()=>e($)[be]??"")))),W("input",ge,ke=>t($,{...e($),[be]:ke.currentTarget.value})),i(ne,ge)};A(M,ne=>{e(X),n(()=>e(X).custom)&&ne(oe)})}var N=r(M,2);{var F=ne=>{var ge=Ks();i(ne,ge)};A(N,ne=>{e(X),n(()=>e(X).multiple)&&ne(F)})}a(ie),D(()=>S(de,(e(X),n(()=>e(X).question)))),i(B,ie)});var K=r(I,2),L=s(K),se=r(L,4);a(K),a(h),D(()=>{L.disabled=!e(f)||!e(m)||e(E)==="error",se.disabled=!e(f)}),W("click",L,U),W("click",se,G),i(v,h)};A(q,v=>{e(O)||e(p)?v(Y):v(k,-1)})}i(ce,C),Fe(),_()}var Vs=u('<div class="card placeholder svelte-1udyrqm"> </div>');function Qs(ce,P){ze(P,!1);let c=qe(P,"card",8),g=qe(P,"onRetry",8,void 0);Re();var _=ot(),O=Te(_);{var p=l=>{Ka(l,{get card(){return c()}})},f=l=>{Ja(l,{get card(){return c()}})},m=l=>{gs(l,{get card(){return c()}})},d=l=>{js(l,{get card(){return c()}})},w=l=>{Ts(l,{get card(){return c()},get onRetry(){return g()}})},$=l=>{As(l,{get card(){return c()}})},E=l=>{Os(l,{get card(){return c()}})},j=l=>{Fs(l,{get card(){return c()}})},U=l=>{Js(l,{get card(){return c()}})},G=l=>{var C=Vs(),q=s(C);a(C),D(()=>S(q,`[${V(c()),n(()=>c().kind)??""}]`)),i(l,C)};A(O,l=>{V(c()),n(()=>c().kind==="user")?l(p):(V(c()),n(()=>c().kind==="thinking")?l(f,1):(V(c()),n(()=>c().kind==="streaming")?l(m,2):(V(c()),n(()=>c().kind==="assistant")?l(d,3):(V(c()),n(()=>c().kind==="error")?l(w,4):(V(c()),n(()=>c().kind==="info")?l($,5):(V(c()),n(()=>c().kind==="status")?l(E,6):(V(c()),n(()=>c().kind==="approval")?l(j,7):(V(c()),n(()=>c().kind==="question")?l(U,8):l(G,-1)))))))))})}i(ce,_),Fe()}var Xs=u('<div class="none label svelte-1f5vmb3">未配置 agent</div>'),Ys=u('<button role="option"><span> </span> <span class="label mono"> </span></button>'),Zs=u('<div class="pop svelte-1f5vmb3" role="listbox" aria-label="Agent 覆盖"><!> <!> <button class="opt clear svelte-1f5vmb3" role="option"><!> 清除覆盖</button></div>'),en=u('<div class="wrap svelte-1f5vmb3"><button class="chip mono svelte-1f5vmb3" aria-haspopup="listbox"><!> <span class="txt svelte-1f5vmb3"> </span> <!></button> <!></div>');function tn(ce,P){ze(P,!1);const c=o();let g=o(!1),_=o(),O=o([]),p=o({agent:null,model:null});async function f(){try{await(async k=>{var v=na(k,2);t(O,v[0]),t(p,v[1])})(await Promise.all([Ce.agents(),Ce.getOverrides()]))}catch{}}Wt(f);async function m(k){await Ce.setOverrides({agent:k.name}),await f(),t(g,!1)}async function d(){await Ce.setOverrides({agent:null}),await f(),t(g,!1)}function w(k){k.key==="Escape"&&e(g)&&t(g,!1)}function $(k){e(g)&&e(_)&&!e(_).contains(k.target)&&t(g,!1)}y(()=>e(p),()=>{t(c,e(p).agent??"default")}),Ue(),Re();var E=en();W("keydown",bt,w),W("click",bt,$);var j=s(E),U=s(j);He(U,{name:"cpu",size:11});var G=r(U,2),l=s(G,!0);a(G);var C=r(G,2);He(C,{name:"caret-down",size:9}),a(j);var q=r(j,2);{var Y=k=>{var v=Zs(),h=s(v);{var H=K=>{var L=Xs();i(K,L)};A(h,K=>{e(O),n(()=>e(O).length===0)&&K(H)})}var Q=r(h,2);De(Q,1,()=>e(O),K=>K.name,(K,L)=>{var se=Ys();let B;var X=s(se),be=s(X,!0);a(X);var ie=r(X,2),te=s(ie,!0);a(ie),a(se),D(z=>{B=Le(se,1,"opt svelte-1f5vmb3",null,B,{sel:e(L).name===e(p).agent}),we(se,"aria-selected",(e(L),e(p),n(()=>e(L).name===e(p).agent))),S(be,(e(L),n(()=>e(L).name))),S(te,z)},[()=>(e(L),n(()=>e(L).model.split("/").pop()))]),W("click",se,()=>m(e(L))),i(K,se)});var J=r(Q,2),I=s(J);He(I,{name:"close",size:11}),yt(),a(J),a(v),D(()=>we(J,"aria-selected",(e(p),n(()=>e(p).agent==null)))),W("click",J,d),i(k,v)};A(q,k=>{e(g)&&k(Y)})}a(E),at(E,k=>t(_,k),()=>e(_)),D(()=>{we(j,"aria-expanded",e(g)),S(l,e(c))}),W("click",j,()=>{t(g,!e(g)),e(g)&&f()}),i(ce,E),Fe()}var an=u('<div class="none label svelte-1005b73">暂无模型</div>'),sn=u('<button role="option"><span> </span></button>'),nn=u('<div class="prov label mono svelte-1005b73"> </div> <!>',1),rn=u('<div class="pop svelte-1005b73" role="listbox" aria-label="模型覆盖"><!> <!> <button class="opt clear svelte-1005b73" role="option"><!> 清除覆盖</button></div>'),on=u('<div class="wrap svelte-1005b73"><button class="chip mono svelte-1005b73" aria-haspopup="listbox"><!> <span class="txt svelte-1005b73"> </span> <!></button> <!></div>');function ln(ce,P){ze(P,!1);const c=o();let g=o(!1),_=o(),O=o([]),p=o({agent:null,model:null});async function f(){try{await(async k=>{var v=na(k,2);t(O,v[0]),t(p,v[1])})(await Promise.all([Ce.models(),Ce.getOverrides()]))}catch{}}Wt(f);async function m(k,v){await Ce.setOverrides({model:{providerID:k,modelID:v}}),await f(),t(g,!1)}async function d(){await Ce.setOverrides({model:null}),await f(),t(g,!1)}function w(k){k.key==="Escape"&&e(g)&&t(g,!1)}function $(k){e(g)&&e(_)&&!e(_).contains(k.target)&&t(g,!1)}y(()=>e(p),()=>{var k;t(c,((k=e(p).model)==null?void 0:k.modelID)??"model")}),Ue(),Re();var E=on();W("keydown",bt,w),W("click",bt,$);var j=s(E),U=s(j);He(U,{name:"bolt",size:11});var G=r(U,2),l=s(G,!0);a(G);var C=r(G,2);He(C,{name:"caret-down",size:9}),a(j);var q=r(j,2);{var Y=k=>{var v=rn(),h=s(v);{var H=K=>{var L=an();i(K,L)};A(h,K=>{e(O),n(()=>e(O).length===0)&&K(H)})}var Q=r(h,2);De(Q,1,()=>e(O),K=>K.id,(K,L)=>{var se=nn(),B=Te(se),X=s(B,!0);a(B);var be=r(B,2);De(be,1,()=>(e(L),n(()=>e(L).models)),ie=>ie.id,(ie,te)=>{var z=sn();let Z;var de=s(z),ve=s(de,!0);a(de),a(z),D(()=>{var M,oe;Z=Le(z,1,"opt svelte-1005b73",null,Z,{sel:((M=e(p).model)==null?void 0:M.providerID)===e(L).id&&((oe=e(p).model)==null?void 0:oe.modelID)===e(te).id}),we(z,"aria-selected",(e(p),e(L),e(te),n(()=>{var N,F;return((N=e(p).model)==null?void 0:N.providerID)===e(L).id&&((F=e(p).model)==null?void 0:F.modelID)===e(te).id}))),S(ve,(e(te),n(()=>e(te).name||e(te).id)))}),W("click",z,()=>m(e(L).id,e(te).id)),i(ie,z)}),D(()=>S(X,(e(L),n(()=>e(L).id)))),i(K,se)});var J=r(Q,2),I=s(J);He(I,{name:"close",size:11}),yt(),a(J),a(v),D(()=>we(J,"aria-selected",(e(p),n(()=>e(p).model==null)))),W("click",J,d),i(k,v)};A(q,k=>{e(g)&&k(Y)})}a(E),at(E,k=>t(_,k),()=>e(_)),D(()=>{we(j,"aria-expanded",e(g)),S(l,e(c))}),W("click",j,()=>{t(g,!e(g)),e(g)&&f()}),i(ce,E),Fe()}var vn=u('<button role="option"> </button>'),cn=u('<div class="pop svelte-dkbq22" role="listbox" aria-label="Mode"><div class="label">Mode</div> <!></div>'),dn=u('<div class="wrap svelte-dkbq22"><button class="chip mono svelte-dkbq22" aria-haspopup="listbox"><!> <span class="txt svelte-dkbq22"> </span> <!></button> <!></div>'),un=u('<button role="option"> </button>'),pn=u('<div class="pop svelte-dkbq22" role="listbox" aria-label="Model"><div class="label">Model</div> <!></div>'),fn=u('<div class="wrap svelte-dkbq22"><button class="chip mono svelte-dkbq22" aria-haspopup="listbox"><!> <span class="txt svelte-dkbq22"> </span> <!></button> <!></div>'),hn=u('<div class="controls svelte-dkbq22"><!> <!></div>');function mn(ce,P){ze(P,!1);const c=o(),g=o(),_=o(),O=o();let p=qe(P,"sessionId",8),f=o({}),m=o(null);async function d(){const v=p();try{const h=await Ce.controls(v);if(v!==p())return;t(f,h)}catch{v===p()&&t(f,{})}}async function w(v){e(f).mode&&It(f,e(f).mode={...e(f).mode,current:v}),t(m,null);try{await Ce.setMode(p(),v)}catch{}await d()}async function $(v){e(f).model&&It(f,e(f).model={...e(f).model,current:v}),t(m,null);try{await Ce.setModel(p(),v)}catch{}await d()}function E(v){t(m,e(m)===v?null:v)}let j=o();function U(v){v.key==="Escape"&&e(m)&&t(m,null)}function G(v){e(m)&&e(j)&&!e(j).contains(v.target)&&t(m,null)}y(()=>V(p()),()=>{p()&&d()}),y(()=>e(f),()=>{var v;t(c,((v=e(f).mode)==null?void 0:v.options)??[])}),y(()=>e(f),()=>{var v;t(g,((v=e(f).model)==null?void 0:v.options)??[])}),y(()=>e(f),()=>{var v,h,H;t(_,((h=(v=e(f).mode)==null?void 0:v.options.find(Q=>{var J;return Q.id===((J=e(f).mode)==null?void 0:J.current)}))==null?void 0:h.name)??((H=e(f).mode)==null?void 0:H.current)??"mode")}),y(()=>e(f),()=>{var v,h,H;t(O,((h=(v=e(f).model)==null?void 0:v.options.find(Q=>{var J;return Q.id===((J=e(f).model)==null?void 0:J.current)}))==null?void 0:h.name)??((H=e(f).model)==null?void 0:H.current)??"model")}),Ue(),Re();var l=hn();W("keydown",bt,U),W("click",bt,G);var C=s(l);{var q=v=>{var h=dn(),H=s(h),Q=s(H);He(Q,{name:"bolt",size:11});var J=r(Q,2),I=s(J,!0);a(J);var K=r(J,2);He(K,{name:"caret-down",size:9}),a(H);var L=r(H,2);{var se=B=>{var X=cn(),be=r(s(X),2);De(be,1,()=>e(c),xt,(ie,te)=>{var z=vn();let Z;var de=s(z,!0);a(z),D(()=>{var ve;Z=Le(z,1,"opt svelte-dkbq22",null,Z,{sel:e(te).id===((ve=e(f).mode)==null?void 0:ve.current)}),we(z,"aria-selected",(e(te),e(f),n(()=>{var M;return e(te).id===((M=e(f).mode)==null?void 0:M.current)}))),S(de,(e(te),n(()=>e(te).name)))}),W("click",z,()=>w(e(te).id)),i(ie,z)}),a(X),i(B,X)};A(L,B=>{e(m)==="mode"&&B(se)})}a(h),D(()=>{we(H,"aria-expanded",e(m)==="mode"),S(I,e(_))}),W("click",H,()=>E("mode")),i(v,h)};A(C,v=>{e(c),n(()=>e(c).length>0)&&v(q)})}var Y=r(C,2);{var k=v=>{var h=fn(),H=s(h),Q=s(H);He(Q,{name:"cpu",size:11});var J=r(Q,2),I=s(J,!0);a(J);var K=r(J,2);He(K,{name:"caret-down",size:9}),a(H);var L=r(H,2);{var se=B=>{var X=pn(),be=r(s(X),2);De(be,1,()=>e(g),xt,(ie,te)=>{var z=un();let Z;var de=s(z,!0);a(z),D(()=>{var ve;Z=Le(z,1,"opt svelte-dkbq22",null,Z,{sel:e(te).id===((ve=e(f).model)==null?void 0:ve.current)}),we(z,"aria-selected",(e(te),e(f),n(()=>{var M;return e(te).id===((M=e(f).model)==null?void 0:M.current)}))),S(de,(e(te),n(()=>e(te).name)))}),W("click",z,()=>$(e(te).id)),i(ie,z)}),a(X),i(B,X)};A(L,B=>{e(m)==="model"&&B(se)})}a(h),D(()=>{we(H,"aria-expanded",e(m)==="model"),S(I,e(O))}),W("click",H,()=>E("model")),i(v,h)};A(Y,v=>{e(g),n(()=>e(g).length>0)&&v(k)})}a(l),at(l,v=>t(j,v),()=>e(j)),i(ce,l),Fe()}var _n=u('<span class="seg svelte-4bdpxt"></span>'),gn=u('<span class="lg svelte-4bdpxt"><span class="dot svelte-4bdpxt"></span> </span>'),bn=u('<div class="row svelte-4bdpxt"><span>缓存命中率</span><span class="mono svelte-4bdpxt"> </span></div>'),xn=u('<div class="row svelte-4bdpxt"><span>消息</span><span class="mono svelte-4bdpxt"> </span></div>'),kn=u('<div class="row svelte-4bdpxt"><span>模型</span><span class="mono svelte-4bdpxt"> </span></div>'),wn=u('<div class="row svelte-4bdpxt"><span>总成本</span><span class="mono svelte-4bdpxt"> </span></div>'),yn=u('<div class="pop svelte-4bdpxt" role="dialog" aria-label="上下文用量"><div class="head svelte-4bdpxt"><span class="label svelte-4bdpxt">上下文</span> <span class="mono dim svelte-4bdpxt"> </span></div> <div class="bar svelte-4bdpxt" aria-hidden="true"></div> <div class="legend svelte-4bdpxt"></div> <div class="rows svelte-4bdpxt"><!> <!> <!> <!></div></div>'),$n=u('<div class="wrap svelte-4bdpxt"><button class="ring svelte-4bdpxt" title="上下文占用"><svg viewBox="0 0 24 24" aria-hidden="true" class="svelte-4bdpxt"><circle class="track svelte-4bdpxt" cx="12" cy="12"></circle><circle class="arc svelte-4bdpxt" cx="12" cy="12" transform="rotate(-90 12 12)"></circle></svg> <span class="pct mono svelte-4bdpxt"> <i class="svelte-4bdpxt">%</i></span></button> <!></div>');function qn(ce,P){ze(P,!1);const c=()=>Pe(Pt,"$feeds",g),[g,_]=Mt(),O=o(),p=o(),f=o(),m=o(),d=o(),w=o(),$=o(),E=o(),j=o(),U=o(),G=o(),l=o(),C=o(),q=o(),Y=o(),k=o();let v=qe(P,"sessionId",8),h=o({}),H=o(!1),Q=o(),J,I=o(),K=o(-1),L=o();async function se(R){try{t(h,await Ce.context(R))}catch{}}jt(()=>{clearTimeout(e(L)),clearTimeout(J)});const B=10,X=2*Math.PI*B;function be(R){return R>=1e6?(R/1e6).toFixed(1)+"M":R>=1e3?(R/1e3).toFixed(1)+"k":String(R)}function ie(R){return R==null?"—":`$${R.toFixed(3)}`}function te(){clearTimeout(J),t(H,!0)}function z(){clearTimeout(J),J=setTimeout(()=>t(H,!1),180)}function Z(R){R.key==="Escape"&&t(H,!1)}function de(R){e(H)&&e(Q)&&!e(Q).contains(R.target)&&t(H,!1)}y(()=>(V(v()),e(I)),()=>{v()!==e(I)&&(t(I,v()),se(v()))}),y(()=>(c(),V(v())),()=>{var R;t(O,((R=c()[v()])==null?void 0:R.lastSeq)??0)}),y(()=>(e(O),e(K),e(L),V(v())),()=>{e(O)!==e(K)&&(t(K,e(O)),clearTimeout(e(L)),t(L,setTimeout(()=>void se(v()),1e3)))}),y(()=>e(h),()=>{var R,le;t(p,typeof((le=(R=e(h))==null?void 0:R.tokens)==null?void 0:le.input)=="number"?e(h).tokens.input:0)}),y(()=>e(h),()=>{var R,le;t(f,typeof((le=(R=e(h))==null?void 0:R.tokens)==null?void 0:le.output)=="number"?e(h).tokens.output:0)}),y(()=>(e(h),e(p),e(f)),()=>{var R,le;t(m,typeof((le=(R=e(h))==null?void 0:R.tokens)==null?void 0:le.used)=="number"?e(h).tokens.used:e(p)+e(f))}),y(()=>e(h),()=>{var R,le;t(d,typeof((le=(R=e(h))==null?void 0:R.tokens)==null?void 0:le.max)=="number"?e(h).tokens.max:void 0)}),y(()=>(e(m),e(d)),()=>{t(w,e(m)>0&&e(d)?Math.min(100,e(m)/e(d)*100):0)}),y(()=>e(w),()=>{t($,e(w)>=90?"var(--err)":e(w)>=70?"var(--warn)":"var(--ok)")}),y(()=>e(h),()=>{var R;t(E,(R=e(h))!=null&&R.model?String(e(h).model).split("/").pop():void 0)}),y(()=>e(h),()=>{var R;t(j,typeof((R=e(h))==null?void 0:R.cost)=="number"?e(h).cost:void 0)}),y(()=>e(h),()=>{var R,le,re;t(U,typeof((re=(le=(R=e(h))==null?void 0:R.tokens)==null?void 0:le.cache)==null?void 0:re.read)=="number"?e(h).tokens.cache.read:0)}),y(()=>e(h),()=>{var R,le,re;t(G,typeof((re=(le=(R=e(h))==null?void 0:R.tokens)==null?void 0:le.cache)==null?void 0:re.write)=="number"?e(h).tokens.cache.write:0)}),y(()=>(e(p),e(U)),()=>{t(l,e(p)+e(U)>0?Math.round(e(U)/(e(p)+e(U))*100):void 0)}),y(()=>(c(),V(v())),()=>{t(C,c()[v()])}),y(()=>e(C),()=>{t(q,sa(e(C)).filter(R=>R.kind==="user"||R.kind==="assistant").length)}),y(()=>(e(U),e(G),e(p),e(f)),()=>{t(Y,[{key:"缓存读",v:e(U),c:"var(--ok)"},{key:"缓存写",v:e(G),c:"var(--info)"},{key:"输入",v:e(p),c:"var(--text-3)"},{key:"输出",v:e(f),c:"var(--hl-purple)"}].filter(R=>R.v>0))}),y(()=>e(Y),()=>{t(k,e(Y).reduce((R,le)=>R+le.v,0))}),Ue(),Re();var ve=$n();W("keydown",bt,Z),W("click",bt,de);var M=s(ve),oe=s(M),N=s(oe);we(N,"r",B);var F=r(N);we(F,"r",B),a(oe);var ne=r(oe,2),ge=s(ne,!0);yt(),a(ne),a(M);var ke=r(M,2);{var ue=R=>{var le=yn(),re=s(le),_e=r(s(re),2),Ne=s(_e);a(_e),a(re);var Ze=r(re,2);De(Ze,5,()=>e(Y),xt,(fe,b)=>{var pe=_n();D(()=>Rt(pe,(e(b),e(k),n(()=>`width:${e(b).v/(e(k)||1)*100}%; background:${e(b).c}`)))),i(fe,pe)}),a(Ze);var Ge=r(Ze,2);De(Ge,5,()=>e(Y),xt,(fe,b)=>{var pe=gn(),Ie=s(pe),lt=r(Ie);a(pe),D(ht=>{Rt(Ie,(e(b),n(()=>`background:${e(b).c}`))),S(lt,`${e(b),n(()=>e(b).key)??""} ${ht??""}`)},[()=>(e(b),n(()=>be(e(b).v)))]),i(fe,pe)}),a(Ge);var Ke=r(Ge,2),Me=s(Ke);{var Ae=fe=>{var b=bn(),pe=r(s(b)),Ie=s(pe);a(pe),a(b),D(()=>S(Ie,`${e(l)??""}%`)),i(fe,b)};A(Me,fe=>{e(l)!=null&&fe(Ae)})}var Be=r(Me,2);{var Je=fe=>{var b=xn(),pe=r(s(b)),Ie=s(pe,!0);a(pe),a(b),D(()=>S(Ie,e(q))),i(fe,b)};A(Be,fe=>{e(q)>0&&fe(Je)})}var T=r(Be,2);{var ee=fe=>{var b=kn(),pe=r(s(b)),Ie=s(pe,!0);a(pe),a(b),D(()=>S(Ie,e(E))),i(fe,b)};A(T,fe=>{e(E)&&fe(ee)})}var me=r(T,2);{var Se=fe=>{var b=wn(),pe=r(s(b)),Ie=s(pe,!0);a(pe),a(b),D(lt=>S(Ie,lt),[()=>(e(j),n(()=>ie(e(j))))]),i(fe,b)};A(me,fe=>{e(j)!=null&&fe(Se)})}a(Ke),a(le),D((fe,b)=>S(Ne,`${fe??""} / ${b??""}`),[()=>(e(m),n(()=>be(e(m)))),()=>(e(d),n(()=>be(e(d))))]),i(R,le)};A(ke,R=>{e(H)&&e(d)&&R(ue)})}a(ve),at(ve,R=>t(Q,R),()=>e(Q)),D((R,le,re)=>{we(M,"aria-label",R),we(M,"aria-expanded",e(H)),we(F,"stroke",e($)),we(F,"stroke-dasharray",le),S(ge,re)},[()=>(e(w),n(()=>`上下文占用 ${e(w).toFixed(0)}%`)),()=>(e(w),n(()=>`${Math.max(X*e(w)/100,e(w)>0?1.5:0)} ${X}`)),()=>(e(w),n(()=>e(w).toFixed(0)))]),W("click",M,()=>t(H,!e(H))),W("mouseenter",ve,te),W("mouseleave",ve,z),i(ce,ve),Fe(),_()}var In=u('<div class="error svelte-60fagq" role="alert"> </div>'),Cn=u('<button role="option"> </button>'),Sn=u('<div class="mention-dropdown svelte-60fagq" role="listbox"></div>'),jn=u('<div class="thumb svelte-60fagq"><img alt="attachment" class="svelte-60fagq"/> <button class="remove svelte-60fagq" aria-label="移除图片">×</button></div>'),Mn=u('<div class="thumbnails svelte-60fagq"></div>'),En=u('<button class="attach svelte-60fagq" aria-label="附加图片"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg></button> <input type="file" accept="image/*" multiple="" style="display:none"/>',1),Tn=u("<!> <!>",1),Dn=Ca('<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 19V5M5 12l7-7 7 7"></path></svg>'),An=u('<div class="composer svelte-60fagq"><div class="dock svelte-60fagq"><!> <div><!> <!> <textarea aria-label="消息输入" class="svelte-60fagq"></textarea> <div class="footer svelte-60fagq"><!> <!> <!> <!> <button class="hint command svelte-60fagq">「/」命令</button> <span class="spacer svelte-60fagq"></span> <span class="hint send-hint svelte-60fagq">↵ 发送 · ⇧↵ 换行</span> <button class="send svelte-60fagq" aria-label="发送"><!></button></div></div></div></div>');function Bn(ce,P){ze(P,!1);const c=()=>Pe(Lt,"$composerDraft",p),g=()=>Pe(Nt,"$can",p),_=()=>Pe(Da,"$connection",p),O=()=>Pe(_a,"$backendName",p),[p,f]=Mt(),m=o();let d=qe(P,"sessionId",8),w=o(""),$=o(),E=o(!1),j=o(""),U=o(!1),G=o(),l=o([]),C=o([]),q=o(0),Y=0,k;function v(){return`c_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function h(T){const ee=new FileReader;ee.onload=()=>{var Ie;const me=ee.result,Se=me.indexOf(","),fe=me.slice(0,Se),b=me.slice(Se+1),pe=((Ie=fe.match(/data:(.*?);/))==null?void 0:Ie[1])??T.type;t(l,[...e(l),{data:b,mimeType:pe,preview:me}])},ee.readAsDataURL(T)}function H(T){const ee=T.target;if(ee.files){for(const me of ee.files)h(me);ee.value=""}}function Q(T){if(!g()("imageInput")||!T.clipboardData)return;const ee=[...T.clipboardData.items].filter(me=>me.type.startsWith("image/"));if(ee.length){T.preventDefault();for(const me of ee){const Se=me.getAsFile();Se&&h(Se)}}}function J(T){t(l,e(l).filter((ee,me)=>me!==T))}function I(){if(!e($))return null;const T=e($).selectionStart,me=e(w).slice(0,T).match(/(^|[\s])@([^\s]*)$/);return me?{token:me[2],start:T-me[2].length-1}:null}function K(){const T=I();if(!T){t(C,[]),clearTimeout(k);return}Y=T.start,t(q,0),clearTimeout(k);const ee=T.token;k=setTimeout(async()=>{try{t(C,await Ce.files(d(),ee))}catch{t(C,[])}},150)}function L(T){const ee=e($).selectionStart,me=e(w).slice(0,Y),Se=e(w).slice(ee),fe=`@${T} `;t(w,me+fe+Se),t(C,[]),Ot().then(()=>{const b=me.length+fe.length;It($,e($).selectionStart=It($,e($).selectionEnd=b)),e($).focus(),X()})}async function se(){var fe;const T=e(w).trim();if(!T&&e(l).length===0||e(E))return;if(_()!=="connected"){t(j,"Disconnected — reconnecting…");return}const ee=v(),me=e(l).map(({data:b,mimeType:pe})=>({data:b,mimeType:pe}));t(E,!0),t(j,""),ga({kind:"user",sessionId:d(),text:T,ts:Date.now(),id:`user:${ee}`}),t(w,"");const Se=[...e(l)];t(l,[]),X();try{await Ce.sendMessage({sessionId:d(),text:T,clientId:ee,...me.length?{images:me}:{}})}catch(b){t(j,`Send failed: ${b.message}`),ba(`user:${ee}`),t(w,T),t(l,Se)}finally{t(E,!1),(fe=e($))==null||fe.focus()}}function B(T){if(e(C).length>0){if(T.key==="ArrowDown"){T.preventDefault(),t(q,Math.min(e(q)+1,e(C).length-1));return}if(T.key==="ArrowUp"){T.preventDefault(),t(q,Math.max(e(q)-1,0));return}if(T.key==="Enter"||T.key==="Tab"){T.preventDefault(),L(e(C)[e(q)]);return}if(T.key==="Escape"){T.preventDefault(),t(C,[]);return}}T.key!=="Enter"||T.shiftKey||T.isComposing||T.keyCode===229||(T.preventDefault(),se())}function X(){e($)&&(It($,e($).style.height="auto"),It($,e($).style.height=Math.min(e($).scrollHeight,140)+"px"))}jt(()=>clearTimeout(k)),y(()=>(c(),e($)),()=>{const T=c();T&&(t(w,T.text),Lt.set(void 0),Ot().then(()=>{var ee;return(ee=e($))==null?void 0:ee.focus()}),X())}),y(()=>e(w),()=>{oa.set(!e(w).trim())}),y(()=>e(w),()=>{t(m,e(w).trim().length>0)}),Ue(),Re();var be=An(),ie=s(be),te=s(ie);{var z=T=>{var ee=In(),me=s(ee,!0);a(ee),D(()=>S(me,e(j))),i(T,ee)};A(te,T=>{e(j)&&T(z)})}var Z=r(te,2);let de;var ve=s(Z);{var M=T=>{var ee=Sn();De(ee,5,()=>e(C),xt,(me,Se,fe)=>{var b=Cn();let pe;var Ie=s(b,!0);a(b),D(()=>{pe=Le(b,1,"mention-row svelte-60fagq",null,pe,{active:fe===e(q)}),we(b,"aria-selected",fe===e(q)),S(Ie,e(Se))}),W("mousedown",b,Ba(()=>L(e(Se)))),i(me,b)}),a(ee),i(T,ee)};A(ve,T=>{e(C),n(()=>e(C).length>0)&&T(M)})}var oe=r(ve,2);{var N=T=>{var ee=Mn();De(ee,5,()=>e(l),xt,(me,Se,fe)=>{var b=jn(),pe=s(b),Ie=r(pe,2);a(b),D(()=>we(pe,"src",(e(Se),n(()=>e(Se).preview)))),W("click",Ie,()=>J(fe)),i(me,b)}),a(ee),i(T,ee)};A(oe,T=>{e(l),n(()=>e(l).length>0)&&T(N)})}var F=r(oe,2);qa(F),we(F,"rows",1),at(F,T=>t($,T),()=>e($));var ne=r(F,2),ge=s(ne);{var ke=T=>{var ee=En(),me=Te(ee),Se=r(me,2);at(Se,fe=>t(G,fe),()=>e(G)),W("click",me,()=>e(G).click()),W("change",Se,H),i(T,ee)},ue=Ct(()=>(g(),n(()=>g()("imageInput"))));A(ge,T=>{e(ue)&&T(ke)})}var R=r(ge,2);{var le=T=>{var ee=Tn(),me=Te(ee);tn(me,{});var Se=r(me,2);ln(Se,{}),i(T,ee)},re=Ct(()=>(g(),n(()=>g()("catalog"))));A(R,T=>{e(re)&&T(le)})}var _e=r(R,2);{var Ne=T=>{mn(T,{get sessionId(){return d()}})},Ze=Ct(()=>(g(),n(()=>g()("sessionControls"))));A(_e,T=>{e(Ze)&&T(Ne)})}var Ge=r(_e,2);qn(Ge,{get sessionId(){return d()}});var Ke=r(Ge,2),Me=r(Ke,6),Ae=s(Me);{var Be=T=>{var ee=Ia("…");i(T,ee)},Je=T=>{var ee=Dn();i(T,ee)};A(Ae,T=>{e(E)?T(Be):T(Je,-1)})}a(Me),a(ne),a(Z),a(ie),a(be),D(T=>{de=Le(Z,1,"box svelte-60fagq",null,de,{focused:e(U),"has-text":e(m)}),we(F,"placeholder",_()==="connected"?`给 ${O()} 留言…`:"连接断开…"),Me.disabled=T},[()=>(e(E),e(w),e(l),_(),n(()=>e(E)||!e(w).trim()&&e(l).length===0||_()!=="connected"))]),Ta(F,()=>e(w),T=>t(w,T)),W("keydown",F,B),W("input",F,()=>{X(),K()}),W("paste",F,Q),W("focus",F,()=>t(U,!0)),W("blur",F,()=>t(U,!1)),W("click",F,K),W("click",Ke,()=>Aa.set(!0)),W("click",Me,se),i(ce,be),Fe(),f()}var On=u('<span class="check svelte-rgafhj">✓</span>'),Rn=u('<button><span aria-hidden="true"></span> <span class="info svelte-rgafhj"><span class="row-title svelte-rgafhj"> </span> <span class="row-meta mono svelte-rgafhj"> </span></span> <!></button>'),zn=u('<div class="empty svelte-rgafhj"> </div>'),Fn=u('<div class="popover svelte-rgafhj" role="dialog" aria-label="会话切换"><div class="list svelte-rgafhj"></div> <div class="footer svelte-rgafhj"><button class="new-session mono svelte-rgafhj"> </button></div></div>'),Ln=u('<div class="switcher svelte-rgafhj"><button class="trigger svelte-rgafhj" aria-haspopup="true" title="Switch session"><span class="glyph-tile svelte-rgafhj"> </span> <span><span class="sr-only svelte-rgafhj"> </span></span> <span class="title svelte-rgafhj"> </span> <span class="caret svelte-rgafhj" aria-hidden="true"><!></span></button> <!></div>');function Nn(ce,P){ze(P,!1);const c=()=>Pe(xa,"$backends",p),g=()=>Pe(Bt,"$sessionList",p),_=()=>Pe(Oa,"$activeWorkspace",p),O=()=>Pe(ea,"$workspaces",p),[p,f]=Mt(),m=o(),d=o(),w=o(),$=o(),E=o(),j=o();let U=qe(P,"activeId",8,void 0),G=o(!1),l=o(!1);function C(M){const oe=M.split(/[\s\-_:./]+/).filter(Boolean);return oe.length>=2?(oe[0][0]+oe[1][0]).toUpperCase():M.slice(0,2).toUpperCase()}function q(M){return C((M==null?void 0:M.name)||(M==null?void 0:M.id)||"OC")}function Y(M){return M==="online"||M==="connected"?"online":M==="connecting"||M==="reconnecting"?"connecting":M==="offline"?"offline":"online"}function k(){t(G,!e(G))}function v(M){t(G,!1),zt(`/${M}/`)}async function h(){var oe;if(e(l))return;const M=_()||((oe=O()[0])==null?void 0:oe.directory)||"";t(l,!0);try{await wa(e(m));const N=await Ce.createSession({directory:M});Bt.set(await Ce.sessions()),ea.set(await Ce.workspaces()),t(G,!1),zt(`/${N.id}/`)}catch(N){alert(`Create session failed: ${N.message}`)}finally{t(l,!1)}}function H(M){M.key==="Escape"&&t(G,!1)}function Q(M){const oe=Date.now()-M,N=Math.floor(oe/6e4);if(N<1)return"now";if(N<60)return`${N}m`;const F=Math.floor(N/60);return F<24?`${F}h`:`${Math.floor(F/24)}d`}function J(M){return(M.includes("_")?M.slice(M.indexOf("_")+1):M).slice(-8)}y(()=>c(),()=>{var M,oe,N;t(m,((M=c())==null?void 0:M.activeId)??((N=(oe=c())==null?void 0:oe.backends[0])==null?void 0:N.id)??"opencode")}),y(()=>(c(),e(m)),()=>{var M;t(d,(M=c())==null?void 0:M.backends.find(oe=>oe.id===e(m)))}),y(()=>e(m),()=>{t(w,ka(e(m)))}),y(()=>(g(),e(m)),()=>{t($,g().filter(M=>M.backendId===e(m)||!M.backendId&&e(m)==="opencode").sort((M,oe)=>oe.lastActiveAt-M.lastActiveAt))}),y(()=>(g(),V(U())),()=>{t(E,g().find(M=>M.id===U()))}),y(()=>e(E),()=>{var M;t(j,((M=e(E))==null?void 0:M.title)||"Untitled session")}),Ue(),Re();var I=Ln();W("keydown",bt,H);var K=s(I),L=s(K),se=s(L,!0);a(L);var B=r(L,2),X=s(B),be=s(X,!0);a(X),a(B);var ie=r(B,2),te=s(ie,!0);a(ie);var z=r(ie,2),Z=s(z);He(Z,{name:"caret-down",size:11}),a(z),a(K);var de=r(K,2);{var ve=M=>{var oe=Fn(),N=s(oe);De(N,5,()=>e($),ke=>ke.id,(ke,ue)=>{var R=Rn();let le;var re=s(R),_e=r(re,2),Ne=s(_e),Ze=s(Ne,!0);a(Ne);var Ge=r(Ne,2),Ke=s(Ge);a(Ge),a(_e);var Me=r(_e,2);{var Ae=Be=>{var Je=On();i(Be,Je)};A(Me,Be=>{e(ue),V(U()),n(()=>e(ue).id===U())&&Be(Ae)})}a(R),D((Be,Je)=>{le=Le(R,1,"row svelte-rgafhj",null,le,{active:e(ue).id===U()}),Le(re,1,`dot ${e(ue),V(U()),n(()=>e(ue).id===U()?"active":"")??""}`,"svelte-rgafhj"),S(Ze,(e(ue),n(()=>e(ue).title||"Untitled session"))),S(Ke,`${Be??""} · ${Je??""}`)},[()=>(e(ue),n(()=>J(e(ue).id))),()=>(e(ue),n(()=>Q(e(ue).lastActiveAt)))]),W("click",R,()=>v(e(ue).id)),i(ke,R)},ke=>{var ue=zn(),R=s(ue);a(ue),D(()=>S(R,`No sessions on ${e(d),n(()=>{var le,re;return((le=e(d))==null?void 0:le.name)??((re=e(d))==null?void 0:re.id)??"this agent"})??""}.`)),i(ke,ue)}),a(N);var F=r(N,2),ne=s(F),ge=s(ne);a(ne),a(F),a(oe),D(()=>{ne.disabled=e(l),S(ge,`+ New session on ${e(d),n(()=>{var ke,ue;return((ke=e(d))==null?void 0:ke.name)??((ue=e(d))==null?void 0:ue.id)??"agent"})??""}`)}),W("click",ne,h),i(M,oe)};A(de,M=>{e(G)&&M(ve)})}a(I),D((M,oe,N)=>{we(K,"aria-expanded",e(G)),Rt(L,`background:${V(Xt),e(w),n(()=>Xt[e(w)])??""}; color:${V(Yt),e(w),n(()=>Yt[e(w)])??""}; border-color:${V(Zt),e(w),n(()=>Zt[e(w)])??""}`),S(se,M),Le(B,1,`status-dot ${oe??""}`,"svelte-rgafhj"),S(be,N),S(te,e(j))},[()=>(e(d),n(()=>q(e(d)))),()=>(e(d),n(()=>{var M;return Y((M=e(d))==null?void 0:M.status)})),()=>(e(d),n(()=>{var M;return Y((M=e(d))==null?void 0:M.status)}))]),W("click",K,k),i(ce,I),Fe(),f()}var Pn=u('<button class="ghost svelte-w3h0m4" title="重新显示计划窗"><span class="label svelte-w3h0m4">计划</span> <span class="bar-count mono svelte-w3h0m4"> <i class="svelte-w3h0m4">/</i> </span></button>'),Wn=u('<div class="scrim svelte-w3h0m4" aria-hidden="true"></div>'),Hn=u('<button role="menuitem" class="svelte-w3h0m4">本会话隐藏</button>'),Kn=u('<div class="menu svelte-w3h0m4" role="menu"><button role="menuitem" class="svelte-w3h0m4">打开任务面板</button> <!></div>'),Un=u('<button class="crumb svelte-w3h0m4"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="svelte-w3h0m4"><path d="M15 18l-6-6 6-6"></path></svg> <span> </span></button>'),Gn=u('<div class="row done svelte-w3h0m4"><span class="box svelte-w3h0m4"><span class="check svelte-w3h0m4">✓</span></span><span class="tx svelte-w3h0m4"> </span></div>'),Jn=u('<button class="grp svelte-w3h0m4"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg> <span> </span></button> <!>',1),Vn=u('<div class="row running svelte-w3h0m4"><span class="box svelte-w3h0m4"><span class="dot svelte-w3h0m4"></span></span><span class="tx svelte-w3h0m4"> </span></div>'),Qn=u('<div class="row pending svelte-w3h0m4"><span class="box svelte-w3h0m4"></span><span class="tx svelte-w3h0m4"> </span></div>'),Xn=u('<div class="row pending svelte-w3h0m4"><span class="box svelte-w3h0m4"></span><span class="tx svelte-w3h0m4"> </span></div>'),Yn=u('<button class="grp svelte-w3h0m4"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg> <span> </span></button> <!>',1),Zn=u('<span class="sub-count mono svelte-w3h0m4"> </span>'),er=u('<button class="row sub jump svelte-w3h0m4" title="打开子代理会话"><span class="sub-dot svelte-w3h0m4" aria-hidden="true"></span> <!> <span class="tx svelte-w3h0m4"> </span> <svg class="go svelte-w3h0m4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg></button>'),tr=u('<div class="grp static svelte-w3h0m4"><span class="sub-label svelte-w3h0m4"> </span></div> <!>',1),ar=u('<span class="sub-check svelte-w3h0m4" aria-hidden="true">✓</span>'),sr=u('<span class="sub-count mono svelte-w3h0m4"> </span>'),nr=u('<button class="row sub jump idle svelte-w3h0m4" title="打开子代理会话"><!> <!> <span class="tx svelte-w3h0m4"> </span> <svg class="go svelte-w3h0m4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg></button>'),rr=u('<button class="grp svelte-w3h0m4"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg> <span> </span></button> <!>',1),or=u('<!> <div class="plan-card svelte-w3h0m4"><div class="hd svelte-w3h0m4"><span class="label svelte-w3h0m4">计划</span> <span class="title svelte-w3h0m4"> </span> <button class="dots svelte-w3h0m4" aria-label="Plan menu">⋯</button> <button class="close svelte-w3h0m4" aria-label="收起计划"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="svelte-w3h0m4"><path d="M18 15l-6-6-6 6"></path></svg></button></div> <!> <div class="body svelte-w3h0m4"><!> <div class="prog mono svelte-w3h0m4"> </div> <!> <!> <!> <!> <!> <!></div></div>',1),lr=u('<span class="badge mono svelte-w3h0m4"> </span>'),ir=u('<button class="bar svelte-w3h0m4"><span class="label svelte-w3h0m4">计划</span> <span class="bar-count mono svelte-w3h0m4"> <i class="svelte-w3h0m4">/</i> </span> <!> <svg class="caret svelte-w3h0m4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18 15l-6-6-6 6"></path></svg></button>'),vr=u('<span class="badge mono svelte-w3h0m4"> </span>'),cr=u('<button class="ball svelte-w3h0m4"><svg class="ring svelte-w3h0m4" viewBox="0 0 38 38" aria-hidden="true"><circle class="track svelte-w3h0m4" cx="19" cy="19"></circle><circle class="arc svelte-w3h0m4" cx="19" cy="19" transform="rotate(-90 19 19)"></circle></svg> <span class="ball-count mono svelte-w3h0m4"> <i class="svelte-w3h0m4">/</i> </span> <!></button>'),dr=u("<!> <!>",1);function ur(ce,P){ze(P,!1);const c=()=>Pe(Pt,"$feeds",O),g=()=>Pe(Bt,"$sessionList",O),_=()=>Pe(Nt,"$can",O),[O,p]=Mt(),f=o(),m=o(),d=o(),w=o(),$=o(),E=o(),j=o(),U=o(),G=o(),l=o(),C=o();let q=qe(P,"sessionId",8),Y=qe(P,"onJump",8,()=>{});const k="ocrc.planHud.v3",v=5,h=16,H=2*Math.PI*h;let Q=o(!1);try{t(Q,window.matchMedia("(min-width: 821px)").matches)}catch{}const J=e(Q)?"ocrc.planHud.dt3":k;function I(){if(typeof localStorage>"u")return{};try{const b=JSON.parse(localStorage.getItem(J)??"{}")??{};return{dismissed:b.dismissed,expanded:b.expanded}}catch{return{}}}let K=o(I()),L=o(e(K).expanded??e(Q));function se(b){if(t(K,{...e(K),...b}),!(typeof localStorage>"u"))try{localStorage.setItem(J,JSON.stringify(e(K)))}catch{}}let B=o({total:0,done:0,items:[]}),X=o();async function be(b){try{const pe=await Ce.todo(b);if(b!==q())return;t(X,b),t(B,Ra(pe))}catch{}}let ie=o(),te=o(0),z=o(-1),Z=o();jt(()=>clearTimeout(e(Z)));let de=o([]),ve=o(),M=!1;async function oe(b){if(!M){M=!0;try{const pe=await Ce.subagents(b);if(b!==q())return;t(de,[...pe.subagents??[]].sort((Ie,lt)=>Number(lt.busy??!1)-Number(Ie.busy??!1))),t(ve,b)}catch{t(de,[])}finally{M=!1}}}const N=b=>`ocrc.subparent.${b}`;let F=o();function ne(b){try{t(F,sessionStorage.getItem(N(b))??void 0)}catch{t(F,void 0)}}ne(q());function ge(b){try{sessionStorage.setItem(N(b.id),q())}catch{}t(_e,!1),Y()(b.id)}function ke(){const b=e(F);t(F,void 0),b&&Y()(b)}let ue=o(),R=o(!1),le=o(!1),re=o(!1),_e=o(!1);function Ne(){t(L,!e(L)),se({expanded:e(L)})}function Ze(){se({dismissed:[...e(K).dismissed??[],q()].slice(-20)}),t(_e,!1)}function Ge(){se({dismissed:(e(K).dismissed??[]).filter(b=>b!==q())}),t(L,!0),se({expanded:e(L)})}function Ke(){t(_e,!1),la.set(!0)}let Me=o(),Ae=o(),Be=o(),Je=o();function T(b){var Ie,lt,ht,$t;const pe=b.target;if(e(_e)){if((Ie=e(Ae))!=null&&Ie.contains(pe)||(lt=e(Me))!=null&&lt.contains(pe))return;t(_e,!1)}e(L)&&((ht=e(Be))!=null&&ht.contains(pe)||($t=e(Je))!=null&&$t.contains(pe)||(t(L,!1),se({expanded:!1})))}y(()=>(V(q()),e(ie)),()=>{q()!==e(ie)&&(t(ie,q()),be(q()))}),y(()=>(c(),V(q())),()=>{var b;t(f,((b=c()[q()])==null?void 0:b.lastSeq)??0)}),y(()=>(e(f),e(z),e(Z),e(te)),()=>{e(f)!==e(z)&&(t(z,e(f)),clearTimeout(e(Z)),t(Z,setTimeout(()=>t(te,e(te)+1),1e3)))}),y(()=>(e(te),V(q())),()=>{e(te)&&(be(q()),oe(q()))}),y(()=>(g(),V(q())),()=>{t(m,g().find(b=>b.id===q()))}),y(()=>e(m),()=>{var b;t(d,((b=e(m))==null?void 0:b.title)??"")}),y(()=>e(B),()=>{t(w,e(B).items.filter(b=>b.status==="done"))}),y(()=>e(B),()=>{t($,e(B).items.filter(b=>b.status==="running"))}),y(()=>e(B),()=>{t(E,e(B).items.filter(b=>b.status==="pending"))}),y(()=>e(E),()=>{t(j,Math.max(0,e(E).length-v))}),y(()=>e(B),()=>{t(U,e(B).total?e(B).done/e(B).total:0)}),y(()=>(e(K),V(q())),()=>{var b;t(G,((b=e(K).dismissed)==null?void 0:b.includes(q()))??!1)}),y(()=>e(de),()=>{t(l,e(de).filter(b=>b.busy))}),y(()=>e(de),()=>{t(C,e(de).filter(b=>!b.busy))}),y(()=>(e(L),V(q()),e(ve)),()=>{e(L)&&q()&&e(ve)!==q()&&oe(q())}),y(()=>V(q()),()=>{q()&&ne(q())}),y(()=>(V(q()),e(ue)),()=>{q()!==e(ue)&&(t(ue,q()),t(R,!1),t(le,!1),t(re,!1),t(_e,!1))}),Ue(),Re();var ee=ot();W("pointerdown",bt,T);var me=Te(ee);{var Se=b=>{var pe=dr(),Ie=Te(pe);{var lt=Ve=>{var Ee=Pn(),et=r(s(Ee),2),it=s(et,!0),st=r(it,2,!0);a(et),a(Ee),D(()=>{S(it,(e(B),n(()=>e(B).done))),S(st,(e(B),n(()=>e(B).total)))}),W("click",Ee,Ge),i(Ve,Ee)},ht=Ve=>{var Ee=or(),et=Te(Ee);{var it=he=>{var $e=Wn();i(he,$e)};A(et,he=>{e(Q)||he(it)})}var st=r(et,2),ut=s(st),nt=r(s(ut),2),vt=s(nt,!0);a(nt);var pt=r(nt,2);at(pt,he=>t(Me,he),()=>e(Me));var qt=r(pt,2);a(ut);var x=r(ut,2);{var ae=he=>{var $e=Kn(),xe=s($e),Oe=r(xe,2);{var We=Qe=>{var dt=Hn();W("click",dt,Ze),i(Qe,dt)};A(Oe,Qe=>{e(Q)||Qe(We)})}a($e),at($e,Qe=>t(Ae,Qe),()=>e(Ae)),W("click",xe,Ke),i(he,$e)};A(x,he=>{e(_e)&&he(ae)})}var ye=r(x,2),ft=s(ye);{var St=he=>{var $e=Un(),xe=r(s($e),2),Oe=s(xe);a(xe),a($e),D(We=>S(Oe,`返回父会话 …${We??""}`),[()=>(e(F),n(()=>e(F).slice(-8)))]),W("click",$e,ke),i(he,$e)};A(ft,he=>{e(F)&&he(St)})}var ct=r(ft,2),Et=s(ct);a(ct);var Ht=r(ct,2);{var va=he=>{var $e=Jn(),xe=Te($e),Oe=s(xe);let We;var Qe=r(Oe,2),dt=s(Qe);a(Qe),a(xe);var Xe=r(xe,2);{var mt=tt=>{var _t=ot(),wt=Te(_t);De(wt,1,()=>e(w),rt=>rt.text,(rt,je)=>{var Ye=Gn(),gt=r(s(Ye)),Tt=s(gt,!0);a(gt),a(Ye),D(()=>S(Tt,(e(je),n(()=>e(je).text)))),i(rt,Ye)}),i(tt,_t)};A(Xe,tt=>{e(R)&&tt(mt)})}D(()=>{we(xe,"aria-expanded",e(R)),We=Le(Oe,0,"caret svelte-w3h0m4",null,We,{open:e(R)}),S(dt,`已完成 ${e(w),n(()=>e(w).length)??""}`)}),W("click",xe,()=>t(R,!e(R))),i(he,$e)};A(Ht,he=>{e(w),n(()=>e(w).length)&&he(va)})}var Kt=r(Ht,2);De(Kt,1,()=>e($),he=>he.text,(he,$e)=>{var xe=Vn(),Oe=r(s(xe)),We=s(Oe,!0);a(Oe),a(xe),D(()=>S(We,(e($e),n(()=>e($e).text)))),i(he,xe)});var Ut=r(Kt,2);De(Ut,1,()=>(e(E),n(()=>e(E).slice(0,v))),he=>he.text,(he,$e)=>{var xe=Qn(),Oe=r(s(xe)),We=s(Oe,!0);a(Oe),a(xe),D(()=>S(We,(e($e),n(()=>e($e).text)))),i(he,xe)});var Gt=r(Ut,2);{var ca=he=>{var $e=Yn(),xe=Te($e),Oe=s(xe);let We;var Qe=r(Oe,2),dt=s(Qe);a(Qe),a(xe);var Xe=r(xe,2);{var mt=tt=>{var _t=ot(),wt=Te(_t);De(wt,1,()=>(e(E),n(()=>e(E).slice(v))),rt=>rt.text,(rt,je)=>{var Ye=Xn(),gt=r(s(Ye)),Tt=s(gt,!0);a(gt),a(Ye),D(()=>S(Tt,(e(je),n(()=>e(je).text)))),i(rt,Ye)}),i(tt,_t)};A(Xe,tt=>{e(le)&&tt(mt)})}D(()=>{we(xe,"aria-expanded",e(le)),We=Le(Oe,0,"caret svelte-w3h0m4",null,We,{open:e(le)}),S(dt,`待处理 ${e(j)??""}`)}),W("click",xe,()=>t(le,!e(le))),i(he,$e)};A(Gt,he=>{e(j)>0&&he(ca)})}var Jt=r(Gt,2);{var da=he=>{var $e=tr(),xe=Te($e),Oe=s(xe),We=s(Oe);a(Oe),a(xe);var Qe=r(xe,2);De(Qe,1,()=>e(l),dt=>dt.id,(dt,Xe)=>{var mt=er(),tt=r(s(mt),2);{var _t=je=>{var Ye=Zn(),gt=s(Ye);a(Ye),D(()=>S(gt,`${e(Xe),n(()=>e(Xe).done)??""}/${e(Xe),n(()=>e(Xe).total)??""}`)),i(je,Ye)};A(tt,je=>{e(Xe),n(()=>e(Xe).total>0)&&je(_t)})}var wt=r(tt,2),rt=s(wt,!0);a(wt),yt(2),a(mt),D(je=>S(rt,je),[()=>(e(Xe),n(()=>e(Xe).title||"…"+e(Xe).id.slice(-6)))]),W("click",mt,()=>ge(e(Xe))),i(dt,mt)}),D(()=>S(We,`子代理 · 运行中 ${e(l),n(()=>e(l).length)??""}`)),i(he,$e)};A(Jt,he=>{e(l),n(()=>e(l).length)&&he(da)})}var ua=r(Jt,2);{var pa=he=>{var $e=rr(),xe=Te($e),Oe=s(xe);let We;var Qe=r(Oe,2),dt=s(Qe);a(Qe),a(xe);var Xe=r(xe,2);{var mt=tt=>{var _t=ot(),wt=Te(_t);De(wt,1,()=>e(C),rt=>rt.id,(rt,je)=>{var Ye=nr(),gt=s(Ye);{var Tt=kt=>{var Dt=ar();i(kt,Dt)};A(gt,kt=>{e(je),n(()=>e(je).total>0&&e(je).done>=e(je).total)&&kt(Tt)})}var Vt=r(gt,2);{var fa=kt=>{var Dt=sr(),ma=s(Dt);a(Dt),D(()=>S(ma,`${e(je),n(()=>e(je).done)??""}/${e(je),n(()=>e(je).total)??""}`)),i(kt,Dt)};A(Vt,kt=>{e(je),n(()=>e(je).total>0)&&kt(fa)})}var Qt=r(Vt,2),ha=s(Qt,!0);a(Qt),yt(2),a(Ye),D(kt=>S(ha,kt),[()=>(e(je),n(()=>e(je).title||"…"+e(je).id.slice(-6)))]),W("click",Ye,()=>ge(e(je))),i(rt,Ye)}),i(tt,_t)};A(Xe,tt=>{e(re)&&tt(mt)})}D(()=>{we(xe,"aria-expanded",e(re)),We=Le(Oe,0,"caret svelte-w3h0m4",null,We,{open:e(re)}),S(dt,`已结束 ${e(C),n(()=>e(C).length)??""}`)}),W("click",xe,()=>t(re,!e(re))),i(he,$e)};A(ua,he=>{e(C),n(()=>e(C).length)&&he(pa)})}a(ye),a(st),at(st,he=>t(Be,he),()=>e(Be)),D(he=>{S(vt,he),S(Et,`任务 ${e(B),n(()=>e(B).done)??""}/${e(B),n(()=>e(B).total)??""}`)},[()=>(e(d),V(q()),n(()=>e(d)||"…"+q().slice(-8)))]),W("click",pt,za(()=>t(_e,!e(_e)))),W("click",qt,Ne),i(Ve,Ee)};A(Ie,Ve=>{e(G)&&!e(Q)?Ve(lt):e(L)&&Ve(ht,1)})}var $t=r(Ie,2);{var At=Ve=>{var Ee=ir(),et=r(s(Ee),2),it=s(et,!0),st=r(it,2,!0);a(et);var ut=r(et,2);{var nt=vt=>{var pt=lr(),qt=s(pt,!0);a(pt),D(()=>S(qt,(e(l),n(()=>e(l).length)))),i(vt,pt)};A(ut,vt=>{e(l),n(()=>e(l).length>0)&&vt(nt)})}yt(2),a(Ee),at(Ee,vt=>t(Je,vt),()=>e(Je)),D(()=>{we(Ee,"aria-label",(e(B),n(()=>`展开计划 ${e(B).done}/${e(B).total}`))),S(it,(e(B),n(()=>e(B).done))),S(st,(e(B),n(()=>e(B).total)))}),W("click",Ee,Ne),i(Ve,Ee)},Ft=Ve=>{var Ee=cr(),et=s(Ee),it=s(et);we(it,"r",h);var st=r(it);we(st,"r",h),a(et);var ut=r(et,2),nt=s(ut,!0),vt=r(nt,2,!0);a(ut);var pt=r(ut,2);{var qt=x=>{var ae=vr(),ye=s(ae,!0);a(ae),D(()=>S(ye,(e(l),n(()=>e(l).length)))),i(x,ae)};A(pt,x=>{e(l),n(()=>e(l).length>0)&&x(qt)})}a(Ee),at(Ee,x=>t(Je,x),()=>e(Je)),D(x=>{we(Ee,"aria-label",(e(B),e(L),n(()=>`计划 ${e(B).done}/${e(B).total} — ${e(L)?"收起":"展开"}`))),we(Ee,"aria-expanded",e(L)),we(st,"stroke-dasharray",x),S(nt,(e(B),n(()=>e(B).done))),S(vt,(e(B),n(()=>e(B).total)))},[()=>(e(U),n(()=>`${Math.max(H*e(U),H*.02)} ${H}`))]),W("click",Ee,Ne),i(Ve,Ee)};A($t,Ve=>{e(Q)&&!e(L)?Ve(At):!e(G)&&!(e(Q)&&!e(L))&&Ve(Ft,1)})}i(b,pe)},fe=Ct(()=>(e(X),V(q()),e(B),e(de),e(F),_(),n(()=>e(X)===q()&&(e(B).total>0||e(de).length>0||e(F))&&_()("todos"))));A(me,b=>{e(fe)&&b(Se)})}i(ce,ee),Fe(),p()}var pr=u('<button class="expand svelte-eho102" title="Expand left panel" aria-label="展开左侧面板"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18l6-6-6-6"></path></svg></button>'),fr=u('<span class="branch mono svelte-eho102"> </span>'),hr=u('<span class="pill running mono svelte-eho102"><span class="dot svelte-eho102" aria-hidden="true"></span> </span> <button class="abort svelte-eho102">停止</button>',1),mr=u('<span class="idle mono svelte-eho102">空闲</span>'),_r=u('<button class="load-earlier mono svelte-eho102"> </button>'),gr=u('<div class="loading mono svelte-eho102" aria-label="Loading conversation"><span class="ldot svelte-eho102"></span><span class="ldot svelte-eho102"></span><span class="ldot svelte-eho102"></span></div>'),br=u('<div class="empty svelte-eho102"><svg class="empty-mark svelte-eho102" viewBox="0 0 64 64" fill="none" stroke-width="8" stroke-linecap="round" aria-hidden="true"><path d="M46 15 A24 24 0 1 0 54 32" stroke="var(--text)" opacity=".85"></path><circle cx="49" cy="20" r="6" fill="var(--accent)" stroke="none"></circle></svg> <p class="empty-title svelte-eho102">要让 agent 做什么?</p> <p class="empty-hint svelte-eho102">在下方描述任务——它将在本项目目录中运行。需要时可附上图片。</p></div>'),xr=u('<button class="jump svelte-eho102" aria-label="跳到最新"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14"></path><path d="M19 12l-7 7-7-7"></path></svg> 最新</button>'),kr=u('<div class="chat svelte-eho102"><div class="sub-header svelte-eho102"><div class="left svelte-eho102"><button class="back svelte-eho102" aria-label="返回会话列表"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 18l-6-6 6-6"></path></svg></button> <!> <!> <!></div> <div class="right svelte-eho102"><!> <button class="inspect svelte-eho102" aria-label="Inspector"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="7" x2="20" y2="7"></line><line x1="4" y1="12" x2="20" y2="12"></line><line x1="4" y1="17" x2="14" y2="17"></line></svg></button></div></div> <div aria-live="polite"><!> <!> <div class="stream-end svelte-eho102" aria-hidden="true"></div> <!></div></div> <!> <div class="composer-float svelte-eho102"><!> <!></div> <!>',1);function jr(ce,P){ze(P,!1);const c=()=>Pe(Fa,"$page",m),g=()=>Pe(Pt,"$feeds",m),_=()=>Pe(Bt,"$sessionList",m),O=()=>Pe(oa,"$composerEmpty",m),p=()=>Pe(ta,"$leftPanelOpen",m),f=()=>Pe(La,"$feedResyncing",m),[m,d]=Mt(),w=o(),$=o(),E=o(),j=o(),U=o(),G=o(),l=o(),C=o(),q=o();let Y=o(),k=o(),v=o(),h,H=o(""),Q,J,I=o(!1),K=o(0),L=o(0),se=o(),B=o(!0);function X(){e(Y)&&It(Y,e(Y).scrollTop=e(Y).scrollHeight)}function be(){e(Y)&&t(B,e(Y).scrollHeight-e(Y).scrollTop-e(Y).clientHeight<80)}const ie=80,te=50;let z=o(ie),Z=o(0),de=o(!0),ve=o(!1),M=o("");async function oe(){if(e(ve)||!e($))return;if(e(j).length>e(z)){t(z,e(z)+ie);return}if(!e(de))return;t(ve,!0);const x=e(Y),ae=x?{h:x.scrollHeight,top:x.scrollTop}:null;try{const ye=await Ce.history(e($),{limit:te,offset:e(Z)});(ye.cards??[]).length===0?t(de,!1):(ya(e($),ye.cards),t(Z,e(Z)+te),t(z,e(z)+ie),ye.hasMore===!1&&t(de,!1),ae&&x&&(await Ot(),x.scrollTop=x.scrollHeight-ae.h+ae.top))}catch(ye){console.warn("[page] loadEarlier failed",ye)}finally{t(ve,!1)}}let N=o("");function F(x){if(x<60)return`${x}s`;const ae=Math.floor(x/60),ye=x%60;return ye===0?`${ae}m`:`${ae}m ${ye}s`}function ne(){Ne()}const ge=["总结这个项目","最近有什么改动?","运行检查"];let ke=o(!1),ue=o([]),R;async function le(x,ae){if(R!==ae){R=ae;try{const ye=await Ce.suggestions(x);t(ue,ye.suggestions??[])}catch{t(ue,[])}}}let re=o(),_e=o([]);function Ne(){if(!e($))return;const x=[...e(j)].reverse().find(ye=>ye.kind==="user"),ae=x==null?void 0:x.text;ae&&Ce.sendMessage({sessionId:e($),text:ae,clientId:`web_${Date.now()}`})}async function Ze(){if(!(!e($)||e(I))){t(I,!0);try{await Ce.abort(e($))}catch{}finally{t(I,!1)}}}Wt(()=>{Q=new ResizeObserver(()=>{e(k)&&(document.documentElement.style.setProperty("--composer-h",`${e(k).offsetHeight}px`),e(B)&&X())}),e(k)&&Q.observe(e(k)),h=new IntersectionObserver(ye=>{e(B)&&ye.some(ft=>!ft.isIntersecting)&&requestAnimationFrame(X)},{root:e(Y),threshold:0}),e(v)&&h.observe(e(v));const x=window.visualViewport,ae=()=>{e(B)&&requestAnimationFrame(X)};x==null||x.addEventListener("resize",ae),J=()=>x==null?void 0:x.removeEventListener("resize",ae)}),jt(()=>{Q==null||Q.disconnect(),h==null||h.disconnect(),J==null||J(),e(se)&&clearInterval(e(se))}),y(()=>c(),()=>{t($,c().params.sessionId??"")}),y(()=>(e($),e(M)),()=>{e($)&&e($)!==e(M)&&(t(M,e($)),t(z,ie),t(Z,0),t(de,!0),t(ve,!1))}),y(()=>(g(),e($)),()=>{t(E,g()[e($)])}),y(()=>e(E),()=>{t(j,sa(e(E)))}),y(()=>(e(z),e(j)),()=>{t(w,e(z)>=e(j).length?e(j):e(j).slice(-e(z)))}),y(()=>(_(),e($)),()=>{t(U,_().find(x=>x.id===e($)))}),y(()=>e(U),()=>{var x;t(G,(x=e(U))!=null&&x.directory&&e(U).directory.replace(/\/+$/,"").split("/").pop()||"")}),y(()=>e(E),()=>{t(l,(()=>{if(!e(E)||e(E).order.length===0)return!1;const x=e(E).byId[e(E).order[e(E).order.length-1]];return(x==null?void 0:x.kind)==="thinking"||(x==null?void 0:x.kind)==="streaming"||(x==null?void 0:x.kind)==="think-stream"})())}),y(()=>(e(l),e(N),e($),e(K),e(se)),()=>{e(l)?(e(N)!==e($)&&(t(N,e($)),t(K,0)),!e(K)&&typeof window<"u"&&(t(K,Date.now()),t(L,0),e(se)&&clearInterval(e(se)),t(se,setInterval(()=>{t(L,Math.floor((Date.now()-e(K))/1e3))},1e3)))):(t(K,0),t(L,0),t(N,""),e(se)&&(clearInterval(e(se)),t(se,void 0)))}),y(()=>e(j),()=>{t(C,e(j).length?e(j)[e(j).length-1]:null)}),y(()=>(e(l),e(C),e($)),()=>{var x;!e(l)&&((x=e(C))==null?void 0:x.kind)==="assistant"&&e($)&&le(e($),e(C).id)}),y(()=>(e($),e(re)),()=>{e($)!==e(re)&&(t(re,e($)),t(ke,!1))}),y(()=>(e(l),e(ke),O(),e(ue),e(j)),()=>{e(l)||e(ke)||!O()?t(_e,[]):e(ue).length>0?t(_e,e(ue)):e(j).length===0?t(_e,ge):t(_e,[])}),y(()=>(e($),e(E),e(j)),()=>{var x;t(q,`${e($)}:${((x=e(E))==null?void 0:x.lastSeq)??0}:${e(j).length}`)}),y(()=>(e(q),e(H),e(B)),()=>{e(q)!==e(H)&&(t(H,e(q)),Ot().then(()=>{e(B)&&X()}))}),Ue(),Re();var Ge=kr(),Ke=Te(Ge),Me=s(Ke),Ae=s(Me),Be=s(Ae),Je=r(Be,2);{var T=x=>{var ae=pr();W("click",ae,()=>ta.set(!0)),i(x,ae)};A(Je,x=>{p()||x(T)})}var ee=r(Je,2);Nn(ee,{get activeId(){return e($)}});var me=r(ee,2);{var Se=x=>{var ae=fr(),ye=s(ae,!0);a(ae),D(()=>S(ye,e(G))),i(x,ae)};A(me,x=>{e(G)&&x(Se)})}a(Ae);var fe=r(Ae,2),b=s(fe);{var pe=x=>{var ae=hr(),ye=Te(ae),ft=r(s(ye));a(ye);var St=r(ye,2);D(ct=>{S(ft,` 运行中 ${ct??""}`),St.disabled=e(I)},[()=>(e(L),n(()=>F(e(L))))]),W("click",St,Ze),i(x,ae)},Ie=x=>{var ae=mr();i(x,ae)};A(b,x=>{e(l)?x(pe):x(Ie,-1)})}var lt=r(b,2);a(fe),a(Me);var ht=r(Me,2);let $t;var At=s(ht);{var Ft=x=>{var ae=_r(),ye=s(ae,!0);a(ae),D(()=>{ae.disabled=e(ve),S(ye,e(ve)?"加载中…":"加载更早消息")}),W("click",ae,oe),i(x,ae)};A(At,x=>{e(j),e(z),e(de),n(()=>e(j).length>0&&(e(j).length>e(z)||e(de)))&&x(Ft)})}var Ve=r(At,2);De(Ve,1,()=>e(w),x=>x.id,(x,ae)=>{{let ye=Sa(()=>(e(ae),e(C),e(l),n(()=>{var ft;return e(ae).id===((ft=e(C))==null?void 0:ft.id)&&e(ae).kind==="assistant"&&!e(l)?ne:void 0})));Qs(x,{get card(){return e(ae)},onRetry:Ne,get onRegenerate(){return e(ye)}})}});var Ee=r(Ve,2);at(Ee,x=>t(v,x),()=>e(v));var et=r(Ee,2);{var it=x=>{var ae=ot(),ye=Te(ae);{var ft=ct=>{var Et=gr();i(ct,Et)},St=ct=>{var Et=br();i(ct,Et)};A(ye,ct=>{e(E)?ct(St,-1):ct(ft)})}i(x,ae)};A(et,x=>{e(j),n(()=>e(j).length===0)&&x(it)})}a(ht),a(Ke),at(Ke,x=>t(Y,x),()=>e(Y));var st=r(Ke,2);{var ut=x=>{var ae=xr();W("click",ae,X),i(x,ae)};A(st,x=>{e(B),e(j),n(()=>!e(B)&&e(j).length>0)&&x(ut)})}var nt=r(st,2),vt=s(nt);Wa(vt,{get suggestions(){return e(_e)},onPick:x=>Lt.set({text:x,nonce:Date.now()}),onDismiss:()=>{t(ke,!0),t(_e,[])}});var pt=r(vt,2);Bn(pt,{get sessionId(){return e($)}}),a(nt),at(nt,x=>t(k,x),()=>e(k));var qt=r(nt,2);ur(qt,{get sessionId(){return e($)},onJump:x=>zt("/"+x)}),D(()=>$t=Le(ht,1,"stream conversation-emerald svelte-eho102",null,$t,{suppressed:f()})),W("click",Be,()=>zt("/")),W("click",lt,()=>la.update(x=>!x)),W("scroll",Ke,be),i(ce,Ge),Fe(),d()}export{jr as component};
3
+ `):f())}),y(()=>(e(O),V(d()),e(q),e(C)),()=>{const z=e(O);d()==="running"&&typeof requestAnimationFrame<"u"?(t(q,z),e(C)||t(C,requestAnimationFrame(()=>{t(C,0),Y(e(q))}))):(e(C)&&(cancelAnimationFrame(e(C)),t(C,0)),Y(z))}),y(()=>V(d()),()=>{t(p,d()==="done"?"✓":d()==="running"?"●":"✗")}),Ue(),Re();var v=ss(),h=s(v),H=s(h),Q=s(H,!0);a(H);var J=r(H,2),I=s(J,!0);a(J);var K=r(J,2);{var L=z=>{var Z=Za(),de=s(Z);{var ve=N=>{var F=Xa(),ne=s(F);a(F),D(()=>S(ne,`+${$()??""}`)),i(N,F)};A(de,N=>{$()&&N(ve)})}var M=r(de,2);{var oe=N=>{var F=Ya(),ne=s(F);a(F),D(()=>S(ne,`−${E()??""}`)),i(N,F)};A(M,N=>{E()&&N(oe)})}a(Z),i(z,Z)};A(K,z=>{($()||E())&&z(L)})}var se=r(K,2);{var B=z=>{var Z=es();i(z,Z)},X=z=>{var Z=ts(),de=s(Z,!0);a(Z),D(ve=>S(de,ve),[()=>(V(w()),n(()=>k(w())))]),i(z,Z)};A(se,z=>{d()==="running"?z(B):w()!=null&&z(X,1)})}a(h);var be=r(h,2);ja(be,()=>e(G),!0),a(be);var ie=r(be,2);{var te=z=>{var Z=as(),de=s(Z,!0);a(Z),D(()=>S(de,(e(_),e(c),n(()=>e(_)?"▴ show less":`▾ show more · ${e(c).length-j} more lines`)))),W("click",Z,()=>t(U,!e(U))),i(z,Z)};A(ie,z=>{e(g)&&d()!=="running"&&z(te)})}a(v),D(()=>{Le(v,1,`term ${d()??""}`,"svelte-dcl78h"),S(Q,e(p)),S(I,m())}),i(ce,v),Fe()}var rs=u('<span class="ps1 mono svelte-on906i" aria-hidden="true">$</span>'),os=u('<span class="add svelte-on906i"> </span>'),ls=u('<span class="del svelte-on906i"> </span>'),is=u('<span class="diff mono svelte-on906i"><!> <!></span>'),vs=u('<span class="shimmer svelte-on906i" aria-hidden="true"></span>'),cs=u('<span class="dur mono svelte-on906i"> </span>'),ds=u('<div><div class="row-main svelte-on906i"><span class="status svelte-on906i" aria-hidden="true"></span> <span class="sr-only svelte-on906i"> </span> <span class="name mono svelte-on906i"> </span> <!> <span class="arg mono svelte-on906i"> </span> <!> <!></div></div>'),us=u('<button class="more mono svelte-on906i"> </button>'),ps=u('<div class="execution svelte-on906i"><div class="header svelte-on906i"><span class="label mono svelte-on906i">EXECUTION</span> <span class="rule svelte-on906i" aria-hidden="true"></span> <span class="count mono svelte-on906i"> </span></div> <div class="rows svelte-on906i"><!> <!></div></div>');function ia(ce,P){ze(P,!1);const c=o(),g=o(),_=o(),O=o();let p=qe(P,"tools",8);const f=12,m=100;let d=o(!1);const w=new Set;function $(l,C){if(w.has(C))return!0;const q=l.args??"",Y=q.includes(`
4
+ `)||q.length>m;return Y&&w.add(C),Y}function E(l){return l==null?"":l<1?`${(l*1e3).toFixed(0)}ms`:`${l.toFixed(1)}s`}y(()=>V(p()),()=>{t(c,p())}),y(()=>(e(d),e(c)),()=>{t(g,e(d)?e(c):e(c).slice(0,f))}),y(()=>e(c),()=>{t(_,e(c).length)}),y(()=>e(c),()=>{t(O,e(c).filter(l=>l.status==="done").length)}),Ue(),Re();var j=ot(),U=Te(j);{var G=l=>{var C=ps(),q=s(C),Y=r(s(q),4),k=s(Y);a(Y),a(q);var v=r(q,2),h=s(v);De(h,1,()=>e(g),xt,(J,I,K)=>{var L=ot(),se=Te(L);{var B=ie=>{ns(ie,{get text(){return e(I),n(()=>e(I).args)},get tool(){return e(I),n(()=>e(I).tool)},get status(){return e(I),n(()=>e(I).status)},get dur(){return e(I),n(()=>e(I).dur)},get adds(){return e(I),n(()=>e(I).adds)},get dels(){return e(I),n(()=>e(I).dels)}})},X=Ct(()=>(e(I),n(()=>$(e(I),K)))),be=ie=>{var te=ds(),z=s(te),Z=r(s(z),2),de=s(Z,!0);a(Z);var ve=r(Z,2),M=s(ve,!0);a(ve);var oe=r(ve,2);{var N=re=>{var _e=rs();i(re,_e)};A(oe,re=>{e(I),n(()=>e(I).tool==="bash")&&re(N)})}var F=r(oe,2),ne=s(F,!0);a(F);var ge=r(F,2);{var ke=re=>{var _e=is(),Ne=s(_e);{var Ze=Me=>{var Ae=os(),Be=s(Ae);a(Ae),D(()=>S(Be,`+${e(I),n(()=>e(I).adds)??""}`)),i(Me,Ae)};A(Ne,Me=>{e(I),n(()=>e(I).adds)&&Me(Ze)})}var Ge=r(Ne,2);{var Ke=Me=>{var Ae=ls(),Be=s(Ae);a(Ae),D(()=>S(Be,`−${e(I),n(()=>e(I).dels)??""}`)),i(Me,Ae)};A(Ge,Me=>{e(I),n(()=>e(I).dels)&&Me(Ke)})}a(_e),i(re,_e)};A(ge,re=>{e(I),n(()=>e(I).adds||e(I).dels)&&re(ke)})}var ue=r(ge,2);{var R=re=>{var _e=vs();i(re,_e)},le=re=>{var _e=cs(),Ne=s(_e,!0);a(_e),D(Ze=>S(Ne,Ze),[()=>(e(I),n(()=>E(e(I).dur)))]),i(re,_e)};A(ue,re=>{e(I),n(()=>e(I).status==="running")?re(R):(e(I),n(()=>e(I).dur!=null)&&re(le,1))})}a(z),a(te),D(()=>{Le(te,1,`row ${e(I),n(()=>e(I).status)??""}`,"svelte-on906i"),S(de,(e(I),n(()=>e(I).status))),S(M,(e(I),n(()=>e(I).tool))),S(ne,(e(I),n(()=>e(I).args)))}),i(ie,te)};A(se,ie=>{e(X)?ie(B):ie(be,-1)})}i(J,L)});var H=r(h,2);{var Q=J=>{var I=us(),K=s(I);a(I),D(()=>S(K,`… ${e(c),n(()=>e(c).length-f)??""} more`)),W("click",I,()=>t(d,!0)),i(J,I)};A(H,J=>{e(c),e(d),n(()=>e(c).length>f&&!e(d))&&J(Q)})}a(v),a(C),D(()=>S(k,`${e(O)??""}/${e(_)??""} steps`)),i(l,C)};A(U,l=>{V(p()),n(()=>p().length>0)&&l(G)})}i(ce,j),Fe()}var fs=u('<div class="text svelte-l1yd1q"><!></div>'),hs=u('<span class="think-dot svelte-l1yd1q" aria-hidden="true"></span>'),ms=u('<pre class="think-body svelte-l1yd1q"> </pre>'),_s=u('<div class="think svelte-l1yd1q"><button class="think-head svelte-l1yd1q"><!> <span class="think-label svelte-l1yd1q"> </span> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg></button> <!></div>'),gs=u('<div class="card streaming svelte-l1yd1q"></div>');function bs(ce,P){ze(P,!1);const c=o(),g=o();let _=qe(P,"card",8),O=o(!1);y(()=>V(_()),()=>{t(c,(()=>{const f=[];for(const m of _().blocks)if(m.type==="text"){const d=f[f.length-1];(d==null?void 0:d.kind)==="text"?d.text+=m.text:f.push({kind:"text",text:m.text})}else if(m.type==="tool"){const d=f[f.length-1],w={tool:m.tool,args:m.args,status:m.status};(d==null?void 0:d.kind)==="tools"?d.tools.push(w):f.push({kind:"tools",tools:[w]})}else if(m.type==="reasoning"){const d=f[f.length-1];(d==null?void 0:d.kind)==="reasoning"?d.text+=m.text:f.push({kind:"reasoning",text:m.text})}return f})())}),y(()=>e(c),()=>{t(g,e(c).length>0&&e(c)[e(c).length-1].kind==="reasoning")}),Ue(),Re();var p=gs();De(p,5,()=>e(c),xt,(f,m)=>{var d=ot(),w=Te(d);{var $=G=>{var l=ot(),C=Te(l);{var q=k=>{var v=fs(),h=s(v);ra(h,{get src(){return e(m),n(()=>e(m).text)},throttle:!0,streaming:!0}),a(v),i(k,v)},Y=Ct(()=>(e(m),n(()=>e(m).text.trim())));A(C,k=>{e(Y)&&k(q)})}i(G,l)},E=G=>{ia(G,{get tools(){return e(m),n(()=>e(m).tools)}})},j=G=>{var l=_s(),C=s(l),q=s(C);{var Y=I=>{var K=hs();i(I,K)};A(q,I=>{e(g)&&I(Y)})}var k=r(q,2),v=s(k,!0);a(k);var h=r(k,2);let H;a(C);var Q=r(C,2);{var J=I=>{var K=ms(),L=s(K,!0);a(K),D(()=>S(L,(e(m),n(()=>e(m).text)))),i(I,K)};A(Q,I=>{e(O)&&I(J)})}a(l),D(()=>{we(C,"aria-expanded",e(O)),S(v,e(g)?"思考中…":"思考过程"),H=Le(h,0,"think-caret svelte-l1yd1q",null,H,{open:e(O)})}),W("click",C,()=>t(O,!e(O))),i(G,l)},U=Ct(()=>(e(m),n(()=>e(m).text.trim())));A(w,G=>{e(m),n(()=>e(m).kind==="text")?G($):(e(m),n(()=>e(m).kind==="tools")?G(E,1):e(U)&&G(j,2))})}i(f,d)}),a(p),i(ce,p),Fe()}var xs=u('<details class="think svelte-wmi6xy"><summary class="svelte-wmi6xy">思考过程</summary> <pre class="svelte-wmi6xy"> </pre></details>'),ks=u('<div class="text svelte-wmi6xy"><!></div>'),ws=u('<span class="chip agent mono svelte-wmi6xy"> </span>'),ys=u('<span class="chip mono svelte-wmi6xy"> </span>'),$s=u('<span class="chip mono svelte-wmi6xy"> </span>'),qs=u('<span class="chip mono svelte-wmi6xy"> </span>'),Is=u('<span class="chip cost mono svelte-wmi6xy"> </span>'),Cs=u('<button class="icon svelte-wmi6xy" title="重新生成" aria-label="重新生成"><!></button>'),Ss=u('<div class="meta svelte-wmi6xy"><div class="chips svelte-wmi6xy"><!> <!> <!> <!> <!></div> <div class="actions svelte-wmi6xy"><!> <button title="复制" aria-label="复制"><!></button></div></div>'),js=u('<div class="card assistant svelte-wmi6xy"><!> <!> <!> <!></div>');function Ms(ce,P){ze(P,!1);const c=o(),g=o(),_=o(),O=o();let p=qe(P,"card",8),f=qe(P,"onRegenerate",8,void 0);function m(k){return k>=1e3?`${(k/1e3).toFixed(1)}k`:String(k)}let d=o(!1),w;async function $(){if(e(g)){try{await navigator.clipboard.writeText(e(g))}catch{return}t(d,!0),w&&clearTimeout(w),w=setTimeout(()=>t(d,!1),1300)}}jt(()=>clearTimeout(w)),y(()=>V(p()),()=>{t(c,p().blocks.filter(k=>k.type==="tool").map(k=>({tool:k.tool,args:k.args,status:k.status})))}),y(()=>V(p()),()=>{t(g,p().blocks.filter(k=>k.type==="text").map(k=>k.text).join(""))}),y(()=>V(p()),()=>{t(_,p().meta)}),y(()=>e(_),()=>{t(O,e(_).agent||e(_).model||e(_).tokens||e(_).duration!=null||e(_).cost!==void 0)}),Ue(),Re();var E=js(),j=s(E);{var U=k=>{var v=xs(),h=r(s(v),2),H=s(h,!0);a(h),a(v),D(()=>S(H,(V(p()),n(()=>p().thinkingText)))),i(k,v)};A(j,k=>{V(p()),n(()=>p().thinkingText)&&k(U)})}var G=r(j,2);ia(G,{get tools(){return e(c)}});var l=r(G,2);{var C=k=>{var v=ks(),h=s(v);ra(h,{get src(){return e(g)}}),a(v),i(k,v)};A(l,k=>{e(g)&&k(C)})}var q=r(l,2);{var Y=k=>{var v=Ss(),h=s(v),H=s(h);{var Q=N=>{var F=ws(),ne=s(F,!0);a(F),D(()=>S(ne,(e(_),n(()=>e(_).agent)))),i(N,F)};A(H,N=>{e(_),n(()=>e(_).agent)&&N(Q)})}var J=r(H,2);{var I=N=>{var F=ys(),ne=s(F,!0);a(F),D(()=>S(ne,(e(_),n(()=>e(_).model)))),i(N,F)};A(J,N=>{e(_),n(()=>e(_).model)&&N(I)})}var K=r(J,2);{var L=N=>{var F=$s(),ne=s(F);a(F),D((ge,ke)=>S(ne,`↑${ge??""} ↓${ke??""}`),[()=>(e(_),n(()=>m(e(_).tokens.input))),()=>(e(_),n(()=>m(e(_).tokens.output)))]),i(N,F)};A(K,N=>{e(_),n(()=>e(_).tokens)&&N(L)})}var se=r(K,2);{var B=N=>{var F=qs(),ne=s(F);a(F),D(()=>S(ne,`${e(_),n(()=>e(_).duration)??""}s`)),i(N,F)};A(se,N=>{e(_),n(()=>e(_).duration!=null)&&N(B)})}var X=r(se,2);{var be=N=>{var F=Is(),ne=s(F);a(F),D(ge=>S(ne,`$${ge??""}`),[()=>(e(_),n(()=>e(_).cost.toFixed(3)))]),i(N,F)};A(X,N=>{e(_),n(()=>e(_).cost!==void 0)&&N(be)})}a(h);var ie=r(h,2),te=s(ie);{var z=N=>{var F=Cs(),ne=s(F);He(ne,{name:"refresh",size:13}),a(F),W("click",F,function(...ge){var ke;(ke=f())==null||ke.apply(this,ge)}),i(N,F)};A(te,N=>{f()&&N(z)})}var Z=r(te,2);let de;var ve=s(Z);{var M=N=>{He(N,{name:"check",size:13})},oe=N=>{He(N,{name:"copy",size:13})};A(ve,N=>{e(d)?N(M):N(oe,-1)})}a(Z),a(ie),a(v),D(()=>de=Le(Z,1,"icon svelte-wmi6xy",null,de,{copied:e(d)})),W("click",Z,$),i(k,v)};A(q,k=>{e(O)&&k(Y)})}a(E),i(ce,E),Fe()}var Es=u('<button class="retry svelte-1m8kde8"><!> Retry</button>'),Ts=u('<div class="card error svelte-1m8kde8"><div class="head svelte-1m8kde8"><!> </div> <code class="svelte-1m8kde8"> </code> <!></div>');function Ds(ce,P){ze(P,!1);const c=o();let g=qe(P,"card",8),_=qe(P,"onRetry",8,void 0);const O=$a();function p(l){const C=(l||"").toLowerCase();return C.includes("abort")?{label:"Stopped",retryable:!1}:C.includes("timeout")||C.includes("timed out")?{label:"Timed out",retryable:!0}:C.includes("fetch")||C.includes("network")||C.includes("econn")||/\b(429|500|502|503|504)\b/.test(C)?{label:"Network issue",retryable:!0}:{label:"Error",retryable:!0}}function f(){_()?_()():O("retry")}y(()=>V(g()),()=>{t(c,p(g().message))}),Ue(),Re();var m=Ts(),d=s(m),w=s(d);He(w,{name:"alert",size:13});var $=r(w);a(d);var E=r(d,2),j=s(E,!0);a(E);var U=r(E,2);{var G=l=>{var C=Es(),q=s(C);He(q,{name:"refresh",size:11}),yt(),a(C),D(()=>C.disabled=!_()),W("click",C,f),i(l,C)};A(U,l=>{e(c),n(()=>e(c).retryable)&&l(G)})}a(m),D(()=>{S($,` ${e(c),n(()=>e(c).label)??""}`),S(j,(V(g()),n(()=>g().message)))}),i(ce,m),Fe()}var As=u('<div class="note mono svelte-hbf6ni"> </div>');function Bs(ce,P){ze(P,!1);const c=o(),g=o();let _=qe(P,"card",8);y(()=>V(_()),()=>{t(c,_().sections.map(f=>f.body).join(" ")||"")}),y(()=>(V(_()),e(c)),()=>{t(g,[_().title,e(c)].filter(Boolean).join(" — "))}),Ue(),Re();var O=As(),p=s(O,!0);a(O),D(()=>S(p,e(g))),i(ce,O),Fe()}var Os=u('<div class="note mono svelte-scaqco"> </div>');function Rs(ce,P){ze(P,!1);const c=o(),g=o(),_=o(),O=o();let p=qe(P,"card",8);y(()=>V(p()),()=>{t(c,p().fields.title??"Status")}),y(()=>V(p()),()=>{t(g,Object.entries(p().fields).filter(([d])=>d!=="title"))}),y(()=>e(g),()=>{t(_,e(g).map(([d,w])=>`${d}: ${w}`).join(" · "))}),y(()=>(e(c),e(_)),()=>{t(O,[e(c),e(_)].filter(Boolean).join(" · "))}),Ue(),Re();var f=Os(),m=s(f,!0);a(f),D(()=>S(m,e(O))),i(ce,f),Fe()}var zs=u('<div><span class="mark svelte-19vkggv" aria-hidden="true"> </span> <span class="rlabel svelte-19vkggv"> </span> <span class="rttl svelte-19vkggv"> </span></div>'),Fs=u('<div class="appr pending svelte-19vkggv"><div class="header svelte-19vkggv"><span class="warn-dot svelte-19vkggv" aria-hidden="true"></span> <span class="label svelte-19vkggv">需要审批</span> <span class="rule svelte-19vkggv" aria-hidden="true"></span> <span class="tool mono svelte-19vkggv"> </span></div> <pre class="diff mono svelte-19vkggv"> </pre> <div class="acts svelte-19vkggv"><button class="a allow svelte-19vkggv">批准</button> <button class="a always svelte-19vkggv">总是允许</button> <span class="spacer svelte-19vkggv"></span> <button class="a rej svelte-19vkggv">拒绝</button></div></div>');function Ls(ce,P){ze(P,!1);const c=o(),g=o(),_=o();let O=qe(P,"card",8),p=o("");async function f(j){try{await Ce.approve(O().sessionId,O().requestId,j),t(p,j)}catch{t(p,"error")}}const m={once:"已批准 — 已应用",always:"已设为自动允许",reject:"已拒绝 — 未应用",error:"失败"};y(()=>e(p),()=>{t(c,!!e(p))}),y(()=>e(p),()=>{t(g,e(p)==="reject"||e(p)==="error")}),y(()=>V(O()),()=>{t(_,typeof O().args=="string"?O().args:JSON.stringify(O().args,null,2))}),Ue(),Re();var d=ot(),w=Te(d);{var $=j=>{var U=zs();let G;var l=s(U),C=s(l,!0);a(l);var q=r(l,2),Y=s(q,!0);a(q);var k=r(q,2),v=s(k,!0);a(k),a(U),D(()=>{G=Le(U,1,"appr resolved svelte-19vkggv",null,G,{rej:e(g)}),S(C,e(g)?"✕":"✓"),S(Y,(e(p),n(()=>m[e(p)]??e(p)))),S(v,(V(O()),n(()=>O().title)))}),i(j,U)},E=j=>{var U=Fs(),G=s(U),l=r(s(G),6),C=s(l,!0);a(l),a(G);var q=r(G,2),Y=s(q,!0);a(q);var k=r(q,2),v=s(k),h=r(v,2),H=r(h,4);a(k),a(U),D(()=>{S(C,(V(O()),n(()=>O().title))),S(Y,e(_))}),W("click",v,()=>f("once")),W("click",h,()=>f("always")),W("click",H,()=>f("reject")),i(j,U)};A(w,j=>{e(c)?j($):j(E,-1)})}i(ce,d),Fe()}var Ns=u('<div><span class="mark svelte-hiqfhq" aria-hidden="true"> </span> <span class="rlabel svelte-hiqfhq"> </span> <span class="rttl mono svelte-hiqfhq"> </span></div>'),Ps=u('<span class="mono warn-note svelte-hiqfhq">当前后端不支持 Web 回答</span>'),Ws=u('<div class="qhead mono svelte-hiqfhq"> </div>'),Hs=u("<button> </button>"),Ks=u('<input class="custom mono svelte-hiqfhq" placeholder="或输入自定义回答…"/>'),Us=u('<div class="hint svelte-hiqfhq">可多选</div>'),Gs=u('<div class="q svelte-hiqfhq"><!> <div class="qtext svelte-hiqfhq"> </div> <div class="opts svelte-hiqfhq"></div> <!> <!></div>'),Js=u('<div class="qcard pending svelte-hiqfhq"><div class="header svelte-hiqfhq"><span class="q-dot svelte-hiqfhq" aria-hidden="true"></span> <span class="label svelte-hiqfhq">需要你的回答</span> <span class="rule svelte-hiqfhq" aria-hidden="true"></span> <!></div> <!> <div class="acts svelte-hiqfhq"><button class="a send svelte-hiqfhq">提交回答</button> <span class="spacer svelte-hiqfhq"></span> <button class="a rej svelte-hiqfhq">取消</button></div></div>');function Vs(ce,P){ze(P,!1);const c=()=>Pe(Nt,"$can",g),[g,_]=Mt(),O=o(),p=o(),f=o(),m=o();let d=qe(P,"card",8),w=o({}),$=o({}),E=o("");function j(v,h,H){const Q=e(w)[v]??[];H?t(w,{...e(w),[v]:Q.includes(h)?Q.filter(J=>J!==h):[...Q,h]}):t(w,{...e(w),[v]:Q.includes(h)?[]:[h]})}async function U(){const v=(d().questions??[]).map((h,H)=>{const Q=(e($)[H]??"").trim();return Q?[Q]:(e(w)[H]??[]).map(J=>{var I;return(I=h.options[J])==null?void 0:I.label}).filter(J=>!!J)});try{const h=await Ce.answerQuestion(d().sessionId,d().requestId,v);t(E,h!=null&&h.stale?"stale":h!=null&&h.ok?"replied":"error")}catch{t(E,"error")}}async function G(){try{const v=await Ce.rejectQuestion(d().sessionId,d().requestId);t(E,v!=null&&v.stale?"stale":v!=null&&v.ok?"rejected":"error")}catch{t(E,"error")}}const l={replied:"已回答",rejected:"已取消",stale:"已在其他界面回答",error:"提交失败"};y(()=>(V(d()),e(E)),()=>{t(O,d().resolved??(e(E)==="replied"||e(E)==="rejected"?e(E):void 0))}),y(()=>e(E),()=>{t(p,e(E)==="stale")}),y(()=>c(),()=>{t(f,c()("questions"))}),y(()=>(V(d()),e($),e(w)),()=>{t(m,(d().questions??[]).every((v,h)=>(e($)[h]??"").trim()?!0:(e(w)[h]??[]).length>0))}),Ue(),Re();var C=ot(),q=Te(C);{var Y=v=>{var h=Ns();let H;var Q=s(h),J=s(Q,!0);a(Q);var I=r(Q,2),K=s(I,!0);a(I);var L=r(I,2),se=s(L,!0);a(L),a(h),D(B=>{H=Le(h,1,"qcard resolved svelte-hiqfhq",null,H,{fresh:e(E)!=="",rej:e(O)==="rejected"||e(p)||e(E)==="error"}),S(J,e(O)==="replied"?"✓":"✕"),S(K,(e(O),e(E),n(()=>l[e(O)??e(E)]??""))),S(se,B)},[()=>(V(d()),n(()=>d().requestId.slice(0,12)))]),i(v,h)},k=v=>{var h=Js(),H=s(h),Q=r(s(H),6);{var J=B=>{var X=Ps();i(B,X)};A(Q,B=>{e(f)||B(J)})}a(H);var I=r(H,2);De(I,1,()=>(V(d()),n(()=>d().questions)),xt,(B,X,be)=>{var ie=Gs(),te=s(ie);{var z=ne=>{var ge=Ws(),ke=s(ge,!0);a(ge),D(()=>S(ke,(e(X),n(()=>e(X).header)))),i(ne,ge)};A(te,ne=>{e(X),n(()=>e(X).header)&&ne(z)})}var Z=r(te,2),de=s(Z,!0);a(Z);var ve=r(Z,2);De(ve,5,()=>(e(X),n(()=>e(X).options)),xt,(ne,ge,ke)=>{var ue=Hs();let R;var le=s(ue,!0);a(ue),D(re=>{R=Le(ue,1,"opt svelte-hiqfhq",null,R,re),we(ue,"title",(e(ge),n(()=>e(ge).description??e(ge).label))),S(le,(e(ge),n(()=>e(ge).label)))},[()=>({on:(e(w)[be]??[]).includes(ke)})]),W("click",ue,()=>j(be,ke,e(X).multiple)),i(ne,ue)}),a(ve);var M=r(ve,2);{var oe=ne=>{var ge=Ks();Ma(ge),D(()=>Ea(ge,(e($),n(()=>e($)[be]??"")))),W("input",ge,ke=>t($,{...e($),[be]:ke.currentTarget.value})),i(ne,ge)};A(M,ne=>{e(X),n(()=>e(X).custom)&&ne(oe)})}var N=r(M,2);{var F=ne=>{var ge=Us();i(ne,ge)};A(N,ne=>{e(X),n(()=>e(X).multiple)&&ne(F)})}a(ie),D(()=>S(de,(e(X),n(()=>e(X).question)))),i(B,ie)});var K=r(I,2),L=s(K),se=r(L,4);a(K),a(h),D(()=>{L.disabled=!e(f)||!e(m)||e(E)==="error",se.disabled=!e(f)}),W("click",L,U),W("click",se,G),i(v,h)};A(q,v=>{e(O)||e(p)?v(Y):v(k,-1)})}i(ce,C),Fe(),_()}var Qs=u('<div class="card placeholder svelte-1udyrqm"> </div>');function Xs(ce,P){ze(P,!1);let c=qe(P,"card",8),g=qe(P,"onRetry",8,void 0);Re();var _=ot(),O=Te(_);{var p=l=>{Ua(l,{get card(){return c()}})},f=l=>{Va(l,{get card(){return c()}})},m=l=>{bs(l,{get card(){return c()}})},d=l=>{Ms(l,{get card(){return c()}})},w=l=>{Ds(l,{get card(){return c()},get onRetry(){return g()}})},$=l=>{Bs(l,{get card(){return c()}})},E=l=>{Rs(l,{get card(){return c()}})},j=l=>{Ls(l,{get card(){return c()}})},U=l=>{Vs(l,{get card(){return c()}})},G=l=>{var C=Qs(),q=s(C);a(C),D(()=>S(q,`[${V(c()),n(()=>c().kind)??""}]`)),i(l,C)};A(O,l=>{V(c()),n(()=>c().kind==="user")?l(p):(V(c()),n(()=>c().kind==="thinking")?l(f,1):(V(c()),n(()=>c().kind==="streaming")?l(m,2):(V(c()),n(()=>c().kind==="assistant")?l(d,3):(V(c()),n(()=>c().kind==="error")?l(w,4):(V(c()),n(()=>c().kind==="info")?l($,5):(V(c()),n(()=>c().kind==="status")?l(E,6):(V(c()),n(()=>c().kind==="approval")?l(j,7):(V(c()),n(()=>c().kind==="question")?l(U,8):l(G,-1)))))))))})}i(ce,_),Fe()}var Ys=u('<div class="none label svelte-1f5vmb3">未配置 agent</div>'),Zs=u('<button role="option"><span> </span> <span class="label mono"> </span></button>'),en=u('<div class="pop svelte-1f5vmb3" role="listbox" aria-label="Agent 覆盖"><!> <!> <button class="opt clear svelte-1f5vmb3" role="option"><!> 清除覆盖</button></div>'),tn=u('<div class="wrap svelte-1f5vmb3"><button class="chip mono svelte-1f5vmb3" aria-haspopup="listbox"><!> <span class="txt svelte-1f5vmb3"> </span> <!></button> <!></div>');function an(ce,P){ze(P,!1);const c=o();let g=o(!1),_=o(),O=o([]),p=o({agent:null,model:null});async function f(){try{await(async k=>{var v=na(k,2);t(O,v[0]),t(p,v[1])})(await Promise.all([Ce.agents(),Ce.getOverrides()]))}catch{}}Wt(f);async function m(k){await Ce.setOverrides({agent:k.name}),await f(),t(g,!1)}async function d(){await Ce.setOverrides({agent:null}),await f(),t(g,!1)}function w(k){k.key==="Escape"&&e(g)&&t(g,!1)}function $(k){e(g)&&e(_)&&!e(_).contains(k.target)&&t(g,!1)}y(()=>e(p),()=>{t(c,e(p).agent??"default")}),Ue(),Re();var E=tn();W("keydown",bt,w),W("click",bt,$);var j=s(E),U=s(j);He(U,{name:"cpu",size:11});var G=r(U,2),l=s(G,!0);a(G);var C=r(G,2);He(C,{name:"caret-down",size:9}),a(j);var q=r(j,2);{var Y=k=>{var v=en(),h=s(v);{var H=K=>{var L=Ys();i(K,L)};A(h,K=>{e(O),n(()=>e(O).length===0)&&K(H)})}var Q=r(h,2);De(Q,1,()=>e(O),K=>K.name,(K,L)=>{var se=Zs();let B;var X=s(se),be=s(X,!0);a(X);var ie=r(X,2),te=s(ie,!0);a(ie),a(se),D(z=>{B=Le(se,1,"opt svelte-1f5vmb3",null,B,{sel:e(L).name===e(p).agent}),we(se,"aria-selected",(e(L),e(p),n(()=>e(L).name===e(p).agent))),S(be,(e(L),n(()=>e(L).name))),S(te,z)},[()=>(e(L),n(()=>e(L).model.split("/").pop()))]),W("click",se,()=>m(e(L))),i(K,se)});var J=r(Q,2),I=s(J);He(I,{name:"close",size:11}),yt(),a(J),a(v),D(()=>we(J,"aria-selected",(e(p),n(()=>e(p).agent==null)))),W("click",J,d),i(k,v)};A(q,k=>{e(g)&&k(Y)})}a(E),at(E,k=>t(_,k),()=>e(_)),D(()=>{we(j,"aria-expanded",e(g)),S(l,e(c))}),W("click",j,()=>{t(g,!e(g)),e(g)&&f()}),i(ce,E),Fe()}var sn=u('<div class="none label svelte-1005b73">暂无模型</div>'),nn=u('<button role="option"><span> </span></button>'),rn=u('<div class="prov label mono svelte-1005b73"> </div> <!>',1),on=u('<div class="pop svelte-1005b73" role="listbox" aria-label="模型覆盖"><!> <!> <button class="opt clear svelte-1005b73" role="option"><!> 清除覆盖</button></div>'),ln=u('<div class="wrap svelte-1005b73"><button class="chip mono svelte-1005b73" aria-haspopup="listbox"><!> <span class="txt svelte-1005b73"> </span> <!></button> <!></div>');function vn(ce,P){ze(P,!1);const c=o();let g=o(!1),_=o(),O=o([]),p=o({agent:null,model:null});async function f(){try{await(async k=>{var v=na(k,2);t(O,v[0]),t(p,v[1])})(await Promise.all([Ce.models(),Ce.getOverrides()]))}catch{}}Wt(f);async function m(k,v){await Ce.setOverrides({model:{providerID:k,modelID:v}}),await f(),t(g,!1)}async function d(){await Ce.setOverrides({model:null}),await f(),t(g,!1)}function w(k){k.key==="Escape"&&e(g)&&t(g,!1)}function $(k){e(g)&&e(_)&&!e(_).contains(k.target)&&t(g,!1)}y(()=>e(p),()=>{var k;t(c,((k=e(p).model)==null?void 0:k.modelID)??"model")}),Ue(),Re();var E=ln();W("keydown",bt,w),W("click",bt,$);var j=s(E),U=s(j);He(U,{name:"bolt",size:11});var G=r(U,2),l=s(G,!0);a(G);var C=r(G,2);He(C,{name:"caret-down",size:9}),a(j);var q=r(j,2);{var Y=k=>{var v=on(),h=s(v);{var H=K=>{var L=sn();i(K,L)};A(h,K=>{e(O),n(()=>e(O).length===0)&&K(H)})}var Q=r(h,2);De(Q,1,()=>e(O),K=>K.id,(K,L)=>{var se=rn(),B=Te(se),X=s(B,!0);a(B);var be=r(B,2);De(be,1,()=>(e(L),n(()=>e(L).models)),ie=>ie.id,(ie,te)=>{var z=nn();let Z;var de=s(z),ve=s(de,!0);a(de),a(z),D(()=>{var M,oe;Z=Le(z,1,"opt svelte-1005b73",null,Z,{sel:((M=e(p).model)==null?void 0:M.providerID)===e(L).id&&((oe=e(p).model)==null?void 0:oe.modelID)===e(te).id}),we(z,"aria-selected",(e(p),e(L),e(te),n(()=>{var N,F;return((N=e(p).model)==null?void 0:N.providerID)===e(L).id&&((F=e(p).model)==null?void 0:F.modelID)===e(te).id}))),S(ve,(e(te),n(()=>e(te).name||e(te).id)))}),W("click",z,()=>m(e(L).id,e(te).id)),i(ie,z)}),D(()=>S(X,(e(L),n(()=>e(L).id)))),i(K,se)});var J=r(Q,2),I=s(J);He(I,{name:"close",size:11}),yt(),a(J),a(v),D(()=>we(J,"aria-selected",(e(p),n(()=>e(p).model==null)))),W("click",J,d),i(k,v)};A(q,k=>{e(g)&&k(Y)})}a(E),at(E,k=>t(_,k),()=>e(_)),D(()=>{we(j,"aria-expanded",e(g)),S(l,e(c))}),W("click",j,()=>{t(g,!e(g)),e(g)&&f()}),i(ce,E),Fe()}var cn=u('<button role="option"> </button>'),dn=u('<div class="pop svelte-dkbq22" role="listbox" aria-label="Mode"><div class="label">Mode</div> <!></div>'),un=u('<div class="wrap svelte-dkbq22"><button class="chip mono svelte-dkbq22" aria-haspopup="listbox"><!> <span class="txt svelte-dkbq22"> </span> <!></button> <!></div>'),pn=u('<button role="option"> </button>'),fn=u('<div class="pop svelte-dkbq22" role="listbox" aria-label="Model"><div class="label">Model</div> <!></div>'),hn=u('<div class="wrap svelte-dkbq22"><button class="chip mono svelte-dkbq22" aria-haspopup="listbox"><!> <span class="txt svelte-dkbq22"> </span> <!></button> <!></div>'),mn=u('<div class="controls svelte-dkbq22"><!> <!></div>');function _n(ce,P){ze(P,!1);const c=o(),g=o(),_=o(),O=o();let p=qe(P,"sessionId",8),f=o({}),m=o(null);async function d(){const v=p();try{const h=await Ce.controls(v);if(v!==p())return;t(f,h)}catch{v===p()&&t(f,{})}}async function w(v){e(f).mode&&It(f,e(f).mode={...e(f).mode,current:v}),t(m,null);try{await Ce.setMode(p(),v)}catch{}await d()}async function $(v){e(f).model&&It(f,e(f).model={...e(f).model,current:v}),t(m,null);try{await Ce.setModel(p(),v)}catch{}await d()}function E(v){t(m,e(m)===v?null:v)}let j=o();function U(v){v.key==="Escape"&&e(m)&&t(m,null)}function G(v){e(m)&&e(j)&&!e(j).contains(v.target)&&t(m,null)}y(()=>V(p()),()=>{p()&&d()}),y(()=>e(f),()=>{var v;t(c,((v=e(f).mode)==null?void 0:v.options)??[])}),y(()=>e(f),()=>{var v;t(g,((v=e(f).model)==null?void 0:v.options)??[])}),y(()=>e(f),()=>{var v,h,H;t(_,((h=(v=e(f).mode)==null?void 0:v.options.find(Q=>{var J;return Q.id===((J=e(f).mode)==null?void 0:J.current)}))==null?void 0:h.name)??((H=e(f).mode)==null?void 0:H.current)??"mode")}),y(()=>e(f),()=>{var v,h,H;t(O,((h=(v=e(f).model)==null?void 0:v.options.find(Q=>{var J;return Q.id===((J=e(f).model)==null?void 0:J.current)}))==null?void 0:h.name)??((H=e(f).model)==null?void 0:H.current)??"model")}),Ue(),Re();var l=mn();W("keydown",bt,U),W("click",bt,G);var C=s(l);{var q=v=>{var h=un(),H=s(h),Q=s(H);He(Q,{name:"bolt",size:11});var J=r(Q,2),I=s(J,!0);a(J);var K=r(J,2);He(K,{name:"caret-down",size:9}),a(H);var L=r(H,2);{var se=B=>{var X=dn(),be=r(s(X),2);De(be,1,()=>e(c),xt,(ie,te)=>{var z=cn();let Z;var de=s(z,!0);a(z),D(()=>{var ve;Z=Le(z,1,"opt svelte-dkbq22",null,Z,{sel:e(te).id===((ve=e(f).mode)==null?void 0:ve.current)}),we(z,"aria-selected",(e(te),e(f),n(()=>{var M;return e(te).id===((M=e(f).mode)==null?void 0:M.current)}))),S(de,(e(te),n(()=>e(te).name)))}),W("click",z,()=>w(e(te).id)),i(ie,z)}),a(X),i(B,X)};A(L,B=>{e(m)==="mode"&&B(se)})}a(h),D(()=>{we(H,"aria-expanded",e(m)==="mode"),S(I,e(_))}),W("click",H,()=>E("mode")),i(v,h)};A(C,v=>{e(c),n(()=>e(c).length>0)&&v(q)})}var Y=r(C,2);{var k=v=>{var h=hn(),H=s(h),Q=s(H);He(Q,{name:"cpu",size:11});var J=r(Q,2),I=s(J,!0);a(J);var K=r(J,2);He(K,{name:"caret-down",size:9}),a(H);var L=r(H,2);{var se=B=>{var X=fn(),be=r(s(X),2);De(be,1,()=>e(g),xt,(ie,te)=>{var z=pn();let Z;var de=s(z,!0);a(z),D(()=>{var ve;Z=Le(z,1,"opt svelte-dkbq22",null,Z,{sel:e(te).id===((ve=e(f).model)==null?void 0:ve.current)}),we(z,"aria-selected",(e(te),e(f),n(()=>{var M;return e(te).id===((M=e(f).model)==null?void 0:M.current)}))),S(de,(e(te),n(()=>e(te).name)))}),W("click",z,()=>$(e(te).id)),i(ie,z)}),a(X),i(B,X)};A(L,B=>{e(m)==="model"&&B(se)})}a(h),D(()=>{we(H,"aria-expanded",e(m)==="model"),S(I,e(O))}),W("click",H,()=>E("model")),i(v,h)};A(Y,v=>{e(g),n(()=>e(g).length>0)&&v(k)})}a(l),at(l,v=>t(j,v),()=>e(j)),i(ce,l),Fe()}var gn=u('<span class="seg svelte-4bdpxt"></span>'),bn=u('<span class="lg svelte-4bdpxt"><span class="dot svelte-4bdpxt"></span> </span>'),xn=u('<div class="row svelte-4bdpxt"><span>缓存命中率</span><span class="mono svelte-4bdpxt"> </span></div>'),kn=u('<div class="row svelte-4bdpxt"><span>消息</span><span class="mono svelte-4bdpxt"> </span></div>'),wn=u('<div class="row svelte-4bdpxt"><span>模型</span><span class="mono svelte-4bdpxt"> </span></div>'),yn=u('<div class="row svelte-4bdpxt"><span>总成本</span><span class="mono svelte-4bdpxt"> </span></div>'),$n=u('<div class="pop svelte-4bdpxt" role="dialog" aria-label="上下文用量"><div class="head svelte-4bdpxt"><span class="label svelte-4bdpxt">上下文</span> <span class="mono dim svelte-4bdpxt"> </span></div> <div class="bar svelte-4bdpxt" aria-hidden="true"></div> <div class="legend svelte-4bdpxt"></div> <div class="rows svelte-4bdpxt"><!> <!> <!> <!></div></div>'),qn=u('<div class="wrap svelte-4bdpxt"><button class="ring svelte-4bdpxt" title="上下文占用"><svg viewBox="0 0 24 24" aria-hidden="true" class="svelte-4bdpxt"><circle class="track svelte-4bdpxt" cx="12" cy="12"></circle><circle class="arc svelte-4bdpxt" cx="12" cy="12" transform="rotate(-90 12 12)"></circle></svg> <span class="pct mono svelte-4bdpxt"> <i class="svelte-4bdpxt">%</i></span></button> <!></div>');function In(ce,P){ze(P,!1);const c=()=>Pe(Pt,"$feeds",g),[g,_]=Mt(),O=o(),p=o(),f=o(),m=o(),d=o(),w=o(),$=o(),E=o(),j=o(),U=o(),G=o(),l=o(),C=o(),q=o(),Y=o(),k=o();let v=qe(P,"sessionId",8),h=o({}),H=o(!1),Q=o(),J,I=o(),K=o(-1),L=o();async function se(R){try{t(h,await Ce.context(R))}catch{}}jt(()=>{clearTimeout(e(L)),clearTimeout(J)});const B=10,X=2*Math.PI*B;function be(R){return R>=1e6?(R/1e6).toFixed(1)+"M":R>=1e3?(R/1e3).toFixed(1)+"k":String(R)}function ie(R){return R==null?"—":`$${R.toFixed(3)}`}function te(){clearTimeout(J),t(H,!0)}function z(){clearTimeout(J),J=setTimeout(()=>t(H,!1),180)}function Z(R){R.key==="Escape"&&t(H,!1)}function de(R){e(H)&&e(Q)&&!e(Q).contains(R.target)&&t(H,!1)}y(()=>(V(v()),e(I)),()=>{v()!==e(I)&&(t(I,v()),se(v()))}),y(()=>(c(),V(v())),()=>{var R;t(O,((R=c()[v()])==null?void 0:R.lastSeq)??0)}),y(()=>(e(O),e(K),e(L),V(v())),()=>{e(O)!==e(K)&&(t(K,e(O)),clearTimeout(e(L)),t(L,setTimeout(()=>void se(v()),1e3)))}),y(()=>e(h),()=>{var R,le;t(p,typeof((le=(R=e(h))==null?void 0:R.tokens)==null?void 0:le.input)=="number"?e(h).tokens.input:0)}),y(()=>e(h),()=>{var R,le;t(f,typeof((le=(R=e(h))==null?void 0:R.tokens)==null?void 0:le.output)=="number"?e(h).tokens.output:0)}),y(()=>(e(h),e(p),e(f)),()=>{var R,le;t(m,typeof((le=(R=e(h))==null?void 0:R.tokens)==null?void 0:le.used)=="number"?e(h).tokens.used:e(p)+e(f))}),y(()=>e(h),()=>{var R,le;t(d,typeof((le=(R=e(h))==null?void 0:R.tokens)==null?void 0:le.max)=="number"?e(h).tokens.max:void 0)}),y(()=>(e(m),e(d)),()=>{t(w,e(m)>0&&e(d)?Math.min(100,e(m)/e(d)*100):0)}),y(()=>e(w),()=>{t($,e(w)>=90?"var(--err)":e(w)>=70?"var(--warn)":"var(--ok)")}),y(()=>e(h),()=>{var R;t(E,(R=e(h))!=null&&R.model?String(e(h).model).split("/").pop():void 0)}),y(()=>e(h),()=>{var R;t(j,typeof((R=e(h))==null?void 0:R.cost)=="number"?e(h).cost:void 0)}),y(()=>e(h),()=>{var R,le,re;t(U,typeof((re=(le=(R=e(h))==null?void 0:R.tokens)==null?void 0:le.cache)==null?void 0:re.read)=="number"?e(h).tokens.cache.read:0)}),y(()=>e(h),()=>{var R,le,re;t(G,typeof((re=(le=(R=e(h))==null?void 0:R.tokens)==null?void 0:le.cache)==null?void 0:re.write)=="number"?e(h).tokens.cache.write:0)}),y(()=>(e(p),e(U)),()=>{t(l,e(p)+e(U)>0?Math.round(e(U)/(e(p)+e(U))*100):void 0)}),y(()=>(c(),V(v())),()=>{t(C,c()[v()])}),y(()=>e(C),()=>{t(q,sa(e(C)).filter(R=>R.kind==="user"||R.kind==="assistant").length)}),y(()=>(e(U),e(G),e(p),e(f)),()=>{t(Y,[{key:"缓存读",v:e(U),c:"var(--ok)"},{key:"缓存写",v:e(G),c:"var(--info)"},{key:"输入",v:e(p),c:"var(--text-3)"},{key:"输出",v:e(f),c:"var(--hl-purple)"}].filter(R=>R.v>0))}),y(()=>e(Y),()=>{t(k,e(Y).reduce((R,le)=>R+le.v,0))}),Ue(),Re();var ve=qn();W("keydown",bt,Z),W("click",bt,de);var M=s(ve),oe=s(M),N=s(oe);we(N,"r",B);var F=r(N);we(F,"r",B),a(oe);var ne=r(oe,2),ge=s(ne,!0);yt(),a(ne),a(M);var ke=r(M,2);{var ue=R=>{var le=$n(),re=s(le),_e=r(s(re),2),Ne=s(_e);a(_e),a(re);var Ze=r(re,2);De(Ze,5,()=>e(Y),xt,(fe,b)=>{var pe=gn();D(()=>Rt(pe,(e(b),e(k),n(()=>`width:${e(b).v/(e(k)||1)*100}%; background:${e(b).c}`)))),i(fe,pe)}),a(Ze);var Ge=r(Ze,2);De(Ge,5,()=>e(Y),xt,(fe,b)=>{var pe=bn(),Ie=s(pe),lt=r(Ie);a(pe),D(ht=>{Rt(Ie,(e(b),n(()=>`background:${e(b).c}`))),S(lt,`${e(b),n(()=>e(b).key)??""} ${ht??""}`)},[()=>(e(b),n(()=>be(e(b).v)))]),i(fe,pe)}),a(Ge);var Ke=r(Ge,2),Me=s(Ke);{var Ae=fe=>{var b=xn(),pe=r(s(b)),Ie=s(pe);a(pe),a(b),D(()=>S(Ie,`${e(l)??""}%`)),i(fe,b)};A(Me,fe=>{e(l)!=null&&fe(Ae)})}var Be=r(Me,2);{var Je=fe=>{var b=kn(),pe=r(s(b)),Ie=s(pe,!0);a(pe),a(b),D(()=>S(Ie,e(q))),i(fe,b)};A(Be,fe=>{e(q)>0&&fe(Je)})}var T=r(Be,2);{var ee=fe=>{var b=wn(),pe=r(s(b)),Ie=s(pe,!0);a(pe),a(b),D(()=>S(Ie,e(E))),i(fe,b)};A(T,fe=>{e(E)&&fe(ee)})}var me=r(T,2);{var Se=fe=>{var b=yn(),pe=r(s(b)),Ie=s(pe,!0);a(pe),a(b),D(lt=>S(Ie,lt),[()=>(e(j),n(()=>ie(e(j))))]),i(fe,b)};A(me,fe=>{e(j)!=null&&fe(Se)})}a(Ke),a(le),D((fe,b)=>S(Ne,`${fe??""} / ${b??""}`),[()=>(e(m),n(()=>be(e(m)))),()=>(e(d),n(()=>be(e(d))))]),i(R,le)};A(ke,R=>{e(H)&&e(d)&&R(ue)})}a(ve),at(ve,R=>t(Q,R),()=>e(Q)),D((R,le,re)=>{we(M,"aria-label",R),we(M,"aria-expanded",e(H)),we(F,"stroke",e($)),we(F,"stroke-dasharray",le),S(ge,re)},[()=>(e(w),n(()=>`上下文占用 ${e(w).toFixed(0)}%`)),()=>(e(w),n(()=>`${Math.max(X*e(w)/100,e(w)>0?1.5:0)} ${X}`)),()=>(e(w),n(()=>e(w).toFixed(0)))]),W("click",M,()=>t(H,!e(H))),W("mouseenter",ve,te),W("mouseleave",ve,z),i(ce,ve),Fe(),_()}var Cn=u('<div class="error svelte-60fagq" role="alert"> </div>'),Sn=u('<button role="option"> </button>'),jn=u('<div class="mention-dropdown svelte-60fagq" role="listbox"></div>'),Mn=u('<div class="thumb svelte-60fagq"><img alt="attachment" class="svelte-60fagq"/> <button class="remove svelte-60fagq" aria-label="移除图片">×</button></div>'),En=u('<div class="thumbnails svelte-60fagq"></div>'),Tn=u('<button class="attach svelte-60fagq" aria-label="附加图片"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg></button> <input type="file" accept="image/*" multiple="" style="display:none"/>',1),Dn=u("<!> <!>",1),An=Ca('<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 19V5M5 12l7-7 7 7"></path></svg>'),Bn=u('<div class="composer svelte-60fagq"><div class="dock svelte-60fagq"><!> <div><!> <!> <textarea aria-label="消息输入" class="svelte-60fagq"></textarea> <div class="footer svelte-60fagq"><!> <!> <!> <!> <button class="hint command svelte-60fagq">「/」命令</button> <span class="spacer svelte-60fagq"></span> <span class="hint send-hint svelte-60fagq">↵ 发送 · ⇧↵ 换行</span> <button class="send svelte-60fagq" aria-label="发送"><!></button></div></div></div></div>');function On(ce,P){ze(P,!1);const c=()=>Pe(Lt,"$composerDraft",p),g=()=>Pe(Nt,"$can",p),_=()=>Pe(Da,"$connection",p),O=()=>Pe(_a,"$backendName",p),[p,f]=Mt(),m=o();let d=qe(P,"sessionId",8),w=o(""),$=o(),E=o(!1),j=o(""),U=o(!1),G=o(),l=o([]),C=o([]),q=o(0),Y=0,k;function v(){return`c_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function h(T){const ee=new FileReader;ee.onload=()=>{var Ie;const me=ee.result,Se=me.indexOf(","),fe=me.slice(0,Se),b=me.slice(Se+1),pe=((Ie=fe.match(/data:(.*?);/))==null?void 0:Ie[1])??T.type;t(l,[...e(l),{data:b,mimeType:pe,preview:me}])},ee.readAsDataURL(T)}function H(T){const ee=T.target;if(ee.files){for(const me of ee.files)h(me);ee.value=""}}function Q(T){if(!g()("imageInput")||!T.clipboardData)return;const ee=[...T.clipboardData.items].filter(me=>me.type.startsWith("image/"));if(ee.length){T.preventDefault();for(const me of ee){const Se=me.getAsFile();Se&&h(Se)}}}function J(T){t(l,e(l).filter((ee,me)=>me!==T))}function I(){if(!e($))return null;const T=e($).selectionStart,me=e(w).slice(0,T).match(/(^|[\s])@([^\s]*)$/);return me?{token:me[2],start:T-me[2].length-1}:null}function K(){const T=I();if(!T){t(C,[]),clearTimeout(k);return}Y=T.start,t(q,0),clearTimeout(k);const ee=T.token;k=setTimeout(async()=>{try{t(C,await Ce.files(d(),ee))}catch{t(C,[])}},150)}function L(T){const ee=e($).selectionStart,me=e(w).slice(0,Y),Se=e(w).slice(ee),fe=`@${T} `;t(w,me+fe+Se),t(C,[]),Ot().then(()=>{const b=me.length+fe.length;It($,e($).selectionStart=It($,e($).selectionEnd=b)),e($).focus(),X()})}async function se(){var fe;const T=e(w).trim();if(!T&&e(l).length===0||e(E))return;if(_()!=="connected"){t(j,"Disconnected — reconnecting…");return}const ee=v(),me=e(l).map(({data:b,mimeType:pe})=>({data:b,mimeType:pe}));t(E,!0),t(j,""),ga({kind:"user",sessionId:d(),text:T,ts:Date.now(),id:`user:${ee}`}),t(w,"");const Se=[...e(l)];t(l,[]),X();try{await Ce.sendMessage({sessionId:d(),text:T,clientId:ee,...me.length?{images:me}:{}})}catch(b){t(j,`Send failed: ${b.message}`),ba(`user:${ee}`),t(w,T),t(l,Se)}finally{t(E,!1),(fe=e($))==null||fe.focus()}}function B(T){if(e(C).length>0){if(T.key==="ArrowDown"){T.preventDefault(),t(q,Math.min(e(q)+1,e(C).length-1));return}if(T.key==="ArrowUp"){T.preventDefault(),t(q,Math.max(e(q)-1,0));return}if(T.key==="Enter"||T.key==="Tab"){T.preventDefault(),L(e(C)[e(q)]);return}if(T.key==="Escape"){T.preventDefault(),t(C,[]);return}}T.key!=="Enter"||T.shiftKey||T.isComposing||T.keyCode===229||(T.preventDefault(),se())}function X(){e($)&&(It($,e($).style.height="auto"),It($,e($).style.height=Math.min(e($).scrollHeight,140)+"px"))}jt(()=>clearTimeout(k)),y(()=>(c(),e($)),()=>{const T=c();T&&(t(w,T.text),Lt.set(void 0),Ot().then(()=>{var ee;return(ee=e($))==null?void 0:ee.focus()}),X())}),y(()=>e(w),()=>{oa.set(!e(w).trim())}),y(()=>e(w),()=>{t(m,e(w).trim().length>0)}),Ue(),Re();var be=Bn(),ie=s(be),te=s(ie);{var z=T=>{var ee=Cn(),me=s(ee,!0);a(ee),D(()=>S(me,e(j))),i(T,ee)};A(te,T=>{e(j)&&T(z)})}var Z=r(te,2);let de;var ve=s(Z);{var M=T=>{var ee=jn();De(ee,5,()=>e(C),xt,(me,Se,fe)=>{var b=Sn();let pe;var Ie=s(b,!0);a(b),D(()=>{pe=Le(b,1,"mention-row svelte-60fagq",null,pe,{active:fe===e(q)}),we(b,"aria-selected",fe===e(q)),S(Ie,e(Se))}),W("mousedown",b,Ba(()=>L(e(Se)))),i(me,b)}),a(ee),i(T,ee)};A(ve,T=>{e(C),n(()=>e(C).length>0)&&T(M)})}var oe=r(ve,2);{var N=T=>{var ee=En();De(ee,5,()=>e(l),xt,(me,Se,fe)=>{var b=Mn(),pe=s(b),Ie=r(pe,2);a(b),D(()=>we(pe,"src",(e(Se),n(()=>e(Se).preview)))),W("click",Ie,()=>J(fe)),i(me,b)}),a(ee),i(T,ee)};A(oe,T=>{e(l),n(()=>e(l).length>0)&&T(N)})}var F=r(oe,2);qa(F),we(F,"rows",1),at(F,T=>t($,T),()=>e($));var ne=r(F,2),ge=s(ne);{var ke=T=>{var ee=Tn(),me=Te(ee),Se=r(me,2);at(Se,fe=>t(G,fe),()=>e(G)),W("click",me,()=>e(G).click()),W("change",Se,H),i(T,ee)},ue=Ct(()=>(g(),n(()=>g()("imageInput"))));A(ge,T=>{e(ue)&&T(ke)})}var R=r(ge,2);{var le=T=>{var ee=Dn(),me=Te(ee);an(me,{});var Se=r(me,2);vn(Se,{}),i(T,ee)},re=Ct(()=>(g(),n(()=>g()("catalog"))));A(R,T=>{e(re)&&T(le)})}var _e=r(R,2);{var Ne=T=>{_n(T,{get sessionId(){return d()}})},Ze=Ct(()=>(g(),n(()=>g()("sessionControls"))));A(_e,T=>{e(Ze)&&T(Ne)})}var Ge=r(_e,2);In(Ge,{get sessionId(){return d()}});var Ke=r(Ge,2),Me=r(Ke,6),Ae=s(Me);{var Be=T=>{var ee=Ia("…");i(T,ee)},Je=T=>{var ee=An();i(T,ee)};A(Ae,T=>{e(E)?T(Be):T(Je,-1)})}a(Me),a(ne),a(Z),a(ie),a(be),D(T=>{de=Le(Z,1,"box svelte-60fagq",null,de,{focused:e(U),"has-text":e(m)}),we(F,"placeholder",_()==="connected"?`给 ${O()} 留言…`:"连接断开…"),Me.disabled=T},[()=>(e(E),e(w),e(l),_(),n(()=>e(E)||!e(w).trim()&&e(l).length===0||_()!=="connected"))]),Ta(F,()=>e(w),T=>t(w,T)),W("keydown",F,B),W("input",F,()=>{X(),K()}),W("paste",F,Q),W("focus",F,()=>t(U,!0)),W("blur",F,()=>t(U,!1)),W("click",F,K),W("click",Ke,()=>Aa.set(!0)),W("click",Me,se),i(ce,be),Fe(),f()}var Rn=u('<span class="check svelte-rgafhj">✓</span>'),zn=u('<button><span aria-hidden="true"></span> <span class="info svelte-rgafhj"><span class="row-title svelte-rgafhj"> </span> <span class="row-meta mono svelte-rgafhj"> </span></span> <!></button>'),Fn=u('<div class="empty svelte-rgafhj"> </div>'),Ln=u('<div class="popover svelte-rgafhj" role="dialog" aria-label="会话切换"><div class="list svelte-rgafhj"></div> <div class="footer svelte-rgafhj"><button class="new-session mono svelte-rgafhj"> </button></div></div>'),Nn=u('<div class="switcher svelte-rgafhj"><button class="trigger svelte-rgafhj" aria-haspopup="true" title="Switch session"><span class="glyph-tile svelte-rgafhj"> </span> <span><span class="sr-only svelte-rgafhj"> </span></span> <span class="title svelte-rgafhj"> </span> <span class="caret svelte-rgafhj" aria-hidden="true"><!></span></button> <!></div>');function Pn(ce,P){ze(P,!1);const c=()=>Pe(xa,"$backends",p),g=()=>Pe(Bt,"$sessionList",p),_=()=>Pe(Oa,"$activeWorkspace",p),O=()=>Pe(ea,"$workspaces",p),[p,f]=Mt(),m=o(),d=o(),w=o(),$=o(),E=o(),j=o();let U=qe(P,"activeId",8,void 0),G=o(!1),l=o(!1);function C(M){const oe=M.split(/[\s\-_:./]+/).filter(Boolean);return oe.length>=2?(oe[0][0]+oe[1][0]).toUpperCase():M.slice(0,2).toUpperCase()}function q(M){return C((M==null?void 0:M.name)||(M==null?void 0:M.id)||"OC")}function Y(M){return M==="online"||M==="connected"?"online":M==="connecting"||M==="reconnecting"?"connecting":M==="offline"?"offline":"online"}function k(){t(G,!e(G))}function v(M){t(G,!1),zt(`/${M}/`)}async function h(){var oe;if(e(l))return;const M=_()||((oe=O()[0])==null?void 0:oe.directory)||"";t(l,!0);try{await wa(e(m));const N=await Ce.createSession({directory:M});Bt.set(await Ce.sessions()),ea.set(await Ce.workspaces()),t(G,!1),zt(`/${N.id}/`)}catch(N){alert(`Create session failed: ${N.message}`)}finally{t(l,!1)}}function H(M){M.key==="Escape"&&t(G,!1)}function Q(M){const oe=Date.now()-M,N=Math.floor(oe/6e4);if(N<1)return"now";if(N<60)return`${N}m`;const F=Math.floor(N/60);return F<24?`${F}h`:`${Math.floor(F/24)}d`}function J(M){return(M.includes("_")?M.slice(M.indexOf("_")+1):M).slice(-8)}y(()=>c(),()=>{var M,oe,N;t(m,((M=c())==null?void 0:M.activeId)??((N=(oe=c())==null?void 0:oe.backends[0])==null?void 0:N.id)??"opencode")}),y(()=>(c(),e(m)),()=>{var M;t(d,(M=c())==null?void 0:M.backends.find(oe=>oe.id===e(m)))}),y(()=>e(m),()=>{t(w,ka(e(m)))}),y(()=>(g(),e(m)),()=>{t($,g().filter(M=>M.backendId===e(m)||!M.backendId&&e(m)==="opencode").sort((M,oe)=>oe.lastActiveAt-M.lastActiveAt))}),y(()=>(g(),V(U())),()=>{t(E,g().find(M=>M.id===U()))}),y(()=>e(E),()=>{var M;t(j,((M=e(E))==null?void 0:M.title)||"Untitled session")}),Ue(),Re();var I=Nn();W("keydown",bt,H);var K=s(I),L=s(K),se=s(L,!0);a(L);var B=r(L,2),X=s(B),be=s(X,!0);a(X),a(B);var ie=r(B,2),te=s(ie,!0);a(ie);var z=r(ie,2),Z=s(z);He(Z,{name:"caret-down",size:11}),a(z),a(K);var de=r(K,2);{var ve=M=>{var oe=Ln(),N=s(oe);De(N,5,()=>e($),ke=>ke.id,(ke,ue)=>{var R=zn();let le;var re=s(R),_e=r(re,2),Ne=s(_e),Ze=s(Ne,!0);a(Ne);var Ge=r(Ne,2),Ke=s(Ge);a(Ge),a(_e);var Me=r(_e,2);{var Ae=Be=>{var Je=Rn();i(Be,Je)};A(Me,Be=>{e(ue),V(U()),n(()=>e(ue).id===U())&&Be(Ae)})}a(R),D((Be,Je)=>{le=Le(R,1,"row svelte-rgafhj",null,le,{active:e(ue).id===U()}),Le(re,1,`dot ${e(ue),V(U()),n(()=>e(ue).id===U()?"active":"")??""}`,"svelte-rgafhj"),S(Ze,(e(ue),n(()=>e(ue).title||"Untitled session"))),S(Ke,`${Be??""} · ${Je??""}`)},[()=>(e(ue),n(()=>J(e(ue).id))),()=>(e(ue),n(()=>Q(e(ue).lastActiveAt)))]),W("click",R,()=>v(e(ue).id)),i(ke,R)},ke=>{var ue=Fn(),R=s(ue);a(ue),D(()=>S(R,`No sessions on ${e(d),n(()=>{var le,re;return((le=e(d))==null?void 0:le.name)??((re=e(d))==null?void 0:re.id)??"this agent"})??""}.`)),i(ke,ue)}),a(N);var F=r(N,2),ne=s(F),ge=s(ne);a(ne),a(F),a(oe),D(()=>{ne.disabled=e(l),S(ge,`+ New session on ${e(d),n(()=>{var ke,ue;return((ke=e(d))==null?void 0:ke.name)??((ue=e(d))==null?void 0:ue.id)??"agent"})??""}`)}),W("click",ne,h),i(M,oe)};A(de,M=>{e(G)&&M(ve)})}a(I),D((M,oe,N)=>{we(K,"aria-expanded",e(G)),Rt(L,`background:${V(Xt),e(w),n(()=>Xt[e(w)])??""}; color:${V(Yt),e(w),n(()=>Yt[e(w)])??""}; border-color:${V(Zt),e(w),n(()=>Zt[e(w)])??""}`),S(se,M),Le(B,1,`status-dot ${oe??""}`,"svelte-rgafhj"),S(be,N),S(te,e(j))},[()=>(e(d),n(()=>q(e(d)))),()=>(e(d),n(()=>{var M;return Y((M=e(d))==null?void 0:M.status)})),()=>(e(d),n(()=>{var M;return Y((M=e(d))==null?void 0:M.status)}))]),W("click",K,k),i(ce,I),Fe(),f()}var Wn=u('<button class="ghost svelte-w3h0m4" title="重新显示计划窗"><span class="label svelte-w3h0m4">计划</span> <span class="bar-count mono svelte-w3h0m4"> <i class="svelte-w3h0m4">/</i> </span></button>'),Hn=u('<div class="scrim svelte-w3h0m4" aria-hidden="true"></div>'),Kn=u('<button role="menuitem" class="svelte-w3h0m4">本会话隐藏</button>'),Un=u('<div class="menu svelte-w3h0m4" role="menu"><button role="menuitem" class="svelte-w3h0m4">打开任务面板</button> <!></div>'),Gn=u('<button class="crumb svelte-w3h0m4"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="svelte-w3h0m4"><path d="M15 18l-6-6 6-6"></path></svg> <span> </span></button>'),Jn=u('<div class="row done svelte-w3h0m4"><span class="box svelte-w3h0m4"><span class="check svelte-w3h0m4">✓</span></span><span class="tx svelte-w3h0m4"> </span></div>'),Vn=u('<button class="grp svelte-w3h0m4"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg> <span> </span></button> <!>',1),Qn=u('<div class="row running svelte-w3h0m4"><span class="box svelte-w3h0m4"><span class="dot svelte-w3h0m4"></span></span><span class="tx svelte-w3h0m4"> </span></div>'),Xn=u('<div class="row pending svelte-w3h0m4"><span class="box svelte-w3h0m4"></span><span class="tx svelte-w3h0m4"> </span></div>'),Yn=u('<div class="row pending svelte-w3h0m4"><span class="box svelte-w3h0m4"></span><span class="tx svelte-w3h0m4"> </span></div>'),Zn=u('<button class="grp svelte-w3h0m4"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg> <span> </span></button> <!>',1),er=u('<span class="sub-count mono svelte-w3h0m4"> </span>'),tr=u('<button class="row sub jump svelte-w3h0m4" title="打开子代理会话"><span class="sub-dot svelte-w3h0m4" aria-hidden="true"></span> <!> <span class="tx svelte-w3h0m4"> </span> <svg class="go svelte-w3h0m4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg></button>'),ar=u('<div class="grp static svelte-w3h0m4"><span class="sub-label svelte-w3h0m4"> </span></div> <!>',1),sr=u('<span class="sub-check svelte-w3h0m4" aria-hidden="true">✓</span>'),nr=u('<span class="sub-count mono svelte-w3h0m4"> </span>'),rr=u('<button class="row sub jump idle svelte-w3h0m4" title="打开子代理会话"><!> <!> <span class="tx svelte-w3h0m4"> </span> <svg class="go svelte-w3h0m4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg></button>'),or=u('<button class="grp svelte-w3h0m4"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg> <span> </span></button> <!>',1),lr=u('<!> <div class="plan-card svelte-w3h0m4"><div class="hd svelte-w3h0m4"><span class="label svelte-w3h0m4">计划</span> <span class="title svelte-w3h0m4"> </span> <button class="dots svelte-w3h0m4" aria-label="Plan menu">⋯</button> <button class="close svelte-w3h0m4" aria-label="收起计划"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="svelte-w3h0m4"><path d="M18 15l-6-6-6 6"></path></svg></button></div> <!> <div class="body svelte-w3h0m4"><!> <div class="prog mono svelte-w3h0m4"> </div> <!> <!> <!> <!> <!> <!></div></div>',1),ir=u('<span class="badge mono svelte-w3h0m4"> </span>'),vr=u('<button class="bar svelte-w3h0m4"><span class="label svelte-w3h0m4">计划</span> <span class="bar-count mono svelte-w3h0m4"> <i class="svelte-w3h0m4">/</i> </span> <!> <svg class="caret svelte-w3h0m4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18 15l-6-6-6 6"></path></svg></button>'),cr=u('<span class="badge mono svelte-w3h0m4"> </span>'),dr=u('<button class="ball svelte-w3h0m4"><svg class="ring svelte-w3h0m4" viewBox="0 0 38 38" aria-hidden="true"><circle class="track svelte-w3h0m4" cx="19" cy="19"></circle><circle class="arc svelte-w3h0m4" cx="19" cy="19" transform="rotate(-90 19 19)"></circle></svg> <span class="ball-count mono svelte-w3h0m4"> <i class="svelte-w3h0m4">/</i> </span> <!></button>'),ur=u("<!> <!>",1);function pr(ce,P){ze(P,!1);const c=()=>Pe(Pt,"$feeds",O),g=()=>Pe(Bt,"$sessionList",O),_=()=>Pe(Nt,"$can",O),[O,p]=Mt(),f=o(),m=o(),d=o(),w=o(),$=o(),E=o(),j=o(),U=o(),G=o(),l=o(),C=o();let q=qe(P,"sessionId",8),Y=qe(P,"onJump",8,()=>{});const k="ocrc.planHud.v3",v=5,h=16,H=2*Math.PI*h;let Q=o(!1);try{t(Q,window.matchMedia("(min-width: 821px)").matches)}catch{}const J=e(Q)?"ocrc.planHud.dt3":k;function I(){if(typeof localStorage>"u")return{};try{const b=JSON.parse(localStorage.getItem(J)??"{}")??{};return{dismissed:b.dismissed,expanded:b.expanded}}catch{return{}}}let K=o(I()),L=o(e(K).expanded??e(Q));function se(b){if(t(K,{...e(K),...b}),!(typeof localStorage>"u"))try{localStorage.setItem(J,JSON.stringify(e(K)))}catch{}}let B=o({total:0,done:0,items:[]}),X=o();async function be(b){try{const pe=await Ce.todo(b);if(b!==q())return;t(X,b),t(B,Ra(pe))}catch{}}let ie=o(),te=o(0),z=o(-1),Z=o();jt(()=>clearTimeout(e(Z)));let de=o([]),ve=o(),M=!1;async function oe(b){if(!M){M=!0;try{const pe=await Ce.subagents(b);if(b!==q())return;t(de,[...pe.subagents??[]].sort((Ie,lt)=>Number(lt.busy??!1)-Number(Ie.busy??!1))),t(ve,b)}catch{t(de,[])}finally{M=!1}}}const N=b=>`ocrc.subparent.${b}`;let F=o();function ne(b){try{t(F,sessionStorage.getItem(N(b))??void 0)}catch{t(F,void 0)}}ne(q());function ge(b){try{sessionStorage.setItem(N(b.id),q())}catch{}t(_e,!1),Y()(b.id)}function ke(){const b=e(F);t(F,void 0),b&&Y()(b)}let ue=o(),R=o(!1),le=o(!1),re=o(!1),_e=o(!1);function Ne(){t(L,!e(L)),se({expanded:e(L)})}function Ze(){se({dismissed:[...e(K).dismissed??[],q()].slice(-20)}),t(_e,!1)}function Ge(){se({dismissed:(e(K).dismissed??[]).filter(b=>b!==q())}),t(L,!0),se({expanded:e(L)})}function Ke(){t(_e,!1),Fa("tasks"),la.set(!0)}let Me=o(),Ae=o(),Be=o(),Je=o();function T(b){var Ie,lt,ht,$t;const pe=b.target;if(e(_e)){if((Ie=e(Ae))!=null&&Ie.contains(pe)||(lt=e(Me))!=null&&lt.contains(pe))return;t(_e,!1)}e(L)&&((ht=e(Be))!=null&&ht.contains(pe)||($t=e(Je))!=null&&$t.contains(pe)||(t(L,!1),se({expanded:!1})))}y(()=>(V(q()),e(ie)),()=>{q()!==e(ie)&&(t(ie,q()),be(q()))}),y(()=>(c(),V(q())),()=>{var b;t(f,((b=c()[q()])==null?void 0:b.lastSeq)??0)}),y(()=>(e(f),e(z),e(Z),e(te)),()=>{e(f)!==e(z)&&(t(z,e(f)),clearTimeout(e(Z)),t(Z,setTimeout(()=>t(te,e(te)+1),1e3)))}),y(()=>(e(te),V(q())),()=>{e(te)&&(be(q()),oe(q()))}),y(()=>(g(),V(q())),()=>{t(m,g().find(b=>b.id===q()))}),y(()=>e(m),()=>{var b;t(d,((b=e(m))==null?void 0:b.title)??"")}),y(()=>e(B),()=>{t(w,e(B).items.filter(b=>b.status==="done"))}),y(()=>e(B),()=>{t($,e(B).items.filter(b=>b.status==="running"))}),y(()=>e(B),()=>{t(E,e(B).items.filter(b=>b.status==="pending"))}),y(()=>e(E),()=>{t(j,Math.max(0,e(E).length-v))}),y(()=>e(B),()=>{t(U,e(B).total?e(B).done/e(B).total:0)}),y(()=>(e(K),V(q())),()=>{var b;t(G,((b=e(K).dismissed)==null?void 0:b.includes(q()))??!1)}),y(()=>e(de),()=>{t(l,e(de).filter(b=>b.busy))}),y(()=>e(de),()=>{t(C,e(de).filter(b=>!b.busy))}),y(()=>(e(L),V(q()),e(ve)),()=>{e(L)&&q()&&e(ve)!==q()&&oe(q())}),y(()=>V(q()),()=>{q()&&ne(q())}),y(()=>(V(q()),e(ue)),()=>{q()!==e(ue)&&(t(ue,q()),t(R,!1),t(le,!1),t(re,!1),t(_e,!1))}),Ue(),Re();var ee=ot();W("pointerdown",bt,T);var me=Te(ee);{var Se=b=>{var pe=ur(),Ie=Te(pe);{var lt=Ve=>{var Ee=Wn(),et=r(s(Ee),2),it=s(et,!0),st=r(it,2,!0);a(et),a(Ee),D(()=>{S(it,(e(B),n(()=>e(B).done))),S(st,(e(B),n(()=>e(B).total)))}),W("click",Ee,Ge),i(Ve,Ee)},ht=Ve=>{var Ee=lr(),et=Te(Ee);{var it=he=>{var $e=Hn();i(he,$e)};A(et,he=>{e(Q)||he(it)})}var st=r(et,2),ut=s(st),nt=r(s(ut),2),vt=s(nt,!0);a(nt);var pt=r(nt,2);at(pt,he=>t(Me,he),()=>e(Me));var qt=r(pt,2);a(ut);var x=r(ut,2);{var ae=he=>{var $e=Un(),xe=s($e),Oe=r(xe,2);{var We=Qe=>{var dt=Kn();W("click",dt,Ze),i(Qe,dt)};A(Oe,Qe=>{e(Q)||Qe(We)})}a($e),at($e,Qe=>t(Ae,Qe),()=>e(Ae)),W("click",xe,Ke),i(he,$e)};A(x,he=>{e(_e)&&he(ae)})}var ye=r(x,2),ft=s(ye);{var St=he=>{var $e=Gn(),xe=r(s($e),2),Oe=s(xe);a(xe),a($e),D(We=>S(Oe,`返回父会话 …${We??""}`),[()=>(e(F),n(()=>e(F).slice(-8)))]),W("click",$e,ke),i(he,$e)};A(ft,he=>{e(F)&&he(St)})}var ct=r(ft,2),Et=s(ct);a(ct);var Ht=r(ct,2);{var va=he=>{var $e=Vn(),xe=Te($e),Oe=s(xe);let We;var Qe=r(Oe,2),dt=s(Qe);a(Qe),a(xe);var Xe=r(xe,2);{var mt=tt=>{var _t=ot(),wt=Te(_t);De(wt,1,()=>e(w),rt=>rt.text,(rt,je)=>{var Ye=Jn(),gt=r(s(Ye)),Tt=s(gt,!0);a(gt),a(Ye),D(()=>S(Tt,(e(je),n(()=>e(je).text)))),i(rt,Ye)}),i(tt,_t)};A(Xe,tt=>{e(R)&&tt(mt)})}D(()=>{we(xe,"aria-expanded",e(R)),We=Le(Oe,0,"caret svelte-w3h0m4",null,We,{open:e(R)}),S(dt,`已完成 ${e(w),n(()=>e(w).length)??""}`)}),W("click",xe,()=>t(R,!e(R))),i(he,$e)};A(Ht,he=>{e(w),n(()=>e(w).length)&&he(va)})}var Kt=r(Ht,2);De(Kt,1,()=>e($),he=>he.text,(he,$e)=>{var xe=Qn(),Oe=r(s(xe)),We=s(Oe,!0);a(Oe),a(xe),D(()=>S(We,(e($e),n(()=>e($e).text)))),i(he,xe)});var Ut=r(Kt,2);De(Ut,1,()=>(e(E),n(()=>e(E).slice(0,v))),he=>he.text,(he,$e)=>{var xe=Xn(),Oe=r(s(xe)),We=s(Oe,!0);a(Oe),a(xe),D(()=>S(We,(e($e),n(()=>e($e).text)))),i(he,xe)});var Gt=r(Ut,2);{var ca=he=>{var $e=Zn(),xe=Te($e),Oe=s(xe);let We;var Qe=r(Oe,2),dt=s(Qe);a(Qe),a(xe);var Xe=r(xe,2);{var mt=tt=>{var _t=ot(),wt=Te(_t);De(wt,1,()=>(e(E),n(()=>e(E).slice(v))),rt=>rt.text,(rt,je)=>{var Ye=Yn(),gt=r(s(Ye)),Tt=s(gt,!0);a(gt),a(Ye),D(()=>S(Tt,(e(je),n(()=>e(je).text)))),i(rt,Ye)}),i(tt,_t)};A(Xe,tt=>{e(le)&&tt(mt)})}D(()=>{we(xe,"aria-expanded",e(le)),We=Le(Oe,0,"caret svelte-w3h0m4",null,We,{open:e(le)}),S(dt,`待处理 ${e(j)??""}`)}),W("click",xe,()=>t(le,!e(le))),i(he,$e)};A(Gt,he=>{e(j)>0&&he(ca)})}var Jt=r(Gt,2);{var da=he=>{var $e=ar(),xe=Te($e),Oe=s(xe),We=s(Oe);a(Oe),a(xe);var Qe=r(xe,2);De(Qe,1,()=>e(l),dt=>dt.id,(dt,Xe)=>{var mt=tr(),tt=r(s(mt),2);{var _t=je=>{var Ye=er(),gt=s(Ye);a(Ye),D(()=>S(gt,`${e(Xe),n(()=>e(Xe).done)??""}/${e(Xe),n(()=>e(Xe).total)??""}`)),i(je,Ye)};A(tt,je=>{e(Xe),n(()=>e(Xe).total>0)&&je(_t)})}var wt=r(tt,2),rt=s(wt,!0);a(wt),yt(2),a(mt),D(je=>S(rt,je),[()=>(e(Xe),n(()=>e(Xe).title||"…"+e(Xe).id.slice(-6)))]),W("click",mt,()=>ge(e(Xe))),i(dt,mt)}),D(()=>S(We,`子代理 · 运行中 ${e(l),n(()=>e(l).length)??""}`)),i(he,$e)};A(Jt,he=>{e(l),n(()=>e(l).length)&&he(da)})}var ua=r(Jt,2);{var pa=he=>{var $e=or(),xe=Te($e),Oe=s(xe);let We;var Qe=r(Oe,2),dt=s(Qe);a(Qe),a(xe);var Xe=r(xe,2);{var mt=tt=>{var _t=ot(),wt=Te(_t);De(wt,1,()=>e(C),rt=>rt.id,(rt,je)=>{var Ye=rr(),gt=s(Ye);{var Tt=kt=>{var Dt=sr();i(kt,Dt)};A(gt,kt=>{e(je),n(()=>e(je).total>0&&e(je).done>=e(je).total)&&kt(Tt)})}var Vt=r(gt,2);{var fa=kt=>{var Dt=nr(),ma=s(Dt);a(Dt),D(()=>S(ma,`${e(je),n(()=>e(je).done)??""}/${e(je),n(()=>e(je).total)??""}`)),i(kt,Dt)};A(Vt,kt=>{e(je),n(()=>e(je).total>0)&&kt(fa)})}var Qt=r(Vt,2),ha=s(Qt,!0);a(Qt),yt(2),a(Ye),D(kt=>S(ha,kt),[()=>(e(je),n(()=>e(je).title||"…"+e(je).id.slice(-6)))]),W("click",Ye,()=>ge(e(je))),i(rt,Ye)}),i(tt,_t)};A(Xe,tt=>{e(re)&&tt(mt)})}D(()=>{we(xe,"aria-expanded",e(re)),We=Le(Oe,0,"caret svelte-w3h0m4",null,We,{open:e(re)}),S(dt,`已结束 ${e(C),n(()=>e(C).length)??""}`)}),W("click",xe,()=>t(re,!e(re))),i(he,$e)};A(ua,he=>{e(C),n(()=>e(C).length)&&he(pa)})}a(ye),a(st),at(st,he=>t(Be,he),()=>e(Be)),D(he=>{S(vt,he),S(Et,`任务 ${e(B),n(()=>e(B).done)??""}/${e(B),n(()=>e(B).total)??""}`)},[()=>(e(d),V(q()),n(()=>e(d)||"…"+q().slice(-8)))]),W("click",pt,za(()=>t(_e,!e(_e)))),W("click",qt,Ne),i(Ve,Ee)};A(Ie,Ve=>{e(G)&&!e(Q)?Ve(lt):e(L)&&Ve(ht,1)})}var $t=r(Ie,2);{var At=Ve=>{var Ee=vr(),et=r(s(Ee),2),it=s(et,!0),st=r(it,2,!0);a(et);var ut=r(et,2);{var nt=vt=>{var pt=ir(),qt=s(pt,!0);a(pt),D(()=>S(qt,(e(l),n(()=>e(l).length)))),i(vt,pt)};A(ut,vt=>{e(l),n(()=>e(l).length>0)&&vt(nt)})}yt(2),a(Ee),at(Ee,vt=>t(Je,vt),()=>e(Je)),D(()=>{we(Ee,"aria-label",(e(B),n(()=>`展开计划 ${e(B).done}/${e(B).total}`))),S(it,(e(B),n(()=>e(B).done))),S(st,(e(B),n(()=>e(B).total)))}),W("click",Ee,Ne),i(Ve,Ee)},Ft=Ve=>{var Ee=dr(),et=s(Ee),it=s(et);we(it,"r",h);var st=r(it);we(st,"r",h),a(et);var ut=r(et,2),nt=s(ut,!0),vt=r(nt,2,!0);a(ut);var pt=r(ut,2);{var qt=x=>{var ae=cr(),ye=s(ae,!0);a(ae),D(()=>S(ye,(e(l),n(()=>e(l).length)))),i(x,ae)};A(pt,x=>{e(l),n(()=>e(l).length>0)&&x(qt)})}a(Ee),at(Ee,x=>t(Je,x),()=>e(Je)),D(x=>{we(Ee,"aria-label",(e(B),e(L),n(()=>`计划 ${e(B).done}/${e(B).total} — ${e(L)?"收起":"展开"}`))),we(Ee,"aria-expanded",e(L)),we(st,"stroke-dasharray",x),S(nt,(e(B),n(()=>e(B).done))),S(vt,(e(B),n(()=>e(B).total)))},[()=>(e(U),n(()=>`${Math.max(H*e(U),H*.02)} ${H}`))]),W("click",Ee,Ne),i(Ve,Ee)};A($t,Ve=>{e(Q)&&!e(L)?Ve(At):!e(G)&&!(e(Q)&&!e(L))&&Ve(Ft,1)})}i(b,pe)},fe=Ct(()=>(e(X),V(q()),e(B),e(de),e(F),_(),n(()=>e(X)===q()&&(e(B).total>0||e(de).length>0||e(F))&&_()("todos"))));A(me,b=>{e(fe)&&b(Se)})}i(ce,ee),Fe(),p()}var fr=u('<button class="expand svelte-eho102" title="Expand left panel" aria-label="展开左侧面板"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18l6-6-6-6"></path></svg></button>'),hr=u('<span class="branch mono svelte-eho102"> </span>'),mr=u('<span class="pill running mono svelte-eho102"><span class="dot svelte-eho102" aria-hidden="true"></span> </span> <button class="abort svelte-eho102">停止</button>',1),_r=u('<span class="idle mono svelte-eho102">空闲</span>'),gr=u('<button class="load-earlier mono svelte-eho102"> </button>'),br=u('<div class="loading mono svelte-eho102" aria-label="Loading conversation"><span class="ldot svelte-eho102"></span><span class="ldot svelte-eho102"></span><span class="ldot svelte-eho102"></span></div>'),xr=u('<div class="empty svelte-eho102"><svg class="empty-mark svelte-eho102" viewBox="0 0 64 64" fill="none" stroke-width="8" stroke-linecap="round" aria-hidden="true"><path d="M46 15 A24 24 0 1 0 54 32" stroke="var(--text)" opacity=".85"></path><circle cx="49" cy="20" r="6" fill="var(--accent)" stroke="none"></circle></svg> <p class="empty-title svelte-eho102">要让 agent 做什么?</p> <p class="empty-hint svelte-eho102">在下方描述任务——它将在本项目目录中运行。需要时可附上图片。</p></div>'),kr=u('<button class="jump svelte-eho102" aria-label="跳到最新"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14"></path><path d="M19 12l-7 7-7-7"></path></svg> 最新</button>'),wr=u('<div class="chat svelte-eho102"><div class="sub-header svelte-eho102"><div class="left svelte-eho102"><button class="back svelte-eho102" aria-label="返回会话列表"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 18l-6-6 6-6"></path></svg></button> <!> <!> <!></div> <div class="right svelte-eho102"><!> <button class="inspect svelte-eho102" aria-label="Inspector"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="7" x2="20" y2="7"></line><line x1="4" y1="12" x2="20" y2="12"></line><line x1="4" y1="17" x2="14" y2="17"></line></svg></button></div></div> <div aria-live="polite"><!> <!> <div class="stream-end svelte-eho102" aria-hidden="true"></div> <!></div></div> <!> <div class="composer-float svelte-eho102"><!> <!></div> <!>',1);function Mr(ce,P){ze(P,!1);const c=()=>Pe(La,"$page",m),g=()=>Pe(Pt,"$feeds",m),_=()=>Pe(Bt,"$sessionList",m),O=()=>Pe(oa,"$composerEmpty",m),p=()=>Pe(ta,"$leftPanelOpen",m),f=()=>Pe(Na,"$feedResyncing",m),[m,d]=Mt(),w=o(),$=o(),E=o(),j=o(),U=o(),G=o(),l=o(),C=o(),q=o();let Y=o(),k=o(),v=o(),h,H=o(""),Q,J,I=o(!1),K=o(0),L=o(0),se=o(),B=o(!0);function X(){e(Y)&&It(Y,e(Y).scrollTop=e(Y).scrollHeight)}function be(){e(Y)&&t(B,e(Y).scrollHeight-e(Y).scrollTop-e(Y).clientHeight<80)}const ie=80,te=50;let z=o(ie),Z=o(0),de=o(!0),ve=o(!1),M=o("");async function oe(){if(e(ve)||!e($))return;if(e(j).length>e(z)){t(z,e(z)+ie);return}if(!e(de))return;t(ve,!0);const x=e(Y),ae=x?{h:x.scrollHeight,top:x.scrollTop}:null;try{const ye=await Ce.history(e($),{limit:te,offset:e(Z)});(ye.cards??[]).length===0?t(de,!1):(ya(e($),ye.cards),t(Z,e(Z)+te),t(z,e(z)+ie),ye.hasMore===!1&&t(de,!1),ae&&x&&(await Ot(),x.scrollTop=x.scrollHeight-ae.h+ae.top))}catch(ye){console.warn("[page] loadEarlier failed",ye)}finally{t(ve,!1)}}let N=o("");function F(x){if(x<60)return`${x}s`;const ae=Math.floor(x/60),ye=x%60;return ye===0?`${ae}m`:`${ae}m ${ye}s`}function ne(){Ne()}const ge=["总结这个项目","最近有什么改动?","运行检查"];let ke=o(!1),ue=o([]),R;async function le(x,ae){if(R!==ae){R=ae;try{const ye=await Ce.suggestions(x);t(ue,ye.suggestions??[])}catch{t(ue,[])}}}let re=o(),_e=o([]);function Ne(){if(!e($))return;const x=[...e(j)].reverse().find(ye=>ye.kind==="user"),ae=x==null?void 0:x.text;ae&&Ce.sendMessage({sessionId:e($),text:ae,clientId:`web_${Date.now()}`})}async function Ze(){if(!(!e($)||e(I))){t(I,!0);try{await Ce.abort(e($))}catch{}finally{t(I,!1)}}}Wt(()=>{Q=new ResizeObserver(()=>{e(k)&&(document.documentElement.style.setProperty("--composer-h",`${e(k).offsetHeight}px`),e(B)&&X())}),e(k)&&Q.observe(e(k)),h=new IntersectionObserver(ye=>{e(B)&&ye.some(ft=>!ft.isIntersecting)&&requestAnimationFrame(X)},{root:e(Y),threshold:0}),e(v)&&h.observe(e(v));const x=window.visualViewport,ae=()=>{e(B)&&requestAnimationFrame(X)};x==null||x.addEventListener("resize",ae),J=()=>x==null?void 0:x.removeEventListener("resize",ae)}),jt(()=>{Q==null||Q.disconnect(),h==null||h.disconnect(),J==null||J(),e(se)&&clearInterval(e(se))}),y(()=>c(),()=>{t($,c().params.sessionId??"")}),y(()=>(e($),e(M)),()=>{e($)&&e($)!==e(M)&&(t(M,e($)),t(z,ie),t(Z,0),t(de,!0),t(ve,!1))}),y(()=>(g(),e($)),()=>{t(E,g()[e($)])}),y(()=>e(E),()=>{t(j,sa(e(E)))}),y(()=>(e(z),e(j)),()=>{t(w,e(z)>=e(j).length?e(j):e(j).slice(-e(z)))}),y(()=>(_(),e($)),()=>{t(U,_().find(x=>x.id===e($)))}),y(()=>e(U),()=>{var x;t(G,(x=e(U))!=null&&x.directory&&e(U).directory.replace(/\/+$/,"").split("/").pop()||"")}),y(()=>e(E),()=>{t(l,(()=>{if(!e(E)||e(E).order.length===0)return!1;const x=e(E).byId[e(E).order[e(E).order.length-1]];return(x==null?void 0:x.kind)==="thinking"||(x==null?void 0:x.kind)==="streaming"||(x==null?void 0:x.kind)==="think-stream"})())}),y(()=>(e(l),e(N),e($),e(K),e(se)),()=>{e(l)?(e(N)!==e($)&&(t(N,e($)),t(K,0)),!e(K)&&typeof window<"u"&&(t(K,Date.now()),t(L,0),e(se)&&clearInterval(e(se)),t(se,setInterval(()=>{t(L,Math.floor((Date.now()-e(K))/1e3))},1e3)))):(t(K,0),t(L,0),t(N,""),e(se)&&(clearInterval(e(se)),t(se,void 0)))}),y(()=>e(j),()=>{t(C,e(j).length?e(j)[e(j).length-1]:null)}),y(()=>(e(l),e(C),e($)),()=>{var x;!e(l)&&((x=e(C))==null?void 0:x.kind)==="assistant"&&e($)&&le(e($),e(C).id)}),y(()=>(e($),e(re)),()=>{e($)!==e(re)&&(t(re,e($)),t(ke,!1))}),y(()=>(e(l),e(ke),O(),e(ue),e(j)),()=>{e(l)||e(ke)||!O()?t(_e,[]):e(ue).length>0?t(_e,e(ue)):e(j).length===0?t(_e,ge):t(_e,[])}),y(()=>(e($),e(E),e(j)),()=>{var x;t(q,`${e($)}:${((x=e(E))==null?void 0:x.lastSeq)??0}:${e(j).length}`)}),y(()=>(e(q),e(H),e(B)),()=>{e(q)!==e(H)&&(t(H,e(q)),Ot().then(()=>{e(B)&&X()}))}),Ue(),Re();var Ge=wr(),Ke=Te(Ge),Me=s(Ke),Ae=s(Me),Be=s(Ae),Je=r(Be,2);{var T=x=>{var ae=fr();W("click",ae,()=>ta.set(!0)),i(x,ae)};A(Je,x=>{p()||x(T)})}var ee=r(Je,2);Pn(ee,{get activeId(){return e($)}});var me=r(ee,2);{var Se=x=>{var ae=hr(),ye=s(ae,!0);a(ae),D(()=>S(ye,e(G))),i(x,ae)};A(me,x=>{e(G)&&x(Se)})}a(Ae);var fe=r(Ae,2),b=s(fe);{var pe=x=>{var ae=mr(),ye=Te(ae),ft=r(s(ye));a(ye);var St=r(ye,2);D(ct=>{S(ft,` 运行中 ${ct??""}`),St.disabled=e(I)},[()=>(e(L),n(()=>F(e(L))))]),W("click",St,Ze),i(x,ae)},Ie=x=>{var ae=_r();i(x,ae)};A(b,x=>{e(l)?x(pe):x(Ie,-1)})}var lt=r(b,2);a(fe),a(Me);var ht=r(Me,2);let $t;var At=s(ht);{var Ft=x=>{var ae=gr(),ye=s(ae,!0);a(ae),D(()=>{ae.disabled=e(ve),S(ye,e(ve)?"加载中…":"加载更早消息")}),W("click",ae,oe),i(x,ae)};A(At,x=>{e(j),e(z),e(de),n(()=>e(j).length>0&&(e(j).length>e(z)||e(de)))&&x(Ft)})}var Ve=r(At,2);De(Ve,1,()=>e(w),x=>x.id,(x,ae)=>{{let ye=Sa(()=>(e(ae),e(C),e(l),n(()=>{var ft;return e(ae).id===((ft=e(C))==null?void 0:ft.id)&&e(ae).kind==="assistant"&&!e(l)?ne:void 0})));Xs(x,{get card(){return e(ae)},onRetry:Ne,get onRegenerate(){return e(ye)}})}});var Ee=r(Ve,2);at(Ee,x=>t(v,x),()=>e(v));var et=r(Ee,2);{var it=x=>{var ae=ot(),ye=Te(ae);{var ft=ct=>{var Et=br();i(ct,Et)},St=ct=>{var Et=xr();i(ct,Et)};A(ye,ct=>{e(E)?ct(St,-1):ct(ft)})}i(x,ae)};A(et,x=>{e(j),n(()=>e(j).length===0)&&x(it)})}a(ht),a(Ke),at(Ke,x=>t(Y,x),()=>e(Y));var st=r(Ke,2);{var ut=x=>{var ae=kr();W("click",ae,X),i(x,ae)};A(st,x=>{e(B),e(j),n(()=>!e(B)&&e(j).length>0)&&x(ut)})}var nt=r(st,2),vt=s(nt);Ha(vt,{get suggestions(){return e(_e)},onPick:x=>Lt.set({text:x,nonce:Date.now()}),onDismiss:()=>{t(ke,!0),t(_e,[])}});var pt=r(vt,2);On(pt,{get sessionId(){return e($)}}),a(nt),at(nt,x=>t(k,x),()=>e(k));var qt=r(nt,2);pr(qt,{get sessionId(){return e($)},onJump:x=>zt("/"+x)}),D(()=>$t=Le(ht,1,"stream conversation-emerald svelte-eho102",null,$t,{suppressed:f()})),W("click",Be,()=>zt("/")),W("click",lt,()=>la.update(x=>!x)),W("scroll",Ke,be),i(ce,Ge),Fe(),d()}export{Mr as component};
@@ -1 +1 @@
1
- {"version":"1790793570622"}
1
+ {"version":"1790831922826"}
@@ -25,33 +25,33 @@
25
25
  <!-- iOS standalone PWA: fullscreen + translucent status bar (content padded via safe-area insets) -->
26
26
  <meta name="apple-mobile-web-app-capable" content="yes" />
27
27
  <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
28
- <link href="/_app/immutable/entry/start.otCZAQbr.js" rel="modulepreload">
29
- <link href="/_app/immutable/chunks/DY5gTx_H.js" rel="modulepreload">
28
+ <link href="/_app/immutable/entry/start.B_gdilwd.js" rel="modulepreload">
29
+ <link href="/_app/immutable/chunks/aiCxvHoo.js" rel="modulepreload">
30
30
  <link href="/_app/immutable/chunks/BjY4dxcB.js" rel="modulepreload">
31
- <link href="/_app/immutable/entry/app.Bjogw62_.js" rel="modulepreload">
31
+ <link href="/_app/immutable/entry/app.Bf8l1MB1.js" rel="modulepreload">
32
32
  <link href="/_app/immutable/chunks/CWj6FrbW.js" rel="modulepreload">
33
33
  <link href="/_app/immutable/chunks/DIEDQ_hk.js" rel="modulepreload">
34
34
  <link href="/_app/immutable/chunks/C2FuqD3s.js" rel="modulepreload">
35
- <link href="/_app/immutable/nodes/0.gKgVvnWY.js" rel="modulepreload">
35
+ <link href="/_app/immutable/nodes/0.BXbFDh46.js" rel="modulepreload">
36
36
  <link href="/_app/immutable/chunks/TuGPYaVf.js" rel="modulepreload">
37
- <link href="/_app/immutable/chunks/CVAbf59M.js" rel="modulepreload">
37
+ <link href="/_app/immutable/chunks/DJgyevNN.js" rel="modulepreload">
38
38
 
39
39
  <link href="/_app/immutable/assets/MarkdownView.C5F7UGcl.css" rel="stylesheet">
40
- <link href="/_app/immutable/assets/0.DH6byoPa.css" rel="stylesheet">
40
+ <link href="/_app/immutable/assets/0.CA-EXS4v.css" rel="stylesheet">
41
41
  </head>
42
42
  <body data-sveltekit-preload-data="hover">
43
43
  <div style="display: contents">
44
44
  <script>
45
45
  {
46
- __sveltekit_1uian3n = {
46
+ __sveltekit_yafqb9 = {
47
47
  base: ""
48
48
  };
49
49
 
50
50
  const element = document.currentScript.parentElement;
51
51
 
52
52
  Promise.all([
53
- import("/_app/immutable/entry/start.otCZAQbr.js"),
54
- import("/_app/immutable/entry/app.Bjogw62_.js")
53
+ import("/_app/immutable/entry/start.B_gdilwd.js"),
54
+ import("/_app/immutable/entry/app.Bf8l1MB1.js")
55
55
  ]).then(([kit, app]) => {
56
56
  kit.start(app, element);
57
57
  });
@@ -1 +1 @@
1
- const a=location.pathname.split("/").slice(0,-1).join("/"),m=[a+"/_app/immutable/entry/app.Bjogw62_.js",a+"/_app/immutable/nodes/0.gKgVvnWY.js",a+"/_app/immutable/assets/0.DH6byoPa.css",a+"/_app/immutable/nodes/1.DWC5wG-Z.js",a+"/_app/immutable/nodes/2.Cbld_6EM.js",a+"/_app/immutable/assets/2.BNuGfmZP.css",a+"/_app/immutable/nodes/3.CQzSXOtv.js",a+"/_app/immutable/assets/3.Ccs8oT1Q.css",a+"/_app/immutable/assets/MarkdownView.C5F7UGcl.css",a+"/_app/immutable/chunks/BjY4dxcB.js",a+"/_app/immutable/chunks/C2FuqD3s.js",a+"/_app/immutable/chunks/CVAbf59M.js",a+"/_app/immutable/chunks/CWj6FrbW.js",a+"/_app/immutable/chunks/DIEDQ_hk.js",a+"/_app/immutable/chunks/DY5gTx_H.js",a+"/_app/immutable/chunks/TuGPYaVf.js",a+"/_app/immutable/entry/start.otCZAQbr.js"],o=[a+"/apple-touch-icon.png",a+"/favicon.png",a+"/favicon.svg",a+"/icon-192.png",a+"/icon-512-maskable.png",a+"/icon-512.png",a+"/manifest.webmanifest"],l="1790793570622",n=self,i=`ocrc-cache-${l}`,p=[...m,...o];n.addEventListener("install",t=>{t.waitUntil(caches.open(i).then(s=>s.addAll(p.map(e=>new Request(e,{cache:"reload"})))).then(()=>n.skipWaiting()))});n.addEventListener("activate",t=>{t.waitUntil((async()=>{for(const s of await caches.keys())s!==i&&await caches.delete(s);await n.clients.claim()})())});n.addEventListener("fetch",t=>{const{request:s}=t;if(s.method!=="GET")return;const e=new URL(s.url);if(e.origin===location.origin&&!(e.pathname.startsWith("/api/")||e.pathname==="/ws")){if(p.includes(e.pathname)){t.respondWith(caches.match(s).then(c=>c??fetch(s)));return}t.respondWith((async()=>{try{return await fetch(s)}catch{return await caches.match(s)??await caches.match("/")??Response.error()}})())}});
1
+ const a=location.pathname.split("/").slice(0,-1).join("/"),m=[a+"/_app/immutable/entry/app.Bf8l1MB1.js",a+"/_app/immutable/nodes/0.BXbFDh46.js",a+"/_app/immutable/assets/0.CA-EXS4v.css",a+"/_app/immutable/nodes/1.Cl7j0xj2.js",a+"/_app/immutable/nodes/2.BQLuM1uO.js",a+"/_app/immutable/assets/2.BNuGfmZP.css",a+"/_app/immutable/nodes/3.DPvOSN1r.js",a+"/_app/immutable/assets/3.Ccs8oT1Q.css",a+"/_app/immutable/assets/MarkdownView.C5F7UGcl.css",a+"/_app/immutable/chunks/BjY4dxcB.js",a+"/_app/immutable/chunks/C2FuqD3s.js",a+"/_app/immutable/chunks/CWj6FrbW.js",a+"/_app/immutable/chunks/DIEDQ_hk.js",a+"/_app/immutable/chunks/DJgyevNN.js",a+"/_app/immutable/chunks/TuGPYaVf.js",a+"/_app/immutable/chunks/aiCxvHoo.js",a+"/_app/immutable/entry/start.B_gdilwd.js"],o=[a+"/apple-touch-icon.png",a+"/favicon.png",a+"/favicon.svg",a+"/icon-192.png",a+"/icon-512-maskable.png",a+"/icon-512.png",a+"/manifest.webmanifest"],l="1790831922826",n=self,i=`ocrc-cache-${l}`,p=[...m,...o];n.addEventListener("install",e=>{e.waitUntil(caches.open(i).then(s=>s.addAll(p.map(t=>new Request(t,{cache:"reload"})))).then(()=>n.skipWaiting()))});n.addEventListener("activate",e=>{e.waitUntil((async()=>{for(const s of await caches.keys())s!==i&&await caches.delete(s);await n.clients.claim()})())});n.addEventListener("fetch",e=>{const{request:s}=e;if(s.method!=="GET")return;const t=new URL(s.url);if(t.origin===location.origin&&!(t.pathname.startsWith("/api/")||t.pathname==="/ws")){if(p.includes(t.pathname)){e.respondWith(caches.match(s).then(c=>c??fetch(s)));return}e.respondWith((async()=>{try{return await fetch(s)}catch{return await caches.match(s)??await caches.match("/")??Response.error()}})())}});