@bd7pil/ocrc 0.15.1 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/web/dist/_app/immutable/assets/{0.nqUv72Y6.css → 0.DhEufaF5.css} +1 -1
- package/web/dist/_app/immutable/chunks/{BZhYrFQy.js → Bns2hDN-.js} +2 -2
- package/web/dist/_app/immutable/chunks/{_bauirnP.js → Cag3opYu.js} +1 -1
- package/web/dist/_app/immutable/entry/{app.DwzATkUd.js → app.D9bJIyS2.js} +2 -2
- package/web/dist/_app/immutable/entry/start.DfH8H-aY.js +1 -0
- package/web/dist/_app/immutable/nodes/0.Z6vTIOgX.js +3 -0
- package/web/dist/_app/immutable/nodes/{1.reI34Q_v.js → 1.DJjHyvaB.js} +1 -1
- package/web/dist/_app/immutable/nodes/{2.BqCecRSm.js → 2.anb5dWyu.js} +1 -1
- package/web/dist/_app/immutable/nodes/{3.BRXJ5-j-.js → 3.bCeQKeXf.js} +2 -2
- package/web/dist/_app/version.json +1 -1
- package/web/dist/index.html +9 -9
- package/web/dist/service-worker.js +1 -1
- package/web/dist/_app/immutable/entry/start.DsoTOtiL.js +0 -1
- package/web/dist/_app/immutable/nodes/0.BH0-mNP5.js +0 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Yr=Object.defineProperty;var Xr=(s,t,n)=>t in s?Yr(s,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[t]=n;var Fe=(s,t,n)=>Xr(s,typeof t!="symbol"?t+"":t,n);import"../chunks/CWj6FrbW.js";import{r as Qe,f as Ge,k as ts,i as Vr,F as Qr,y as Jr,j as ea,z as Cn,e as ta,a as ms,b as vs,c as bs,B as na,p as er,l as sa,w as ra}from"../chunks/TuGPYaVf.js";import{aE as Je,M as Gt,a4 as nt,w as O,aB as et,V as pe,b4 as y,J as m,aK as h,a$ as ne,a8 as e,aR as Q,a3 as re,aU as T,a6 as D,aw as Vt,aO as f,au as S,ay as pn,ap as J,aq as bt,b5 as bn,Q as aa,az as ns,$ as Zt,b2 as tr,av as Yt,b1 as Ln,aI as ia,b0 as oa,a7 as la,Z as ca}from"../chunks/BjY4dxcB.js";import{i as se,a as ft,s as wn}from"../chunks/DIEDQ_hk.js";import{h as gt,w as nr,I as lt,u as Ke,v as st,j as sr,k as Qt,t as ua,x as da,c as pa,e as Vn,g as fa,f as rr,q as ga,s as ha,C as _s,a as ma,z as va,y as ba,l as ar,p as _a,n as Es,i as Ea}from"../chunks/
|
|
1
|
+
var Yr=Object.defineProperty;var Xr=(s,t,n)=>t in s?Yr(s,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[t]=n;var Fe=(s,t,n)=>Xr(s,typeof t!="symbol"?t+"":t,n);import"../chunks/CWj6FrbW.js";import{r as Qe,f as Ge,k as ts,i as Vr,F as Qr,y as Jr,j as ea,z as Cn,e as ta,a as ms,b as vs,c as bs,B as na,p as er,l as sa,w as ra}from"../chunks/TuGPYaVf.js";import{aE as Je,M as Gt,a4 as nt,w as O,aB as et,V as pe,b4 as y,J as m,aK as h,a$ as ne,a8 as e,aR as Q,a3 as re,aU as T,a6 as D,aw as Vt,aO as f,au as S,ay as pn,ap as J,aq as bt,b5 as bn,Q as aa,az as ns,$ as Zt,b2 as tr,av as Yt,b1 as Ln,aI as ia,b0 as oa,a7 as la,Z as ca}from"../chunks/BjY4dxcB.js";import{i as se,a as ft,s as wn}from"../chunks/DIEDQ_hk.js";import{h as gt,w as nr,I as lt,u as Ke,v as st,j as sr,k as Qt,t as ua,x as da,c as pa,e as Vn,g as fa,f as rr,q as ga,s as ha,C as _s,a as ma,z as va,y as ba,l as ar,p as _a,n as Es,i as Ea}from"../chunks/Bns2hDN-.js";import{p as Le,b as $t}from"../chunks/C2FuqD3s.js";import{g as Dn}from"../chunks/Cag3opYu.js";var ya=D('<button class="chip svelte-1hbn5f9" role="listitem"> </button>'),ka=D('<div class="suggestions svelte-1hbn5f9" role="list" aria-label="建议的后续操作"><!> <button class="dismiss svelte-1hbn5f9" aria-label="忽略建议"><!></button></div>');function wa(s,t){Je(t,!1);let n=Le(t,"suggestions",24,()=>[]),r=Le(t,"onPick",8,()=>{}),a=Le(t,"onDismiss",8,()=>{});Qe();var o=Gt(),i=nt(o);{var l=c=>{var u=ka(),p=m(u);gt(p,3,n,E=>E,(E,R,P)=>{var _=ya(),k=m(_,!0);h(_),ne(B=>{nr(_,B),Q(k,e(R))},[()=>(pe(e(P)),y(()=>`animation-delay: ${Math.min(e(P),5)*45}ms`))]),re("click",_,()=>r()(e(R))),O(E,_)});var g=T(p,2),b=m(g);lt(b,{name:"close",size:12}),h(g),h(u),re("click",g,function(...E){var R;(R=a())==null||R.apply(this,E)}),O(c,u)};se(i,c=>{pe(n()),y(()=>n().length>0)&&c(l)})}O(s,o),et()}var xa=D('<div class="card user svelte-2ec03f"> </div>');function Ta(s,t){Je(t,!1);let n=Le(t,"card",8);Qe();var r=xa(),a=m(r,!0);h(r),ne(()=>Q(a,(pe(n()),y(()=>n().text)))),O(s,r),et()}var Aa=D('<button class="stop svelte-1n9pz5q">Stop</button>'),Sa=D('<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 Ra(s,t){Je(t,!1);let n=Le(t,"card",8);Qe();var r=Sa(),a=m(r),o=m(a),i=m(o);lt(i,{name:"caret-right",size:11}),h(o),Vt(),h(a);var l=T(a,2);{var c=u=>{var p=Aa();re("click",p,()=>Ge.abort(n().sessionId)),O(u,p)};se(l,u=>{pe(n()),y(()=>n().showStop)&&u(c)})}h(r),O(s,r),et()}var Na=D('<div class="body mono svelte-z2jsf2"><pre class="svelte-z2jsf2"> </pre></div>'),Oa=D('<button class="toggle mono svelte-z2jsf2"><span aria-hidden="true"><!></span> reasoning</button> <!>',1);function Ia(s,t){Je(t,!1);let n=Le(t,"card",8),r=S(!1);Qe();var a=Oa(),o=nt(a),i=m(o);let l;var c=m(i);lt(c,{name:"caret-right",size:11}),h(i),Vt(),h(o);var u=T(o,2);{var p=g=>{var b=Na(),E=m(b),R=m(E,!0);h(E),h(b),ne(()=>Q(R,(pe(n()),y(()=>n().thinkingText)))),O(g,b)};se(u,g=>{e(r)&&g(p)})}ne(()=>{Ke(o,"aria-expanded",e(r)),l=st(i,1,"caret svelte-z2jsf2",null,l,{open:e(r)})}),re("click",o,()=>f(r,!e(r))),O(s,a),et()}function ss(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let en=ss();function ir(s){en=s}const or=/[&<>"']/,Ma=new RegExp(or.source,"g"),lr=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,Ca=new RegExp(lr.source,"g"),La={"&":"&","<":"<",">":">",'"':""","'":"'"},ys=s=>La[s];function Nt(s,t){if(t){if(or.test(s))return s.replace(Ma,ys)}else if(lr.test(s))return s.replace(Ca,ys);return s}const Da=/(^|[^\[])\^/g;function ze(s,t){let n=typeof s=="string"?s:s.source;t=t||"";const r={replace:(a,o)=>{let i=typeof o=="string"?o:o.source;return i=i.replace(Da,"$1"),n=n.replace(a,i),r},getRegex:()=>new RegExp(n,t)};return r}function ks(s){try{s=encodeURI(s).replace(/%25/g,"%")}catch{return null}return s}const _n={exec:()=>null};function ws(s,t){const n=s.replace(/\|/g,(o,i,l)=>{let c=!1,u=i;for(;--u>=0&&l[u]==="\\";)c=!c;return c?"|":" |"}),r=n.split(/ \|/);let a=0;if(r[0].trim()||r.shift(),r.length>0&&!r[r.length-1].trim()&&r.pop(),t)if(r.length>t)r.splice(t);else for(;r.length<t;)r.push("");for(;a<r.length;a++)r[a]=r[a].trim().replace(/\\\|/g,"|");return r}function gn(s,t,n){const r=s.length;if(r===0)return"";let a=0;for(;a<r&&s.charAt(r-a-1)===t;)a++;return s.slice(0,r-a)}function $a(s,t){if(s.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<s.length;r++)if(s[r]==="\\")r++;else if(s[r]===t[0])n++;else if(s[r]===t[1]&&(n--,n<0))return r;return-1}function xs(s,t,n,r){const a=t.href,o=t.title?Nt(t.title):null,i=s[1].replace(/\\([\[\]])/g,"$1");if(s[0].charAt(0)!=="!"){r.state.inLink=!0;const l={type:"link",raw:n,href:a,title:o,text:i,tokens:r.inlineTokens(i)};return r.state.inLink=!1,l}return{type:"image",raw:n,href:a,title:o,text:Nt(i)}}function Pa(s,t){const n=s.match(/^(\s+)(?:```)/);if(n===null)return t;const r=n[1];return t.split(`
|
|
2
2
|
`).map(a=>{const o=a.match(/^\s+/);if(o===null)return a;const[i]=o;return i.length>=r.length?a.slice(r.length):a}).join(`
|
|
3
3
|
`)}class $n{constructor(t){Fe(this,"options");Fe(this,"rules");Fe(this,"lexer");this.options=t||en}space(t){const n=this.rules.block.newline.exec(t);if(n&&n[0].length>0)return{type:"space",raw:n[0]}}code(t){const n=this.rules.block.code.exec(t);if(n){const r=n[0].replace(/^(?: {1,4}| {0,3}\t)/gm,"");return{type:"code",raw:n[0],codeBlockStyle:"indented",text:this.options.pedantic?r:gn(r,`
|
|
4
4
|
`)}}}fences(t){const n=this.rules.block.fences.exec(t);if(n){const r=n[0],a=Pa(r,n[3]||"");return{type:"code",raw:r,lang:n[2]?n[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):n[2],text:a}}}heading(t){const n=this.rules.block.heading.exec(t);if(n){let r=n[2].trim();if(/#$/.test(r)){const a=gn(r,"#");(this.options.pedantic||!a||/ $/.test(a))&&(r=a.trim())}return{type:"heading",raw:n[0],depth:n[1].length,text:r,tokens:this.lexer.inline(r)}}}hr(t){const n=this.rules.block.hr.exec(t);if(n)return{type:"hr",raw:gn(n[0],`
|
|
@@ -61,4 +61,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
61
61
|
`+xt),Ne&&rn([fe,ce,w],Dt=>{xt=on(xt,Dt," ")}),v&&z?v.createHTML(xt):xt},t.setConfig=function(){let le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};nn(le),ae=!0},t.clearConfig=function(){Mt=null,ae=!1},t.isValidAttribute=function(le,d,L){Mt||nn({});const V=De(le),Te=De(d);return Ct(V,Te,L)},t.addHook=function(le,d){typeof d=="function"&&an(ie[le],d)},t.removeHook=function(le,d){if(d!==void 0){const L=Ho(ie[le],d);return L===-1?void 0:qo(ie[le],L,1)[0]}return Us(ie[le])},t.removeHooks=function(le){ie[le]=[]},t.removeAllHooks=function(){ie=Xs()},t}var jr=Gr();ht.registerLanguage("typescript",uo);ht.registerLanguage("javascript",mo);ht.registerLanguage("json",vo);ht.registerLanguage("bash",Ur);ht.registerLanguage("shell",Ur);ht.registerLanguage("python",bo);ht.registerLanguage("diff",_o);ht.registerLanguage("xml",Fr);ht.registerLanguage("html",Fr);ht.registerLanguage("css",Ro);ht.registerLanguage("markdown",No);ht.registerLanguage("sql",Oo);ht.registerLanguage("yaml",Io);ht.registerLanguage("rust",Mo);ht.registerLanguage("go",Co);let Wr=!1;function Vs(s){Wr=s}$e.use(di({highlight(s,t){return t&&ht.getLanguage(t)?ht.highlight(s,{language:t}).value:Wr?s.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"):ht.highlightAuto(s).value}}));const ul=2e4;jr.addHook("afterSanitizeAttributes",s=>{s.tagName==="A"&&s.getAttribute("href")&&(s.setAttribute("target","_blank"),s.setAttribute("rel","noopener noreferrer"))});const dl={FORBID_TAGS:["style","form","input","button","textarea","select"],FORBID_ATTR:["style"]};function Qs(s){return s.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function pl(s){if(s.length>ul)return`<pre class="raw">${Qs(s)}</pre>`;try{return jr.sanitize($e.parse(s,{async:!1}),dl)}catch{return`<pre class="raw">${Qs(s)}</pre>`}}var fl=D("<div></div>");function Kr(s,t){Je(t,!1);let n=Le(t,"src",8),r=Le(t,"throttle",8,!1),a=Le(t,"streaming",8,!1),o=S(""),i,l=0,c="";function u(v){const A=Array.from(v.classList).find(G=>G.startsWith("language-"));return A?A.slice(9):""}function p(v){if(typeof document>"u")return v;const A=document.createElement("div");return A.innerHTML=v,Array.from(A.querySelectorAll("pre > code")).forEach(ee=>{var w;const Z=ee.parentElement;if(!Z)return;const C=u(ee),te=document.createElement("div");te.className="code-block";const U=document.createElement("div");U.className="code-header";const ie=document.createElement("span");ie.className="code-square",ie.setAttribute("aria-hidden","true");const fe=document.createElement("span");fe.className="code-lang mono",fe.textContent=C,U.appendChild(ie),U.appendChild(fe);const ce=document.createElement("button");ce.type="button",ce.className="code-copy mono",ce.textContent="Copy",U.appendChild(ce),te.appendChild(U),(w=Z.parentNode)==null||w.insertBefore(te,Z),te.appendChild(Z)}),A.innerHTML}let g;function b(v){var ee,Z,C,te;const A=(Z=(ee=v.target).closest)==null?void 0:Z.call(ee,".code-copy");if(!A)return;const G=(C=A.closest(".code-block"))==null?void 0:C.querySelector("pre code, pre");G&&((te=navigator.clipboard)==null||te.writeText(G.innerText).then(()=>{A.classList.add("copied"),A.textContent="✓ Copied",g&&clearTimeout(g),g=setTimeout(()=>{A.classList.remove("copied"),A.textContent="Copy"},1400)}).catch(()=>{}))}function E(v){const A=document.createElement("span");A.className="stream-caret",A.setAttribute("aria-hidden","true");const G=Array.from(v.querySelectorAll("p"));G.length>0?G[G.length-1].appendChild(A):v.appendChild(A)}function R(v){if(v===i)return;i=v,Vs(a());let A=pl(v);if(A=p(A),a()&&typeof document<"u"){const G=document.createElement("div");G.innerHTML=A,E(G),A=G.innerHTML}f(o,A)}const P=45;let _=0,k;function B(v){if(!r()||typeof requestAnimationFrame>"u"){k&&(clearTimeout(k),k=void 0),Vs(a()),R(v);return}if(c=v,l||k)return;const A=Math.max(0,P-(Date.now()-_));A===0?l=requestAnimationFrame(()=>{l=0,_=Date.now(),R(c)}):k=setTimeout(()=>{k=void 0,l||(l=requestAnimationFrame(()=>{l=0,_=Date.now(),R(c)}))},A)}pn(()=>{l&&cancelAnimationFrame(l),g&&clearTimeout(g)}),J(()=>pe(n()),()=>{B(n())}),bt(),Qe();var q=fl();let K;sr(q,()=>e(o),!0),h(q),ne(()=>K=st(q,1,"md svelte-180jyqg",null,K,{streaming:a()})),re("click",q,b),O(s,q),et()}const Js={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 gl(s){let t=s.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");t=t.replace(/\x1b\[[0-9;?]*[A-Za-z]/g,a=>a.endsWith("m")?a:"").replace(/\x1b\][^\x07]*\x07/g,"").replace(/\x1b\][^\x1b]*\x1b\\/g,"");let n=0;const r=[];for(const a of t.split(/(\x1b\[[0-9;]*m)/)){const o=a.match(/^\x1b\[([0-9;]*)m$/);if(!o){r.push(a);continue}const i=o[1].split(";").filter(Boolean).map(Number);i.length===0&&i.push(0);const l=[];for(let c=0;c<i.length;c++){const u=i[c];if(u===0)for(;n>0;)r.push("</span>"),n--;else if(u===38||u===48){const p=i[c+1];p===5?c+=2:p===2&&(u===38&&l.push(`color:rgb(${i[c+2]},${i[c+3]},${i[c+4]})`),c+=4)}else u===1?l.push("font-weight:bold"):u===2?l.push("opacity:0.7"):u===3?l.push("font-style:italic"):u===4?l.push("text-decoration:underline"):Js[u]&&l.push(`color:${Js[u]}`)}l.length&&(r.push(`<span style="${l.join(";")}">`),n++)}for(;n>0;)r.push("</span>"),n--;return r.join("")}var hl=D('<span class="add svelte-dcl78h"> </span>'),ml=D('<span class="del svelte-dcl78h"> </span>'),vl=D('<span class="diff mono svelte-dcl78h"><!> <!></span>'),bl=D('<span class="shimmer svelte-dcl78h" aria-hidden="true"></span>'),_l=D('<span class="dur mono svelte-dcl78h"> </span>'),El=D('<button class="toggle mono svelte-dcl78h"> </button>'),yl=D('<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 kl(s,t){Je(t,!1);const n=S(),r=S(),a=S(),o=S(),i=S();let l=Le(t,"text",8),c=Le(t,"tool",8,""),u=Le(t,"status",8,"done"),p=Le(t,"dur",8,void 0),g=Le(t,"adds",8,void 0),b=Le(t,"dels",8,void 0);const E=20;let R=S(!1),P=S(""),_,k=S(0),B=S("");function q(N){N!==_&&(_=N,f(P,gl(N)))}pn(()=>{e(k)&&cancelAnimationFrame(e(k))});function K(N){return N==null?"":N<1?`${(N*1e3).toFixed(0)}ms`:`${N.toFixed(1)}s`}J(()=>pe(l()),()=>{f(n,l().split(`
|
|
62
62
|
`))}),J(()=>e(n),()=>{f(r,e(n).length>E)}),J(()=>(pe(u()),e(R)),()=>{f(a,u()==="running"||e(R))}),J(()=>(e(r),e(a),e(n),pe(l())),()=>{f(o,e(r)&&!e(a)?e(n).slice(0,E).join(`
|
|
63
63
|
`):l())}),J(()=>(e(o),pe(u()),e(B),e(k)),()=>{const N=e(o);u()==="running"&&typeof requestAnimationFrame<"u"?(f(B,N),e(k)||f(k,requestAnimationFrame(()=>{f(k,0),q(e(B))}))):(e(k)&&(cancelAnimationFrame(e(k)),f(k,0)),q(N))}),J(()=>pe(u()),()=>{f(i,u()==="done"?"✓":u()==="running"?"●":"✗")}),bt(),Qe();var v=yl(),A=m(v),G=m(A),ee=m(G,!0);h(G);var Z=T(G,2),C=m(Z,!0);h(Z);var te=T(Z,2);{var U=N=>{var Y=vl(),ge=m(Y);{var ve=X=>{var me=hl(),oe=m(me);h(me),ne(()=>Q(oe,`+${g()??""}`)),O(X,me)};se(ge,X=>{g()&&X(ve)})}var x=T(ge,2);{var j=X=>{var me=ml(),oe=m(me);h(me),ne(()=>Q(oe,`−${b()??""}`)),O(X,me)};se(x,X=>{b()&&X(j)})}h(Y),O(N,Y)};se(te,N=>{(g()||b())&&N(U)})}var ie=T(te,2);{var fe=N=>{var Y=bl();O(N,Y)},ce=N=>{var Y=_l(),ge=m(Y,!0);h(Y),ne(ve=>Q(ge,ve),[()=>(pe(p()),y(()=>K(p())))]),O(N,Y)};se(ie,N=>{u()==="running"?N(fe):p()!=null&&N(ce,1)})}h(A);var w=T(A,2);sr(w,()=>e(P),!0),h(w);var I=T(w,2);{var M=N=>{var Y=El(),ge=m(Y,!0);h(Y),ne(()=>Q(ge,(e(a),e(n),y(()=>e(a)?"▴ show less":`▾ show more · ${e(n).length-E} more lines`)))),re("click",Y,()=>f(R,!e(R))),O(N,Y)};se(I,N=>{e(r)&&u()!=="running"&&N(M)})}h(v),ne(()=>{st(v,1,`term ${u()??""}`,"svelte-dcl78h"),Q(ee,e(i)),Q(C,c())}),O(s,v),et()}var wl=D('<span class="ps1 mono svelte-on906i" aria-hidden="true">$</span>'),xl=D('<span class="add svelte-on906i"> </span>'),Tl=D('<span class="del svelte-on906i"> </span>'),Al=D('<span class="diff mono svelte-on906i"><!> <!></span>'),Sl=D('<span class="shimmer svelte-on906i" aria-hidden="true"></span>'),Rl=D('<span class="dur mono svelte-on906i"> </span>'),Nl=D('<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>'),Ol=D('<button class="more mono svelte-on906i"> </button>'),Il=D('<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 Zr(s,t){Je(t,!1);const n=S(),r=S(),a=S(),o=S();let i=Le(t,"tools",8);const l=12,c=100;let u=S(!1);const p=new Set;function g(_,k){if(p.has(k))return!0;const B=_.args??"",q=B.includes(`
|
|
64
|
-
`)||B.length>c;return q&&p.add(k),q}function b(_){return _==null?"":_<1?`${(_*1e3).toFixed(0)}ms`:`${_.toFixed(1)}s`}J(()=>pe(i()),()=>{f(n,i())}),J(()=>(e(u),e(n)),()=>{f(r,e(u)?e(n):e(n).slice(0,l))}),J(()=>e(n),()=>{f(a,e(n).length)}),J(()=>e(n),()=>{f(o,e(n).filter(_=>_.status==="done").length)}),bt(),Qe();var E=Gt(),R=nt(E);{var P=_=>{var k=Il(),B=m(k),q=T(m(B),4),K=m(q);h(q),h(B);var v=T(B,2),A=m(v);gt(A,1,()=>e(r),Qt,(Z,C,te)=>{var U=Gt(),ie=nt(U);{var fe=I=>{kl(I,{get text(){return e(C),y(()=>e(C).args)},get tool(){return e(C),y(()=>e(C).tool)},get status(){return e(C),y(()=>e(C).status)},get dur(){return e(C),y(()=>e(C).dur)},get adds(){return e(C),y(()=>e(C).adds)},get dels(){return e(C),y(()=>e(C).dels)}})},ce=bn(()=>(e(C),y(()=>g(e(C),te)))),w=I=>{var M=Nl(),N=m(M),Y=T(m(N),2),ge=m(Y,!0);h(Y);var ve=T(Y,2),x=m(ve,!0);h(ve);var j=T(ve,2);{var X=Se=>{var Be=wl();O(Se,Be)};se(j,Se=>{e(C),y(()=>e(C).tool==="bash")&&Se(X)})}var me=T(j,2),oe=m(me,!0);h(me);var ke=T(me,2);{var Re=Se=>{var Be=Al(),Ne=m(Be);{var je=Ye=>{var we=xl(),ye=m(we);h(we),ne(()=>Q(ye,`+${e(C),y(()=>e(C).adds)??""}`)),O(Ye,we)};se(Ne,Ye=>{e(C),y(()=>e(C).adds)&&Ye(je)})}var Ue=T(Ne,2);{var ae=Ye=>{var we=Tl(),ye=m(we);h(we),ne(()=>Q(ye,`−${e(C),y(()=>e(C).dels)??""}`)),O(Ye,we)};se(Ue,Ye=>{e(C),y(()=>e(C).dels)&&Ye(ae)})}h(Be),O(Se,Be)};se(ke,Se=>{e(C),y(()=>e(C).adds||e(C).dels)&&Se(Re)})}var be=T(ke,2);{var Oe=Se=>{var Be=Sl();O(Se,Be)},Pe=Se=>{var Be=Rl(),Ne=m(Be,!0);h(Be),ne(je=>Q(Ne,je),[()=>(e(C),y(()=>b(e(C).dur)))]),O(Se,Be)};se(be,Se=>{e(C),y(()=>e(C).status==="running")?Se(Oe):(e(C),y(()=>e(C).dur!=null)&&Se(Pe,1))})}h(N),h(M),ne(()=>{st(M,1,`row ${e(C),y(()=>e(C).status)??""}`,"svelte-on906i"),Q(ge,(e(C),y(()=>e(C).status))),Q(x,(e(C),y(()=>e(C).tool))),Q(oe,(e(C),y(()=>e(C).args)))}),O(I,M)};se(ie,I=>{e(ce)?I(fe):I(w,-1)})}O(Z,U)});var G=T(A,2);{var ee=Z=>{var C=Ol(),te=m(C);h(C),ne(()=>Q(te,`… ${e(n),y(()=>e(n).length-l)??""} more`)),re("click",C,()=>f(u,!0)),O(Z,C)};se(G,Z=>{e(n),e(u),y(()=>e(n).length>l&&!e(u))&&Z(ee)})}h(v),h(k),ne(()=>Q(K,`${e(o)??""}/${e(a)??""} steps`)),O(_,k)};se(R,_=>{pe(i()),y(()=>i().length>0)&&_(P)})}O(s,E),et()}var Ml=D('<div class="text svelte-l1yd1q"><!></div>'),Cl=D('<div class="card streaming svelte-l1yd1q"><!> <!></div>');function Ll(s,t){Je(t,!1);const n=S(),r=S();let a=Le(t,"card",8);J(()=>pe(a()),()=>{f(n,a().blocks.filter(u=>u.type==="tool").map(u=>({tool:u.tool,args:u.args,status:u.status})))}),J(()=>pe(a()),()=>{f(r,a().blocks.filter(u=>u.type==="text").map(u=>u.text).join(""))}),bt(),Qe();var o=Cl(),i=m(o);Zr(i,{get tools(){return e(n)}});var l=T(i,2);{var c=u=>{var p=Ml(),g=m(p);Kr(g,{get src(){return e(r)},throttle:!0,streaming:!0}),h(p),O(u,p)};se(l,u=>{e(r)&&u(c)})}h(o),O(s,o),et()}var Dl=D('<div class="text svelte-wmi6xy"><!></div>'),$l=D('<span class="chip agent mono svelte-wmi6xy"> </span>'),Pl=D('<span class="chip mono svelte-wmi6xy"> </span>'),Bl=D('<span class="chip mono svelte-wmi6xy"> </span>'),zl=D('<span class="chip mono svelte-wmi6xy"> </span>'),Ul=D('<span class="chip cost mono svelte-wmi6xy"> </span>'),Fl=D('<button class="icon svelte-wmi6xy" title="重新生成" aria-label="重新生成"><!></button>'),Hl=D('<div class="meta svelte-wmi6xy"><div class="chips svelte-wmi6xy"><!> <!> <!> <!> <!></div> <div class="actions svelte-wmi6xy"><!> <button title="复制" aria-label="复制"><!></button></div></div>'),ql=D('<div class="card assistant svelte-wmi6xy"><!> <!> <!></div>');function Gl(s,t){Je(t,!1);const n=S(),r=S(),a=S(),o=S();let i=Le(t,"card",8),l=Le(t,"onRegenerate",8,void 0);function c(B){return B>=1e3?`${(B/1e3).toFixed(1)}k`:String(B)}let u=S(!1),p;async function g(){if(e(r)){try{await navigator.clipboard.writeText(e(r))}catch{return}f(u,!0),p&&clearTimeout(p),p=setTimeout(()=>f(u,!1),1300)}}pn(()=>clearTimeout(p)),J(()=>pe(i()),()=>{f(n,i().blocks.filter(B=>B.type==="tool").map(B=>({tool:B.tool,args:B.args,status:B.status})))}),J(()=>pe(i()),()=>{f(r,i().blocks.filter(B=>B.type==="text").map(B=>B.text).join(""))}),J(()=>pe(i()),()=>{f(a,i().meta)}),J(()=>e(a),()=>{f(o,e(a).agent||e(a).model||e(a).tokens||e(a).duration!=null||e(a).cost!==void 0)}),bt(),Qe();var b=ql(),E=m(b);Zr(E,{get tools(){return e(n)}});var R=T(E,2);{var P=B=>{var q=Dl(),K=m(q);Kr(K,{get src(){return e(r)}}),h(q),O(B,q)};se(R,B=>{e(r)&&B(P)})}var _=T(R,2);{var k=B=>{var q=Hl(),K=m(q),v=m(K);{var A=x=>{var j=$l(),X=m(j,!0);h(j),ne(()=>Q(X,(e(a),y(()=>e(a).agent)))),O(x,j)};se(v,x=>{e(a),y(()=>e(a).agent)&&x(A)})}var G=T(v,2);{var ee=x=>{var j=Pl(),X=m(j,!0);h(j),ne(()=>Q(X,(e(a),y(()=>e(a).model)))),O(x,j)};se(G,x=>{e(a),y(()=>e(a).model)&&x(ee)})}var Z=T(G,2);{var C=x=>{var j=Bl(),X=m(j);h(j),ne((me,oe)=>Q(X,`↑${me??""} ↓${oe??""}`),[()=>(e(a),y(()=>c(e(a).tokens.input))),()=>(e(a),y(()=>c(e(a).tokens.output)))]),O(x,j)};se(Z,x=>{e(a),y(()=>e(a).tokens)&&x(C)})}var te=T(Z,2);{var U=x=>{var j=zl(),X=m(j);h(j),ne(()=>Q(X,`${e(a),y(()=>e(a).duration)??""}s`)),O(x,j)};se(te,x=>{e(a),y(()=>e(a).duration!=null)&&x(U)})}var ie=T(te,2);{var fe=x=>{var j=Ul(),X=m(j);h(j),ne(me=>Q(X,`$${me??""}`),[()=>(e(a),y(()=>e(a).cost.toFixed(3)))]),O(x,j)};se(ie,x=>{e(a),y(()=>e(a).cost!==void 0)&&x(fe)})}h(K);var ce=T(K,2),w=m(ce);{var I=x=>{var j=Fl(),X=m(j);lt(X,{name:"refresh",size:13}),h(j),re("click",j,function(...me){var oe;(oe=l())==null||oe.apply(this,me)}),O(x,j)};se(w,x=>{l()&&x(I)})}var M=T(w,2);let N;var Y=m(M);{var ge=x=>{lt(x,{name:"check",size:13})},ve=x=>{lt(x,{name:"copy",size:13})};se(Y,x=>{e(u)?x(ge):x(ve,-1)})}h(M),h(ce),h(q),ne(()=>N=st(M,1,"icon svelte-wmi6xy",null,N,{copied:e(u)})),re("click",M,g),O(B,q)};se(_,B=>{e(o)&&B(k)})}h(b),O(s,b),et()}var jl=D('<button class="retry svelte-1m8kde8"><!> Retry</button>'),Wl=D('<div class="card error svelte-1m8kde8"><div class="head svelte-1m8kde8"><!> </div> <code class="svelte-1m8kde8"> </code> <!></div>');function Kl(s,t){Je(t,!1);const n=S();let r=Le(t,"card",8),a=Le(t,"onRetry",8,void 0);const o=aa();function i(_){const k=(_||"").toLowerCase();return k.includes("abort")?{label:"Stopped",retryable:!1}:k.includes("timeout")||k.includes("timed out")?{label:"Timed out",retryable:!0}:k.includes("fetch")||k.includes("network")||k.includes("econn")||/\b(429|500|502|503|504)\b/.test(k)?{label:"Network issue",retryable:!0}:{label:"Error",retryable:!0}}function l(){a()?a()():o("retry")}J(()=>pe(r()),()=>{f(n,i(r().message))}),bt(),Qe();var c=Wl(),u=m(c),p=m(u);lt(p,{name:"alert",size:13});var g=T(p);h(u);var b=T(u,2),E=m(b,!0);h(b);var R=T(b,2);{var P=_=>{var k=jl(),B=m(k);lt(B,{name:"refresh",size:11}),Vt(),h(k),ne(()=>k.disabled=!a()),re("click",k,l),O(_,k)};se(R,_=>{e(n),y(()=>e(n).retryable)&&_(P)})}h(c),ne(()=>{Q(g,` ${e(n),y(()=>e(n).label)??""}`),Q(E,(pe(r()),y(()=>r().message)))}),O(s,c),et()}var Zl=D('<div class="note mono svelte-hbf6ni"> </div>');function Yl(s,t){Je(t,!1);const n=S(),r=S();let a=Le(t,"card",8);J(()=>pe(a()),()=>{f(n,a().sections.map(l=>l.body).join(" ")||"")}),J(()=>(pe(a()),e(n)),()=>{f(r,[a().title,e(n)].filter(Boolean).join(" — "))}),bt(),Qe();var o=Zl(),i=m(o,!0);h(o),ne(()=>Q(i,e(r))),O(s,o),et()}var Xl=D('<div class="note mono svelte-scaqco"> </div>');function Vl(s,t){Je(t,!1);const n=S(),r=S(),a=S(),o=S();let i=Le(t,"card",8);J(()=>pe(i()),()=>{f(n,i().fields.title??"Status")}),J(()=>pe(i()),()=>{f(r,Object.entries(i().fields).filter(([u])=>u!=="title"))}),J(()=>e(r),()=>{f(a,e(r).map(([u,p])=>`${u}: ${p}`).join(" · "))}),J(()=>(e(n),e(a)),()=>{f(o,[e(n),e(a)].filter(Boolean).join(" · "))}),bt(),Qe();var l=Xl(),c=m(l,!0);h(l),ne(()=>Q(c,e(o))),O(s,l),et()}var Ql=D('<div><span class="mark svelte-19vkggv" aria-hidden="true"> </span> <span class="rlabel svelte-19vkggv"> </span> <span class="rttl svelte-19vkggv"> </span></div>'),Jl=D('<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 ec(s,t){Je(t,!1);const n=S(),r=S(),a=S();let o=Le(t,"card",8),i=S("");async function l(E){try{await Ge.approve(o().sessionId,o().requestId,E),f(i,E)}catch{f(i,"error")}}const c={once:"已批准 — 已应用",always:"已设为自动允许",reject:"已拒绝 — 未应用",error:"失败"};J(()=>e(i),()=>{f(n,!!e(i))}),J(()=>e(i),()=>{f(r,e(i)==="reject"||e(i)==="error")}),J(()=>pe(o()),()=>{f(a,typeof o().args=="string"?o().args:JSON.stringify(o().args,null,2))}),bt(),Qe();var u=Gt(),p=nt(u);{var g=E=>{var R=Ql();let P;var _=m(R),k=m(_,!0);h(_);var B=T(_,2),q=m(B,!0);h(B);var K=T(B,2),v=m(K,!0);h(K),h(R),ne(()=>{P=st(R,1,"appr resolved svelte-19vkggv",null,P,{rej:e(r)}),Q(k,e(r)?"✕":"✓"),Q(q,(e(i),y(()=>c[e(i)]??e(i)))),Q(v,(pe(o()),y(()=>o().title)))}),O(E,R)},b=E=>{var R=Jl(),P=m(R),_=T(m(P),6),k=m(_,!0);h(_),h(P);var B=T(P,2),q=m(B,!0);h(B);var K=T(B,2),v=m(K),A=T(v,2),G=T(A,4);h(K),h(R),ne(()=>{Q(k,(pe(o()),y(()=>o().title))),Q(q,e(a))}),re("click",v,()=>l("once")),re("click",A,()=>l("always")),re("click",G,()=>l("reject")),O(E,R)};se(p,E=>{e(n)?E(g):E(b,-1)})}O(s,u),et()}var tc=D('<div><span class="mark svelte-hiqfhq" aria-hidden="true"> </span> <span class="rlabel svelte-hiqfhq"> </span> <span class="rttl mono svelte-hiqfhq"> </span></div>'),nc=D('<span class="mono warn-note svelte-hiqfhq">当前后端不支持 Web 回答</span>'),sc=D('<div class="qhead mono svelte-hiqfhq"> </div>'),rc=D("<button> </button>"),ac=D('<input class="custom mono svelte-hiqfhq" placeholder="或输入自定义回答…"/>'),ic=D('<div class="hint svelte-hiqfhq">可多选</div>'),oc=D('<div class="q svelte-hiqfhq"><!> <div class="qtext svelte-hiqfhq"> </div> <div class="opts svelte-hiqfhq"></div> <!> <!></div>'),lc=D('<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 cc(s,t){Je(t,!1);const n=()=>ft(ts,"$can",r),[r,a]=wn(),o=S(),i=S(),l=S(),c=S();let u=Le(t,"card",8),p=S({}),g=S({}),b=S("");function E(v,A,G){const ee=e(p)[v]??[];G?f(p,{...e(p),[v]:ee.includes(A)?ee.filter(Z=>Z!==A):[...ee,A]}):f(p,{...e(p),[v]:ee.includes(A)?[]:[A]})}async function R(){const v=(u().questions??[]).map((A,G)=>{const ee=(e(g)[G]??"").trim();return ee?[ee]:(e(p)[G]??[]).map(Z=>{var C;return(C=A.options[Z])==null?void 0:C.label}).filter(Z=>!!Z)});try{const A=await Ge.answerQuestion(u().sessionId,u().requestId,v);f(b,A!=null&&A.stale?"stale":A!=null&&A.ok?"replied":"error")}catch{f(b,"error")}}async function P(){try{const v=await Ge.rejectQuestion(u().sessionId,u().requestId);f(b,v!=null&&v.stale?"stale":v!=null&&v.ok?"rejected":"error")}catch{f(b,"error")}}const _={replied:"已回答",rejected:"已取消",stale:"已在其他界面回答",error:"提交失败"};J(()=>(pe(u()),e(b)),()=>{f(o,u().resolved??(e(b)==="replied"||e(b)==="rejected"?e(b):void 0))}),J(()=>e(b),()=>{f(i,e(b)==="stale")}),J(()=>n(),()=>{f(l,n()("questions"))}),J(()=>(pe(u()),e(g),e(p)),()=>{f(c,(u().questions??[]).every((v,A)=>(e(g)[A]??"").trim()?!0:(e(p)[A]??[]).length>0))}),bt(),Qe();var k=Gt(),B=nt(k);{var q=v=>{var A=tc();let G;var ee=m(A),Z=m(ee,!0);h(ee);var C=T(ee,2),te=m(C,!0);h(C);var U=T(C,2),ie=m(U,!0);h(U),h(A),ne(fe=>{G=st(A,1,"qcard resolved svelte-hiqfhq",null,G,{fresh:e(b)!=="",rej:e(o)==="rejected"||e(i)||e(b)==="error"}),Q(Z,e(o)==="replied"?"✓":"✕"),Q(te,(e(o),e(b),y(()=>_[e(o)??e(b)]??""))),Q(ie,fe)},[()=>(pe(u()),y(()=>u().requestId.slice(0,12)))]),O(v,A)},K=v=>{var A=lc(),G=m(A),ee=T(m(G),6);{var Z=fe=>{var ce=nc();O(fe,ce)};se(ee,fe=>{e(l)||fe(Z)})}h(G);var C=T(G,2);gt(C,1,()=>(pe(u()),y(()=>u().questions)),Qt,(fe,ce,w)=>{var I=oc(),M=m(I);{var N=oe=>{var ke=sc(),Re=m(ke,!0);h(ke),ne(()=>Q(Re,(e(ce),y(()=>e(ce).header)))),O(oe,ke)};se(M,oe=>{e(ce),y(()=>e(ce).header)&&oe(N)})}var Y=T(M,2),ge=m(Y,!0);h(Y);var ve=T(Y,2);gt(ve,5,()=>(e(ce),y(()=>e(ce).options)),Qt,(oe,ke,Re)=>{var be=rc();let Oe;var Pe=m(be,!0);h(be),ne(Se=>{Oe=st(be,1,"opt svelte-hiqfhq",null,Oe,Se),Ke(be,"title",(e(ke),y(()=>e(ke).description??e(ke).label))),Q(Pe,(e(ke),y(()=>e(ke).label)))},[()=>({on:(e(p)[w]??[]).includes(Re)})]),re("click",be,()=>E(w,Re,e(ce).multiple)),O(oe,be)}),h(ve);var x=T(ve,2);{var j=oe=>{var ke=ac();ua(ke),ne(()=>da(ke,(e(g),y(()=>e(g)[w]??"")))),re("input",ke,Re=>f(g,{...e(g),[w]:Re.currentTarget.value})),O(oe,ke)};se(x,oe=>{e(ce),y(()=>e(ce).custom)&&oe(j)})}var X=T(x,2);{var me=oe=>{var ke=ic();O(oe,ke)};se(X,oe=>{e(ce),y(()=>e(ce).multiple)&&oe(me)})}h(I),ne(()=>Q(ge,(e(ce),y(()=>e(ce).question)))),O(fe,I)});var te=T(C,2),U=m(te),ie=T(U,4);h(te),h(A),ne(()=>{U.disabled=!e(l)||!e(c)||e(b)==="error",ie.disabled=!e(l)}),re("click",U,R),re("click",ie,P),O(v,A)};se(B,v=>{e(o)||e(i)?v(q):v(K,-1)})}O(s,k),et(),a()}var uc=D('<div class="card placeholder svelte-1udyrqm"> </div>');function dc(s,t){Je(t,!1);let n=Le(t,"card",8),r=Le(t,"onRetry",8,void 0);Qe();var a=Gt(),o=nt(a);{var i=k=>{Ta(k,{get card(){return n()}})},l=k=>{Ra(k,{get card(){return n()}})},c=k=>{Ia(k,{get card(){return n()}})},u=k=>{Ll(k,{get card(){return n()}})},p=k=>{Gl(k,{get card(){return n()}})},g=k=>{Kl(k,{get card(){return n()},get onRetry(){return r()}})},b=k=>{Yl(k,{get card(){return n()}})},E=k=>{Vl(k,{get card(){return n()}})},R=k=>{ec(k,{get card(){return n()}})},P=k=>{cc(k,{get card(){return n()}})},_=k=>{var B=uc(),q=m(B);h(B),ne(()=>Q(q,`[${pe(n()),y(()=>n().kind)??""}]`)),O(k,B)};se(o,k=>{pe(n()),y(()=>n().kind==="user")?k(i):(pe(n()),y(()=>n().kind==="thinking")?k(l,1):(pe(n()),y(()=>n().kind==="think-stream")?k(c,2):(pe(n()),y(()=>n().kind==="streaming")?k(u,3):(pe(n()),y(()=>n().kind==="assistant")?k(p,4):(pe(n()),y(()=>n().kind==="error")?k(g,5):(pe(n()),y(()=>n().kind==="info")?k(b,6):(pe(n()),y(()=>n().kind==="status")?k(E,7):(pe(n()),y(()=>n().kind==="approval")?k(R,8):(pe(n()),y(()=>n().kind==="question")?k(P,9):k(_,-1))))))))))})}O(s,a),et()}var pc=D('<div class="none label svelte-1f5vmb3">未配置 agent</div>'),fc=D('<button role="option"><span> </span> <span class="label mono"> </span></button>'),gc=D('<div class="pop svelte-1f5vmb3" role="listbox" aria-label="Agent 覆盖"><!> <!> <button class="opt clear svelte-1f5vmb3" role="option"><!> 清除覆盖</button></div>'),hc=D('<div class="wrap svelte-1f5vmb3"><button class="chip mono svelte-1f5vmb3" aria-haspopup="listbox"><!> <!></button> <!></div>');function mc(s,t){Je(t,!1);const n=S();let r=S(!1),a=S(),o=S([]),i=S({agent:null,model:null});async function l(){try{await(async q=>{var K=tr(q,2);f(o,K[0]),f(i,K[1])})(await Promise.all([Ge.agents(),Ge.getOverrides()]))}catch{}}ns(l);async function c(q){await Ge.setOverrides({agent:q.name}),await l(),f(r,!1)}async function u(){await Ge.setOverrides({agent:null}),await l(),f(r,!1)}function p(q){q.key==="Escape"&&e(r)&&f(r,!1)}function g(q){e(r)&&e(a)&&!e(a).contains(q.target)&&f(r,!1)}J(()=>e(i),()=>{f(n,e(i).agent??"default")}),bt(),Qe();var b=hc();re("keydown",Zt,p),re("click",Zt,g);var E=m(b),R=m(E);lt(R,{name:"cpu",size:11});var P=T(R),_=T(P);lt(_,{name:"caret-down",size:9}),h(E);var k=T(E,2);{var B=q=>{var K=gc(),v=m(K);{var A=C=>{var te=pc();O(C,te)};se(v,C=>{e(o),y(()=>e(o).length===0)&&C(A)})}var G=T(v,2);gt(G,1,()=>e(o),C=>C.name,(C,te)=>{var U=fc();let ie;var fe=m(U),ce=m(fe,!0);h(fe);var w=T(fe,2),I=m(w,!0);h(w),h(U),ne(M=>{ie=st(U,1,"opt svelte-1f5vmb3",null,ie,{sel:e(te).name===e(i).agent}),Ke(U,"aria-selected",(e(te),e(i),y(()=>e(te).name===e(i).agent))),Q(ce,(e(te),y(()=>e(te).name))),Q(I,M)},[()=>(e(te),y(()=>e(te).model.split("/").pop()))]),re("click",U,()=>c(e(te))),O(C,U)});var ee=T(G,2),Z=m(ee);lt(Z,{name:"close",size:11}),Vt(),h(ee),h(K),ne(()=>Ke(ee,"aria-selected",(e(i),y(()=>e(i).agent==null)))),re("click",ee,u),O(q,K)};se(k,q=>{e(r)&&q(B)})}h(b),$t(b,q=>f(a,q),()=>e(a)),ne(()=>{Ke(E,"aria-expanded",e(r)),Q(P,` ${e(n)??""} `)}),re("click",E,()=>{f(r,!e(r)),e(r)&&l()}),O(s,b),et()}var vc=D('<div class="none label svelte-1005b73">暂无模型</div>'),bc=D('<button role="option"><span> </span></button>'),_c=D('<div class="prov label mono svelte-1005b73"> </div> <!>',1),Ec=D('<div class="pop svelte-1005b73" role="listbox" aria-label="模型覆盖"><!> <!> <button class="opt clear svelte-1005b73" role="option"><!> 清除覆盖</button></div>'),yc=D('<div class="wrap svelte-1005b73"><button class="chip mono svelte-1005b73" aria-haspopup="listbox"><!> <span class="txt svelte-1005b73"> </span> <!></button> <!></div>');function kc(s,t){Je(t,!1);const n=S();let r=S(!1),a=S(),o=S([]),i=S({agent:null,model:null});async function l(){try{await(async K=>{var v=tr(K,2);f(o,v[0]),f(i,v[1])})(await Promise.all([Ge.models(),Ge.getOverrides()]))}catch{}}ns(l);async function c(K,v){await Ge.setOverrides({model:{providerID:K,modelID:v}}),await l(),f(r,!1)}async function u(){await Ge.setOverrides({model:null}),await l(),f(r,!1)}function p(K){K.key==="Escape"&&e(r)&&f(r,!1)}function g(K){e(r)&&e(a)&&!e(a).contains(K.target)&&f(r,!1)}J(()=>e(i),()=>{var K;f(n,((K=e(i).model)==null?void 0:K.modelID)??"model")}),bt(),Qe();var b=yc();re("keydown",Zt,p),re("click",Zt,g);var E=m(b),R=m(E);lt(R,{name:"bolt",size:11});var P=T(R,2),_=m(P,!0);h(P);var k=T(P,2);lt(k,{name:"caret-down",size:9}),h(E);var B=T(E,2);{var q=K=>{var v=Ec(),A=m(v);{var G=te=>{var U=vc();O(te,U)};se(A,te=>{e(o),y(()=>e(o).length===0)&&te(G)})}var ee=T(A,2);gt(ee,1,()=>e(o),te=>te.id,(te,U)=>{var ie=_c(),fe=nt(ie),ce=m(fe,!0);h(fe);var w=T(fe,2);gt(w,1,()=>(e(U),y(()=>e(U).models)),I=>I.id,(I,M)=>{var N=bc();let Y;var ge=m(N),ve=m(ge,!0);h(ge),h(N),ne(()=>{var x,j;Y=st(N,1,"opt svelte-1005b73",null,Y,{sel:((x=e(i).model)==null?void 0:x.providerID)===e(U).id&&((j=e(i).model)==null?void 0:j.modelID)===e(M).id}),Ke(N,"aria-selected",(e(i),e(U),e(M),y(()=>{var X,me;return((X=e(i).model)==null?void 0:X.providerID)===e(U).id&&((me=e(i).model)==null?void 0:me.modelID)===e(M).id}))),Q(ve,(e(M),y(()=>e(M).name||e(M).id)))}),re("click",N,()=>c(e(U).id,e(M).id)),O(I,N)}),ne(()=>Q(ce,(e(U),y(()=>e(U).id)))),O(te,ie)});var Z=T(ee,2),C=m(Z);lt(C,{name:"close",size:11}),Vt(),h(Z),h(v),ne(()=>Ke(Z,"aria-selected",(e(i),y(()=>e(i).model==null)))),re("click",Z,u),O(K,v)};se(B,K=>{e(r)&&K(q)})}h(b),$t(b,K=>f(a,K),()=>e(a)),ne(()=>{Ke(E,"aria-expanded",e(r)),Q(_,e(n))}),re("click",E,()=>{f(r,!e(r)),e(r)&&l()}),O(s,b),et()}var wc=D('<button role="option"> </button>'),xc=D('<div class="pop svelte-dkbq22" role="listbox" aria-label="Mode"><div class="label">Mode</div> <!></div>'),Tc=D('<div class="wrap svelte-dkbq22"><button class="chip mono svelte-dkbq22" aria-haspopup="listbox"><!> <!></button> <!></div>'),Ac=D('<button role="option"> </button>'),Sc=D('<div class="pop svelte-dkbq22" role="listbox" aria-label="Model"><div class="label">Model</div> <!></div>'),Rc=D('<div class="wrap svelte-dkbq22"><button class="chip mono svelte-dkbq22" aria-haspopup="listbox"><!> <!></button> <!></div>'),Nc=D('<div class="controls svelte-dkbq22"><!> <!></div>');function Oc(s,t){Je(t,!1);const n=S(),r=S(),a=S(),o=S();let i=Le(t,"sessionId",8),l=S({}),c=S(null);async function u(){const v=i();try{const A=await Ge.controls(v);if(v!==i())return;f(l,A)}catch{v===i()&&f(l,{})}}async function p(v){e(l).mode&&Yt(l,e(l).mode={...e(l).mode,current:v}),f(c,null);try{await Ge.setMode(i(),v)}catch{}await u()}async function g(v){e(l).model&&Yt(l,e(l).model={...e(l).model,current:v}),f(c,null);try{await Ge.setModel(i(),v)}catch{}await u()}function b(v){f(c,e(c)===v?null:v)}let E=S();function R(v){v.key==="Escape"&&e(c)&&f(c,null)}function P(v){e(c)&&e(E)&&!e(E).contains(v.target)&&f(c,null)}J(()=>pe(i()),()=>{i()&&u()}),J(()=>e(l),()=>{var v;f(n,((v=e(l).mode)==null?void 0:v.options)??[])}),J(()=>e(l),()=>{var v;f(r,((v=e(l).model)==null?void 0:v.options)??[])}),J(()=>e(l),()=>{var v,A,G;f(a,((A=(v=e(l).mode)==null?void 0:v.options.find(ee=>{var Z;return ee.id===((Z=e(l).mode)==null?void 0:Z.current)}))==null?void 0:A.name)??((G=e(l).mode)==null?void 0:G.current)??"mode")}),J(()=>e(l),()=>{var v,A,G;f(o,((A=(v=e(l).model)==null?void 0:v.options.find(ee=>{var Z;return ee.id===((Z=e(l).model)==null?void 0:Z.current)}))==null?void 0:A.name)??((G=e(l).model)==null?void 0:G.current)??"model")}),bt(),Qe();var _=Nc();re("keydown",Zt,R),re("click",Zt,P);var k=m(_);{var B=v=>{var A=Tc(),G=m(A),ee=m(G);lt(ee,{name:"bolt",size:11});var Z=T(ee),C=T(Z);lt(C,{name:"caret-down",size:9}),h(G);var te=T(G,2);{var U=ie=>{var fe=xc(),ce=T(m(fe),2);gt(ce,1,()=>e(n),Qt,(w,I)=>{var M=wc();let N;var Y=m(M,!0);h(M),ne(()=>{var ge;N=st(M,1,"opt svelte-dkbq22",null,N,{sel:e(I).id===((ge=e(l).mode)==null?void 0:ge.current)}),Ke(M,"aria-selected",(e(I),e(l),y(()=>{var ve;return e(I).id===((ve=e(l).mode)==null?void 0:ve.current)}))),Q(Y,(e(I),y(()=>e(I).name)))}),re("click",M,()=>p(e(I).id)),O(w,M)}),h(fe),O(ie,fe)};se(te,ie=>{e(c)==="mode"&&ie(U)})}h(A),ne(()=>{Ke(G,"aria-expanded",e(c)==="mode"),Q(Z,` ${e(a)??""} `)}),re("click",G,()=>b("mode")),O(v,A)};se(k,v=>{e(n),y(()=>e(n).length>0)&&v(B)})}var q=T(k,2);{var K=v=>{var A=Rc(),G=m(A),ee=m(G);lt(ee,{name:"cpu",size:11});var Z=T(ee),C=T(Z);lt(C,{name:"caret-down",size:9}),h(G);var te=T(G,2);{var U=ie=>{var fe=Sc(),ce=T(m(fe),2);gt(ce,1,()=>e(r),Qt,(w,I)=>{var M=Ac();let N;var Y=m(M,!0);h(M),ne(()=>{var ge;N=st(M,1,"opt svelte-dkbq22",null,N,{sel:e(I).id===((ge=e(l).model)==null?void 0:ge.current)}),Ke(M,"aria-selected",(e(I),e(l),y(()=>{var ve;return e(I).id===((ve=e(l).model)==null?void 0:ve.current)}))),Q(Y,(e(I),y(()=>e(I).name)))}),re("click",M,()=>g(e(I).id)),O(w,M)}),h(fe),O(ie,fe)};se(te,ie=>{e(c)==="model"&&ie(U)})}h(A),ne(()=>{Ke(G,"aria-expanded",e(c)==="model"),Q(Z,` ${e(o)??""} `)}),re("click",G,()=>b("model")),O(v,A)};se(q,v=>{e(r),y(()=>e(r).length>0)&&v(K)})}h(_),$t(_,v=>f(E,v),()=>e(E)),O(s,_),et()}var Ic=D('<div class="error svelte-60fagq" role="alert"> </div>'),Mc=D('<button role="option"> </button>'),Cc=D('<div class="mention-dropdown svelte-60fagq" role="listbox"></div>'),Lc=D('<div class="thumb svelte-60fagq"><img alt="attachment" class="svelte-60fagq"/> <button class="remove svelte-60fagq" aria-label="移除图片">×</button></div>'),Dc=D('<div class="thumbnails svelte-60fagq"></div>'),$c=D('<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),Pc=D("<!> <!>",1),Bc=la('<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>'),zc=D('<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 Uc(s,t){Je(t,!1);const n=()=>ft(Vn,"$composerDraft",i),r=()=>ft(ts,"$can",i),a=()=>ft(fa,"$connection",i),o=()=>ft(Vr,"$backendName",i),[i,l]=wn(),c=S();let u=Le(t,"sessionId",8),p=S(""),g=S(),b=S(!1),E=S(""),R=S(!1),P=S(),_=S([]),k=S([]),B=S(0),q=0,K;function v(){return`c_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function A(z){const de=new FileReader;de.onload=()=>{var he;const W=de.result,xe=W.indexOf(","),$=W.slice(0,xe),H=W.slice(xe+1),ue=((he=$.match(/data:(.*?);/))==null?void 0:he[1])??z.type;f(_,[...e(_),{data:H,mimeType:ue,preview:W}])},de.readAsDataURL(z)}function G(z){const de=z.target;if(de.files){for(const W of de.files)A(W);de.value=""}}function ee(z){if(!r()("imageInput")||!z.clipboardData)return;const de=[...z.clipboardData.items].filter(W=>W.type.startsWith("image/"));if(de.length){z.preventDefault();for(const W of de){const xe=W.getAsFile();xe&&A(xe)}}}function Z(z){f(_,e(_).filter((de,W)=>W!==z))}function C(){if(!e(g))return null;const z=e(g).selectionStart,W=e(p).slice(0,z).match(/(^|[\s])@([^\s]*)$/);return W?{token:W[2],start:z-W[2].length-1}:null}function te(){const z=C();if(!z){f(k,[]),clearTimeout(K);return}q=z.start,f(B,0),clearTimeout(K);const de=z.token;K=setTimeout(async()=>{try{f(k,await Ge.files(u(),de))}catch{f(k,[])}},150)}function U(z){const de=e(g).selectionStart,W=e(p).slice(0,q),xe=e(p).slice(de),$=`@${z} `;f(p,W+$+xe),f(k,[]),Ln().then(()=>{const H=W.length+$.length;Yt(g,e(g).selectionStart=Yt(g,e(g).selectionEnd=H)),e(g).focus(),ce()})}async function ie(){var $;const z=e(p).trim();if(!z&&e(_).length===0||e(b))return;if(a()!=="connected"){f(E,"Disconnected — reconnecting…");return}const de=v(),W=e(_).map(({data:H,mimeType:ue})=>({data:H,mimeType:ue}));f(b,!0),f(E,""),Qr({kind:"user",sessionId:u(),text:z,ts:Date.now(),id:`user:${de}`}),f(p,"");const xe=[...e(_)];f(_,[]),ce();try{await Ge.sendMessage({sessionId:u(),text:z,clientId:de,...W.length?{images:W}:{}})}catch(H){f(E,`Send failed: ${H.message}`),Jr(`user:${de}`),f(p,z),f(_,xe)}finally{f(b,!1),($=e(g))==null||$.focus()}}function fe(z){if(e(k).length>0){if(z.key==="ArrowDown"){z.preventDefault(),f(B,Math.min(e(B)+1,e(k).length-1));return}if(z.key==="ArrowUp"){z.preventDefault(),f(B,Math.max(e(B)-1,0));return}if(z.key==="Enter"||z.key==="Tab"){z.preventDefault(),U(e(k)[e(B)]);return}if(z.key==="Escape"){z.preventDefault(),f(k,[]);return}}z.key!=="Enter"||z.shiftKey||z.isComposing||z.keyCode===229||(z.preventDefault(),ie())}function ce(){e(g)&&(Yt(g,e(g).style.height="auto"),Yt(g,e(g).style.height=Math.min(e(g).scrollHeight,140)+"px"))}pn(()=>clearTimeout(K)),J(()=>(n(),e(g)),()=>{const z=n();z&&(f(p,z.text),Vn.set(void 0),Ln().then(()=>{var de;return(de=e(g))==null?void 0:de.focus()}),ce())}),J(()=>e(p),()=>{rr.set(!e(p).trim())}),J(()=>e(p),()=>{f(c,e(p).trim().length>0)}),bt(),Qe();var w=zc(),I=m(w),M=m(I);{var N=z=>{var de=Ic(),W=m(de,!0);h(de),ne(()=>Q(W,e(E))),O(z,de)};se(M,z=>{e(E)&&z(N)})}var Y=T(M,2);let ge;var ve=m(Y);{var x=z=>{var de=Cc();gt(de,5,()=>e(k),Qt,(W,xe,$)=>{var H=Mc();let ue;var he=m(H,!0);h(H),ne(()=>{ue=st(H,1,"mention-row svelte-60fagq",null,ue,{active:$===e(B)}),Ke(H,"aria-selected",$===e(B)),Q(he,e(xe))}),re("mousedown",H,ha(()=>U(e(xe)))),O(W,H)}),h(de),O(z,de)};se(ve,z=>{e(k),y(()=>e(k).length>0)&&z(x)})}var j=T(ve,2);{var X=z=>{var de=Dc();gt(de,5,()=>e(_),Qt,(W,xe,$)=>{var H=Lc(),ue=m(H),he=T(ue,2);h(H),ne(()=>Ke(ue,"src",(e(xe),y(()=>e(xe).preview)))),re("click",he,()=>Z($)),O(W,H)}),h(de),O(z,de)};se(j,z=>{e(_),y(()=>e(_).length>0)&&z(X)})}var me=T(j,2);ia(me),Ke(me,"rows",1),$t(me,z=>f(g,z),()=>e(g));var oe=T(me,2),ke=m(oe);{var Re=z=>{var de=$c(),W=nt(de),xe=T(W,2);$t(xe,$=>f(P,$),()=>e(P)),re("click",W,()=>e(P).click()),re("change",xe,G),O(z,de)},be=bn(()=>(r(),y(()=>r()("imageInput"))));se(ke,z=>{e(be)&&z(Re)})}var Oe=T(ke,2);{var Pe=z=>{var de=Pc(),W=nt(de);mc(W,{});var xe=T(W,2);kc(xe,{}),O(z,de)},Se=bn(()=>(r(),y(()=>r()("catalog"))));se(Oe,z=>{e(Se)&&z(Pe)})}var Be=T(Oe,2);{var Ne=z=>{Oc(z,{get sessionId(){return u()}})},je=bn(()=>(r(),y(()=>r()("sessionControls"))));se(Be,z=>{e(je)&&z(Ne)})}var Ue=T(Be,2),ae=T(Ue,6),Ye=m(ae);{var we=z=>{var de=oa("…");O(z,de)},ye=z=>{var de=Bc();O(z,de)};se(Ye,z=>{e(b)?z(we):z(ye,-1)})}h(ae),h(oe),h(Y),h(I),h(w),ne(z=>{ge=st(Y,1,"box svelte-60fagq",null,ge,{focused:e(R),"has-text":e(c)}),Ke(me,"placeholder",a()==="connected"?`给 ${o()} 留言…`:"连接断开…"),ae.disabled=z},[()=>(e(b),e(p),e(_),a(),y(()=>e(b)||!e(p).trim()&&e(_).length===0||a()!=="connected"))]),pa(me,()=>e(p),z=>f(p,z)),re("keydown",me,fe),re("input",me,()=>{ce(),te()}),re("paste",me,ee),re("focus",me,()=>f(R,!0)),re("blur",me,()=>f(R,!1)),re("click",me,te),re("click",Ue,()=>ga.set(!0)),re("click",ae,ie),O(s,w),et(),l()}var Fc=D('<span class="check svelte-rgafhj">✓</span>'),Hc=D('<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>'),qc=D('<div class="empty svelte-rgafhj"> </div>'),Gc=D('<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>'),jc=D('<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 Wc(s,t){Je(t,!1);const n=()=>ft(ea,"$backends",i),r=()=>ft(Cn,"$sessionList",i),a=()=>ft(ma,"$activeWorkspace",i),o=()=>ft(_s,"$workspaces",i),[i,l]=wn(),c=S(),u=S(),p=S(),g=S(),b=S(),E=S();let R=Le(t,"activeId",8,void 0),P=S(!1),_=S(!1);function k(x){const j=x.split(/[\s\-_:./]+/).filter(Boolean);return j.length>=2?(j[0][0]+j[1][0]).toUpperCase():x.slice(0,2).toUpperCase()}function B(x){return k((x==null?void 0:x.name)||(x==null?void 0:x.id)||"OC")}function q(x){return x==="online"||x==="connected"?"online":x==="connecting"||x==="reconnecting"?"connecting":x==="offline"?"offline":"online"}function K(){f(P,!e(P))}function v(x){f(P,!1),Dn(`/${x}/`)}async function A(){var j;if(e(_))return;const x=a()||((j=o()[0])==null?void 0:j.directory)||"";f(_,!0);try{await na(e(c));const X=await Ge.createSession({directory:x});Cn.set(await Ge.sessions()),_s.set(await Ge.workspaces()),f(P,!1),Dn(`/${X.id}/`)}catch(X){alert(`Create session failed: ${X.message}`)}finally{f(_,!1)}}function G(x){x.key==="Escape"&&f(P,!1)}function ee(x){const j=Date.now()-x,X=Math.floor(j/6e4);if(X<1)return"now";if(X<60)return`${X}m`;const me=Math.floor(X/60);return me<24?`${me}h`:`${Math.floor(me/24)}d`}function Z(x){return(x.includes("_")?x.slice(x.indexOf("_")+1):x).slice(-8)}J(()=>n(),()=>{var x,j,X;f(c,((x=n())==null?void 0:x.activeId)??((X=(j=n())==null?void 0:j.backends[0])==null?void 0:X.id)??"opencode")}),J(()=>(n(),e(c)),()=>{var x;f(u,(x=n())==null?void 0:x.backends.find(j=>j.id===e(c)))}),J(()=>e(c),()=>{f(p,ta(e(c)))}),J(()=>(r(),e(c)),()=>{f(g,r().filter(x=>x.backendId===e(c)||!x.backendId&&e(c)==="opencode").sort((x,j)=>j.lastActiveAt-x.lastActiveAt))}),J(()=>(r(),pe(R())),()=>{f(b,r().find(x=>x.id===R()))}),J(()=>e(b),()=>{var x;f(E,((x=e(b))==null?void 0:x.title)||"Untitled session")}),bt(),Qe();var C=jc();re("keydown",Zt,G);var te=m(C),U=m(te),ie=m(U,!0);h(U);var fe=T(U,2),ce=m(fe),w=m(ce,!0);h(ce),h(fe);var I=T(fe,2),M=m(I,!0);h(I);var N=T(I,2),Y=m(N);lt(Y,{name:"caret-down",size:11}),h(N),h(te);var ge=T(te,2);{var ve=x=>{var j=Gc(),X=m(j);gt(X,5,()=>e(g),Re=>Re.id,(Re,be)=>{var Oe=Hc();let Pe;var Se=m(Oe),Be=T(Se,2),Ne=m(Be),je=m(Ne,!0);h(Ne);var Ue=T(Ne,2),ae=m(Ue);h(Ue),h(Be);var Ye=T(Be,2);{var we=ye=>{var z=Fc();O(ye,z)};se(Ye,ye=>{e(be),pe(R()),y(()=>e(be).id===R())&&ye(we)})}h(Oe),ne((ye,z)=>{Pe=st(Oe,1,"row svelte-rgafhj",null,Pe,{active:e(be).id===R()}),st(Se,1,`dot ${e(be),pe(R()),y(()=>e(be).id===R()?"active":"")??""}`,"svelte-rgafhj"),Q(je,(e(be),y(()=>e(be).title||"Untitled session"))),Q(ae,`${ye??""} · ${z??""}`)},[()=>(e(be),y(()=>Z(e(be).id))),()=>(e(be),y(()=>ee(e(be).lastActiveAt)))]),re("click",Oe,()=>v(e(be).id)),O(Re,Oe)},Re=>{var be=qc(),Oe=m(be);h(be),ne(()=>Q(Oe,`No sessions on ${e(u),y(()=>{var Pe,Se;return((Pe=e(u))==null?void 0:Pe.name)??((Se=e(u))==null?void 0:Se.id)??"this agent"})??""}.`)),O(Re,be)}),h(X);var me=T(X,2),oe=m(me),ke=m(oe);h(oe),h(me),h(j),ne(()=>{oe.disabled=e(_),Q(ke,`+ New session on ${e(u),y(()=>{var Re,be;return((Re=e(u))==null?void 0:Re.name)??((be=e(u))==null?void 0:be.id)??"agent"})??""}`)}),re("click",oe,A),O(x,j)};se(ge,x=>{e(P)&&x(ve)})}h(C),ne((x,j,X)=>{Ke(te,"aria-expanded",e(P)),nr(U,`background:${pe(ms),e(p),y(()=>ms[e(p)])??""}; color:${pe(vs),e(p),y(()=>vs[e(p)])??""}; border-color:${pe(bs),e(p),y(()=>bs[e(p)])??""}`),Q(ie,x),st(fe,1,`status-dot ${j??""}`,"svelte-rgafhj"),Q(w,X),Q(M,e(E))},[()=>(e(u),y(()=>B(e(u)))),()=>(e(u),y(()=>{var x;return q((x=e(u))==null?void 0:x.status)})),()=>(e(u),y(()=>{var x;return q((x=e(u))==null?void 0:x.status)}))]),re("click",te,K),O(s,C),et(),l()}var Kc=D('<div class="scrim svelte-w3h0m4" aria-hidden="true"></div>'),Zc=D('<div class="menu svelte-w3h0m4" role="menu"><button role="menuitem" class="svelte-w3h0m4">打开任务面板</button> <button role="menuitem" class="svelte-w3h0m4">本会话隐藏</button></div>'),Yc=D('<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>'),Xc=D('<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>'),Vc=D('<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),Qc=D('<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>'),Jc=D('<div class="row pending svelte-w3h0m4"><span class="box svelte-w3h0m4"></span><span class="tx svelte-w3h0m4"> </span></div>'),eu=D('<div class="row pending svelte-w3h0m4"><span class="box svelte-w3h0m4"></span><span class="tx svelte-w3h0m4"> </span></div>'),tu=D('<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),nu=D('<span class="sub-dot svelte-w3h0m4" aria-hidden="true"></span>'),su=D('<span class="sub-check svelte-w3h0m4" aria-hidden="true">✓</span>'),ru=D('<span class="sub-count mono svelte-w3h0m4"> </span>'),au=D('<button 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>'),iu=D('<div class="grp static svelte-w3h0m4"><span class="sub-label svelte-w3h0m4"> </span></div> <!>',1),ou=D('<!> <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),lu=D('<span class="badge mono svelte-w3h0m4"> </span>'),cu=D('<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>'),uu=D('<span class="badge mono svelte-w3h0m4"> </span>'),du=D('<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>'),pu=D("<!> <!>",1);function fu(s,t){Je(t,!1);const n=()=>ft(er,"$feeds",o),r=()=>ft(Cn,"$sessionList",o),a=()=>ft(ts,"$can",o),[o,i]=wn(),l=S(),c=S(),u=S(),p=S(),g=S(),b=S(),E=S(),R=S(),P=S();let _=Le(t,"sessionId",8),k=Le(t,"onJump",8,()=>{});const B="ocrc.planHud",q=5,K=16,v=2*Math.PI*K;let A=S(!1);try{f(A,window.matchMedia("(min-width: 821px)").matches)}catch{}const G=e(A)?"ocrc.planHud.dt":B;function ee(){if(typeof localStorage>"u")return{};try{const W=JSON.parse(localStorage.getItem(G)??"{}")??{};return{dismissed:W.dismissed,expanded:W.expanded}}catch{return{}}}let Z=S(ee()),C=S(e(Z).expanded??e(A));function te(W){if(f(Z,{...e(Z),...W}),!(typeof localStorage>"u"))try{localStorage.setItem(G,JSON.stringify(e(Z)))}catch{}}let U=S({total:0,done:0,items:[]}),ie=S();async function fe(W){try{const xe=await Ge.todo(W);if(W!==_())return;f(ie,W),f(U,va(xe))}catch{}}let ce=S(),w=S(0),I=S(-1),M=S();pn(()=>clearTimeout(e(M)));let N=S([]),Y=S(),ge=!1;async function ve(W){if(!ge){ge=!0;try{const xe=await Ge.subagents(W);if(W!==_())return;f(N,[...xe.subagents??[]].sort(($,H)=>Number(H.busy??!1)-Number($.busy??!1))),f(Y,W)}catch{f(N,[])}finally{ge=!1}}}const x=W=>`ocrc.subparent.${W}`;let j=S();function X(W){try{f(j,sessionStorage.getItem(x(W))??void 0)}catch{f(j,void 0)}}X(_());function me(W){try{sessionStorage.setItem(x(W.id),_())}catch{}f(Oe,!1),k()(W.id)}function oe(){const W=e(j);f(j,void 0),W&&k()(W)}let ke=S(),Re=S(!1),be=S(!1),Oe=S(!1);function Pe(){f(C,!e(C)),te({expanded:e(C)})}function Se(){te({dismissed:[...e(Z).dismissed??[],_()].slice(-20)}),f(Oe,!1)}function Be(){f(Oe,!1),ar.set(!0)}let Ne=S(),je=S(),Ue=S(),ae=S();function Ye(W){var $,H,ue,he;const xe=W.target;if(e(Oe)){if(($=e(je))!=null&&$.contains(xe)||(H=e(Ne))!=null&&H.contains(xe))return;f(Oe,!1)}e(C)&&((ue=e(Ue))!=null&&ue.contains(xe)||(he=e(ae))!=null&&he.contains(xe)||(f(C,!1),te({expanded:!1})))}J(()=>(pe(_()),e(ce)),()=>{_()!==e(ce)&&(f(ce,_()),fe(_()))}),J(()=>(n(),pe(_())),()=>{var W;f(l,((W=n()[_()])==null?void 0:W.lastSeq)??0)}),J(()=>(e(l),e(I),e(M),e(w)),()=>{e(l)!==e(I)&&(f(I,e(l)),clearTimeout(e(M)),f(M,setTimeout(()=>f(w,e(w)+1),1e3)))}),J(()=>(e(w),pe(_())),()=>{e(w)&&(fe(_()),ve(_()))}),J(()=>(r(),pe(_())),()=>{f(c,r().find(W=>W.id===_()))}),J(()=>e(c),()=>{var W;f(u,((W=e(c))==null?void 0:W.title)??"")}),J(()=>e(U),()=>{f(p,e(U).items.filter(W=>W.status==="done"))}),J(()=>e(U),()=>{f(g,e(U).items.filter(W=>W.status==="running"))}),J(()=>e(U),()=>{f(b,e(U).items.filter(W=>W.status==="pending"))}),J(()=>e(b),()=>{f(E,Math.max(0,e(b).length-q))}),J(()=>e(U),()=>{f(R,e(U).total?e(U).done/e(U).total:0)}),J(()=>(e(Z),pe(_())),()=>{var W;f(P,((W=e(Z).dismissed)==null?void 0:W.includes(_()))??!1)}),J(()=>(e(C),pe(_()),e(Y)),()=>{e(C)&&_()&&e(Y)!==_()&&ve(_())}),J(()=>pe(_()),()=>{_()&&X(_())}),J(()=>(pe(_()),e(ke)),()=>{_()!==e(ke)&&(f(ke,_()),f(Re,!1),f(be,!1),f(Oe,!1))}),bt(),Qe();var we=Gt();re("pointerdown",Zt,Ye);var ye=nt(we);{var z=W=>{var xe=pu(),$=nt(xe);{var H=qe=>{var We=ou(),ct=nt(We);{var At=Ee=>{var Ie=Kc();O(Ee,Ie)};se(ct,Ee=>{e(A)||Ee(At)})}var Et=T(ct,2),_t=m(Et),Xe=T(m(_t),2),ut=m(Xe,!0);h(Xe);var dt=T(Xe,2);$t(dt,Ee=>f(Ne,Ee),()=>e(Ne));var Ot=T(dt,2);h(_t);var wt=T(_t,2);{var Ut=Ee=>{var Ie=Zc(),Ce=m(Ie),tt=T(Ce,2);h(Ie),$t(Ie,ot=>f(je,ot),()=>e(je)),re("click",Ce,Be),re("click",tt,Se),O(Ee,Ie)};se(wt,Ee=>{e(Oe)&&Ee(Ut)})}var F=T(wt,2),_e=m(F);{var Me=Ee=>{var Ie=Yc(),Ce=T(m(Ie),2),tt=m(Ce);h(Ce),h(Ie),ne(ot=>Q(tt,`返回父会话 …${ot??""}`),[()=>(e(j),y(()=>e(j).slice(-8)))]),re("click",Ie,oe),O(Ee,Ie)};se(_e,Ee=>{e(j)&&Ee(Me)})}var It=T(_e,2),jt=m(It);h(It);var De=T(It,2);{var Mt=Ee=>{var Ie=Vc(),Ce=nt(Ie),tt=m(Ce);let ot;var Ft=T(tt,2),mt=m(Ft);h(Ft),h(Ce);var Ze=T(Ce,2);{var Ct=Lt=>{var Ht=Gt(),Wt=nt(Ht);gt(Wt,1,()=>e(p),St=>St.text,(St,Rt)=>{var le=Xc(),d=T(m(le)),L=m(d,!0);h(d),h(le),ne(()=>Q(L,(e(Rt),y(()=>e(Rt).text)))),O(St,le)}),O(Lt,Ht)};se(Ze,Lt=>{e(Re)&&Lt(Ct)})}ne(()=>{Ke(Ce,"aria-expanded",e(Re)),ot=st(tt,0,"caret svelte-w3h0m4",null,ot,{open:e(Re)}),Q(mt,`已完成 ${e(p),y(()=>e(p).length)??""}`)}),re("click",Ce,()=>f(Re,!e(Re))),O(Ee,Ie)};se(De,Ee=>{e(p),y(()=>e(p).length)&&Ee(Mt)})}var An=T(De,2);gt(An,1,()=>e(g),Ee=>Ee.text,(Ee,Ie)=>{var Ce=Qc(),tt=T(m(Ce)),ot=m(tt,!0);h(tt),h(Ce),ne(()=>Q(ot,(e(Ie),y(()=>e(Ie).text)))),O(Ee,Ce)});var fn=T(An,2);gt(fn,1,()=>(e(b),y(()=>e(b).slice(0,q))),Ee=>Ee.text,(Ee,Ie)=>{var Ce=Jc(),tt=T(m(Ce)),ot=m(tt,!0);h(tt),h(Ce),ne(()=>Q(ot,(e(Ie),y(()=>e(Ie).text)))),O(Ee,Ce)});var nn=T(fn,2);{var Sn=Ee=>{var Ie=tu(),Ce=nt(Ie),tt=m(Ce);let ot;var Ft=T(tt,2),mt=m(Ft);h(Ft),h(Ce);var Ze=T(Ce,2);{var Ct=Lt=>{var Ht=Gt(),Wt=nt(Ht);gt(Wt,1,()=>(e(b),y(()=>e(b).slice(q))),St=>St.text,(St,Rt)=>{var le=eu(),d=T(m(le)),L=m(d,!0);h(d),h(le),ne(()=>Q(L,(e(Rt),y(()=>e(Rt).text)))),O(St,le)}),O(Lt,Ht)};se(Ze,Lt=>{e(be)&&Lt(Ct)})}ne(()=>{Ke(Ce,"aria-expanded",e(be)),ot=st(tt,0,"caret svelte-w3h0m4",null,ot,{open:e(be)}),Q(mt,`待处理 ${e(E)??""}`)}),re("click",Ce,()=>f(be,!e(be))),O(Ee,Ie)};se(nn,Ee=>{e(E)>0&&Ee(Sn)})}var Rn=T(nn,2);{var qn=Ee=>{var Ie=iu(),Ce=nt(Ie),tt=m(Ce),ot=m(tt);h(tt),h(Ce);var Ft=T(Ce,2);gt(Ft,1,()=>e(N),mt=>mt.id,(mt,Ze)=>{var Ct=au();let Lt;var Ht=m(Ct);{var Wt=V=>{var Te=nu();O(V,Te)},St=V=>{var Te=su();O(V,Te)};se(Ht,V=>{e(Ze),y(()=>e(Ze).busy)?V(Wt):(e(Ze),y(()=>e(Ze).total>0&&e(Ze).done>=e(Ze).total)&&V(St,1))})}var Rt=T(Ht,2);{var le=V=>{var Te=ru(),rt=m(Te);h(Te),ne(()=>Q(rt,`${e(Ze),y(()=>e(Ze).done)??""}/${e(Ze),y(()=>e(Ze).total)??""}`)),O(V,Te)};se(Rt,V=>{e(Ze),y(()=>e(Ze).total>0)&&V(le)})}var d=T(Rt,2),L=m(d,!0);h(d),Vt(2),h(Ct),ne(V=>{Lt=st(Ct,1,"row sub jump svelte-w3h0m4",null,Lt,{idle:!e(Ze).busy}),Q(L,V)},[()=>(e(Ze),y(()=>e(Ze).title||"…"+e(Ze).id.slice(-6)))]),re("click",Ct,()=>me(e(Ze))),O(mt,Ct)}),ne(()=>Q(ot,`子代理 · ${e(N),y(()=>e(N).length)??""}`)),O(Ee,Ie)};se(Rn,Ee=>{e(N),y(()=>e(N).length)&&Ee(qn)})}h(F),h(Et),$t(Et,Ee=>f(Ue,Ee),()=>e(Ue)),ne(Ee=>{Q(ut,Ee),Q(jt,`任务 ${e(U),y(()=>e(U).done)??""}/${e(U),y(()=>e(U).total)??""}`)},[()=>(e(u),pe(_()),y(()=>e(u)||"…"+_().slice(-8)))]),re("click",dt,ba(()=>f(Oe,!e(Oe)))),re("click",Ot,Pe),O(qe,We)};se($,qe=>{e(C)&&qe(H)})}var ue=T($,2);{var he=qe=>{var We=cu(),ct=T(m(We),2),At=m(ct,!0),Et=T(At,2,!0);h(ct);var _t=T(ct,2);{var Xe=ut=>{var dt=lu(),Ot=m(dt,!0);h(dt),ne(()=>Q(Ot,(e(N),y(()=>e(N).length)))),O(ut,dt)};se(_t,ut=>{e(N),y(()=>e(N).length>0)&&ut(Xe)})}Vt(2),h(We),$t(We,ut=>f(ae,ut),()=>e(ae)),ne(()=>{Ke(We,"aria-label",(e(U),y(()=>`展开计划 ${e(U).done}/${e(U).total}`))),Q(At,(e(U),y(()=>e(U).done))),Q(Et,(e(U),y(()=>e(U).total)))}),re("click",We,Pe),O(qe,We)},He=qe=>{var We=du(),ct=m(We),At=m(ct);Ke(At,"r",K);var Et=T(At);Ke(Et,"r",K),h(ct);var _t=T(ct,2),Xe=m(_t,!0),ut=T(Xe,2,!0);h(_t);var dt=T(_t,2);{var Ot=wt=>{var Ut=uu(),F=m(Ut,!0);h(Ut),ne(()=>Q(F,(e(N),y(()=>e(N).length)))),O(wt,Ut)};se(dt,wt=>{e(N),y(()=>e(N).length>0)&&wt(Ot)})}h(We),$t(We,wt=>f(ae,wt),()=>e(ae)),ne(wt=>{Ke(We,"aria-label",(e(U),e(C),y(()=>`计划 ${e(U).done}/${e(U).total} — ${e(C)?"收起":"展开"}`))),Ke(We,"aria-expanded",e(C)),Ke(Et,"stroke-dasharray",wt),Q(Xe,(e(U),y(()=>e(U).done))),Q(ut,(e(U),y(()=>e(U).total)))},[()=>(e(R),y(()=>`${Math.max(v*e(R),v*.02)} ${v}`))]),re("click",We,Pe),O(qe,We)};se(ue,qe=>{e(A)&&!e(C)?qe(he):qe(He,-1)})}O(W,xe)},de=bn(()=>(e(ie),pe(_()),e(U),e(N),e(j),e(P),a(),y(()=>e(ie)===_()&&(e(U).total>0||e(N).length>0||e(j))&&!e(P)&&a()("todos"))));se(ye,W=>{e(de)&&W(z)})}O(s,we),et(),i()}var gu=D('<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>'),hu=D('<span class="branch mono svelte-eho102"> </span>'),mu=D('<span class="pill running mono svelte-eho102"><span class="dot svelte-eho102" aria-hidden="true"></span> </span> <button class="abort svelte-eho102">停止</button>',1),vu=D('<span class="idle mono svelte-eho102">空闲</span>'),bu=D('<button class="load-earlier mono svelte-eho102"> </button>'),_u=D('<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>'),Eu=D('<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>'),yu=D('<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>'),ku=D('<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></div> <!> <div class="composer-float svelte-eho102"><!> <!></div> <!>',1);function Iu(s,t){Je(t,!1);const n=()=>ft(_a,"$page",c),r=()=>ft(er,"$feeds",c),a=()=>ft(Cn,"$sessionList",c),o=()=>ft(rr,"$composerEmpty",c),i=()=>ft(Es,"$leftPanelOpen",c),l=()=>ft(Ea,"$feedResyncing",c),[c,u]=wn(),p=S(),g=S(),b=S(),E=S(),R=S(),P=S(),_=S(),k=S(),B=S();let q=S(),K=S(),v=S(""),A,G,ee=S(!1),Z=S(0),C=S(0),te=S(),U=S(!0);function ie(){e(q)&&Yt(q,e(q).scrollTop=e(q).scrollHeight)}function fe(){e(q)&&f(U,e(q).scrollHeight-e(q).scrollTop-e(q).clientHeight<80)}const ce=80,w=50;let I=S(ce),M=S(0),N=S(!0),Y=S(!1),ge=S("");async function ve(){if(e(Y)||!e(g))return;if(e(E).length>e(I)){f(I,e(I)+ce);return}if(!e(N))return;f(Y,!0);const F=e(q),_e=F?{h:F.scrollHeight,top:F.scrollTop}:null;try{const Me=await Ge.history(e(g),{limit:w,offset:e(M)});(Me.cards??[]).length===0?f(N,!1):(ra(e(g),Me.cards),f(M,e(M)+w),f(I,e(I)+ce),Me.hasMore===!1&&f(N,!1),_e&&F&&(await Ln(),F.scrollTop=F.scrollHeight-_e.h+_e.top))}catch(Me){console.warn("[page] loadEarlier failed",Me)}finally{f(Y,!1)}}let x=S("");function j(F){if(F<60)return`${F}s`;const _e=Math.floor(F/60),Me=F%60;return Me===0?`${_e}m`:`${_e}m ${Me}s`}function X(){Se()}const me=["总结这个项目","最近有什么改动?","运行检查"];let oe=S(!1),ke=S([]),Re;async function be(F,_e){if(Re!==_e){Re=_e;try{const Me=await Ge.suggestions(F);f(ke,Me.suggestions??[])}catch{f(ke,[])}}}let Oe=S(),Pe=S([]);function Se(){if(!e(g))return;const F=[...e(E)].reverse().find(Me=>Me.kind==="user"),_e=F==null?void 0:F.text;_e&&Ge.sendMessage({sessionId:e(g),text:_e,clientId:`web_${Date.now()}`})}async function Be(){if(!(!e(g)||e(ee))){f(ee,!0);try{await Ge.abort(e(g))}catch{}finally{f(ee,!1)}}}ns(()=>{A=new ResizeObserver(()=>{e(K)&&(document.documentElement.style.setProperty("--composer-h",`${e(K).offsetHeight}px`),e(U)&&ie())}),e(K)&&A.observe(e(K));const F=window.visualViewport,_e=()=>{e(U)&&requestAnimationFrame(ie)};F==null||F.addEventListener("resize",_e),G=()=>F==null?void 0:F.removeEventListener("resize",_e)}),pn(()=>{A==null||A.disconnect(),G==null||G(),e(te)&&clearInterval(e(te))}),J(()=>n(),()=>{f(g,n().params.sessionId??"")}),J(()=>(e(g),e(ge)),()=>{e(g)&&e(g)!==e(ge)&&(f(ge,e(g)),f(I,ce),f(M,0),f(N,!0),f(Y,!1))}),J(()=>(r(),e(g)),()=>{f(b,r()[e(g)])}),J(()=>e(b),()=>{f(E,sa(e(b)))}),J(()=>(e(I),e(E)),()=>{f(p,e(I)>=e(E).length?e(E):e(E).slice(-e(I)))}),J(()=>(a(),e(g)),()=>{f(R,a().find(F=>F.id===e(g)))}),J(()=>e(R),()=>{var F;f(P,(F=e(R))!=null&&F.directory&&e(R).directory.replace(/\/+$/,"").split("/").pop()||"")}),J(()=>e(b),()=>{f(_,(()=>{if(!e(b)||e(b).order.length===0)return!1;const F=e(b).byId[e(b).order[e(b).order.length-1]];return(F==null?void 0:F.kind)==="thinking"||(F==null?void 0:F.kind)==="streaming"||(F==null?void 0:F.kind)==="think-stream"})())}),J(()=>(e(_),e(x),e(g),e(Z),e(te)),()=>{e(_)?(e(x)!==e(g)&&(f(x,e(g)),f(Z,0)),!e(Z)&&typeof window<"u"&&(f(Z,Date.now()),f(C,0),e(te)&&clearInterval(e(te)),f(te,setInterval(()=>{f(C,Math.floor((Date.now()-e(Z))/1e3))},1e3)))):(f(Z,0),f(C,0),f(x,""),e(te)&&(clearInterval(e(te)),f(te,void 0)))}),J(()=>e(E),()=>{f(k,e(E).length?e(E)[e(E).length-1]:null)}),J(()=>(e(_),e(k),e(g)),()=>{var F;!e(_)&&((F=e(k))==null?void 0:F.kind)==="assistant"&&e(g)&&be(e(g),e(k).id)}),J(()=>(e(g),e(Oe)),()=>{e(g)!==e(Oe)&&(f(Oe,e(g)),f(oe,!1))}),J(()=>(e(_),e(oe),o(),e(ke),e(E)),()=>{e(_)||e(oe)||!o()?f(Pe,[]):e(ke).length>0?f(Pe,e(ke)):e(E).length===0?f(Pe,me):f(Pe,[])}),J(()=>(e(g),e(b),e(E)),()=>{var F;f(B,`${e(g)}:${((F=e(b))==null?void 0:F.lastSeq)??0}:${e(E).length}`)}),J(()=>(e(B),e(v),e(U)),()=>{e(B)!==e(v)&&(f(v,e(B)),Ln().then(()=>{e(U)&&ie()}))}),bt(),Qe();var Ne=ku(),je=nt(Ne),Ue=m(je),ae=m(Ue),Ye=m(ae),we=T(Ye,2);{var ye=F=>{var _e=gu();re("click",_e,()=>Es.set(!0)),O(F,_e)};se(we,F=>{i()||F(ye)})}var z=T(we,2);Wc(z,{get activeId(){return e(g)}});var de=T(z,2);{var W=F=>{var _e=hu(),Me=m(_e,!0);h(_e),ne(()=>Q(Me,e(P))),O(F,_e)};se(de,F=>{e(P)&&F(W)})}h(ae);var xe=T(ae,2),$=m(xe);{var H=F=>{var _e=mu(),Me=nt(_e),It=T(m(Me));h(Me);var jt=T(Me,2);ne(De=>{Q(It,` 运行中 ${De??""}`),jt.disabled=e(ee)},[()=>(e(C),y(()=>j(e(C))))]),re("click",jt,Be),O(F,_e)},ue=F=>{var _e=vu();O(F,_e)};se($,F=>{e(_)?F(H):F(ue,-1)})}var he=T($,2);h(xe),h(Ue);var He=T(Ue,2);let qe;var We=m(He);{var ct=F=>{var _e=bu(),Me=m(_e,!0);h(_e),ne(()=>{_e.disabled=e(Y),Q(Me,e(Y)?"加载中…":"加载更早消息")}),re("click",_e,ve),O(F,_e)};se(We,F=>{e(E),e(I),e(N),y(()=>e(E).length>0&&(e(E).length>e(I)||e(N)))&&F(ct)})}var At=T(We,2);gt(At,1,()=>e(p),F=>F.id,(F,_e)=>{{let Me=ca(()=>(e(_e),e(k),e(_),y(()=>{var It;return e(_e).id===((It=e(k))==null?void 0:It.id)&&e(_e).kind==="assistant"&&!e(_)?X:void 0})));dc(F,{get card(){return e(_e)},onRetry:Se,get onRegenerate(){return e(Me)}})}});var Et=T(At,2);{var _t=F=>{var _e=Gt(),Me=nt(_e);{var It=De=>{var Mt=_u();O(De,Mt)},jt=De=>{var Mt=Eu();O(De,Mt)};se(Me,De=>{e(b)?De(jt,-1):De(It)})}O(F,_e)};se(Et,F=>{e(E),y(()=>e(E).length===0)&&F(_t)})}h(He),h(je),$t(je,F=>f(q,F),()=>e(q));var Xe=T(je,2);{var ut=F=>{var _e=yu();re("click",_e,ie),O(F,_e)};se(Xe,F=>{e(U),e(E),y(()=>!e(U)&&e(E).length>0)&&F(ut)})}var dt=T(Xe,2),Ot=m(dt);wa(Ot,{get suggestions(){return e(Pe)},onPick:F=>Vn.set({text:F,nonce:Date.now()}),onDismiss:()=>{f(oe,!0),f(Pe,[])}});var wt=T(Ot,2);Uc(wt,{get sessionId(){return e(g)}}),h(dt),$t(dt,F=>f(K,F),()=>e(K));var Ut=T(dt,2);fu(Ut,{get sessionId(){return e(g)},onJump:F=>Dn("/"+F)}),ne(()=>qe=st(He,1,"stream conversation-emerald svelte-eho102",null,qe,{suppressed:l()})),re("click",Ye,()=>Dn("/")),re("click",he,()=>ar.update(F=>!F)),re("scroll",je,fe),O(s,Ne),et(),u()}export{Iu as component};
|
|
64
|
+
`)||B.length>c;return q&&p.add(k),q}function b(_){return _==null?"":_<1?`${(_*1e3).toFixed(0)}ms`:`${_.toFixed(1)}s`}J(()=>pe(i()),()=>{f(n,i())}),J(()=>(e(u),e(n)),()=>{f(r,e(u)?e(n):e(n).slice(0,l))}),J(()=>e(n),()=>{f(a,e(n).length)}),J(()=>e(n),()=>{f(o,e(n).filter(_=>_.status==="done").length)}),bt(),Qe();var E=Gt(),R=nt(E);{var P=_=>{var k=Il(),B=m(k),q=T(m(B),4),K=m(q);h(q),h(B);var v=T(B,2),A=m(v);gt(A,1,()=>e(r),Qt,(Z,C,te)=>{var U=Gt(),ie=nt(U);{var fe=I=>{kl(I,{get text(){return e(C),y(()=>e(C).args)},get tool(){return e(C),y(()=>e(C).tool)},get status(){return e(C),y(()=>e(C).status)},get dur(){return e(C),y(()=>e(C).dur)},get adds(){return e(C),y(()=>e(C).adds)},get dels(){return e(C),y(()=>e(C).dels)}})},ce=bn(()=>(e(C),y(()=>g(e(C),te)))),w=I=>{var M=Nl(),N=m(M),Y=T(m(N),2),ge=m(Y,!0);h(Y);var ve=T(Y,2),x=m(ve,!0);h(ve);var j=T(ve,2);{var X=Se=>{var Be=wl();O(Se,Be)};se(j,Se=>{e(C),y(()=>e(C).tool==="bash")&&Se(X)})}var me=T(j,2),oe=m(me,!0);h(me);var ke=T(me,2);{var Re=Se=>{var Be=Al(),Ne=m(Be);{var je=Ye=>{var we=xl(),ye=m(we);h(we),ne(()=>Q(ye,`+${e(C),y(()=>e(C).adds)??""}`)),O(Ye,we)};se(Ne,Ye=>{e(C),y(()=>e(C).adds)&&Ye(je)})}var Ue=T(Ne,2);{var ae=Ye=>{var we=Tl(),ye=m(we);h(we),ne(()=>Q(ye,`−${e(C),y(()=>e(C).dels)??""}`)),O(Ye,we)};se(Ue,Ye=>{e(C),y(()=>e(C).dels)&&Ye(ae)})}h(Be),O(Se,Be)};se(ke,Se=>{e(C),y(()=>e(C).adds||e(C).dels)&&Se(Re)})}var be=T(ke,2);{var Oe=Se=>{var Be=Sl();O(Se,Be)},Pe=Se=>{var Be=Rl(),Ne=m(Be,!0);h(Be),ne(je=>Q(Ne,je),[()=>(e(C),y(()=>b(e(C).dur)))]),O(Se,Be)};se(be,Se=>{e(C),y(()=>e(C).status==="running")?Se(Oe):(e(C),y(()=>e(C).dur!=null)&&Se(Pe,1))})}h(N),h(M),ne(()=>{st(M,1,`row ${e(C),y(()=>e(C).status)??""}`,"svelte-on906i"),Q(ge,(e(C),y(()=>e(C).status))),Q(x,(e(C),y(()=>e(C).tool))),Q(oe,(e(C),y(()=>e(C).args)))}),O(I,M)};se(ie,I=>{e(ce)?I(fe):I(w,-1)})}O(Z,U)});var G=T(A,2);{var ee=Z=>{var C=Ol(),te=m(C);h(C),ne(()=>Q(te,`… ${e(n),y(()=>e(n).length-l)??""} more`)),re("click",C,()=>f(u,!0)),O(Z,C)};se(G,Z=>{e(n),e(u),y(()=>e(n).length>l&&!e(u))&&Z(ee)})}h(v),h(k),ne(()=>Q(K,`${e(o)??""}/${e(a)??""} steps`)),O(_,k)};se(R,_=>{pe(i()),y(()=>i().length>0)&&_(P)})}O(s,E),et()}var Ml=D('<div class="text svelte-l1yd1q"><!></div>'),Cl=D('<div class="card streaming svelte-l1yd1q"><!> <!></div>');function Ll(s,t){Je(t,!1);const n=S(),r=S();let a=Le(t,"card",8);J(()=>pe(a()),()=>{f(n,a().blocks.filter(u=>u.type==="tool").map(u=>({tool:u.tool,args:u.args,status:u.status})))}),J(()=>pe(a()),()=>{f(r,a().blocks.filter(u=>u.type==="text").map(u=>u.text).join(""))}),bt(),Qe();var o=Cl(),i=m(o);Zr(i,{get tools(){return e(n)}});var l=T(i,2);{var c=u=>{var p=Ml(),g=m(p);Kr(g,{get src(){return e(r)},throttle:!0,streaming:!0}),h(p),O(u,p)};se(l,u=>{e(r)&&u(c)})}h(o),O(s,o),et()}var Dl=D('<div class="text svelte-wmi6xy"><!></div>'),$l=D('<span class="chip agent mono svelte-wmi6xy"> </span>'),Pl=D('<span class="chip mono svelte-wmi6xy"> </span>'),Bl=D('<span class="chip mono svelte-wmi6xy"> </span>'),zl=D('<span class="chip mono svelte-wmi6xy"> </span>'),Ul=D('<span class="chip cost mono svelte-wmi6xy"> </span>'),Fl=D('<button class="icon svelte-wmi6xy" title="重新生成" aria-label="重新生成"><!></button>'),Hl=D('<div class="meta svelte-wmi6xy"><div class="chips svelte-wmi6xy"><!> <!> <!> <!> <!></div> <div class="actions svelte-wmi6xy"><!> <button title="复制" aria-label="复制"><!></button></div></div>'),ql=D('<div class="card assistant svelte-wmi6xy"><!> <!> <!></div>');function Gl(s,t){Je(t,!1);const n=S(),r=S(),a=S(),o=S();let i=Le(t,"card",8),l=Le(t,"onRegenerate",8,void 0);function c(B){return B>=1e3?`${(B/1e3).toFixed(1)}k`:String(B)}let u=S(!1),p;async function g(){if(e(r)){try{await navigator.clipboard.writeText(e(r))}catch{return}f(u,!0),p&&clearTimeout(p),p=setTimeout(()=>f(u,!1),1300)}}pn(()=>clearTimeout(p)),J(()=>pe(i()),()=>{f(n,i().blocks.filter(B=>B.type==="tool").map(B=>({tool:B.tool,args:B.args,status:B.status})))}),J(()=>pe(i()),()=>{f(r,i().blocks.filter(B=>B.type==="text").map(B=>B.text).join(""))}),J(()=>pe(i()),()=>{f(a,i().meta)}),J(()=>e(a),()=>{f(o,e(a).agent||e(a).model||e(a).tokens||e(a).duration!=null||e(a).cost!==void 0)}),bt(),Qe();var b=ql(),E=m(b);Zr(E,{get tools(){return e(n)}});var R=T(E,2);{var P=B=>{var q=Dl(),K=m(q);Kr(K,{get src(){return e(r)}}),h(q),O(B,q)};se(R,B=>{e(r)&&B(P)})}var _=T(R,2);{var k=B=>{var q=Hl(),K=m(q),v=m(K);{var A=x=>{var j=$l(),X=m(j,!0);h(j),ne(()=>Q(X,(e(a),y(()=>e(a).agent)))),O(x,j)};se(v,x=>{e(a),y(()=>e(a).agent)&&x(A)})}var G=T(v,2);{var ee=x=>{var j=Pl(),X=m(j,!0);h(j),ne(()=>Q(X,(e(a),y(()=>e(a).model)))),O(x,j)};se(G,x=>{e(a),y(()=>e(a).model)&&x(ee)})}var Z=T(G,2);{var C=x=>{var j=Bl(),X=m(j);h(j),ne((me,oe)=>Q(X,`↑${me??""} ↓${oe??""}`),[()=>(e(a),y(()=>c(e(a).tokens.input))),()=>(e(a),y(()=>c(e(a).tokens.output)))]),O(x,j)};se(Z,x=>{e(a),y(()=>e(a).tokens)&&x(C)})}var te=T(Z,2);{var U=x=>{var j=zl(),X=m(j);h(j),ne(()=>Q(X,`${e(a),y(()=>e(a).duration)??""}s`)),O(x,j)};se(te,x=>{e(a),y(()=>e(a).duration!=null)&&x(U)})}var ie=T(te,2);{var fe=x=>{var j=Ul(),X=m(j);h(j),ne(me=>Q(X,`$${me??""}`),[()=>(e(a),y(()=>e(a).cost.toFixed(3)))]),O(x,j)};se(ie,x=>{e(a),y(()=>e(a).cost!==void 0)&&x(fe)})}h(K);var ce=T(K,2),w=m(ce);{var I=x=>{var j=Fl(),X=m(j);lt(X,{name:"refresh",size:13}),h(j),re("click",j,function(...me){var oe;(oe=l())==null||oe.apply(this,me)}),O(x,j)};se(w,x=>{l()&&x(I)})}var M=T(w,2);let N;var Y=m(M);{var ge=x=>{lt(x,{name:"check",size:13})},ve=x=>{lt(x,{name:"copy",size:13})};se(Y,x=>{e(u)?x(ge):x(ve,-1)})}h(M),h(ce),h(q),ne(()=>N=st(M,1,"icon svelte-wmi6xy",null,N,{copied:e(u)})),re("click",M,g),O(B,q)};se(_,B=>{e(o)&&B(k)})}h(b),O(s,b),et()}var jl=D('<button class="retry svelte-1m8kde8"><!> Retry</button>'),Wl=D('<div class="card error svelte-1m8kde8"><div class="head svelte-1m8kde8"><!> </div> <code class="svelte-1m8kde8"> </code> <!></div>');function Kl(s,t){Je(t,!1);const n=S();let r=Le(t,"card",8),a=Le(t,"onRetry",8,void 0);const o=aa();function i(_){const k=(_||"").toLowerCase();return k.includes("abort")?{label:"Stopped",retryable:!1}:k.includes("timeout")||k.includes("timed out")?{label:"Timed out",retryable:!0}:k.includes("fetch")||k.includes("network")||k.includes("econn")||/\b(429|500|502|503|504)\b/.test(k)?{label:"Network issue",retryable:!0}:{label:"Error",retryable:!0}}function l(){a()?a()():o("retry")}J(()=>pe(r()),()=>{f(n,i(r().message))}),bt(),Qe();var c=Wl(),u=m(c),p=m(u);lt(p,{name:"alert",size:13});var g=T(p);h(u);var b=T(u,2),E=m(b,!0);h(b);var R=T(b,2);{var P=_=>{var k=jl(),B=m(k);lt(B,{name:"refresh",size:11}),Vt(),h(k),ne(()=>k.disabled=!a()),re("click",k,l),O(_,k)};se(R,_=>{e(n),y(()=>e(n).retryable)&&_(P)})}h(c),ne(()=>{Q(g,` ${e(n),y(()=>e(n).label)??""}`),Q(E,(pe(r()),y(()=>r().message)))}),O(s,c),et()}var Zl=D('<div class="note mono svelte-hbf6ni"> </div>');function Yl(s,t){Je(t,!1);const n=S(),r=S();let a=Le(t,"card",8);J(()=>pe(a()),()=>{f(n,a().sections.map(l=>l.body).join(" ")||"")}),J(()=>(pe(a()),e(n)),()=>{f(r,[a().title,e(n)].filter(Boolean).join(" — "))}),bt(),Qe();var o=Zl(),i=m(o,!0);h(o),ne(()=>Q(i,e(r))),O(s,o),et()}var Xl=D('<div class="note mono svelte-scaqco"> </div>');function Vl(s,t){Je(t,!1);const n=S(),r=S(),a=S(),o=S();let i=Le(t,"card",8);J(()=>pe(i()),()=>{f(n,i().fields.title??"Status")}),J(()=>pe(i()),()=>{f(r,Object.entries(i().fields).filter(([u])=>u!=="title"))}),J(()=>e(r),()=>{f(a,e(r).map(([u,p])=>`${u}: ${p}`).join(" · "))}),J(()=>(e(n),e(a)),()=>{f(o,[e(n),e(a)].filter(Boolean).join(" · "))}),bt(),Qe();var l=Xl(),c=m(l,!0);h(l),ne(()=>Q(c,e(o))),O(s,l),et()}var Ql=D('<div><span class="mark svelte-19vkggv" aria-hidden="true"> </span> <span class="rlabel svelte-19vkggv"> </span> <span class="rttl svelte-19vkggv"> </span></div>'),Jl=D('<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 ec(s,t){Je(t,!1);const n=S(),r=S(),a=S();let o=Le(t,"card",8),i=S("");async function l(E){try{await Ge.approve(o().sessionId,o().requestId,E),f(i,E)}catch{f(i,"error")}}const c={once:"已批准 — 已应用",always:"已设为自动允许",reject:"已拒绝 — 未应用",error:"失败"};J(()=>e(i),()=>{f(n,!!e(i))}),J(()=>e(i),()=>{f(r,e(i)==="reject"||e(i)==="error")}),J(()=>pe(o()),()=>{f(a,typeof o().args=="string"?o().args:JSON.stringify(o().args,null,2))}),bt(),Qe();var u=Gt(),p=nt(u);{var g=E=>{var R=Ql();let P;var _=m(R),k=m(_,!0);h(_);var B=T(_,2),q=m(B,!0);h(B);var K=T(B,2),v=m(K,!0);h(K),h(R),ne(()=>{P=st(R,1,"appr resolved svelte-19vkggv",null,P,{rej:e(r)}),Q(k,e(r)?"✕":"✓"),Q(q,(e(i),y(()=>c[e(i)]??e(i)))),Q(v,(pe(o()),y(()=>o().title)))}),O(E,R)},b=E=>{var R=Jl(),P=m(R),_=T(m(P),6),k=m(_,!0);h(_),h(P);var B=T(P,2),q=m(B,!0);h(B);var K=T(B,2),v=m(K),A=T(v,2),G=T(A,4);h(K),h(R),ne(()=>{Q(k,(pe(o()),y(()=>o().title))),Q(q,e(a))}),re("click",v,()=>l("once")),re("click",A,()=>l("always")),re("click",G,()=>l("reject")),O(E,R)};se(p,E=>{e(n)?E(g):E(b,-1)})}O(s,u),et()}var tc=D('<div><span class="mark svelte-hiqfhq" aria-hidden="true"> </span> <span class="rlabel svelte-hiqfhq"> </span> <span class="rttl mono svelte-hiqfhq"> </span></div>'),nc=D('<span class="mono warn-note svelte-hiqfhq">当前后端不支持 Web 回答</span>'),sc=D('<div class="qhead mono svelte-hiqfhq"> </div>'),rc=D("<button> </button>"),ac=D('<input class="custom mono svelte-hiqfhq" placeholder="或输入自定义回答…"/>'),ic=D('<div class="hint svelte-hiqfhq">可多选</div>'),oc=D('<div class="q svelte-hiqfhq"><!> <div class="qtext svelte-hiqfhq"> </div> <div class="opts svelte-hiqfhq"></div> <!> <!></div>'),lc=D('<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 cc(s,t){Je(t,!1);const n=()=>ft(ts,"$can",r),[r,a]=wn(),o=S(),i=S(),l=S(),c=S();let u=Le(t,"card",8),p=S({}),g=S({}),b=S("");function E(v,A,G){const ee=e(p)[v]??[];G?f(p,{...e(p),[v]:ee.includes(A)?ee.filter(Z=>Z!==A):[...ee,A]}):f(p,{...e(p),[v]:ee.includes(A)?[]:[A]})}async function R(){const v=(u().questions??[]).map((A,G)=>{const ee=(e(g)[G]??"").trim();return ee?[ee]:(e(p)[G]??[]).map(Z=>{var C;return(C=A.options[Z])==null?void 0:C.label}).filter(Z=>!!Z)});try{const A=await Ge.answerQuestion(u().sessionId,u().requestId,v);f(b,A!=null&&A.stale?"stale":A!=null&&A.ok?"replied":"error")}catch{f(b,"error")}}async function P(){try{const v=await Ge.rejectQuestion(u().sessionId,u().requestId);f(b,v!=null&&v.stale?"stale":v!=null&&v.ok?"rejected":"error")}catch{f(b,"error")}}const _={replied:"已回答",rejected:"已取消",stale:"已在其他界面回答",error:"提交失败"};J(()=>(pe(u()),e(b)),()=>{f(o,u().resolved??(e(b)==="replied"||e(b)==="rejected"?e(b):void 0))}),J(()=>e(b),()=>{f(i,e(b)==="stale")}),J(()=>n(),()=>{f(l,n()("questions"))}),J(()=>(pe(u()),e(g),e(p)),()=>{f(c,(u().questions??[]).every((v,A)=>(e(g)[A]??"").trim()?!0:(e(p)[A]??[]).length>0))}),bt(),Qe();var k=Gt(),B=nt(k);{var q=v=>{var A=tc();let G;var ee=m(A),Z=m(ee,!0);h(ee);var C=T(ee,2),te=m(C,!0);h(C);var U=T(C,2),ie=m(U,!0);h(U),h(A),ne(fe=>{G=st(A,1,"qcard resolved svelte-hiqfhq",null,G,{fresh:e(b)!=="",rej:e(o)==="rejected"||e(i)||e(b)==="error"}),Q(Z,e(o)==="replied"?"✓":"✕"),Q(te,(e(o),e(b),y(()=>_[e(o)??e(b)]??""))),Q(ie,fe)},[()=>(pe(u()),y(()=>u().requestId.slice(0,12)))]),O(v,A)},K=v=>{var A=lc(),G=m(A),ee=T(m(G),6);{var Z=fe=>{var ce=nc();O(fe,ce)};se(ee,fe=>{e(l)||fe(Z)})}h(G);var C=T(G,2);gt(C,1,()=>(pe(u()),y(()=>u().questions)),Qt,(fe,ce,w)=>{var I=oc(),M=m(I);{var N=oe=>{var ke=sc(),Re=m(ke,!0);h(ke),ne(()=>Q(Re,(e(ce),y(()=>e(ce).header)))),O(oe,ke)};se(M,oe=>{e(ce),y(()=>e(ce).header)&&oe(N)})}var Y=T(M,2),ge=m(Y,!0);h(Y);var ve=T(Y,2);gt(ve,5,()=>(e(ce),y(()=>e(ce).options)),Qt,(oe,ke,Re)=>{var be=rc();let Oe;var Pe=m(be,!0);h(be),ne(Se=>{Oe=st(be,1,"opt svelte-hiqfhq",null,Oe,Se),Ke(be,"title",(e(ke),y(()=>e(ke).description??e(ke).label))),Q(Pe,(e(ke),y(()=>e(ke).label)))},[()=>({on:(e(p)[w]??[]).includes(Re)})]),re("click",be,()=>E(w,Re,e(ce).multiple)),O(oe,be)}),h(ve);var x=T(ve,2);{var j=oe=>{var ke=ac();ua(ke),ne(()=>da(ke,(e(g),y(()=>e(g)[w]??"")))),re("input",ke,Re=>f(g,{...e(g),[w]:Re.currentTarget.value})),O(oe,ke)};se(x,oe=>{e(ce),y(()=>e(ce).custom)&&oe(j)})}var X=T(x,2);{var me=oe=>{var ke=ic();O(oe,ke)};se(X,oe=>{e(ce),y(()=>e(ce).multiple)&&oe(me)})}h(I),ne(()=>Q(ge,(e(ce),y(()=>e(ce).question)))),O(fe,I)});var te=T(C,2),U=m(te),ie=T(U,4);h(te),h(A),ne(()=>{U.disabled=!e(l)||!e(c)||e(b)==="error",ie.disabled=!e(l)}),re("click",U,R),re("click",ie,P),O(v,A)};se(B,v=>{e(o)||e(i)?v(q):v(K,-1)})}O(s,k),et(),a()}var uc=D('<div class="card placeholder svelte-1udyrqm"> </div>');function dc(s,t){Je(t,!1);let n=Le(t,"card",8),r=Le(t,"onRetry",8,void 0);Qe();var a=Gt(),o=nt(a);{var i=k=>{Ta(k,{get card(){return n()}})},l=k=>{Ra(k,{get card(){return n()}})},c=k=>{Ia(k,{get card(){return n()}})},u=k=>{Ll(k,{get card(){return n()}})},p=k=>{Gl(k,{get card(){return n()}})},g=k=>{Kl(k,{get card(){return n()},get onRetry(){return r()}})},b=k=>{Yl(k,{get card(){return n()}})},E=k=>{Vl(k,{get card(){return n()}})},R=k=>{ec(k,{get card(){return n()}})},P=k=>{cc(k,{get card(){return n()}})},_=k=>{var B=uc(),q=m(B);h(B),ne(()=>Q(q,`[${pe(n()),y(()=>n().kind)??""}]`)),O(k,B)};se(o,k=>{pe(n()),y(()=>n().kind==="user")?k(i):(pe(n()),y(()=>n().kind==="thinking")?k(l,1):(pe(n()),y(()=>n().kind==="think-stream")?k(c,2):(pe(n()),y(()=>n().kind==="streaming")?k(u,3):(pe(n()),y(()=>n().kind==="assistant")?k(p,4):(pe(n()),y(()=>n().kind==="error")?k(g,5):(pe(n()),y(()=>n().kind==="info")?k(b,6):(pe(n()),y(()=>n().kind==="status")?k(E,7):(pe(n()),y(()=>n().kind==="approval")?k(R,8):(pe(n()),y(()=>n().kind==="question")?k(P,9):k(_,-1))))))))))})}O(s,a),et()}var pc=D('<div class="none label svelte-1f5vmb3">未配置 agent</div>'),fc=D('<button role="option"><span> </span> <span class="label mono"> </span></button>'),gc=D('<div class="pop svelte-1f5vmb3" role="listbox" aria-label="Agent 覆盖"><!> <!> <button class="opt clear svelte-1f5vmb3" role="option"><!> 清除覆盖</button></div>'),hc=D('<div class="wrap svelte-1f5vmb3"><button class="chip mono svelte-1f5vmb3" aria-haspopup="listbox"><!> <!></button> <!></div>');function mc(s,t){Je(t,!1);const n=S();let r=S(!1),a=S(),o=S([]),i=S({agent:null,model:null});async function l(){try{await(async q=>{var K=tr(q,2);f(o,K[0]),f(i,K[1])})(await Promise.all([Ge.agents(),Ge.getOverrides()]))}catch{}}ns(l);async function c(q){await Ge.setOverrides({agent:q.name}),await l(),f(r,!1)}async function u(){await Ge.setOverrides({agent:null}),await l(),f(r,!1)}function p(q){q.key==="Escape"&&e(r)&&f(r,!1)}function g(q){e(r)&&e(a)&&!e(a).contains(q.target)&&f(r,!1)}J(()=>e(i),()=>{f(n,e(i).agent??"default")}),bt(),Qe();var b=hc();re("keydown",Zt,p),re("click",Zt,g);var E=m(b),R=m(E);lt(R,{name:"cpu",size:11});var P=T(R),_=T(P);lt(_,{name:"caret-down",size:9}),h(E);var k=T(E,2);{var B=q=>{var K=gc(),v=m(K);{var A=C=>{var te=pc();O(C,te)};se(v,C=>{e(o),y(()=>e(o).length===0)&&C(A)})}var G=T(v,2);gt(G,1,()=>e(o),C=>C.name,(C,te)=>{var U=fc();let ie;var fe=m(U),ce=m(fe,!0);h(fe);var w=T(fe,2),I=m(w,!0);h(w),h(U),ne(M=>{ie=st(U,1,"opt svelte-1f5vmb3",null,ie,{sel:e(te).name===e(i).agent}),Ke(U,"aria-selected",(e(te),e(i),y(()=>e(te).name===e(i).agent))),Q(ce,(e(te),y(()=>e(te).name))),Q(I,M)},[()=>(e(te),y(()=>e(te).model.split("/").pop()))]),re("click",U,()=>c(e(te))),O(C,U)});var ee=T(G,2),Z=m(ee);lt(Z,{name:"close",size:11}),Vt(),h(ee),h(K),ne(()=>Ke(ee,"aria-selected",(e(i),y(()=>e(i).agent==null)))),re("click",ee,u),O(q,K)};se(k,q=>{e(r)&&q(B)})}h(b),$t(b,q=>f(a,q),()=>e(a)),ne(()=>{Ke(E,"aria-expanded",e(r)),Q(P,` ${e(n)??""} `)}),re("click",E,()=>{f(r,!e(r)),e(r)&&l()}),O(s,b),et()}var vc=D('<div class="none label svelte-1005b73">暂无模型</div>'),bc=D('<button role="option"><span> </span></button>'),_c=D('<div class="prov label mono svelte-1005b73"> </div> <!>',1),Ec=D('<div class="pop svelte-1005b73" role="listbox" aria-label="模型覆盖"><!> <!> <button class="opt clear svelte-1005b73" role="option"><!> 清除覆盖</button></div>'),yc=D('<div class="wrap svelte-1005b73"><button class="chip mono svelte-1005b73" aria-haspopup="listbox"><!> <span class="txt svelte-1005b73"> </span> <!></button> <!></div>');function kc(s,t){Je(t,!1);const n=S();let r=S(!1),a=S(),o=S([]),i=S({agent:null,model:null});async function l(){try{await(async K=>{var v=tr(K,2);f(o,v[0]),f(i,v[1])})(await Promise.all([Ge.models(),Ge.getOverrides()]))}catch{}}ns(l);async function c(K,v){await Ge.setOverrides({model:{providerID:K,modelID:v}}),await l(),f(r,!1)}async function u(){await Ge.setOverrides({model:null}),await l(),f(r,!1)}function p(K){K.key==="Escape"&&e(r)&&f(r,!1)}function g(K){e(r)&&e(a)&&!e(a).contains(K.target)&&f(r,!1)}J(()=>e(i),()=>{var K;f(n,((K=e(i).model)==null?void 0:K.modelID)??"model")}),bt(),Qe();var b=yc();re("keydown",Zt,p),re("click",Zt,g);var E=m(b),R=m(E);lt(R,{name:"bolt",size:11});var P=T(R,2),_=m(P,!0);h(P);var k=T(P,2);lt(k,{name:"caret-down",size:9}),h(E);var B=T(E,2);{var q=K=>{var v=Ec(),A=m(v);{var G=te=>{var U=vc();O(te,U)};se(A,te=>{e(o),y(()=>e(o).length===0)&&te(G)})}var ee=T(A,2);gt(ee,1,()=>e(o),te=>te.id,(te,U)=>{var ie=_c(),fe=nt(ie),ce=m(fe,!0);h(fe);var w=T(fe,2);gt(w,1,()=>(e(U),y(()=>e(U).models)),I=>I.id,(I,M)=>{var N=bc();let Y;var ge=m(N),ve=m(ge,!0);h(ge),h(N),ne(()=>{var x,j;Y=st(N,1,"opt svelte-1005b73",null,Y,{sel:((x=e(i).model)==null?void 0:x.providerID)===e(U).id&&((j=e(i).model)==null?void 0:j.modelID)===e(M).id}),Ke(N,"aria-selected",(e(i),e(U),e(M),y(()=>{var X,me;return((X=e(i).model)==null?void 0:X.providerID)===e(U).id&&((me=e(i).model)==null?void 0:me.modelID)===e(M).id}))),Q(ve,(e(M),y(()=>e(M).name||e(M).id)))}),re("click",N,()=>c(e(U).id,e(M).id)),O(I,N)}),ne(()=>Q(ce,(e(U),y(()=>e(U).id)))),O(te,ie)});var Z=T(ee,2),C=m(Z);lt(C,{name:"close",size:11}),Vt(),h(Z),h(v),ne(()=>Ke(Z,"aria-selected",(e(i),y(()=>e(i).model==null)))),re("click",Z,u),O(K,v)};se(B,K=>{e(r)&&K(q)})}h(b),$t(b,K=>f(a,K),()=>e(a)),ne(()=>{Ke(E,"aria-expanded",e(r)),Q(_,e(n))}),re("click",E,()=>{f(r,!e(r)),e(r)&&l()}),O(s,b),et()}var wc=D('<button role="option"> </button>'),xc=D('<div class="pop svelte-dkbq22" role="listbox" aria-label="Mode"><div class="label">Mode</div> <!></div>'),Tc=D('<div class="wrap svelte-dkbq22"><button class="chip mono svelte-dkbq22" aria-haspopup="listbox"><!> <!></button> <!></div>'),Ac=D('<button role="option"> </button>'),Sc=D('<div class="pop svelte-dkbq22" role="listbox" aria-label="Model"><div class="label">Model</div> <!></div>'),Rc=D('<div class="wrap svelte-dkbq22"><button class="chip mono svelte-dkbq22" aria-haspopup="listbox"><!> <!></button> <!></div>'),Nc=D('<div class="controls svelte-dkbq22"><!> <!></div>');function Oc(s,t){Je(t,!1);const n=S(),r=S(),a=S(),o=S();let i=Le(t,"sessionId",8),l=S({}),c=S(null);async function u(){const v=i();try{const A=await Ge.controls(v);if(v!==i())return;f(l,A)}catch{v===i()&&f(l,{})}}async function p(v){e(l).mode&&Yt(l,e(l).mode={...e(l).mode,current:v}),f(c,null);try{await Ge.setMode(i(),v)}catch{}await u()}async function g(v){e(l).model&&Yt(l,e(l).model={...e(l).model,current:v}),f(c,null);try{await Ge.setModel(i(),v)}catch{}await u()}function b(v){f(c,e(c)===v?null:v)}let E=S();function R(v){v.key==="Escape"&&e(c)&&f(c,null)}function P(v){e(c)&&e(E)&&!e(E).contains(v.target)&&f(c,null)}J(()=>pe(i()),()=>{i()&&u()}),J(()=>e(l),()=>{var v;f(n,((v=e(l).mode)==null?void 0:v.options)??[])}),J(()=>e(l),()=>{var v;f(r,((v=e(l).model)==null?void 0:v.options)??[])}),J(()=>e(l),()=>{var v,A,G;f(a,((A=(v=e(l).mode)==null?void 0:v.options.find(ee=>{var Z;return ee.id===((Z=e(l).mode)==null?void 0:Z.current)}))==null?void 0:A.name)??((G=e(l).mode)==null?void 0:G.current)??"mode")}),J(()=>e(l),()=>{var v,A,G;f(o,((A=(v=e(l).model)==null?void 0:v.options.find(ee=>{var Z;return ee.id===((Z=e(l).model)==null?void 0:Z.current)}))==null?void 0:A.name)??((G=e(l).model)==null?void 0:G.current)??"model")}),bt(),Qe();var _=Nc();re("keydown",Zt,R),re("click",Zt,P);var k=m(_);{var B=v=>{var A=Tc(),G=m(A),ee=m(G);lt(ee,{name:"bolt",size:11});var Z=T(ee),C=T(Z);lt(C,{name:"caret-down",size:9}),h(G);var te=T(G,2);{var U=ie=>{var fe=xc(),ce=T(m(fe),2);gt(ce,1,()=>e(n),Qt,(w,I)=>{var M=wc();let N;var Y=m(M,!0);h(M),ne(()=>{var ge;N=st(M,1,"opt svelte-dkbq22",null,N,{sel:e(I).id===((ge=e(l).mode)==null?void 0:ge.current)}),Ke(M,"aria-selected",(e(I),e(l),y(()=>{var ve;return e(I).id===((ve=e(l).mode)==null?void 0:ve.current)}))),Q(Y,(e(I),y(()=>e(I).name)))}),re("click",M,()=>p(e(I).id)),O(w,M)}),h(fe),O(ie,fe)};se(te,ie=>{e(c)==="mode"&&ie(U)})}h(A),ne(()=>{Ke(G,"aria-expanded",e(c)==="mode"),Q(Z,` ${e(a)??""} `)}),re("click",G,()=>b("mode")),O(v,A)};se(k,v=>{e(n),y(()=>e(n).length>0)&&v(B)})}var q=T(k,2);{var K=v=>{var A=Rc(),G=m(A),ee=m(G);lt(ee,{name:"cpu",size:11});var Z=T(ee),C=T(Z);lt(C,{name:"caret-down",size:9}),h(G);var te=T(G,2);{var U=ie=>{var fe=Sc(),ce=T(m(fe),2);gt(ce,1,()=>e(r),Qt,(w,I)=>{var M=Ac();let N;var Y=m(M,!0);h(M),ne(()=>{var ge;N=st(M,1,"opt svelte-dkbq22",null,N,{sel:e(I).id===((ge=e(l).model)==null?void 0:ge.current)}),Ke(M,"aria-selected",(e(I),e(l),y(()=>{var ve;return e(I).id===((ve=e(l).model)==null?void 0:ve.current)}))),Q(Y,(e(I),y(()=>e(I).name)))}),re("click",M,()=>g(e(I).id)),O(w,M)}),h(fe),O(ie,fe)};se(te,ie=>{e(c)==="model"&&ie(U)})}h(A),ne(()=>{Ke(G,"aria-expanded",e(c)==="model"),Q(Z,` ${e(o)??""} `)}),re("click",G,()=>b("model")),O(v,A)};se(q,v=>{e(r),y(()=>e(r).length>0)&&v(K)})}h(_),$t(_,v=>f(E,v),()=>e(E)),O(s,_),et()}var Ic=D('<div class="error svelte-60fagq" role="alert"> </div>'),Mc=D('<button role="option"> </button>'),Cc=D('<div class="mention-dropdown svelte-60fagq" role="listbox"></div>'),Lc=D('<div class="thumb svelte-60fagq"><img alt="attachment" class="svelte-60fagq"/> <button class="remove svelte-60fagq" aria-label="移除图片">×</button></div>'),Dc=D('<div class="thumbnails svelte-60fagq"></div>'),$c=D('<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),Pc=D("<!> <!>",1),Bc=la('<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>'),zc=D('<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 Uc(s,t){Je(t,!1);const n=()=>ft(Vn,"$composerDraft",i),r=()=>ft(ts,"$can",i),a=()=>ft(fa,"$connection",i),o=()=>ft(Vr,"$backendName",i),[i,l]=wn(),c=S();let u=Le(t,"sessionId",8),p=S(""),g=S(),b=S(!1),E=S(""),R=S(!1),P=S(),_=S([]),k=S([]),B=S(0),q=0,K;function v(){return`c_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function A(z){const de=new FileReader;de.onload=()=>{var he;const W=de.result,xe=W.indexOf(","),$=W.slice(0,xe),H=W.slice(xe+1),ue=((he=$.match(/data:(.*?);/))==null?void 0:he[1])??z.type;f(_,[...e(_),{data:H,mimeType:ue,preview:W}])},de.readAsDataURL(z)}function G(z){const de=z.target;if(de.files){for(const W of de.files)A(W);de.value=""}}function ee(z){if(!r()("imageInput")||!z.clipboardData)return;const de=[...z.clipboardData.items].filter(W=>W.type.startsWith("image/"));if(de.length){z.preventDefault();for(const W of de){const xe=W.getAsFile();xe&&A(xe)}}}function Z(z){f(_,e(_).filter((de,W)=>W!==z))}function C(){if(!e(g))return null;const z=e(g).selectionStart,W=e(p).slice(0,z).match(/(^|[\s])@([^\s]*)$/);return W?{token:W[2],start:z-W[2].length-1}:null}function te(){const z=C();if(!z){f(k,[]),clearTimeout(K);return}q=z.start,f(B,0),clearTimeout(K);const de=z.token;K=setTimeout(async()=>{try{f(k,await Ge.files(u(),de))}catch{f(k,[])}},150)}function U(z){const de=e(g).selectionStart,W=e(p).slice(0,q),xe=e(p).slice(de),$=`@${z} `;f(p,W+$+xe),f(k,[]),Ln().then(()=>{const H=W.length+$.length;Yt(g,e(g).selectionStart=Yt(g,e(g).selectionEnd=H)),e(g).focus(),ce()})}async function ie(){var $;const z=e(p).trim();if(!z&&e(_).length===0||e(b))return;if(a()!=="connected"){f(E,"Disconnected — reconnecting…");return}const de=v(),W=e(_).map(({data:H,mimeType:ue})=>({data:H,mimeType:ue}));f(b,!0),f(E,""),Qr({kind:"user",sessionId:u(),text:z,ts:Date.now(),id:`user:${de}`}),f(p,"");const xe=[...e(_)];f(_,[]),ce();try{await Ge.sendMessage({sessionId:u(),text:z,clientId:de,...W.length?{images:W}:{}})}catch(H){f(E,`Send failed: ${H.message}`),Jr(`user:${de}`),f(p,z),f(_,xe)}finally{f(b,!1),($=e(g))==null||$.focus()}}function fe(z){if(e(k).length>0){if(z.key==="ArrowDown"){z.preventDefault(),f(B,Math.min(e(B)+1,e(k).length-1));return}if(z.key==="ArrowUp"){z.preventDefault(),f(B,Math.max(e(B)-1,0));return}if(z.key==="Enter"||z.key==="Tab"){z.preventDefault(),U(e(k)[e(B)]);return}if(z.key==="Escape"){z.preventDefault(),f(k,[]);return}}z.key!=="Enter"||z.shiftKey||z.isComposing||z.keyCode===229||(z.preventDefault(),ie())}function ce(){e(g)&&(Yt(g,e(g).style.height="auto"),Yt(g,e(g).style.height=Math.min(e(g).scrollHeight,140)+"px"))}pn(()=>clearTimeout(K)),J(()=>(n(),e(g)),()=>{const z=n();z&&(f(p,z.text),Vn.set(void 0),Ln().then(()=>{var de;return(de=e(g))==null?void 0:de.focus()}),ce())}),J(()=>e(p),()=>{rr.set(!e(p).trim())}),J(()=>e(p),()=>{f(c,e(p).trim().length>0)}),bt(),Qe();var w=zc(),I=m(w),M=m(I);{var N=z=>{var de=Ic(),W=m(de,!0);h(de),ne(()=>Q(W,e(E))),O(z,de)};se(M,z=>{e(E)&&z(N)})}var Y=T(M,2);let ge;var ve=m(Y);{var x=z=>{var de=Cc();gt(de,5,()=>e(k),Qt,(W,xe,$)=>{var H=Mc();let ue;var he=m(H,!0);h(H),ne(()=>{ue=st(H,1,"mention-row svelte-60fagq",null,ue,{active:$===e(B)}),Ke(H,"aria-selected",$===e(B)),Q(he,e(xe))}),re("mousedown",H,ha(()=>U(e(xe)))),O(W,H)}),h(de),O(z,de)};se(ve,z=>{e(k),y(()=>e(k).length>0)&&z(x)})}var j=T(ve,2);{var X=z=>{var de=Dc();gt(de,5,()=>e(_),Qt,(W,xe,$)=>{var H=Lc(),ue=m(H),he=T(ue,2);h(H),ne(()=>Ke(ue,"src",(e(xe),y(()=>e(xe).preview)))),re("click",he,()=>Z($)),O(W,H)}),h(de),O(z,de)};se(j,z=>{e(_),y(()=>e(_).length>0)&&z(X)})}var me=T(j,2);ia(me),Ke(me,"rows",1),$t(me,z=>f(g,z),()=>e(g));var oe=T(me,2),ke=m(oe);{var Re=z=>{var de=$c(),W=nt(de),xe=T(W,2);$t(xe,$=>f(P,$),()=>e(P)),re("click",W,()=>e(P).click()),re("change",xe,G),O(z,de)},be=bn(()=>(r(),y(()=>r()("imageInput"))));se(ke,z=>{e(be)&&z(Re)})}var Oe=T(ke,2);{var Pe=z=>{var de=Pc(),W=nt(de);mc(W,{});var xe=T(W,2);kc(xe,{}),O(z,de)},Se=bn(()=>(r(),y(()=>r()("catalog"))));se(Oe,z=>{e(Se)&&z(Pe)})}var Be=T(Oe,2);{var Ne=z=>{Oc(z,{get sessionId(){return u()}})},je=bn(()=>(r(),y(()=>r()("sessionControls"))));se(Be,z=>{e(je)&&z(Ne)})}var Ue=T(Be,2),ae=T(Ue,6),Ye=m(ae);{var we=z=>{var de=oa("…");O(z,de)},ye=z=>{var de=Bc();O(z,de)};se(Ye,z=>{e(b)?z(we):z(ye,-1)})}h(ae),h(oe),h(Y),h(I),h(w),ne(z=>{ge=st(Y,1,"box svelte-60fagq",null,ge,{focused:e(R),"has-text":e(c)}),Ke(me,"placeholder",a()==="connected"?`给 ${o()} 留言…`:"连接断开…"),ae.disabled=z},[()=>(e(b),e(p),e(_),a(),y(()=>e(b)||!e(p).trim()&&e(_).length===0||a()!=="connected"))]),pa(me,()=>e(p),z=>f(p,z)),re("keydown",me,fe),re("input",me,()=>{ce(),te()}),re("paste",me,ee),re("focus",me,()=>f(R,!0)),re("blur",me,()=>f(R,!1)),re("click",me,te),re("click",Ue,()=>ga.set(!0)),re("click",ae,ie),O(s,w),et(),l()}var Fc=D('<span class="check svelte-rgafhj">✓</span>'),Hc=D('<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>'),qc=D('<div class="empty svelte-rgafhj"> </div>'),Gc=D('<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>'),jc=D('<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 Wc(s,t){Je(t,!1);const n=()=>ft(ea,"$backends",i),r=()=>ft(Cn,"$sessionList",i),a=()=>ft(ma,"$activeWorkspace",i),o=()=>ft(_s,"$workspaces",i),[i,l]=wn(),c=S(),u=S(),p=S(),g=S(),b=S(),E=S();let R=Le(t,"activeId",8,void 0),P=S(!1),_=S(!1);function k(x){const j=x.split(/[\s\-_:./]+/).filter(Boolean);return j.length>=2?(j[0][0]+j[1][0]).toUpperCase():x.slice(0,2).toUpperCase()}function B(x){return k((x==null?void 0:x.name)||(x==null?void 0:x.id)||"OC")}function q(x){return x==="online"||x==="connected"?"online":x==="connecting"||x==="reconnecting"?"connecting":x==="offline"?"offline":"online"}function K(){f(P,!e(P))}function v(x){f(P,!1),Dn(`/${x}/`)}async function A(){var j;if(e(_))return;const x=a()||((j=o()[0])==null?void 0:j.directory)||"";f(_,!0);try{await na(e(c));const X=await Ge.createSession({directory:x});Cn.set(await Ge.sessions()),_s.set(await Ge.workspaces()),f(P,!1),Dn(`/${X.id}/`)}catch(X){alert(`Create session failed: ${X.message}`)}finally{f(_,!1)}}function G(x){x.key==="Escape"&&f(P,!1)}function ee(x){const j=Date.now()-x,X=Math.floor(j/6e4);if(X<1)return"now";if(X<60)return`${X}m`;const me=Math.floor(X/60);return me<24?`${me}h`:`${Math.floor(me/24)}d`}function Z(x){return(x.includes("_")?x.slice(x.indexOf("_")+1):x).slice(-8)}J(()=>n(),()=>{var x,j,X;f(c,((x=n())==null?void 0:x.activeId)??((X=(j=n())==null?void 0:j.backends[0])==null?void 0:X.id)??"opencode")}),J(()=>(n(),e(c)),()=>{var x;f(u,(x=n())==null?void 0:x.backends.find(j=>j.id===e(c)))}),J(()=>e(c),()=>{f(p,ta(e(c)))}),J(()=>(r(),e(c)),()=>{f(g,r().filter(x=>x.backendId===e(c)||!x.backendId&&e(c)==="opencode").sort((x,j)=>j.lastActiveAt-x.lastActiveAt))}),J(()=>(r(),pe(R())),()=>{f(b,r().find(x=>x.id===R()))}),J(()=>e(b),()=>{var x;f(E,((x=e(b))==null?void 0:x.title)||"Untitled session")}),bt(),Qe();var C=jc();re("keydown",Zt,G);var te=m(C),U=m(te),ie=m(U,!0);h(U);var fe=T(U,2),ce=m(fe),w=m(ce,!0);h(ce),h(fe);var I=T(fe,2),M=m(I,!0);h(I);var N=T(I,2),Y=m(N);lt(Y,{name:"caret-down",size:11}),h(N),h(te);var ge=T(te,2);{var ve=x=>{var j=Gc(),X=m(j);gt(X,5,()=>e(g),Re=>Re.id,(Re,be)=>{var Oe=Hc();let Pe;var Se=m(Oe),Be=T(Se,2),Ne=m(Be),je=m(Ne,!0);h(Ne);var Ue=T(Ne,2),ae=m(Ue);h(Ue),h(Be);var Ye=T(Be,2);{var we=ye=>{var z=Fc();O(ye,z)};se(Ye,ye=>{e(be),pe(R()),y(()=>e(be).id===R())&&ye(we)})}h(Oe),ne((ye,z)=>{Pe=st(Oe,1,"row svelte-rgafhj",null,Pe,{active:e(be).id===R()}),st(Se,1,`dot ${e(be),pe(R()),y(()=>e(be).id===R()?"active":"")??""}`,"svelte-rgafhj"),Q(je,(e(be),y(()=>e(be).title||"Untitled session"))),Q(ae,`${ye??""} · ${z??""}`)},[()=>(e(be),y(()=>Z(e(be).id))),()=>(e(be),y(()=>ee(e(be).lastActiveAt)))]),re("click",Oe,()=>v(e(be).id)),O(Re,Oe)},Re=>{var be=qc(),Oe=m(be);h(be),ne(()=>Q(Oe,`No sessions on ${e(u),y(()=>{var Pe,Se;return((Pe=e(u))==null?void 0:Pe.name)??((Se=e(u))==null?void 0:Se.id)??"this agent"})??""}.`)),O(Re,be)}),h(X);var me=T(X,2),oe=m(me),ke=m(oe);h(oe),h(me),h(j),ne(()=>{oe.disabled=e(_),Q(ke,`+ New session on ${e(u),y(()=>{var Re,be;return((Re=e(u))==null?void 0:Re.name)??((be=e(u))==null?void 0:be.id)??"agent"})??""}`)}),re("click",oe,A),O(x,j)};se(ge,x=>{e(P)&&x(ve)})}h(C),ne((x,j,X)=>{Ke(te,"aria-expanded",e(P)),nr(U,`background:${pe(ms),e(p),y(()=>ms[e(p)])??""}; color:${pe(vs),e(p),y(()=>vs[e(p)])??""}; border-color:${pe(bs),e(p),y(()=>bs[e(p)])??""}`),Q(ie,x),st(fe,1,`status-dot ${j??""}`,"svelte-rgafhj"),Q(w,X),Q(M,e(E))},[()=>(e(u),y(()=>B(e(u)))),()=>(e(u),y(()=>{var x;return q((x=e(u))==null?void 0:x.status)})),()=>(e(u),y(()=>{var x;return q((x=e(u))==null?void 0:x.status)}))]),re("click",te,K),O(s,C),et(),l()}var Kc=D('<div class="scrim svelte-w3h0m4" aria-hidden="true"></div>'),Zc=D('<div class="menu svelte-w3h0m4" role="menu"><button role="menuitem" class="svelte-w3h0m4">打开任务面板</button> <button role="menuitem" class="svelte-w3h0m4">本会话隐藏</button></div>'),Yc=D('<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>'),Xc=D('<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>'),Vc=D('<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),Qc=D('<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>'),Jc=D('<div class="row pending svelte-w3h0m4"><span class="box svelte-w3h0m4"></span><span class="tx svelte-w3h0m4"> </span></div>'),eu=D('<div class="row pending svelte-w3h0m4"><span class="box svelte-w3h0m4"></span><span class="tx svelte-w3h0m4"> </span></div>'),tu=D('<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),nu=D('<span class="sub-dot svelte-w3h0m4" aria-hidden="true"></span>'),su=D('<span class="sub-check svelte-w3h0m4" aria-hidden="true">✓</span>'),ru=D('<span class="sub-count mono svelte-w3h0m4"> </span>'),au=D('<button 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>'),iu=D('<div class="grp static svelte-w3h0m4"><span class="sub-label svelte-w3h0m4"> </span></div> <!>',1),ou=D('<!> <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),lu=D('<span class="badge mono svelte-w3h0m4"> </span>'),cu=D('<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>'),uu=D('<span class="badge mono svelte-w3h0m4"> </span>'),du=D('<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>'),pu=D("<!> <!>",1);function fu(s,t){Je(t,!1);const n=()=>ft(er,"$feeds",o),r=()=>ft(Cn,"$sessionList",o),a=()=>ft(ts,"$can",o),[o,i]=wn(),l=S(),c=S(),u=S(),p=S(),g=S(),b=S(),E=S(),R=S(),P=S();let _=Le(t,"sessionId",8),k=Le(t,"onJump",8,()=>{});const B="ocrc.planHud.v2",q=5,K=16,v=2*Math.PI*K;let A=S(!1);try{f(A,window.matchMedia("(min-width: 821px)").matches)}catch{}const G=e(A)?"ocrc.planHud.dt2":B;function ee(){if(typeof localStorage>"u")return{};try{const W=JSON.parse(localStorage.getItem(G)??"{}")??{};return{dismissed:W.dismissed,expanded:W.expanded}}catch{return{}}}let Z=S(ee()),C=S(e(Z).expanded??e(A));function te(W){if(f(Z,{...e(Z),...W}),!(typeof localStorage>"u"))try{localStorage.setItem(G,JSON.stringify(e(Z)))}catch{}}let U=S({total:0,done:0,items:[]}),ie=S();async function fe(W){try{const xe=await Ge.todo(W);if(W!==_())return;f(ie,W),f(U,va(xe))}catch{}}let ce=S(),w=S(0),I=S(-1),M=S();pn(()=>clearTimeout(e(M)));let N=S([]),Y=S(),ge=!1;async function ve(W){if(!ge){ge=!0;try{const xe=await Ge.subagents(W);if(W!==_())return;f(N,[...xe.subagents??[]].sort(($,H)=>Number(H.busy??!1)-Number($.busy??!1))),f(Y,W)}catch{f(N,[])}finally{ge=!1}}}const x=W=>`ocrc.subparent.${W}`;let j=S();function X(W){try{f(j,sessionStorage.getItem(x(W))??void 0)}catch{f(j,void 0)}}X(_());function me(W){try{sessionStorage.setItem(x(W.id),_())}catch{}f(Oe,!1),k()(W.id)}function oe(){const W=e(j);f(j,void 0),W&&k()(W)}let ke=S(),Re=S(!1),be=S(!1),Oe=S(!1);function Pe(){f(C,!e(C)),te({expanded:e(C)})}function Se(){te({dismissed:[...e(Z).dismissed??[],_()].slice(-20)}),f(Oe,!1)}function Be(){f(Oe,!1),ar.set(!0)}let Ne=S(),je=S(),Ue=S(),ae=S();function Ye(W){var $,H,ue,he;const xe=W.target;if(e(Oe)){if(($=e(je))!=null&&$.contains(xe)||(H=e(Ne))!=null&&H.contains(xe))return;f(Oe,!1)}e(C)&&((ue=e(Ue))!=null&&ue.contains(xe)||(he=e(ae))!=null&&he.contains(xe)||(f(C,!1),te({expanded:!1})))}J(()=>(pe(_()),e(ce)),()=>{_()!==e(ce)&&(f(ce,_()),fe(_()))}),J(()=>(n(),pe(_())),()=>{var W;f(l,((W=n()[_()])==null?void 0:W.lastSeq)??0)}),J(()=>(e(l),e(I),e(M),e(w)),()=>{e(l)!==e(I)&&(f(I,e(l)),clearTimeout(e(M)),f(M,setTimeout(()=>f(w,e(w)+1),1e3)))}),J(()=>(e(w),pe(_())),()=>{e(w)&&(fe(_()),ve(_()))}),J(()=>(r(),pe(_())),()=>{f(c,r().find(W=>W.id===_()))}),J(()=>e(c),()=>{var W;f(u,((W=e(c))==null?void 0:W.title)??"")}),J(()=>e(U),()=>{f(p,e(U).items.filter(W=>W.status==="done"))}),J(()=>e(U),()=>{f(g,e(U).items.filter(W=>W.status==="running"))}),J(()=>e(U),()=>{f(b,e(U).items.filter(W=>W.status==="pending"))}),J(()=>e(b),()=>{f(E,Math.max(0,e(b).length-q))}),J(()=>e(U),()=>{f(R,e(U).total?e(U).done/e(U).total:0)}),J(()=>(e(Z),pe(_())),()=>{var W;f(P,((W=e(Z).dismissed)==null?void 0:W.includes(_()))??!1)}),J(()=>(e(C),pe(_()),e(Y)),()=>{e(C)&&_()&&e(Y)!==_()&&ve(_())}),J(()=>pe(_()),()=>{_()&&X(_())}),J(()=>(pe(_()),e(ke)),()=>{_()!==e(ke)&&(f(ke,_()),f(Re,!1),f(be,!1),f(Oe,!1))}),bt(),Qe();var we=Gt();re("pointerdown",Zt,Ye);var ye=nt(we);{var z=W=>{var xe=pu(),$=nt(xe);{var H=qe=>{var We=ou(),ct=nt(We);{var At=Ee=>{var Ie=Kc();O(Ee,Ie)};se(ct,Ee=>{e(A)||Ee(At)})}var Et=T(ct,2),_t=m(Et),Xe=T(m(_t),2),ut=m(Xe,!0);h(Xe);var dt=T(Xe,2);$t(dt,Ee=>f(Ne,Ee),()=>e(Ne));var Ot=T(dt,2);h(_t);var wt=T(_t,2);{var Ut=Ee=>{var Ie=Zc(),Ce=m(Ie),tt=T(Ce,2);h(Ie),$t(Ie,ot=>f(je,ot),()=>e(je)),re("click",Ce,Be),re("click",tt,Se),O(Ee,Ie)};se(wt,Ee=>{e(Oe)&&Ee(Ut)})}var F=T(wt,2),_e=m(F);{var Me=Ee=>{var Ie=Yc(),Ce=T(m(Ie),2),tt=m(Ce);h(Ce),h(Ie),ne(ot=>Q(tt,`返回父会话 …${ot??""}`),[()=>(e(j),y(()=>e(j).slice(-8)))]),re("click",Ie,oe),O(Ee,Ie)};se(_e,Ee=>{e(j)&&Ee(Me)})}var It=T(_e,2),jt=m(It);h(It);var De=T(It,2);{var Mt=Ee=>{var Ie=Vc(),Ce=nt(Ie),tt=m(Ce);let ot;var Ft=T(tt,2),mt=m(Ft);h(Ft),h(Ce);var Ze=T(Ce,2);{var Ct=Lt=>{var Ht=Gt(),Wt=nt(Ht);gt(Wt,1,()=>e(p),St=>St.text,(St,Rt)=>{var le=Xc(),d=T(m(le)),L=m(d,!0);h(d),h(le),ne(()=>Q(L,(e(Rt),y(()=>e(Rt).text)))),O(St,le)}),O(Lt,Ht)};se(Ze,Lt=>{e(Re)&&Lt(Ct)})}ne(()=>{Ke(Ce,"aria-expanded",e(Re)),ot=st(tt,0,"caret svelte-w3h0m4",null,ot,{open:e(Re)}),Q(mt,`已完成 ${e(p),y(()=>e(p).length)??""}`)}),re("click",Ce,()=>f(Re,!e(Re))),O(Ee,Ie)};se(De,Ee=>{e(p),y(()=>e(p).length)&&Ee(Mt)})}var An=T(De,2);gt(An,1,()=>e(g),Ee=>Ee.text,(Ee,Ie)=>{var Ce=Qc(),tt=T(m(Ce)),ot=m(tt,!0);h(tt),h(Ce),ne(()=>Q(ot,(e(Ie),y(()=>e(Ie).text)))),O(Ee,Ce)});var fn=T(An,2);gt(fn,1,()=>(e(b),y(()=>e(b).slice(0,q))),Ee=>Ee.text,(Ee,Ie)=>{var Ce=Jc(),tt=T(m(Ce)),ot=m(tt,!0);h(tt),h(Ce),ne(()=>Q(ot,(e(Ie),y(()=>e(Ie).text)))),O(Ee,Ce)});var nn=T(fn,2);{var Sn=Ee=>{var Ie=tu(),Ce=nt(Ie),tt=m(Ce);let ot;var Ft=T(tt,2),mt=m(Ft);h(Ft),h(Ce);var Ze=T(Ce,2);{var Ct=Lt=>{var Ht=Gt(),Wt=nt(Ht);gt(Wt,1,()=>(e(b),y(()=>e(b).slice(q))),St=>St.text,(St,Rt)=>{var le=eu(),d=T(m(le)),L=m(d,!0);h(d),h(le),ne(()=>Q(L,(e(Rt),y(()=>e(Rt).text)))),O(St,le)}),O(Lt,Ht)};se(Ze,Lt=>{e(be)&&Lt(Ct)})}ne(()=>{Ke(Ce,"aria-expanded",e(be)),ot=st(tt,0,"caret svelte-w3h0m4",null,ot,{open:e(be)}),Q(mt,`待处理 ${e(E)??""}`)}),re("click",Ce,()=>f(be,!e(be))),O(Ee,Ie)};se(nn,Ee=>{e(E)>0&&Ee(Sn)})}var Rn=T(nn,2);{var qn=Ee=>{var Ie=iu(),Ce=nt(Ie),tt=m(Ce),ot=m(tt);h(tt),h(Ce);var Ft=T(Ce,2);gt(Ft,1,()=>e(N),mt=>mt.id,(mt,Ze)=>{var Ct=au();let Lt;var Ht=m(Ct);{var Wt=V=>{var Te=nu();O(V,Te)},St=V=>{var Te=su();O(V,Te)};se(Ht,V=>{e(Ze),y(()=>e(Ze).busy)?V(Wt):(e(Ze),y(()=>e(Ze).total>0&&e(Ze).done>=e(Ze).total)&&V(St,1))})}var Rt=T(Ht,2);{var le=V=>{var Te=ru(),rt=m(Te);h(Te),ne(()=>Q(rt,`${e(Ze),y(()=>e(Ze).done)??""}/${e(Ze),y(()=>e(Ze).total)??""}`)),O(V,Te)};se(Rt,V=>{e(Ze),y(()=>e(Ze).total>0)&&V(le)})}var d=T(Rt,2),L=m(d,!0);h(d),Vt(2),h(Ct),ne(V=>{Lt=st(Ct,1,"row sub jump svelte-w3h0m4",null,Lt,{idle:!e(Ze).busy}),Q(L,V)},[()=>(e(Ze),y(()=>e(Ze).title||"…"+e(Ze).id.slice(-6)))]),re("click",Ct,()=>me(e(Ze))),O(mt,Ct)}),ne(()=>Q(ot,`子代理 · ${e(N),y(()=>e(N).length)??""}`)),O(Ee,Ie)};se(Rn,Ee=>{e(N),y(()=>e(N).length)&&Ee(qn)})}h(F),h(Et),$t(Et,Ee=>f(Ue,Ee),()=>e(Ue)),ne(Ee=>{Q(ut,Ee),Q(jt,`任务 ${e(U),y(()=>e(U).done)??""}/${e(U),y(()=>e(U).total)??""}`)},[()=>(e(u),pe(_()),y(()=>e(u)||"…"+_().slice(-8)))]),re("click",dt,ba(()=>f(Oe,!e(Oe)))),re("click",Ot,Pe),O(qe,We)};se($,qe=>{e(C)&&qe(H)})}var ue=T($,2);{var he=qe=>{var We=cu(),ct=T(m(We),2),At=m(ct,!0),Et=T(At,2,!0);h(ct);var _t=T(ct,2);{var Xe=ut=>{var dt=lu(),Ot=m(dt,!0);h(dt),ne(()=>Q(Ot,(e(N),y(()=>e(N).length)))),O(ut,dt)};se(_t,ut=>{e(N),y(()=>e(N).length>0)&&ut(Xe)})}Vt(2),h(We),$t(We,ut=>f(ae,ut),()=>e(ae)),ne(()=>{Ke(We,"aria-label",(e(U),y(()=>`展开计划 ${e(U).done}/${e(U).total}`))),Q(At,(e(U),y(()=>e(U).done))),Q(Et,(e(U),y(()=>e(U).total)))}),re("click",We,Pe),O(qe,We)},He=qe=>{var We=du(),ct=m(We),At=m(ct);Ke(At,"r",K);var Et=T(At);Ke(Et,"r",K),h(ct);var _t=T(ct,2),Xe=m(_t,!0),ut=T(Xe,2,!0);h(_t);var dt=T(_t,2);{var Ot=wt=>{var Ut=uu(),F=m(Ut,!0);h(Ut),ne(()=>Q(F,(e(N),y(()=>e(N).length)))),O(wt,Ut)};se(dt,wt=>{e(N),y(()=>e(N).length>0)&&wt(Ot)})}h(We),$t(We,wt=>f(ae,wt),()=>e(ae)),ne(wt=>{Ke(We,"aria-label",(e(U),e(C),y(()=>`计划 ${e(U).done}/${e(U).total} — ${e(C)?"收起":"展开"}`))),Ke(We,"aria-expanded",e(C)),Ke(Et,"stroke-dasharray",wt),Q(Xe,(e(U),y(()=>e(U).done))),Q(ut,(e(U),y(()=>e(U).total)))},[()=>(e(R),y(()=>`${Math.max(v*e(R),v*.02)} ${v}`))]),re("click",We,Pe),O(qe,We)};se(ue,qe=>{e(A)&&!e(C)?qe(he):qe(He,-1)})}O(W,xe)},de=bn(()=>(e(ie),pe(_()),e(U),e(N),e(j),e(P),a(),y(()=>e(ie)===_()&&(e(U).total>0||e(N).length>0||e(j))&&!e(P)&&a()("todos"))));se(ye,W=>{e(de)&&W(z)})}O(s,we),et(),i()}var gu=D('<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>'),hu=D('<span class="branch mono svelte-eho102"> </span>'),mu=D('<span class="pill running mono svelte-eho102"><span class="dot svelte-eho102" aria-hidden="true"></span> </span> <button class="abort svelte-eho102">停止</button>',1),vu=D('<span class="idle mono svelte-eho102">空闲</span>'),bu=D('<button class="load-earlier mono svelte-eho102"> </button>'),_u=D('<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>'),Eu=D('<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>'),yu=D('<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>'),ku=D('<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></div> <!> <div class="composer-float svelte-eho102"><!> <!></div> <!>',1);function Iu(s,t){Je(t,!1);const n=()=>ft(_a,"$page",c),r=()=>ft(er,"$feeds",c),a=()=>ft(Cn,"$sessionList",c),o=()=>ft(rr,"$composerEmpty",c),i=()=>ft(Es,"$leftPanelOpen",c),l=()=>ft(Ea,"$feedResyncing",c),[c,u]=wn(),p=S(),g=S(),b=S(),E=S(),R=S(),P=S(),_=S(),k=S(),B=S();let q=S(),K=S(),v=S(""),A,G,ee=S(!1),Z=S(0),C=S(0),te=S(),U=S(!0);function ie(){e(q)&&Yt(q,e(q).scrollTop=e(q).scrollHeight)}function fe(){e(q)&&f(U,e(q).scrollHeight-e(q).scrollTop-e(q).clientHeight<80)}const ce=80,w=50;let I=S(ce),M=S(0),N=S(!0),Y=S(!1),ge=S("");async function ve(){if(e(Y)||!e(g))return;if(e(E).length>e(I)){f(I,e(I)+ce);return}if(!e(N))return;f(Y,!0);const F=e(q),_e=F?{h:F.scrollHeight,top:F.scrollTop}:null;try{const Me=await Ge.history(e(g),{limit:w,offset:e(M)});(Me.cards??[]).length===0?f(N,!1):(ra(e(g),Me.cards),f(M,e(M)+w),f(I,e(I)+ce),Me.hasMore===!1&&f(N,!1),_e&&F&&(await Ln(),F.scrollTop=F.scrollHeight-_e.h+_e.top))}catch(Me){console.warn("[page] loadEarlier failed",Me)}finally{f(Y,!1)}}let x=S("");function j(F){if(F<60)return`${F}s`;const _e=Math.floor(F/60),Me=F%60;return Me===0?`${_e}m`:`${_e}m ${Me}s`}function X(){Se()}const me=["总结这个项目","最近有什么改动?","运行检查"];let oe=S(!1),ke=S([]),Re;async function be(F,_e){if(Re!==_e){Re=_e;try{const Me=await Ge.suggestions(F);f(ke,Me.suggestions??[])}catch{f(ke,[])}}}let Oe=S(),Pe=S([]);function Se(){if(!e(g))return;const F=[...e(E)].reverse().find(Me=>Me.kind==="user"),_e=F==null?void 0:F.text;_e&&Ge.sendMessage({sessionId:e(g),text:_e,clientId:`web_${Date.now()}`})}async function Be(){if(!(!e(g)||e(ee))){f(ee,!0);try{await Ge.abort(e(g))}catch{}finally{f(ee,!1)}}}ns(()=>{A=new ResizeObserver(()=>{e(K)&&(document.documentElement.style.setProperty("--composer-h",`${e(K).offsetHeight}px`),e(U)&&ie())}),e(K)&&A.observe(e(K));const F=window.visualViewport,_e=()=>{e(U)&&requestAnimationFrame(ie)};F==null||F.addEventListener("resize",_e),G=()=>F==null?void 0:F.removeEventListener("resize",_e)}),pn(()=>{A==null||A.disconnect(),G==null||G(),e(te)&&clearInterval(e(te))}),J(()=>n(),()=>{f(g,n().params.sessionId??"")}),J(()=>(e(g),e(ge)),()=>{e(g)&&e(g)!==e(ge)&&(f(ge,e(g)),f(I,ce),f(M,0),f(N,!0),f(Y,!1))}),J(()=>(r(),e(g)),()=>{f(b,r()[e(g)])}),J(()=>e(b),()=>{f(E,sa(e(b)))}),J(()=>(e(I),e(E)),()=>{f(p,e(I)>=e(E).length?e(E):e(E).slice(-e(I)))}),J(()=>(a(),e(g)),()=>{f(R,a().find(F=>F.id===e(g)))}),J(()=>e(R),()=>{var F;f(P,(F=e(R))!=null&&F.directory&&e(R).directory.replace(/\/+$/,"").split("/").pop()||"")}),J(()=>e(b),()=>{f(_,(()=>{if(!e(b)||e(b).order.length===0)return!1;const F=e(b).byId[e(b).order[e(b).order.length-1]];return(F==null?void 0:F.kind)==="thinking"||(F==null?void 0:F.kind)==="streaming"||(F==null?void 0:F.kind)==="think-stream"})())}),J(()=>(e(_),e(x),e(g),e(Z),e(te)),()=>{e(_)?(e(x)!==e(g)&&(f(x,e(g)),f(Z,0)),!e(Z)&&typeof window<"u"&&(f(Z,Date.now()),f(C,0),e(te)&&clearInterval(e(te)),f(te,setInterval(()=>{f(C,Math.floor((Date.now()-e(Z))/1e3))},1e3)))):(f(Z,0),f(C,0),f(x,""),e(te)&&(clearInterval(e(te)),f(te,void 0)))}),J(()=>e(E),()=>{f(k,e(E).length?e(E)[e(E).length-1]:null)}),J(()=>(e(_),e(k),e(g)),()=>{var F;!e(_)&&((F=e(k))==null?void 0:F.kind)==="assistant"&&e(g)&&be(e(g),e(k).id)}),J(()=>(e(g),e(Oe)),()=>{e(g)!==e(Oe)&&(f(Oe,e(g)),f(oe,!1))}),J(()=>(e(_),e(oe),o(),e(ke),e(E)),()=>{e(_)||e(oe)||!o()?f(Pe,[]):e(ke).length>0?f(Pe,e(ke)):e(E).length===0?f(Pe,me):f(Pe,[])}),J(()=>(e(g),e(b),e(E)),()=>{var F;f(B,`${e(g)}:${((F=e(b))==null?void 0:F.lastSeq)??0}:${e(E).length}`)}),J(()=>(e(B),e(v),e(U)),()=>{e(B)!==e(v)&&(f(v,e(B)),Ln().then(()=>{e(U)&&ie()}))}),bt(),Qe();var Ne=ku(),je=nt(Ne),Ue=m(je),ae=m(Ue),Ye=m(ae),we=T(Ye,2);{var ye=F=>{var _e=gu();re("click",_e,()=>Es.set(!0)),O(F,_e)};se(we,F=>{i()||F(ye)})}var z=T(we,2);Wc(z,{get activeId(){return e(g)}});var de=T(z,2);{var W=F=>{var _e=hu(),Me=m(_e,!0);h(_e),ne(()=>Q(Me,e(P))),O(F,_e)};se(de,F=>{e(P)&&F(W)})}h(ae);var xe=T(ae,2),$=m(xe);{var H=F=>{var _e=mu(),Me=nt(_e),It=T(m(Me));h(Me);var jt=T(Me,2);ne(De=>{Q(It,` 运行中 ${De??""}`),jt.disabled=e(ee)},[()=>(e(C),y(()=>j(e(C))))]),re("click",jt,Be),O(F,_e)},ue=F=>{var _e=vu();O(F,_e)};se($,F=>{e(_)?F(H):F(ue,-1)})}var he=T($,2);h(xe),h(Ue);var He=T(Ue,2);let qe;var We=m(He);{var ct=F=>{var _e=bu(),Me=m(_e,!0);h(_e),ne(()=>{_e.disabled=e(Y),Q(Me,e(Y)?"加载中…":"加载更早消息")}),re("click",_e,ve),O(F,_e)};se(We,F=>{e(E),e(I),e(N),y(()=>e(E).length>0&&(e(E).length>e(I)||e(N)))&&F(ct)})}var At=T(We,2);gt(At,1,()=>e(p),F=>F.id,(F,_e)=>{{let Me=ca(()=>(e(_e),e(k),e(_),y(()=>{var It;return e(_e).id===((It=e(k))==null?void 0:It.id)&&e(_e).kind==="assistant"&&!e(_)?X:void 0})));dc(F,{get card(){return e(_e)},onRetry:Se,get onRegenerate(){return e(Me)}})}});var Et=T(At,2);{var _t=F=>{var _e=Gt(),Me=nt(_e);{var It=De=>{var Mt=_u();O(De,Mt)},jt=De=>{var Mt=Eu();O(De,Mt)};se(Me,De=>{e(b)?De(jt,-1):De(It)})}O(F,_e)};se(Et,F=>{e(E),y(()=>e(E).length===0)&&F(_t)})}h(He),h(je),$t(je,F=>f(q,F),()=>e(q));var Xe=T(je,2);{var ut=F=>{var _e=yu();re("click",_e,ie),O(F,_e)};se(Xe,F=>{e(U),e(E),y(()=>!e(U)&&e(E).length>0)&&F(ut)})}var dt=T(Xe,2),Ot=m(dt);wa(Ot,{get suggestions(){return e(Pe)},onPick:F=>Vn.set({text:F,nonce:Date.now()}),onDismiss:()=>{f(oe,!0),f(Pe,[])}});var wt=T(Ot,2);Uc(wt,{get sessionId(){return e(g)}}),h(dt),$t(dt,F=>f(K,F),()=>e(K));var Ut=T(dt,2);fu(Ut,{get sessionId(){return e(g)},onJump:F=>Dn("/"+F)}),ne(()=>qe=st(He,1,"stream conversation-emerald svelte-eho102",null,qe,{suppressed:l()})),re("click",Ye,()=>Dn("/")),re("click",he,()=>ar.update(F=>!F)),re("scroll",je,fe),O(s,Ne),et(),u()}export{Iu as component};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"
|
|
1
|
+
{"version":"1790711070858"}
|
package/web/dist/index.html
CHANGED
|
@@ -25,32 +25,32 @@
|
|
|
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.
|
|
29
|
-
<link href="/_app/immutable/chunks/
|
|
28
|
+
<link href="/_app/immutable/entry/start.DfH8H-aY.js" rel="modulepreload">
|
|
29
|
+
<link href="/_app/immutable/chunks/Cag3opYu.js" rel="modulepreload">
|
|
30
30
|
<link href="/_app/immutable/chunks/BjY4dxcB.js" rel="modulepreload">
|
|
31
|
-
<link href="/_app/immutable/entry/app.
|
|
31
|
+
<link href="/_app/immutable/entry/app.D9bJIyS2.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.
|
|
35
|
+
<link href="/_app/immutable/nodes/0.Z6vTIOgX.js" rel="modulepreload">
|
|
36
36
|
<link href="/_app/immutable/chunks/TuGPYaVf.js" rel="modulepreload">
|
|
37
|
-
<link href="/_app/immutable/chunks/
|
|
37
|
+
<link href="/_app/immutable/chunks/Bns2hDN-.js" rel="modulepreload">
|
|
38
38
|
|
|
39
|
-
<link href="/_app/immutable/assets/0.
|
|
39
|
+
<link href="/_app/immutable/assets/0.DhEufaF5.css" rel="stylesheet">
|
|
40
40
|
</head>
|
|
41
41
|
<body data-sveltekit-preload-data="hover">
|
|
42
42
|
<div style="display: contents">
|
|
43
43
|
<script>
|
|
44
44
|
{
|
|
45
|
-
|
|
45
|
+
__sveltekit_r3vdrz = {
|
|
46
46
|
base: ""
|
|
47
47
|
};
|
|
48
48
|
|
|
49
49
|
const element = document.currentScript.parentElement;
|
|
50
50
|
|
|
51
51
|
Promise.all([
|
|
52
|
-
import("/_app/immutable/entry/start.
|
|
53
|
-
import("/_app/immutable/entry/app.
|
|
52
|
+
import("/_app/immutable/entry/start.DfH8H-aY.js"),
|
|
53
|
+
import("/_app/immutable/entry/app.D9bJIyS2.js")
|
|
54
54
|
]).then(([kit, app]) => {
|
|
55
55
|
kit.start(app, element);
|
|
56
56
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=location.pathname.split("/").slice(0,-1).join("/"),m=[a+"/_app/immutable/entry/app.
|
|
1
|
+
const a=location.pathname.split("/").slice(0,-1).join("/"),m=[a+"/_app/immutable/entry/app.D9bJIyS2.js",a+"/_app/immutable/nodes/0.Z6vTIOgX.js",a+"/_app/immutable/assets/0.DhEufaF5.css",a+"/_app/immutable/nodes/1.DJjHyvaB.js",a+"/_app/immutable/nodes/2.anb5dWyu.js",a+"/_app/immutable/assets/2.BNuGfmZP.css",a+"/_app/immutable/nodes/3.bCeQKeXf.js",a+"/_app/immutable/assets/3.C2vSHMbd.css",a+"/_app/immutable/chunks/BjY4dxcB.js",a+"/_app/immutable/chunks/Bns2hDN-.js",a+"/_app/immutable/chunks/C2FuqD3s.js",a+"/_app/immutable/chunks/CWj6FrbW.js",a+"/_app/immutable/chunks/Cag3opYu.js",a+"/_app/immutable/chunks/DIEDQ_hk.js",a+"/_app/immutable/chunks/TuGPYaVf.js",a+"/_app/immutable/entry/start.DfH8H-aY.js"],u=[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"],o="1790711070858",n=self,i=`ocrc-cache-${o}`,p=[...m,...u];n.addEventListener("install",s=>{s.waitUntil(caches.open(i).then(e=>e.addAll(p.map(t=>new Request(t,{cache:"reload"})))).then(()=>n.skipWaiting()))});n.addEventListener("activate",s=>{s.waitUntil((async()=>{for(const e of await caches.keys())e!==i&&await caches.delete(e);await n.clients.claim()})())});n.addEventListener("fetch",s=>{const{request:e}=s;if(e.method!=="GET")return;const t=new URL(e.url);if(t.origin===location.origin&&!(t.pathname.startsWith("/api/")||t.pathname==="/ws")){if(p.includes(t.pathname)){s.respondWith(caches.match(e).then(c=>c??fetch(e)));return}s.respondWith((async()=>{try{return await fetch(e)}catch{return await caches.match(e)??await caches.match("/")??Response.error()}})())}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as o,s as r}from"../chunks/_bauirnP.js";export{o as load_css,r as start};
|