@bd7pil/ocrc 0.24.0 → 0.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/web/dist/_app/immutable/assets/3.BAwvOE6a.css +1 -0
- package/web/dist/_app/immutable/chunks/{C_vwsPv1.js → BhZce_xA.js} +1 -1
- package/web/dist/_app/immutable/chunks/BxdASL1c.js +1 -0
- package/web/dist/_app/immutable/chunks/Dm1tyN1d.js +1 -0
- package/web/dist/_app/immutable/entry/{app.CJigVzpL.js → app.ZK2WpwR0.js} +2 -2
- package/web/dist/_app/immutable/entry/start.Db4GBxT1.js +1 -0
- package/web/dist/_app/immutable/nodes/{0.meb8zqTp.js → 0.ZgXhsbCq.js} +1 -1
- package/web/dist/_app/immutable/nodes/{1.BWB0JgqJ.js → 1.F_0YsTyh.js} +1 -1
- package/web/dist/_app/immutable/nodes/{2.CzqaLv_7.js → 2.C9jJHRRz.js} +1 -1
- package/web/dist/_app/immutable/nodes/3.DuYkGD3n.js +2 -0
- 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/assets/3.EPSDx0kZ.css +0 -1
- package/web/dist/_app/immutable/chunks/CDb2pzeY.js +0 -1
- package/web/dist/_app/immutable/chunks/CtMqSQTR.js +0 -1
- package/web/dist/_app/immutable/entry/start.CZTj7arI.js +0 -1
- package/web/dist/_app/immutable/nodes/3.BNEhiQlw.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../chunks/BxdASL1c.js","../chunks/BjY4dxcB.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as sa}from"../chunks/C1FmrZbK.js";import"../chunks/CWj6FrbW.js";import{r as wt,f as _e,p as Ut,l as Xt,i as ba,G as ga,y as wa,k as ca,a as na,b as oa,c as ra,j as ka,z as Ht,e as xa,C as ya,w as $a}from"../chunks/BxdASL1c.js";import{aE as kt,M as Tt,a4 as De,w as h,aB as xt,V as xe,b4 as l,J as o,aK as s,a$ as T,a8 as e,aR as q,a3 as y,aU as r,a6 as _,az as Qt,ap as w,aO as t,aq as It,$ as ft,au as n,b2 as va,aw as Et,av as Mt,ay as Vt,b1 as Nt,aI as Ia,b5 as Ft,b0 as Sa,a7 as Ca,Z as Lt}from"../chunks/BjY4dxcB.js";import{i as j,s as Pt,a as Me}from"../chunks/Chcp5gAM.js";import{i as Be,B as Wt,I as Ye,z as oe,A as at,l as jt,c as Ma,f as Zt,g as da,t as Ea,h as qa,v as Ta,K as ia,a as ja,F as Da,E as Ba,q as Oa,m as Kt,r as Aa,s as Ra,y as Pa,C as La,o as la,j as za}from"../chunks/BhZce_xA.js";import{p as gt,b as Je}from"../chunks/vlg9iH2u.js";import{g as Gt}from"../chunks/Dm1tyN1d.js";var Fa=_('<button class="chip svelte-1hbn5f9" role="listitem"> </button>'),Ha=_('<div class="suggestions svelte-1hbn5f9" role="list" aria-label="建议的后续操作"><!> <button class="dismiss svelte-1hbn5f9" aria-label="忽略建议"><!></button></div>');function Na($e,re){kt(re,!1);let A=gt(re,"suggestions",24,()=>[]),I=gt(re,"onPick",8,()=>{}),J=gt(re,"onDismiss",8,()=>{});wt();var Y=Tt(),D=De(Y);{var x=M=>{var E=Ha(),z=o(E);Be(z,3,A,c=>c,(c,k,S)=>{var B=Fa(),de=o(B,!0);s(B),T(b=>{Wt(B,b),q(de,e(k))},[()=>(xe(e(S)),l(()=>`animation-delay: ${Math.min(e(S),5)*45}ms`))]),y("click",B,()=>I()(e(k))),h(c,B)});var be=r(z,2),R=o(be);Ye(R,{name:"close",size:12}),s(be),s(E),y("click",be,function(...c){var k;(k=J())==null||k.apply(this,c)}),h(M,E)};j(D,M=>{xe(A()),l(()=>A().length>0)&&M(x)})}h($e,Y),xt()}var Wa=_('<div class="none label svelte-1f5vmb3">未配置 agent</div>'),Ka=_('<button role="option"><span> </span> <span class="label mono"> </span></button>'),Ga=_('<div class="pop svelte-1f5vmb3" role="listbox" aria-label="Agent 覆盖"><!> <!> <button class="opt clear svelte-1f5vmb3" role="option"><!> 清除覆盖</button></div>'),Ua=_('<div class="wrap svelte-1f5vmb3"><button class="chip mono svelte-1f5vmb3" aria-haspopup="listbox"><!> <span class="txt svelte-1f5vmb3"> </span> <!></button> <button class="chip icon mono svelte-1f5vmb3" aria-haspopup="listbox"><!></button> <!></div>');function Va($e,re){kt(re,!1);const A=n();let I=n(!1),J=n(),Y=n([]),D=n({agent:null,model:null});async function x(){try{await(async p=>{var C=va(p,2);t(Y,C[0]),t(D,C[1])})(await Promise.all([_e.agents(),_e.getOverrides()]))}catch{}}Qt(x);async function M(p){await _e.setOverrides({agent:p.name}),await x(),t(I,!1)}async function E(){await _e.setOverrides({agent:null}),await x(),t(I,!1)}function z(p){p.key==="Escape"&&e(I)&&t(I,!1)}function be(p){e(I)&&e(J)&&!e(J).contains(p.target)&&t(I,!1)}w(()=>e(D),()=>{t(A,e(D).agent??"default")}),It(),wt();var R=Ua();y("keydown",ft,z),y("click",ft,be);var c=o(R),k=o(c);Ye(k,{name:"cpu",size:11});var S=r(k,2),B=o(S,!0);s(S);var de=r(S,2);Ye(de,{name:"caret-down",size:9}),s(c);var b=r(c,2),K=o(b);Ye(K,{name:"cpu",size:14}),s(b);var Z=r(b,2);{var d=p=>{var C=Ga(),F=o(C);{var ie=V=>{var f=Wa();h(V,f)};j(F,V=>{e(Y),l(()=>e(Y).length===0)&&V(ie)})}var he=r(F,2);Be(he,1,()=>e(Y),V=>V.name,(V,f)=>{var U=Ka();let ge;var ye=o(U),te=o(ye,!0);s(ye);var se=r(ye,2),L=o(se,!0);s(se),s(U),T(ne=>{ge=at(U,1,"opt svelte-1f5vmb3",null,ge,{sel:e(f).name===e(D).agent}),oe(U,"aria-selected",(e(f),e(D),l(()=>e(f).name===e(D).agent))),q(te,(e(f),l(()=>e(f).name))),q(L,ne)},[()=>(e(f),l(()=>e(f).model.split("/").pop()))]),y("click",U,()=>M(e(f))),h(V,U)});var G=r(he,2),P=o(G);Ye(P,{name:"close",size:11}),Et(),s(G),s(C),T(()=>oe(G,"aria-selected",(e(D),l(()=>e(D).agent==null)))),y("click",G,E),h(p,C)};j(Z,p=>{e(I)&&p(d)})}s(R),Je(R,p=>t(J,p),()=>e(J)),T(()=>{oe(c,"aria-expanded",e(I)),q(B,e(A)),oe(b,"aria-label",`Agent:${e(A)}`),oe(b,"aria-expanded",e(I))}),y("click",c,()=>{t(I,!e(I)),e(I)&&x()}),y("click",b,()=>{t(I,!e(I)),e(I)&&x()}),h($e,R),xt()}var Ja=_('<div class="none label svelte-1005b73">暂无模型</div>'),Ya=_('<button role="option"><span> </span></button>'),Xa=_('<div class="prov label mono svelte-1005b73"> </div> <!>',1),Za=_('<div class="pop svelte-1005b73" role="listbox" aria-label="模型覆盖"><!> <!> <button class="opt clear svelte-1005b73" role="option"><!> 清除覆盖</button></div>'),Qa=_('<div class="wrap svelte-1005b73"><button class="chip mono svelte-1005b73" aria-haspopup="listbox"><!> <span class="txt svelte-1005b73"> </span> <!></button> <button class="chip icon mono svelte-1005b73" aria-haspopup="listbox"><!></button> <!></div>');function es($e,re){kt(re,!1);const A=n();let I=n(!1),J=n(),Y=n([]),D=n({agent:null,model:null});async function x(){try{await(async p=>{var C=va(p,2);t(Y,C[0]),t(D,C[1])})(await Promise.all([_e.models(),_e.getOverrides()]))}catch{}}Qt(x);async function M(p,C){await _e.setOverrides({model:{providerID:p,modelID:C}}),await x(),t(I,!1)}async function E(){await _e.setOverrides({model:null}),await x(),t(I,!1)}function z(p){p.key==="Escape"&&e(I)&&t(I,!1)}function be(p){e(I)&&e(J)&&!e(J).contains(p.target)&&t(I,!1)}w(()=>e(D),()=>{var p;t(A,((p=e(D).model)==null?void 0:p.modelID)??"model")}),It(),wt();var R=Qa();y("keydown",ft,z),y("click",ft,be);var c=o(R),k=o(c);Ye(k,{name:"bolt",size:11});var S=r(k,2),B=o(S,!0);s(S);var de=r(S,2);Ye(de,{name:"caret-down",size:9}),s(c);var b=r(c,2),K=o(b);Ye(K,{name:"bolt",size:14}),s(b);var Z=r(b,2);{var d=p=>{var C=Za(),F=o(C);{var ie=V=>{var f=Ja();h(V,f)};j(F,V=>{e(Y),l(()=>e(Y).length===0)&&V(ie)})}var he=r(F,2);Be(he,1,()=>e(Y),V=>V.id,(V,f)=>{var U=Xa(),ge=De(U),ye=o(ge,!0);s(ge);var te=r(ge,2);Be(te,1,()=>(e(f),l(()=>e(f).models)),se=>se.id,(se,L)=>{var ne=Ya();let ue;var m=o(ne),X=o(m,!0);s(m),s(ne),T(()=>{var le,pe;ue=at(ne,1,"opt svelte-1005b73",null,ue,{sel:((le=e(D).model)==null?void 0:le.providerID)===e(f).id&&((pe=e(D).model)==null?void 0:pe.modelID)===e(L).id}),oe(ne,"aria-selected",(e(D),e(f),e(L),l(()=>{var Ee,Xe;return((Ee=e(D).model)==null?void 0:Ee.providerID)===e(f).id&&((Xe=e(D).model)==null?void 0:Xe.modelID)===e(L).id}))),q(X,(e(L),l(()=>e(L).name||e(L).id)))}),y("click",ne,()=>M(e(f).id,e(L).id)),h(se,ne)}),T(()=>q(ye,(e(f),l(()=>e(f).id)))),h(V,U)});var G=r(he,2),P=o(G);Ye(P,{name:"close",size:11}),Et(),s(G),s(C),T(()=>oe(G,"aria-selected",(e(D),l(()=>e(D).model==null)))),y("click",G,E),h(p,C)};j(Z,p=>{e(I)&&p(d)})}s(R),Je(R,p=>t(J,p),()=>e(J)),T(()=>{oe(c,"aria-expanded",e(I)),q(B,e(A)),oe(b,"aria-label",`模型:${e(A)}`),oe(b,"aria-expanded",e(I))}),y("click",c,()=>{t(I,!e(I)),e(I)&&x()}),y("click",b,()=>{t(I,!e(I)),e(I)&&x()}),h($e,R),xt()}var ts=_('<button role="option"> </button>'),as=_('<div class="pop svelte-dkbq22" role="listbox" aria-label="Mode"><div class="label">Mode</div> <!></div>'),ss=_('<div class="wrap svelte-dkbq22"><button class="chip mono svelte-dkbq22" aria-haspopup="listbox"><!> <span class="txt svelte-dkbq22"> </span> <!></button> <!></div>'),ns=_('<button role="option"> </button>'),os=_('<div class="pop svelte-dkbq22" role="listbox" aria-label="Model"><div class="label">Model</div> <!></div>'),rs=_('<div class="wrap svelte-dkbq22"><button class="chip mono svelte-dkbq22" aria-haspopup="listbox"><!> <span class="txt svelte-dkbq22"> </span> <!></button> <!></div>'),is=_('<div class="controls svelte-dkbq22"><!> <!></div>');function ls($e,re){kt(re,!1);const A=n(),I=n(),J=n(),Y=n();let D=gt(re,"sessionId",8),x=n({}),M=n(null);async function E(){const d=D();try{const p=await _e.controls(d);if(d!==D())return;t(x,p)}catch{d===D()&&t(x,{})}}async function z(d){e(x).mode&&Mt(x,e(x).mode={...e(x).mode,current:d}),t(M,null);try{await _e.setMode(D(),d)}catch{}await E()}async function be(d){e(x).model&&Mt(x,e(x).model={...e(x).model,current:d}),t(M,null);try{await _e.setModel(D(),d)}catch{}await E()}function R(d){t(M,e(M)===d?null:d)}let c=n();function k(d){d.key==="Escape"&&e(M)&&t(M,null)}function S(d){e(M)&&e(c)&&!e(c).contains(d.target)&&t(M,null)}w(()=>xe(D()),()=>{D()&&E()}),w(()=>e(x),()=>{var d;t(A,((d=e(x).mode)==null?void 0:d.options)??[])}),w(()=>e(x),()=>{var d;t(I,((d=e(x).model)==null?void 0:d.options)??[])}),w(()=>e(x),()=>{var d,p,C;t(J,((p=(d=e(x).mode)==null?void 0:d.options.find(F=>{var ie;return F.id===((ie=e(x).mode)==null?void 0:ie.current)}))==null?void 0:p.name)??((C=e(x).mode)==null?void 0:C.current)??"mode")}),w(()=>e(x),()=>{var d,p,C;t(Y,((p=(d=e(x).model)==null?void 0:d.options.find(F=>{var ie;return F.id===((ie=e(x).model)==null?void 0:ie.current)}))==null?void 0:p.name)??((C=e(x).model)==null?void 0:C.current)??"model")}),It(),wt();var B=is();y("keydown",ft,k),y("click",ft,S);var de=o(B);{var b=d=>{var p=ss(),C=o(p),F=o(C);Ye(F,{name:"bolt",size:11});var ie=r(F,2),he=o(ie,!0);s(ie);var G=r(ie,2);Ye(G,{name:"caret-down",size:9}),s(C);var P=r(C,2);{var V=f=>{var U=as(),ge=r(o(U),2);Be(ge,1,()=>e(A),jt,(ye,te)=>{var se=ts();let L;var ne=o(se,!0);s(se),T(()=>{var ue;L=at(se,1,"opt svelte-dkbq22",null,L,{sel:e(te).id===((ue=e(x).mode)==null?void 0:ue.current)}),oe(se,"aria-selected",(e(te),e(x),l(()=>{var m;return e(te).id===((m=e(x).mode)==null?void 0:m.current)}))),q(ne,(e(te),l(()=>e(te).name)))}),y("click",se,()=>z(e(te).id)),h(ye,se)}),s(U),h(f,U)};j(P,f=>{e(M)==="mode"&&f(V)})}s(p),T(()=>{oe(C,"aria-expanded",e(M)==="mode"),q(he,e(J))}),y("click",C,()=>R("mode")),h(d,p)};j(de,d=>{e(A),l(()=>e(A).length>0)&&d(b)})}var K=r(de,2);{var Z=d=>{var p=rs(),C=o(p),F=o(C);Ye(F,{name:"cpu",size:11});var ie=r(F,2),he=o(ie,!0);s(ie);var G=r(ie,2);Ye(G,{name:"caret-down",size:9}),s(C);var P=r(C,2);{var V=f=>{var U=os(),ge=r(o(U),2);Be(ge,1,()=>e(I),jt,(ye,te)=>{var se=ns();let L;var ne=o(se,!0);s(se),T(()=>{var ue;L=at(se,1,"opt svelte-dkbq22",null,L,{sel:e(te).id===((ue=e(x).model)==null?void 0:ue.current)}),oe(se,"aria-selected",(e(te),e(x),l(()=>{var m;return e(te).id===((m=e(x).model)==null?void 0:m.current)}))),q(ne,(e(te),l(()=>e(te).name)))}),y("click",se,()=>be(e(te).id)),h(ye,se)}),s(U),h(f,U)};j(P,f=>{e(M)==="model"&&f(V)})}s(p),T(()=>{oe(C,"aria-expanded",e(M)==="model"),q(he,e(Y))}),y("click",C,()=>R("model")),h(d,p)};j(K,d=>{e(I),l(()=>e(I).length>0)&&d(Z)})}s(B),Je(B,d=>t(c,d),()=>e(c)),h($e,B),xt()}const zt={user:"var(--info)",assistant:"var(--accent)",tool:"var(--ok)",other:"var(--border)"};function Yt($e){if(!$e)return 0;let re=0;for(const I of $e)(I.codePointAt(0)??0)>=11904&&re++;const A=$e.length-re;return Math.round(re*.6+A*.25)}function cs($e,re){let A=0,I=0,J=0;for(const M of $e)if(M.kind==="user")A+=Yt(String(M.text??""));else if(M.kind==="assistant")for(const E of M.blocks??[])E.type==="text"?I+=Yt(String(E.text??"")):E.type==="tool"&&(J+=Yt(String(E.args??"")));const Y=A+I+J,D=Math.max(0,re-Y),x=[{key:"用户",tokens:A,color:zt.user},{key:"助手",tokens:I,color:zt.assistant},{key:"工具调用",tokens:J,color:zt.tool}];return D>0&&x.push({key:"其他",tokens:D,color:zt.other}),{segments:x.filter(M=>M.tokens>0),accounted:Y,used:re}}var vs=_('<span class="seg svelte-4bdpxt"></span>'),ds=_('<span class="lg svelte-4bdpxt"><span class="dot svelte-4bdpxt"></span> </span>'),us=_('<div class="bar svelte-4bdpxt" aria-hidden="true"></div> <div class="legend svelte-4bdpxt"></div>',1),ps=_('<div class="bar svelte-4bdpxt" aria-hidden="true"></div>'),fs=_('<div class="row svelte-4bdpxt"><span>缓存命中率</span><span class="mono svelte-4bdpxt"> </span></div>'),ms=_('<div class="row svelte-4bdpxt"><span>消息</span><span class="mono svelte-4bdpxt"> </span></div>'),hs=_('<div class="row svelte-4bdpxt"><span>模型</span><span class="mono svelte-4bdpxt"> </span></div>'),_s=_('<div class="row svelte-4bdpxt"><span>总成本</span><span class="mono svelte-4bdpxt"> </span></div>'),bs=_('<div class="pop svelte-4bdpxt" role="dialog" aria-label="上下文用量"><div class="head svelte-4bdpxt"><span class="label svelte-4bdpxt">上下文</span> <span class="mono dim svelte-4bdpxt"> </span></div> <!> <div class="rows svelte-4bdpxt"><!> <!> <!> <!></div></div>'),gs=_('<div class="wrap svelte-4bdpxt"><button class="ring svelte-4bdpxt" title="上下文占用"><svg viewBox="0 0 24 24" aria-hidden="true" class="svelte-4bdpxt"><circle class="track svelte-4bdpxt" cx="12" cy="12"></circle><circle class="arc svelte-4bdpxt" cx="12" cy="12" transform="rotate(-90 12 12)"></circle></svg> <span class="pct mono svelte-4bdpxt"> <i class="svelte-4bdpxt">%</i></span></button> <!></div>');function ws($e,re){kt(re,!1);const A=()=>Me(Ut,"$feeds",I),[I,J]=Pt(),Y=n(),D=n(),x=n(),M=n(),E=n(),z=n(),be=n(),R=n(),c=n(),k=n(),S=n(),B=n(),de=n(),b=n(),K=n(),Z=n();let d=gt(re,"sessionId",8),p=n({}),C=n(!1),F=n(),ie,he=n(),G=n(-1),P=n();async function V(u){try{t(p,await _e.context(u))}catch{}}Vt(()=>{clearTimeout(e(P)),clearTimeout(ie)});const f=10,U=2*Math.PI*f;function ge(u){return u>=1e6?(u/1e6).toFixed(1)+"M":u>=1e3?(u/1e3).toFixed(1)+"k":String(u)}function ye(u){return u==null?"—":`$${u.toFixed(3)}`}function te(){clearTimeout(ie),t(C,!0)}function se(){clearTimeout(ie),ie=setTimeout(()=>t(C,!1),180)}function L(u){u.key==="Escape"&&t(C,!1)}function ne(u){e(C)&&e(F)&&!e(F).contains(u.target)&&t(C,!1)}w(()=>(xe(d()),e(he)),()=>{d()!==e(he)&&(t(he,d()),V(d()))}),w(()=>(A(),xe(d())),()=>{var u;t(Y,((u=A()[d()])==null?void 0:u.lastSeq)??0)}),w(()=>(e(Y),e(G),e(P),xe(d())),()=>{e(Y)!==e(G)&&(t(G,e(Y)),clearTimeout(e(P)),t(P,setTimeout(()=>void V(d()),1e3)))}),w(()=>e(p),()=>{var u,H;t(D,typeof((H=(u=e(p))==null?void 0:u.tokens)==null?void 0:H.input)=="number"?e(p).tokens.input:0)}),w(()=>e(p),()=>{var u,H;t(x,typeof((H=(u=e(p))==null?void 0:u.tokens)==null?void 0:H.output)=="number"?e(p).tokens.output:0)}),w(()=>(e(p),e(D),e(x)),()=>{var u,H;t(M,typeof((H=(u=e(p))==null?void 0:u.tokens)==null?void 0:H.used)=="number"?e(p).tokens.used:e(D)+e(x))}),w(()=>e(p),()=>{var u,H;t(E,typeof((H=(u=e(p))==null?void 0:u.tokens)==null?void 0:H.max)=="number"?e(p).tokens.max:void 0)}),w(()=>(e(M),e(E)),()=>{t(z,e(M)>0&&e(E)?Math.min(100,e(M)/e(E)*100):0)}),w(()=>e(z),()=>{t(be,e(z)>=90?"var(--err)":e(z)>=70?"var(--warn)":"var(--ok)")}),w(()=>e(p),()=>{var u;t(R,(u=e(p))!=null&&u.model?String(e(p).model).split("/").pop():void 0)}),w(()=>e(p),()=>{var u;t(c,typeof((u=e(p))==null?void 0:u.cost)=="number"?e(p).cost:void 0)}),w(()=>e(p),()=>{var u,H,fe;t(k,typeof((fe=(H=(u=e(p))==null?void 0:u.tokens)==null?void 0:H.cache)==null?void 0:fe.read)=="number"?e(p).tokens.cache.read:0)}),w(()=>e(p),()=>{var u,H,fe;t(S,typeof((fe=(H=(u=e(p))==null?void 0:u.tokens)==null?void 0:H.cache)==null?void 0:fe.write)=="number"?e(p).tokens.cache.write:0)}),w(()=>(e(D),e(k)),()=>{t(B,e(D)+e(k)>0?Math.round(e(k)/(e(D)+e(k))*100):void 0)}),w(()=>(A(),xe(d())),()=>{t(de,A()[d()])}),w(()=>e(de),()=>{t(b,Xt(e(de)).filter(u=>u.kind==="user"||u.kind==="assistant").length)}),w(()=>e(de),()=>{t(K,Xt(e(de)))}),w(()=>(e(K),e(M)),()=>{t(Z,cs(e(K),e(M)))}),It(),wt();var ue=gs();y("keydown",ft,L),y("click",ft,ne);var m=o(ue),X=o(m),le=o(X);oe(le,"r",f);var pe=r(le);oe(pe,"r",f),s(X);var Ee=r(X,2),Xe=o(Ee,!0);Et(),s(Ee),s(m);var Oe=r(m,2);{var ce=u=>{var H=bs(),fe=o(H),Ce=r(o(fe),2),Le=o(Ce);s(Ce),s(fe);var Ge=r(fe,2);{var rt=a=>{var g=us(),O=De(g);Be(O,5,()=>(e(Z),l(()=>e(Z).segments)),jt,(N,ve)=>{var Re=vs();T(()=>Wt(Re,(e(ve),e(Z),l(()=>`width:${e(ve).tokens/(e(Z).used||1)*100}%; background:${e(ve).color}`)))),h(N,Re)}),s(O);var Q=r(O,2);Be(Q,5,()=>(e(Z),l(()=>e(Z).segments)),jt,(N,ve)=>{var Re=ds(),qt=o(Re),Te=r(qt);s(Re),T(we=>{Wt(qt,(e(ve),l(()=>`background:${e(ve).color}`))),q(Te,`${e(ve),l(()=>e(ve).key)??""} ${we??""}%`)},[()=>(e(M),e(ve),l(()=>e(M)>0?(e(ve).tokens/e(M)*100).toFixed(1):"0"))]),h(N,Re)}),s(Q),h(a,g)},mt=a=>{var g=ps();h(a,g)};j(Ge,a=>{e(Z),l(()=>e(Z).segments.length>0)?a(rt):a(mt,-1)})}var Ue=r(Ge,2),Ae=o(Ue);{var ze=a=>{var g=fs(),O=r(o(g)),Q=o(O);s(O),s(g),T(()=>q(Q,`${e(B)??""}%`)),h(a,g)};j(Ae,a=>{e(B)!=null&&a(ze)})}var qe=r(Ae,2);{var st=a=>{var g=ms(),O=r(o(g)),Q=o(O,!0);s(O),s(g),T(()=>q(Q,e(b))),h(a,g)};j(qe,a=>{e(b)>0&&a(st)})}var it=r(qe,2);{var ht=a=>{var g=hs(),O=r(o(g)),Q=o(O,!0);s(O),s(g),T(()=>q(Q,e(R))),h(a,g)};j(it,a=>{e(R)&&a(ht)})}var yt=r(it,2);{var v=a=>{var g=_s(),O=r(o(g)),Q=o(O,!0);s(O),s(g),T(N=>q(Q,N),[()=>(e(c),l(()=>ye(e(c))))]),h(a,g)};j(yt,a=>{e(c)!=null&&a(v)})}s(Ue),s(H),T((a,g)=>q(Le,`${a??""} / ${g??""}`),[()=>(e(M),l(()=>ge(e(M)))),()=>(e(E),l(()=>ge(e(E))))]),h(u,H)};j(Oe,u=>{e(C)&&e(E)&&u(ce)})}s(ue),Je(ue,u=>t(F,u),()=>e(F)),T((u,H,fe)=>{oe(m,"aria-label",u),oe(m,"aria-expanded",e(C)),oe(pe,"stroke",e(be)),oe(pe,"stroke-dasharray",H),q(Xe,fe)},[()=>(e(z),l(()=>`上下文占用 ${e(z).toFixed(0)}%`)),()=>(e(z),l(()=>`${Math.max(U*e(z)/100,e(z)>0?1.5:0)} ${U}`)),()=>(e(z),l(()=>e(z).toFixed(0)))]),y("click",m,()=>t(C,!e(C))),y("mouseenter",ue,te),y("mouseleave",ue,se),h($e,ue),xt(),J()}var ks=_('<div class="error svelte-60fagq" role="alert"> </div>'),xs=_('<button role="option"> </button>'),ys=_('<div class="mention-dropdown svelte-60fagq" role="listbox"></div>'),$s=_('<div class="thumb svelte-60fagq"><img alt="attachment" class="svelte-60fagq"/> <button class="remove svelte-60fagq" aria-label="移除图片">×</button></div>'),Is=_('<div class="thumbnails svelte-60fagq"></div>'),Ss=_('<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),Cs=_("<!> <!>",1),Ms=_('<button class="send stop svelte-60fagq" aria-label="停止" title="停止生成"><svg width="13" height="13" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><rect x="5" y="5" width="14" height="14" rx="2"></rect></svg></button>'),Es=Ca('<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 19V5M5 12l7-7 7 7"></path></svg>'),qs=_('<button class="send svelte-60fagq" aria-label="发送"><!></button>'),Ts=_('<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> <!></div></div></div></div>');function js($e,re){kt(re,!1);const A=()=>Me(Zt,"$composerDraft",x),I=()=>Me(Ut,"$feeds",x),J=()=>Me(ca,"$can",x),Y=()=>Me(qa,"$connection",x),D=()=>Me(ba,"$backendName",x),[x,M]=Pt(),E=n(),z=n(),be=n();let R=gt(re,"sessionId",8),c=n(""),k=n(),S=n(!1),B=n(""),de=n(!1),b=n(),K=n([]),Z=n([]),d=n(0),p=0,C,F=!1;async function ie(){if(!F){F=!0;try{await _e.abort(R())}catch{}finally{F=!1}}}function he(){return`c_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function G(v){const a=new FileReader;a.onload=()=>{var Re;const g=a.result,O=g.indexOf(","),Q=g.slice(0,O),N=g.slice(O+1),ve=((Re=Q.match(/data:(.*?);/))==null?void 0:Re[1])??v.type;t(K,[...e(K),{data:N,mimeType:ve,preview:g}])},a.readAsDataURL(v)}function P(v){const a=v.target;if(a.files){for(const g of a.files)G(g);a.value=""}}function V(v){if(!J()("imageInput")||!v.clipboardData)return;const a=[...v.clipboardData.items].filter(g=>g.type.startsWith("image/"));if(a.length){v.preventDefault();for(const g of a){const O=g.getAsFile();O&&G(O)}}}function f(v){t(K,e(K).filter((a,g)=>g!==v))}function U(){if(!e(k))return null;const v=e(k).selectionStart,g=e(c).slice(0,v).match(/(^|[\s])@([^\s]*)$/);return g?{token:g[2],start:v-g[2].length-1}:null}function ge(){const v=U();if(!v){t(Z,[]),clearTimeout(C);return}p=v.start,t(d,0),clearTimeout(C);const a=v.token;C=setTimeout(async()=>{try{t(Z,await _e.files(R(),a))}catch{t(Z,[])}},150)}function ye(v){const a=e(k).selectionStart,g=e(c).slice(0,p),O=e(c).slice(a),Q=`@${v} `;t(c,g+Q+O),t(Z,[]),Nt().then(()=>{const N=g.length+Q.length;Mt(k,e(k).selectionStart=Mt(k,e(k).selectionEnd=N)),e(k).focus(),L()})}async function te(){var Q;const v=e(c).trim();if(!v&&e(K).length===0||e(S))return;if(Y()!=="connected"){t(B,"Disconnected — reconnecting…");return}const a=he(),g=e(K).map(({data:N,mimeType:ve})=>({data:N,mimeType:ve}));t(S,!0),t(B,""),ga({kind:"user",sessionId:R(),text:v,ts:Date.now(),id:`user:${a}`}),t(c,"");const O=[...e(K)];t(K,[]),L();try{await _e.sendMessage({sessionId:R(),text:v,clientId:a,...g.length?{images:g}:{}})}catch(N){t(B,`Send failed: ${N.message}`),wa(`user:${a}`),t(c,v),t(K,O)}finally{t(S,!1),(Q=e(k))==null||Q.focus()}}function se(v){if(e(Z).length>0){if(v.key==="ArrowDown"){v.preventDefault(),t(d,Math.min(e(d)+1,e(Z).length-1));return}if(v.key==="ArrowUp"){v.preventDefault(),t(d,Math.max(e(d)-1,0));return}if(v.key==="Enter"||v.key==="Tab"){v.preventDefault(),ye(e(Z)[e(d)]);return}if(v.key==="Escape"){v.preventDefault(),t(Z,[]);return}}v.key!=="Enter"||v.shiftKey||v.isComposing||v.keyCode===229||(v.preventDefault(),te())}function L(){e(k)&&(Mt(k,e(k).style.height="auto"),Mt(k,e(k).style.height=Math.min(e(k).scrollHeight,140)+"px"))}Vt(()=>clearTimeout(C)),w(()=>(A(),e(k)),()=>{const v=A();v&&(t(c,v.text),Zt.set(void 0),Nt().then(()=>{var a;return(a=e(k))==null?void 0:a.focus()}),L())}),w(()=>e(c),()=>{da.set(!e(c).trim())}),w(()=>e(c),()=>{t(E,e(c).trim().length>0)}),w(()=>(e(k),e(c)),()=>{e(k)&&e(c)!==void 0&&L()}),w(()=>(I(),xe(R())),()=>{t(z,(()=>{const v=I()[R()];if(!v||v.order.length===0)return!1;const a=v.byId[v.order[v.order.length-1]];return(a==null?void 0:a.kind)==="thinking"||(a==null?void 0:a.kind)==="streaming"||(a==null?void 0:a.kind)==="think-stream"})())}),w(()=>(e(z),e(E),e(S)),()=>{t(be,e(z)&&!e(E)&&!e(S))}),It(),wt();var ne=Ts(),ue=o(ne),m=o(ue);{var X=v=>{var a=ks(),g=o(a,!0);s(a),T(()=>q(g,e(B))),h(v,a)};j(m,v=>{e(B)&&v(X)})}var le=r(m,2);let pe;var Ee=o(le);{var Xe=v=>{var a=ys();Be(a,5,()=>e(Z),jt,(g,O,Q)=>{var N=xs();let ve;var Re=o(N,!0);s(N),T(()=>{ve=at(N,1,"mention-row svelte-60fagq",null,ve,{active:Q===e(d)}),oe(N,"aria-selected",Q===e(d)),q(Re,e(O))}),y("mousedown",N,Ta(()=>ye(e(O)))),h(g,N)}),s(a),h(v,a)};j(Ee,v=>{e(Z),l(()=>e(Z).length>0)&&v(Xe)})}var Oe=r(Ee,2);{var ce=v=>{var a=Is();Be(a,5,()=>e(K),jt,(g,O,Q)=>{var N=$s(),ve=o(N),Re=r(ve,2);s(N),T(()=>oe(ve,"src",(e(O),l(()=>e(O).preview)))),y("click",Re,()=>f(Q)),h(g,N)}),s(a),h(v,a)};j(Oe,v=>{e(K),l(()=>e(K).length>0)&&v(ce)})}var u=r(Oe,2);Ia(u),oe(u,"rows",1),Je(u,v=>t(k,v),()=>e(k));var H=r(u,2),fe=o(H);{var Ce=v=>{var a=Ss(),g=De(a),O=r(g,2);Je(O,Q=>t(b,Q),()=>e(b)),y("click",g,()=>e(b).click()),y("change",O,P),h(v,a)},Le=Ft(()=>(J(),l(()=>J()("imageInput"))));j(fe,v=>{e(Le)&&v(Ce)})}var Ge=r(fe,2);{var rt=v=>{var a=Cs(),g=De(a);Va(g,{});var O=r(g,2);es(O,{}),h(v,a)},mt=Ft(()=>(J(),l(()=>J()("catalog"))));j(Ge,v=>{e(mt)&&v(rt)})}var Ue=r(Ge,2);{var Ae=v=>{ls(v,{get sessionId(){return R()}})},ze=Ft(()=>(J(),l(()=>J()("sessionControls"))));j(Ue,v=>{e(ze)&&v(Ae)})}var qe=r(Ue,2);ws(qe,{get sessionId(){return R()}});var st=r(qe,2),it=r(st,6);{var ht=v=>{var a=Ms();y("click",a,ie),h(v,a)},yt=v=>{var a=qs(),g=o(a);{var O=N=>{var ve=Sa("…");h(N,ve)},Q=N=>{var ve=Es();h(N,ve)};j(g,N=>{e(S)?N(O):N(Q,-1)})}s(a),T(N=>a.disabled=N,[()=>(e(S),e(c),e(K),Y(),l(()=>e(S)||!e(c).trim()&&e(K).length===0||Y()!=="connected"))]),y("click",a,te),h(v,a)};j(it,v=>{e(be)?v(ht):v(yt,-1)})}s(H),s(le),s(ue),s(ne),T(()=>{pe=at(le,1,"box svelte-60fagq",null,pe,{focused:e(de),"has-text":e(E)}),oe(u,"placeholder",Y()==="connected"?`给 ${D()} 留言…`:"连接断开…")}),Ma(u,()=>e(c),v=>t(c,v)),y("keydown",u,se),y("input",u,()=>{L(),ge()}),y("paste",u,V),y("focus",u,()=>t(de,!0)),y("blur",u,()=>t(de,!1)),y("click",u,ge),y("click",st,()=>Ea.set(!0)),h($e,ne),xt(),M()}var Ds=_('<span class="check svelte-rgafhj">✓</span>'),Bs=_('<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>'),Os=_('<div class="empty svelte-rgafhj"> </div>'),As=_('<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>'),Rs=_('<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 Ps($e,re){kt(re,!1);const A=()=>Me(ka,"$backends",D),I=()=>Me(Ht,"$sessionList",D),J=()=>Me(ja,"$activeWorkspace",D),Y=()=>Me(ia,"$workspaces",D),[D,x]=Pt(),M=n(),E=n(),z=n(),be=n(),R=n(),c=n();let k=gt(re,"activeId",8,void 0),S=n(!1),B=n(!1);function de(m){const X=m.split(/[\s\-_:./]+/).filter(Boolean);return X.length>=2?(X[0][0]+X[1][0]).toUpperCase():m.slice(0,2).toUpperCase()}function b(m){return de((m==null?void 0:m.name)||(m==null?void 0:m.id)||"OC")}function K(m){return m==="online"||m==="connected"?"online":m==="connecting"||m==="reconnecting"?"connecting":m==="offline"?"offline":"online"}function Z(){t(S,!e(S))}function d(m){t(S,!1),Gt(`/${m}/`)}async function p(){var X;if(e(B))return;const m=J()||((X=Y()[0])==null?void 0:X.directory)||"";t(B,!0);try{await ya(e(M));const le=await _e.createSession({directory:m});Ht.set(await _e.sessions()),ia.set(await _e.workspaces()),t(S,!1),Gt(`/${le.id}/`)}catch(le){alert(`Create session failed: ${le.message}`)}finally{t(B,!1)}}function C(m){m.key==="Escape"&&t(S,!1)}function F(m){const X=Date.now()-m,le=Math.floor(X/6e4);if(le<1)return"now";if(le<60)return`${le}m`;const pe=Math.floor(le/60);return pe<24?`${pe}h`:`${Math.floor(pe/24)}d`}function ie(m){return(m.includes("_")?m.slice(m.indexOf("_")+1):m).slice(-8)}w(()=>A(),()=>{var m,X,le;t(M,((m=A())==null?void 0:m.activeId)??((le=(X=A())==null?void 0:X.backends[0])==null?void 0:le.id)??"opencode")}),w(()=>(A(),e(M)),()=>{var m;t(E,(m=A())==null?void 0:m.backends.find(X=>X.id===e(M)))}),w(()=>e(M),()=>{t(z,xa(e(M)))}),w(()=>(I(),e(M)),()=>{t(be,I().filter(m=>m.backendId===e(M)||!m.backendId&&e(M)==="opencode").sort((m,X)=>X.lastActiveAt-m.lastActiveAt))}),w(()=>(I(),xe(k())),()=>{t(R,I().find(m=>m.id===k()))}),w(()=>e(R),()=>{var m;t(c,((m=e(R))==null?void 0:m.title)||"Untitled session")}),It(),wt();var he=Rs();y("keydown",ft,C);var G=o(he),P=o(G),V=o(P,!0);s(P);var f=r(P,2),U=o(f),ge=o(U,!0);s(U),s(f);var ye=r(f,2),te=o(ye,!0);s(ye);var se=r(ye,2),L=o(se);Ye(L,{name:"caret-down",size:11}),s(se),s(G);var ne=r(G,2);{var ue=m=>{var X=As(),le=o(X);Be(le,5,()=>e(be),Oe=>Oe.id,(Oe,ce)=>{var u=Bs();let H;var fe=o(u),Ce=r(fe,2),Le=o(Ce),Ge=o(Le,!0);s(Le);var rt=r(Le,2),mt=o(rt);s(rt),s(Ce);var Ue=r(Ce,2);{var Ae=ze=>{var qe=Ds();h(ze,qe)};j(Ue,ze=>{e(ce),xe(k()),l(()=>e(ce).id===k())&&ze(Ae)})}s(u),T((ze,qe)=>{H=at(u,1,"row svelte-rgafhj",null,H,{active:e(ce).id===k()}),at(fe,1,`dot ${e(ce),xe(k()),l(()=>e(ce).id===k()?"active":"")??""}`,"svelte-rgafhj"),q(Ge,(e(ce),l(()=>e(ce).title||"Untitled session"))),q(mt,`${ze??""} · ${qe??""}`)},[()=>(e(ce),l(()=>ie(e(ce).id))),()=>(e(ce),l(()=>F(e(ce).lastActiveAt)))]),y("click",u,()=>d(e(ce).id)),h(Oe,u)},Oe=>{var ce=Os(),u=o(ce);s(ce),T(()=>q(u,`No sessions on ${e(E),l(()=>{var H,fe;return((H=e(E))==null?void 0:H.name)??((fe=e(E))==null?void 0:fe.id)??"this agent"})??""}.`)),h(Oe,ce)}),s(le);var pe=r(le,2),Ee=o(pe),Xe=o(Ee);s(Ee),s(pe),s(X),T(()=>{Ee.disabled=e(B),q(Xe,`+ New session on ${e(E),l(()=>{var Oe,ce;return((Oe=e(E))==null?void 0:Oe.name)??((ce=e(E))==null?void 0:ce.id)??"agent"})??""}`)}),y("click",Ee,p),h(m,X)};j(ne,m=>{e(S)&&m(ue)})}s(he),T((m,X,le)=>{oe(G,"aria-expanded",e(S)),Wt(P,`background:${xe(na),e(z),l(()=>na[e(z)])??""}; color:${xe(oa),e(z),l(()=>oa[e(z)])??""}; border-color:${xe(ra),e(z),l(()=>ra[e(z)])??""}`),q(V,m),at(f,1,`status-dot ${X??""}`,"svelte-rgafhj"),q(ge,le),q(te,e(c))},[()=>(e(E),l(()=>b(e(E)))),()=>(e(E),l(()=>{var m;return K((m=e(E))==null?void 0:m.status)})),()=>(e(E),l(()=>{var m;return K((m=e(E))==null?void 0:m.status)}))]),y("click",G,Z),h($e,he),xt(),x()}var Ls=_('<button class="ghost svelte-w3h0m4" title="重新显示计划窗"><span class="label svelte-w3h0m4">计划</span> <span class="bar-count mono svelte-w3h0m4"> <i class="svelte-w3h0m4">/</i> </span></button>'),zs=_('<div class="scrim svelte-w3h0m4" aria-hidden="true"></div>'),Fs=_('<button role="menuitem" class="svelte-w3h0m4">本会话隐藏</button>'),Hs=_('<div class="menu svelte-w3h0m4" role="menu"><button role="menuitem" class="svelte-w3h0m4">打开任务面板</button> <!></div>'),Ns=_('<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>'),Ws=_('<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>'),Ks=_('<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),Gs=_('<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>'),Us=_('<div class="row pending svelte-w3h0m4"><span class="box svelte-w3h0m4"></span><span class="tx svelte-w3h0m4"> </span></div>'),Vs=_('<div class="row pending svelte-w3h0m4"><span class="box svelte-w3h0m4"></span><span class="tx svelte-w3h0m4"> </span></div>'),Js=_('<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),Ys=_('<span class="sub-count mono svelte-w3h0m4"> </span>'),Xs=_('<button class="row sub jump svelte-w3h0m4" title="打开子代理会话"><span class="sub-dot svelte-w3h0m4" aria-hidden="true"></span> <!> <span class="tx svelte-w3h0m4"> </span> <svg class="go svelte-w3h0m4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg></button>'),Zs=_('<div class="grp static svelte-w3h0m4"><span class="sub-label svelte-w3h0m4"> </span></div> <!>',1),Qs=_('<span class="sub-check svelte-w3h0m4" aria-hidden="true">✓</span>'),en=_('<span class="sub-count mono svelte-w3h0m4"> </span>'),tn=_('<button class="row sub jump idle svelte-w3h0m4" title="打开子代理会话"><!> <!> <span class="tx svelte-w3h0m4"> </span> <svg class="go svelte-w3h0m4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg></button>'),an=_('<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),sn=_('<!> <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),nn=_('<span class="badge mono svelte-w3h0m4"> </span>'),on=_('<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>'),rn=_('<span class="badge mono svelte-w3h0m4"> </span>'),ln=_('<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>'),cn=_("<!> <!>",1);function vn($e,re){kt(re,!1);const A=()=>Me(Ut,"$feeds",Y),I=()=>Me(Ht,"$sessionList",Y),J=()=>Me(ca,"$can",Y),[Y,D]=Pt(),x=n(),M=n(),E=n(),z=n(),be=n(),R=n(),c=n(),k=n(),S=n(),B=n(),de=n();let b=gt(re,"sessionId",8),K=gt(re,"onJump",8,()=>{});const Z="ocrc.planHud.v3",d=5,p=16,C=2*Math.PI*p;let F=n(!1);try{t(F,window.matchMedia("(min-width: 821px)").matches)}catch{}const ie=e(F)?"ocrc.planHud.dt3":Z;function he(){if(typeof localStorage>"u")return{};try{const a=JSON.parse(localStorage.getItem(ie)??"{}")??{};return{dismissed:a.dismissed,expanded:a.expanded}}catch{return{}}}let G=n(he()),P=n(e(G).expanded??e(F));function V(a){if(t(G,{...e(G),...a}),!(typeof localStorage>"u"))try{localStorage.setItem(ie,JSON.stringify(e(G)))}catch{}}let f=n({total:0,done:0,items:[]}),U=n();async function ge(a){try{const g=await _e.todo(a);if(a!==b())return;t(U,a),t(f,Da(g))}catch{}}let ye=n(),te=n(0),se=n(-1),L=n();Vt(()=>clearTimeout(e(L)));let ne=n([]),ue=n(),m=!1;async function X(a){if(!m){m=!0;try{const g=await _e.subagents(a);if(a!==b())return;t(ne,[...g.subagents??[]].sort((O,Q)=>Number(Q.busy??!1)-Number(O.busy??!1))),t(ue,a)}catch{t(ne,[])}finally{m=!1}}}const le=a=>`ocrc.subparent.${a}`;let pe=n();function Ee(a){try{t(pe,sessionStorage.getItem(le(a))??void 0)}catch{t(pe,void 0)}}Ee(b());function Xe(a){try{sessionStorage.setItem(le(a.id),b())}catch{}t(Ce,!1),Aa({id:`sub:${a.id}`,kind:"subagent",title:a.title||"…"+a.id.slice(-6),childId:a.id}),Kt.set(!0)}function Oe(){const a=e(pe);t(pe,void 0),a&&K()(a)}let ce=n(),u=n(!1),H=n(!1),fe=n(!1),Ce=n(!1);function Le(){t(P,!e(P)),V({expanded:e(P)})}function Ge(){V({dismissed:[...e(G).dismissed??[],b()].slice(-20)}),t(Ce,!1)}function rt(){V({dismissed:(e(G).dismissed??[]).filter(a=>a!==b())}),t(P,!0),V({expanded:e(P)})}function mt(){t(Ce,!1),Oa("tasks"),Kt.set(!0)}let Ue=n(),Ae=n(),ze=n(),qe=n();function st(a){var O,Q,N,ve;const g=a.target;if(e(Ce)){if((O=e(Ae))!=null&&O.contains(g)||(Q=e(Ue))!=null&&Q.contains(g))return;t(Ce,!1)}e(P)&&((N=e(ze))!=null&&N.contains(g)||(ve=e(qe))!=null&&ve.contains(g)||(t(P,!1),V({expanded:!1})))}w(()=>(xe(b()),e(ye)),()=>{b()!==e(ye)&&(t(ye,b()),ge(b()))}),w(()=>(A(),xe(b())),()=>{var a;t(x,((a=A()[b()])==null?void 0:a.lastSeq)??0)}),w(()=>(e(x),e(se),e(L),e(te)),()=>{e(x)!==e(se)&&(t(se,e(x)),clearTimeout(e(L)),t(L,setTimeout(()=>t(te,e(te)+1),1e3)))}),w(()=>(e(te),xe(b())),()=>{e(te)&&(ge(b()),X(b()))}),w(()=>(I(),xe(b())),()=>{t(M,I().find(a=>a.id===b()))}),w(()=>e(M),()=>{var a;t(E,((a=e(M))==null?void 0:a.title)??"")}),w(()=>e(f),()=>{t(z,e(f).items.filter(a=>a.status==="done"))}),w(()=>e(f),()=>{t(be,e(f).items.filter(a=>a.status==="running"))}),w(()=>e(f),()=>{t(R,e(f).items.filter(a=>a.status==="pending"))}),w(()=>e(R),()=>{t(c,Math.max(0,e(R).length-d))}),w(()=>e(f),()=>{t(k,e(f).total?e(f).done/e(f).total:0)}),w(()=>(e(G),xe(b())),()=>{var a;t(S,((a=e(G).dismissed)==null?void 0:a.includes(b()))??!1)}),w(()=>e(ne),()=>{t(B,e(ne).filter(a=>a.busy))}),w(()=>e(ne),()=>{t(de,e(ne).filter(a=>!a.busy))}),w(()=>(e(P),xe(b()),e(ue)),()=>{e(P)&&b()&&e(ue)!==b()&&X(b())}),w(()=>xe(b()),()=>{b()&&Ee(b())}),w(()=>(xe(b()),e(ce)),()=>{b()!==e(ce)&&(t(ce,b()),t(u,!1),t(H,!1),t(fe,!1),t(Ce,!1))}),It(),wt();var it=Tt();y("pointerdown",ft,st);var ht=De(it);{var yt=a=>{var g=cn(),O=De(g);{var Q=Te=>{var we=Ls(),Pe=r(o(we),2),Ze=o(Pe,!0),Qe=r(Ze,2,!0);s(Pe),s(we),T(()=>{q(Ze,(e(f),l(()=>e(f).done))),q(Qe,(e(f),l(()=>e(f).total)))}),y("click",we,rt),h(Te,we)},N=Te=>{var we=sn(),Pe=De(we);{var Ze=W=>{var me=zs();h(W,me)};j(Pe,W=>{e(F)||W(Ze)})}var Qe=r(Pe,2),lt=o(Qe),ct=r(o(lt),2),nt=o(ct,!0);s(ct);var vt=r(ct,2);Je(vt,W=>t(Ue,W),()=>e(Ue));var St=r(vt,2);s(lt);var et=r(lt,2);{var Ct=W=>{var me=Hs(),ae=o(me),Se=r(ae,2);{var je=Ne=>{var ot=Fs();y("click",ot,Ge),h(Ne,ot)};j(Se,Ne=>{e(F)||Ne(je)})}s(me),Je(me,Ne=>t(Ae,Ne),()=>e(Ae)),y("click",ae,mt),h(W,me)};j(et,W=>{e(Ce)&&W(Ct)})}var _t=r(et,2),Dt=o(_t);{var Jt=W=>{var me=Ns(),ae=r(o(me),2),Se=o(ae);s(ae),s(me),T(je=>q(Se,`返回父会话 …${je??""}`),[()=>(e(pe),l(()=>e(pe).slice(-8)))]),y("click",me,Oe),h(W,me)};j(Dt,W=>{e(pe)&&W(Jt)})}var Bt=r(Dt,2),i=o(Bt);s(Bt);var $=r(Bt,2);{var ee=W=>{var me=Ks(),ae=De(me),Se=o(ae);let je;var Ne=r(Se,2),ot=o(Ne);s(Ne),s(ae);var We=r(ae,2);{var dt=Ve=>{var ut=Tt(),$t=De(ut);Be($t,1,()=>e(z),tt=>tt.text,(tt,ke)=>{var Ke=Ws(),pt=r(o(Ke)),At=o(pt,!0);s(pt),s(Ke),T(()=>q(At,(e(ke),l(()=>e(ke).text)))),h(tt,Ke)}),h(Ve,ut)};j(We,Ve=>{e(u)&&Ve(dt)})}T(()=>{oe(ae,"aria-expanded",e(u)),je=at(Se,0,"caret svelte-w3h0m4",null,je,{open:e(u)}),q(ot,`已完成 ${e(z),l(()=>e(z).length)??""}`)}),y("click",ae,()=>t(u,!e(u))),h(W,me)};j($,W=>{e(z),l(()=>e(z).length)&&W(ee)})}var Fe=r($,2);Be(Fe,1,()=>e(be),W=>W.text,(W,me)=>{var ae=Gs(),Se=r(o(ae)),je=o(Se,!0);s(Se),s(ae),T(()=>q(je,(e(me),l(()=>e(me).text)))),h(W,ae)});var Ie=r(Fe,2);Be(Ie,1,()=>(e(R),l(()=>e(R).slice(0,d))),W=>W.text,(W,me)=>{var ae=Us(),Se=r(o(ae)),je=o(Se,!0);s(Se),s(ae),T(()=>q(je,(e(me),l(()=>e(me).text)))),h(W,ae)});var He=r(Ie,2);{var Ot=W=>{var me=Js(),ae=De(me),Se=o(ae);let je;var Ne=r(Se,2),ot=o(Ne);s(Ne),s(ae);var We=r(ae,2);{var dt=Ve=>{var ut=Tt(),$t=De(ut);Be($t,1,()=>(e(R),l(()=>e(R).slice(d))),tt=>tt.text,(tt,ke)=>{var Ke=Vs(),pt=r(o(Ke)),At=o(pt,!0);s(pt),s(Ke),T(()=>q(At,(e(ke),l(()=>e(ke).text)))),h(tt,Ke)}),h(Ve,ut)};j(We,Ve=>{e(H)&&Ve(dt)})}T(()=>{oe(ae,"aria-expanded",e(H)),je=at(Se,0,"caret svelte-w3h0m4",null,je,{open:e(H)}),q(ot,`待处理 ${e(c)??""}`)}),y("click",ae,()=>t(H,!e(H))),h(W,me)};j(He,W=>{e(c)>0&&W(Ot)})}var ea=r(He,2);{var ua=W=>{var me=Zs(),ae=De(me),Se=o(ae),je=o(Se);s(Se),s(ae);var Ne=r(ae,2);Be(Ne,1,()=>e(B),ot=>ot.id,(ot,We)=>{var dt=Xs(),Ve=r(o(dt),2);{var ut=ke=>{var Ke=Ys(),pt=o(Ke);s(Ke),T(()=>q(pt,`${e(We),l(()=>e(We).done)??""}/${e(We),l(()=>e(We).total)??""}`)),h(ke,Ke)};j(Ve,ke=>{e(We),l(()=>e(We).total>0)&&ke(ut)})}var $t=r(Ve,2),tt=o($t,!0);s($t),Et(2),s(dt),T(ke=>q(tt,ke),[()=>(e(We),l(()=>e(We).title||"…"+e(We).id.slice(-6)))]),y("click",dt,()=>Xe(e(We))),h(ot,dt)}),T(()=>q(je,`子代理 · 运行中 ${e(B),l(()=>e(B).length)??""}`)),h(W,me)};j(ea,W=>{e(B),l(()=>e(B).length)&&W(ua)})}var pa=r(ea,2);{var fa=W=>{var me=an(),ae=De(me),Se=o(ae);let je;var Ne=r(Se,2),ot=o(Ne);s(Ne),s(ae);var We=r(ae,2);{var dt=Ve=>{var ut=Tt(),$t=De(ut);Be($t,1,()=>e(de),tt=>tt.id,(tt,ke)=>{var Ke=tn(),pt=o(Ke);{var At=bt=>{var Rt=Qs();h(bt,Rt)};j(pt,bt=>{e(ke),l(()=>e(ke).total>0&&e(ke).done>=e(ke).total)&&bt(At)})}var ta=r(pt,2);{var ma=bt=>{var Rt=en(),_a=o(Rt);s(Rt),T(()=>q(_a,`${e(ke),l(()=>e(ke).done)??""}/${e(ke),l(()=>e(ke).total)??""}`)),h(bt,Rt)};j(ta,bt=>{e(ke),l(()=>e(ke).total>0)&&bt(ma)})}var aa=r(ta,2),ha=o(aa,!0);s(aa),Et(2),s(Ke),T(bt=>q(ha,bt),[()=>(e(ke),l(()=>e(ke).title||"…"+e(ke).id.slice(-6)))]),y("click",Ke,()=>Xe(e(ke))),h(tt,Ke)}),h(Ve,ut)};j(We,Ve=>{e(fe)&&Ve(dt)})}T(()=>{oe(ae,"aria-expanded",e(fe)),je=at(Se,0,"caret svelte-w3h0m4",null,je,{open:e(fe)}),q(ot,`子代理 · 已结束 ${e(de),l(()=>e(de).length)??""}`)}),y("click",ae,()=>t(fe,!e(fe))),h(W,me)};j(pa,W=>{e(de),l(()=>e(de).length)&&W(fa)})}s(_t),s(Qe),Je(Qe,W=>t(ze,W),()=>e(ze)),T(W=>{q(nt,W),q(i,`任务 ${e(f),l(()=>e(f).done)??""}/${e(f),l(()=>e(f).total)??""}`)},[()=>(e(E),xe(b()),l(()=>e(E)||"…"+b().slice(-8)))]),y("click",vt,Ba(()=>t(Ce,!e(Ce)))),y("click",St,Le),h(Te,we)};j(O,Te=>{e(S)&&!e(F)?Te(Q):e(P)&&Te(N,1)})}var ve=r(O,2);{var Re=Te=>{var we=on(),Pe=r(o(we),2),Ze=o(Pe,!0),Qe=r(Ze,2,!0);s(Pe);var lt=r(Pe,2);{var ct=nt=>{var vt=nn(),St=o(vt,!0);s(vt),T(()=>q(St,(e(B),l(()=>e(B).length)))),h(nt,vt)};j(lt,nt=>{e(B),l(()=>e(B).length>0)&&nt(ct)})}Et(2),s(we),Je(we,nt=>t(qe,nt),()=>e(qe)),T(()=>{oe(we,"aria-label",(e(f),l(()=>`展开计划 ${e(f).done}/${e(f).total}`))),q(Ze,(e(f),l(()=>e(f).done))),q(Qe,(e(f),l(()=>e(f).total)))}),y("click",we,Le),h(Te,we)},qt=Te=>{var we=ln(),Pe=o(we),Ze=o(Pe);oe(Ze,"r",p);var Qe=r(Ze);oe(Qe,"r",p),s(Pe);var lt=r(Pe,2),ct=o(lt,!0),nt=r(ct,2,!0);s(lt);var vt=r(lt,2);{var St=et=>{var Ct=rn(),_t=o(Ct,!0);s(Ct),T(()=>q(_t,(e(B),l(()=>e(B).length)))),h(et,Ct)};j(vt,et=>{e(B),l(()=>e(B).length>0)&&et(St)})}s(we),Je(we,et=>t(qe,et),()=>e(qe)),T(et=>{oe(we,"aria-label",(e(f),e(P),l(()=>`计划 ${e(f).done}/${e(f).total} — ${e(P)?"收起":"展开"}`))),oe(we,"aria-expanded",e(P)),oe(Qe,"stroke-dasharray",et),q(ct,(e(f),l(()=>e(f).done))),q(nt,(e(f),l(()=>e(f).total)))},[()=>(e(k),l(()=>`${Math.max(C*e(k),C*.02)} ${C}`))]),y("click",we,Le),h(Te,we)};j(ve,Te=>{e(F)&&!e(P)?Te(Re):!e(S)&&!(e(F)&&!e(P))&&Te(qt,1)})}h(a,g)},v=Ft(()=>(e(U),xe(b()),e(f),e(ne),e(pe),J(),l(()=>e(U)===b()&&(e(f).total>0||e(ne).length>0||e(pe))&&J()("todos"))));j(ht,a=>{e(v)&&a(yt)})}h($e,it),xt(),D()}var dn=_('<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>'),un=_('<span class="branch mono svelte-eho102"> </span>'),pn=_('<span class="pill running mono svelte-eho102"><span class="dot svelte-eho102" aria-hidden="true"></span> </span>'),fn=_('<button class="restore mono svelte-eho102" title="恢复被撤销的轮次">恢复上一轮</button>'),mn=_('<!> <span class="idle mono svelte-eho102">空闲</span>',1),hn=_('<button class="load-earlier mono svelte-eho102"> </button>'),_n=_('<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>'),bn=_('<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>'),gn=_('<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>'),wn=_('<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> <button class="pane-toggle svelte-eho102" title="侧栏面板" aria-label="侧栏面板"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" aria-hidden="true"><rect x="3" y="4" width="18" height="16" rx="2"></rect><path d="M15 4v16"></path><path d="M9 9l3 3-3 3"></path></svg></button></div></div> <div aria-live="polite"><!> <!> <div class="stream-end svelte-eho102" aria-hidden="true"></div> <!></div></div> <!> <div class="composer-float svelte-eho102"><!> <!></div> <!>',1);function En($e,re){kt(re,!1);const A=()=>Me(Ra,"$page",E),I=()=>Me(Ut,"$feeds",E),J=()=>Me(Ht,"$sessionList",E),Y=()=>Me(da,"$composerEmpty",E),D=()=>Me(Pa,"$sessionBooting",E),x=()=>Me(la,"$leftPanelOpen",E),M=()=>Me(za,"$feedResyncing",E),[E,z]=Pt(),be=n(),R=n(),c=n(),k=n(),S=n(),B=n(),de=n(),b=n(),K=n(),Z=n();let d=n(),p=n(),C=n(),F,ie=n(""),he,G,P=n(0),V=n(0),f=n(),U=n(!0);function ge(){e(d)&&Mt(d,e(d).scrollTop=e(d).scrollHeight)}function ye(){e(d)&&t(U,e(d).scrollHeight-e(d).scrollTop-e(d).clientHeight<80)}const te=80,se=50;let L=n(te),ne=n(0),ue=n(!0),m=n(!1),X=n("");async function le(){if(e(m)||!e(c))return;if(e(S).length>e(L)){t(L,e(L)+te);return}if(!e(ue))return;t(m,!0);const i=e(d),$=i?{h:i.scrollHeight,top:i.scrollTop}:null;try{const ee=await _e.history(e(c),{limit:se,offset:e(ne)});(ee.cards??[]).length===0?t(ue,!1):($a(e(c),ee.cards),t(ne,e(ne)+se),t(L,e(L)+te),ee.hasMore===!1&&t(ue,!1),$&&i&&(await Nt(),i.scrollTop=i.scrollHeight-$.h+$.top))}catch(ee){console.warn("[page] loadEarlier failed",ee)}finally{t(m,!1)}}let pe=n("");function Ee(i){if(i<60)return`${i}s`;const $=Math.floor(i/60),ee=i%60;return ee===0?`${$}m`:`${$}m ${ee}s`}function Xe(){ze()}async function Oe(i){if(!(!e(c)||!i))try{await _e.revertSession(e(c),i);const{cards:$,lastSeq:ee}=await _e.history(e(c)),{setHistory:Fe}=await sa(async()=>{const{setHistory:Ie}=await import("../chunks/BxdASL1c.js").then(He=>He.B);return{setHistory:Ie}},__vite__mapDeps([0,1]),import.meta.url);Fe(e(c),$,ee),window.dispatchEvent(new CustomEvent("ocrc:resubscribe",{detail:{sessionId:e(c),sinceSeq:ee}}))}catch{}}let ce=n(!1),u=n();async function H(i){try{const $=await _e.revertState(i);t(ce,$.reverted),t(u,$.messageID)}catch{t(ce,!1),t(u,void 0)}}async function fe(){if(e(c))try{await _e.unrevertSession(e(c)),t(ce,!1);const{cards:i,lastSeq:$}=await _e.history(e(c)),{setHistory:ee}=await sa(async()=>{const{setHistory:Fe}=await import("../chunks/BxdASL1c.js").then(Ie=>Ie.B);return{setHistory:Fe}},__vite__mapDeps([0,1]),import.meta.url);ee(e(c),i,$),window.dispatchEvent(new CustomEvent("ocrc:resubscribe",{detail:{sessionId:e(c),sinceSeq:$}}))}catch{}}const Ce=["总结这个项目","最近有什么改动?","运行检查"];let Le=n(!1),Ge=n([]),rt;async function mt(i,$){if(rt!==$){rt=$;try{const ee=await _e.suggestions(i);t(Ge,ee.suggestions??[])}catch{t(Ge,[])}}}let Ue=n(),Ae=n([]);function ze(){if(!e(c))return;const i=[...e(S)].reverse().find(ee=>ee.kind==="user"),$=i==null?void 0:i.text;$&&_e.sendMessage({sessionId:e(c),text:$,clientId:`web_${Date.now()}`})}Qt(()=>{he=new ResizeObserver(()=>{e(p)&&(document.documentElement.style.setProperty("--composer-h",`${e(p).offsetHeight}px`),e(U)&&ge()),e(d)&&document.documentElement.style.setProperty("--sbw",`${e(d).offsetWidth-e(d).clientWidth}px`)}),e(p)&&he.observe(e(p)),e(d)&&he.observe(e(d)),F=new IntersectionObserver(ee=>{if(!e(U)||!ee.some(Ie=>!Ie.isIntersecting))return;e(d).scrollHeight-e(d).scrollTop-e(d).clientHeight<=24?requestAnimationFrame(ge):t(U,!1)},{root:e(d),threshold:0}),e(C)&&F.observe(e(C));const i=window.visualViewport,$=()=>{e(U)&&requestAnimationFrame(ge)};i==null||i.addEventListener("resize",$),G=()=>i==null?void 0:i.removeEventListener("resize",$)}),Vt(()=>{he==null||he.disconnect(),F==null||F.disconnect(),G==null||G(),e(f)&&clearInterval(e(f))}),w(()=>A(),()=>{t(c,A().params.sessionId??"")}),w(()=>(e(c),e(X)),()=>{e(c)&&e(c)!==e(X)&&(t(X,e(c)),t(L,te),t(ne,0),t(ue,!0),t(m,!1))}),w(()=>(I(),e(c)),()=>{t(k,I()[e(c)])}),w(()=>e(k),()=>{t(b,(()=>{if(!e(k)||e(k).order.length===0)return!1;const i=e(k).byId[e(k).order[e(k).order.length-1]];return(i==null?void 0:i.kind)==="thinking"||(i==null?void 0:i.kind)==="streaming"||(i==null?void 0:i.kind)==="think-stream"})())}),w(()=>(e(b),e(u)),()=>{e(b)&&e(u)&&t(u,void 0)}),w(()=>e(k),()=>{t(S,Xt(e(k)))}),w(()=>(e(u),e(S)),()=>{t(be,e(u)?(()=>{let i=-1;for(let $=e(S).length-1;$>=0;$--)if(e(S)[$].messageId===e(u)){i=$;break}return i===-1?e(S):e(S).slice(0,i)})():e(S))}),w(()=>(e(L),e(be)),()=>{t(R,e(L)>=e(be).length?e(be):e(be).slice(-e(L)))}),w(()=>(J(),e(c)),()=>{t(B,J().find(i=>i.id===e(c)))}),w(()=>e(B),()=>{var i;t(de,(i=e(B))!=null&&i.directory&&e(B).directory.replace(/\/+$/,"").split("/").pop()||"")}),w(()=>(e(b),e(pe),e(c),e(P),e(f)),()=>{e(b)?(e(pe)!==e(c)&&(t(pe,e(c)),t(P,0)),!e(P)&&typeof window<"u"&&(t(P,Date.now()),t(V,0),e(f)&&clearInterval(e(f)),t(f,setInterval(()=>{t(V,Math.floor((Date.now()-e(P))/1e3))},1e3)))):(t(P,0),t(V,0),t(pe,""),e(f)&&(clearInterval(e(f)),t(f,void 0)))}),w(()=>e(S),()=>{t(K,e(S).length?e(S)[e(S).length-1]:null)}),w(()=>e(c),()=>{e(c)&&(e(c),H(e(c)))}),w(()=>(e(b),e(K),e(c)),()=>{var i;!e(b)&&((i=e(K))==null?void 0:i.kind)==="assistant"&&e(c)&&e(K).id&&mt(e(c),e(K).id)}),w(()=>(e(c),e(Ue)),()=>{e(c)!==e(Ue)&&(t(Ue,e(c)),t(Le,!1))}),w(()=>(e(b),e(Le),Y(),e(k),D(),e(Ge),e(S)),()=>{e(b)||e(Le)||!Y()||!e(k)||D()?t(Ae,[]):e(Ge).length>0?t(Ae,e(Ge)):e(S).length===0?t(Ae,Ce):t(Ae,[])}),w(()=>(e(c),e(k),e(S)),()=>{var i;t(Z,`${e(c)}:${((i=e(k))==null?void 0:i.lastSeq)??0}:${e(S).length}`)}),w(()=>(e(Z),e(ie),e(U)),()=>{e(Z)!==e(ie)&&(t(ie,e(Z)),Nt().then(()=>{e(U)&&ge()}))}),It(),wt();var qe=wn(),st=De(qe),it=o(st),ht=o(it),yt=o(ht),v=r(yt,2);{var a=i=>{var $=dn();y("click",$,()=>la.set(!0)),h(i,$)};j(v,i=>{x()||i(a)})}var g=r(v,2);Ps(g,{get activeId(){return e(c)}});var O=r(g,2);{var Q=i=>{var $=un(),ee=o($,!0);s($),T(()=>q(ee,e(de))),h(i,$)};j(O,i=>{e(de)&&i(Q)})}s(ht);var N=r(ht,2),ve=o(N);{var Re=i=>{var $=pn(),ee=r(o($));s($),T(Fe=>q(ee,` 运行中 ${Fe??""}`),[()=>(e(V),l(()=>Ee(e(V))))]),h(i,$)},qt=i=>{var $=mn(),ee=De($);{var Fe=Ie=>{var He=fn();y("click",He,fe),h(Ie,He)};j(ee,Ie=>{e(ce)&&Ie(Fe)})}Et(2),h(i,$)};j(ve,i=>{e(b)?i(Re):i(qt,-1)})}var Te=r(ve,2),we=r(Te,2);s(N),s(it);var Pe=r(it,2);let Ze;var Qe=o(Pe);{var lt=i=>{var $=hn(),ee=o($,!0);s($),T(()=>{$.disabled=e(m),q(ee,e(m)?"加载中…":"加载更早消息")}),y("click",$,le),h(i,$)};j(Qe,i=>{e(S),e(L),e(ue),l(()=>e(S).length>0&&(e(S).length>e(L)||e(ue)))&&i(lt)})}var ct=r(Qe,2);Be(ct,1,()=>e(R),i=>i.id,(i,$)=>{const ee=Lt(()=>(e($),e(K),e(b),l(()=>{var Ie;return e($).id===((Ie=e(K))==null?void 0:Ie.id)&&e($).kind==="assistant"&&!e(b)}))),Fe=Lt(()=>(xe(e(ee)),e(K),l(()=>{var Ie;return e(ee)&&((Ie=e(K))==null?void 0:Ie.kind)==="assistant"?e(K).messageId:void 0})));{let Ie=Lt(()=>e(ee)?Xe:void 0),He=Lt(()=>e(ee)&&e(Fe)?()=>Oe(e(Fe)):void 0);La(i,{get card(){return e($)},onRetry:ze,get onRegenerate(){return e(Ie)},get onRevert(){return e(He)}})}});var nt=r(ct,2);Je(nt,i=>t(C,i),()=>e(C));var vt=r(nt,2);{var St=i=>{var $=Tt(),ee=De($);{var Fe=He=>{var Ot=_n();h(He,Ot)},Ie=He=>{var Ot=bn();h(He,Ot)};j(ee,He=>{e(k)?He(Ie,-1):He(Fe)})}h(i,$)};j(vt,i=>{e(S),l(()=>e(S).length===0)&&i(St)})}s(Pe),s(st),Je(st,i=>t(d,i),()=>e(d));var et=r(st,2);{var Ct=i=>{var $=gn();y("click",$,ge),h(i,$)};j(et,i=>{e(U),e(S),l(()=>!e(U)&&e(S).length>0)&&i(Ct)})}var _t=r(et,2),Dt=o(_t);Na(Dt,{get suggestions(){return e(Ae)},onPick:i=>Zt.set({text:i,nonce:Date.now()}),onDismiss:()=>{t(Le,!0),t(Ae,[])}});var Jt=r(Dt,2);js(Jt,{get sessionId(){return e(c)}}),s(_t),Je(_t,i=>t(p,i),()=>e(p));var Bt=r(_t,2);vn(Bt,{get sessionId(){return e(c)},onJump:i=>Gt("/"+i)}),T(()=>Ze=at(Pe,1,"stream conversation-emerald svelte-eho102",null,Ze,{suppressed:M()})),y("click",yt,()=>Gt("/")),y("click",Te,()=>Kt.update(i=>!i)),y("click",we,()=>Kt.update(i=>!i)),y("scroll",st,ye),h($e,qe),xt(),z()}export{En as component};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"
|
|
1
|
+
{"version":"1790972436328"}
|
package/web/dist/index.html
CHANGED
|
@@ -26,17 +26,17 @@
|
|
|
26
26
|
<!-- iOS standalone PWA: fullscreen + translucent status bar (content padded via safe-area insets) -->
|
|
27
27
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
28
28
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
29
|
-
<link href="/_app/immutable/entry/start.
|
|
30
|
-
<link href="/_app/immutable/chunks/
|
|
29
|
+
<link href="/_app/immutable/entry/start.Db4GBxT1.js" rel="modulepreload">
|
|
30
|
+
<link href="/_app/immutable/chunks/Dm1tyN1d.js" rel="modulepreload">
|
|
31
31
|
<link href="/_app/immutable/chunks/BjY4dxcB.js" rel="modulepreload">
|
|
32
|
-
<link href="/_app/immutable/entry/app.
|
|
32
|
+
<link href="/_app/immutable/entry/app.ZK2WpwR0.js" rel="modulepreload">
|
|
33
33
|
<link href="/_app/immutable/chunks/C1FmrZbK.js" rel="modulepreload">
|
|
34
34
|
<link href="/_app/immutable/chunks/CWj6FrbW.js" rel="modulepreload">
|
|
35
35
|
<link href="/_app/immutable/chunks/Chcp5gAM.js" rel="modulepreload">
|
|
36
36
|
<link href="/_app/immutable/chunks/vlg9iH2u.js" rel="modulepreload">
|
|
37
|
-
<link href="/_app/immutable/nodes/0.
|
|
38
|
-
<link href="/_app/immutable/chunks/
|
|
39
|
-
<link href="/_app/immutable/chunks/
|
|
37
|
+
<link href="/_app/immutable/nodes/0.ZgXhsbCq.js" rel="modulepreload">
|
|
38
|
+
<link href="/_app/immutable/chunks/BxdASL1c.js" rel="modulepreload">
|
|
39
|
+
<link href="/_app/immutable/chunks/BhZce_xA.js" rel="modulepreload">
|
|
40
40
|
|
|
41
41
|
<link href="/_app/immutable/assets/summarizeTodos.BnVisgSs.css" rel="stylesheet">
|
|
42
42
|
<link href="/_app/immutable/assets/0.BOn9ZJhx.css" rel="stylesheet">
|
|
@@ -45,15 +45,15 @@
|
|
|
45
45
|
<div style="display: contents">
|
|
46
46
|
<script>
|
|
47
47
|
{
|
|
48
|
-
|
|
48
|
+
__sveltekit_umbfa6 = {
|
|
49
49
|
base: ""
|
|
50
50
|
};
|
|
51
51
|
|
|
52
52
|
const element = document.currentScript.parentElement;
|
|
53
53
|
|
|
54
54
|
Promise.all([
|
|
55
|
-
import("/_app/immutable/entry/start.
|
|
56
|
-
import("/_app/immutable/entry/app.
|
|
55
|
+
import("/_app/immutable/entry/start.Db4GBxT1.js"),
|
|
56
|
+
import("/_app/immutable/entry/app.ZK2WpwR0.js")
|
|
57
57
|
]).then(([kit, app]) => {
|
|
58
58
|
kit.start(app, element);
|
|
59
59
|
});
|
|
@@ -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.ZK2WpwR0.js",a+"/_app/immutable/nodes/0.ZgXhsbCq.js",a+"/_app/immutable/assets/0.BOn9ZJhx.css",a+"/_app/immutable/nodes/1.F_0YsTyh.js",a+"/_app/immutable/nodes/2.C9jJHRRz.js",a+"/_app/immutable/assets/2.BNuGfmZP.css",a+"/_app/immutable/nodes/3.DuYkGD3n.js",a+"/_app/immutable/assets/3.BAwvOE6a.css",a+"/_app/immutable/assets/summarizeTodos.BnVisgSs.css",a+"/_app/immutable/chunks/BhZce_xA.js",a+"/_app/immutable/chunks/BjY4dxcB.js",a+"/_app/immutable/chunks/BxdASL1c.js",a+"/_app/immutable/chunks/C1FmrZbK.js",a+"/_app/immutable/chunks/CWj6FrbW.js",a+"/_app/immutable/chunks/Chcp5gAM.js",a+"/_app/immutable/chunks/Dm1tyN1d.js",a+"/_app/immutable/chunks/vlg9iH2u.js",a+"/_app/immutable/entry/start.Db4GBxT1.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"],h="1790972436328",n=self,i=`ocrc-cache-${h}`,p=[...m,...u];n.addEventListener("install",e=>{e.waitUntil(caches.open(i).then(s=>s.addAll(p.map(t=>new Request(t,{cache:"reload"})))).then(()=>n.skipWaiting()))});n.addEventListener("activate",e=>{e.waitUntil((async()=>{for(const s of await caches.keys())s!==i&&await caches.delete(s);await n.clients.claim()})())});n.addEventListener("fetch",e=>{const{request:s}=e;if(s.method!=="GET")return;const t=new URL(s.url);if(t.origin===location.origin&&!(t.pathname.startsWith("/api/")||t.pathname==="/ws")){if(p.includes(t.pathname)){e.respondWith(caches.match(s).then(c=>c??fetch(s)));return}e.respondWith((async()=>{try{return await fetch(s)}catch{return await caches.match(s)??await caches.match("/")??Response.error()}})())}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.suggestions.svelte-1hbn5f9{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:0 14px 8px}.chip.svelte-1hbn5f9{min-height:36px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);font-size:12px;padding:6px 13px;cursor:pointer;animation:ocrc-rise .22s var(--ease-out, ease-out) backwards;transition:border-color .12s var(--ease, ease),color .12s var(--ease, ease)}.chip.svelte-1hbn5f9:hover{border-color:var(--accent);color:var(--text)}.dismiss.svelte-1hbn5f9{background:transparent;border:none;color:var(--text-4);font-size:12px;cursor:pointer;padding:6px 8px}.dismiss.svelte-1hbn5f9:hover{color:var(--text-2)}.wrap.svelte-1f5vmb3{position:relative;min-width:0}.chip.svelte-1f5vmb3{display:flex;align-items:center;gap:5px;min-height:24px;min-width:0;max-width:100%;box-sizing:border-box;background:transparent;border:1px solid var(--border);color:var(--text-2);border-radius:var(--radius-pill);padding:5px 11px;font-size:11.5px;white-space:nowrap;cursor:pointer;transition:border-color .15s,color .15s}.chip.svelte-1f5vmb3 .icon,.chip.svelte-1f5vmb3 svg{flex-shrink:0}.txt.svelte-1f5vmb3{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}.chip.icon.svelte-1f5vmb3{display:none}@media (max-width: 820px){.chip.svelte-1f5vmb3{display:none}.chip.icon.svelte-1f5vmb3{display:inline-flex;justify-content:center;min-width:34px;height:30px;padding:0 8px;color:var(--text-2)}}.chip.svelte-1f5vmb3:hover{border-color:var(--accent);color:var(--text)}.pop.svelte-1f5vmb3{position:absolute;bottom:36px;left:0;width:220px;max-height:min(52vh,360px);overflow-y:auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:8px;box-shadow:0 16px 40px #00000080;z-index:var(--z-popover)}.opt.svelte-1f5vmb3{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;border:none;color:var(--text);padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;text-align:left}.opt.svelte-1f5vmb3:hover,.opt.sel.svelte-1f5vmb3{background:var(--accent-2)}.clear.svelte-1f5vmb3{color:var(--text-3);margin-top:4px}.none.svelte-1f5vmb3{padding:6px 8px}.wrap.svelte-1005b73{position:relative;min-width:0}.chip.svelte-1005b73{display:flex;align-items:center;gap:5px;min-height:24px;min-width:0;max-width:min(150px,100%);box-sizing:border-box;background:transparent;border:1px solid var(--border);color:var(--text-2);border-radius:var(--radius-pill);padding:5px 11px;font-size:11.5px;white-space:nowrap;cursor:pointer;transition:border-color .15s,color .15s}.chip.svelte-1005b73:hover{border-color:var(--accent);color:var(--text)}.chip.svelte-1005b73 svg{flex-shrink:0}.txt.svelte-1005b73{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}.chip.icon.svelte-1005b73{display:none}@media (max-width: 820px){.chip.svelte-1005b73{display:none}.chip.icon.svelte-1005b73{display:inline-flex;justify-content:center;min-width:34px;height:30px;padding:0 8px;color:var(--text-2)}}.pop.svelte-1005b73{position:absolute;bottom:36px;right:0;width:248px;max-height:min(56vh,400px);overflow-y:auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:8px;box-shadow:0 16px 40px #00000080;z-index:var(--z-popover)}.prov.svelte-1005b73{padding:7px 8px 2px;color:var(--text-3)}.opt.svelte-1005b73{display:flex;justify-content:space-between;align-items:center;width:100%;background:transparent;border:none;color:var(--text);padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;text-align:left}.opt.svelte-1005b73:hover,.opt.sel.svelte-1005b73{background:var(--accent-2)}.clear.svelte-1005b73{color:var(--text-3);margin-top:4px}.none.svelte-1005b73{padding:6px 8px}.controls.svelte-dkbq22{display:contents}.wrap.svelte-dkbq22{position:relative;min-width:0}.chip.svelte-dkbq22{display:flex;align-items:center;gap:5px;min-height:24px;min-width:0;max-width:100%;box-sizing:border-box;background:transparent;border:1px solid var(--border);color:var(--text-2);border-radius:var(--radius-pill);padding:5px 11px;font-size:11.5px;white-space:nowrap;cursor:pointer;transition:border-color .15s,color .15s}.chip.svelte-dkbq22:hover{border-color:var(--accent);color:var(--text)}.chip.svelte-dkbq22 svg{flex-shrink:0}.txt.svelte-dkbq22{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}.pop.svelte-dkbq22{position:absolute;bottom:44px;left:0;width:220px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:8px;box-shadow:0 16px 40px #00000080;z-index:var(--z-popover)}.opt.svelte-dkbq22{display:flex;align-items:center;width:100%;background:transparent;border:none;color:var(--text);padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px}.opt.svelte-dkbq22:hover,.opt.sel.svelte-dkbq22{background:var(--accent-2)}.wrap.svelte-4bdpxt{position:relative}.ring.svelte-4bdpxt{position:relative;display:inline-flex;align-items:center;gap:5px;background:transparent;border:none;padding:2px;cursor:pointer;color:var(--text-3)}.ring.svelte-4bdpxt svg:where(.svelte-4bdpxt){width:20px;height:20px}.track.svelte-4bdpxt{fill:none;stroke:var(--border);stroke-width:3}.arc.svelte-4bdpxt{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .3s ease}.pct.svelte-4bdpxt{font-size:10.5px;color:var(--text-3)}@media (max-width: 820px){.pct.svelte-4bdpxt{display:none}.ring.svelte-4bdpxt svg:where(.svelte-4bdpxt){width:22px;height:22px}}.pct.svelte-4bdpxt i:where(.svelte-4bdpxt){font-style:normal;font-size:8.5px}.ring.svelte-4bdpxt:hover .pct:where(.svelte-4bdpxt){color:var(--text-2)}.pop.svelte-4bdpxt{position:absolute;bottom:calc(100% + 10px);left:0;width:300px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 16px 40px #00000047;padding:12px 14px;z-index:var(--z-popover);animation:ocrc-pop .14s var(--ease-out, ease-out);cursor:default}@media (max-width: 820px){.pop.svelte-4bdpxt{width:min(72vw,300px);box-sizing:border-box;left:50%;right:auto;transform:translate(-50%)}}.head.svelte-4bdpxt{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.label.svelte-4bdpxt{font-size:11px;font-weight:600;color:var(--text-2)}.dim.svelte-4bdpxt{font-size:10.5px;color:var(--text-3)}.bar.svelte-4bdpxt{display:flex;height:6px;border-radius:var(--radius-bar);overflow:hidden;background:var(--border-2)}.seg.svelte-4bdpxt{height:100%}.legend.svelte-4bdpxt{display:flex;flex-wrap:wrap;gap:4px 10px;margin:6px 0 8px}.lg.svelte-4bdpxt{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--text-3)}.dot.svelte-4bdpxt{width:6px;height:6px;border-radius:50%;flex-shrink:0}.rows.svelte-4bdpxt{display:flex;flex-direction:column}.row.svelte-4bdpxt{display:flex;justify-content:space-between;padding:3px 0;font-size:11.5px;color:var(--text-3);border-top:1px solid var(--border-2)}.row.svelte-4bdpxt:first-child{border-top:none}.row.svelte-4bdpxt .mono:where(.svelte-4bdpxt){color:var(--text-2);font-size:11px}.composer.svelte-60fagq{background:var(--bg);padding:6px 24px 18px}@media (min-width: 821px){.composer.svelte-60fagq{background:var(--bg-canvas, var(--bg));padding:6px 28px 18px}}@media (max-width: 820px){.composer.svelte-60fagq{padding:0 0 max(8px,calc(env(safe-area-inset-bottom,0px) + 10px - var(--kb, 0px)))}.box.svelte-60fagq{padding:7px 8px 7px 14px;border-radius:var(--radius-pill)}.footer.svelte-60fagq{margin-top:4px;gap:6px}.footer.svelte-60fagq .wrap{min-width:0;flex-shrink:1}.footer.svelte-60fagq .chip{max-width:min(36vw,100%)}.send.svelte-60fagq,.attach.svelte-60fagq{flex-shrink:0}.send.svelte-60fagq,.attach.svelte-60fagq{width:44px;height:44px}}.dock.svelte-60fagq{max-width:none;margin:0}.error.svelte-60fagq{color:var(--err);font-size:.8em;margin:0 0 8px;font-family:var(--font-mono)}.box.svelte-60fagq{position:relative;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px 8px;box-shadow:var(--shadow-composer);transition:border-color .15s ease}.box.focused.svelte-60fagq,.box.has-text.svelte-60fagq{border-color:var(--accent)}textarea.svelte-60fagq{display:block;width:100%;box-sizing:border-box;background:transparent;border:none;padding:2px 4px;color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.5;resize:none;min-height:24px;max-height:140px;overflow-y:auto}textarea.svelte-60fagq:focus{outline:none}textarea.svelte-60fagq::placeholder{color:var(--text-4)}.footer.svelte-60fagq{display:flex;align-items:center;gap:8px;margin-top:6px;min-width:0}.spacer.svelte-60fagq{flex:1;min-width:8px}@media (max-width: 720px){.send-hint.svelte-60fagq,.hint.command.svelte-60fagq{display:none}}.hint.svelte-60fagq{background:transparent;border:none;color:var(--text-4);font-family:var(--font-mono);font-size:11px;white-space:nowrap;padding:0;min-width:0;overflow:hidden;text-overflow:ellipsis}.hint.command.svelte-60fagq{cursor:pointer;transition:color .15s ease}.hint.command.svelte-60fagq:hover{color:var(--text-2)}.send.svelte-60fagq{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:50%;border:none;background:var(--accent);color:var(--accent-ink);cursor:pointer;transition:opacity .15s ease,transform .1s ease;flex-shrink:0}.send.svelte-60fagq:not(:disabled):hover{transform:scale(1.06)}.send.stop.svelte-60fagq:disabled{background:var(--accent);color:var(--accent-ink);cursor:pointer}.send.stop.svelte-60fagq:not(:disabled):active{transform:scale(.9)}.send.svelte-60fagq:disabled{background:var(--border);color:var(--text-3);cursor:not-allowed}.thumbnails.svelte-60fagq{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.thumb.svelte-60fagq{position:relative;width:56px;height:56px;border-radius:var(--radius-xs);overflow:hidden;border:1px solid var(--border);flex-shrink:0}.thumb.svelte-60fagq img:where(.svelte-60fagq){width:100%;height:100%;object-fit:cover;display:block}.remove.svelte-60fagq{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;border:none;background:#0009;color:var(--text);font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.remove.svelte-60fagq:hover{background:#000c}.attach.svelte-60fagq{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-xs);border:none;background:transparent;color:var(--text-3);cursor:pointer;padding:0;flex-shrink:0}.attach.svelte-60fagq:hover{background:#ffffff0f;color:var(--text)}.mention-dropdown.svelte-60fagq{position:absolute;bottom:100%;left:0;right:0;max-height:180px;overflow-y:auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:4px;box-shadow:0 -4px 16px #00000059;padding:4px;z-index:var(--z-dropdown)}.mention-row.svelte-60fagq{display:block;width:100%;text-align:left;background:transparent;border:none;color:var(--text);font-family:var(--font-mono);font-size:.85em;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mention-row.active.svelte-60fagq,.mention-row.svelte-60fagq:hover{background:var(--accent-2)}.switcher.svelte-rgafhj{position:relative;display:inline-flex;min-width:0}.trigger.svelte-rgafhj{display:inline-flex;align-items:center;gap:7px;min-width:0;padding:5px 9px 5px 5px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);cursor:pointer;transition:border-color .12s ease,background .12s ease}.trigger.svelte-rgafhj:hover{border-color:var(--accent);background:var(--bg-elev2)}.glyph-tile.svelte-rgafhj{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:50%;border:1px solid transparent;font-family:var(--font-mono);font-size:10px;font-weight:700;flex-shrink:0}.status-dot.svelte-rgafhj{width:7px;height:7px;border-radius:50%;border:1.5px solid transparent;flex-shrink:0;box-sizing:border-box}.sr-only.svelte-rgafhj{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.status-dot.online.svelte-rgafhj{background:var(--accent);border-color:var(--accent)}.status-dot.connecting.svelte-rgafhj{background:var(--warn);border-color:var(--warn);animation:ocrc-pulse 1.2s ease-in-out infinite}.status-dot.offline.svelte-rgafhj{background:transparent;border:1.5px solid var(--text-4)}.title.svelte-rgafhj{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.caret.svelte-rgafhj{font-size:9px;color:var(--text-3);flex-shrink:0}.popover.svelte-rgafhj{position:absolute;top:calc(100% + 6px);left:0;width:min(280px,calc(100vw - 32px));background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 18px 50px #0000008c;z-index:var(--z-popover);overflow:hidden;animation:svelte-rgafhj-ocrc-pop .14s ease}@keyframes svelte-rgafhj-ocrc-pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.list.svelte-rgafhj{max-height:320px;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:2px}.row.svelte-rgafhj{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;text-align:left;transition:background .12s ease}.row.svelte-rgafhj:hover,.row.active.svelte-rgafhj{background:var(--accent-2)}.dot.svelte-rgafhj{width:7px;height:7px;border-radius:50%;border:1.5px solid transparent;flex-shrink:0;box-sizing:border-box;background:transparent;border-color:var(--text-4)}.dot.active.svelte-rgafhj{background:var(--accent);border-color:var(--accent)}.info.svelte-rgafhj{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.row-title.svelte-rgafhj{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-meta.svelte-rgafhj{font-size:10.5px;color:var(--text-3)}.check.svelte-rgafhj{font-size:13px;color:var(--accent);flex-shrink:0}.empty.svelte-rgafhj{padding:14px 10px;color:var(--text-3);font-size:12px}.footer.svelte-rgafhj{border-top:1px solid var(--border);padding:6px}.new-session.svelte-rgafhj{display:flex;align-items:center;width:100%;padding:8px 10px;background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-2);font-size:12px;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.new-session.svelte-rgafhj:hover{color:var(--accent);border-color:var(--accent-line);background:var(--accent-2)}.new-session.svelte-rgafhj:disabled{opacity:.5;cursor:default}.ball.svelte-w3h0m4,.plan-card.svelte-w3h0m4{display:none}.ball.svelte-w3h0m4{position:absolute;right:23px;bottom:calc(var(--composer-h, 120px) + 10px);z-index:var(--z-hud);width:38px;height:38px;padding:0;border:1px solid var(--border-2);border-radius:50%;background:var(--bg-elev);box-shadow:0 6px 18px #00000038;cursor:pointer;place-items:center;transition:transform .15s var(--ease, ease);animation:ocrc-pop .22s var(--ease-out, ease-out) backwards}.ball.svelte-w3h0m4:active{transform:scale(.92)}.ghost.svelte-w3h0m4{position:absolute;right:16px;bottom:calc(var(--composer-h, 120px) + 10px);z-index:var(--z-hud);display:flex;align-items:center;gap:8px;padding:5px 10px;background:transparent;border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-3);font:inherit;cursor:pointer;opacity:.75}.ghost.svelte-w3h0m4:hover{opacity:1;color:var(--text-2);border-color:var(--accent-line)}.ghost.svelte-w3h0m4 .label:where(.svelte-w3h0m4){text-transform:uppercase;letter-spacing:.12em;font-size:9.5px;font-weight:600}.ghost.svelte-w3h0m4 .bar-count:where(.svelte-w3h0m4){font-size:10.5px}.ghost.svelte-w3h0m4 .bar-count:where(.svelte-w3h0m4) i:where(.svelte-w3h0m4){font-style:normal;color:var(--text-3);padding:0 1px}.bar.svelte-w3h0m4{display:none;position:absolute;right:16px;bottom:calc(var(--composer-h, 120px) + 10px);z-index:var(--z-hud);align-items:center;gap:10px;padding:7px 12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);cursor:pointer;font:inherit;animation:ocrc-pop .18s var(--ease-out, ease-out) backwards}.bar.svelte-w3h0m4 .label:where(.svelte-w3h0m4){text-transform:uppercase;letter-spacing:.12em;font-size:9.5px;font-weight:600;color:var(--text-3)}.bar-count.svelte-w3h0m4{font-size:11px;color:var(--text)}.bar-count.svelte-w3h0m4 i:where(.svelte-w3h0m4){font-style:normal;color:var(--text-3);padding:0 1px}.bar.svelte-w3h0m4 .badge:where(.svelte-w3h0m4){min-width:15px;height:15px;padding:0 4px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-pill);font-size:9px;font-weight:700}.bar.svelte-w3h0m4 .caret:where(.svelte-w3h0m4){width:13px;height:13px;color:var(--text-3)}.bar.svelte-w3h0m4:hover{border-color:var(--accent-line)}.ring.svelte-w3h0m4{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.ring.svelte-w3h0m4 circle:where(.svelte-w3h0m4){fill:none;stroke-linecap:round}.track.svelte-w3h0m4{stroke:var(--border);stroke-width:3.5}.arc.svelte-w3h0m4{stroke:var(--accent);stroke-width:3.5;transition:stroke-dasharray .4s var(--ease, ease)}.ball-count.svelte-w3h0m4{position:relative;font-size:9.5px;color:var(--text);letter-spacing:-.02em}.ball-count.svelte-w3h0m4 i:where(.svelte-w3h0m4){font-style:normal;color:var(--text-3);padding:0 1px}.badge.svelte-w3h0m4{position:absolute;bottom:-8px;right:-9px;min-width:15px;height:15px;padding:0 3px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-pill);font-size:9px;font-weight:700;box-sizing:border-box;box-shadow:0 0 0 2px var(--bg)}.scrim.svelte-w3h0m4{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-hud);background:var(--scrim);border:none;padding:0}.plan-card.svelte-w3h0m4{position:absolute;right:16px;bottom:calc(var(--composer-h, 120px) + 46px);z-index:calc(var(--z-hud) + 1);width:min(86vw,380px);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 18px 48px #00000073;overflow:visible;transform-origin:85% 100%;animation:ocrc-pop .18s var(--ease-out, ease-out) backwards}.hd.svelte-w3h0m4{display:flex;align-items:center;gap:7px;padding:10px 10px 10px 12px}.label.svelte-w3h0m4{flex-shrink:0;text-transform:uppercase;letter-spacing:.14em;color:var(--text-3);font-size:9.5px;font-weight:600}.title.svelte-w3h0m4{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:600;color:var(--text)}.dots.svelte-w3h0m4,.close.svelte-w3h0m4{flex-shrink:0;width:26px;height:26px;display:grid;place-items:center;margin:0;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer}.dots.svelte-w3h0m4{font-size:14px;line-height:1}.close.svelte-w3h0m4 svg:where(.svelte-w3h0m4){width:15px;height:15px}.dots.svelte-w3h0m4:active,.close.svelte-w3h0m4:active{background:var(--bg-elev2);color:var(--text)}.menu.svelte-w3h0m4{position:absolute;top:40px;right:8px;z-index:1;min-width:168px;display:flex;flex-direction:column;padding:4px;background:var(--bg-elev2);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 24px #00000040}.menu.svelte-w3h0m4 button:where(.svelte-w3h0m4){margin:0;padding:8px 10px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-2);font-size:12px;text-align:left;cursor:pointer}.menu.svelte-w3h0m4 button:where(.svelte-w3h0m4):hover,.menu.svelte-w3h0m4 button:where(.svelte-w3h0m4):active{background:var(--bg-elev);color:var(--text)}.body.svelte-w3h0m4{padding:2px 12px 12px;border-top:1px solid var(--border-2);max-height:calc(52vh - 47px);overflow-y:auto;-webkit-overflow-scrolling:touch}.prog.svelte-w3h0m4{padding:9px 0 7px;font-size:11px;color:var(--text-3)}.grp.svelte-w3h0m4{display:flex;align-items:center;gap:6px;margin:2px 0;padding:3px 0;background:transparent;border:none;color:var(--text-3);font-size:11.5px;cursor:pointer}.grp.static.svelte-w3h0m4{cursor:default}.sub-label.svelte-w3h0m4{text-transform:uppercase;letter-spacing:.12em;font-size:9.5px;font-weight:600}.caret.svelte-w3h0m4{width:12px;height:12px;transition:transform .16s ease;transform:rotate(0)}.caret.open.svelte-w3h0m4{transform:rotate(90deg)}.row.svelte-w3h0m4{display:flex;align-items:flex-start;gap:8px;padding:3px 0}.box.svelte-w3h0m4{flex-shrink:0;width:13px;height:13px;margin-top:2px;border-radius:var(--radius-xs);display:grid;place-items:center;border:1.5px solid var(--border)}.row.done.svelte-w3h0m4 .box:where(.svelte-w3h0m4){background:var(--accent);border-color:var(--accent)}.check.svelte-w3h0m4{font-size:9px;line-height:1;color:var(--accent-ink)}.dot.svelte-w3h0m4{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:ocrc-pulse 1.2s ease-in-out infinite}.row.running.svelte-w3h0m4 .box:where(.svelte-w3h0m4){border-color:var(--accent)}.tx.svelte-w3h0m4{font-size:12px;line-height:1.45;color:var(--text-2);min-width:0}.row.done.svelte-w3h0m4 .tx:where(.svelte-w3h0m4){color:var(--text-3);text-decoration:line-through;text-decoration-color:var(--border)}.row.running.svelte-w3h0m4 .tx:where(.svelte-w3h0m4){color:var(--text);font-weight:500}.sub-dot.svelte-w3h0m4{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--accent);animation:ocrc-pulse 1.2s ease-in-out infinite}.sub-check.svelte-w3h0m4{flex-shrink:0;font-size:10px;line-height:1;color:var(--text-3)}.row.sub.idle.svelte-w3h0m4 .tx:where(.svelte-w3h0m4){color:var(--text-3)}.row.sub.idle.svelte-w3h0m4 .sub-count:where(.svelte-w3h0m4){color:var(--text-3)}.row.sub.svelte-w3h0m4{padding-left:2px}.row.sub.jump.svelte-w3h0m4{margin:0;padding:3px 2px;width:100%;background:transparent;border:none;border-radius:var(--radius-xs);text-align:left;cursor:pointer;color:inherit;font:inherit;align-items:center}.row.sub.jump.svelte-w3h0m4:active{background:var(--bg-elev2)}.row.sub.jump.svelte-w3h0m4 .tx:where(.svelte-w3h0m4){flex:1;min-width:0}.go.svelte-w3h0m4{flex-shrink:0;width:12px;height:12px;color:var(--text-3)}.crumb.svelte-w3h0m4{display:flex;align-items:center;gap:6px;width:100%;margin:9px 0 0;padding:6px 8px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);font:inherit;font-size:11.5px;cursor:pointer;text-align:left}.crumb.svelte-w3h0m4 svg:where(.svelte-w3h0m4){width:12px;height:12px;flex-shrink:0}.crumb.svelte-w3h0m4:active{color:var(--text);border-color:var(--accent)}.sub-count.svelte-w3h0m4{flex-shrink:0;margin-top:1px;font-size:10.5px;color:var(--accent);min-width:26px}@media (max-width: 820px){.ball.svelte-w3h0m4{display:grid}.plan-card.svelte-w3h0m4{display:block}}@media (min-width: 821px){.bar.svelte-w3h0m4{display:flex;top:60px;bottom:auto}.plan-card.svelte-w3h0m4{display:block;width:min(60vw,380px);top:60px;bottom:auto;transform-origin:85% 0}}.jump.svelte-eho102{position:absolute;bottom:calc(var(--composer-h, 120px) + 14px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:var(--z-sticky);animation:ocrc-fade .15s var(--ease-out, ease-out) backwards;display:inline-flex;align-items:center;gap:5px;padding:7px 13px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);font-size:12px;cursor:pointer;box-shadow:var(--shadow-card)}.jump.svelte-eho102:hover{color:var(--text);border-color:var(--text-4)}.load-earlier.svelte-eho102{display:block;margin:0 auto 14px;padding:6px 14px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);font-size:11.5px;cursor:pointer;animation:ocrc-rise-sm .16s var(--ease-out, ease-out) backwards}.load-earlier.svelte-eho102:hover{color:var(--text);border-color:var(--text-4)}.load-earlier.svelte-eho102:disabled{opacity:.55;cursor:default}.chat.svelte-eho102{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}@media (max-width: 820px){.chat.svelte-eho102{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - var(--kb, 0px) - var(--composer-h, 120px)),rgba(0,0,0,.12) calc(100% - var(--kb, 0px)));mask-image:linear-gradient(to bottom,#000 calc(100% - var(--kb, 0px) - var(--composer-h, 120px)),#0000001f calc(100% - var(--kb, 0px)))}}.sub-header.svelte-eho102{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 28px;background:var(--bg);border-bottom:1px solid var(--border-2)}@media (min-width: 821px){.sub-header.svelte-eho102{background:var(--bg-canvas, var(--bg))}}.sub-header.svelte-eho102 .left:where(.svelte-eho102){display:flex;align-items:center;gap:10px;min-width:0}.expand.svelte-eho102{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:1px solid var(--border-2);border-radius:var(--radius-pill);color:var(--text-3);cursor:pointer;flex-shrink:0;transition:color .12s ease,border-color .12s ease,background .12s ease}.expand.svelte-eho102:hover{color:var(--text);border-color:var(--accent);background:var(--accent-2)}.back.svelte-eho102,.inspect.svelte-eho102{display:none}.pane-toggle.svelte-eho102{display:none;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;background:transparent;border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;transition:color .12s ease,border-color .12s ease}.pane-toggle.svelte-eho102:hover{color:var(--text);border-color:var(--text-4)}@media (min-width: 821px){.pane-toggle.svelte-eho102{display:inline-flex}}@media (max-width: 820px){.expand.svelte-eho102{display:none}.back.svelte-eho102,.inspect.svelte-eho102{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);cursor:pointer}.back.svelte-eho102:active,.inspect.svelte-eho102:active{background:var(--bg-elev2)}}.sub-header.svelte-eho102 .branch:where(.svelte-eho102){min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px;color:var(--hl-purple);background:var(--bg-elev);border:1px solid var(--border-2);border-radius:var(--radius-pill);padding:2px 8px}.sub-header.svelte-eho102 .right:where(.svelte-eho102){display:flex;align-items:center;gap:8px;flex-shrink:0}.pill.svelte-eho102{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:var(--radius-pill);background:var(--bg-elev);border:1px solid var(--border);color:var(--text-2);font-size:11px;min-width:0;max-width:30vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pill.svelte-eho102 .dot:where(.svelte-eho102){width:6px;height:6px;border-radius:50%;background:var(--text-3);animation:ocrc-pulse 1.2s ease-in-out infinite}.idle.svelte-eho102{font-size:11px;color:var(--text-3)}.restore.svelte-eho102{background:transparent;border:1px dashed var(--border-2);color:var(--text-3);border-radius:var(--radius-pill);padding:3px 10px;font-size:11px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.restore.svelte-eho102:hover{color:var(--text);border-color:var(--text-4)}.stream.svelte-eho102{width:100%;box-sizing:border-box;padding:22px 28px 8px;display:flex;flex-direction:column}.stream.svelte-eho102>*:last-child:not(.stream-end){animation:ocrc-rise var(--dur-enter, .2s) var(--ease-out, ease-out) backwards}.stream.suppressed.svelte-eho102>*:last-child:not(.stream-end){animation:none}.stream-end.svelte-eho102{height:1px;flex-shrink:0}.stream.svelte-eho102>*:not(:last-child){content-visibility:auto;contain-intrinsic-size:auto 120px}.loading.svelte-eho102{display:flex;justify-content:center;gap:7px;padding:18vh 24px 40px}.ldot.svelte-eho102{width:6px;height:6px;border-radius:50%;background:var(--text-3);animation:ocrc-pulse 1.2s ease-in-out infinite}.ldot.svelte-eho102:nth-child(2){animation-delay:.15s}.ldot.svelte-eho102:nth-child(3){animation-delay:.3s}.empty.svelte-eho102{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:18vh 24px 40px;color:var(--text-3);font-size:14px}.empty-mark.svelte-eho102{width:40px;height:40px;margin-bottom:6px}.empty-title.svelte-eho102{margin:0;font-family:var(--font-serif);font-size:19px;font-weight:600;color:var(--text);letter-spacing:.01em}.empty-hint.svelte-eho102{margin:0;max-width:420px;line-height:1.6;font-size:12.5px}@media (min-width: 821px){.composer-float.svelte-eho102 .composer{padding-right:calc(24px + var(--sbw, 0px))}}@media (max-width: 820px){.composer-float.svelte-eho102{position:absolute;left:0;right:0;bottom:0;z-index:var(--z-dropdown);background:transparent;transform:translateY(calc(-1 * var(--kb, 0px)));transition:transform .25s ease-out;will-change:transform}.composer-float.svelte-eho102 .composer{background:transparent}.stream.svelte-eho102{padding:14px 12px calc(var(--composer-h, 120px) + var(--kb, 0px) + 8px)}.sub-header.svelte-eho102{gap:8px;padding:calc(10px + env(safe-area-inset-top,0px)) 8px 10px}.sub-header.svelte-eho102 .left:where(.svelte-eho102){min-width:0}.composer-float.svelte-eho102{background:var(--bg);border-top:1px solid var(--border-2);padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px))}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var tt=e=>{throw TypeError(e)};var Dt=(e,t,n)=>t.has(e)||tt("Cannot "+n);var y=(e,t,n)=>(Dt(e,t,"read from private field"),n?n.call(e):t.get(e)),A=(e,t,n)=>t.has(e)?tt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n);import{b8 as Ve,az as nt,aX as T,a8 as I,aO as P,b1 as _e,aZ as qt,aS as Vt}from"./BjY4dxcB.js";class Me{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Be{constructor(t,n){try{new Headers({location:n})}catch{throw new Error(`Invalid redirect location ${JSON.stringify(n)}: this string contains characters that cannot be used in HTTP headers`)}this.status=t,this.location=n}}class Ke extends Error{constructor(t,n,a){super(a),this.status=t,this.text=n}}new URL("sveltekit-internal://");function Mt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function Bt(e){return e.split("%25").map(decodeURI).join("%25")}function Kt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function Pe({href:e}){return e.split("#")[0]}function j(){}function Ft(...e){let t=5381;for(const n of e)if(typeof n=="string"){let a=n.length;for(;a;)t=t*33^n.charCodeAt(--a)}else if(ArrayBuffer.isView(n)){const a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=a.length;for(;r;)t=t*33^a[--r]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;function Gt(e){const t=atob(e),n=new Uint8Array(t.length);for(let a=0;a<t.length;a++)n[a]=t.charCodeAt(a);return n}const Ht=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:(t==null?void 0:t.method)||"GET")!=="GET"&&X.delete(Fe(e)),Ht(e,t));const X=new Map;function Wt(e,t){const n=Fe(e,t),a=document.querySelector(n);if(a!=null&&a.textContent){a.remove();let{body:r,...i}=JSON.parse(a.textContent);const o=a.getAttribute("data-ttl");return o&&X.set(n,{body:r,init:i,ttl:1e3*Number(o)}),a.getAttribute("data-b64")!==null&&(r=Gt(r)),Promise.resolve(new Response(r,i))}return window.fetch(e,t)}function zt(e,t,n){if(X.size>0){const a=Fe(e,n),r=X.get(a);if(r){if(performance.now()<r.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(r.body,r.init);X.delete(a)}}return window.fetch(t,n)}function Fe(e,t){let a=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t!=null&&t.headers||t!=null&&t.body){const r=[];t.headers&&r.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&r.push(t.body),a+=`[data-hash="${Ft(...r)}"]`}return a}const Jt=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function Yt(e){const t=[];return{pattern:e==="/"?/^\/$/:new RegExp(`^${Zt(e).map(a=>{const r=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(r)return t.push({name:r[1],matcher:r[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const i=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(i)return t.push({name:i[1],matcher:i[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const o=a.split(/\[(.+?)\](?!\])/);return"/"+o.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return Oe(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return Oe(String.fromCharCode(...l.slice(2).split("-").map(m=>parseInt(m,16))));const d=Jt.exec(l),[,u,w,p,f]=d;return t.push({name:p,matcher:f,optional:!!u,rest:!!w,chained:w?c===1&&o[0]==="":!1}),w?"([^]*?)":u?"([^/]*)?":"([^/]+?)"}return Oe(l)}).join("")}).join("")}/?$`),params:t}}function Xt(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function Zt(e){return e.slice(1).split("/").filter(Xt)}function Qt(e,t,n){const a={},r=e.slice(1),i=r.filter(s=>s!==void 0);let o=0;for(let s=0;s<t.length;s+=1){const l=t[s];let c=r[s-o];if(l.chained&&l.rest&&o&&(c=r.slice(s-o,s+1).filter(d=>d).join("/"),o=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||n[l.matcher](c)){a[l.name]=c;const d=t[s+1],u=r[s+1];d&&!d.rest&&d.optional&&u&&l.chained&&(o=0),!d&&!u&&Object.keys(a).length===i.length&&(o=0);continue}if(l.optional&&l.chained){o++;continue}return}if(!o)return a}function Oe(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function en({nodes:e,server_loads:t,dictionary:n,matchers:a}){const r=new Set(t);return Object.entries(n).map(([s,[l,c,d]])=>{const{pattern:u,params:w}=Yt(s),p={id:s,exec:f=>{const m=u.exec(f);if(m)return Qt(m,w,a)},errors:[1,...d||[]].map(f=>e[f]),layouts:[0,...c||[]].map(o),leaf:i(l)};return p.errors.length=p.layouts.length=Math.max(p.errors.length,p.layouts.length),p});function i(s){const l=s<0;return l&&(s=~s),[l,e[s]]}function o(s){return s===void 0?s:[r.has(s),e[s]]}}function mt(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function rt(e,t,n=JSON.stringify){const a=n(t);try{sessionStorage[e]=a}catch{}}var ut;const U=((ut=globalThis.__sveltekit_13v81dk)==null?void 0:ut.base)??"";var dt;const tn=((dt=globalThis.__sveltekit_13v81dk)==null?void 0:dt.assets)??U??"",nn="1790971421965",_t="sveltekit:snapshot",wt="sveltekit:scroll",vt="sveltekit:states",rn="sveltekit:pageurl",F="sveltekit:history",Z="sveltekit:navigation",V={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Le=location.origin;function Ge(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function M(){return{x:pageXOffset,y:pageYOffset}}function K(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const at={...V,"":V.hover};function yt(e){let t=e.assignedSlot??e.parentNode;return(t==null?void 0:t.nodeType)===11&&(t=t.host),t}function bt(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=yt(e)}}function je(e,t,n){let a;try{if(a=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&a.hash.match(/^#[^/]/)){const s=location.hash.split("#")[1]||"/";a.hash=`#${s}${a.hash}`}}catch{}const r=e instanceof SVGAElement?e.target.baseVal:e.target,i=!a||!!r||Ue(a,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),o=(a==null?void 0:a.origin)===Le&&e.hasAttribute("download");return{url:a,external:i,target:r,download:o}}function we(e){let t=null,n=null,a=null,r=null,i=null,o=null,s=e;for(;s&&s!==document.documentElement;)a===null&&(a=K(s,"preload-code")),r===null&&(r=K(s,"preload-data")),t===null&&(t=K(s,"keepfocus")),n===null&&(n=K(s,"noscroll")),i===null&&(i=K(s,"reload")),o===null&&(o=K(s,"replacestate")),s=yt(s);function l(c){switch(c){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:at[a??"off"],preload_data:at[r??"off"],keepfocus:l(t),noscroll:l(n),reload:l(i),replace_state:l(o)}}function ot(e){const t=Ve(e);let n=!0;function a(){n=!0,t.update(o=>o)}function r(o){n=!1,t.set(o)}function i(o){let s;return t.subscribe(l=>{(s===void 0||n&&l!==s)&&o(s=l)})}return{notify:a,set:r,subscribe:i}}const kt={v:j};function an(){const{set:e,subscribe:t}=Ve(!1);let n;async function a(){clearTimeout(n);try{const r=await fetch(`${tn}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const o=(await r.json()).version!==nn;return o&&(e(!0),kt.v(),clearTimeout(n)),o}catch{return!1}}return{subscribe:t,check:a}}function Ue(e,t,n){return e.origin!==Le||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function On(e){}const St=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...St];const on=new Set([...St]);[...on];function sn(e){return e.filter(t=>t!=null)}function ge(e,t){return e+"/"+t}function He(e){return e instanceof Me||e instanceof Ke?e.status:500}function ln(e){return e instanceof Ke?e.text:"Internal Error"}let x,Q,$e;const cn=nt.toString().includes("$$")||/function \w+\(\) \{\}/.test(nt.toString()),st="a:";var ae,oe,se,ie,le,ce,fe,ue,ht,de,pt,he,gt;cn?(x={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(st)},Q={current:null},$e={current:!1}):(x=new(ht=class{constructor(){A(this,ae,T({}));A(this,oe,T(null));A(this,se,T(null));A(this,ie,T({}));A(this,le,T({id:null}));A(this,ce,T({}));A(this,fe,T(-1));A(this,ue,T(new URL(st)))}get data(){return I(y(this,ae))}set data(t){P(y(this,ae),t)}get form(){return I(y(this,oe))}set form(t){P(y(this,oe),t)}get error(){return I(y(this,se))}set error(t){P(y(this,se),t)}get params(){return I(y(this,ie))}set params(t){P(y(this,ie),t)}get route(){return I(y(this,le))}set route(t){P(y(this,le),t)}get state(){return I(y(this,ce))}set state(t){P(y(this,ce),t)}get status(){return I(y(this,fe))}set status(t){P(y(this,fe),t)}get url(){return I(y(this,ue))}set url(t){P(y(this,ue),t)}},ae=new WeakMap,oe=new WeakMap,se=new WeakMap,ie=new WeakMap,le=new WeakMap,ce=new WeakMap,fe=new WeakMap,ue=new WeakMap,ht),Q=new(pt=class{constructor(){A(this,de,T(null))}get current(){return I(y(this,de))}set current(t){P(y(this,de),t)}},de=new WeakMap,pt),$e=new(gt=class{constructor(){A(this,he,T(!1))}get current(){return I(y(this,he))}set current(t){P(y(this,he),t)}},he=new WeakMap,gt),kt.v=()=>$e.current=!0);function Et(e){Object.assign(x,e)}const{onMount:fn}=qt,un=new Set(["icon","shortcut icon","apple-touch-icon"]);let J=null;const D=mt(wt)??{},ee=mt(_t)??{},N={url:ot({}),page:ot({}),navigating:Ve(null),updated:an()};function We(e){D[e]=M()}function dn(e,t){let n=e+1;for(;D[n];)delete D[n],n+=1;for(n=t+1;ee[n];)delete ee[n],n+=1}function te(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(j)}async function Rt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(U||"/");e&&await e.update()}}let ze,Ne,ve,O,De,S;const ye=[],be=[];let v=null;function ke(){var e;(e=v==null?void 0:v.fork)==null||e.then(t=>t==null?void 0:t.discard()),v=null}const me=new Map,xt=new Set,hn=new Set,G=new Set;let _={branch:[],error:null,url:null},Lt=!1,Se=!1,it=!0,ne=!1,Y=!1,Ut=!1,Je=!1,At,k,L,C;const Ee=new Set,lt=new Map,ct=new Map;async function Nn(e,t,n){var i,o,s,l;globalThis.__sveltekit_13v81dk&&(globalThis.__sveltekit_13v81dk.query,globalThis.__sveltekit_13v81dk.prerender),document.URL!==location.href&&(location.href=location.href),S=e,await((o=(i=e.hooks).init)==null?void 0:o.call(i)),ze=en(e),O=document.documentElement,De=t,Ne=e.nodes[0],ve=e.nodes[1],Ne(),ve(),k=(s=history.state)==null?void 0:s[F],L=(l=history.state)==null?void 0:l[Z],k||(k=L=Date.now(),history.replaceState({...history.state,[F]:k,[Z]:L},""));const a=D[k];function r(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}n?(r(),await Ln(De,n)):(await H({type:"enter",url:Ge(S.hash?Tn(new URL(location.href)):location.href),replace_state:!0}),r()),xn()}function pn(){ye.length=0,Je=!1}function Tt(e){be.some(t=>t==null?void 0:t.snapshot)&&(ee[e]=be.map(t=>{var n;return(n=t==null?void 0:t.snapshot)==null?void 0:n.capture()}))}function It(e){var t;(t=ee[e])==null||t.forEach((n,a)=>{var r,i;(i=(r=be[a])==null?void 0:r.snapshot)==null||i.restore(n)})}function ft(){We(k),rt(wt,D),Tt(L),rt(_t,ee)}async function Pt(e,t,n,a){let r,i;t.invalidateAll&&ke(),await H({type:"goto",url:Ge(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:a,accept:()=>{if(t.invalidateAll){Je=!0,r=new Set;for(const[o,s]of lt)for(const l of s.keys())r.add(ge(o,l));i=new Set;for(const[o,s]of ct)for(const l of s.keys())i.add(ge(o,l))}t.invalidate&&t.invalidate.forEach(Rn)}}),t.invalidateAll&&_e().then(_e).then(()=>{for(const[o,s]of lt)for(const[l,{resource:c}]of s)r!=null&&r.has(ge(o,l))&&c.refresh();for(const[o,s]of ct)for(const[l,{resource:c}]of s)i!=null&&i.has(ge(o,l))&&c.reconnect()})}async function gn(e){if(e.id!==(v==null?void 0:v.id)){ke();const t={};Ee.add(t),v={id:e.id,token:t,promise:$t({...e,preload:t}).then(n=>(Ee.delete(t),n.type==="loaded"&&n.state.error&&ke(),n)),fork:null}}return v.promise}async function Ce(e){var n;const t=(n=await Ae(e,!1))==null?void 0:n.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(a=>a[1]()))}async function Ot(e,t,n){var i;const a={params:_.params,route:{id:((i=_.route)==null?void 0:i.id)??null},url:new URL(location.href)};_={...e.state,nav:a};const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Et(e.props.page),At=new S.root({target:t,props:{...e.props,stores:N,components:be},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),It(L),n){const o={from:null,to:{...a,scroll:D[k]??M()},willUnload:!1,type:"enter",complete:Promise.resolve()};G.forEach(s=>s(o))}Se=!0}async function Re({url:e,params:t,branch:n,errors:a,status:r,error:i,route:o,form:s}){let l="never";if(U&&(e.pathname===U||e.pathname===U+"/"))l="always";else for(const f of n)(f==null?void 0:f.slash)!==void 0&&(l=f.slash);e.pathname=Mt(e.pathname,l),e.search=e.search;const c={type:"loaded",state:{url:e,params:t,branch:n,error:i,route:o},props:{constructors:sn(n).map(f=>f.node.component),page:et(x)}};s!==void 0&&(c.props.form=s);let d={},u=!x,w=0;for(let f=0;f<Math.max(n.length,_.branch.length);f+=1){const m=n[f],h=_.branch[f];(m==null?void 0:m.data)!==(h==null?void 0:h.data)&&(u=!0),m&&(d={...d,...m.data},u&&(c.props[`data_${w}`]=d),w+=1)}return(!_.url||e.href!==_.url.href||_.error!==i||s!==void 0&&s!==x.form||u)&&(c.props.page={error:i,params:t,route:{id:(o==null?void 0:o.id)??null},state:{},status:r,url:new URL(e),form:s??null,data:u?d:x.data}),c}async function Ye({loader:e,parent:t,url:n,params:a,route:r,server_data_node:i}){var c,d;let o=null;const s={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await e();return{node:l,loader:e,server:i,universal:(c=l.universal)!=null&&c.load?{type:"data",data:o,uses:s}:null,data:o??(i==null?void 0:i.data)??null,slash:((d=l.universal)==null?void 0:d.trailingSlash)??(i==null?void 0:i.slash)}}function mn(e,t,n){let a=e instanceof Request?e.url:e;const r=new URL(a,n);r.origin===n.origin&&(a=r.href.slice(n.origin.length));const i=Se?zt(a,r.href,t):Wt(a,t);return{resolved:r,promise:i}}function _n(e,t,n,a,r,i){if(Je)return!0;if(!r)return!1;if(r.parent&&e||r.route&&t||r.url&&n)return!0;for(const o of r.search_params)if(a.has(o))return!0;for(const o of r.params)if(i[o]!==_.params[o])return!0;for(const o of r.dependencies)if(ye.some(s=>s(new URL(o))))return!0;return!1}function Xe(e,t){return(e==null?void 0:e.type)==="data"?e:(e==null?void 0:e.type)==="skip"?t??null:null}function wn(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const a of n){const r=e.searchParams.getAll(a),i=t.searchParams.getAll(a);r.every(o=>i.includes(o))&&i.every(o=>r.includes(o))&&n.delete(a)}return n}function vn({error:e,url:t,route:n,params:a}){return{type:"loaded",state:{error:e,url:t,route:n,params:a,branch:[]},props:{page:et(x),constructors:[]}}}async function $t({id:e,invalidating:t,url:n,params:a,route:r,preload:i}){if((v==null?void 0:v.id)===e)return Ee.delete(v.token),v.promise;const{errors:o,layouts:s,leaf:l}=r,c=[...s,l];o.forEach(h=>h==null?void 0:h().catch(j)),c.forEach(h=>h==null?void 0:h[1]().catch(j));const d=_.url?e!==xe(_.url):!1,u=_.route?r.id!==_.route.id:!1,w=wn(_.url,n);let p=!1;const f=c.map(async(h,g)=>{var $;if(!h)return;const b=_.branch[g];return h[1]===(b==null?void 0:b.loader)&&!_n(p,u,d,w,($=b.universal)==null?void 0:$.uses,a)?b:(p=!0,Ye({loader:h[1],url:n,params:a,route:r,parent:async()=>{var pe;const q={};for(let B=0;B<g;B+=1)Object.assign(q,(pe=await f[B])==null?void 0:pe.data);return q},server_data_node:Xe(h[0]?{type:"skip"}:null,h[0]?b==null?void 0:b.server:void 0)}))});for(const h of f)h.catch(j);const m=[];for(let h=0;h<c.length;h+=1)if(c[h])try{m.push(await f[h])}catch(g){if(g instanceof Be)return{type:"redirect",location:g.location};if(Ee.has(i))return vn({error:await re(g,{params:a,url:n,route:{id:r.id}}),url:n,params:a,route:r});let b=He(g),R;if(g instanceof Me)R=g.body;else{if(await N.updated.check())return await Rt(),await te(n);R=await re(g,{params:a,url:n,route:{id:r.id}})}const $=await yn(h,m,o);return $?Re({url:n,params:a,branch:m.slice(0,$.idx).concat($.node),errors:o,status:b,error:R,route:r}):await jt(n,{id:r.id},R,b)}else m.push(void 0);return Re({url:n,params:a,branch:m,errors:o,status:200,error:null,route:r,form:t?void 0:null})}async function yn(e,t,n){for(;e--;)if(n[e]){let a=e;for(;!t[a];)a-=1;try{return{idx:a+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Ze({status:e,error:t,url:n,route:a}){const r={};let i=null;try{const o=await Ye({loader:Ne,url:n,params:r,route:a,parent:()=>Promise.resolve({}),server_data_node:Xe(i)}),s={node:await ve(),loader:ve,universal:null,server:null,data:null};return Re({url:n,params:r,branch:[o,s],status:e,error:t,errors:[],route:null})}catch(o){if(o instanceof Be)return Pt(new URL(o.location,location.href),{},0);throw o}}async function bn(e){const t=e.href;if(me.has(t))return me.get(t);let n;try{const a=(async()=>{let r=await S.hooks.reroute({url:new URL(e),fetch:async(i,o)=>mn(i,o,e).promise})??e;if(typeof r=="string"){const i=new URL(e);S.hash?i.hash=r:i.pathname=r,r=i}return r})();me.set(t,a),n=await a}catch{me.delete(t);return}return n}async function Ae(e,t){if(e&&!Ue(e,U,S.hash)){const n=await bn(e);if(!n)return;const a=kn(n);for(const r of ze){const i=r.exec(a);if(i)return{id:xe(e),invalidating:t,route:r,params:Kt(i),url:e}}}}function kn(e){return Bt(S.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(U.length))||"/"}function xe(e){return(S.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function Ct({url:e,type:t,intent:n,delta:a,event:r,scroll:i}){let o=!1;const s=Qe(_,n,e,t,i??null);a!==void 0&&(s.navigation.delta=a),r!==void 0&&(s.navigation.event=r);const l={...s.navigation,cancel:()=>{o=!0,s.reject(new Error("navigation cancelled"))}};return ne||xt.forEach(c=>c(l)),o?null:s}async function H({type:e,url:t,popped:n,keepfocus:a,noscroll:r,replace_state:i,state:o={},redirect_count:s=0,nav_token:l={},accept:c=j,block:d=j,event:u}){var B;const w=C;C=l;const p=await Ae(t,!1),f=e==="enter"?Qe(_,p,t,e):Ct({url:t,type:e,delta:n==null?void 0:n.delta,intent:p,scroll:n==null?void 0:n.scroll,event:u});if(!f){d(),C===l&&(C=w);return}const m=k,h=L;c(),ne=!0,Se&&f.navigation.type!=="enter"&&N.navigating.set(Q.current=f.navigation);let g=p&&await $t(p);if(!g){if(Ue(t,U,S.hash))return await te(t,i);g=await jt(t,{id:null},await re(new Ke(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,i)}if(t=(p==null?void 0:p.url)||t,C!==l)return f.reject(new Error("navigation aborted")),!1;if(g.type==="redirect"){if(s<20){await H({type:e,url:new URL(g.location,t),popped:n,keepfocus:a,noscroll:r,replace_state:i,state:o,redirect_count:s+1,nav_token:l}),f.fulfil(void 0);return}g=await Ze({status:500,error:await re(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else g.props.page.status>=400&&await N.updated.check()&&(await Rt(),await te(t,i));if(pn(),We(m),Tt(h),g.props.page.url.pathname!==t.pathname&&(t.pathname=g.props.page.url.pathname),o=n?n.state:o,!n){const E=i?0:1,W={[F]:k+=E,[Z]:L+=E,[vt]:o};(i?history.replaceState:history.pushState).call(history,W,"",t),i||dn(k,L)}const b=p&&(v==null?void 0:v.id)===p.id?v.fork:null;v!=null&&v.fork&&!b&&ke(),v=null,g.props.page.state=o;let R;if(Se){const E=(await Promise.all(Array.from(hn,z=>z(f.navigation)))).filter(z=>typeof z=="function");if(E.length>0){let z=function(){E.forEach(Ie=>{G.delete(Ie)})};E.push(z),E.forEach(Ie=>{G.add(Ie)})}const W=f.navigation.to;_={...g.state,nav:{params:W.params,route:W.route,url:W.url}},g.props.page&&(g.props.page.url=t);const Te=b&&await b;Te?R=Te.commit():(J=null,At.$set(g.props),J&&Object.assign(g.props.page,J),Et(g.props.page),R=(B=Vt)==null?void 0:B()),Ut=!0}else await Ot(g,De,!1);const{activeElement:$}=document;if(await R,await _e(),await _e(),C!==l)return f.reject(new Error("navigation aborted")),!1;g.props.page&&J&&Object.assign(g.props.page,J);let q=null;if(it){const E=n?n.scroll:r?M():null;E?scrollTo(E.x,E.y):(q=t.hash&&document.getElementById(Nt(t)))?q.scrollIntoView():scrollTo(0,0)}const pe=document.activeElement!==$&&document.activeElement!==document.body;!a&&!pe&&An(t,!q),it=!0,ne=!1,e==="popstate"&&It(L),f.fulfil(void 0),f.navigation.to&&(f.navigation.to.scroll=M()),G.forEach(E=>E(f.navigation)),N.navigating.set(Q.current=null)}async function jt(e,t,n,a,r){return e.origin===Le&&e.pathname===location.pathname&&!Lt?await Ze({status:a,error:n,url:e,route:t}):await te(e,r)}function Sn(){let e,t={element:void 0,href:void 0},n;O.addEventListener("mousemove",s=>{const l=s.target;clearTimeout(e),e=setTimeout(()=>{i(l,V.hover)},20)});function a(s){s.defaultPrevented||i(s.composedPath()[0],V.tap)}O.addEventListener("mousedown",a),O.addEventListener("touchstart",a,{passive:!0});const r=new IntersectionObserver(s=>{for(const l of s)l.isIntersecting&&(Ce(new URL(l.target.href)),r.unobserve(l.target))},{threshold:0});async function i(s,l){const c=bt(s,O),d=c===t.element&&(c==null?void 0:c.href)===t.href&&l>=n;if(!c||d)return;const{url:u,external:w,download:p}=je(c,U,S.hash);if(w||p)return;const f=we(c),m=u&&xe(_.url)===xe(u);if(!(f.reload||m))if(l<=f.preload_data){t={element:c,href:c.href},n=V.tap;const h=await Ae(u,!1);if(!h)return;gn(h)}else l<=f.preload_code&&(t={element:c,href:c.href},n=l,Ce(u))}function o(){r.disconnect();for(const s of O.querySelectorAll("a")){const{url:l,external:c,download:d}=je(s,U,S.hash);if(c||d)continue;const u=we(s);u.reload||(u.preload_code===V.viewport&&r.observe(s),u.preload_code===V.eager&&Ce(l))}}G.add(o),o()}function re(e,t){if(e instanceof Me)return e.body;const n=He(e),a=ln(e);return S.hooks.handleError({error:e,event:t,status:n,message:a})??{message:a}}function En(e,t){fn(()=>(e.add(t),()=>{e.delete(t)}))}function Dn(e){En(G,e)}function qn(e,t={}){return e=new URL(Ge(e)),e.origin!==Le?Promise.reject(new Error("goto: invalid URL")):Pt(e,t,0)}function Rn(e){if(typeof e=="function")ye.push(e);else{const{href:t}=new URL(e,location.href);ye.push(n=>n.href===t)}}function xn(){var t;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let a=!1;if(ft(),!ne){const r=Qe(_,void 0,null,"leave"),i={...r.navigation,cancel:()=>{a=!0,r.reject(new Error("navigation cancelled"))}};xt.forEach(o=>o(i))}a?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&ft()}),(t=navigator.connection)!=null&&t.saveData||Sn(),O.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const a=bt(n.composedPath()[0],O);if(!a)return;const{url:r,external:i,target:o,download:s}=je(a,U,S.hash);if(!r)return;if(o==="_parent"||o==="_top"){if(window.parent!==window)return}else if(o&&o!=="_self")return;const l=we(a);if(!(a instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||s)return;const[d,u]=(S.hash?r.hash.replace(/^#/,""):r.href).split("#"),w=d===Pe(location);if(i||l.reload&&(!w||!u)){Ct({url:r,type:"link",event:n})?ne=!0:n.preventDefault();return}if(u!==void 0&&w){const[,p]=_.url.href.split("#");if(p===u){if(n.preventDefault(),u===""||u==="top"&&a.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const f=a.ownerDocument.getElementById(decodeURIComponent(u));f&&(f.scrollIntoView(),f.focus())}return}if(Y=!0,We(k),e(r),!l.replace_state)return;Y=!1}n.preventDefault(),await new Promise(p=>{requestAnimationFrame(()=>{setTimeout(p,0)}),setTimeout(p,100)}),await H({type:"link",url:r,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??r.href===location.href,event:n})}),O.addEventListener("submit",n=>{if(n.defaultPrevented)return;const a=HTMLFormElement.prototype.cloneNode.call(n.target),r=n.submitter;if(((r==null?void 0:r.formTarget)||a.target)==="_blank"||((r==null?void 0:r.formMethod)||a.method)!=="get")return;const s=new URL((r==null?void 0:r.hasAttribute("formaction"))&&(r==null?void 0:r.formAction)||a.action);if(Ue(s,U,!1))return;const l=n.target,c=we(l);if(c.reload)return;n.preventDefault(),n.stopPropagation();const d=new FormData(l,r);s.search=new URLSearchParams(d).toString(),H({type:"form",url:s,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??s.href===location.href,event:n})}),addEventListener("popstate",async n=>{var a;if(!qe){if((a=n.state)!=null&&a[F]){const r=n.state[F];if(C={},r===k)return;const i=D[r],o=n.state[vt]??{},s=new URL(n.state[rn]??location.href),l=n.state[Z],c=_.url?Pe(location)===Pe(_.url):!1;if(l===L&&(Ut||c)){o!==x.state&&(x.state=o),e(s),D[k]=M(),i&&scrollTo(i.x,i.y),k=r;return}const u=r-k;await H({type:"popstate",url:s,popped:{state:o,scroll:i,delta:u},accept:()=>{k=r,L=l},block:()=>{history.go(-u)},nav_token:C,event:n})}else if(!Y){const r=new URL(location.href);e(r),S.hash&&location.reload()}}}),addEventListener("hashchange",()=>{Y&&(Y=!1,history.replaceState({...history.state,[F]:++k,[Z]:L},"",location.href))});for(const n of document.querySelectorAll("link"))un.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&N.navigating.set(Q.current=null)});function e(n){_.url=x.url=n,N.page.set(et(x)),N.page.notify()}}async function Ln(e,{status:t=200,error:n,node_ids:a,params:r,route:i,server_route:o,data:s,form:l}){Lt=!0;const c=new URL(location.href);let d;({params:r={},route:i={id:null}}=await Ae(c,!1)||{}),d=ze.find(({id:p})=>p===i.id);let u,w=!0;try{const p=a.map(async(m,h)=>{const g=s[h];return g!=null&&g.uses&&(g.uses=Un(g.uses)),Ye({loader:S.nodes[m],url:c,params:r,route:i,parent:async()=>{const b={};for(let R=0;R<h;R+=1)Object.assign(b,(await p[R]).data);return b},server_data_node:Xe(g)})}),f=await Promise.all(p);if(d){const m=d.layouts;for(let h=0;h<m.length;h++)m[h]||f.splice(h,0,void 0)}u=await Re({url:c,params:r,branch:f,status:t,error:n,errors:d==null?void 0:d.errors,form:l,route:d??null})}catch(p){if(p instanceof Be){await te(new URL(p.location,location.href));return}u=await Ze({status:He(p),error:await re(p,{url:c,params:r,route:i}),url:c,route:i}),e.textContent="",w=!1}finally{}u.props.page&&(u.props.page.state={}),await Ot(u,e,w)}function Un(e){return{dependencies:new Set((e==null?void 0:e.dependencies)??[]),params:new Set((e==null?void 0:e.params)??[]),parent:!!(e!=null&&e.parent),route:!!(e!=null&&e.route),url:!!(e!=null&&e.url),search_params:new Set((e==null?void 0:e.search_params)??[])}}let qe=!1;function An(e,t=!0){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const a=Nt(e);if(a&&document.getElementById(a)){const{x:i,y:o}=M();setTimeout(()=>{const s=history.state;qe=!0,location.replace(new URL(`#${a}`,location.href)),history.replaceState(s,"",e),t&&scrollTo(i,o),qe=!1})}else{const i=document.body,o=i.getAttribute("tabindex");i.tabIndex=-1,i.focus({preventScroll:!0,focusVisible:!1}),o!==null?i.setAttribute("tabindex",o):i.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const i=[];for(let o=0;o<r.rangeCount;o+=1)i.push(r.getRangeAt(o));setTimeout(()=>{if(r.rangeCount===i.length){for(let o=0;o<r.rangeCount;o+=1){const s=i[o],l=r.getRangeAt(o);if(s.commonAncestorContainer!==l.commonAncestorContainer||s.startContainer!==l.startContainer||s.endContainer!==l.endContainer||s.startOffset!==l.startOffset||s.endOffset!==l.endOffset)return}r.removeAllRanges()}})}}}function Qe(e,t,n,a,r=null){var c,d;let i,o;const s=new Promise((u,w)=>{i=u,o=w});return s.catch(j),{navigation:{from:{params:e.params,route:{id:((c=e.route)==null?void 0:c.id)??null},url:e.url,scroll:M()},to:n&&{params:(t==null?void 0:t.params)??null,route:{id:((d=t==null?void 0:t.route)==null?void 0:d.id)??null},url:n,scroll:r},willUnload:!t,type:a,complete:s},fulfil:i,reject:o}}function et(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Tn(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function Nt(e){let t;if(S.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{Dn as a,N as b,qn as g,On as l,x as p,Nn as s};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{O as Y,b7 as K,b6 as q,b4 as X,aM as V,aN as P,a8 as L,V as Z,X as ee,a2 as te,b8 as p,a9 as y,Y as m}from"./BjY4dxcB.js";function Ie(e=!1){const t=Y,n=t.l.u;if(!n)return;let s=()=>Z(t.s);if(e){let o=0,r={};const d=ee(()=>{let a=!1;const l=t.s;for(const u in l)l[u]!==r[u]&&(r[u]=l[u],a=!0);return a&&o++,o});s=()=>L(d)}n.b.length&&K(()=>{N(t,s),P(n.b)}),q(()=>{const o=X(()=>n.m.map(V));return()=>{for(const r of o)typeof r=="function"&&r()}}),n.a.length&&q(()=>{N(t,s),P(n.a)})}function N(e,t){if(e.l.s)for(const n of e.l.s)L(n);t()}te();const A="ocrc.token";function z(e){const t=e.startsWith("#")?e.slice(1):e;if(!t)return null;const n=new URLSearchParams(t).get("token");return n&&n.trim()?n.trim():null}function ne(e){const t=e.startsWith("#")?e.slice(1):e;if(!t)return null;const n=new URLSearchParams(t).get("pair");return n&&n.trim()?n.trim():null}function w(){try{const e=localStorage.getItem(A);return e&&e.trim()?e:null}catch{return null}}function S(e){try{localStorage.setItem(A,e)}catch{}}function B(){try{localStorage.removeItem(A)}catch{}}const I="ocrc.authReloaded";function se(e=window.location){if(w()){B();try{const{pathname:t,search:n}=window.location;window.history.replaceState(null,"",t+n)}catch{}e.reload();return}try{if(sessionStorage.getItem(I))return;sessionStorage.setItem(I,"1")}catch{}e.reload()}function E(){try{sessionStorage.removeItem(I)}catch{}}const f=p("booting"),$=p("");let b=null;if(typeof location<"u"&&typeof window<"u"){const e=z(location.hash);e&&S(e),b=ne(location.hash),b&&history.replaceState(null,"",location.pathname+location.search)}b?(f.set("booting"),(async()=>{try{const e=await fetch("/api/pair/exchange",{method:"POST",headers:{"content-type":"application/json"},credentials:"include",body:JSON.stringify({pending:b})});if(!e.ok)throw new Error(String(e.status));const t=await e.json();if(!t.token)throw new Error("no token");S(t.token),$.set(""),f.set("ready")}catch{$.set("配对链接已失效(1 分钟过期或已被使用)——请在主机上刷新二维码后重试。"),f.set("pairing")}})()):f.set(w()?"ready":"pairing");async function $e(e){const t=e.trim().match(/[?#]pair=([^&#\s]+)/),n=t?decodeURIComponent(t[1]):e.trim();if(!n)return"这看起来不是有效的配对链接。";try{const s=await fetch("/api/pair/exchange",{method:"POST",headers:{"content-type":"application/json"},credentials:"include",body:JSON.stringify({pending:n})});if(!s.ok)throw new Error(String(s.status));const o=await s.json();return!o.token||!oe(o.token)?"这看起来不是有效的配对链接。":($.set(""),"")}catch{return"配对链接已失效(1 分钟过期或已被使用)——请刷新二维码后重试。"}}function T(){const e=w();if(!e){y(f)==="ready"&&se();return}const t=typeof location<"u"?z(location.hash):null;if(t&&t!==e){S(t),f.set("ready");return}if(t){f.set("rejected");return}B(),f.set("pairing")}function oe(e){const t=e.trim();return!t||t.length<16?!1:(S(t),f.set("ready"),!0)}let O="";function _(e){const t={...e??{}},n=w();return n&&(t.authorization=`Bearer ${n}`),t}async function i(e){const t=await fetch(`${O}${e}`,{credentials:"include",headers:_()});if(t.status===401)throw T(),new Error(`GET ${e} 401`);if(!t.ok)throw new Error(`GET ${e} ${t.status}`);return E(),t.json()}async function c(e,t){const n=await fetch(`${O}${e}`,{method:"POST",headers:_({"content-type":"application/json"}),credentials:"include",body:JSON.stringify(t)});if(n.status===401)throw T(),new Error(`POST ${e} 401`);if(!n.ok)throw new Error(`POST ${e} ${n.status}`);return E(),n.json()}async function D(e,t,n){const s=await fetch(`${O}${t}`,{method:e,headers:_(n===void 0?void 0:{"content-type":"application/json"}),credentials:"include",body:n===void 0?void 0:JSON.stringify(n)});if(s.status===401)throw T(),new Error(`${e} ${t} 401`);if(!s.ok)throw new Error(`${e} ${t} ${s.status}`);return E(),s.json()}async function x(e,t){return D("PATCH",e,t)}async function F(e){return D("DELETE",e)}const R={me:()=>i("/api/me"),capabilities:()=>i("/api/capabilities"),backends:()=>i("/api/backends"),setActiveBackend:e=>c("/api/backends/active",{backendId:e}),sessions:()=>i("/api/sessions"),cleanupSubagents:()=>c("/api/sessions/cleanup-subagents",{}),revertSession:(e,t)=>c(`/api/session/${e}/revert?messageID=${encodeURIComponent(t)}`,{}),unrevertSession:e=>c(`/api/session/${e}/unrevert`,{}),revertState:e=>i(`/api/session/${e}/revert-state`),deleteSession:e=>c(`/api/sessions/${e}/delete`,{}),renameSession:(e,t)=>c(`/api/sessions/${e}/rename`,{title:t}),history:(e,t)=>{const n=new URLSearchParams;(t==null?void 0:t.limit)!=null&&n.set("limit",String(t.limit)),(t==null?void 0:t.offset)!=null&&n.set("offset",String(t.offset));const s=n.toString();return i(`/api/session/${e}${s?`?${s}`:""}`)},todo:e=>i(`/api/session/${e}/todo`),context:e=>i(`/api/session/${e}/context`),workspaces:()=>i("/api/workspaces"),createSession:e=>c("/api/session",e),mcp:()=>i("/api/mcp"),commands:e=>i(`/api/commands${e?`?backend=${encodeURIComponent(e)}`:""}`),runCommand:e=>c("/api/command",e),agents:()=>i("/api/agents"),models:()=>i("/api/models"),getOverrides:()=>i("/api/overrides"),setOverrides:e=>c("/api/overrides",e),sendMessage:e=>c("/api/message",e),abort:e=>c("/api/abort",{sessionId:e}),suggestions:e=>i(`/api/session/${e}/suggestions`),approve:(e,t,n)=>c("/api/approval",{sessionId:e,requestId:t,decision:n}),answerQuestion:(e,t,n)=>c("/api/question/reply",{sessionId:e,requestId:t,answers:n}),rejectQuestion:(e,t)=>c("/api/question/reject",{sessionId:e,requestId:t}),controls:e=>i(`/api/session/${e}/controls`),setMode:(e,t)=>c(`/api/session/${e}/mode`,{modeId:t}),setModel:(e,t)=>c(`/api/session/${e}/model`,{modelId:t}),files:(e,t)=>i(`/api/session/${e}/files?q=${encodeURIComponent(t)}`),schedules:()=>i("/api/schedules"),subagents:e=>i(`/api/session/${e}/subagents`),messageRaw:(e,t)=>i(`/api/session/${e}/message/${encodeURIComponent(t)}`),vcs:e=>i(`/api/vcs${e?`?sessionId=${encodeURIComponent(e)}`:""}`),vcsDiff:(e,t)=>i(`/api/vcs/diff?file=${encodeURIComponent(t)}${e?`&sessionId=${encodeURIComponent(e)}`:""}`),version:()=>i("/api/version"),skills:e=>i(`/api/skills${e?`?directory=${encodeURIComponent(e)}`:""}`),browse:(e,t)=>i(`/api/browse?directory=${encodeURIComponent(e)}&path=${encodeURIComponent(t)}`),fileContent:(e,t)=>i(`/api/file-content?directory=${encodeURIComponent(e)}&path=${encodeURIComponent(t)}`),worktrees:e=>i(`/api/worktrees${e?`?directory=${encodeURIComponent(e)}`:""}`),createWorktree:(e,t)=>c("/api/worktrees",{directory:e,name:t}),removeWorktree:(e,t)=>F(`/api/worktrees?directory=${encodeURIComponent(e)}&name=${encodeURIComponent(t)}`),channels:()=>i("/api/channels"),updateChannel:(e,t)=>x(`/api/channels/${e}`,t),resetChannel:e=>c(`/api/channels/${e}/reset`,{}),pairQr:()=>i("/api/pair/qr"),pairOnboarding:()=>i("/api/pair/onboarding"),exchangePair:e=>c("/api/pair/exchange",{pending:e}),addSchedule:e=>c("/api/schedules",e),setScheduleEnabled:(e,t)=>x(`/api/schedules/${e}`,{enabled:t}),deleteSchedule:e=>F(`/api/schedules/${e}`)},j=p([]),U=()=>({order:[],byId:{},lastSeq:0}),g=p({});function M(e,t){return e.id??`${e.kind}:${e.seq??t}`}function ie(e){return e==="thinking"||e==="think-stream"}function re(e){return e?e.order.map(t=>e.byId[t]).filter(Boolean):[]}function ae(e,t){return typeof t.seq=="number"&&e>0&&t.seq>e+1}function ce(e){if(!("sessionId"in e)||!e.sessionId)return;const t=e.sessionId,n=M(e,0);g.update(s=>{const o=s[t]??U();if(e.seq!=null&&e.seq<=o.lastSeq&&!(n in o.byId))return s;e.seq!=null&&(o.lastSeq=Math.max(o.lastSeq,e.seq));const r=e.id?e:{...e,id:n};if(n in o.byId)o.byId={...o.byId,[n]:r};else{let d=o.order,a=o.byId;(e.kind==="streaming"||e.kind==="assistant"||e.kind==="error")&&(a={...a},d=d.filter(l=>{var u;return ie((u=a[l])==null?void 0:u.kind)?(delete a[l],!1):!0})),o.order=[...d,n],o.byId={...a,[n]:r}}return{...s,[t]:o}})}function de(e){g.update(t=>{for(const n of Object.keys(t)){const s=t[n];if(!(e in s.byId))continue;const o={...s.byId};return delete o[e],{...t,[n]:{...s,order:s.order.filter(r=>r!==e),byId:o}}}return t})}function le(e,t,n=0){g.update(s=>{const o=U();return o.lastSeq=n,t.forEach((r,d)=>{const a=M(r,d);o.order.push(a),o.byId[a]=r.id?r:{...r,id:a}}),{...s,[e]:o}})}let G=0;function ue(e,t){if(t.length===0)return;G+=1;const n=G;g.update(s=>{const o=s[e]??U(),r={...o.byId},d=[];for(let a=t.length-1;a>=0;a--){const l=t[a],u=l.id??`${l.kind}:h${n}:${a}`;u in r||(d.push(u),r[u]=l.id?l:{...l,id:u})}return d.length===0?s:{...s,[e]:{order:[...d.reverse(),...o.order],byId:r,lastSeq:o.lastSeq}}})}function fe(e){const t=new Set(Array.isArray(e)?e:e?[e]:[]);g.update(n=>{const s={};for(const o of Object.keys(n))t.has(o)&&(s[o]=n[o]);return s})}const Ce=Object.freeze(Object.defineProperty({__proto__:null,cardsOf:re,feeds:g,isSeqGap:ae,prependHistory:ue,pruneFeeds:fe,removeCard:de,sessionList:j,setHistory:le,upsertCard:ce},Symbol.toStringTag,{value:"Module"})),k=p(null),h=p(null),J=p(void 0),pe=m([h,J,j,k],([e,t,n,s])=>{if(e){const o=t?n.find(a=>a.id===t):void 0,r=(o==null?void 0:o.backendId)??e.activeId,d=e.backends.find(a=>a.id===r);if(d)return d.capabilities}return(s==null?void 0:s.capabilities)??null}),he=m([h,J,j,k],([e,t,n,s])=>{if(e){const o=t?n.find(r=>r.id===t):void 0;return(o==null?void 0:o.backendId)??e.activeId}return(s==null?void 0:s.id)??null}),Ae=m(pe,e=>t=>e?e[t]!==!1:!0),me=m([h,k],([e,t])=>{var n;return e?((n=e.backends.find(s=>s.id===e.activeId))==null?void 0:n.capabilities)??null:(t==null?void 0:t.capabilities)??null});m(me,e=>t=>e?e[t]!==!1:!0);const Ee=m(he,e=>{const t=e??"opencode";return t.includes(":")?t.split(":").pop():t}),v=["emerald","azure","amber","violet"],Te={emerald:"#54d398",azure:"#5b9eff",amber:"#ffc34d",violet:"#b48cf0"},Oe={emerald:"#0f261b",azure:"#101f33",amber:"#2a2110",violet:"#1d1733"},_e={emerald:"#236b49",azure:"#2c5891",amber:"#8a6a26",violet:"#5a4790"},W="ocrc.agentAccents",H={opencode:"emerald","acp:kimi":"azure"};function ge(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)>>>0;return t}function ye(e){return H[e]?H[e]:v[ge(e)%v.length]}function be(){if(typeof localStorage>"u")return{};try{const e=localStorage.getItem(W),t=e?JSON.parse(e):{};return typeof t=="object"&&t!==null?t:{}}catch{return{}}}function ve(e){if(!(typeof localStorage>"u"))try{localStorage.setItem(W,JSON.stringify(e))}catch{}}const C=p(be());function we(e){const t=y(C);return v.includes(t[e])?t[e]:ye(e)}function Re(e,t){var s;const n={...y(C)};t&&v.includes(t)?n[e]=t:delete n[e],C.set(n),ve(n),((s=y(h))==null?void 0:s.activeId)===e&&Q(e)}function Q(e){typeof document>"u"||document.documentElement.setAttribute("data-accent",we(e))}async function je(){try{k.set(await R.capabilities())}catch(e){console.warn("[capabilities] failed to load",e)}}async function Se(){try{h.set(await R.backends())}catch(e){console.warn("[backends] failed to load",e)}}async function Ue(e){const t=y(h);t&&h.set({...t,activeId:e});try{await R.setActiveBackend(e)}catch(n){console.warn("[backends] setActive failed",n)}await Se(),Q(e)}export{v as A,Ce as B,Ue as C,Re as D,le as E,oe as F,ce as G,J as H,Oe as a,Te as b,_e as c,C as d,we as e,R as f,Q as g,f as h,Ee as i,h as j,Ae as k,re as l,he as m,ye as n,$e as o,g as p,w as q,Ie as r,ae as s,Se as t,je as u,$ as v,ue as w,fe as x,de as y,j as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as o,s as r}from"../chunks/CDb2pzeY.js";export{o as load_css,r as start};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../chunks/CtMqSQTR.js","../chunks/BjY4dxcB.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{_ as sa}from"../chunks/C1FmrZbK.js";import"../chunks/CWj6FrbW.js";import{r as wt,f as _e,p as Ut,l as Xt,i as ba,G as ga,y as wa,k as ca,a as na,b as oa,c as ra,j as ka,z as Ht,e as xa,C as ya,w as $a}from"../chunks/CtMqSQTR.js";import{aE as kt,M as Tt,a4 as De,w as h,aB as xt,V as xe,b4 as l,J as o,aK as s,a$ as T,a8 as e,aR as q,a3 as y,aU as r,a6 as _,az as Qt,ap as w,aO as t,aq as It,$ as ft,au as n,b2 as va,aw as Et,av as Mt,ay as Vt,b1 as Nt,aI as Ia,b5 as Ft,b0 as Sa,a7 as Ca,Z as Lt}from"../chunks/BjY4dxcB.js";import{i as j,s as Pt,a as Me}from"../chunks/Chcp5gAM.js";import{i as Be,B as Wt,I as Ye,z as oe,A as at,l as jt,c as Ma,f as Zt,g as da,t as Ea,h as qa,v as Ta,K as ia,a as ja,F as Da,E as Ba,q as Oa,m as Kt,r as Aa,s as Ra,y as Pa,C as La,o as la,j as za}from"../chunks/C_vwsPv1.js";import{p as gt,b as Je}from"../chunks/vlg9iH2u.js";import{g as Gt}from"../chunks/CDb2pzeY.js";var Fa=_('<button class="chip svelte-1hbn5f9" role="listitem"> </button>'),Ha=_('<div class="suggestions svelte-1hbn5f9" role="list" aria-label="建议的后续操作"><!> <button class="dismiss svelte-1hbn5f9" aria-label="忽略建议"><!></button></div>');function Na($e,re){kt(re,!1);let A=gt(re,"suggestions",24,()=>[]),I=gt(re,"onPick",8,()=>{}),J=gt(re,"onDismiss",8,()=>{});wt();var Y=Tt(),D=De(Y);{var x=M=>{var E=Ha(),L=o(E);Be(L,3,A,c=>c,(c,k,S)=>{var B=Fa(),de=o(B,!0);s(B),T(b=>{Wt(B,b),q(de,e(k))},[()=>(xe(e(S)),l(()=>`animation-delay: ${Math.min(e(S),5)*45}ms`))]),y("click",B,()=>I()(e(k))),h(c,B)});var be=r(L,2),R=o(be);Ye(R,{name:"close",size:12}),s(be),s(E),y("click",be,function(...c){var k;(k=J())==null||k.apply(this,c)}),h(M,E)};j(D,M=>{xe(A()),l(()=>A().length>0)&&M(x)})}h($e,Y),xt()}var Wa=_('<div class="none label svelte-1f5vmb3">未配置 agent</div>'),Ka=_('<button role="option"><span> </span> <span class="label mono"> </span></button>'),Ga=_('<div class="pop svelte-1f5vmb3" role="listbox" aria-label="Agent 覆盖"><!> <!> <button class="opt clear svelte-1f5vmb3" role="option"><!> 清除覆盖</button></div>'),Ua=_('<div class="wrap svelte-1f5vmb3"><button class="chip mono svelte-1f5vmb3" aria-haspopup="listbox"><!> <span class="txt svelte-1f5vmb3"> </span> <!></button> <button class="chip icon mono svelte-1f5vmb3" aria-haspopup="listbox"><!></button> <!></div>');function Va($e,re){kt(re,!1);const A=n();let I=n(!1),J=n(),Y=n([]),D=n({agent:null,model:null});async function x(){try{await(async p=>{var C=va(p,2);t(Y,C[0]),t(D,C[1])})(await Promise.all([_e.agents(),_e.getOverrides()]))}catch{}}Qt(x);async function M(p){await _e.setOverrides({agent:p.name}),await x(),t(I,!1)}async function E(){await _e.setOverrides({agent:null}),await x(),t(I,!1)}function L(p){p.key==="Escape"&&e(I)&&t(I,!1)}function be(p){e(I)&&e(J)&&!e(J).contains(p.target)&&t(I,!1)}w(()=>e(D),()=>{t(A,e(D).agent??"default")}),It(),wt();var R=Ua();y("keydown",ft,L),y("click",ft,be);var c=o(R),k=o(c);Ye(k,{name:"cpu",size:11});var S=r(k,2),B=o(S,!0);s(S);var de=r(S,2);Ye(de,{name:"caret-down",size:9}),s(c);var b=r(c,2),K=o(b);Ye(K,{name:"cpu",size:14}),s(b);var Z=r(b,2);{var d=p=>{var C=Ga(),z=o(C);{var ie=V=>{var f=Wa();h(V,f)};j(z,V=>{e(Y),l(()=>e(Y).length===0)&&V(ie)})}var he=r(z,2);Be(he,1,()=>e(Y),V=>V.name,(V,f)=>{var U=Ka();let ge;var ye=o(U),te=o(ye,!0);s(ye);var se=r(ye,2),F=o(se,!0);s(se),s(U),T(ne=>{ge=at(U,1,"opt svelte-1f5vmb3",null,ge,{sel:e(f).name===e(D).agent}),oe(U,"aria-selected",(e(f),e(D),l(()=>e(f).name===e(D).agent))),q(te,(e(f),l(()=>e(f).name))),q(F,ne)},[()=>(e(f),l(()=>e(f).model.split("/").pop()))]),y("click",U,()=>M(e(f))),h(V,U)});var G=r(he,2),P=o(G);Ye(P,{name:"close",size:11}),Et(),s(G),s(C),T(()=>oe(G,"aria-selected",(e(D),l(()=>e(D).agent==null)))),y("click",G,E),h(p,C)};j(Z,p=>{e(I)&&p(d)})}s(R),Je(R,p=>t(J,p),()=>e(J)),T(()=>{oe(c,"aria-expanded",e(I)),q(B,e(A)),oe(b,"aria-label",`Agent:${e(A)}`),oe(b,"aria-expanded",e(I))}),y("click",c,()=>{t(I,!e(I)),e(I)&&x()}),y("click",b,()=>{t(I,!e(I)),e(I)&&x()}),h($e,R),xt()}var Ja=_('<div class="none label svelte-1005b73">暂无模型</div>'),Ya=_('<button role="option"><span> </span></button>'),Xa=_('<div class="prov label mono svelte-1005b73"> </div> <!>',1),Za=_('<div class="pop svelte-1005b73" role="listbox" aria-label="模型覆盖"><!> <!> <button class="opt clear svelte-1005b73" role="option"><!> 清除覆盖</button></div>'),Qa=_('<div class="wrap svelte-1005b73"><button class="chip mono svelte-1005b73" aria-haspopup="listbox"><!> <span class="txt svelte-1005b73"> </span> <!></button> <button class="chip icon mono svelte-1005b73" aria-haspopup="listbox"><!></button> <!></div>');function es($e,re){kt(re,!1);const A=n();let I=n(!1),J=n(),Y=n([]),D=n({agent:null,model:null});async function x(){try{await(async p=>{var C=va(p,2);t(Y,C[0]),t(D,C[1])})(await Promise.all([_e.models(),_e.getOverrides()]))}catch{}}Qt(x);async function M(p,C){await _e.setOverrides({model:{providerID:p,modelID:C}}),await x(),t(I,!1)}async function E(){await _e.setOverrides({model:null}),await x(),t(I,!1)}function L(p){p.key==="Escape"&&e(I)&&t(I,!1)}function be(p){e(I)&&e(J)&&!e(J).contains(p.target)&&t(I,!1)}w(()=>e(D),()=>{var p;t(A,((p=e(D).model)==null?void 0:p.modelID)??"model")}),It(),wt();var R=Qa();y("keydown",ft,L),y("click",ft,be);var c=o(R),k=o(c);Ye(k,{name:"bolt",size:11});var S=r(k,2),B=o(S,!0);s(S);var de=r(S,2);Ye(de,{name:"caret-down",size:9}),s(c);var b=r(c,2),K=o(b);Ye(K,{name:"bolt",size:14}),s(b);var Z=r(b,2);{var d=p=>{var C=Za(),z=o(C);{var ie=V=>{var f=Ja();h(V,f)};j(z,V=>{e(Y),l(()=>e(Y).length===0)&&V(ie)})}var he=r(z,2);Be(he,1,()=>e(Y),V=>V.id,(V,f)=>{var U=Xa(),ge=De(U),ye=o(ge,!0);s(ge);var te=r(ge,2);Be(te,1,()=>(e(f),l(()=>e(f).models)),se=>se.id,(se,F)=>{var ne=Ya();let ue;var m=o(ne),X=o(m,!0);s(m),s(ne),T(()=>{var le,pe;ue=at(ne,1,"opt svelte-1005b73",null,ue,{sel:((le=e(D).model)==null?void 0:le.providerID)===e(f).id&&((pe=e(D).model)==null?void 0:pe.modelID)===e(F).id}),oe(ne,"aria-selected",(e(D),e(f),e(F),l(()=>{var Ee,Xe;return((Ee=e(D).model)==null?void 0:Ee.providerID)===e(f).id&&((Xe=e(D).model)==null?void 0:Xe.modelID)===e(F).id}))),q(X,(e(F),l(()=>e(F).name||e(F).id)))}),y("click",ne,()=>M(e(f).id,e(F).id)),h(se,ne)}),T(()=>q(ye,(e(f),l(()=>e(f).id)))),h(V,U)});var G=r(he,2),P=o(G);Ye(P,{name:"close",size:11}),Et(),s(G),s(C),T(()=>oe(G,"aria-selected",(e(D),l(()=>e(D).model==null)))),y("click",G,E),h(p,C)};j(Z,p=>{e(I)&&p(d)})}s(R),Je(R,p=>t(J,p),()=>e(J)),T(()=>{oe(c,"aria-expanded",e(I)),q(B,e(A)),oe(b,"aria-label",`模型:${e(A)}`),oe(b,"aria-expanded",e(I))}),y("click",c,()=>{t(I,!e(I)),e(I)&&x()}),y("click",b,()=>{t(I,!e(I)),e(I)&&x()}),h($e,R),xt()}var ts=_('<button role="option"> </button>'),as=_('<div class="pop svelte-dkbq22" role="listbox" aria-label="Mode"><div class="label">Mode</div> <!></div>'),ss=_('<div class="wrap svelte-dkbq22"><button class="chip mono svelte-dkbq22" aria-haspopup="listbox"><!> <span class="txt svelte-dkbq22"> </span> <!></button> <!></div>'),ns=_('<button role="option"> </button>'),os=_('<div class="pop svelte-dkbq22" role="listbox" aria-label="Model"><div class="label">Model</div> <!></div>'),rs=_('<div class="wrap svelte-dkbq22"><button class="chip mono svelte-dkbq22" aria-haspopup="listbox"><!> <span class="txt svelte-dkbq22"> </span> <!></button> <!></div>'),is=_('<div class="controls svelte-dkbq22"><!> <!></div>');function ls($e,re){kt(re,!1);const A=n(),I=n(),J=n(),Y=n();let D=gt(re,"sessionId",8),x=n({}),M=n(null);async function E(){const d=D();try{const p=await _e.controls(d);if(d!==D())return;t(x,p)}catch{d===D()&&t(x,{})}}async function L(d){e(x).mode&&Mt(x,e(x).mode={...e(x).mode,current:d}),t(M,null);try{await _e.setMode(D(),d)}catch{}await E()}async function be(d){e(x).model&&Mt(x,e(x).model={...e(x).model,current:d}),t(M,null);try{await _e.setModel(D(),d)}catch{}await E()}function R(d){t(M,e(M)===d?null:d)}let c=n();function k(d){d.key==="Escape"&&e(M)&&t(M,null)}function S(d){e(M)&&e(c)&&!e(c).contains(d.target)&&t(M,null)}w(()=>xe(D()),()=>{D()&&E()}),w(()=>e(x),()=>{var d;t(A,((d=e(x).mode)==null?void 0:d.options)??[])}),w(()=>e(x),()=>{var d;t(I,((d=e(x).model)==null?void 0:d.options)??[])}),w(()=>e(x),()=>{var d,p,C;t(J,((p=(d=e(x).mode)==null?void 0:d.options.find(z=>{var ie;return z.id===((ie=e(x).mode)==null?void 0:ie.current)}))==null?void 0:p.name)??((C=e(x).mode)==null?void 0:C.current)??"mode")}),w(()=>e(x),()=>{var d,p,C;t(Y,((p=(d=e(x).model)==null?void 0:d.options.find(z=>{var ie;return z.id===((ie=e(x).model)==null?void 0:ie.current)}))==null?void 0:p.name)??((C=e(x).model)==null?void 0:C.current)??"model")}),It(),wt();var B=is();y("keydown",ft,k),y("click",ft,S);var de=o(B);{var b=d=>{var p=ss(),C=o(p),z=o(C);Ye(z,{name:"bolt",size:11});var ie=r(z,2),he=o(ie,!0);s(ie);var G=r(ie,2);Ye(G,{name:"caret-down",size:9}),s(C);var P=r(C,2);{var V=f=>{var U=as(),ge=r(o(U),2);Be(ge,1,()=>e(A),jt,(ye,te)=>{var se=ts();let F;var ne=o(se,!0);s(se),T(()=>{var ue;F=at(se,1,"opt svelte-dkbq22",null,F,{sel:e(te).id===((ue=e(x).mode)==null?void 0:ue.current)}),oe(se,"aria-selected",(e(te),e(x),l(()=>{var m;return e(te).id===((m=e(x).mode)==null?void 0:m.current)}))),q(ne,(e(te),l(()=>e(te).name)))}),y("click",se,()=>L(e(te).id)),h(ye,se)}),s(U),h(f,U)};j(P,f=>{e(M)==="mode"&&f(V)})}s(p),T(()=>{oe(C,"aria-expanded",e(M)==="mode"),q(he,e(J))}),y("click",C,()=>R("mode")),h(d,p)};j(de,d=>{e(A),l(()=>e(A).length>0)&&d(b)})}var K=r(de,2);{var Z=d=>{var p=rs(),C=o(p),z=o(C);Ye(z,{name:"cpu",size:11});var ie=r(z,2),he=o(ie,!0);s(ie);var G=r(ie,2);Ye(G,{name:"caret-down",size:9}),s(C);var P=r(C,2);{var V=f=>{var U=os(),ge=r(o(U),2);Be(ge,1,()=>e(I),jt,(ye,te)=>{var se=ns();let F;var ne=o(se,!0);s(se),T(()=>{var ue;F=at(se,1,"opt svelte-dkbq22",null,F,{sel:e(te).id===((ue=e(x).model)==null?void 0:ue.current)}),oe(se,"aria-selected",(e(te),e(x),l(()=>{var m;return e(te).id===((m=e(x).model)==null?void 0:m.current)}))),q(ne,(e(te),l(()=>e(te).name)))}),y("click",se,()=>be(e(te).id)),h(ye,se)}),s(U),h(f,U)};j(P,f=>{e(M)==="model"&&f(V)})}s(p),T(()=>{oe(C,"aria-expanded",e(M)==="model"),q(he,e(Y))}),y("click",C,()=>R("model")),h(d,p)};j(K,d=>{e(I),l(()=>e(I).length>0)&&d(Z)})}s(B),Je(B,d=>t(c,d),()=>e(c)),h($e,B),xt()}const zt={user:"var(--info)",assistant:"var(--accent)",tool:"var(--ok)",other:"var(--border)"};function Yt($e){if(!$e)return 0;let re=0;for(const I of $e)(I.codePointAt(0)??0)>=11904&&re++;const A=$e.length-re;return Math.round(re*.6+A*.25)}function cs($e,re){let A=0,I=0,J=0;for(const M of $e)if(M.kind==="user")A+=Yt(String(M.text??""));else if(M.kind==="assistant")for(const E of M.blocks??[])E.type==="text"?I+=Yt(String(E.text??"")):E.type==="tool"&&(J+=Yt(String(E.args??"")));const Y=A+I+J,D=Math.max(0,re-Y),x=[{key:"用户",tokens:A,color:zt.user},{key:"助手",tokens:I,color:zt.assistant},{key:"工具调用",tokens:J,color:zt.tool}];return D>0&&x.push({key:"其他",tokens:D,color:zt.other}),{segments:x.filter(M=>M.tokens>0),accounted:Y,used:re}}var vs=_('<span class="seg svelte-4bdpxt"></span>'),ds=_('<span class="lg svelte-4bdpxt"><span class="dot svelte-4bdpxt"></span> </span>'),us=_('<div class="bar svelte-4bdpxt" aria-hidden="true"></div> <div class="legend svelte-4bdpxt"></div>',1),ps=_('<div class="bar svelte-4bdpxt" aria-hidden="true"></div>'),fs=_('<div class="row svelte-4bdpxt"><span>缓存命中率</span><span class="mono svelte-4bdpxt"> </span></div>'),ms=_('<div class="row svelte-4bdpxt"><span>消息</span><span class="mono svelte-4bdpxt"> </span></div>'),hs=_('<div class="row svelte-4bdpxt"><span>模型</span><span class="mono svelte-4bdpxt"> </span></div>'),_s=_('<div class="row svelte-4bdpxt"><span>总成本</span><span class="mono svelte-4bdpxt"> </span></div>'),bs=_('<div class="pop svelte-4bdpxt" role="dialog" aria-label="上下文用量"><div class="head svelte-4bdpxt"><span class="label svelte-4bdpxt">上下文</span> <span class="mono dim svelte-4bdpxt"> </span></div> <!> <div class="rows svelte-4bdpxt"><!> <!> <!> <!></div></div>'),gs=_('<div class="wrap svelte-4bdpxt"><button class="ring svelte-4bdpxt" title="上下文占用"><svg viewBox="0 0 24 24" aria-hidden="true" class="svelte-4bdpxt"><circle class="track svelte-4bdpxt" cx="12" cy="12"></circle><circle class="arc svelte-4bdpxt" cx="12" cy="12" transform="rotate(-90 12 12)"></circle></svg> <span class="pct mono svelte-4bdpxt"> <i class="svelte-4bdpxt">%</i></span></button> <!></div>');function ws($e,re){kt(re,!1);const A=()=>Me(Ut,"$feeds",I),[I,J]=Pt(),Y=n(),D=n(),x=n(),M=n(),E=n(),L=n(),be=n(),R=n(),c=n(),k=n(),S=n(),B=n(),de=n(),b=n(),K=n(),Z=n();let d=gt(re,"sessionId",8),p=n({}),C=n(!1),z=n(),ie,he=n(),G=n(-1),P=n();async function V(u){try{t(p,await _e.context(u))}catch{}}Vt(()=>{clearTimeout(e(P)),clearTimeout(ie)});const f=10,U=2*Math.PI*f;function ge(u){return u>=1e6?(u/1e6).toFixed(1)+"M":u>=1e3?(u/1e3).toFixed(1)+"k":String(u)}function ye(u){return u==null?"—":`$${u.toFixed(3)}`}function te(){clearTimeout(ie),t(C,!0)}function se(){clearTimeout(ie),ie=setTimeout(()=>t(C,!1),180)}function F(u){u.key==="Escape"&&t(C,!1)}function ne(u){e(C)&&e(z)&&!e(z).contains(u.target)&&t(C,!1)}w(()=>(xe(d()),e(he)),()=>{d()!==e(he)&&(t(he,d()),V(d()))}),w(()=>(A(),xe(d())),()=>{var u;t(Y,((u=A()[d()])==null?void 0:u.lastSeq)??0)}),w(()=>(e(Y),e(G),e(P),xe(d())),()=>{e(Y)!==e(G)&&(t(G,e(Y)),clearTimeout(e(P)),t(P,setTimeout(()=>void V(d()),1e3)))}),w(()=>e(p),()=>{var u,H;t(D,typeof((H=(u=e(p))==null?void 0:u.tokens)==null?void 0:H.input)=="number"?e(p).tokens.input:0)}),w(()=>e(p),()=>{var u,H;t(x,typeof((H=(u=e(p))==null?void 0:u.tokens)==null?void 0:H.output)=="number"?e(p).tokens.output:0)}),w(()=>(e(p),e(D),e(x)),()=>{var u,H;t(M,typeof((H=(u=e(p))==null?void 0:u.tokens)==null?void 0:H.used)=="number"?e(p).tokens.used:e(D)+e(x))}),w(()=>e(p),()=>{var u,H;t(E,typeof((H=(u=e(p))==null?void 0:u.tokens)==null?void 0:H.max)=="number"?e(p).tokens.max:void 0)}),w(()=>(e(M),e(E)),()=>{t(L,e(M)>0&&e(E)?Math.min(100,e(M)/e(E)*100):0)}),w(()=>e(L),()=>{t(be,e(L)>=90?"var(--err)":e(L)>=70?"var(--warn)":"var(--ok)")}),w(()=>e(p),()=>{var u;t(R,(u=e(p))!=null&&u.model?String(e(p).model).split("/").pop():void 0)}),w(()=>e(p),()=>{var u;t(c,typeof((u=e(p))==null?void 0:u.cost)=="number"?e(p).cost:void 0)}),w(()=>e(p),()=>{var u,H,fe;t(k,typeof((fe=(H=(u=e(p))==null?void 0:u.tokens)==null?void 0:H.cache)==null?void 0:fe.read)=="number"?e(p).tokens.cache.read:0)}),w(()=>e(p),()=>{var u,H,fe;t(S,typeof((fe=(H=(u=e(p))==null?void 0:u.tokens)==null?void 0:H.cache)==null?void 0:fe.write)=="number"?e(p).tokens.cache.write:0)}),w(()=>(e(D),e(k)),()=>{t(B,e(D)+e(k)>0?Math.round(e(k)/(e(D)+e(k))*100):void 0)}),w(()=>(A(),xe(d())),()=>{t(de,A()[d()])}),w(()=>e(de),()=>{t(b,Xt(e(de)).filter(u=>u.kind==="user"||u.kind==="assistant").length)}),w(()=>e(de),()=>{t(K,Xt(e(de)))}),w(()=>(e(K),e(M)),()=>{t(Z,cs(e(K),e(M)))}),It(),wt();var ue=gs();y("keydown",ft,F),y("click",ft,ne);var m=o(ue),X=o(m),le=o(X);oe(le,"r",f);var pe=r(le);oe(pe,"r",f),s(X);var Ee=r(X,2),Xe=o(Ee,!0);Et(),s(Ee),s(m);var Oe=r(m,2);{var ce=u=>{var H=bs(),fe=o(H),Ce=r(o(fe),2),Le=o(Ce);s(Ce),s(fe);var Ge=r(fe,2);{var rt=a=>{var g=us(),O=De(g);Be(O,5,()=>(e(Z),l(()=>e(Z).segments)),jt,(N,ve)=>{var Re=vs();T(()=>Wt(Re,(e(ve),e(Z),l(()=>`width:${e(ve).tokens/(e(Z).used||1)*100}%; background:${e(ve).color}`)))),h(N,Re)}),s(O);var Q=r(O,2);Be(Q,5,()=>(e(Z),l(()=>e(Z).segments)),jt,(N,ve)=>{var Re=ds(),qt=o(Re),Te=r(qt);s(Re),T(we=>{Wt(qt,(e(ve),l(()=>`background:${e(ve).color}`))),q(Te,`${e(ve),l(()=>e(ve).key)??""} ${we??""}%`)},[()=>(e(M),e(ve),l(()=>e(M)>0?(e(ve).tokens/e(M)*100).toFixed(1):"0"))]),h(N,Re)}),s(Q),h(a,g)},mt=a=>{var g=ps();h(a,g)};j(Ge,a=>{e(Z),l(()=>e(Z).segments.length>0)?a(rt):a(mt,-1)})}var Ue=r(Ge,2),Ae=o(Ue);{var ze=a=>{var g=fs(),O=r(o(g)),Q=o(O);s(O),s(g),T(()=>q(Q,`${e(B)??""}%`)),h(a,g)};j(Ae,a=>{e(B)!=null&&a(ze)})}var qe=r(Ae,2);{var st=a=>{var g=ms(),O=r(o(g)),Q=o(O,!0);s(O),s(g),T(()=>q(Q,e(b))),h(a,g)};j(qe,a=>{e(b)>0&&a(st)})}var it=r(qe,2);{var ht=a=>{var g=hs(),O=r(o(g)),Q=o(O,!0);s(O),s(g),T(()=>q(Q,e(R))),h(a,g)};j(it,a=>{e(R)&&a(ht)})}var yt=r(it,2);{var v=a=>{var g=_s(),O=r(o(g)),Q=o(O,!0);s(O),s(g),T(N=>q(Q,N),[()=>(e(c),l(()=>ye(e(c))))]),h(a,g)};j(yt,a=>{e(c)!=null&&a(v)})}s(Ue),s(H),T((a,g)=>q(Le,`${a??""} / ${g??""}`),[()=>(e(M),l(()=>ge(e(M)))),()=>(e(E),l(()=>ge(e(E))))]),h(u,H)};j(Oe,u=>{e(C)&&e(E)&&u(ce)})}s(ue),Je(ue,u=>t(z,u),()=>e(z)),T((u,H,fe)=>{oe(m,"aria-label",u),oe(m,"aria-expanded",e(C)),oe(pe,"stroke",e(be)),oe(pe,"stroke-dasharray",H),q(Xe,fe)},[()=>(e(L),l(()=>`上下文占用 ${e(L).toFixed(0)}%`)),()=>(e(L),l(()=>`${Math.max(U*e(L)/100,e(L)>0?1.5:0)} ${U}`)),()=>(e(L),l(()=>e(L).toFixed(0)))]),y("click",m,()=>t(C,!e(C))),y("mouseenter",ue,te),y("mouseleave",ue,se),h($e,ue),xt(),J()}var ks=_('<div class="error svelte-60fagq" role="alert"> </div>'),xs=_('<button role="option"> </button>'),ys=_('<div class="mention-dropdown svelte-60fagq" role="listbox"></div>'),$s=_('<div class="thumb svelte-60fagq"><img alt="attachment" class="svelte-60fagq"/> <button class="remove svelte-60fagq" aria-label="移除图片">×</button></div>'),Is=_('<div class="thumbnails svelte-60fagq"></div>'),Ss=_('<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),Cs=_("<!> <!>",1),Ms=_('<button class="send stop svelte-60fagq" aria-label="停止" title="停止生成"><svg width="13" height="13" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><rect x="5" y="5" width="14" height="14" rx="2"></rect></svg></button>'),Es=Ca('<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 19V5M5 12l7-7 7 7"></path></svg>'),qs=_('<button class="send svelte-60fagq" aria-label="发送"><!></button>'),Ts=_('<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> <!></div></div></div></div>');function js($e,re){kt(re,!1);const A=()=>Me(Zt,"$composerDraft",x),I=()=>Me(Ut,"$feeds",x),J=()=>Me(ca,"$can",x),Y=()=>Me(qa,"$connection",x),D=()=>Me(ba,"$backendName",x),[x,M]=Pt(),E=n(),L=n(),be=n();let R=gt(re,"sessionId",8),c=n(""),k=n(),S=n(!1),B=n(""),de=n(!1),b=n(),K=n([]),Z=n([]),d=n(0),p=0,C,z=!1;async function ie(){if(!z){z=!0;try{await _e.abort(R())}catch{}finally{z=!1}}}function he(){return`c_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function G(v){const a=new FileReader;a.onload=()=>{var Re;const g=a.result,O=g.indexOf(","),Q=g.slice(0,O),N=g.slice(O+1),ve=((Re=Q.match(/data:(.*?);/))==null?void 0:Re[1])??v.type;t(K,[...e(K),{data:N,mimeType:ve,preview:g}])},a.readAsDataURL(v)}function P(v){const a=v.target;if(a.files){for(const g of a.files)G(g);a.value=""}}function V(v){if(!J()("imageInput")||!v.clipboardData)return;const a=[...v.clipboardData.items].filter(g=>g.type.startsWith("image/"));if(a.length){v.preventDefault();for(const g of a){const O=g.getAsFile();O&&G(O)}}}function f(v){t(K,e(K).filter((a,g)=>g!==v))}function U(){if(!e(k))return null;const v=e(k).selectionStart,g=e(c).slice(0,v).match(/(^|[\s])@([^\s]*)$/);return g?{token:g[2],start:v-g[2].length-1}:null}function ge(){const v=U();if(!v){t(Z,[]),clearTimeout(C);return}p=v.start,t(d,0),clearTimeout(C);const a=v.token;C=setTimeout(async()=>{try{t(Z,await _e.files(R(),a))}catch{t(Z,[])}},150)}function ye(v){const a=e(k).selectionStart,g=e(c).slice(0,p),O=e(c).slice(a),Q=`@${v} `;t(c,g+Q+O),t(Z,[]),Nt().then(()=>{const N=g.length+Q.length;Mt(k,e(k).selectionStart=Mt(k,e(k).selectionEnd=N)),e(k).focus(),F()})}async function te(){var Q;const v=e(c).trim();if(!v&&e(K).length===0||e(S))return;if(Y()!=="connected"){t(B,"Disconnected — reconnecting…");return}const a=he(),g=e(K).map(({data:N,mimeType:ve})=>({data:N,mimeType:ve}));t(S,!0),t(B,""),ga({kind:"user",sessionId:R(),text:v,ts:Date.now(),id:`user:${a}`}),t(c,"");const O=[...e(K)];t(K,[]),F();try{await _e.sendMessage({sessionId:R(),text:v,clientId:a,...g.length?{images:g}:{}})}catch(N){t(B,`Send failed: ${N.message}`),wa(`user:${a}`),t(c,v),t(K,O)}finally{t(S,!1),(Q=e(k))==null||Q.focus()}}function se(v){if(e(Z).length>0){if(v.key==="ArrowDown"){v.preventDefault(),t(d,Math.min(e(d)+1,e(Z).length-1));return}if(v.key==="ArrowUp"){v.preventDefault(),t(d,Math.max(e(d)-1,0));return}if(v.key==="Enter"||v.key==="Tab"){v.preventDefault(),ye(e(Z)[e(d)]);return}if(v.key==="Escape"){v.preventDefault(),t(Z,[]);return}}v.key!=="Enter"||v.shiftKey||v.isComposing||v.keyCode===229||(v.preventDefault(),te())}function F(){e(k)&&(Mt(k,e(k).style.height="auto"),Mt(k,e(k).style.height=Math.min(e(k).scrollHeight,140)+"px"))}Vt(()=>clearTimeout(C)),w(()=>(A(),e(k)),()=>{const v=A();v&&(t(c,v.text),Zt.set(void 0),Nt().then(()=>{var a;return(a=e(k))==null?void 0:a.focus()}),F())}),w(()=>e(c),()=>{da.set(!e(c).trim())}),w(()=>e(c),()=>{t(E,e(c).trim().length>0)}),w(()=>(I(),xe(R())),()=>{t(L,(()=>{const v=I()[R()];if(!v||v.order.length===0)return!1;const a=v.byId[v.order[v.order.length-1]];return(a==null?void 0:a.kind)==="thinking"||(a==null?void 0:a.kind)==="streaming"||(a==null?void 0:a.kind)==="think-stream"})())}),w(()=>(e(L),e(E),e(S)),()=>{t(be,e(L)&&!e(E)&&!e(S))}),It(),wt();var ne=Ts(),ue=o(ne),m=o(ue);{var X=v=>{var a=ks(),g=o(a,!0);s(a),T(()=>q(g,e(B))),h(v,a)};j(m,v=>{e(B)&&v(X)})}var le=r(m,2);let pe;var Ee=o(le);{var Xe=v=>{var a=ys();Be(a,5,()=>e(Z),jt,(g,O,Q)=>{var N=xs();let ve;var Re=o(N,!0);s(N),T(()=>{ve=at(N,1,"mention-row svelte-60fagq",null,ve,{active:Q===e(d)}),oe(N,"aria-selected",Q===e(d)),q(Re,e(O))}),y("mousedown",N,Ta(()=>ye(e(O)))),h(g,N)}),s(a),h(v,a)};j(Ee,v=>{e(Z),l(()=>e(Z).length>0)&&v(Xe)})}var Oe=r(Ee,2);{var ce=v=>{var a=Is();Be(a,5,()=>e(K),jt,(g,O,Q)=>{var N=$s(),ve=o(N),Re=r(ve,2);s(N),T(()=>oe(ve,"src",(e(O),l(()=>e(O).preview)))),y("click",Re,()=>f(Q)),h(g,N)}),s(a),h(v,a)};j(Oe,v=>{e(K),l(()=>e(K).length>0)&&v(ce)})}var u=r(Oe,2);Ia(u),oe(u,"rows",1),Je(u,v=>t(k,v),()=>e(k));var H=r(u,2),fe=o(H);{var Ce=v=>{var a=Ss(),g=De(a),O=r(g,2);Je(O,Q=>t(b,Q),()=>e(b)),y("click",g,()=>e(b).click()),y("change",O,P),h(v,a)},Le=Ft(()=>(J(),l(()=>J()("imageInput"))));j(fe,v=>{e(Le)&&v(Ce)})}var Ge=r(fe,2);{var rt=v=>{var a=Cs(),g=De(a);Va(g,{});var O=r(g,2);es(O,{}),h(v,a)},mt=Ft(()=>(J(),l(()=>J()("catalog"))));j(Ge,v=>{e(mt)&&v(rt)})}var Ue=r(Ge,2);{var Ae=v=>{ls(v,{get sessionId(){return R()}})},ze=Ft(()=>(J(),l(()=>J()("sessionControls"))));j(Ue,v=>{e(ze)&&v(Ae)})}var qe=r(Ue,2);ws(qe,{get sessionId(){return R()}});var st=r(qe,2),it=r(st,6);{var ht=v=>{var a=Ms();y("click",a,ie),h(v,a)},yt=v=>{var a=qs(),g=o(a);{var O=N=>{var ve=Sa("…");h(N,ve)},Q=N=>{var ve=Es();h(N,ve)};j(g,N=>{e(S)?N(O):N(Q,-1)})}s(a),T(N=>a.disabled=N,[()=>(e(S),e(c),e(K),Y(),l(()=>e(S)||!e(c).trim()&&e(K).length===0||Y()!=="connected"))]),y("click",a,te),h(v,a)};j(it,v=>{e(be)?v(ht):v(yt,-1)})}s(H),s(le),s(ue),s(ne),T(()=>{pe=at(le,1,"box svelte-60fagq",null,pe,{focused:e(de),"has-text":e(E)}),oe(u,"placeholder",Y()==="connected"?`给 ${D()} 留言…`:"连接断开…")}),Ma(u,()=>e(c),v=>t(c,v)),y("keydown",u,se),y("input",u,()=>{F(),ge()}),y("paste",u,V),y("focus",u,()=>t(de,!0)),y("blur",u,()=>t(de,!1)),y("click",u,ge),y("click",st,()=>Ea.set(!0)),h($e,ne),xt(),M()}var Ds=_('<span class="check svelte-rgafhj">✓</span>'),Bs=_('<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>'),Os=_('<div class="empty svelte-rgafhj"> </div>'),As=_('<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>'),Rs=_('<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 Ps($e,re){kt(re,!1);const A=()=>Me(ka,"$backends",D),I=()=>Me(Ht,"$sessionList",D),J=()=>Me(ja,"$activeWorkspace",D),Y=()=>Me(ia,"$workspaces",D),[D,x]=Pt(),M=n(),E=n(),L=n(),be=n(),R=n(),c=n();let k=gt(re,"activeId",8,void 0),S=n(!1),B=n(!1);function de(m){const X=m.split(/[\s\-_:./]+/).filter(Boolean);return X.length>=2?(X[0][0]+X[1][0]).toUpperCase():m.slice(0,2).toUpperCase()}function b(m){return de((m==null?void 0:m.name)||(m==null?void 0:m.id)||"OC")}function K(m){return m==="online"||m==="connected"?"online":m==="connecting"||m==="reconnecting"?"connecting":m==="offline"?"offline":"online"}function Z(){t(S,!e(S))}function d(m){t(S,!1),Gt(`/${m}/`)}async function p(){var X;if(e(B))return;const m=J()||((X=Y()[0])==null?void 0:X.directory)||"";t(B,!0);try{await ya(e(M));const le=await _e.createSession({directory:m});Ht.set(await _e.sessions()),ia.set(await _e.workspaces()),t(S,!1),Gt(`/${le.id}/`)}catch(le){alert(`Create session failed: ${le.message}`)}finally{t(B,!1)}}function C(m){m.key==="Escape"&&t(S,!1)}function z(m){const X=Date.now()-m,le=Math.floor(X/6e4);if(le<1)return"now";if(le<60)return`${le}m`;const pe=Math.floor(le/60);return pe<24?`${pe}h`:`${Math.floor(pe/24)}d`}function ie(m){return(m.includes("_")?m.slice(m.indexOf("_")+1):m).slice(-8)}w(()=>A(),()=>{var m,X,le;t(M,((m=A())==null?void 0:m.activeId)??((le=(X=A())==null?void 0:X.backends[0])==null?void 0:le.id)??"opencode")}),w(()=>(A(),e(M)),()=>{var m;t(E,(m=A())==null?void 0:m.backends.find(X=>X.id===e(M)))}),w(()=>e(M),()=>{t(L,xa(e(M)))}),w(()=>(I(),e(M)),()=>{t(be,I().filter(m=>m.backendId===e(M)||!m.backendId&&e(M)==="opencode").sort((m,X)=>X.lastActiveAt-m.lastActiveAt))}),w(()=>(I(),xe(k())),()=>{t(R,I().find(m=>m.id===k()))}),w(()=>e(R),()=>{var m;t(c,((m=e(R))==null?void 0:m.title)||"Untitled session")}),It(),wt();var he=Rs();y("keydown",ft,C);var G=o(he),P=o(G),V=o(P,!0);s(P);var f=r(P,2),U=o(f),ge=o(U,!0);s(U),s(f);var ye=r(f,2),te=o(ye,!0);s(ye);var se=r(ye,2),F=o(se);Ye(F,{name:"caret-down",size:11}),s(se),s(G);var ne=r(G,2);{var ue=m=>{var X=As(),le=o(X);Be(le,5,()=>e(be),Oe=>Oe.id,(Oe,ce)=>{var u=Bs();let H;var fe=o(u),Ce=r(fe,2),Le=o(Ce),Ge=o(Le,!0);s(Le);var rt=r(Le,2),mt=o(rt);s(rt),s(Ce);var Ue=r(Ce,2);{var Ae=ze=>{var qe=Ds();h(ze,qe)};j(Ue,ze=>{e(ce),xe(k()),l(()=>e(ce).id===k())&&ze(Ae)})}s(u),T((ze,qe)=>{H=at(u,1,"row svelte-rgafhj",null,H,{active:e(ce).id===k()}),at(fe,1,`dot ${e(ce),xe(k()),l(()=>e(ce).id===k()?"active":"")??""}`,"svelte-rgafhj"),q(Ge,(e(ce),l(()=>e(ce).title||"Untitled session"))),q(mt,`${ze??""} · ${qe??""}`)},[()=>(e(ce),l(()=>ie(e(ce).id))),()=>(e(ce),l(()=>z(e(ce).lastActiveAt)))]),y("click",u,()=>d(e(ce).id)),h(Oe,u)},Oe=>{var ce=Os(),u=o(ce);s(ce),T(()=>q(u,`No sessions on ${e(E),l(()=>{var H,fe;return((H=e(E))==null?void 0:H.name)??((fe=e(E))==null?void 0:fe.id)??"this agent"})??""}.`)),h(Oe,ce)}),s(le);var pe=r(le,2),Ee=o(pe),Xe=o(Ee);s(Ee),s(pe),s(X),T(()=>{Ee.disabled=e(B),q(Xe,`+ New session on ${e(E),l(()=>{var Oe,ce;return((Oe=e(E))==null?void 0:Oe.name)??((ce=e(E))==null?void 0:ce.id)??"agent"})??""}`)}),y("click",Ee,p),h(m,X)};j(ne,m=>{e(S)&&m(ue)})}s(he),T((m,X,le)=>{oe(G,"aria-expanded",e(S)),Wt(P,`background:${xe(na),e(L),l(()=>na[e(L)])??""}; color:${xe(oa),e(L),l(()=>oa[e(L)])??""}; border-color:${xe(ra),e(L),l(()=>ra[e(L)])??""}`),q(V,m),at(f,1,`status-dot ${X??""}`,"svelte-rgafhj"),q(ge,le),q(te,e(c))},[()=>(e(E),l(()=>b(e(E)))),()=>(e(E),l(()=>{var m;return K((m=e(E))==null?void 0:m.status)})),()=>(e(E),l(()=>{var m;return K((m=e(E))==null?void 0:m.status)}))]),y("click",G,Z),h($e,he),xt(),x()}var Ls=_('<button class="ghost svelte-w3h0m4" title="重新显示计划窗"><span class="label svelte-w3h0m4">计划</span> <span class="bar-count mono svelte-w3h0m4"> <i class="svelte-w3h0m4">/</i> </span></button>'),zs=_('<div class="scrim svelte-w3h0m4" aria-hidden="true"></div>'),Fs=_('<button role="menuitem" class="svelte-w3h0m4">本会话隐藏</button>'),Hs=_('<div class="menu svelte-w3h0m4" role="menu"><button role="menuitem" class="svelte-w3h0m4">打开任务面板</button> <!></div>'),Ns=_('<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>'),Ws=_('<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>'),Ks=_('<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),Gs=_('<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>'),Us=_('<div class="row pending svelte-w3h0m4"><span class="box svelte-w3h0m4"></span><span class="tx svelte-w3h0m4"> </span></div>'),Vs=_('<div class="row pending svelte-w3h0m4"><span class="box svelte-w3h0m4"></span><span class="tx svelte-w3h0m4"> </span></div>'),Js=_('<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),Ys=_('<span class="sub-count mono svelte-w3h0m4"> </span>'),Xs=_('<button class="row sub jump svelte-w3h0m4" title="打开子代理会话"><span class="sub-dot svelte-w3h0m4" aria-hidden="true"></span> <!> <span class="tx svelte-w3h0m4"> </span> <svg class="go svelte-w3h0m4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg></button>'),Zs=_('<div class="grp static svelte-w3h0m4"><span class="sub-label svelte-w3h0m4"> </span></div> <!>',1),Qs=_('<span class="sub-check svelte-w3h0m4" aria-hidden="true">✓</span>'),en=_('<span class="sub-count mono svelte-w3h0m4"> </span>'),tn=_('<button class="row sub jump idle svelte-w3h0m4" title="打开子代理会话"><!> <!> <span class="tx svelte-w3h0m4"> </span> <svg class="go svelte-w3h0m4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg></button>'),an=_('<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),sn=_('<!> <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),nn=_('<span class="badge mono svelte-w3h0m4"> </span>'),on=_('<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>'),rn=_('<span class="badge mono svelte-w3h0m4"> </span>'),ln=_('<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>'),cn=_("<!> <!>",1);function vn($e,re){kt(re,!1);const A=()=>Me(Ut,"$feeds",Y),I=()=>Me(Ht,"$sessionList",Y),J=()=>Me(ca,"$can",Y),[Y,D]=Pt(),x=n(),M=n(),E=n(),L=n(),be=n(),R=n(),c=n(),k=n(),S=n(),B=n(),de=n();let b=gt(re,"sessionId",8),K=gt(re,"onJump",8,()=>{});const Z="ocrc.planHud.v3",d=5,p=16,C=2*Math.PI*p;let z=n(!1);try{t(z,window.matchMedia("(min-width: 821px)").matches)}catch{}const ie=e(z)?"ocrc.planHud.dt3":Z;function he(){if(typeof localStorage>"u")return{};try{const a=JSON.parse(localStorage.getItem(ie)??"{}")??{};return{dismissed:a.dismissed,expanded:a.expanded}}catch{return{}}}let G=n(he()),P=n(e(G).expanded??e(z));function V(a){if(t(G,{...e(G),...a}),!(typeof localStorage>"u"))try{localStorage.setItem(ie,JSON.stringify(e(G)))}catch{}}let f=n({total:0,done:0,items:[]}),U=n();async function ge(a){try{const g=await _e.todo(a);if(a!==b())return;t(U,a),t(f,Da(g))}catch{}}let ye=n(),te=n(0),se=n(-1),F=n();Vt(()=>clearTimeout(e(F)));let ne=n([]),ue=n(),m=!1;async function X(a){if(!m){m=!0;try{const g=await _e.subagents(a);if(a!==b())return;t(ne,[...g.subagents??[]].sort((O,Q)=>Number(Q.busy??!1)-Number(O.busy??!1))),t(ue,a)}catch{t(ne,[])}finally{m=!1}}}const le=a=>`ocrc.subparent.${a}`;let pe=n();function Ee(a){try{t(pe,sessionStorage.getItem(le(a))??void 0)}catch{t(pe,void 0)}}Ee(b());function Xe(a){try{sessionStorage.setItem(le(a.id),b())}catch{}t(Ce,!1),Aa({id:`sub:${a.id}`,kind:"subagent",title:a.title||"…"+a.id.slice(-6),childId:a.id}),Kt.set(!0)}function Oe(){const a=e(pe);t(pe,void 0),a&&K()(a)}let ce=n(),u=n(!1),H=n(!1),fe=n(!1),Ce=n(!1);function Le(){t(P,!e(P)),V({expanded:e(P)})}function Ge(){V({dismissed:[...e(G).dismissed??[],b()].slice(-20)}),t(Ce,!1)}function rt(){V({dismissed:(e(G).dismissed??[]).filter(a=>a!==b())}),t(P,!0),V({expanded:e(P)})}function mt(){t(Ce,!1),Oa("tasks"),Kt.set(!0)}let Ue=n(),Ae=n(),ze=n(),qe=n();function st(a){var O,Q,N,ve;const g=a.target;if(e(Ce)){if((O=e(Ae))!=null&&O.contains(g)||(Q=e(Ue))!=null&&Q.contains(g))return;t(Ce,!1)}e(P)&&((N=e(ze))!=null&&N.contains(g)||(ve=e(qe))!=null&&ve.contains(g)||(t(P,!1),V({expanded:!1})))}w(()=>(xe(b()),e(ye)),()=>{b()!==e(ye)&&(t(ye,b()),ge(b()))}),w(()=>(A(),xe(b())),()=>{var a;t(x,((a=A()[b()])==null?void 0:a.lastSeq)??0)}),w(()=>(e(x),e(se),e(F),e(te)),()=>{e(x)!==e(se)&&(t(se,e(x)),clearTimeout(e(F)),t(F,setTimeout(()=>t(te,e(te)+1),1e3)))}),w(()=>(e(te),xe(b())),()=>{e(te)&&(ge(b()),X(b()))}),w(()=>(I(),xe(b())),()=>{t(M,I().find(a=>a.id===b()))}),w(()=>e(M),()=>{var a;t(E,((a=e(M))==null?void 0:a.title)??"")}),w(()=>e(f),()=>{t(L,e(f).items.filter(a=>a.status==="done"))}),w(()=>e(f),()=>{t(be,e(f).items.filter(a=>a.status==="running"))}),w(()=>e(f),()=>{t(R,e(f).items.filter(a=>a.status==="pending"))}),w(()=>e(R),()=>{t(c,Math.max(0,e(R).length-d))}),w(()=>e(f),()=>{t(k,e(f).total?e(f).done/e(f).total:0)}),w(()=>(e(G),xe(b())),()=>{var a;t(S,((a=e(G).dismissed)==null?void 0:a.includes(b()))??!1)}),w(()=>e(ne),()=>{t(B,e(ne).filter(a=>a.busy))}),w(()=>e(ne),()=>{t(de,e(ne).filter(a=>!a.busy))}),w(()=>(e(P),xe(b()),e(ue)),()=>{e(P)&&b()&&e(ue)!==b()&&X(b())}),w(()=>xe(b()),()=>{b()&&Ee(b())}),w(()=>(xe(b()),e(ce)),()=>{b()!==e(ce)&&(t(ce,b()),t(u,!1),t(H,!1),t(fe,!1),t(Ce,!1))}),It(),wt();var it=Tt();y("pointerdown",ft,st);var ht=De(it);{var yt=a=>{var g=cn(),O=De(g);{var Q=Te=>{var we=Ls(),Pe=r(o(we),2),Ze=o(Pe,!0),Qe=r(Ze,2,!0);s(Pe),s(we),T(()=>{q(Ze,(e(f),l(()=>e(f).done))),q(Qe,(e(f),l(()=>e(f).total)))}),y("click",we,rt),h(Te,we)},N=Te=>{var we=sn(),Pe=De(we);{var Ze=W=>{var me=zs();h(W,me)};j(Pe,W=>{e(z)||W(Ze)})}var Qe=r(Pe,2),lt=o(Qe),ct=r(o(lt),2),nt=o(ct,!0);s(ct);var vt=r(ct,2);Je(vt,W=>t(Ue,W),()=>e(Ue));var St=r(vt,2);s(lt);var et=r(lt,2);{var Ct=W=>{var me=Hs(),ae=o(me),Se=r(ae,2);{var je=Ne=>{var ot=Fs();y("click",ot,Ge),h(Ne,ot)};j(Se,Ne=>{e(z)||Ne(je)})}s(me),Je(me,Ne=>t(Ae,Ne),()=>e(Ae)),y("click",ae,mt),h(W,me)};j(et,W=>{e(Ce)&&W(Ct)})}var _t=r(et,2),Dt=o(_t);{var Jt=W=>{var me=Ns(),ae=r(o(me),2),Se=o(ae);s(ae),s(me),T(je=>q(Se,`返回父会话 …${je??""}`),[()=>(e(pe),l(()=>e(pe).slice(-8)))]),y("click",me,Oe),h(W,me)};j(Dt,W=>{e(pe)&&W(Jt)})}var Bt=r(Dt,2),i=o(Bt);s(Bt);var $=r(Bt,2);{var ee=W=>{var me=Ks(),ae=De(me),Se=o(ae);let je;var Ne=r(Se,2),ot=o(Ne);s(Ne),s(ae);var We=r(ae,2);{var dt=Ve=>{var ut=Tt(),$t=De(ut);Be($t,1,()=>e(L),tt=>tt.text,(tt,ke)=>{var Ke=Ws(),pt=r(o(Ke)),At=o(pt,!0);s(pt),s(Ke),T(()=>q(At,(e(ke),l(()=>e(ke).text)))),h(tt,Ke)}),h(Ve,ut)};j(We,Ve=>{e(u)&&Ve(dt)})}T(()=>{oe(ae,"aria-expanded",e(u)),je=at(Se,0,"caret svelte-w3h0m4",null,je,{open:e(u)}),q(ot,`已完成 ${e(L),l(()=>e(L).length)??""}`)}),y("click",ae,()=>t(u,!e(u))),h(W,me)};j($,W=>{e(L),l(()=>e(L).length)&&W(ee)})}var Fe=r($,2);Be(Fe,1,()=>e(be),W=>W.text,(W,me)=>{var ae=Gs(),Se=r(o(ae)),je=o(Se,!0);s(Se),s(ae),T(()=>q(je,(e(me),l(()=>e(me).text)))),h(W,ae)});var Ie=r(Fe,2);Be(Ie,1,()=>(e(R),l(()=>e(R).slice(0,d))),W=>W.text,(W,me)=>{var ae=Us(),Se=r(o(ae)),je=o(Se,!0);s(Se),s(ae),T(()=>q(je,(e(me),l(()=>e(me).text)))),h(W,ae)});var He=r(Ie,2);{var Ot=W=>{var me=Js(),ae=De(me),Se=o(ae);let je;var Ne=r(Se,2),ot=o(Ne);s(Ne),s(ae);var We=r(ae,2);{var dt=Ve=>{var ut=Tt(),$t=De(ut);Be($t,1,()=>(e(R),l(()=>e(R).slice(d))),tt=>tt.text,(tt,ke)=>{var Ke=Vs(),pt=r(o(Ke)),At=o(pt,!0);s(pt),s(Ke),T(()=>q(At,(e(ke),l(()=>e(ke).text)))),h(tt,Ke)}),h(Ve,ut)};j(We,Ve=>{e(H)&&Ve(dt)})}T(()=>{oe(ae,"aria-expanded",e(H)),je=at(Se,0,"caret svelte-w3h0m4",null,je,{open:e(H)}),q(ot,`待处理 ${e(c)??""}`)}),y("click",ae,()=>t(H,!e(H))),h(W,me)};j(He,W=>{e(c)>0&&W(Ot)})}var ea=r(He,2);{var ua=W=>{var me=Zs(),ae=De(me),Se=o(ae),je=o(Se);s(Se),s(ae);var Ne=r(ae,2);Be(Ne,1,()=>e(B),ot=>ot.id,(ot,We)=>{var dt=Xs(),Ve=r(o(dt),2);{var ut=ke=>{var Ke=Ys(),pt=o(Ke);s(Ke),T(()=>q(pt,`${e(We),l(()=>e(We).done)??""}/${e(We),l(()=>e(We).total)??""}`)),h(ke,Ke)};j(Ve,ke=>{e(We),l(()=>e(We).total>0)&&ke(ut)})}var $t=r(Ve,2),tt=o($t,!0);s($t),Et(2),s(dt),T(ke=>q(tt,ke),[()=>(e(We),l(()=>e(We).title||"…"+e(We).id.slice(-6)))]),y("click",dt,()=>Xe(e(We))),h(ot,dt)}),T(()=>q(je,`子代理 · 运行中 ${e(B),l(()=>e(B).length)??""}`)),h(W,me)};j(ea,W=>{e(B),l(()=>e(B).length)&&W(ua)})}var pa=r(ea,2);{var fa=W=>{var me=an(),ae=De(me),Se=o(ae);let je;var Ne=r(Se,2),ot=o(Ne);s(Ne),s(ae);var We=r(ae,2);{var dt=Ve=>{var ut=Tt(),$t=De(ut);Be($t,1,()=>e(de),tt=>tt.id,(tt,ke)=>{var Ke=tn(),pt=o(Ke);{var At=bt=>{var Rt=Qs();h(bt,Rt)};j(pt,bt=>{e(ke),l(()=>e(ke).total>0&&e(ke).done>=e(ke).total)&&bt(At)})}var ta=r(pt,2);{var ma=bt=>{var Rt=en(),_a=o(Rt);s(Rt),T(()=>q(_a,`${e(ke),l(()=>e(ke).done)??""}/${e(ke),l(()=>e(ke).total)??""}`)),h(bt,Rt)};j(ta,bt=>{e(ke),l(()=>e(ke).total>0)&&bt(ma)})}var aa=r(ta,2),ha=o(aa,!0);s(aa),Et(2),s(Ke),T(bt=>q(ha,bt),[()=>(e(ke),l(()=>e(ke).title||"…"+e(ke).id.slice(-6)))]),y("click",Ke,()=>Xe(e(ke))),h(tt,Ke)}),h(Ve,ut)};j(We,Ve=>{e(fe)&&Ve(dt)})}T(()=>{oe(ae,"aria-expanded",e(fe)),je=at(Se,0,"caret svelte-w3h0m4",null,je,{open:e(fe)}),q(ot,`子代理 · 已结束 ${e(de),l(()=>e(de).length)??""}`)}),y("click",ae,()=>t(fe,!e(fe))),h(W,me)};j(pa,W=>{e(de),l(()=>e(de).length)&&W(fa)})}s(_t),s(Qe),Je(Qe,W=>t(ze,W),()=>e(ze)),T(W=>{q(nt,W),q(i,`任务 ${e(f),l(()=>e(f).done)??""}/${e(f),l(()=>e(f).total)??""}`)},[()=>(e(E),xe(b()),l(()=>e(E)||"…"+b().slice(-8)))]),y("click",vt,Ba(()=>t(Ce,!e(Ce)))),y("click",St,Le),h(Te,we)};j(O,Te=>{e(S)&&!e(z)?Te(Q):e(P)&&Te(N,1)})}var ve=r(O,2);{var Re=Te=>{var we=on(),Pe=r(o(we),2),Ze=o(Pe,!0),Qe=r(Ze,2,!0);s(Pe);var lt=r(Pe,2);{var ct=nt=>{var vt=nn(),St=o(vt,!0);s(vt),T(()=>q(St,(e(B),l(()=>e(B).length)))),h(nt,vt)};j(lt,nt=>{e(B),l(()=>e(B).length>0)&&nt(ct)})}Et(2),s(we),Je(we,nt=>t(qe,nt),()=>e(qe)),T(()=>{oe(we,"aria-label",(e(f),l(()=>`展开计划 ${e(f).done}/${e(f).total}`))),q(Ze,(e(f),l(()=>e(f).done))),q(Qe,(e(f),l(()=>e(f).total)))}),y("click",we,Le),h(Te,we)},qt=Te=>{var we=ln(),Pe=o(we),Ze=o(Pe);oe(Ze,"r",p);var Qe=r(Ze);oe(Qe,"r",p),s(Pe);var lt=r(Pe,2),ct=o(lt,!0),nt=r(ct,2,!0);s(lt);var vt=r(lt,2);{var St=et=>{var Ct=rn(),_t=o(Ct,!0);s(Ct),T(()=>q(_t,(e(B),l(()=>e(B).length)))),h(et,Ct)};j(vt,et=>{e(B),l(()=>e(B).length>0)&&et(St)})}s(we),Je(we,et=>t(qe,et),()=>e(qe)),T(et=>{oe(we,"aria-label",(e(f),e(P),l(()=>`计划 ${e(f).done}/${e(f).total} — ${e(P)?"收起":"展开"}`))),oe(we,"aria-expanded",e(P)),oe(Qe,"stroke-dasharray",et),q(ct,(e(f),l(()=>e(f).done))),q(nt,(e(f),l(()=>e(f).total)))},[()=>(e(k),l(()=>`${Math.max(C*e(k),C*.02)} ${C}`))]),y("click",we,Le),h(Te,we)};j(ve,Te=>{e(z)&&!e(P)?Te(Re):!e(S)&&!(e(z)&&!e(P))&&Te(qt,1)})}h(a,g)},v=Ft(()=>(e(U),xe(b()),e(f),e(ne),e(pe),J(),l(()=>e(U)===b()&&(e(f).total>0||e(ne).length>0||e(pe))&&J()("todos"))));j(ht,a=>{e(v)&&a(yt)})}h($e,it),xt(),D()}var dn=_('<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>'),un=_('<span class="branch mono svelte-eho102"> </span>'),pn=_('<span class="pill running mono svelte-eho102"><span class="dot svelte-eho102" aria-hidden="true"></span> </span>'),fn=_('<button class="restore mono svelte-eho102" title="恢复被撤销的轮次">恢复上一轮</button>'),mn=_('<!> <span class="idle mono svelte-eho102">空闲</span>',1),hn=_('<button class="load-earlier mono svelte-eho102"> </button>'),_n=_('<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>'),bn=_('<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>'),gn=_('<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>'),wn=_('<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> <button class="pane-toggle svelte-eho102" title="侧栏面板" aria-label="侧栏面板"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" aria-hidden="true"><rect x="3" y="4" width="18" height="16" rx="2"></rect><path d="M15 4v16"></path><path d="M9 9l3 3-3 3"></path></svg></button></div></div> <div aria-live="polite"><!> <!> <div class="stream-end svelte-eho102" aria-hidden="true"></div> <!></div></div> <!> <div class="composer-float svelte-eho102"><!> <!></div> <!>',1);function En($e,re){kt(re,!1);const A=()=>Me(Ra,"$page",E),I=()=>Me(Ut,"$feeds",E),J=()=>Me(Ht,"$sessionList",E),Y=()=>Me(da,"$composerEmpty",E),D=()=>Me(Pa,"$sessionBooting",E),x=()=>Me(la,"$leftPanelOpen",E),M=()=>Me(za,"$feedResyncing",E),[E,L]=Pt(),be=n(),R=n(),c=n(),k=n(),S=n(),B=n(),de=n(),b=n(),K=n(),Z=n();let d=n(),p=n(),C=n(),z,ie=n(""),he,G,P=n(0),V=n(0),f=n(),U=n(!0);function ge(){e(d)&&Mt(d,e(d).scrollTop=e(d).scrollHeight)}function ye(){e(d)&&t(U,e(d).scrollHeight-e(d).scrollTop-e(d).clientHeight<80)}const te=80,se=50;let F=n(te),ne=n(0),ue=n(!0),m=n(!1),X=n("");async function le(){if(e(m)||!e(c))return;if(e(S).length>e(F)){t(F,e(F)+te);return}if(!e(ue))return;t(m,!0);const i=e(d),$=i?{h:i.scrollHeight,top:i.scrollTop}:null;try{const ee=await _e.history(e(c),{limit:se,offset:e(ne)});(ee.cards??[]).length===0?t(ue,!1):($a(e(c),ee.cards),t(ne,e(ne)+se),t(F,e(F)+te),ee.hasMore===!1&&t(ue,!1),$&&i&&(await Nt(),i.scrollTop=i.scrollHeight-$.h+$.top))}catch(ee){console.warn("[page] loadEarlier failed",ee)}finally{t(m,!1)}}let pe=n("");function Ee(i){if(i<60)return`${i}s`;const $=Math.floor(i/60),ee=i%60;return ee===0?`${$}m`:`${$}m ${ee}s`}function Xe(){ze()}async function Oe(i){if(!(!e(c)||!i))try{await _e.revertSession(e(c),i);const{cards:$,lastSeq:ee}=await _e.history(e(c)),{setHistory:Fe}=await sa(async()=>{const{setHistory:Ie}=await import("../chunks/CtMqSQTR.js").then(He=>He.B);return{setHistory:Ie}},__vite__mapDeps([0,1]),import.meta.url);Fe(e(c),$,ee),window.dispatchEvent(new CustomEvent("ocrc:resubscribe",{detail:{sessionId:e(c),sinceSeq:ee}}))}catch{}}let ce=n(!1),u=n();async function H(i){try{const $=await _e.revertState(i);t(ce,$.reverted),t(u,$.messageID)}catch{t(ce,!1),t(u,void 0)}}async function fe(){if(e(c))try{await _e.unrevertSession(e(c)),t(ce,!1);const{cards:i,lastSeq:$}=await _e.history(e(c)),{setHistory:ee}=await sa(async()=>{const{setHistory:Fe}=await import("../chunks/CtMqSQTR.js").then(Ie=>Ie.B);return{setHistory:Fe}},__vite__mapDeps([0,1]),import.meta.url);ee(e(c),i,$),window.dispatchEvent(new CustomEvent("ocrc:resubscribe",{detail:{sessionId:e(c),sinceSeq:$}}))}catch{}}const Ce=["总结这个项目","最近有什么改动?","运行检查"];let Le=n(!1),Ge=n([]),rt;async function mt(i,$){if(rt!==$){rt=$;try{const ee=await _e.suggestions(i);t(Ge,ee.suggestions??[])}catch{t(Ge,[])}}}let Ue=n(),Ae=n([]);function ze(){if(!e(c))return;const i=[...e(S)].reverse().find(ee=>ee.kind==="user"),$=i==null?void 0:i.text;$&&_e.sendMessage({sessionId:e(c),text:$,clientId:`web_${Date.now()}`})}Qt(()=>{he=new ResizeObserver(()=>{e(p)&&(document.documentElement.style.setProperty("--composer-h",`${e(p).offsetHeight}px`),e(U)&&ge()),e(d)&&document.documentElement.style.setProperty("--sbw",`${e(d).offsetWidth-e(d).clientWidth}px`)}),e(p)&&he.observe(e(p)),e(d)&&he.observe(e(d)),z=new IntersectionObserver(ee=>{if(!e(U)||!ee.some(Ie=>!Ie.isIntersecting))return;e(d).scrollHeight-e(d).scrollTop-e(d).clientHeight<=24?requestAnimationFrame(ge):t(U,!1)},{root:e(d),threshold:0}),e(C)&&z.observe(e(C));const i=window.visualViewport,$=()=>{e(U)&&requestAnimationFrame(ge)};i==null||i.addEventListener("resize",$),G=()=>i==null?void 0:i.removeEventListener("resize",$)}),Vt(()=>{he==null||he.disconnect(),z==null||z.disconnect(),G==null||G(),e(f)&&clearInterval(e(f))}),w(()=>A(),()=>{t(c,A().params.sessionId??"")}),w(()=>(e(c),e(X)),()=>{e(c)&&e(c)!==e(X)&&(t(X,e(c)),t(F,te),t(ne,0),t(ue,!0),t(m,!1))}),w(()=>(I(),e(c)),()=>{t(k,I()[e(c)])}),w(()=>e(k),()=>{t(b,(()=>{if(!e(k)||e(k).order.length===0)return!1;const i=e(k).byId[e(k).order[e(k).order.length-1]];return(i==null?void 0:i.kind)==="thinking"||(i==null?void 0:i.kind)==="streaming"||(i==null?void 0:i.kind)==="think-stream"})())}),w(()=>(e(b),e(u)),()=>{e(b)&&e(u)&&t(u,void 0)}),w(()=>e(k),()=>{t(S,Xt(e(k)))}),w(()=>(e(u),e(S)),()=>{t(be,e(u)?(()=>{let i=-1;for(let $=e(S).length-1;$>=0;$--)if(e(S)[$].messageId===e(u)){i=$;break}return i===-1?e(S):e(S).slice(0,i)})():e(S))}),w(()=>(e(F),e(be)),()=>{t(R,e(F)>=e(be).length?e(be):e(be).slice(-e(F)))}),w(()=>(J(),e(c)),()=>{t(B,J().find(i=>i.id===e(c)))}),w(()=>e(B),()=>{var i;t(de,(i=e(B))!=null&&i.directory&&e(B).directory.replace(/\/+$/,"").split("/").pop()||"")}),w(()=>(e(b),e(pe),e(c),e(P),e(f)),()=>{e(b)?(e(pe)!==e(c)&&(t(pe,e(c)),t(P,0)),!e(P)&&typeof window<"u"&&(t(P,Date.now()),t(V,0),e(f)&&clearInterval(e(f)),t(f,setInterval(()=>{t(V,Math.floor((Date.now()-e(P))/1e3))},1e3)))):(t(P,0),t(V,0),t(pe,""),e(f)&&(clearInterval(e(f)),t(f,void 0)))}),w(()=>e(S),()=>{t(K,e(S).length?e(S)[e(S).length-1]:null)}),w(()=>e(c),()=>{e(c)&&(e(c),H(e(c)))}),w(()=>(e(b),e(K),e(c)),()=>{var i;!e(b)&&((i=e(K))==null?void 0:i.kind)==="assistant"&&e(c)&&e(K).id&&mt(e(c),e(K).id)}),w(()=>(e(c),e(Ue)),()=>{e(c)!==e(Ue)&&(t(Ue,e(c)),t(Le,!1))}),w(()=>(e(b),e(Le),Y(),e(k),D(),e(Ge),e(S)),()=>{e(b)||e(Le)||!Y()||!e(k)||D()?t(Ae,[]):e(Ge).length>0?t(Ae,e(Ge)):e(S).length===0?t(Ae,Ce):t(Ae,[])}),w(()=>(e(c),e(k),e(S)),()=>{var i;t(Z,`${e(c)}:${((i=e(k))==null?void 0:i.lastSeq)??0}:${e(S).length}`)}),w(()=>(e(Z),e(ie),e(U)),()=>{e(Z)!==e(ie)&&(t(ie,e(Z)),Nt().then(()=>{e(U)&&ge()}))}),It(),wt();var qe=wn(),st=De(qe),it=o(st),ht=o(it),yt=o(ht),v=r(yt,2);{var a=i=>{var $=dn();y("click",$,()=>la.set(!0)),h(i,$)};j(v,i=>{x()||i(a)})}var g=r(v,2);Ps(g,{get activeId(){return e(c)}});var O=r(g,2);{var Q=i=>{var $=un(),ee=o($,!0);s($),T(()=>q(ee,e(de))),h(i,$)};j(O,i=>{e(de)&&i(Q)})}s(ht);var N=r(ht,2),ve=o(N);{var Re=i=>{var $=pn(),ee=r(o($));s($),T(Fe=>q(ee,` 运行中 ${Fe??""}`),[()=>(e(V),l(()=>Ee(e(V))))]),h(i,$)},qt=i=>{var $=mn(),ee=De($);{var Fe=Ie=>{var He=fn();y("click",He,fe),h(Ie,He)};j(ee,Ie=>{e(ce)&&Ie(Fe)})}Et(2),h(i,$)};j(ve,i=>{e(b)?i(Re):i(qt,-1)})}var Te=r(ve,2),we=r(Te,2);s(N),s(it);var Pe=r(it,2);let Ze;var Qe=o(Pe);{var lt=i=>{var $=hn(),ee=o($,!0);s($),T(()=>{$.disabled=e(m),q(ee,e(m)?"加载中…":"加载更早消息")}),y("click",$,le),h(i,$)};j(Qe,i=>{e(S),e(F),e(ue),l(()=>e(S).length>0&&(e(S).length>e(F)||e(ue)))&&i(lt)})}var ct=r(Qe,2);Be(ct,1,()=>e(R),i=>i.id,(i,$)=>{const ee=Lt(()=>(e($),e(K),e(b),l(()=>{var Ie;return e($).id===((Ie=e(K))==null?void 0:Ie.id)&&e($).kind==="assistant"&&!e(b)}))),Fe=Lt(()=>(xe(e(ee)),e(K),l(()=>{var Ie;return e(ee)&&((Ie=e(K))==null?void 0:Ie.kind)==="assistant"?e(K).messageId:void 0})));{let Ie=Lt(()=>e(ee)?Xe:void 0),He=Lt(()=>e(ee)&&e(Fe)?()=>Oe(e(Fe)):void 0);La(i,{get card(){return e($)},onRetry:ze,get onRegenerate(){return e(Ie)},get onRevert(){return e(He)}})}});var nt=r(ct,2);Je(nt,i=>t(C,i),()=>e(C));var vt=r(nt,2);{var St=i=>{var $=Tt(),ee=De($);{var Fe=He=>{var Ot=_n();h(He,Ot)},Ie=He=>{var Ot=bn();h(He,Ot)};j(ee,He=>{e(k)?He(Ie,-1):He(Fe)})}h(i,$)};j(vt,i=>{e(S),l(()=>e(S).length===0)&&i(St)})}s(Pe),s(st),Je(st,i=>t(d,i),()=>e(d));var et=r(st,2);{var Ct=i=>{var $=gn();y("click",$,ge),h(i,$)};j(et,i=>{e(U),e(S),l(()=>!e(U)&&e(S).length>0)&&i(Ct)})}var _t=r(et,2),Dt=o(_t);Na(Dt,{get suggestions(){return e(Ae)},onPick:i=>Zt.set({text:i,nonce:Date.now()}),onDismiss:()=>{t(Le,!0),t(Ae,[])}});var Jt=r(Dt,2);js(Jt,{get sessionId(){return e(c)}}),s(_t),Je(_t,i=>t(p,i),()=>e(p));var Bt=r(_t,2);vn(Bt,{get sessionId(){return e(c)},onJump:i=>Gt("/"+i)}),T(()=>Ze=at(Pe,1,"stream conversation-emerald svelte-eho102",null,Ze,{suppressed:M()})),y("click",yt,()=>Gt("/")),y("click",Te,()=>Kt.update(i=>!i)),y("click",we,()=>Kt.update(i=>!i)),y("scroll",st,ye),h($e,qe),xt(),L()}export{En as component};
|