@bd7pil/ocrc 0.24.3 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/core/agent/opencode-backend.js +87 -72
  2. package/dist/core/agent/opencode-backend.js.map +1 -1
  3. package/dist/core/relay.js +11 -3
  4. package/dist/core/relay.js.map +1 -1
  5. package/dist/core/stream-accumulator.js +3 -3
  6. package/dist/core/stream-accumulator.js.map +1 -1
  7. package/dist/plugin/entry.js +5 -0
  8. package/dist/plugin/entry.js.map +1 -1
  9. package/dist/transport/web/index.js +2 -0
  10. package/dist/transport/web/index.js.map +1 -1
  11. package/dist/transport/web/ws-hub.js +20 -6
  12. package/dist/transport/web/ws-hub.js.map +1 -1
  13. package/package.json +1 -1
  14. package/web/dist/_app/immutable/assets/0.Bf4ukRCF.css +1 -0
  15. package/web/dist/_app/immutable/assets/3.sWLfsaJ-.css +1 -0
  16. package/web/dist/_app/immutable/chunks/{D4KcrFaB.js → DF3ib-en.js} +1 -1
  17. package/web/dist/_app/immutable/chunks/DyVtfOqD.js +1 -0
  18. package/web/dist/_app/immutable/chunks/{Dejl-Sns.js → c6A4nCs6.js} +1 -1
  19. package/web/dist/_app/immutable/entry/{app.CZ1lhfAO.js → app.CmGLVNRN.js} +2 -2
  20. package/web/dist/_app/immutable/entry/start.DUqZmZ3b.js +1 -0
  21. package/web/dist/_app/immutable/nodes/0.CwQ5RDgo.js +3 -0
  22. package/web/dist/_app/immutable/nodes/{1.BS8zFJnm.js → 1.g6CSzD_6.js} +1 -1
  23. package/web/dist/_app/immutable/nodes/2.DXRH2cWR.js +1 -0
  24. package/web/dist/_app/immutable/nodes/3.zTD1c47I.js +2 -0
  25. package/web/dist/_app/version.json +1 -1
  26. package/web/dist/index.html +10 -10
  27. package/web/dist/service-worker.js +1 -1
  28. package/web/dist/_app/immutable/assets/0.DNcjEOa9.css +0 -1
  29. package/web/dist/_app/immutable/assets/3.BAwvOE6a.css +0 -1
  30. package/web/dist/_app/immutable/chunks/t4ji6lDi.js +0 -1
  31. package/web/dist/_app/immutable/entry/start.iyh5J1fV.js +0 -1
  32. package/web/dist/_app/immutable/nodes/0.CIJ-EwcE.js +0 -3
  33. package/web/dist/_app/immutable/nodes/2.Cx209Sb4.js +0 -1
  34. package/web/dist/_app/immutable/nodes/3.BkfW0p9W.js +0 -2
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../chunks/DyVtfOqD.js","../chunks/BjY4dxcB.js"])))=>i.map(i=>d[i]);
2
+ import{_ as sa}from"../chunks/C1FmrZbK.js";import"../chunks/CWj6FrbW.js";import{s as kt,f as he,q as Ut,m as Xt,j as ba,H as ga,z as wa,l as ca,a as na,b as oa,c as ra,k as ka,B as Ft,e as xa,D as ya,x as $a}from"../chunks/DyVtfOqD.js";import{aE as xt,M as Tt,a4 as Be,w as m,aB as yt,V as $e,b4 as i,J as n,aK as a,a$ as D,a8 as e,aR as T,a3 as $,aU as r,a6 as h,az as Qt,ap as g,aO as t,aq as St,$ as ht,au as s,b2 as da,aw as qt,av as Mt,ay as Gt,b1 as Nt,aI as Ia,b5 as Ht,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 Oe,B as Wt,I as Xe,z as re,A as st,l as Dt,c as Ea,f as Zt,g as va,t as Ma,h as qa,v as Ta,K as ia,a as Da,F as ja,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/c6A4nCs6.js";import{p as wt,b as Ye}from"../chunks/vlg9iH2u.js";import{g as Vt}from"../chunks/DF3ib-en.js";var Ha=h('<button class="chip svelte-1hbn5f9" role="listitem"> </button>'),Fa=h('<div class="suggestions svelte-1hbn5f9" role="list" aria-label="建议的后续操作"><!> <button class="dismiss svelte-1hbn5f9" aria-label="忽略建议"><!></button></div>');function Na(Ie,ie){xt(ie,!1);let R=wt(ie,"suggestions",24,()=>[]),I=wt(ie,"onPick",8,()=>{}),Q=wt(ie,"onDismiss",8,()=>{});kt();var ee=Tt(),B=Be(ee);{var y=E=>{var M=Fa(),H=n(M);Oe(H,3,R,l=>l,(l,k,S)=>{var O=Ha(),ve=n(O,!0);a(O),D(b=>{Wt(O,b),T(ve,e(k))},[()=>($e(e(S)),i(()=>`animation-delay: ${Math.min(e(S),5)*45}ms`))]),$("click",O,()=>I()(e(k))),m(l,O)});var _e=r(H,2),P=n(_e);Xe(P,{name:"close",size:12}),a(_e),a(M),$("click",_e,function(...l){var k;(k=Q())==null||k.apply(this,l)}),m(E,M)};j(B,E=>{$e(R()),i(()=>R().length>0)&&E(y)})}m(Ie,ee),yt()}var Wa=h('<div class="none label svelte-1f5vmb3">未配置 agent</div>'),Ka=h('<button role="option"><span> </span> <span class="label mono"> </span></button>'),Va=h('<div class="pop svelte-1f5vmb3" role="listbox" aria-label="Agent 覆盖"><!> <!> <button class="opt clear svelte-1f5vmb3" role="option"><!> 清除覆盖</button></div>'),Ua=h('<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 Ga(Ie,ie){xt(ie,!1);const R=s();let I=s(!1),Q=s(),ee=s([]),B=s({agent:null,model:null});async function y(){try{await(async u=>{var C=da(u,2);t(ee,C[0]),t(B,C[1])})(await Promise.all([he.agents(),he.getOverrides()]))}catch{}}Qt(y);async function E(u){await he.setOverrides({agent:u.name}),await y(),t(I,!1)}async function M(){await he.setOverrides({agent:null}),await y(),t(I,!1)}function H(u){u.key==="Escape"&&e(I)&&t(I,!1)}function _e(u){e(I)&&e(Q)&&!e(Q).contains(u.target)&&t(I,!1)}g(()=>e(B),()=>{t(R,e(B).agent??"default")}),St(),kt();var P=Ua();$("keydown",ht,H),$("click",ht,_e);var l=n(P),k=n(l);Xe(k,{name:"cpu",size:11});var S=r(k,2),O=n(S,!0);a(S);var ve=r(S,2);Xe(ve,{name:"caret-down",size:9}),a(l);var b=r(l,2),V=n(b);Xe(V,{name:"cpu",size:14}),a(b);var te=r(b,2);{var d=u=>{var C=Va(),F=n(C);{var le=Y=>{var p=Wa();m(Y,p)};j(F,Y=>{e(ee),i(()=>e(ee).length===0)&&Y(le)})}var me=r(F,2);Oe(me,1,()=>e(ee),Y=>Y.name,(Y,p)=>{var G=Ka();let be;var ye=n(G),ae=n(ye,!0);a(ye);var ne=r(ye,2),z=n(ne,!0);a(ne),a(G),D(oe=>{be=st(G,1,"opt svelte-1f5vmb3",null,be,{sel:e(p).name===e(B).agent}),re(G,"aria-selected",(e(p),e(B),i(()=>e(p).name===e(B).agent))),T(ae,(e(p),i(()=>e(p).name))),T(z,oe)},[()=>(e(p),i(()=>e(p).model.split("/").pop()))]),$("click",G,()=>E(e(p))),m(Y,G)});var U=r(me,2),L=n(U);Xe(L,{name:"close",size:11}),qt(),a(U),a(C),D(()=>re(U,"aria-selected",(e(B),i(()=>e(B).agent==null)))),$("click",U,M),m(u,C)};j(te,u=>{e(I)&&u(d)})}a(P),Ye(P,u=>t(Q,u),()=>e(Q)),D(()=>{re(l,"aria-expanded",e(I)),T(O,e(R)),re(b,"aria-label",`Agent:${e(R)}`),re(b,"aria-expanded",e(I))}),$("click",l,()=>{t(I,!e(I)),e(I)&&y()}),$("click",b,()=>{t(I,!e(I)),e(I)&&y()}),m(Ie,P),yt()}var Ja=h('<div class="none label svelte-1005b73">暂无模型</div>'),Ya=h('<button role="option"><span> </span></button>'),Xa=h('<div class="prov label mono svelte-1005b73"> </div> <!>',1),Za=h('<div class="pop svelte-1005b73" role="listbox" aria-label="模型覆盖"><!> <!> <button class="opt clear svelte-1005b73" role="option"><!> 清除覆盖</button></div>'),Qa=h('<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(Ie,ie){xt(ie,!1);const R=s();let I=s(!1),Q=s(),ee=s([]),B=s({agent:null,model:null});async function y(){try{await(async u=>{var C=da(u,2);t(ee,C[0]),t(B,C[1])})(await Promise.all([he.models(),he.getOverrides()]))}catch{}}Qt(y);async function E(u,C){await he.setOverrides({model:{providerID:u,modelID:C}}),await y(),t(I,!1)}async function M(){await he.setOverrides({model:null}),await y(),t(I,!1)}function H(u){u.key==="Escape"&&e(I)&&t(I,!1)}function _e(u){e(I)&&e(Q)&&!e(Q).contains(u.target)&&t(I,!1)}g(()=>e(B),()=>{var u;t(R,((u=e(B).model)==null?void 0:u.modelID)??"model")}),St(),kt();var P=Qa();$("keydown",ht,H),$("click",ht,_e);var l=n(P),k=n(l);Xe(k,{name:"bolt",size:11});var S=r(k,2),O=n(S,!0);a(S);var ve=r(S,2);Xe(ve,{name:"caret-down",size:9}),a(l);var b=r(l,2),V=n(b);Xe(V,{name:"bolt",size:14}),a(b);var te=r(b,2);{var d=u=>{var C=Za(),F=n(C);{var le=Y=>{var p=Ja();m(Y,p)};j(F,Y=>{e(ee),i(()=>e(ee).length===0)&&Y(le)})}var me=r(F,2);Oe(me,1,()=>e(ee),Y=>Y.id,(Y,p)=>{var G=Xa(),be=Be(G),ye=n(be,!0);a(be);var ae=r(be,2);Oe(ae,1,()=>(e(p),i(()=>e(p).models)),ne=>ne.id,(ne,z)=>{var oe=Ya();let we;var f=n(oe),J=n(f,!0);a(f),a(oe),D(()=>{var ce,ue;we=st(oe,1,"opt svelte-1005b73",null,we,{sel:((ce=e(B).model)==null?void 0:ce.providerID)===e(p).id&&((ue=e(B).model)==null?void 0:ue.modelID)===e(z).id}),re(oe,"aria-selected",(e(B),e(p),e(z),i(()=>{var qe,Ve;return((qe=e(B).model)==null?void 0:qe.providerID)===e(p).id&&((Ve=e(B).model)==null?void 0:Ve.modelID)===e(z).id}))),T(J,(e(z),i(()=>e(z).name||e(z).id)))}),$("click",oe,()=>E(e(p).id,e(z).id)),m(ne,oe)}),D(()=>T(ye,(e(p),i(()=>e(p).id)))),m(Y,G)});var U=r(me,2),L=n(U);Xe(L,{name:"close",size:11}),qt(),a(U),a(C),D(()=>re(U,"aria-selected",(e(B),i(()=>e(B).model==null)))),$("click",U,M),m(u,C)};j(te,u=>{e(I)&&u(d)})}a(P),Ye(P,u=>t(Q,u),()=>e(Q)),D(()=>{re(l,"aria-expanded",e(I)),T(O,e(R)),re(b,"aria-label",`模型:${e(R)}`),re(b,"aria-expanded",e(I))}),$("click",l,()=>{t(I,!e(I)),e(I)&&y()}),$("click",b,()=>{t(I,!e(I)),e(I)&&y()}),m(Ie,P),yt()}var ts=h('<button role="option"> </button>'),as=h('<div class="pop svelte-dkbq22" role="listbox" aria-label="Mode"><div class="label">Mode</div> <!></div>'),ss=h('<div class="wrap svelte-dkbq22"><button class="chip mono svelte-dkbq22" aria-haspopup="listbox"><!> <span class="txt svelte-dkbq22"> </span> <!></button> <!></div>'),ns=h('<button role="option"> </button>'),os=h('<div class="pop svelte-dkbq22" role="listbox" aria-label="Model"><div class="label">Model</div> <!></div>'),rs=h('<div class="wrap svelte-dkbq22"><button class="chip mono svelte-dkbq22" aria-haspopup="listbox"><!> <span class="txt svelte-dkbq22"> </span> <!></button> <!></div>'),is=h('<div class="controls svelte-dkbq22"><!> <!></div>');function ls(Ie,ie){xt(ie,!1);const R=s(),I=s(),Q=s(),ee=s();let B=wt(ie,"sessionId",8),y=s({}),E=s(null);async function M(){const d=B();try{const u=await he.controls(d);if(d!==B())return;t(y,u)}catch{d===B()&&t(y,{})}}async function H(d){e(y).mode&&Mt(y,e(y).mode={...e(y).mode,current:d}),t(E,null);try{await he.setMode(B(),d)}catch{}await M()}async function _e(d){e(y).model&&Mt(y,e(y).model={...e(y).model,current:d}),t(E,null);try{await he.setModel(B(),d)}catch{}await M()}function P(d){t(E,e(E)===d?null:d)}let l=s();function k(d){d.key==="Escape"&&e(E)&&t(E,null)}function S(d){e(E)&&e(l)&&!e(l).contains(d.target)&&t(E,null)}g(()=>$e(B()),()=>{B()&&M()}),g(()=>e(y),()=>{var d;t(R,((d=e(y).mode)==null?void 0:d.options)??[])}),g(()=>e(y),()=>{var d;t(I,((d=e(y).model)==null?void 0:d.options)??[])}),g(()=>e(y),()=>{var d,u,C;t(Q,((u=(d=e(y).mode)==null?void 0:d.options.find(F=>{var le;return F.id===((le=e(y).mode)==null?void 0:le.current)}))==null?void 0:u.name)??((C=e(y).mode)==null?void 0:C.current)??"mode")}),g(()=>e(y),()=>{var d,u,C;t(ee,((u=(d=e(y).model)==null?void 0:d.options.find(F=>{var le;return F.id===((le=e(y).model)==null?void 0:le.current)}))==null?void 0:u.name)??((C=e(y).model)==null?void 0:C.current)??"model")}),St(),kt();var O=is();$("keydown",ht,k),$("click",ht,S);var ve=n(O);{var b=d=>{var u=ss(),C=n(u),F=n(C);Xe(F,{name:"bolt",size:11});var le=r(F,2),me=n(le,!0);a(le);var U=r(le,2);Xe(U,{name:"caret-down",size:9}),a(C);var L=r(C,2);{var Y=p=>{var G=as(),be=r(n(G),2);Oe(be,1,()=>e(R),Dt,(ye,ae)=>{var ne=ts();let z;var oe=n(ne,!0);a(ne),D(()=>{var we;z=st(ne,1,"opt svelte-dkbq22",null,z,{sel:e(ae).id===((we=e(y).mode)==null?void 0:we.current)}),re(ne,"aria-selected",(e(ae),e(y),i(()=>{var f;return e(ae).id===((f=e(y).mode)==null?void 0:f.current)}))),T(oe,(e(ae),i(()=>e(ae).name)))}),$("click",ne,()=>H(e(ae).id)),m(ye,ne)}),a(G),m(p,G)};j(L,p=>{e(E)==="mode"&&p(Y)})}a(u),D(()=>{re(C,"aria-expanded",e(E)==="mode"),T(me,e(Q))}),$("click",C,()=>P("mode")),m(d,u)};j(ve,d=>{e(R),i(()=>e(R).length>0)&&d(b)})}var V=r(ve,2);{var te=d=>{var u=rs(),C=n(u),F=n(C);Xe(F,{name:"cpu",size:11});var le=r(F,2),me=n(le,!0);a(le);var U=r(le,2);Xe(U,{name:"caret-down",size:9}),a(C);var L=r(C,2);{var Y=p=>{var G=os(),be=r(n(G),2);Oe(be,1,()=>e(I),Dt,(ye,ae)=>{var ne=ns();let z;var oe=n(ne,!0);a(ne),D(()=>{var we;z=st(ne,1,"opt svelte-dkbq22",null,z,{sel:e(ae).id===((we=e(y).model)==null?void 0:we.current)}),re(ne,"aria-selected",(e(ae),e(y),i(()=>{var f;return e(ae).id===((f=e(y).model)==null?void 0:f.current)}))),T(oe,(e(ae),i(()=>e(ae).name)))}),$("click",ne,()=>_e(e(ae).id)),m(ye,ne)}),a(G),m(p,G)};j(L,p=>{e(E)==="model"&&p(Y)})}a(u),D(()=>{re(C,"aria-expanded",e(E)==="model"),T(me,e(ee))}),$("click",C,()=>P("model")),m(d,u)};j(V,d=>{e(I),i(()=>e(I).length>0)&&d(te)})}a(O),Ye(O,d=>t(l,d),()=>e(l)),m(Ie,O),yt()}const zt={user:"var(--info)",assistant:"var(--accent)",tool:"var(--ok)",other:"var(--border)"};function Yt(Ie){if(!Ie)return 0;let ie=0;for(const I of Ie)(I.codePointAt(0)??0)>=11904&&ie++;const R=Ie.length-ie;return Math.round(ie*.6+R*.25)}function cs(Ie,ie){let R=0,I=0,Q=0;for(const E of Ie)if(E.kind==="user")R+=Yt(String(E.text??""));else if(E.kind==="assistant")for(const M of E.blocks??[])M.type==="text"?I+=Yt(String(M.text??"")):M.type==="tool"&&(Q+=Yt(String(M.args??"")));const ee=R+I+Q,B=Math.max(0,ie-ee),y=[{key:"用户",tokens:R,color:zt.user},{key:"助手",tokens:I,color:zt.assistant},{key:"工具调用",tokens:Q,color:zt.tool}];return B>0&&y.push({key:"其他",tokens:B,color:zt.other}),{segments:y.filter(E=>E.tokens>0),accounted:ee,used:ie}}var ds=h('<span class="seg svelte-4bdpxt"></span>'),vs=h('<span class="lg svelte-4bdpxt"><span class="dot svelte-4bdpxt"></span> </span>'),us=h('<div class="bar svelte-4bdpxt" aria-hidden="true"></div> <div class="legend svelte-4bdpxt"></div>',1),fs=h('<div class="bar svelte-4bdpxt" aria-hidden="true"></div>'),ps=h('<div class="row svelte-4bdpxt"><span>缓存命中率</span><span class="mono svelte-4bdpxt"> </span></div>'),ms=h('<div class="row svelte-4bdpxt"><span>消息</span><span class="mono svelte-4bdpxt"> </span></div>'),hs=h('<div class="row svelte-4bdpxt"><span>模型</span><span class="mono svelte-4bdpxt"> </span></div>'),_s=h('<div class="row svelte-4bdpxt"><span>总成本</span><span class="mono svelte-4bdpxt"> </span></div>'),bs=h('<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=h('<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(Ie,ie){xt(ie,!1);const R=()=>Me(Ut,"$feeds",I),[I,Q]=Pt(),ee=s(),B=s(),y=s(),E=s(),M=s(),H=s(),_e=s(),P=s(),l=s(),k=s(),S=s(),O=s(),ve=s(),b=s(),V=s(),te=s();let d=wt(ie,"sessionId",8),u=s({}),C=s(!1),F=s(),le,me=s(),U=s(-1),L=s();async function Y(w){try{t(u,await he.context(w))}catch{}}function p(){document.hidden||Y(d())}typeof document<"u"&&document.addEventListener("visibilitychange",p),Gt(()=>{clearTimeout(e(L)),clearTimeout(le),typeof document<"u"&&document.removeEventListener("visibilitychange",p)});const G=10,be=2*Math.PI*G;function ye(w){return w>=1e6?(w/1e6).toFixed(1)+"M":w>=1e3?(w/1e3).toFixed(1)+"k":String(w)}function ae(w){return w==null?"—":`$${w.toFixed(3)}`}function ne(){clearTimeout(le),t(C,!0)}function z(){clearTimeout(le),le=setTimeout(()=>t(C,!1),180)}function oe(w){w.key==="Escape"&&t(C,!1)}function we(w){e(C)&&e(F)&&!e(F).contains(w.target)&&t(C,!1)}g(()=>($e(d()),e(me)),()=>{d()!==e(me)&&(t(me,d()),Y(d()))}),g(()=>(R(),$e(d())),()=>{var w;t(ee,((w=R()[d()])==null?void 0:w.lastSeq)??0)}),g(()=>(e(ee),e(U),e(L),$e(d())),()=>{e(ee)!==e(U)&&(t(U,e(ee)),clearTimeout(e(L)),(typeof document>"u"||!document.hidden)&&t(L,setTimeout(()=>void Y(d()),1e3)))}),g(()=>e(u),()=>{var w,N;t(B,typeof((N=(w=e(u))==null?void 0:w.tokens)==null?void 0:N.input)=="number"?e(u).tokens.input:0)}),g(()=>e(u),()=>{var w,N;t(y,typeof((N=(w=e(u))==null?void 0:w.tokens)==null?void 0:N.output)=="number"?e(u).tokens.output:0)}),g(()=>(e(u),e(B),e(y)),()=>{var w,N;t(E,typeof((N=(w=e(u))==null?void 0:w.tokens)==null?void 0:N.used)=="number"?e(u).tokens.used:e(B)+e(y))}),g(()=>e(u),()=>{var w,N;t(M,typeof((N=(w=e(u))==null?void 0:w.tokens)==null?void 0:N.max)=="number"?e(u).tokens.max:void 0)}),g(()=>(e(E),e(M)),()=>{t(H,e(E)>0&&e(M)?Math.min(100,e(E)/e(M)*100):0)}),g(()=>e(H),()=>{t(_e,e(H)>=90?"var(--err)":e(H)>=70?"var(--warn)":"var(--ok)")}),g(()=>e(u),()=>{var w;t(P,(w=e(u))!=null&&w.model?String(e(u).model).split("/").pop():void 0)}),g(()=>e(u),()=>{var w;t(l,typeof((w=e(u))==null?void 0:w.cost)=="number"?e(u).cost:void 0)}),g(()=>e(u),()=>{var w,N,fe;t(k,typeof((fe=(N=(w=e(u))==null?void 0:w.tokens)==null?void 0:N.cache)==null?void 0:fe.read)=="number"?e(u).tokens.cache.read:0)}),g(()=>e(u),()=>{var w,N,fe;t(S,typeof((fe=(N=(w=e(u))==null?void 0:w.tokens)==null?void 0:N.cache)==null?void 0:fe.write)=="number"?e(u).tokens.cache.write:0)}),g(()=>(e(B),e(k)),()=>{t(O,e(B)+e(k)>0?Math.round(e(k)/(e(B)+e(k))*100):void 0)}),g(()=>(R(),$e(d())),()=>{t(ve,R()[d()])}),g(()=>e(ve),()=>{t(b,Xt(e(ve)).filter(w=>w.kind==="user"||w.kind==="assistant").length)}),g(()=>e(ve),()=>{t(V,Xt(e(ve)))}),g(()=>(e(V),e(E)),()=>{t(te,cs(e(V),e(E)))}),St(),kt();var f=gs();$("keydown",ht,oe),$("click",ht,we);var J=n(f),ce=n(J),ue=n(ce);re(ue,"r",G);var qe=r(ue);re(qe,"r",G),a(ce);var Ve=r(ce,2),Ae=n(Ve,!0);qt(),a(Ve),a(J);var de=r(J,2);{var Z=w=>{var N=bs(),fe=n(N),Re=r(n(fe),2),Ue=n(Re);a(Re),a(fe);var nt=r(fe,2);{var _t=_=>{var q=us(),W=Be(q);Oe(W,5,()=>(e(te),i(()=>e(te).segments)),Dt,(ge,Ce)=>{var ut=ds();D(()=>Wt(ut,(e(Ce),e(te),i(()=>`width:${e(Ce).tokens/(e(te).used||1)*100}%; background:${e(Ce).color}`)))),m(ge,ut)}),a(W);var A=r(W,2);Oe(A,5,()=>(e(te),i(()=>e(te).segments)),Dt,(ge,Ce)=>{var ut=vs(),Te=n(ut),ke=r(Te);a(ut),D(De=>{Wt(Te,(e(Ce),i(()=>`background:${e(Ce).color}`))),T(ke,`${e(Ce),i(()=>e(Ce).key)??""} ${De??""}%`)},[()=>(e(E),e(Ce),i(()=>e(E)>0?(e(Ce).tokens/e(E)*100).toFixed(1):"0"))]),m(ge,ut)}),a(A),m(_,q)},Ge=_=>{var q=fs();m(_,q)};j(nt,_=>{e(te),i(()=>e(te).segments.length>0)?_(_t):_(Ge,-1)})}var Pe=r(nt,2),Le=n(Pe);{var ze=_=>{var q=ps(),W=r(n(q)),A=n(W);a(W),a(q),D(()=>T(A,`${e(O)??""}%`)),m(_,q)};j(Le,_=>{e(O)!=null&&_(ze)})}var Ze=r(Le,2);{var dt=_=>{var q=ms(),W=r(n(q)),A=n(W,!0);a(W),a(q),D(()=>T(A,e(b))),m(_,q)};j(Ze,_=>{e(b)>0&&_(dt)})}var vt=r(Ze,2);{var $t=_=>{var q=hs(),W=r(n(q)),A=n(W,!0);a(W),a(q),D(()=>T(A,e(P))),m(_,q)};j(vt,_=>{e(P)&&_($t)})}var v=r(vt,2);{var o=_=>{var q=_s(),W=r(n(q)),A=n(W,!0);a(W),a(q),D(ge=>T(A,ge),[()=>(e(l),i(()=>ae(e(l))))]),m(_,q)};j(v,_=>{e(l)!=null&&_(o)})}a(Pe),a(N),D((_,q)=>T(Ue,`${_??""} / ${q??""}`),[()=>(e(E),i(()=>ye(e(E)))),()=>(e(M),i(()=>ye(e(M))))]),m(w,N)};j(de,w=>{e(C)&&e(M)&&w(Z)})}a(f),Ye(f,w=>t(F,w),()=>e(F)),D((w,N,fe)=>{re(J,"aria-label",w),re(J,"aria-expanded",e(C)),re(qe,"stroke",e(_e)),re(qe,"stroke-dasharray",N),T(Ae,fe)},[()=>(e(H),i(()=>`上下文占用 ${e(H).toFixed(0)}%`)),()=>(e(H),i(()=>`${Math.max(be*e(H)/100,e(H)>0?1.5:0)} ${be}`)),()=>(e(H),i(()=>e(H).toFixed(0)))]),$("click",J,()=>t(C,!e(C))),$("mouseenter",f,ne),$("mouseleave",f,z),m(Ie,f),yt(),Q()}var ks=h('<div class="error svelte-60fagq" role="alert"> </div>'),xs=h('<button role="option"> </button>'),ys=h('<div class="mention-dropdown svelte-60fagq" role="listbox"></div>'),$s=h('<div class="thumb svelte-60fagq"><img alt="attachment" class="svelte-60fagq"/> <button class="remove svelte-60fagq" aria-label="移除图片">×</button></div>'),Is=h('<div class="thumbnails svelte-60fagq"></div>'),Ss=h('<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=h("<!> <!>",1),Es=h('<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>'),Ms=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=h('<button class="send svelte-60fagq" aria-label="发送"><!></button>'),Ts=h('<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 Ds(Ie,ie){xt(ie,!1);const R=()=>Me(Zt,"$composerDraft",y),I=()=>Me(Ut,"$feeds",y),Q=()=>Me(ca,"$can",y),ee=()=>Me(qa,"$connection",y),B=()=>Me(ba,"$backendName",y),[y,E]=Pt(),M=s(),H=s(),_e=s();let P=wt(ie,"sessionId",8),l=s(""),k=s(),S=s(!1),O=s(""),ve=s(!1),b=s(),V=s([]),te=s([]),d=s(0),u=0,C,F=!1;async function le(){if(!F){F=!0;try{await he.abort(P())}catch{}finally{F=!1}}}function me(){return`c_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function U(v){const o=new FileReader;o.onload=()=>{var Ce;const _=o.result,q=_.indexOf(","),W=_.slice(0,q),A=_.slice(q+1),ge=((Ce=W.match(/data:(.*?);/))==null?void 0:Ce[1])??v.type;t(V,[...e(V),{data:A,mimeType:ge,preview:_}])},o.readAsDataURL(v)}function L(v){const o=v.target;if(o.files){for(const _ of o.files)U(_);o.value=""}}function Y(v){if(!Q()("imageInput")||!v.clipboardData)return;const o=[...v.clipboardData.items].filter(_=>_.type.startsWith("image/"));if(o.length){v.preventDefault();for(const _ of o){const q=_.getAsFile();q&&U(q)}}}function p(v){t(V,e(V).filter((o,_)=>_!==v))}function G(){if(!e(k))return null;const v=e(k).selectionStart,_=e(l).slice(0,v).match(/(^|[\s])@([^\s]*)$/);return _?{token:_[2],start:v-_[2].length-1}:null}function be(){const v=G();if(!v){t(te,[]),clearTimeout(C);return}u=v.start,t(d,0),clearTimeout(C);const o=v.token;C=setTimeout(async()=>{try{t(te,await he.files(P(),o))}catch{t(te,[])}},150)}function ye(v){const o=e(k).selectionStart,_=e(l).slice(0,u),q=e(l).slice(o),W=`@${v} `;t(l,_+W+q),t(te,[]),Nt().then(()=>{const A=_.length+W.length;Mt(k,e(k).selectionStart=Mt(k,e(k).selectionEnd=A)),e(k).focus(),z()})}async function ae(){var W;const v=e(l).trim();if(!v&&e(V).length===0||e(S))return;if(ee()!=="connected"){t(O,"Disconnected — reconnecting…");return}const o=me(),_=e(V).map(({data:A,mimeType:ge})=>({data:A,mimeType:ge}));t(S,!0),t(O,""),ga({kind:"user",sessionId:P(),text:v,ts:Date.now(),id:`user:${o}`}),t(l,"");const q=[...e(V)];t(V,[]),z();try{await he.sendMessage({sessionId:P(),text:v,clientId:o,..._.length?{images:_}:{}})}catch(A){t(O,`Send failed: ${A.message}`),wa(`user:${o}`),t(l,v),t(V,q)}finally{t(S,!1),(W=e(k))==null||W.focus()}}function ne(v){if(e(te).length>0){if(v.key==="ArrowDown"){v.preventDefault(),t(d,Math.min(e(d)+1,e(te).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(te)[e(d)]);return}if(v.key==="Escape"){v.preventDefault(),t(te,[]);return}}v.key!=="Enter"||v.shiftKey||v.isComposing||v.keyCode===229||(v.preventDefault(),ae())}function z(){e(k)&&(Mt(k,e(k).style.height="auto"),Mt(k,e(k).style.height=Math.min(e(k).scrollHeight,140)+"px"))}Gt(()=>clearTimeout(C)),g(()=>(R(),e(k)),()=>{const v=R();v&&(t(l,v.text),Zt.set(void 0),Nt().then(()=>{var o;return(o=e(k))==null?void 0:o.focus()}),z())}),g(()=>e(l),()=>{va.set(!e(l).trim())}),g(()=>e(l),()=>{t(M,e(l).trim().length>0)}),g(()=>(e(k),e(l)),()=>{e(k)&&e(l)!==void 0&&z()}),g(()=>(I(),$e(P())),()=>{t(H,(()=>{const v=I()[P()];if(!v||v.order.length===0)return!1;const o=v.byId[v.order[v.order.length-1]];return(o==null?void 0:o.kind)==="thinking"||(o==null?void 0:o.kind)==="streaming"||(o==null?void 0:o.kind)==="think-stream"})())}),g(()=>(e(H),e(M),e(S)),()=>{t(_e,e(H)&&!e(M)&&!e(S))}),St(),kt();var oe=Ts(),we=n(oe),f=n(we);{var J=v=>{var o=ks(),_=n(o,!0);a(o),D(()=>T(_,e(O))),m(v,o)};j(f,v=>{e(O)&&v(J)})}var ce=r(f,2);let ue;var qe=n(ce);{var Ve=v=>{var o=ys();Oe(o,5,()=>e(te),Dt,(_,q,W)=>{var A=xs();let ge;var Ce=n(A,!0);a(A),D(()=>{ge=st(A,1,"mention-row svelte-60fagq",null,ge,{active:W===e(d)}),re(A,"aria-selected",W===e(d)),T(Ce,e(q))}),$("mousedown",A,Ta(()=>ye(e(q)))),m(_,A)}),a(o),m(v,o)};j(qe,v=>{e(te),i(()=>e(te).length>0)&&v(Ve)})}var Ae=r(qe,2);{var de=v=>{var o=Is();Oe(o,5,()=>e(V),Dt,(_,q,W)=>{var A=$s(),ge=n(A),Ce=r(ge,2);a(A),D(()=>re(ge,"src",(e(q),i(()=>e(q).preview)))),$("click",Ce,()=>p(W)),m(_,A)}),a(o),m(v,o)};j(Ae,v=>{e(V),i(()=>e(V).length>0)&&v(de)})}var Z=r(Ae,2);Ia(Z),re(Z,"rows",1),Ye(Z,v=>t(k,v),()=>e(k));var w=r(Z,2),N=n(w);{var fe=v=>{var o=Ss(),_=Be(o),q=r(_,2);Ye(q,W=>t(b,W),()=>e(b)),$("click",_,()=>e(b).click()),$("change",q,L),m(v,o)},Re=Ht(()=>(Q(),i(()=>Q()("imageInput"))));j(N,v=>{e(Re)&&v(fe)})}var Ue=r(N,2);{var nt=v=>{var o=Cs(),_=Be(o);Ga(_,{});var q=r(_,2);es(q,{}),m(v,o)},_t=Ht(()=>(Q(),i(()=>Q()("catalog"))));j(Ue,v=>{e(_t)&&v(nt)})}var Ge=r(Ue,2);{var Pe=v=>{ls(v,{get sessionId(){return P()}})},Le=Ht(()=>(Q(),i(()=>Q()("sessionControls"))));j(Ge,v=>{e(Le)&&v(Pe)})}var ze=r(Ge,2);ws(ze,{get sessionId(){return P()}});var Ze=r(ze,2),dt=r(Ze,6);{var vt=v=>{var o=Es();$("click",o,le),m(v,o)},$t=v=>{var o=qs(),_=n(o);{var q=A=>{var ge=Sa("…");m(A,ge)},W=A=>{var ge=Ms();m(A,ge)};j(_,A=>{e(S)?A(q):A(W,-1)})}a(o),D(A=>o.disabled=A,[()=>(e(S),e(l),e(V),ee(),i(()=>e(S)||!e(l).trim()&&e(V).length===0||ee()!=="connected"))]),$("click",o,ae),m(v,o)};j(dt,v=>{e(_e)?v(vt):v($t,-1)})}a(w),a(ce),a(we),a(oe),D(()=>{ue=st(ce,1,"box svelte-60fagq",null,ue,{focused:e(ve),"has-text":e(M)}),re(Z,"placeholder",ee()==="connected"?`给 ${B()} 留言…`:"连接断开…")}),Ea(Z,()=>e(l),v=>t(l,v)),$("keydown",Z,ne),$("input",Z,()=>{z(),be()}),$("paste",Z,Y),$("focus",Z,()=>t(ve,!0)),$("blur",Z,()=>t(ve,!1)),$("click",Z,be),$("click",Ze,()=>Ma.set(!0)),m(Ie,oe),yt(),E()}var js=h('<span class="check svelte-rgafhj">✓</span>'),Bs=h('<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=h('<div class="empty svelte-rgafhj"> </div>'),As=h('<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=h('<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(Ie,ie){xt(ie,!1);const R=()=>Me(ka,"$backends",B),I=()=>Me(Ft,"$sessionList",B),Q=()=>Me(Da,"$activeWorkspace",B),ee=()=>Me(ia,"$workspaces",B),[B,y]=Pt(),E=s(),M=s(),H=s(),_e=s(),P=s(),l=s();let k=wt(ie,"activeId",8,void 0),S=s(!1),O=s(!1);function ve(f){const J=f.split(/[\s\-_:./]+/).filter(Boolean);return J.length>=2?(J[0][0]+J[1][0]).toUpperCase():f.slice(0,2).toUpperCase()}function b(f){return ve((f==null?void 0:f.name)||(f==null?void 0:f.id)||"OC")}function V(f){return f==="online"||f==="connected"?"online":f==="connecting"||f==="reconnecting"?"connecting":f==="offline"?"offline":"online"}function te(){t(S,!e(S))}function d(f){t(S,!1),Vt(`/${f}/`)}async function u(){var J;if(e(O))return;const f=Q()||((J=ee()[0])==null?void 0:J.directory)||"";t(O,!0);try{await ya(e(E));const ce=await he.createSession({directory:f});Ft.set(await he.sessions()),ia.set(await he.workspaces()),t(S,!1),Vt(`/${ce.id}/`)}catch(ce){alert(`Create session failed: ${ce.message}`)}finally{t(O,!1)}}function C(f){f.key==="Escape"&&t(S,!1)}function F(f){const J=Date.now()-f,ce=Math.floor(J/6e4);if(ce<1)return"now";if(ce<60)return`${ce}m`;const ue=Math.floor(ce/60);return ue<24?`${ue}h`:`${Math.floor(ue/24)}d`}function le(f){return(f.includes("_")?f.slice(f.indexOf("_")+1):f).slice(-8)}g(()=>R(),()=>{var f,J,ce;t(E,((f=R())==null?void 0:f.activeId)??((ce=(J=R())==null?void 0:J.backends[0])==null?void 0:ce.id)??"opencode")}),g(()=>(R(),e(E)),()=>{var f;t(M,(f=R())==null?void 0:f.backends.find(J=>J.id===e(E)))}),g(()=>e(E),()=>{t(H,xa(e(E)))}),g(()=>(I(),e(E)),()=>{t(_e,I().filter(f=>f.backendId===e(E)||!f.backendId&&e(E)==="opencode").sort((f,J)=>J.lastActiveAt-f.lastActiveAt))}),g(()=>(I(),$e(k())),()=>{t(P,I().find(f=>f.id===k()))}),g(()=>e(P),()=>{var f;t(l,((f=e(P))==null?void 0:f.title)||"Untitled session")}),St(),kt();var me=Rs();$("keydown",ht,C);var U=n(me),L=n(U),Y=n(L,!0);a(L);var p=r(L,2),G=n(p),be=n(G,!0);a(G),a(p);var ye=r(p,2),ae=n(ye,!0);a(ye);var ne=r(ye,2),z=n(ne);Xe(z,{name:"caret-down",size:11}),a(ne),a(U);var oe=r(U,2);{var we=f=>{var J=As(),ce=n(J);Oe(ce,5,()=>e(_e),Ae=>Ae.id,(Ae,de)=>{var Z=Bs();let w;var N=n(Z),fe=r(N,2),Re=n(fe),Ue=n(Re,!0);a(Re);var nt=r(Re,2),_t=n(nt);a(nt),a(fe);var Ge=r(fe,2);{var Pe=Le=>{var ze=js();m(Le,ze)};j(Ge,Le=>{e(de),$e(k()),i(()=>e(de).id===k())&&Le(Pe)})}a(Z),D((Le,ze)=>{w=st(Z,1,"row svelte-rgafhj",null,w,{active:e(de).id===k()}),st(N,1,`dot ${e(de),$e(k()),i(()=>e(de).id===k()?"active":"")??""}`,"svelte-rgafhj"),T(Ue,(e(de),i(()=>e(de).title||"Untitled session"))),T(_t,`${Le??""} · ${ze??""}`)},[()=>(e(de),i(()=>le(e(de).id))),()=>(e(de),i(()=>F(e(de).lastActiveAt)))]),$("click",Z,()=>d(e(de).id)),m(Ae,Z)},Ae=>{var de=Os(),Z=n(de);a(de),D(()=>T(Z,`No sessions on ${e(M),i(()=>{var w,N;return((w=e(M))==null?void 0:w.name)??((N=e(M))==null?void 0:N.id)??"this agent"})??""}.`)),m(Ae,de)}),a(ce);var ue=r(ce,2),qe=n(ue),Ve=n(qe);a(qe),a(ue),a(J),D(()=>{qe.disabled=e(O),T(Ve,`+ New session on ${e(M),i(()=>{var Ae,de;return((Ae=e(M))==null?void 0:Ae.name)??((de=e(M))==null?void 0:de.id)??"agent"})??""}`)}),$("click",qe,u),m(f,J)};j(oe,f=>{e(S)&&f(we)})}a(me),D((f,J,ce)=>{re(U,"aria-expanded",e(S)),Wt(L,`background:${$e(na),e(H),i(()=>na[e(H)])??""}; color:${$e(oa),e(H),i(()=>oa[e(H)])??""}; border-color:${$e(ra),e(H),i(()=>ra[e(H)])??""}`),T(Y,f),st(p,1,`status-dot ${J??""}`,"svelte-rgafhj"),T(be,ce),T(ae,e(l))},[()=>(e(M),i(()=>b(e(M)))),()=>(e(M),i(()=>{var f;return V((f=e(M))==null?void 0:f.status)})),()=>(e(M),i(()=>{var f;return V((f=e(M))==null?void 0:f.status)}))]),$("click",U,te),m(Ie,me),yt(),y()}var Ls=h('<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=h('<div class="scrim svelte-w3h0m4" aria-hidden="true"></div>'),Hs=h('<button role="menuitem" class="svelte-w3h0m4">本会话隐藏</button>'),Fs=h('<div class="menu svelte-w3h0m4" role="menu"><button role="menuitem" class="svelte-w3h0m4">打开任务面板</button> <!></div>'),Ns=h('<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=h('<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=h('<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),Vs=h('<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=h('<div class="row pending svelte-w3h0m4"><span class="box svelte-w3h0m4"></span><span class="tx svelte-w3h0m4"> </span></div>'),Gs=h('<div class="row pending svelte-w3h0m4"><span class="box svelte-w3h0m4"></span><span class="tx svelte-w3h0m4"> </span></div>'),Js=h('<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=h('<span class="sub-count mono svelte-w3h0m4"> </span>'),Xs=h('<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=h('<div class="grp static svelte-w3h0m4"><span class="sub-label svelte-w3h0m4"> </span></div> <!>',1),Qs=h('<span class="sub-check svelte-w3h0m4" aria-hidden="true">✓</span>'),en=h('<span class="sub-count mono svelte-w3h0m4"> </span>'),tn=h('<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=h('<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=h('<!> <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=h('<span class="badge mono svelte-w3h0m4"> </span>'),on=h('<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=h('<span class="badge mono svelte-w3h0m4"> </span>'),ln=h('<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=h("<!> <!>",1);function dn(Ie,ie){xt(ie,!1);const R=()=>Me(Ut,"$feeds",ee),I=()=>Me(Ft,"$sessionList",ee),Q=()=>Me(ca,"$can",ee),[ee,B]=Pt(),y=s(),E=s(),M=s(),H=s(),_e=s(),P=s(),l=s(),k=s(),S=s(),O=s(),ve=s();let b=wt(ie,"sessionId",8),V=wt(ie,"onJump",8,()=>{});const te="ocrc.planHud.v3",d=5,u=16,C=2*Math.PI*u;let F=s(!1);try{t(F,window.matchMedia("(min-width: 821px)").matches)}catch{}const le=e(F)?"ocrc.planHud.dt3":te;function me(){if(typeof localStorage>"u")return{};try{const o=JSON.parse(localStorage.getItem(le)??"{}")??{};return{dismissed:o.dismissed,expanded:o.expanded}}catch{return{}}}let U=s(me()),L=s(e(U).expanded??e(F));function Y(o){if(t(U,{...e(U),...o}),!(typeof localStorage>"u"))try{localStorage.setItem(le,JSON.stringify(e(U)))}catch{}}let p=s({total:0,done:0,items:[]}),G=s();async function be(o){try{const _=await he.todo(o);if(o!==b())return;t(G,o),t(p,ja(_))}catch{}}let ye=s(),ae=s(0),ne=s(-1),z=s();Gt(()=>clearTimeout(e(z)));let oe=s([]),we=s(),f=!1;async function J(o){if(!f){f=!0;try{const _=await he.subagents(o);if(o!==b())return;t(oe,[..._.subagents??[]].sort((q,W)=>Number(W.busy??!1)-Number(q.busy??!1))),t(we,o)}catch{t(oe,[])}finally{f=!1}}}const ce=o=>`ocrc.subparent.${o}`;let ue=s();function qe(o){try{t(ue,sessionStorage.getItem(ce(o))??void 0)}catch{t(ue,void 0)}}qe(b());function Ve(o){try{sessionStorage.setItem(ce(o.id),b())}catch{}t(fe,!1),Aa({id:`sub:${o.id}`,kind:"subagent",title:o.title||"…"+o.id.slice(-6),childId:o.id}),Kt.set(!0)}function Ae(){const o=e(ue);t(ue,void 0),o&&V()(o)}let de=s(),Z=s(!1),w=s(!1),N=s(!1),fe=s(!1);function Re(){t(L,!e(L)),Y({expanded:e(L)})}function Ue(){Y({dismissed:[...e(U).dismissed??[],b()].slice(-20)}),t(fe,!1)}function nt(){Y({dismissed:(e(U).dismissed??[]).filter(o=>o!==b())}),t(L,!0),Y({expanded:e(L)})}function _t(){t(fe,!1),Oa("tasks"),Kt.set(!0)}let Ge=s(),Pe=s(),Le=s(),ze=s();function Ze(o){var q,W,A,ge;const _=o.target;if(e(fe)){if((q=e(Pe))!=null&&q.contains(_)||(W=e(Ge))!=null&&W.contains(_))return;t(fe,!1)}e(L)&&((A=e(Le))!=null&&A.contains(_)||(ge=e(ze))!=null&&ge.contains(_)||(t(L,!1),Y({expanded:!1})))}g(()=>($e(b()),e(ye)),()=>{b()!==e(ye)&&(t(ye,b()),be(b()))}),g(()=>(R(),$e(b())),()=>{var o;t(y,((o=R()[b()])==null?void 0:o.lastSeq)??0)}),g(()=>(e(y),e(ne),e(z),e(ae)),()=>{e(y)!==e(ne)&&(t(ne,e(y)),clearTimeout(e(z)),t(z,setTimeout(()=>t(ae,e(ae)+1),1e3)))}),g(()=>(e(ae),$e(b())),()=>{e(ae)&&(typeof document>"u"||!document.hidden)&&(be(b()),J(b()))}),g(()=>(I(),$e(b())),()=>{t(E,I().find(o=>o.id===b()))}),g(()=>e(E),()=>{var o;t(M,((o=e(E))==null?void 0:o.title)??"")}),g(()=>e(p),()=>{t(H,e(p).items.filter(o=>o.status==="done"))}),g(()=>e(p),()=>{t(_e,e(p).items.filter(o=>o.status==="running"))}),g(()=>e(p),()=>{t(P,e(p).items.filter(o=>o.status==="pending"))}),g(()=>e(P),()=>{t(l,Math.max(0,e(P).length-d))}),g(()=>e(p),()=>{t(k,e(p).total?e(p).done/e(p).total:0)}),g(()=>(e(U),$e(b())),()=>{var o;t(S,((o=e(U).dismissed)==null?void 0:o.includes(b()))??!1)}),g(()=>e(oe),()=>{t(O,e(oe).filter(o=>o.busy))}),g(()=>e(oe),()=>{t(ve,e(oe).filter(o=>!o.busy))}),g(()=>(e(L),$e(b()),e(we)),()=>{e(L)&&b()&&e(we)!==b()&&J(b())}),g(()=>$e(b()),()=>{b()&&qe(b())}),g(()=>($e(b()),e(de)),()=>{b()!==e(de)&&(t(de,b()),t(Z,!1),t(w,!1),t(N,!1),t(fe,!1))}),St(),kt();var dt=Tt();$("pointerdown",ht,Ze);var vt=Be(dt);{var $t=o=>{var _=cn(),q=Be(_);{var W=Te=>{var ke=Ls(),De=r(n(ke),2),Qe=n(De,!0),et=r(Qe,2,!0);a(De),a(ke),D(()=>{T(Qe,(e(p),i(()=>e(p).done))),T(et,(e(p),i(()=>e(p).total)))}),$("click",ke,nt),m(Te,ke)},A=Te=>{var ke=sn(),De=Be(ke);{var Qe=K=>{var pe=zs();m(K,pe)};j(De,K=>{e(F)||K(Qe)})}var et=r(De,2),it=n(et),lt=r(n(it),2),ot=n(lt,!0);a(lt);var ct=r(lt,2);Ye(ct,K=>t(Ge,K),()=>e(Ge));var Ct=r(ct,2);a(it);var tt=r(it,2);{var Et=K=>{var pe=Fs(),se=n(pe),Ee=r(se,2);{var je=Ne=>{var rt=Hs();$("click",rt,Ue),m(Ne,rt)};j(Ee,Ne=>{e(F)||Ne(je)})}a(pe),Ye(pe,Ne=>t(Pe,Ne),()=>e(Pe)),$("click",se,_t),m(K,pe)};j(tt,K=>{e(fe)&&K(Et)})}var bt=r(tt,2),jt=n(bt);{var Jt=K=>{var pe=Ns(),se=r(n(pe),2),Ee=n(se);a(se),a(pe),D(je=>T(Ee,`返回父会话 …${je??""}`),[()=>(e(ue),i(()=>e(ue).slice(-8)))]),$("click",pe,Ae),m(K,pe)};j(jt,K=>{e(ue)&&K(Jt)})}var Bt=r(jt,2),c=n(Bt);a(Bt);var x=r(Bt,2);{var X=K=>{var pe=Ks(),se=Be(pe),Ee=n(se);let je;var Ne=r(Ee,2),rt=n(Ne);a(Ne),a(se);var We=r(se,2);{var ft=Je=>{var pt=Tt(),It=Be(pt);Oe(It,1,()=>e(H),at=>at.text,(at,xe)=>{var Ke=Ws(),mt=r(n(Ke)),At=n(mt,!0);a(mt),a(Ke),D(()=>T(At,(e(xe),i(()=>e(xe).text)))),m(at,Ke)}),m(Je,pt)};j(We,Je=>{e(Z)&&Je(ft)})}D(()=>{re(se,"aria-expanded",e(Z)),je=st(Ee,0,"caret svelte-w3h0m4",null,je,{open:e(Z)}),T(rt,`已完成 ${e(H),i(()=>e(H).length)??""}`)}),$("click",se,()=>t(Z,!e(Z))),m(K,pe)};j(x,K=>{e(H),i(()=>e(H).length)&&K(X)})}var He=r(x,2);Oe(He,1,()=>e(_e),K=>K.text,(K,pe)=>{var se=Vs(),Ee=r(n(se)),je=n(Ee,!0);a(Ee),a(se),D(()=>T(je,(e(pe),i(()=>e(pe).text)))),m(K,se)});var Se=r(He,2);Oe(Se,1,()=>(e(P),i(()=>e(P).slice(0,d))),K=>K.text,(K,pe)=>{var se=Us(),Ee=r(n(se)),je=n(Ee,!0);a(Ee),a(se),D(()=>T(je,(e(pe),i(()=>e(pe).text)))),m(K,se)});var Fe=r(Se,2);{var Ot=K=>{var pe=Js(),se=Be(pe),Ee=n(se);let je;var Ne=r(Ee,2),rt=n(Ne);a(Ne),a(se);var We=r(se,2);{var ft=Je=>{var pt=Tt(),It=Be(pt);Oe(It,1,()=>(e(P),i(()=>e(P).slice(d))),at=>at.text,(at,xe)=>{var Ke=Gs(),mt=r(n(Ke)),At=n(mt,!0);a(mt),a(Ke),D(()=>T(At,(e(xe),i(()=>e(xe).text)))),m(at,Ke)}),m(Je,pt)};j(We,Je=>{e(w)&&Je(ft)})}D(()=>{re(se,"aria-expanded",e(w)),je=st(Ee,0,"caret svelte-w3h0m4",null,je,{open:e(w)}),T(rt,`待处理 ${e(l)??""}`)}),$("click",se,()=>t(w,!e(w))),m(K,pe)};j(Fe,K=>{e(l)>0&&K(Ot)})}var ea=r(Fe,2);{var ua=K=>{var pe=Zs(),se=Be(pe),Ee=n(se),je=n(Ee);a(Ee),a(se);var Ne=r(se,2);Oe(Ne,1,()=>e(O),rt=>rt.id,(rt,We)=>{var ft=Xs(),Je=r(n(ft),2);{var pt=xe=>{var Ke=Ys(),mt=n(Ke);a(Ke),D(()=>T(mt,`${e(We),i(()=>e(We).done)??""}/${e(We),i(()=>e(We).total)??""}`)),m(xe,Ke)};j(Je,xe=>{e(We),i(()=>e(We).total>0)&&xe(pt)})}var It=r(Je,2),at=n(It,!0);a(It),qt(2),a(ft),D(xe=>T(at,xe),[()=>(e(We),i(()=>e(We).title||"…"+e(We).id.slice(-6)))]),$("click",ft,()=>Ve(e(We))),m(rt,ft)}),D(()=>T(je,`子代理 · 运行中 ${e(O),i(()=>e(O).length)??""}`)),m(K,pe)};j(ea,K=>{e(O),i(()=>e(O).length)&&K(ua)})}var fa=r(ea,2);{var pa=K=>{var pe=an(),se=Be(pe),Ee=n(se);let je;var Ne=r(Ee,2),rt=n(Ne);a(Ne),a(se);var We=r(se,2);{var ft=Je=>{var pt=Tt(),It=Be(pt);Oe(It,1,()=>e(ve),at=>at.id,(at,xe)=>{var Ke=tn(),mt=n(Ke);{var At=gt=>{var Rt=Qs();m(gt,Rt)};j(mt,gt=>{e(xe),i(()=>e(xe).total>0&&e(xe).done>=e(xe).total)&&gt(At)})}var ta=r(mt,2);{var ma=gt=>{var Rt=en(),_a=n(Rt);a(Rt),D(()=>T(_a,`${e(xe),i(()=>e(xe).done)??""}/${e(xe),i(()=>e(xe).total)??""}`)),m(gt,Rt)};j(ta,gt=>{e(xe),i(()=>e(xe).total>0)&&gt(ma)})}var aa=r(ta,2),ha=n(aa,!0);a(aa),qt(2),a(Ke),D(gt=>T(ha,gt),[()=>(e(xe),i(()=>e(xe).title||"…"+e(xe).id.slice(-6)))]),$("click",Ke,()=>Ve(e(xe))),m(at,Ke)}),m(Je,pt)};j(We,Je=>{e(N)&&Je(ft)})}D(()=>{re(se,"aria-expanded",e(N)),je=st(Ee,0,"caret svelte-w3h0m4",null,je,{open:e(N)}),T(rt,`子代理 · 已结束 ${e(ve),i(()=>e(ve).length)??""}`)}),$("click",se,()=>t(N,!e(N))),m(K,pe)};j(fa,K=>{e(ve),i(()=>e(ve).length)&&K(pa)})}a(bt),a(et),Ye(et,K=>t(Le,K),()=>e(Le)),D(K=>{T(ot,K),T(c,`任务 ${e(p),i(()=>e(p).done)??""}/${e(p),i(()=>e(p).total)??""}`)},[()=>(e(M),$e(b()),i(()=>e(M)||"…"+b().slice(-8)))]),$("click",ct,Ba(()=>t(fe,!e(fe)))),$("click",Ct,Re),m(Te,ke)};j(q,Te=>{e(S)&&!e(F)?Te(W):e(L)&&Te(A,1)})}var ge=r(q,2);{var Ce=Te=>{var ke=on(),De=r(n(ke),2),Qe=n(De,!0),et=r(Qe,2,!0);a(De);var it=r(De,2);{var lt=ot=>{var ct=nn(),Ct=n(ct,!0);a(ct),D(()=>T(Ct,(e(O),i(()=>e(O).length)))),m(ot,ct)};j(it,ot=>{e(O),i(()=>e(O).length>0)&&ot(lt)})}qt(2),a(ke),Ye(ke,ot=>t(ze,ot),()=>e(ze)),D(()=>{re(ke,"aria-label",(e(p),i(()=>`展开计划 ${e(p).done}/${e(p).total}`))),T(Qe,(e(p),i(()=>e(p).done))),T(et,(e(p),i(()=>e(p).total)))}),$("click",ke,Re),m(Te,ke)},ut=Te=>{var ke=ln(),De=n(ke),Qe=n(De);re(Qe,"r",u);var et=r(Qe);re(et,"r",u),a(De);var it=r(De,2),lt=n(it,!0),ot=r(lt,2,!0);a(it);var ct=r(it,2);{var Ct=tt=>{var Et=rn(),bt=n(Et,!0);a(Et),D(()=>T(bt,(e(O),i(()=>e(O).length)))),m(tt,Et)};j(ct,tt=>{e(O),i(()=>e(O).length>0)&&tt(Ct)})}a(ke),Ye(ke,tt=>t(ze,tt),()=>e(ze)),D(tt=>{re(ke,"aria-label",(e(p),e(L),i(()=>`计划 ${e(p).done}/${e(p).total} — ${e(L)?"收起":"展开"}`))),re(ke,"aria-expanded",e(L)),re(et,"stroke-dasharray",tt),T(lt,(e(p),i(()=>e(p).done))),T(ot,(e(p),i(()=>e(p).total)))},[()=>(e(k),i(()=>`${Math.max(C*e(k),C*.02)} ${C}`))]),$("click",ke,Re),m(Te,ke)};j(ge,Te=>{e(F)&&!e(L)?Te(Ce):!e(S)&&!(e(F)&&!e(L))&&Te(ut,1)})}m(o,_)},v=Ht(()=>(e(G),$e(b()),e(p),e(oe),e(ue),Q(),i(()=>e(G)===b()&&(e(p).total>0||e(oe).length>0||e(ue))&&Q()("todos"))));j(vt,o=>{e(v)&&o($t)})}m(Ie,dt),yt(),B()}var vn=h('<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=h('<span class="branch mono svelte-eho102"> </span>'),fn=h('<span class="pill running mono svelte-eho102"><span class="dot svelte-eho102" aria-hidden="true"></span> </span>'),pn=h('<button class="restore mono svelte-eho102" title="恢复被撤销的轮次">恢复上一轮</button>'),mn=h('<!> <span class="idle mono svelte-eho102">空闲</span>',1),hn=h('<button class="load-earlier mono svelte-eho102"> </button>'),_n=h('<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=h('<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=h('<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=h('<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 Mn(Ie,ie){xt(ie,!1);const R=()=>Me(Ra,"$page",M),I=()=>Me(Ut,"$feeds",M),Q=()=>Me(Ft,"$sessionList",M),ee=()=>Me(va,"$composerEmpty",M),B=()=>Me(Pa,"$sessionBooting",M),y=()=>Me(la,"$leftPanelOpen",M),E=()=>Me(za,"$feedResyncing",M),[M,H]=Pt(),_e=s(),P=s(),l=s(),k=s(),S=s(),O=s(),ve=s(),b=s(),V=s(),te=s();let d=s(),u=s(),C=s(),F,le=s(""),me,U,L=s(0),Y=s(0),p=s(),G=s(!0);function be(){e(d)&&Mt(d,e(d).scrollTop=e(d).scrollHeight)}function ye(){e(d)&&t(G,e(d).scrollHeight-e(d).scrollTop-e(d).clientHeight<80)}const ae=80,ne=50;let z=s(ae),oe=s(0),we=s(!0),f=s(!1),J=s("");async function ce(){if(e(f)||!e(l))return;if(e(S).length>e(z)){t(z,e(z)+ae);return}if(!e(we))return;t(f,!0);const c=e(d),x=c?{h:c.scrollHeight,top:c.scrollTop}:null;try{const X=await he.history(e(l),{limit:ne,offset:e(oe)});(X.cards??[]).length===0?t(we,!1):($a(e(l),X.cards),t(oe,e(oe)+ne),t(z,e(z)+ae),X.hasMore===!1&&t(we,!1),x&&c&&(await Nt(),c.scrollTop=c.scrollHeight-x.h+x.top))}catch(X){console.warn("[page] loadEarlier failed",X)}finally{t(f,!1)}}let ue=s("");function qe(c){if(c<60)return`${c}s`;const x=Math.floor(c/60),X=c%60;return X===0?`${x}m`:`${x}m ${X}s`}function Ve(){Le()}async function Ae(c){if(!(!e(l)||!c))try{await he.revertSession(e(l),c);const{cards:x,lastSeq:X}=await he.history(e(l)),{setHistory:He}=await sa(async()=>{const{setHistory:Se}=await import("../chunks/DyVtfOqD.js").then(Fe=>Fe.C);return{setHistory:Se}},__vite__mapDeps([0,1]),import.meta.url);He(e(l),x,X),window.dispatchEvent(new CustomEvent("ocrc:resubscribe",{detail:{sessionId:e(l),sinceSeq:X}}))}catch{}}let de=s(!1),Z=s();async function w(c){try{const x=await he.revertState(c);t(de,x.reverted),t(Z,x.messageID)}catch{t(de,!1),t(Z,void 0)}}async function N(){if(e(l))try{await he.unrevertSession(e(l)),t(de,!1);const{cards:c,lastSeq:x}=await he.history(e(l)),{setHistory:X}=await sa(async()=>{const{setHistory:He}=await import("../chunks/DyVtfOqD.js").then(Se=>Se.C);return{setHistory:He}},__vite__mapDeps([0,1]),import.meta.url);X(e(l),c,x),window.dispatchEvent(new CustomEvent("ocrc:resubscribe",{detail:{sessionId:e(l),sinceSeq:x}}))}catch{}}const fe=["总结这个项目","最近有什么改动?","运行检查"];let Re=s(!1),Ue=s([]),nt;async function _t(c,x){if(nt!==x){nt=x;try{const X=await he.suggestions(c);t(Ue,X.suggestions??[])}catch{t(Ue,[])}}}let Ge=s(),Pe=s([]);function Le(){if(!e(l))return;const c=[...e(S)].reverse().find(X=>X.kind==="user"),x=c==null?void 0:c.text;x&&he.sendMessage({sessionId:e(l),text:x,clientId:`web_${Date.now()}`})}Qt(()=>{me=new ResizeObserver(()=>{e(u)&&(document.documentElement.style.setProperty("--composer-h",`${e(u).offsetHeight}px`),e(G)&&be()),e(d)&&document.documentElement.style.setProperty("--sbw",`${e(d).offsetWidth-e(d).clientWidth}px`)}),e(u)&&me.observe(e(u)),e(d)&&me.observe(e(d)),F=new IntersectionObserver(X=>{if(!e(G)||!X.some(Se=>!Se.isIntersecting))return;e(d).scrollHeight-e(d).scrollTop-e(d).clientHeight<=24?requestAnimationFrame(be):t(G,!1)},{root:e(d),threshold:0}),e(C)&&F.observe(e(C));const c=window.visualViewport,x=()=>{e(G)&&requestAnimationFrame(be)};c==null||c.addEventListener("resize",x),U=()=>c==null?void 0:c.removeEventListener("resize",x)}),Gt(()=>{me==null||me.disconnect(),F==null||F.disconnect(),U==null||U(),e(p)&&clearInterval(e(p))}),g(()=>R(),()=>{t(l,R().params.sessionId??"")}),g(()=>(e(l),e(J)),()=>{e(l)&&e(l)!==e(J)&&(t(J,e(l)),t(z,ae),t(oe,0),t(we,!0),t(f,!1))}),g(()=>(I(),e(l)),()=>{t(k,I()[e(l)])}),g(()=>e(k),()=>{t(b,!e(k)||e(k).order.length===0?!1:e(k).order.some(c=>{var X;const x=(X=e(k).byId[c])==null?void 0:X.kind;return x==="thinking"||x==="streaming"||x==="think-stream"}))}),g(()=>(e(b),e(Z)),()=>{e(b)&&e(Z)&&t(Z,void 0)}),g(()=>e(k),()=>{t(S,Xt(e(k)))}),g(()=>(e(Z),e(S)),()=>{t(_e,e(Z)?(()=>{let c=-1;for(let x=e(S).length-1;x>=0;x--)if(e(S)[x].messageId===e(Z)){c=x;break}return c===-1?e(S):e(S).slice(0,c)})():e(S))}),g(()=>(e(z),e(_e)),()=>{t(P,e(z)>=e(_e).length?e(_e):e(_e).slice(-e(z)))}),g(()=>(Q(),e(l)),()=>{t(O,Q().find(c=>c.id===e(l)))}),g(()=>e(O),()=>{var c;t(ve,(c=e(O))!=null&&c.directory&&e(O).directory.replace(/\/+$/,"").split("/").pop()||"")}),g(()=>(e(b),e(ue),e(l),e(L),e(p)),()=>{e(b)?(e(ue)!==e(l)&&(t(ue,e(l)),t(L,0)),!e(L)&&typeof window<"u"&&(t(L,Date.now()),t(Y,0),e(p)&&clearInterval(e(p)),t(p,setInterval(()=>{t(Y,Math.floor((Date.now()-e(L))/1e3))},1e3)))):(t(L,0),t(Y,0),t(ue,""),e(p)&&(clearInterval(e(p)),t(p,void 0)))}),g(()=>e(S),()=>{t(V,e(S).length?e(S)[e(S).length-1]:null)}),g(()=>e(l),()=>{e(l)&&(e(l),w(e(l)))}),g(()=>(e(b),e(V),e(l)),()=>{var c;!e(b)&&((c=e(V))==null?void 0:c.kind)==="assistant"&&e(l)&&e(V).id&&_t(e(l),e(V).id)}),g(()=>(e(l),e(Ge)),()=>{e(l)!==e(Ge)&&(t(Ge,e(l)),t(Re,!1))}),g(()=>(e(b),e(Re),ee(),e(k),B(),e(Ue),e(S)),()=>{e(b)||e(Re)||!ee()||!e(k)||B()?t(Pe,[]):e(Ue).length>0?t(Pe,e(Ue)):e(S).length===0?t(Pe,fe):t(Pe,[])}),g(()=>(e(l),e(k),e(S)),()=>{var c;t(te,`${e(l)}:${((c=e(k))==null?void 0:c.lastSeq)??0}:${e(S).length}`)}),g(()=>(e(te),e(le),e(G)),()=>{e(te)!==e(le)&&(t(le,e(te)),Nt().then(()=>{e(G)&&be()}))}),St(),kt();var ze=wn(),Ze=Be(ze),dt=n(Ze),vt=n(dt),$t=n(vt),v=r($t,2);{var o=c=>{var x=vn();$("click",x,()=>la.set(!0)),m(c,x)};j(v,c=>{y()||c(o)})}var _=r(v,2);Ps(_,{get activeId(){return e(l)}});var q=r(_,2);{var W=c=>{var x=un(),X=n(x,!0);a(x),D(()=>T(X,e(ve))),m(c,x)};j(q,c=>{e(ve)&&c(W)})}a(vt);var A=r(vt,2),ge=n(A);{var Ce=c=>{var x=fn(),X=r(n(x));a(x),D(He=>T(X,` 运行中 ${He??""}`),[()=>(e(Y),i(()=>qe(e(Y))))]),m(c,x)},ut=c=>{var x=mn(),X=Be(x);{var He=Se=>{var Fe=pn();$("click",Fe,N),m(Se,Fe)};j(X,Se=>{e(de)&&Se(He)})}qt(2),m(c,x)};j(ge,c=>{e(b)?c(Ce):c(ut,-1)})}var Te=r(ge,2),ke=r(Te,2);a(A),a(dt);var De=r(dt,2);let Qe;var et=n(De);{var it=c=>{var x=hn(),X=n(x,!0);a(x),D(()=>{x.disabled=e(f),T(X,e(f)?"加载中…":"加载更早消息")}),$("click",x,ce),m(c,x)};j(et,c=>{e(S),e(z),e(we),i(()=>e(S).length>0&&(e(S).length>e(z)||e(we)))&&c(it)})}var lt=r(et,2);Oe(lt,1,()=>e(P),c=>c.id,(c,x)=>{const X=Lt(()=>(e(x),e(V),e(b),i(()=>{var Se;return e(x).id===((Se=e(V))==null?void 0:Se.id)&&e(x).kind==="assistant"&&!e(b)}))),He=Lt(()=>($e(e(X)),e(V),i(()=>{var Se;return e(X)&&((Se=e(V))==null?void 0:Se.kind)==="assistant"?e(V).messageId:void 0})));{let Se=Lt(()=>e(X)?Ve:void 0),Fe=Lt(()=>e(X)&&e(He)?()=>Ae(e(He)):void 0);La(c,{get card(){return e(x)},onRetry:Le,get onRegenerate(){return e(Se)},get onRevert(){return e(Fe)}})}});var ot=r(lt,2);Ye(ot,c=>t(C,c),()=>e(C));var ct=r(ot,2);{var Ct=c=>{var x=Tt(),X=Be(x);{var He=Fe=>{var Ot=_n();m(Fe,Ot)},Se=Fe=>{var Ot=bn();m(Fe,Ot)};j(X,Fe=>{e(k)?Fe(Se,-1):Fe(He)})}m(c,x)};j(ct,c=>{e(S),i(()=>e(S).length===0)&&c(Ct)})}a(De),a(Ze),Ye(Ze,c=>t(d,c),()=>e(d));var tt=r(Ze,2);{var Et=c=>{var x=gn();$("click",x,be),m(c,x)};j(tt,c=>{e(G),e(S),i(()=>!e(G)&&e(S).length>0)&&c(Et)})}var bt=r(tt,2),jt=n(bt);Na(jt,{get suggestions(){return e(Pe)},onPick:c=>Zt.set({text:c,nonce:Date.now()}),onDismiss:()=>{t(Re,!0),t(Pe,[])}});var Jt=r(jt,2);Ds(Jt,{get sessionId(){return e(l)}}),a(bt),Ye(bt,c=>t(u,c),()=>e(u));var Bt=r(bt,2);dn(Bt,{get sessionId(){return e(l)},onJump:c=>Vt("/"+c)}),D(()=>Qe=st(De,1,"stream conversation-emerald svelte-eho102",null,Qe,{suppressed:E()})),$("click",$t,()=>Vt("/")),$("click",Te,()=>Kt.update(c=>!c)),$("click",ke,()=>Kt.update(c=>!c)),$("scroll",Ze,ye),m(Ie,ze),yt(),H()}export{Mn as component};
@@ -1 +1 @@
1
- {"version":"1791008157934"}
1
+ {"version":"1791015708664"}
@@ -26,34 +26,34 @@
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.iyh5J1fV.js" rel="modulepreload">
30
- <link href="/_app/immutable/chunks/D4KcrFaB.js" rel="modulepreload">
29
+ <link href="/_app/immutable/entry/start.DUqZmZ3b.js" rel="modulepreload">
30
+ <link href="/_app/immutable/chunks/DF3ib-en.js" rel="modulepreload">
31
31
  <link href="/_app/immutable/chunks/BjY4dxcB.js" rel="modulepreload">
32
- <link href="/_app/immutable/entry/app.CZ1lhfAO.js" rel="modulepreload">
32
+ <link href="/_app/immutable/entry/app.CmGLVNRN.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.CIJ-EwcE.js" rel="modulepreload">
38
- <link href="/_app/immutable/chunks/t4ji6lDi.js" rel="modulepreload">
39
- <link href="/_app/immutable/chunks/Dejl-Sns.js" rel="modulepreload">
37
+ <link href="/_app/immutable/nodes/0.CwQ5RDgo.js" rel="modulepreload">
38
+ <link href="/_app/immutable/chunks/DyVtfOqD.js" rel="modulepreload">
39
+ <link href="/_app/immutable/chunks/c6A4nCs6.js" rel="modulepreload">
40
40
 
41
41
  <link href="/_app/immutable/assets/summarizeTodos.BnVisgSs.css" rel="stylesheet">
42
- <link href="/_app/immutable/assets/0.DNcjEOa9.css" rel="stylesheet">
42
+ <link href="/_app/immutable/assets/0.Bf4ukRCF.css" rel="stylesheet">
43
43
  </head>
44
44
  <body data-sveltekit-preload-data="hover">
45
45
  <div style="display: contents">
46
46
  <script>
47
47
  {
48
- __sveltekit_1ujdjb2 = {
48
+ __sveltekit_1kwas0k = {
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.iyh5J1fV.js"),
56
- import("/_app/immutable/entry/app.CZ1lhfAO.js")
55
+ import("/_app/immutable/entry/start.DUqZmZ3b.js"),
56
+ import("/_app/immutable/entry/app.CmGLVNRN.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.CZ1lhfAO.js",a+"/_app/immutable/nodes/0.CIJ-EwcE.js",a+"/_app/immutable/assets/0.DNcjEOa9.css",a+"/_app/immutable/nodes/1.BS8zFJnm.js",a+"/_app/immutable/nodes/2.Cx209Sb4.js",a+"/_app/immutable/assets/2.BNuGfmZP.css",a+"/_app/immutable/nodes/3.BkfW0p9W.js",a+"/_app/immutable/assets/3.BAwvOE6a.css",a+"/_app/immutable/assets/summarizeTodos.BnVisgSs.css",a+"/_app/immutable/chunks/BjY4dxcB.js",a+"/_app/immutable/chunks/C1FmrZbK.js",a+"/_app/immutable/chunks/CWj6FrbW.js",a+"/_app/immutable/chunks/Chcp5gAM.js",a+"/_app/immutable/chunks/D4KcrFaB.js",a+"/_app/immutable/chunks/Dejl-Sns.js",a+"/_app/immutable/chunks/t4ji6lDi.js",a+"/_app/immutable/chunks/vlg9iH2u.js",a+"/_app/immutable/entry/start.iyh5J1fV.js"],l=[a+"/apple-touch-icon.png",a+"/favicon.png",a+"/favicon.svg",a+"/icon-192.png",a+"/icon-512-maskable.png",a+"/icon-512.png",a+"/manifest.webmanifest"],o="1791008157934",n=self,i=`ocrc-cache-${o}`,p=[...m,...l];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
+ const a=location.pathname.split("/").slice(0,-1).join("/"),m=[a+"/_app/immutable/entry/app.CmGLVNRN.js",a+"/_app/immutable/nodes/0.CwQ5RDgo.js",a+"/_app/immutable/assets/0.Bf4ukRCF.css",a+"/_app/immutable/nodes/1.g6CSzD_6.js",a+"/_app/immutable/nodes/2.DXRH2cWR.js",a+"/_app/immutable/assets/2.BNuGfmZP.css",a+"/_app/immutable/nodes/3.zTD1c47I.js",a+"/_app/immutable/assets/3.sWLfsaJ-.css",a+"/_app/immutable/assets/summarizeTodos.BnVisgSs.css",a+"/_app/immutable/chunks/BjY4dxcB.js",a+"/_app/immutable/chunks/C1FmrZbK.js",a+"/_app/immutable/chunks/CWj6FrbW.js",a+"/_app/immutable/chunks/Chcp5gAM.js",a+"/_app/immutable/chunks/DF3ib-en.js",a+"/_app/immutable/chunks/DyVtfOqD.js",a+"/_app/immutable/chunks/c6A4nCs6.js",a+"/_app/immutable/chunks/vlg9iH2u.js",a+"/_app/immutable/entry/start.DUqZmZ3b.js"],o=[a+"/apple-touch-icon.png",a+"/favicon.png",a+"/favicon.svg",a+"/icon-192.png",a+"/icon-512-maskable.png",a+"/icon-512.png",a+"/manifest.webmanifest"],u="1791015708664",n=self,i=`ocrc-cache-${u}`,p=[...m,...o];n.addEventListener("install",e=>{e.waitUntil(caches.open(i).then(s=>s.addAll(p.map(t=>new Request(t,{cache:"reload"})))).then(()=>n.skipWaiting()))});n.addEventListener("activate",e=>{e.waitUntil((async()=>{for(const s of await caches.keys())s!==i&&await caches.delete(s);await n.clients.claim()})())});n.addEventListener("fetch",e=>{const{request:s}=e;if(s.method!=="GET")return;const t=new URL(s.url);if(t.origin===location.origin&&!(t.pathname.startsWith("/api/")||t.pathname==="/ws")){if(p.includes(t.pathname)){e.respondWith(caches.match(s).then(c=>c??fetch(s)));return}e.respondWith((async()=>{try{return await fetch(s)}catch{return await caches.match(s)??await caches.match("/")??Response.error()}})())}});
@@ -1 +0,0 @@
1
- :root{color-scheme:dark;--bg: #0d0d0d;--bg-panel: #121212;--bg-elev: #171717;--bg-elev2: #1f1f1f;--bg-input: #101010;--border: #262626;--border-2: #1f1f1f;--text: #f5f4f0;--text-2: #c9c7c1;--text-3: #8c877d;--text-4: #7a766e;--accent: #fb8b3c;--accent-2: #2a1c10;--accent-ink:#211307;--accent-line:#7a4416;--user-bubble: #2b2a27;--user-ink: #f0efe9;--bubbleline:#3a3833;--cv: var(--accent);--cv-2: var(--accent-2);--cv-ink: var(--accent-ink);--cv-line: var(--accent-line);--cv-bubble: var(--user-bubble);--ok: #6ee7a0;--warn: #ffd479;--err: #f97066;--info: #8ab4ff;--hl-purple: #b48cf0;--hl-green: #6cc08b;--hl-cyan: #4ec9b0;--hl-orange: #dca87a;--hl-yellow: #ffd479;--hl-gray: #8c877d;--role-gold: #f5b301;--role-blue: #6f9ffa;--role-green: #58c08c;--role-silver: #cdd6e6;--bg-code: #0f0f0f;--toolcmd: #e8e6e0;--toolout: #a3a09a;--scrim: rgba(0, 0, 0, .5);--ease: cubic-bezier(.2, 0, 0, 1);--radius: 14px;--radius-sm: 9px;--radius-xs: 6px;--radius-tail: 4px;--radius-bar: 2px;--radius-pill: 999px;--shadow-card: 0 1px 4px rgba(0, 0, 0, .35);--shadow-composer: 0 6px 24px rgba(0, 0, 0, .4);--shadow-palette: 0 24px 70px rgba(0, 0, 0, .6);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-serif: "Noto Serif CJK SC", "Source Han Serif SC", "DejaVu Serif", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--z-sticky: 5;--z-hud: 8;--z-dropdown: 10;--z-backdrop: 25;--z-drawer: 30;--z-sheet: 35;--z-fab: 42;--z-popover: 50;--z-overlay: 200;--z-modal: 300;--z-gate: 500}:root[data-theme=light]{color-scheme:light;--bg: #f2efe8;--bg-panel: #efede5;--bg-canvas: #fbfbfa;--bg-elev: #ffffff;--bg-elev2: #f2f1ed;--bg-input: #f6f5f2;--border: #e4e3df;--border-2: #edece9;--text: #1d1c1a;--text-2: #43413d;--text-3: #8a8884;--text-4: #6e6d69;--accent: #e4580f;--accent-2: #fdeee3;--accent-ink:#1c1b18;--accent-line:#f0c9ac;--user-bubble: #efeeea;--user-ink: #1d1c1a;--bubbleline:#e2e1dc;--ok: #1f7a3d;--warn: #9a6b00;--err: #c2372c;--info: #2456a6;--hl-purple: #8250df;--hl-green: #116329;--hl-cyan: #0e7a8d;--hl-orange: #b65708;--hl-yellow: #9a6700;--hl-gray: #6e7781;--role-gold: #d99e00;--role-blue: #3a6fd8;--role-green: #2f9d68;--role-silver: #8a877e;--bg-code: #f4f2ec;--toolcmd: #1c1b18;--toolout: #57534e;--scrim: rgba(28, 27, 24, .32);--shadow-card: 0 1px 3px rgba(28, 27, 24, .06);--shadow-composer: 0 4px 18px rgba(28, 27, 24, .08);--shadow-palette: 0 24px 70px rgba(28, 27, 24, .18)}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){color-scheme:light;--bg: #f2efe8;--bg-panel: #efede5;--bg-canvas: #fbfbfa;--bg-elev: #ffffff;--bg-elev2: #f2f1ed;--bg-input: #f6f5f2;--border: #e4e3df;--border-2: #edece9;--text: #1d1c1a;--text-2: #43413d;--text-3: #8a8884;--text-4: #6e6d69;--accent: #e4580f;--accent-2: #fdeee3;--accent-ink:#1c1b18;--accent-line:#f0c9ac;--user-bubble: #efeeea;--user-ink: #1d1c1a;--bubbleline:#e2e1dc;--ok: #1f7a3d;--warn: #9a6b00;--err: #c2372c;--info: #2456a6;--hl-purple: #8250df;--hl-green: #116329;--hl-cyan: #0e7a8d;--hl-orange: #b65708;--hl-yellow: #9a6700;--hl-gray: #6e7781;--role-gold: #d99e00;--role-blue: #3a6fd8;--role-green: #2f9d68;--role-silver: #8a877e;--bg-code: #f4f2ec;--toolcmd: #1c1b18;--toolout: #57534e;--scrim: rgba(28, 27, 24, .32);--shadow-card: 0 1px 3px rgba(28, 27, 24, .06);--shadow-composer: 0 4px 18px rgba(28, 27, 24, .08);--shadow-palette: 0 24px 70px rgba(28, 27, 24, .18)}}@media (min-width: 821px){:root[data-theme=light]{--bg: #f7f7f8;--bg-panel: #f4f4f5;--bg-canvas: #ffffff;--bg-elev: #ffffff;--bg-elev2: #f4f4f5;--bg-input: #ffffff;--border: #e4e4e7;--border-2: #ececee;--user-bubble: #f4f4f5;--bubbleline:#e4e4e7;--bg-code: #f6f6f7}}@media (prefers-color-scheme: light) and (min-width: 821px){:root:not([data-theme=dark]){--bg: #f7f7f8;--bg-panel: #f4f4f5;--bg-canvas: #ffffff;--bg-elev: #ffffff;--bg-elev2: #f4f4f5;--bg-input: #ffffff;--border: #e4e4e7;--border-2: #ececee;--user-bubble: #f4f4f5;--bubbleline:#e4e4e7;--bg-code: #f6f6f7}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}button:focus{outline:none}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:inherit}a:focus{outline:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:inherit}:root{--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-enter: .2s}@keyframes ocrc-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ocrc-rise-sm{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes ocrc-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes ocrc-fade{0%{opacity:0}to{opacity:1}}:root[data-accent=azure]{--accent: #6f9ffa;--accent-2: #16202f;--accent-ink: #071120;--accent-line: #31527e}:root[data-accent=amber]{--accent: #ffc34d;--accent-2: #2a2110;--accent-ink: #1f1503;--accent-line: #8a6a26}:root[data-accent=violet]{--accent: #b48cf0;--accent-2: #1d1733;--accent-ink: #0f0820;--accent-line: #5a4790}:root[data-theme=light][data-accent=azure]{--accent: #2f6bcc;--accent-2: #e8f0fc;--accent-ink: #ffffff;--accent-line: #b9d0f2}:root[data-theme=light][data-accent=amber]{--accent: #b57f00;--accent-2: #faf0d8;--accent-ink: #ffffff;--accent-line: #ecd9a8}:root[data-theme=light][data-accent=violet]{--accent: #7a4fd0;--accent-2: #f0eafc;--accent-ink: #ffffff;--accent-line: #d4c5f2}@media (prefers-color-scheme: light){:root:not([data-theme=dark])[data-accent=azure]{--accent: #2f6bcc;--accent-2: #e8f0fc;--accent-ink: #ffffff;--accent-line: #b9d0f2}:root:not([data-theme=dark])[data-accent=amber]{--accent: #b57f00;--accent-2: #faf0d8;--accent-ink: #ffffff;--accent-line: #ecd9a8}:root:not([data-theme=dark])[data-accent=violet]{--accent: #7a4fd0;--accent-2: #f0eafc;--accent-ink: #ffffff;--accent-line: #d4c5f2}}html{background:var(--bg)}html,body{height:100vh}button{transition:opacity .12s var(--ease, ease),transform .12s var(--ease, ease)}button:active:not(:disabled){opacity:.78}body{margin:0;overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%;background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-size:10px}.mono{font-family:var(--font-mono)}.conversation-emerald{--accent: var(--cv);--accent-2: var(--cv-2);--accent-ink: var(--cv-ink);--accent-line: var(--cv-line);--user-bubble: var(--cv-bubble)}.md .hljs-string,.md .hljs-regexp,.md .hljs-addition{color:var(--hl-green)}.md .hljs-keyword,.md .hljs-selector-tag,.md .hljs-type{color:var(--hl-purple)}.md .hljs-title.function_,.md .hljs-title.class_.invoke__,.md .hljs-function>.hljs-title{color:var(--hl-yellow)}.md .hljs-title.class_,.md .hljs-built_in{color:var(--hl-cyan)}.md .hljs-number,.md .hljs-literal,.md .hljs-variable.constant_{color:var(--hl-orange)}.md .hljs-comment,.md .hljs-deletion,.md .hljs-meta{color:var(--hl-gray)}.md .hljs-attr,.md .hljs-attribute,.md .hljs-selector-attr,.md .hljs-selector-class{color:var(--hl-green)}.md .hljs-punctuation,.md .hljs-params,.md .hljs-property,.md .hljs-symbol{color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--text-4);background-clip:content-box}@keyframes ocrc-pulse{0%,to{opacity:1}50%{opacity:.28}}@keyframes ocrc-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes ocrc-ring{0%{transform:scale(.6);opacity:.7}to{transform:scale(2.2);opacity:0}}@keyframes ocrc-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.titlebar.svelte-hhath1{display:flex;align-items:center;gap:12px;height:calc(52px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 16px 0;box-sizing:border-box;border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0;font-size:13px}.brand.svelte-hhath1{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-mark.svelte-hhath1{width:27px;height:27px;flex-shrink:0}.wordmark.svelte-hhath1{font-family:var(--font-serif);font-size:15.5px;letter-spacing:.01em;display:inline-flex;align-items:baseline;gap:5px}.wordmark.svelte-hhath1 b:where(.svelte-hhath1){font-weight:700;color:var(--text)}.new-session.svelte-hhath1{display:inline-flex;align-items:center;gap:5px;background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--radius-pill);padding:5px 11px;font-size:12px;font-weight:650;cursor:pointer;flex-shrink:0;transition:opacity .12s ease,transform .12s ease}.new-session.svelte-hhath1:hover:not(:disabled){opacity:.9}.new-session.svelte-hhath1:disabled{opacity:.5;cursor:default}.new-icon.svelte-hhath1{font-size:14px;line-height:1}.new-label.svelte-hhath1{white-space:nowrap}.new-caret.svelte-hhath1{font-size:9px;line-height:1;margin-left:2px;opacity:.85}.palette-trigger.svelte-hhath1{display:flex;align-items:center;gap:8px;min-width:230px;max-width:min(340px,calc(100vw - 32px));background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-3);padding:5px 10px;font-size:12.5px;cursor:text;transition:border-color .15s ease,color .15s ease}.palette-trigger.svelte-hhath1:hover{border-color:var(--text-3);color:var(--text-2)}.palette-icon.svelte-hhath1{font-size:14px;opacity:.85}.palette-label.svelte-hhath1{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-keycap.svelte-hhath1{font-size:10px;color:var(--text-3);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-xs);padding:2px 5px}.spacer.svelte-hhath1{flex:1}.themebtn.svelte-hhath1{display:inline-grid;place-items:center;width:28px;height:28px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);font-size:14px;line-height:1;cursor:pointer;flex-shrink:0;transition:color .12s ease,border-color .12s ease}.themebtn.svelte-hhath1:hover{color:var(--text);border-color:var(--text-4)}.connection-pill.svelte-hhath1{display:inline-flex;align-items:center;gap:7px;border-radius:var(--radius-pill);background:var(--bg-elev);border:1px solid var(--border);padding:4px 10px;flex-shrink:0}.dot-wrap.svelte-hhath1{position:relative;width:10px;height:10px;display:grid;place-items:center}.dot.svelte-hhath1{width:7px;height:7px;border-radius:50%;background:var(--text-4);flex-shrink:0}.dot-ring.svelte-hhath1{position:absolute;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--ok);opacity:0;animation:ocrc-ring 1.6s ease-out infinite;pointer-events:none}.connection-pill.connected.svelte-hhath1 .dot:where(.svelte-hhath1){background:var(--ok);box-shadow:0 0 7px var(--ok)}.connection-pill.reconnecting.svelte-hhath1 .dot:where(.svelte-hhath1){background:var(--warn);animation:ocrc-pulse 1.2s ease-in-out infinite}.connection-pill.offline.svelte-hhath1 .dot:where(.svelte-hhath1){background:transparent;border:1.5px solid var(--text-4)}.connection-state.svelte-hhath1{font-weight:600;color:var(--text-3)}.connection-pill.connected.svelte-hhath1 .connection-state:where(.svelte-hhath1){color:var(--ok)}.connection-pill.reconnecting.svelte-hhath1 .connection-state:where(.svelte-hhath1){color:var(--warn)}.connection-pill.offline.svelte-hhath1 .connection-state:where(.svelte-hhath1){color:var(--err)}.connection-latency.svelte-hhath1{color:var(--text-3);font-size:10.5px}.install.svelte-hhath1{background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--radius-pill);padding:4px 12px;font-size:.8em;font-weight:600;cursor:pointer;flex-shrink:0}.user.svelte-hhath1{display:flex;align-items:center;gap:10px;flex-shrink:0}.user-email.svelte-hhath1{color:var(--text-3);font-size:12px}.avatar.svelte-hhath1{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--accent-2);color:var(--accent);border:1px solid var(--accent-line);font-size:11px;font-weight:700}.iconbtn.svelte-hhath1{display:none;background:transparent;border:none;color:var(--text-2);font-size:18px;line-height:1;padding:4px 6px;cursor:pointer;border-radius:var(--radius-pill)}.iconbtn.svelte-hhath1:hover{color:var(--text);background:var(--bg-elev)}.iconbtn.active.svelte-hhath1{color:var(--accent);background:var(--accent-2)}@media (pointer: coarse){.themebtn.svelte-hhath1{width:36px;height:36px}}@media (max-width: 820px){.palette-trigger.svelte-hhath1,.user-email.svelte-hhath1,.new-session.svelte-hhath1,.new-label.svelte-hhath1,.iconbtn.svelte-hhath1,.user.svelte-hhath1{display:none}}@media (min-width: 821px){.channels-btn.svelte-hhath1,.theme-btn.svelte-hhath1,.user.svelte-hhath1{display:none}}.banner.svelte-l46k7l{text-align:center;font-size:.8em;padding:4px 8px;background:color-mix(in srgb,var(--warn) 14%,var(--bg));color:var(--warn);border-bottom:1px solid color-mix(in srgb,var(--warn) 32%,transparent);animation:svelte-l46k7l-banner-drop .18s var(--ease-out, ease-out)}@keyframes svelte-l46k7l-banner-drop{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.banner.offline.svelte-l46k7l{background:color-mix(in srgb,var(--err) 14%,var(--bg));color:var(--err);border-bottom-color:color-mix(in srgb,var(--err) 32%,transparent)}.sidebar.svelte-1h8243g{width:100%;box-sizing:border-box;background:var(--bg-panel);overflow-y:auto;display:flex;flex-direction:column;padding:4px 8px 8px;gap:2px}.group-header.svelte-1h8243g{display:flex;align-items:center;gap:8px;padding:10px 8px 6px;color:var(--text-4);font-size:10px;text-transform:uppercase;letter-spacing:.16em}.gh-label.svelte-1h8243g{flex-shrink:0}.gh-line.svelte-1h8243g{flex:1;height:1px;background:var(--border-2);opacity:.7}.gh-count.svelte-1h8243g{flex-shrink:0;font-variant-numeric:tabular-nums}.session.svelte-1h8243g{position:relative;display:block;text-decoration:none;padding:9px 12px 9px 16px;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:background .12s ease}.session.svelte-1h8243g:hover{background:var(--bg-elev)}.session.active.svelte-1h8243g{background:var(--bg-elev2)}.session.active.svelte-1h8243g:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:2.5px;border-radius:var(--radius-bar);background:var(--accent)}.line1.svelte-1h8243g{display:flex;align-items:center;gap:7px}.sr-only.svelte-1h8243g{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dot.svelte-1h8243g{width:7px;height:7px;border-radius:50%;border:1.5px solid transparent;flex-shrink:0;box-sizing:border-box}.dot.busy.svelte-1h8243g{background:var(--accent);border-color:var(--accent);animation:ocrc-pulse 1.2s ease-in-out infinite}.dot.wait.svelte-1h8243g{background:var(--warn);border-color:var(--warn)}.dot.idle.svelte-1h8243g{background:var(--ok);border-color:var(--ok)}.dot.offline.svelte-1h8243g{background:transparent;border:1.5px solid var(--text-4)}.title.svelte-1h8243g{flex:1;font-size:13px;font-weight:600;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session.active.svelte-1h8243g .title:where(.svelte-1h8243g){color:var(--text)}.pin-dot.svelte-1h8243g{flex-shrink:0;font-size:7px;color:var(--accent);line-height:1}.rename-input.svelte-1h8243g{flex:1;min-width:0;font-size:16px;font-weight:600;color:var(--text);background:var(--bg-panel);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:1px 6px;outline:none;font-family:inherit}.rename-input.svelte-1h8243g:disabled{opacity:.6}.actions.svelte-1h8243g{display:inline-flex;gap:1px;flex-shrink:0}.act.svelte-1h8243g{display:inline-flex;background:transparent;border:none;color:var(--text-3);cursor:pointer;padding:2px;opacity:0;transition:opacity .12s ease,color .12s ease}.session.svelte-1h8243g:hover .act:where(.svelte-1h8243g){opacity:.65}.session.svelte-1h8243g:focus-within .act:where(.svelte-1h8243g){opacity:.65}.act.svelte-1h8243g:hover{opacity:1}.act.pin.svelte-1h8243g:hover{color:var(--text)}.act.rename.svelte-1h8243g:hover{color:var(--accent)}.act.pin.on.svelte-1h8243g{opacity:1;color:var(--accent)}.act.trash.svelte-1h8243g:hover{color:var(--err)}.act.svelte-1h8243g:disabled{opacity:.4;cursor:default}.act.mmore.svelte-1h8243g,.rowmenu.svelte-1h8243g{display:none}@media (hover: none),(max-width: 820px){.act.svelte-1h8243g{opacity:.6;padding:8px;min-width:40px;min-height:40px;align-items:center;justify-content:center}.act.rename.svelte-1h8243g,.act.pin.svelte-1h8243g,.act.trash.svelte-1h8243g{display:none}.act.mmore.svelte-1h8243g{display:inline-flex;opacity:.7}.act.mmore.on.svelte-1h8243g{opacity:1;color:var(--text)}.actions.svelte-1h8243g{gap:2px;position:relative}.rowmenu.svelte-1h8243g{position:absolute;right:0;top:calc(100% + 2px);min-width:140px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 14px 36px #0000004d;padding:4px;z-index:var(--z-popover);display:flex;flex-direction:column;animation:ocrc-pop .14s var(--ease-out, ease-out)}.rowmenu.svelte-1h8243g button:where(.svelte-1h8243g){display:block;width:100%;padding:9px 12px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-2);font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.rowmenu.svelte-1h8243g button:where(.svelte-1h8243g):hover{background:var(--bg-input);color:var(--text)}.rowmenu.svelte-1h8243g button.danger:where(.svelte-1h8243g){color:var(--err)}}.meta.svelte-1h8243g{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:10.5px;color:var(--text-3);margin:4px 0 0 16px}.sep.svelte-1h8243g{color:var(--border)}.id.svelte-1h8243g,.repo.svelte-1h8243g{color:var(--text-2)}.add.svelte-1h8243g{color:var(--ok)}.del.svelte-1h8243g{color:var(--err)}.empty.svelte-1h8243g{padding:16px 12px;color:var(--text-3);font-size:11px}.progress.svelte-1h8243g{height:3px;margin-top:8px;background:var(--border-2);border-radius:var(--radius-bar);overflow:hidden}.progress-fill.svelte-1h8243g{display:block;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,var(--accent) 50%,transparent 100%);background-size:200% 100%;animation:ocrc-shimmer 1.4s linear infinite}.rail-foot.svelte-aqr1j0{display:flex;align-items:center;gap:7px;padding:8px 10px;border-top:1px solid var(--border-2);min-width:0}.avatar.svelte-aqr1j0{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--bg-elev);border:1px solid var(--border-2);color:var(--text-2);font-size:10px;font-weight:700}.who.svelte-aqr1j0{flex:1;min-width:0;font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp.svelte-aqr1j0{flex:0 0 auto}.fbtn.svelte-aqr1j0{flex-shrink:0;display:inline-grid;place-items:center;width:24px;height:24px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-3);cursor:pointer;transition:color .12s ease}.fbtn.svelte-aqr1j0:hover{color:var(--text);background:var(--bg-input)}.fbtn.svelte-aqr1j0 svg:where(.svelte-aqr1j0){width:14px;height:14px}.agent-panel.svelte-wmno67{display:flex;height:100%;background:var(--bg-panel);border-right:1px solid var(--border-2);flex-shrink:0}.agent-panel.drawer.svelte-wmno67{width:100%;border-right:none}.panel.svelte-wmno67{display:flex;flex-direction:column;width:100%;min-width:0}.header.svelte-wmno67{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 10px;border-bottom:1px solid var(--border-2);flex-shrink:0}.agent-pill.svelte-wmno67{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}.agent-pill.svelte-wmno67:hover{border-color:var(--accent);background:var(--bg-elev2)}.glyph-tile.svelte-wmno67{width:24px;height:24px;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-wmno67{width:7px;height:7px;border-radius:50%;border:1.5px solid transparent;flex-shrink:0;box-sizing:border-box}.sr-only.svelte-wmno67{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-wmno67{background:var(--dot, var(--ok));border-color:var(--dot, var(--ok))}.status-dot.connecting.svelte-wmno67{background:var(--warn);border-color:var(--warn);animation:ocrc-pulse 1.2s ease-in-out infinite}.status-dot.offline.svelte-wmno67{background:transparent;border:1.5px solid var(--text-4)}.name.svelte-wmno67{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.host.svelte-wmno67{font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.caret.svelte-wmno67{font-size:9px;color:var(--text-3);flex-shrink:0}.collapse.svelte-wmno67{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease;flex-shrink:0}.collapse.svelte-wmno67:hover{color:var(--text);background:var(--bg-elev);border-color:var(--border)}.picker.svelte-wmno67{position:absolute;top:calc(100% + 6px);left:12px;right:12px;width:auto;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-wmno67-ocrc-pop .14s ease}@keyframes svelte-wmno67-ocrc-pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.picker-list.svelte-wmno67{max-height:320px;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:2px}.agent-row.svelte-wmno67{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}.agent-row.svelte-wmno67:hover,.agent-row.selected.svelte-wmno67{background:var(--accent-2)}.row-tile.svelte-wmno67{width:30px;height:30px;display:inline-grid;place-items:center;border-radius:var(--radius-xs);border:1px solid transparent;font-family:var(--font-mono);font-size:11px;font-weight:700;flex-shrink:0}.row-info.svelte-wmno67{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.row-name.svelte-wmno67{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-host.svelte-wmno67{font-size:10.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.check.svelte-wmno67{font-size:13px;color:var(--accent);flex-shrink:0}.picker-footer.svelte-wmno67{border-top:1px solid var(--border);padding:10px}.theme-row.svelte-wmno67{display:flex;flex-direction:column;gap:8px}.theme-label.svelte-wmno67{font-size:10.5px;color:var(--text-3)}.swatches.svelte-wmno67{display:flex;align-items:center;gap:8px}.swatch.svelte-wmno67{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.swatch.svelte-wmno67:hover{transform:scale(1.1)}.swatch.active.svelte-wmno67{border-color:var(--text)}.auto.svelte-wmno67{margin-left:auto;padding:3px 9px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-3);font-family:var(--font-mono);font-size:10.5px;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.auto.svelte-wmno67:hover,.auto.active.svelte-wmno67{color:var(--text);border-color:var(--accent);background:var(--accent-2)}.agents-label.svelte-wmno67{padding:12px 14px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--text-3)}.mobile-search.svelte-wmno67{display:flex;align-items:center;gap:8px;margin:6px 12px 8px;padding:10px 12px;width:calc(100% - 24px);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;font-size:13px;font-family:var(--font-sans);text-align:left}.mobile-search.svelte-wmno67:hover{border-color:var(--text-4)}.switcher-row.svelte-wmno67{display:flex;gap:7px;padding:10px 12px;overflow-x:auto;border-bottom:1px solid var(--border-2);flex-shrink:0;scrollbar-width:none}.switcher-row.svelte-wmno67::-webkit-scrollbar{display:none}.switch-pill.svelte-wmno67{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:5px 10px 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}.switch-pill.active.svelte-wmno67{background:var(--accent-2);border-color:var(--accent)}.switch-tile.svelte-wmno67{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:var(--radius-xs);border:1px solid transparent;font-family:var(--font-mono);font-size:9.5px;font-weight:700;flex-shrink:0}.switch-name.svelte-wmno67{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap}.switch-count.svelte-wmno67{font-size:10px;color:var(--text-3);background:var(--bg);border-radius:var(--radius-xs);padding:1px 6px}.list.svelte-wmno67{flex:1;overflow-y:auto;min-height:0}.footer.svelte-wmno67{display:flex;align-items:center;gap:7px;padding:10px max(20px,env(safe-area-inset-right,0px)) max(18px,calc(env(safe-area-inset-bottom,0px) + var(--kb, 0px))) max(20px,env(safe-area-inset-left,0px));font-size:10px;color:var(--text-4);border-top:1px solid var(--border-2);flex-shrink:0}.sep.svelte-wmno67{color:var(--border)}.sc.svelte-1ki800i{display:flex;flex-direction:column;height:100%;min-height:0;font-size:12px}.sc-hd.svelte-1ki800i{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;flex-shrink:0}.hint.svelte-1ki800i{font-size:10px;color:var(--text-3)}.open.svelte-1ki800i{background:transparent;border:none;padding:0;color:var(--accent);font-size:11px;cursor:pointer}.sc-body.svelte-1ki800i{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}.sc-body.svelte-1ki800i .card{margin:4px 0 10px}.sc-body.svelte-1ki800i .card .text{font-size:12px}.empty.svelte-1ki800i{padding:14px 0;color:var(--text-3);font-size:11.5px}.sc-input.svelte-1ki800i{flex-shrink:0;display:flex;align-items:flex-end;gap:6px;margin-top:8px;padding:6px 8px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm)}.sc-input.svelte-1ki800i:focus-within{border-color:var(--accent-line)}textarea.svelte-1ki800i{flex:1;min-width:0;background:transparent;border:none;outline:none;resize:none;color:var(--text);font-family:var(--font-sans);font-size:12px;line-height:1.5;max-height:96px}.send.svelte-1ki800i{flex-shrink:0;display:inline-grid;place-items:center;width:28px;height:28px;background:var(--accent);color:var(--accent-ink);border:none;border-radius:50%;cursor:pointer}.send.svelte-1ki800i:disabled{background:var(--border);color:var(--text-3);cursor:not-allowed}.task.svelte-1h1y2gb{flex:1;overflow:auto;padding:14px 16px}.hd.svelte-1h1y2gb{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.section-label.svelte-1h1y2gb{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.meta.svelte-1h1y2gb{font-family:var(--font-mono);color:var(--text-2);font-size:11px}.bar.svelte-1h1y2gb{height:4px;background:var(--bg-input);border-radius:var(--radius-bar);overflow:hidden;margin-bottom:10px}.fill.svelte-1h1y2gb{height:100%;width:100%;background:var(--accent);transform-origin:left;transition:transform .3s ease}.items.svelte-1h1y2gb{display:flex;flex-direction:column;gap:6px}.row.svelte-1h1y2gb{display:flex;align-items:flex-start;gap:9px;padding:3px 0;margin:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.row.svelte-1h1y2gb:hover .tx:where(.svelte-1h1y2gb){color:var(--text)}.row.svelte-1h1y2gb:focus-visible{outline:1px solid var(--accent);outline-offset:1px;border-radius:var(--radius-xs)}.box.svelte-1h1y2gb{flex-shrink:0;width:15px;height:15px;margin-top:1px;border-radius:var(--radius-xs);display:grid;place-items:center;position:relative}.dot.svelte-1h1y2gb{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:ocrc-pulse 1.2s ease-in-out infinite;display:none}.check.svelte-1h1y2gb{font-size:11px;line-height:1;display:none}.tx.svelte-1h1y2gb{font-size:12px;line-height:1.45;color:var(--text-2)}.row.done.svelte-1h1y2gb .box:where(.svelte-1h1y2gb){background:transparent;border-color:var(--accent-line)}.row.done.svelte-1h1y2gb .check:where(.svelte-1h1y2gb){display:block;color:var(--accent)}.row.done.svelte-1h1y2gb .tx:where(.svelte-1h1y2gb){color:var(--text-3);text-decoration:line-through;text-decoration-color:var(--border)}.row.running.svelte-1h1y2gb .box:where(.svelte-1h1y2gb){border:1.5px solid var(--accent)}.row.running.svelte-1h1y2gb .dot:where(.svelte-1h1y2gb){display:block}.row.running.svelte-1h1y2gb .tx:where(.svelte-1h1y2gb){color:var(--text);font-weight:500}.row.pending.svelte-1h1y2gb .box:where(.svelte-1h1y2gb){border:1.5px solid var(--border)}.mcp.svelte-ehf8ic{font-size:11.5px}.list.svelte-ehf8ic{display:flex;flex-direction:column;gap:4px;color:var(--text-2);margin-top:6px}.row.svelte-ehf8ic{display:flex;align-items:center;gap:7px}.dot.svelte-ehf8ic{width:6px;height:6px;border-radius:50%;background:var(--ok);flex-shrink:0}.row.off.svelte-ehf8ic{color:var(--text-3)}.row.off.svelte-ehf8ic .dot:where(.svelte-ehf8ic){background:var(--text-3)}.sr-only.svelte-ehf8ic{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.schedules.svelte-pijcyq{font-size:11.5px}.hd.svelte-pijcyq{display:flex;align-items:center;justify-content:space-between}.label.svelte-pijcyq{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.add.svelte-pijcyq{width:20px;height:20px;display:grid;place-items:center;padding:0;background:transparent;border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--text-3);font-size:13px;line-height:1;cursor:pointer}.add.svelte-pijcyq:hover{color:var(--text);border-color:var(--accent)}.list.svelte-pijcyq{display:flex;flex-direction:column;gap:7px;margin-top:8px}.row.svelte-pijcyq{display:flex;align-items:flex-start;gap:8px}.switch.svelte-pijcyq{flex-shrink:0;width:22px;height:14px;margin-top:2px;padding:0;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-input);display:grid;align-items:center;cursor:pointer}.switch.svelte-pijcyq .dot:where(.svelte-pijcyq){width:8px;height:8px;margin:0 2px;border-radius:50%;background:var(--text-3);transition:transform .16s ease,background .16s ease}.switch.on.svelte-pijcyq{border-color:var(--accent)}.switch.on.svelte-pijcyq .dot:where(.svelte-pijcyq){background:var(--accent);transform:translate(8px)}.txt.svelte-pijcyq{flex:1;min-width:0}.prompt.svelte-pijcyq{font-size:11.5px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row.off.svelte-pijcyq .prompt:where(.svelte-pijcyq){color:var(--text-3);text-decoration:line-through;text-decoration-color:var(--border)}.spec.svelte-pijcyq{font-size:10px;color:var(--text-3);margin-top:1px}.del.svelte-pijcyq{flex-shrink:0;margin-top:1px;padding:0 5px;min-width:18px;height:18px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-3);font-size:11px;cursor:pointer}.del.svelte-pijcyq:hover{color:var(--err)}.del.arm.svelte-pijcyq{color:var(--err);border:1px solid var(--err)}.form.svelte-pijcyq{margin-top:10px;padding:9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);display:flex;flex-direction:column;gap:7px}.prompt-in.svelte-pijcyq{width:100%;resize:vertical;padding:6px 8px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;box-sizing:border-box}.prompt-in.svelte-pijcyq:focus{outline:1px solid var(--accent)}.kind.svelte-pijcyq{display:flex;align-items:center;gap:10px;color:var(--text-2)}.kind.svelte-pijcyq label:where(.svelte-pijcyq){display:inline-flex;align-items:center;gap:4px;cursor:pointer}.kind.svelte-pijcyq input[type=radio]:where(.svelte-pijcyq){accent-color:var(--accent);margin:0}.num.svelte-pijcyq,.time.svelte-pijcyq{width:62px;padding:2px 5px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text);font:inherit;font-size:11px}.num.svelte-pijcyq:disabled,.time.svelte-pijcyq:disabled{opacity:.4}.err.svelte-pijcyq{color:var(--err);font-size:10.5px}.go.svelte-pijcyq{align-self:flex-end;padding:4px 12px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--accent-ink);font:inherit;font-weight:600;cursor:pointer}.go.svelte-pijcyq:disabled{opacity:.45;cursor:default}.skills.svelte-taxat6{font-size:11.5px}.label.svelte-taxat6{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.chips.svelte-taxat6{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;animation:ocrc-fade .15s var(--ease-out, ease-out)}.chips.clipped.svelte-taxat6{max-height:132px;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent);mask-image:linear-gradient(to bottom,#000 70%,transparent)}.chip.svelte-taxat6{padding:2px 7px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.more.svelte-taxat6{margin-top:5px;padding:0;background:transparent;border:none;color:var(--text-3);font:inherit;font-size:10.5px;cursor:pointer;text-align:left}.more.svelte-taxat6:hover{color:var(--accent)}.files.svelte-tp0rgj{font-size:11.5px}.label.svelte-tp0rgj{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.crumb.svelte-tp0rgj{margin-top:6px;color:var(--text-3);font-size:10.5px}.up.svelte-tp0rgj{background:transparent;border:none;padding:0;color:var(--accent);font:inherit;cursor:pointer}.list.svelte-tp0rgj{display:flex;flex-direction:column;gap:2px;margin-top:4px}.row.svelte-tp0rgj{display:flex;align-items:center;gap:7px;padding:3px 4px;margin:0;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-2);font:inherit;text-align:left;cursor:pointer}.row.svelte-tp0rgj:hover{background:var(--bg-input);color:var(--text)}.ico.svelte-tp0rgj{flex-shrink:0;width:14px;text-align:center}.name.svelte-tp0rgj{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wt.svelte-148ev8e{font-size:11.5px}.hd.svelte-148ev8e{display:flex;align-items:center;justify-content:space-between}.label.svelte-148ev8e{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.add.svelte-148ev8e{width:20px;height:20px;display:grid;place-items:center;padding:0;background:transparent;border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--text-3);font-size:13px;line-height:1;cursor:pointer}.add.svelte-148ev8e:hover{color:var(--text);border-color:var(--accent)}.list.svelte-148ev8e{display:flex;flex-direction:column;gap:4px;margin-top:6px}.rows.svelte-148ev8e{display:flex;flex-direction:column;gap:4px;animation:ocrc-fade .15s var(--ease-out, ease-out)}.row.svelte-148ev8e{display:flex;align-items:center;gap:6px}.ico.svelte-148ev8e{flex-shrink:0}.name.svelte-148ev8e{flex:1;min-width:0;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.del.svelte-148ev8e{flex-shrink:0;padding:0 5px;min-width:18px;height:18px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-3);font-size:11px;cursor:pointer}.del.svelte-148ev8e:hover,.del.arm.svelte-148ev8e{color:var(--err)}.del.arm.svelte-148ev8e{border:1px solid var(--err)}.form.svelte-148ev8e{margin-top:8px;display:flex;gap:6px;align-items:center}.name-in.svelte-148ev8e{flex:1;min-width:0;padding:5px 8px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:11px;box-sizing:border-box}.name-in.svelte-148ev8e:focus{outline:1px solid var(--accent)}.err.svelte-148ev8e{color:var(--err);font-size:10.5px}.go.svelte-148ev8e{padding:4px 10px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--accent-ink);font:inherit;font-weight:600;cursor:pointer}.go.svelte-148ev8e:disabled{opacity:.45;cursor:default}.subs.svelte-1s66f6s{font-size:11.5px}.row.svelte-1s66f6s{display:flex;align-items:center;gap:8px;width:100%;padding:5px 4px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-2);font:inherit;text-align:left;cursor:pointer}.row.svelte-1s66f6s:hover{background:var(--bg-input);color:var(--text)}.dot.svelte-1s66f6s{flex-shrink:0;width:7px;height:7px;border-radius:50%;box-sizing:border-box;background:transparent;border:1.5px solid var(--text-4)}.dot.live.svelte-1s66f6s{background:var(--accent);border-color:var(--accent);animation:ocrc-pulse 1.2s ease-in-out infinite}.dot.done.svelte-1s66f6s{background:var(--ok);border-color:var(--ok)}.meta.svelte-1s66f6s{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.title.svelte-1s66f6s{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.count.svelte-1s66f6s,.live-label.svelte-1s66f6s{flex-shrink:0;font-size:10px;color:var(--text-3)}.empty.svelte-1s66f6s{padding:10px 0;color:var(--text-3);font-size:11px}.t-wrap.svelte-6fqea2{font-size:12px;display:flex;flex-direction:column;height:100%;min-height:0}.t-hd.svelte-6fqea2{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;flex-shrink:0}.t-hint.svelte-6fqea2{font-size:10px;color:var(--text-3)}.open.svelte-6fqea2{background:transparent;border:none;padding:0;color:var(--accent);font:inherit;font-size:11px;cursor:pointer;flex-shrink:0}.t-body.svelte-6fqea2{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}.t-body.svelte-6fqea2 .card{margin:4px 0 10px}.empty.svelte-6fqea2{padding:14px 0;color:var(--text-3);font-size:11.5px}.fv.svelte-va1nfd{font-size:11.5px}.label.svelte-va1nfd{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.trunc.svelte-va1nfd{padding:4px 0;color:var(--warn);text-transform:none;letter-spacing:0;font-size:10.5px}.body.svelte-va1nfd{overflow:visible}.hint.svelte-va1nfd{padding:10px 0}.out.svelte-1bw07gw{font-size:11.5px}.hd.svelte-1bw07gw{display:flex;align-items:center;gap:8px;margin-bottom:6px}.tool.svelte-1bw07gw{font-size:12px;font-weight:600;color:var(--text-2)}.st.svelte-1bw07gw{font-size:10px;color:var(--text-3)}.st.running.svelte-1bw07gw,.st.pending.svelte-1bw07gw{color:var(--warn)}.st.error.svelte-1bw07gw{color:var(--err)}.st.completed.svelte-1bw07gw,.st.done.svelte-1bw07gw{color:var(--ok)}.cmd.svelte-1bw07gw{padding:6px 8px;background:var(--bg-input);border-radius:var(--radius-xs);color:var(--toolcmd);font-size:11px;white-space:pre-wrap;word-break:break-word;margin-bottom:6px}.body.svelte-1bw07gw{margin:0;padding:8px 10px;background:var(--bg-code);border-radius:var(--radius-xs);color:var(--toolout);font-size:11px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:60vh;overflow-y:auto}.body.err.svelte-1bw07gw{color:var(--err)}.hint.svelte-1bw07gw{padding:8px 0;color:var(--text-3);font-size:11px}.git.svelte-1x813in{font-size:11.5px}.hd.svelte-1x813in{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.branch.svelte-1x813in{font-size:12px;font-weight:600;color:var(--text-2)}.count.svelte-1x813in{font-size:10px;color:var(--text-3)}.file.svelte-1x813in{margin-bottom:2px}.row.svelte-1x813in{display:flex;align-items:center;gap:7px;width:100%;padding:4px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-2);font:inherit;text-align:left;cursor:pointer}.row.svelte-1x813in:hover{background:var(--bg-input);color:var(--text)}.badge.svelte-1x813in{flex-shrink:0;font-size:9.5px;padding:1px 6px;border-radius:var(--radius-pill);border:1px solid var(--border-2);color:var(--text-3)}.badge.added.svelte-1x813in{color:var(--ok);border-color:var(--ok)}.badge.deleted.svelte-1x813in{color:var(--err);border-color:var(--err)}.badge.modified.svelte-1x813in{color:var(--warn);border-color:var(--warn)}.path.svelte-1x813in{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.delta.svelte-1x813in{flex-shrink:0;display:flex;gap:5px;font-size:10px}.delta.svelte-1x813in .add:where(.svelte-1x813in){color:var(--ok)}.delta.svelte-1x813in .del:where(.svelte-1x813in){color:var(--err)}.patch.svelte-1x813in{margin:2px 0 6px;padding:8px 10px;background:var(--bg-code);border-radius:var(--radius-xs);color:var(--toolout);font-size:10.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-y:auto}.hint.svelte-1x813in{padding:6px 4px;color:var(--text-3);font-size:11px}.inspector.svelte-gu3dqx{width:var(--insp-w, 380px);flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-elev);border-left:1px solid var(--border-2)}.head.svelte-gu3dqx{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 12px 12px 16px;border-bottom:1px solid var(--border-2)}.head-main.svelte-gu3dqx{flex:1;min-width:0}.collapse-btn.svelte-gu3dqx{flex-shrink:0;display:inline-grid;place-items:center;width:26px;height:26px;background:transparent;border:1px solid var(--border-2);border-radius:var(--radius-xs);color:var(--text-3);cursor:pointer}.collapse-btn.svelte-gu3dqx:hover{color:var(--text);border-color:var(--border)}.collapse-btn.svelte-gu3dqx svg:where(.svelte-gu3dqx){width:14px;height:14px}.launcher.svelte-gu3dqx{display:flex;flex-direction:column;align-items:center;padding:8vh 20px 0;text-align:center}.l-title.svelte-gu3dqx{margin:0 0 4px;font-family:var(--font-serif);font-size:15px;color:var(--text)}.l-desc.svelte-gu3dqx{margin:0 0 18px;font-size:11.5px;color:var(--text-3)}.l-list.svelte-gu3dqx{display:flex;flex-direction:column;gap:8px;width:100%;max-width:260px}.l-card.svelte-gu3dqx{display:flex;align-items:center;gap:10px;height:46px;padding:0 12px;background:var(--bg-input);border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--text-2);font:inherit;font-size:12.5px;text-align:left;cursor:pointer;transition:border-color .12s ease,color .12s ease;animation:ocrc-rise .2s var(--ease-out, ease-out) backwards}.l-card.svelte-gu3dqx:nth-child(1){animation-delay:30ms}.l-card.svelte-gu3dqx:nth-child(2){animation-delay:75ms}.l-card.svelte-gu3dqx:nth-child(3){animation-delay:.12s}.l-card.svelte-gu3dqx:nth-child(4){animation-delay:165ms}.l-card.svelte-gu3dqx:nth-child(5){animation-delay:.21s}.l-card.svelte-gu3dqx:nth-child(n+6){animation-delay:255ms}.l-card.svelte-gu3dqx:hover{border-color:var(--accent-line);color:var(--text)}.l-ico.svelte-gu3dqx{display:inline-flex;flex-shrink:0;color:var(--text-3)}.l-card.svelte-gu3dqx:hover .l-ico:where(.svelte-gu3dqx){color:var(--accent)}.l-ico.svelte-gu3dqx svg:where(.svelte-gu3dqx){width:16px;height:16px}.l-text.svelte-gu3dqx{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.l-sep.svelte-gu3dqx{height:1px;background:var(--border-2);margin:4px 0}.section-label.svelte-gu3dqx{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.name.svelte-gu3dqx{margin-top:4px;display:flex;align-items:center;gap:6px;min-width:0;font-weight:600;font-size:13px;color:var(--text)}.title-text.svelte-gu3dqx{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabs.svelte-gu3dqx{display:flex;align-items:center;gap:2px;padding:0 6px 0 10px;border-bottom:1px solid var(--border-2);overflow-x:auto;scrollbar-width:none}.tabs.svelte-gu3dqx::-webkit-scrollbar{display:none}.tab.svelte-gu3dqx{position:relative;display:inline-flex;align-items:center;gap:4px;padding:9px 6px 8px;background:transparent;border:none;color:var(--text-3);font:inherit;font-size:12px;white-space:nowrap;cursor:pointer;flex-shrink:0}.tab.svelte-gu3dqx:hover{color:var(--text-2)}.tab.active.svelte-gu3dqx{color:var(--text);font-weight:600}.tab.active.svelte-gu3dqx:after{content:"";position:absolute;left:6px;right:6px;bottom:-1px;height:2px;background:var(--accent);border-radius:var(--radius-pill)}.dlabel.svelte-gu3dqx{max-width:96px;overflow:hidden;text-overflow:ellipsis}.tbadge.svelte-gu3dqx{font-size:9.5px;color:var(--text-3)}.tab.active.svelte-gu3dqx .tbadge:where(.svelte-gu3dqx){color:var(--text-2)}.closer.svelte-gu3dqx{display:inline-grid;place-items:center;width:14px;height:14px;border-radius:var(--radius-xs);color:var(--text-4);font-size:10px;line-height:1}.closer.svelte-gu3dqx:hover{color:var(--text);background:var(--bg-input)}.tab.active.svelte-gu3dqx .closer:where(.svelte-gu3dqx){color:var(--text-3)}.tabs-more.svelte-gu3dqx{flex-shrink:0;display:inline-grid;place-items:center;width:20px;height:20px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-3);font-size:12px;cursor:pointer}.tabs-more.svelte-gu3dqx:hover{color:var(--text);background:var(--bg-input)}.tabs-menu.svelte-gu3dqx{position:absolute;top:calc(100% + 4px);right:6px;min-width:110px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 14px 36px #00000040;padding:4px;z-index:var(--z-popover);animation:ocrc-pop .14s var(--ease-out, ease-out)}.plus.svelte-gu3dqx{position:relative;margin-left:auto;flex-shrink:0}.plus-btn.svelte-gu3dqx{display:inline-grid;place-items:center;width:20px;height:20px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-3);font-size:14px;line-height:1;cursor:pointer}.plus-btn.svelte-gu3dqx:hover{color:var(--text);background:var(--bg-input)}.plus-menu.svelte-gu3dqx{position:absolute;top:calc(100% + 6px);right:0;min-width:130px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 14px 36px #00000040;padding:4px;z-index:var(--z-popover);animation:ocrc-pop .14s var(--ease-out, ease-out)}.plus-menu.svelte-gu3dqx button:where(.svelte-gu3dqx){display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:6px 9px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-2);font:inherit;font-size:12px;text-align:left;cursor:pointer}.plus-menu.svelte-gu3dqx button:where(.svelte-gu3dqx):hover{background:var(--bg-input);color:var(--text)}.menu-sep.svelte-gu3dqx{height:1px;background:var(--border-2);margin:4px 2px}.pane.svelte-gu3dqx{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 14px 18px}.gap.svelte-gu3dqx{height:14px}@media (max-width: 820px){.inspector.svelte-gu3dqx{width:100%;height:100%;display:block;overflow-y:auto;-webkit-overflow-scrolling:touch}.pane.svelte-gu3dqx{overflow:visible}}.overlay.svelte-wh9uu8{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:flex-start;padding-top:84px;z-index:var(--z-overlay)}.backdrop.svelte-wh9uu8{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim);border:none;padding:0;margin:0;cursor:default;animation:ocrc-fade .16s ease backwards}.palette.svelte-wh9uu8{position:relative;z-index:1;width:min(560px,92vw);max-height:calc(100vh - 120px);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-palette);display:flex;flex-direction:column;animation:ocrc-pop .16s var(--ease-out, ease-out) backwards}.header.svelte-wh9uu8{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.search-icon.svelte-wh9uu8{font-size:18px;color:var(--text-3);line-height:1;flex-shrink:0}.q.svelte-wh9uu8{flex:1;min-width:0;background:transparent;border:none;color:var(--text);font-family:var(--font-sans);font-size:16px;outline:none;padding:0}.q.svelte-wh9uu8::placeholder{color:var(--text-4)}.keycap.svelte-wh9uu8{flex-shrink:0;font-size:10px;color:var(--text-3);text-transform:uppercase;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-xs);padding:3px 6px}.results.svelte-wh9uu8{overflow-y:auto;padding:8px}.group.svelte-wh9uu8{display:flex;align-items:center;gap:8px;padding:8px 10px 4px}.group-icon.svelte-wh9uu8{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);background:var(--accent-2);color:var(--accent);font-family:var(--font-mono);font-size:12px;font-weight:600}.group-label.svelte-wh9uu8{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text-3)}.row.svelte-wh9uu8{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:none;color:var(--text);padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background .12s ease}.row.active.svelte-wh9uu8,.row.svelte-wh9uu8:hover:not(.disabled){background:var(--accent-2)}.row.disabled.svelte-wh9uu8{opacity:.5;cursor:default}.row.svelte-wh9uu8:disabled{opacity:.5;cursor:default}.tile.svelte-wh9uu8{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-xs);background:var(--bg-panel);border:1px solid var(--border-2);color:var(--text-2);font-family:var(--font-mono);font-size:11px;font-weight:600}.label.svelte-wh9uu8{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13.5px;color:var(--text);text-transform:none;letter-spacing:normal}.hint.svelte-wh9uu8{flex-shrink:0;max-width:45%;font-size:11px;color:var(--text-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.empty.svelte-wh9uu8{padding:24px;text-align:center;color:var(--text-3);font-size:13.5px}.error.svelte-wh9uu8{padding:10px;color:var(--err);font-size:12px}.about.svelte-wh9uu8{padding:8px 14px 10px;border-top:1px solid var(--border-2);color:var(--text-4);font-size:10.5px}.overlay.svelte-cfrpez{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:flex-start;padding-top:84px;z-index:var(--z-modal)}.backdrop.svelte-cfrpez{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim);border:none;padding:0;margin:0;cursor:default;animation:ocrc-fade .16s ease backwards}.modal.svelte-cfrpez{position:relative;z-index:1;width:min(460px,92vw);max-height:calc(100vh - 120px);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 24px 70px #0009;display:flex;flex-direction:column;overflow:hidden;animation:svelte-cfrpez-ocrc-pop .14s ease}@keyframes svelte-cfrpez-ocrc-pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.header.svelte-cfrpez{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.title.svelte-cfrpez{font-size:15px;font-weight:600;color:var(--text)}.close.svelte-cfrpez{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;font-size:14px;transition:color .12s ease,background .12s ease,border-color .12s ease}.close.svelte-cfrpez:hover{color:var(--text);background:var(--bg-elev2);border-color:var(--border)}.body.svelte-cfrpez{padding:16px;display:flex;flex-direction:column;gap:18px;overflow-y:auto}.field.svelte-cfrpez{display:flex;flex-direction:column;gap:8px}.label.svelte-cfrpez{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text-3)}.optional.svelte-cfrpez{font-weight:400;color:var(--text-4);text-transform:none;letter-spacing:normal}.agent-chips.svelte-cfrpez{display:flex;flex-wrap:wrap;gap:8px}.agent-chip.svelte-cfrpez{display:inline-flex;align-items:center;gap:7px;padding:5px 10px 5px 5px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-2);cursor:pointer;transition:border-color .12s ease,background .12s ease}.agent-chip.svelte-cfrpez:hover{border-color:var(--accent);background:var(--bg-elev2)}.agent-chip.selected.svelte-cfrpez{background:var(--accent-2);border-color:var(--accent-line);color:var(--text)}.chip-tile.svelte-cfrpez{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:var(--radius-xs);border:1px solid transparent;font-family:var(--font-mono);font-size:9.5px;font-weight:700;flex-shrink:0}.chip-name.svelte-cfrpez{font-size:12px;font-weight:600}.chip-status.svelte-cfrpez{width:6px;height:6px;border-radius:50%;border:1.5px solid transparent;flex-shrink:0;box-sizing:border-box}.sr-only.svelte-cfrpez{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chip-status.online.svelte-cfrpez{background:var(--dot, var(--ok));border-color:var(--dot, var(--ok))}.chip-status.connecting.svelte-cfrpez{background:var(--warn);border-color:var(--warn);animation:ocrc-pulse 1.2s ease-in-out infinite}.chip-status.offline.svelte-cfrpez{background:transparent;border:1.5px solid var(--text-4)}.dir-input.svelte-cfrpez{display:flex;align-items:center;gap:0;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;transition:border-color .15s ease}.dir-input.svelte-cfrpez:focus-within{border-color:var(--accent)}.host-prefix.svelte-cfrpez{padding:8px 0 8px 10px;font-size:12.5px;color:var(--text-3);flex-shrink:0}.path.svelte-cfrpez{flex:1;min-width:0;background:transparent;border:none;color:var(--text);font-size:16px;padding:8px 10px;outline:none}.path.svelte-cfrpez::placeholder{color:var(--text-4)}.browse.svelte-cfrpez{border:none;border-left:1px solid var(--border);background:var(--bg-panel);color:var(--text-3);font-size:11px;font-weight:600;padding:0 12px;cursor:pointer;transition:color .12s ease,background .12s ease;flex-shrink:0}.browse.svelte-cfrpez:hover{color:var(--text);background:var(--bg-elev2)}.recents.svelte-cfrpez{display:none;flex-direction:column;gap:6px}.recents.open.svelte-cfrpez{display:flex}.recents-label.svelte-cfrpez{font-size:10px;color:var(--text-4);text-transform:uppercase;letter-spacing:.1em}.recents-list.svelte-cfrpez{display:flex;flex-direction:column;gap:2px;max-height:160px;overflow-y:auto;padding:4px;background:var(--bg-panel);border:1px solid var(--border-2);border-radius:var(--radius-sm)}.recent.svelte-cfrpez{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;text-align:left;transition:background .12s ease}.recent.svelte-cfrpez:hover{background:var(--bg-elev)}.recent-name.svelte-cfrpez{font-size:12px;font-weight:600;color:var(--text-2)}.recent-dir.svelte-cfrpez{font-size:10.5px;color:var(--text-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.branch.svelte-cfrpez{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:16px;padding:8px 10px;outline:none;transition:border-color .15s ease}.branch.svelte-cfrpez:focus{border-color:var(--accent)}.branch.svelte-cfrpez::placeholder{color:var(--text-4)}.error.svelte-cfrpez{padding:10px 12px;background:color-mix(in srgb,var(--err) 12%,transparent);border:1px solid color-mix(in srgb,var(--err) 35%,transparent);border-radius:var(--radius-sm);color:var(--err);font-size:12px}.footer.svelte-cfrpez{display:flex;justify-content:flex-end;gap:10px;padding:14px 16px;border-top:1px solid var(--border);flex-shrink:0}.btn.svelte-cfrpez{padding:7px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:650;cursor:pointer;transition:opacity .12s ease,transform .12s ease;border:none}.btn.svelte-cfrpez:disabled{opacity:.5;cursor:default}.secondary.svelte-cfrpez{background:transparent;border:1px solid var(--border);color:var(--text-2)}.secondary.svelte-cfrpez:hover:not(:disabled){background:var(--bg-elev2);color:var(--text)}.primary.svelte-cfrpez{background:var(--accent);color:var(--accent-ink)}.primary.svelte-cfrpez:hover:not(:disabled){opacity:.9}.empty.svelte-cfrpez{padding:24px;text-align:center;color:var(--text-3);font-size:13.5px}@media (max-width: 820px){.overlay.svelte-cfrpez{align-items:flex-end;padding:0 0 calc(env(safe-area-inset-bottom,0px) + var(--kb, 0px));transition:padding-bottom .2s ease-out}.modal.svelte-cfrpez{width:100%;max-height:calc(86vh - var(--kb, 0px));border-bottom-left-radius:0;border-bottom-right-radius:0;animation:svelte-cfrpez-sheetin .22s ease}@keyframes svelte-cfrpez-sheetin{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}}.overlay.svelte-b8emeh{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;padding:24px}.backdrop.svelte-b8emeh{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--scrim);border:none;padding:0;margin:0;cursor:default;animation:ocrc-fade .16s ease backwards}.modal.svelte-b8emeh{position:relative;width:min(880px,94vw);max-height:86vh;overflow:auto;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-palette);animation:ocrc-pop .16s var(--ease-out, ease-out) backwards}.header.svelte-b8emeh{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-2)}.title.svelte-b8emeh{font-family:var(--font-serif);font-size:16px;font-weight:600;color:var(--text)}.close.svelte-b8emeh{background:transparent;border:none;color:var(--text-3);font-size:14px;cursor:pointer}.cols.svelte-b8emeh{display:flex;gap:14px;padding:14px 18px}.list.svelte-b8emeh{width:170px;flex-shrink:0;display:flex;flex-direction:column;gap:6px}.ch.svelte-b8emeh{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:8px 10px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;text-align:left;cursor:pointer}.ch-logo.svelte-b8emeh{display:grid;place-items:center}.ch.sel.svelte-b8emeh{border-color:var(--accent);background:var(--accent-2)}.ch-state.svelte-b8emeh{font-size:10px;color:var(--text-3)}.ch-state.on.svelte-b8emeh{color:var(--ok, var(--accent))}.detail.svelte-b8emeh{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.d-hd.svelte-b8emeh{display:flex;align-items:center;justify-content:space-between}.d-name.svelte-b8emeh{font-family:var(--font-serif);font-size:15px;font-weight:600;color:var(--text)}.switch.svelte-b8emeh{width:40px;height:22px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-input);display:grid;align-items:center;padding:0 2px;cursor:pointer}.switch.svelte-b8emeh .knob:where(.svelte-b8emeh){width:14px;height:14px;border-radius:50%;background:var(--text-3);transition:transform .16s ease,background .16s ease}.switch.on.svelte-b8emeh{border-color:var(--accent)}.switch.on.svelte-b8emeh .knob:where(.svelte-b8emeh){background:var(--accent);transform:translate(18px)}.note.svelte-b8emeh{margin:0;font-size:11.5px;color:var(--text-3)}.sec.svelte-b8emeh{border-top:1px solid var(--border-2);padding-top:10px}.danger.svelte-b8emeh{border-top-color:var(--err)}.sec-label.svelte-b8emeh{font-size:11px;color:var(--text-3);margin-bottom:6px}.cred.svelte-b8emeh{width:100%;box-sizing:border-box;padding:6px 8px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:11px}.cred.svelte-b8emeh:focus{outline:1px solid var(--accent)}.sec-acts.svelte-b8emeh{display:flex;align-items:center;gap:8px;margin-top:6px}.save.svelte-b8emeh{padding:4px 12px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--accent-ink);font:inherit;font-size:11.5px;font-weight:600;cursor:pointer}.opts.svelte-b8emeh{display:flex;flex-direction:column;gap:4px}.opt.svelte-b8emeh{padding:7px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);font:inherit;font-size:12px;text-align:left;cursor:pointer}.opt.sel.svelte-b8emeh{border-color:var(--accent);color:var(--text);background:var(--accent-2)}.hint.svelte-b8emeh{font-size:10.5px;color:var(--text-3);margin:4px 0 0}.reset.svelte-b8emeh{padding:5px 12px;background:transparent;border:1px solid var(--err);border-radius:var(--radius-sm);color:var(--err);font:inherit;font-size:11.5px;cursor:pointer}.pair.svelte-b8emeh{border-top:1px solid var(--border-2);padding:12px 18px 16px}.pair-head.svelte-b8emeh{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}.pair-title.svelte-b8emeh{font-size:12.5px;font-weight:650;color:var(--text)}.cd.svelte-b8emeh{font-weight:500;color:var(--text-3);font-size:11.5px;margin-left:4px}.cd.expired.svelte-b8emeh{color:var(--warn)}.stop.svelte-b8emeh{flex-shrink:0;padding:4px 12px;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}.stop.svelte-b8emeh:hover{color:var(--err);border-color:var(--err)}.qr-big.svelte-b8emeh{position:relative;width:min(200px,70%);margin:14px auto 12px;background:#fff;padding:10px;border-radius:var(--radius);animation:ocrc-fade .18s var(--ease-out, ease-out)}.qr-big.svelte-b8emeh svg{width:100%;height:auto;display:block}.qr-big.dim.svelte-b8emeh svg{opacity:.18;filter:blur(1px)}.qr-expired.svelte-b8emeh{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text);font-size:12px;font-weight:600}.pair-acts.svelte-b8emeh{display:flex;align-items:center;gap:8px}.spacer.svelte-b8emeh{flex:1}.pair-stopped.svelte-b8emeh{display:flex;align-items:center;gap:10px;padding:10px 0 2px;color:var(--text-2);font-size:12px}.copy.svelte-b8emeh{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;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}.copy.svelte-b8emeh:hover{border-color:var(--accent);color:var(--text)}.overlay.svelte-1r7zhoh{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);pointer-events:none}.backdrop.svelte-1r7zhoh{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;border:none;padding:0;margin:0;cursor:default;pointer-events:auto}.menu.svelte-1r7zhoh{position:absolute;z-index:1;min-width:180px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 18px 50px #0000008c;padding:6px;display:flex;flex-direction:column;gap:2px;pointer-events:auto;animation:svelte-1r7zhoh-ocrc-pop .14s ease}@keyframes svelte-1r7zhoh-ocrc-pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.item.svelte-1r7zhoh{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}.item.svelte-1r7zhoh:hover{background:var(--accent-2)}.icon.svelte-1r7zhoh{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);background:var(--bg-panel);border:1px solid var(--border-2);color:var(--text-2);font-size:12px;flex-shrink:0}.label.svelte-1r7zhoh{flex:1;font-size:13px;font-weight:500}.keycap.svelte-1r7zhoh{flex-shrink:0;font-size:10px;color:var(--text-3);text-transform:uppercase;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-xs);padding:2px 5px}@media (max-width: 820px){.overlay.svelte-1r7zhoh{display:flex;align-items:flex-end;justify-content:center;padding:0 0 env(safe-area-inset-bottom,0);pointer-events:auto;background:var(--scrim)}.menu.svelte-1r7zhoh{position:relative;top:auto!important;left:auto!important;width:100%;max-width:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;animation:svelte-1r7zhoh-sheetin .18s ease}@keyframes svelte-1r7zhoh-sheetin{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}}.fab-root.svelte-9zfapn{display:none}@media (max-width: 820px){.fab-root.svelte-9zfapn{display:block}}.scrim.svelte-9zfapn{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-fab);background:var(--scrim);border:none;padding:0;cursor:default;animation:svelte-9zfapn-fade .16s ease}@keyframes svelte-9zfapn-fade{0%{opacity:0}to{opacity:1}}.fab.svelte-9zfapn{position:fixed;z-index:var(--z-fab);right:18px;bottom:calc(76px + env(safe-area-inset-bottom,0px) + var(--kb, 0px));width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);border:none;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 8px 24px #0006;transition:transform .2s ease}.fab.rot.svelte-9zfapn{transform:rotate(45deg)}.fab.svelte-9zfapn:active{transform:scale(.94)}.fab.rot.svelte-9zfapn:active{transform:rotate(45deg) scale(.94)}.dial.svelte-9zfapn{position:fixed;z-index:var(--z-fab);right:20px;bottom:calc(146px + env(safe-area-inset-bottom,0px) + var(--kb, 0px));display:flex;flex-direction:column;align-items:flex-end;gap:12px}.dial-item.svelte-9zfapn{display:flex;align-items:center;gap:10px;background:transparent;border:none;padding:0;cursor:pointer;animation:svelte-9zfapn-rise .16s ease both}@keyframes svelte-9zfapn-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dial-label.svelte-9zfapn{font-size:12px;color:var(--text);background:var(--bg-elev);border:1px solid var(--border);padding:6px 10px;border-radius:var(--radius-xs);white-space:nowrap;box-shadow:0 4px 14px #0000004d}.dial-icon.svelte-9zfapn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:18px;background:var(--bg-elev2);color:var(--text);border:1px solid var(--border)}.gate.svelte-9s687p{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-gate);display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px;padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto}.panel.svelte-9s687p{width:min(1060px,100%);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:22px 26px;display:flex;flex-direction:column;gap:14px;animation:ocrc-pop var(--dur-enter, .2s) var(--ease-out, ease-out) backwards}.head.svelte-9s687p{display:flex;gap:14px;align-items:center}.hicon.svelte-9s687p{width:52px;height:52px;flex-shrink:0;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid var(--border-2);border-radius:var(--radius)}.hicon.svelte-9s687p svg:where(.svelte-9s687p){width:34px;height:34px;display:block}h1.svelte-9s687p{margin:0;font-size:17px;color:var(--text);font-weight:700}.sub.svelte-9s687p{margin:2px 0 0;font-size:12.5px;color:var(--text-2)}.cols.svelte-9s687p{display:grid;grid-template-columns:1.25fr 1fr;gap:16px}@media (max-width: 860px){.cols.svelte-9s687p{grid-template-columns:1fr}}.scan.svelte-9s687p,.channels.svelte-9s687p{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.sec-head.svelte-9s687p{display:flex;align-items:center;gap:8px;justify-content:space-between;flex-wrap:wrap}.sec-title.svelte-9s687p{font-size:13px;font-weight:650;color:var(--text)}.chip.svelte-9s687p{font-size:10.5px;color:var(--text-2);background:var(--bg-elev);border:1px solid var(--border);padding:2px 8px;border-radius:var(--radius-pill)}.wait-row.svelte-9s687p{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.wait.done.svelte-9s687p{color:var(--ok, #2e9e6b)}.btn.enter.svelte-9s687p{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.wait.svelte-9s687p{font-size:12px;color:var(--text);font-weight:600}.cd.svelte-9s687p{font-weight:500;color:var(--text-3)}.cd.expired.svelte-9s687p{color:var(--warn)}.qr-wrap.svelte-9s687p{position:relative;width:min(230px,80%);margin:4px auto;background:#fff;padding:12px;border-radius:var(--radius);border:1px dashed var(--border-2)}.qr-wrap.svelte-9s687p svg{width:100%;height:auto;display:block}.qr-re.svelte-9s687p{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text);font-size:12.5px;font-weight:600}.acts.svelte-9s687p{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.spacer.svelte-9s687p{flex:1}.btn.svelte-9s687p{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);font:inherit;font-size:12px;cursor:pointer}.btn.svelte-9s687p:hover{border-color:var(--accent);color:var(--text)}.ch.svelte-9s687p{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:default}.lock.svelte-9s687p{margin-left:auto;font-size:12px;opacity:.65;flex-shrink:0}.ch-icon.svelte-9s687p{display:grid;place-items:center;flex-shrink:0}.ch-name.svelte-9s687p{font-size:12.5px;font-weight:650;color:var(--text);display:flex;gap:8px;align-items:baseline}.ok.svelte-9s687p{font-size:10.5px;color:var(--ok, #2e9e6b);font-weight:600}.off.svelte-9s687p{font-size:10.5px;color:var(--text-3);font-weight:500}.ch-note.svelte-9s687p{font-size:11.5px;color:var(--text-3);margin-top:2px}.hint.svelte-9s687p{font-size:11.5px;color:var(--text-3);margin:0;line-height:1.5}.dim.svelte-9s687p{color:var(--text-3)}.rejected.svelte-9s687p{margin:0;font-size:12.5px;color:var(--err)}.paste.svelte-9s687p{border-top:1px solid var(--border-2);padding-top:10px}.paste.svelte-9s687p summary:where(.svelte-9s687p){cursor:pointer;font-size:12px;color:var(--text-2)}.paste-body.svelte-9s687p{display:flex;flex-direction:column;gap:8px;padding-top:10px}.field.svelte-9s687p{padding:9px 11px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text);font-size:12.5px}.field.svelte-9s687p:focus{outline:none;border-color:var(--accent-line)}.err.svelte-9s687p{font-size:12px;color:var(--err)}.connect.svelte-9s687p{align-self:flex-start;padding:8px 18px;background:var(--accent);border:1px solid var(--accent);color:var(--accent-ink);border-radius:var(--radius-sm);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.connect.svelte-9s687p:disabled{opacity:.45;cursor:default}.foot.svelte-9s687p{border-top:1px solid var(--border-2);padding-top:10px}.app.svelte-12qhfyh{position:fixed;top:0;left:0;right:0;display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg)}.body.svelte-12qhfyh{display:flex;flex:1;overflow:hidden;position:relative}main.svelte-12qhfyh{position:relative;flex:1;overflow:hidden;display:flex;flex-direction:column;min-width:0;background:var(--bg-canvas, var(--bg));border-radius:var(--radius) var(--radius) 0 0}.rail-wrap.svelte-12qhfyh{display:block;width:var(--rail-w, 250px);flex-shrink:0;overflow:hidden;border-right:1px solid var(--border-2);position:relative;z-index:1;transition:transform .22s ease}.rail-wrap.collapsed.svelte-12qhfyh{transform:translate(-100%);margin-right:calc(-1 * var(--rail-w, 250px));pointer-events:none}.inspector-wrap.svelte-12qhfyh{width:var(--insp-w, 380px);flex-shrink:0;padding-left:10px;background:var(--bg);overflow:hidden;position:relative;z-index:1;transition:transform .24s var(--ease-out, ease-out)}.inspector-wrap.svelte-12qhfyh .inspector{width:100%;border:1px solid var(--border-2);border-radius:var(--radius)}.inspector-wrap.svelte-12qhfyh:not(:has(.inspector)){background:transparent}.inspector-wrap.collapsed-insp.svelte-12qhfyh{transform:translate(calc(100% + 10px));margin-right:calc(-1 * (var(--insp-w, 380px) + 10px));pointer-events:none}.rail-strip.svelte-12qhfyh{display:flex;flex-direction:column;align-items:center;gap:12px;width:44px;flex-shrink:0;padding:14px 0 10px;background:var(--bg-panel);border:none;border-right:1px solid var(--border-2);color:var(--text-3);cursor:pointer;transition:color .12s ease,background .12s ease}.rail-strip.svelte-12qhfyh:hover{color:var(--text);background:var(--bg-elev2)}.rail-strip.svelte-12qhfyh .strip-mark:where(.svelte-12qhfyh){width:22px;height:22px;flex-shrink:0}.rail-strip.svelte-12qhfyh .strip-caret:where(.svelte-12qhfyh){width:14px;height:14px}.divider.svelte-12qhfyh{width:6px;flex-shrink:0;margin:0 -3px;z-index:5;cursor:col-resize;background:transparent;transition:background .15s ease}.divider.svelte-12qhfyh:hover,.divider.resizing.svelte-12qhfyh{background:color-mix(in srgb,var(--accent) 35%,transparent)}.backdrop.svelte-12qhfyh{display:none}@media (max-width: 820px){.rail-wrap.svelte-12qhfyh{display:block;position:absolute;top:0;bottom:0;left:0;z-index:var(--z-drawer);width:100%;overflow:hidden;margin-right:0;transition:transform .24s var(--ease, ease);transform:translate(-100%)}.rail-wrap.open.svelte-12qhfyh{transform:translate(0)}.inspector-wrap.svelte-12qhfyh{display:block;position:absolute;left:0;right:0;bottom:var(--kb, 0px);top:auto;z-index:var(--z-sheet);width:100%;height:min(82vh,580px);padding-left:0;background:transparent;overflow:hidden;transition:transform .24s ease;transform:translateY(calc(100% + var(--kb, 0px)));border-radius:var(--radius) var(--radius) 0 0;box-shadow:0 -10px 44px #0000008c}.inspector-wrap.collapsed-insp.svelte-12qhfyh{transform:translateY(calc(100% + var(--kb, 0px)));margin-right:0}.inspector-wrap.svelte-12qhfyh .inspector{border:none;border-radius:0}.inspector-wrap.open.svelte-12qhfyh{transform:translateY(0)}.rail-wrap.svelte-12qhfyh .agent-panel,.rail-wrap.svelte-12qhfyh .panel{width:100%}.rail-strip.svelte-12qhfyh{display:none}.inspector-wrap.svelte-12qhfyh .inspector{width:100%;height:100%}.backdrop.svelte-12qhfyh{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-backdrop);background:var(--scrim);border:none;padding:0;cursor:default;animation:svelte-12qhfyh-fade .18s ease}@keyframes svelte-12qhfyh-fade{0%{opacity:0}to{opacity:1}}}
@@ -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)}}@media (max-width: 820px){.pop.svelte-1f5vmb3{position:fixed;left:12px;right:12px;width:auto;bottom:calc(var(--composer-h, 120px) + env(safe-area-inset-bottom,0px) + 14px)}}.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)}}@media (max-width: 820px){.pop.svelte-1005b73{position:fixed;left:12px;right:12px;width:auto;bottom:calc(var(--composer-h, 120px) + env(safe-area-inset-bottom,0px) + 14px)}}.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
- import{O as K,b7 as X,b6 as P,b4 as V,aM as Z,aN as N,a8 as B,V as ee,X as te,a2 as ne,b8 as p,a9 as y,Y as m}from"./BjY4dxcB.js";function Ce(e=!1){const t=K,n=t.l.u;if(!n)return;let i=()=>ee(t.s);if(e){let s=0,a={};const d=te(()=>{let r=!1;const l=t.s;for(const u in l)l[u]!==a[u]&&(a[u]=l[u],r=!0);return r&&s++,s});i=()=>B(d)}n.b.length&&X(()=>{F(t,i),N(n.b)}),P(()=>{const s=V(()=>n.m.map(Z));return()=>{for(const a of s)typeof a=="function"&&a()}}),n.a.length&&P(()=>{F(t,i),N(n.a)})}function F(e,t){if(e.l.s)for(const n of e.l.s)B(n);t()}ne();const A="ocrc.token";function x(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 se(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 S(){try{const e=localStorage.getItem(A);return e&&e.trim()?e:null}catch{return null}}function w(e){try{localStorage.setItem(A,e)}catch{}}function J(){try{localStorage.removeItem(A)}catch{}}const I="ocrc.authReloaded";function ie(e=window.location){if(S()){J();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=x(location.hash);e&&w(e),b=se(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");w(t.token),$.set(""),f.set("ready")}catch{$.set("配对链接已失效(1 分钟过期或已被使用)——请在主机上刷新二维码后重试。"),f.set("pairing")}})()):f.set(S()?"ready":"pairing");async function Ae(e){const t=e.trim().match(/[?#]pair=([^&#\s]+)/),n=t?decodeURIComponent(t[1]):e.trim();if(!n)return"这看起来不是有效的配对链接。";try{const i=await fetch("/api/pair/exchange",{method:"POST",headers:{"content-type":"application/json"},credentials:"include",body:JSON.stringify({pending:n})});if(!i.ok)throw new Error(String(i.status));const s=await i.json();return!s.token||!oe(s.token)?"这看起来不是有效的配对链接。":($.set(""),"")}catch{return"配对链接已失效(1 分钟过期或已被使用)——请刷新二维码后重试。"}}function O(){const e=S();if(!e){y(f)==="ready"&&ie();return}const t=typeof location<"u"?x(location.hash):null;if(t&&t!==e){w(t),f.set("ready");return}if(t){f.set("rejected");return}J(),f.set("pairing")}function oe(e){const t=e.trim();return!t||t.length<16?!1:(w(t),f.set("ready"),!0)}let T="";function R(e){const t={...e??{}},n=S();return n&&(t.authorization=`Bearer ${n}`),t}async function o(e){const t=await fetch(`${T}${e}`,{credentials:"include",headers:R()});if(t.status===401)throw O(),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(`${T}${e}`,{method:"POST",headers:R({"content-type":"application/json"}),credentials:"include",body:JSON.stringify(t)});if(n.status===401)throw O(),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 i=await fetch(`${T}${t}`,{method:e,headers:R(n===void 0?void 0:{"content-type":"application/json"}),credentials:"include",body:n===void 0?void 0:JSON.stringify(n)});if(i.status===401)throw O(),new Error(`${e} ${t} 401`);if(!i.ok)throw new Error(`${e} ${t} ${i.status}`);return E(),i.json()}async function G(e,t){return D("PATCH",e,t)}async function H(e){return D("DELETE",e)}const _={me:()=>o("/api/me"),capabilities:()=>o("/api/capabilities"),backends:()=>o("/api/backends"),setActiveBackend:e=>c("/api/backends/active",{backendId:e}),sessions:()=>o("/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=>o(`/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 i=n.toString();return o(`/api/session/${e}${i?`?${i}`:""}`)},todo:e=>o(`/api/session/${e}/todo`),context:e=>o(`/api/session/${e}/context`),workspaces:()=>o("/api/workspaces"),createSession:e=>c("/api/session",e),mcp:()=>o("/api/mcp"),commands:e=>o(`/api/commands${e?`?backend=${encodeURIComponent(e)}`:""}`),runCommand:e=>c("/api/command",e),agents:()=>o("/api/agents"),models:()=>o("/api/models"),getOverrides:()=>o("/api/overrides"),setOverrides:e=>c("/api/overrides",e),sendMessage:e=>c("/api/message",e),abort:e=>c("/api/abort",{sessionId:e}),suggestions:e=>o(`/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=>o(`/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)=>o(`/api/session/${e}/files?q=${encodeURIComponent(t)}`),schedules:()=>o("/api/schedules"),subagents:e=>o(`/api/session/${e}/subagents`),messageRaw:(e,t)=>o(`/api/session/${e}/message/${encodeURIComponent(t)}`),vcs:e=>o(`/api/vcs${e?`?sessionId=${encodeURIComponent(e)}`:""}`),vcsDiff:(e,t)=>o(`/api/vcs/diff?file=${encodeURIComponent(t)}${e?`&sessionId=${encodeURIComponent(e)}`:""}`),version:()=>o("/api/version"),skills:e=>o(`/api/skills${e?`?directory=${encodeURIComponent(e)}`:""}`),browse:(e,t)=>o(`/api/browse?directory=${encodeURIComponent(e)}&path=${encodeURIComponent(t)}`),fileContent:(e,t)=>o(`/api/file-content?directory=${encodeURIComponent(e)}&path=${encodeURIComponent(t)}`),worktrees:e=>o(`/api/worktrees${e?`?directory=${encodeURIComponent(e)}`:""}`),createWorktree:(e,t)=>c("/api/worktrees",{directory:e,name:t}),removeWorktree:(e,t)=>H(`/api/worktrees?directory=${encodeURIComponent(e)}&name=${encodeURIComponent(t)}`),channels:()=>o("/api/channels"),updateChannel:(e,t)=>G(`/api/channels/${e}`,t),resetChannel:e=>c(`/api/channels/${e}/reset`,{}),pairQr:()=>o("/api/pair/qr"),pairOnboarding:()=>o("/api/pair/onboarding"),exchangePair:e=>c("/api/pair/exchange",{pending:e}),addSchedule:e=>c("/api/schedules",e),setScheduleEnabled:(e,t)=>G(`/api/schedules/${e}`,{enabled:t}),deleteSchedule:e=>H(`/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 re(e){return e==="thinking"||e==="think-stream"}function ae(e){return e==="thinking"||e==="streaming"||e==="think-stream"}function ce(e){return e?e.order.map(t=>e.byId[t]).filter(Boolean):[]}function de(e,t){return typeof t.seq=="number"&&e>0&&t.seq>e+1}function le(e){if(!("sessionId"in e)||!e.sessionId)return;const t=e.sessionId,n=M(e,0);g.update(i=>{const s=i[t]??U();if(e.seq!=null&&e.seq<=s.lastSeq&&!(n in s.byId))return i;e.seq!=null&&(s.lastSeq=Math.max(s.lastSeq,e.seq));const a=e.id?e:{...e,id:n};if(e.kind==="status"){const d=s.order[s.order.length-1],r=d?s.byId[d]:void 0;if((r==null?void 0:r.kind)==="status"&&JSON.stringify(r.fields)===JSON.stringify(e.fields))return s.byId={...s.byId,[d]:a},i}if(n in s.byId)s.byId={...s.byId,[n]:a};else{let d=s.order,r=s.byId;(e.kind==="streaming"||e.kind==="assistant"||e.kind==="error")&&(r={...r},d=d.filter(l=>{var u,q;return re((u=r[l])==null?void 0:u.kind)||e.kind==="error"&&((q=r[l])==null?void 0:q.kind)==="streaming"&&l!==n?(delete r[l],!1):!0})),s.order=[...d,n],s.byId={...r,[n]:a}}return{...i,[t]:s}})}function ue(e){g.update(t=>{for(const n of Object.keys(t)){const i=t[n];if(!(e in i.byId))continue;const s={...i.byId};return delete s[e],{...t,[n]:{...i,order:i.order.filter(a=>a!==e),byId:s}}}return t})}function fe(e,t,n=0){g.update(i=>{const s=U();return s.lastSeq=n,t.forEach((a,d)=>{const r=M(a,d);s.order.push(r),s.byId[r]=a.id?a:{...a,id:r}}),{...i,[e]:s}})}let L=0;function pe(e,t){if(t.length===0)return;L+=1;const n=L;g.update(i=>{const s=i[e]??U(),a={...s.byId},d=[];for(let r=t.length-1;r>=0;r--){const l=t[r],u=l.id??`${l.kind}:h${n}:${r}`;u in a||(d.push(u),a[u]=l.id?l:{...l,id:u})}return d.length===0?i:{...i,[e]:{order:[...d.reverse(),...s.order],byId:a,lastSeq:s.lastSeq}}})}function he(e){const t=new Set(Array.isArray(e)?e:e?[e]:[]);g.update(n=>{const i={};for(const s of Object.keys(n))t.has(s)&&(i[s]=n[s]);return i})}const Ee=Object.freeze(Object.defineProperty({__proto__:null,cardsOf:ce,feeds:g,isRunningCard:ae,isSeqGap:de,prependHistory:pe,pruneFeeds:he,removeCard:ue,sessionList:j,setHistory:fe,upsertCard:le},Symbol.toStringTag,{value:"Module"})),k=p(null),h=p(null),W=p(void 0),me=m([h,W,j,k],([e,t,n,i])=>{if(e){const s=t?n.find(r=>r.id===t):void 0,a=(s==null?void 0:s.backendId)??e.activeId,d=e.backends.find(r=>r.id===a);if(d)return d.capabilities}return(i==null?void 0:i.capabilities)??null}),ge=m([h,W,j,k],([e,t,n,i])=>{if(e){const s=t?n.find(a=>a.id===t):void 0;return(s==null?void 0:s.backendId)??e.activeId}return(i==null?void 0:i.id)??null}),Oe=m(me,e=>t=>e?e[t]!==!1:!0),ye=m([h,k],([e,t])=>{var n;return e?((n=e.backends.find(i=>i.id===e.activeId))==null?void 0:n.capabilities)??null:(t==null?void 0:t.capabilities)??null});m(ye,e=>t=>e?e[t]!==!1:!0);const Te=m(ge,e=>{const t=e??"opencode";return t.includes(":")?t.split(":").pop():t}),v=["emerald","azure","amber","violet"],Re={emerald:"#54d398",azure:"#5b9eff",amber:"#ffc34d",violet:"#b48cf0"},_e={emerald:"#0f261b",azure:"#101f33",amber:"#2a2110",violet:"#1d1733"},je={emerald:"#236b49",azure:"#2c5891",amber:"#8a6a26",violet:"#5a4790"},Q="ocrc.agentAccents",z={opencode:"emerald","acp:kimi":"azure"};function be(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)>>>0;return t}function ve(e){return z[e]?z[e]:v[be(e)%v.length]}function Se(){if(typeof localStorage>"u")return{};try{const e=localStorage.getItem(Q),t=e?JSON.parse(e):{};return typeof t=="object"&&t!==null?t:{}}catch{return{}}}function we(e){if(!(typeof localStorage>"u"))try{localStorage.setItem(Q,JSON.stringify(e))}catch{}}const C=p(Se());function ke(e){const t=y(C);return v.includes(t[e])?t[e]:ve(e)}function Ue(e,t){var i;const n={...y(C)};t&&v.includes(t)?n[e]=t:delete n[e],C.set(n),we(n),((i=y(h))==null?void 0:i.activeId)===e&&Y(e)}function Y(e){typeof document>"u"||document.documentElement.setAttribute("data-accent",ke(e))}async function qe(){try{k.set(await _.capabilities())}catch(e){console.warn("[capabilities] failed to load",e)}}async function Ie(){try{h.set(await _.backends())}catch(e){console.warn("[backends] failed to load",e)}}async function Pe(e){const t=y(h);t&&h.set({...t,activeId:e});try{await _.setActiveBackend(e)}catch(n){console.warn("[backends] setActive failed",n)}await Ie(),Y(e)}export{v as A,Ee as B,Pe as C,Ue as D,fe as E,oe as F,le as G,W as H,_e as a,Re as b,je as c,C as d,ke as e,_ as f,Y as g,f as h,Te as i,h as j,Oe as k,ce as l,ge as m,ve as n,Ae as o,g as p,S as q,Ce as r,de as s,Ie as t,qe as u,$ as v,pe as w,he as x,ue as y,j as z};
@@ -1 +0,0 @@
1
- import{l as o,s as r}from"../chunks/D4KcrFaB.js";export{o as load_css,r as start};