@bd7pil/ocrc 0.17.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/agent/diff-util.js +49 -0
- package/dist/core/agent/diff-util.js.map +1 -1
- package/dist/core/agent/opencode-backend.js +65 -3
- package/dist/core/agent/opencode-backend.js.map +1 -1
- package/dist/core/history.js +3 -0
- package/dist/core/history.js.map +1 -1
- package/dist/core/relay.js +15 -2
- package/dist/core/relay.js.map +1 -1
- package/dist/core/stream-accumulator.js +3 -3
- package/dist/core/stream-accumulator.js.map +1 -1
- package/dist/transport/web/routes/message.js +12 -1
- package/dist/transport/web/routes/message.js.map +1 -1
- package/dist/transport/web/routes/vcs.js +24 -0
- package/dist/transport/web/routes/vcs.js.map +1 -0
- package/dist/transport/web/server.js +3 -3
- package/dist/transport/web/server.js.map +1 -1
- package/package.json +1 -1
- package/web/dist/_app/immutable/assets/0.Cvwq5hmD.css +1 -0
- package/web/dist/_app/immutable/assets/3.CuiKumD7.css +1 -0
- package/web/dist/_app/immutable/chunks/{DY5gTx_H.js → CU2vlSiG.js} +1 -1
- package/web/dist/_app/immutable/chunks/{CVAbf59M.js → Df4xtzHP.js} +24 -24
- package/web/dist/_app/immutable/chunks/mTCe3pzj.js +1 -0
- package/web/dist/_app/immutable/entry/{app.Bjogw62_.js → app.JVVZGIJH.js} +2 -2
- package/web/dist/_app/immutable/entry/start.CTZhuu9j.js +1 -0
- package/web/dist/_app/immutable/nodes/0.BAZobBP6.js +3 -0
- package/web/dist/_app/immutable/nodes/{1.DWC5wG-Z.js → 1.Cuo-3lJQ.js} +1 -1
- package/web/dist/_app/immutable/nodes/{2.Cbld_6EM.js → 2.Cq6LtW7V.js} +1 -1
- package/web/dist/_app/immutable/nodes/3.DHl5Ub8k.js +4 -0
- package/web/dist/_app/version.json +1 -1
- package/web/dist/index.html +10 -10
- package/web/dist/service-worker.js +1 -1
- package/dist/transport/web/routes/diff.js +0 -7
- package/dist/transport/web/routes/diff.js.map +0 -1
- package/web/dist/_app/immutable/assets/0.DH6byoPa.css +0 -1
- package/web/dist/_app/immutable/assets/3.Ccs8oT1Q.css +0 -1
- package/web/dist/_app/immutable/chunks/TuGPYaVf.js +0 -1
- package/web/dist/_app/immutable/entry/start.otCZAQbr.js +0 -1
- package/web/dist/_app/immutable/nodes/0.gKgVvnWY.js +0 -3
- package/web/dist/_app/immutable/nodes/3.CQzSXOtv.js +0 -4
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import"../chunks/CWj6FrbW.js";import{r as Re,f as Me,k as Pt,p as Wt,l as na,i as ga,F as ba,y as xa,j as ka,z as Bt,e as wa,a as Yt,b as Zt,c as ea,B as ya,w as $a}from"../chunks/mTCe3pzj.js";import{aE as ze,M as ot,a4 as De,w as l,aB as Fe,V,b4 as n,J as s,aK as a,a$ as A,a8 as e,aR as S,a3 as P,aU as r,a6 as d,aw as yt,ay as jt,ap as I,aO as t,aq as Ue,au as o,b5 as $t,Q as Ia,az as Ht,$ as bt,b2 as ra,av as Ct,b1 as Ot,aI as qa,b0 as Ca,a7 as Sa,Z as ja}from"../chunks/BjY4dxcB.js";import{i as B,a as Pe,s as Mt}from"../chunks/DIEDQ_hk.js";import{i as Be,A as Rt,I as He,k as Ma,z as Ne,y as ye,l as xt,r as oa,M as la,w as Ea,B as Ta,c as Da,f as Lt,h as Aa,g as ia,t as Ba,v as Oa,J as ta,a as Ra,E as za,D as Fa,q as La,m as Nt,s as Na,o as aa,j as Pa}from"../chunks/Df4xtzHP.js";import{p as Ie,b as tt}from"../chunks/C2FuqD3s.js";import{g as zt}from"../chunks/CU2vlSiG.js";var Wa=d('<button class="chip svelte-1hbn5f9" role="listitem"> </button>'),Ha=d('<div class="suggestions svelte-1hbn5f9" role="list" aria-label="建议的后续操作"><!> <button class="dismiss svelte-1hbn5f9" aria-label="忽略建议"><!></button></div>');function Ka(de,N){ze(N,!1);let v=Ie(N,"suggestions",24,()=>[]),k=Ie(N,"onPick",8,()=>{}),g=Ie(N,"onDismiss",8,()=>{});Re();var O=ot(),f=De(O);{var m=h=>{var c=Ha(),w=s(c);Be(w,3,v,j=>j,(j,J,K)=>{var $=Wa(),u=s($,!0);a($),A(M=>{Rt($,M),S(u,e(J))},[()=>(V(e(K)),n(()=>`animation-delay: ${Math.min(e(K),5)*45}ms`))]),P("click",$,()=>k()(e(J))),l(j,$)});var C=r(w,2),T=s(C);He(T,{name:"close",size:12}),a(C),a(c),P("click",C,function(...j){var J;(J=g())==null||J.apply(this,j)}),l(h,c)};B(f,h=>{V(v()),n(()=>v().length>0)&&h(m)})}l(de,O),Fe()}var Ua=d('<div class="card user svelte-2ec03f"> </div>');function Ja(de,N){ze(N,!1);let v=Ie(N,"card",8);Re();var k=Ua(),g=s(k,!0);a(k),A(()=>S(g,(V(v()),n(()=>v().text)))),l(de,k),Fe()}var Ga=d('<button class="stop svelte-1n9pz5q">Stop</button>'),Va=d('<div class="thinking-row svelte-1n9pz5q"><span class="toggle mono svelte-1n9pz5q"><span class="caret svelte-1n9pz5q" aria-hidden="true"><!></span> reasoning</span> <!></div>');function Qa(de,N){ze(N,!1);let v=Ie(N,"card",8);Re();var k=Va(),g=s(k),O=s(g),f=s(O);He(f,{name:"caret-right",size:11}),a(O),yt(),a(g);var m=r(g,2);{var h=c=>{var w=Ga();P("click",w,()=>Me.abort(v().sessionId)),l(c,w)};B(m,c=>{V(v()),n(()=>v().showStop)&&c(h)})}a(k),l(de,k),Fe()}const sa={30:"#555",31:"#e0796b",32:"#6cc08b",33:"#e0b341",34:"#7cafc2",35:"#b48cf0",36:"#4ec9b0",37:"#f2f0ec",90:"#8d877c",91:"#f09080",92:"#8dd8a4",93:"#f0c860",94:"#90c5dd",95:"#c9a8f8",96:"#70dcc8",97:"#ffffff"};function Xa(de){let N=de.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");N=N.replace(/\x1b\[[0-9;?]*[A-Za-z]/g,g=>g.endsWith("m")?g:"").replace(/\x1b\][^\x07]*\x07/g,"").replace(/\x1b\][^\x1b]*\x1b\\/g,"");let v=0;const k=[];for(const g of N.split(/(\x1b\[[0-9;]*m)/)){const O=g.match(/^\x1b\[([0-9;]*)m$/);if(!O){k.push(g);continue}const f=O[1].split(";").filter(Boolean).map(Number);f.length===0&&f.push(0);const m=[];for(let h=0;h<f.length;h++){const c=f[h];if(c===0)for(;v>0;)k.push("</span>"),v--;else if(c===38||c===48){const w=f[h+1];w===5?h+=2:w===2&&(c===38&&m.push(`color:rgb(${f[h+2]},${f[h+3]},${f[h+4]})`),h+=4)}else c===1?m.push("font-weight:bold"):c===2?m.push("opacity:0.7"):c===3?m.push("font-style:italic"):c===4?m.push("text-decoration:underline"):sa[c]&&m.push(`color:${sa[c]}`)}m.length&&(k.push(`<span style="${m.join(";")}">`),v++)}for(;v>0;)k.push("</span>"),v--;return k.join("")}var Ya=d('<span class="add svelte-dcl78h"> </span>'),Za=d('<span class="del svelte-dcl78h"> </span>'),es=d('<span class="diff mono svelte-dcl78h"><!> <!></span>'),ts=d('<span class="shimmer svelte-dcl78h" aria-hidden="true"></span>'),as=d('<span class="dur mono svelte-dcl78h"> </span>'),ss=d('<button class="toggle mono svelte-dcl78h"> </button>'),ns=d('<div><div class="term-head svelte-dcl78h"><span class="glyph svelte-dcl78h" aria-hidden="true"> </span> <span class="tname mono svelte-dcl78h"> </span> <!> <!></div> <div class="term-body mono svelte-dcl78h"></div> <!></div>');function rs(de,N){ze(N,!1);const v=o(),k=o(),g=o(),O=o(),f=o();let m=Ie(N,"text",8),h=Ie(N,"tool",8,""),c=Ie(N,"status",8,"done"),w=Ie(N,"dur",8,void 0),C=Ie(N,"adds",8,void 0),T=Ie(N,"dels",8,void 0);const j=20;let J=o(!1),K=o(""),$,u=o(0),M=o("");function H(F){F!==$&&($=F,t(K,Xa(F)))}jt(()=>{e(u)&&cancelAnimationFrame(e(u))});function b(F){return F==null?"":F<1?`${(F*1e3).toFixed(0)}ms`:`${F.toFixed(1)}s`}I(()=>V(m()),()=>{t(v,m().split(`
|
|
2
|
+
`))}),I(()=>e(v),()=>{t(k,e(v).length>j)}),I(()=>(V(c()),e(J)),()=>{t(g,c()==="running"||e(J))}),I(()=>(e(k),e(g),e(v),V(m())),()=>{t(O,e(k)&&!e(g)?e(v).slice(0,j).join(`
|
|
3
|
+
`):m())}),I(()=>(e(O),V(c()),e(M),e(u)),()=>{const F=e(O);c()==="running"&&typeof requestAnimationFrame<"u"?(t(M,F),e(u)||t(u,requestAnimationFrame(()=>{t(u,0),H(e(M))}))):(e(u)&&(cancelAnimationFrame(e(u)),t(u,0)),H(F))}),I(()=>V(c()),()=>{t(f,c()==="done"?"✓":c()==="running"?"●":"✗")}),Ue(),Re();var i=ns(),p=s(i),U=s(p),Q=s(U,!0);a(U);var X=r(U,2),ne=s(X,!0);a(X);var G=r(X,2);{var z=F=>{var Z=es(),ee=s(Z);{var ve=L=>{var W=Ya(),re=s(W);a(W),A(()=>S(re,`+${C()??""}`)),l(L,W)};B(ee,L=>{C()&&L(ve)})}var q=r(ee,2);{var le=L=>{var W=Za(),re=s(W);a(W),A(()=>S(re,`−${T()??""}`)),l(L,W)};B(q,L=>{T()&&L(le)})}a(Z),l(F,Z)};B(G,F=>{(C()||T())&&F(z)})}var _=r(G,2);{var D=F=>{var Z=ts();l(F,Z)},Y=F=>{var Z=as(),ee=s(Z,!0);a(Z),A(ve=>S(ee,ve),[()=>(V(w()),n(()=>b(w())))]),l(F,Z)};B(_,F=>{c()==="running"?F(D):w()!=null&&F(Y,1)})}a(p);var ge=r(p,2);Ma(ge,()=>e(K),!0),a(ge);var me=r(ge,2);{var se=F=>{var Z=ss(),ee=s(Z,!0);a(Z),A(()=>S(ee,(e(g),e(v),n(()=>e(g)?"▴ show less":`▾ show more · ${e(v).length-j} more lines`)))),P("click",Z,()=>t(J,!e(J))),l(F,Z)};B(me,F=>{e(k)&&c()!=="running"&&F(se)})}a(i),A(()=>{Ne(i,1,`term ${c()??""}`,"svelte-dcl78h"),S(Q,e(f)),S(ne,h())}),l(de,i),Fe()}var os=d('<button class="bare svelte-on906i"><!></button>'),ls=d('<span class="ps1 mono svelte-on906i" aria-hidden="true">$</span>'),is=d('<span class="add svelte-on906i"> </span>'),vs=d('<span class="del svelte-on906i"> </span>'),cs=d('<span class="diff mono svelte-on906i"><!> <!></span>'),ds=d('<span class="shimmer svelte-on906i" aria-hidden="true"></span>'),us=d('<span class="dur mono svelte-on906i"> </span>'),ps=d('<span class="go svelte-on906i" aria-hidden="true">↗</span>'),fs=d('<button><div class="row-main svelte-on906i"><span class="status svelte-on906i" aria-hidden="true"></span> <span class="sr-only svelte-on906i"> </span> <span class="name mono svelte-on906i"> </span> <!> <span class="arg mono svelte-on906i"> </span> <!> <!> <!></div></button>'),ms=d('<button class="more mono svelte-on906i"> </button>'),hs=d('<div class="execution svelte-on906i"><div class="header svelte-on906i"><span class="label mono svelte-on906i">EXECUTION</span> <span class="rule svelte-on906i" aria-hidden="true"></span> <span class="count mono svelte-on906i"> </span></div> <div class="rows svelte-on906i"><!> <!></div></div>');function va(de,N){ze(N,!1);const v=o(),k=o(),g=o(),O=o();let f=Ie(N,"tools",8),m=Ie(N,"sessionId",8,void 0);const h=12,c=100;let w=o(!1);const C=new Set;function T(H,b){if(C.has(b))return!0;const i=H.args??"",p=i.includes(`
|
|
4
|
+
`)||i.length>c;return p&&C.add(b),p}function j(H){return H==null?"":H<1?`${(H*1e3).toFixed(0)}ms`:`${H.toFixed(1)}s`}function J(H){!m()||!H.partId||!H.messageId||oa({id:`tool:${m()}:${H.partId}`,kind:"tool",title:H.tool,sessionId:m(),messageId:H.messageId,partId:H.partId})}const K=H=>!!(m()&&H.partId&&H.messageId);I(()=>V(f()),()=>{t(v,f())}),I(()=>(e(w),e(v)),()=>{t(k,e(w)?e(v):e(v).slice(0,h))}),I(()=>e(v),()=>{t(g,e(v).length)}),I(()=>e(v),()=>{t(O,e(v).filter(H=>H.status==="done").length)}),Ue(),Re();var $=ot(),u=De($);{var M=H=>{var b=hs(),i=s(b),p=r(s(i),4),U=s(p);a(p),a(i);var Q=r(i,2),X=s(Q);Be(X,1,()=>e(k),xt,(z,_,D)=>{var Y=ot(),ge=De(Y);{var me=Z=>{var ee=os(),ve=s(ee);rs(ve,{get text(){return e(_),n(()=>e(_).args)},get tool(){return e(_),n(()=>e(_).tool)},get status(){return e(_),n(()=>e(_).status)},get dur(){return e(_),n(()=>e(_).dur)},get adds(){return e(_),n(()=>e(_).adds)},get dels(){return e(_),n(()=>e(_).dels)}}),a(ee),A((q,le)=>{ee.disabled=q,ye(ee,"title",le)},[()=>(e(_),n(()=>!K(e(_)))),()=>(e(_),n(()=>K(e(_))?"查看完整输出":void 0))]),P("click",ee,()=>J(e(_))),l(Z,ee)},se=$t(()=>(e(_),n(()=>T(e(_),D)))),F=Z=>{var ee=fs(),ve=s(ee),q=r(s(ve),2),le=s(q,!0);a(q);var L=r(q,2),W=s(L,!0);a(L);var re=r(L,2);{var _e=he=>{var qe=ls();l(he,qe)};B(re,he=>{e(_),n(()=>e(_).tool==="bash")&&he(_e)})}var be=r(re,2),ue=s(be,!0);a(be);var R=r(be,2);{var ie=he=>{var qe=cs(),Ae=s(qe);{var Le=oe=>{var we=is(),ce=s(we);a(we),A(()=>S(ce,`+${e(_),n(()=>e(_).adds)??""}`)),l(oe,we)};B(Ae,oe=>{e(_),n(()=>e(_).adds)&&oe(Le)})}var E=r(Ae,2);{var te=oe=>{var we=vs(),ce=s(we);a(we),A(()=>S(ce,`−${e(_),n(()=>e(_).dels)??""}`)),l(oe,we)};B(E,oe=>{e(_),n(()=>e(_).dels)&&oe(te)})}a(qe),l(he,qe)};B(R,he=>{e(_),n(()=>e(_).adds||e(_).dels)&&he(ie)})}var xe=r(R,2);{var Se=he=>{var qe=ds();l(he,qe)},Je=he=>{var qe=us(),Ae=s(qe,!0);a(qe),A(Le=>S(Ae,Le),[()=>(e(_),n(()=>j(e(_).dur)))]),l(he,qe)};B(xe,he=>{e(_),n(()=>e(_).status==="running")?he(Se):(e(_),n(()=>e(_).dur!=null)&&he(Je,1))})}var at=r(xe,2);{var Ge=he=>{var qe=ps();l(he,qe)},Ke=$t(()=>(e(_),n(()=>K(e(_)))));B(at,he=>{e(Ke)&&he(Ge)})}a(ve),a(ee),A((he,qe)=>{Ne(ee,1,`row ${e(_),n(()=>e(_).status)??""} bare`,"svelte-on906i"),ee.disabled=he,ye(ee,"title",qe),S(le,(e(_),n(()=>e(_).status))),S(W,(e(_),n(()=>e(_).tool))),S(ue,(e(_),n(()=>e(_).args)))},[()=>(e(_),n(()=>!K(e(_)))),()=>(e(_),n(()=>K(e(_))?"查看完整输出":void 0))]),P("click",ee,()=>J(e(_))),l(Z,ee)};B(ge,Z=>{e(se)?Z(me):Z(F,-1)})}l(z,Y)});var ne=r(X,2);{var G=z=>{var _=ms(),D=s(_);a(_),A(()=>S(D,`… ${e(v),n(()=>e(v).length-h)??""} more`)),P("click",_,()=>t(w,!0)),l(z,_)};B(ne,z=>{e(v),e(w),n(()=>e(v).length>h&&!e(w))&&z(G)})}a(Q),a(b),A(()=>S(U,`${e(O)??""}/${e(g)??""} steps`)),l(H,b)};B(u,H=>{V(f()),n(()=>f().length>0)&&H(M)})}l(de,$),Fe()}var _s=d('<div class="text svelte-l1yd1q"><!></div>'),gs=d('<span class="think-dot svelte-l1yd1q" aria-hidden="true"></span>'),bs=d('<pre class="think-body svelte-l1yd1q"> </pre>'),xs=d('<div class="think svelte-l1yd1q"><button class="think-head svelte-l1yd1q"><!> <span class="think-label svelte-l1yd1q"> </span> <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg></button> <!></div>'),ks=d('<div class="card streaming svelte-l1yd1q"></div>');function ws(de,N){ze(N,!1);const v=o(),k=o();let g=Ie(N,"card",8),O=o(!1);I(()=>V(g()),()=>{t(v,(()=>{const m=[];for(const h of g().blocks)if(h.type==="text"){const c=m[m.length-1];(c==null?void 0:c.kind)==="text"?c.text+=h.text:m.push({kind:"text",text:h.text})}else if(h.type==="tool"){const c=m[m.length-1],w={tool:h.tool,args:h.args,status:h.status,partId:h.partId,messageId:h.messageId};(c==null?void 0:c.kind)==="tools"?c.tools.push(w):m.push({kind:"tools",tools:[w]})}else if(h.type==="reasoning"){const c=m[m.length-1];(c==null?void 0:c.kind)==="reasoning"?c.text+=h.text:m.push({kind:"reasoning",text:h.text})}return m})())}),I(()=>e(v),()=>{t(k,e(v).length>0&&e(v)[e(v).length-1].kind==="reasoning")}),Ue(),Re();var f=ks();Be(f,5,()=>e(v),xt,(m,h)=>{var c=ot(),w=De(c);{var C=K=>{var $=ot(),u=De($);{var M=b=>{var i=_s(),p=s(i);la(p,{get src(){return e(h),n(()=>e(h).text)},throttle:!0,streaming:!0}),a(i),l(b,i)},H=$t(()=>(e(h),n(()=>e(h).text.trim())));B(u,b=>{e(H)&&b(M)})}l(K,$)},T=K=>{va(K,{get tools(){return e(h),n(()=>e(h).tools)},get sessionId(){return V(g()),n(()=>g().sessionId)}})},j=K=>{var $=xs(),u=s($),M=s(u);{var H=ne=>{var G=gs();l(ne,G)};B(M,ne=>{e(k)&&ne(H)})}var b=r(M,2),i=s(b,!0);a(b);var p=r(b,2);let U;a(u);var Q=r(u,2);{var X=ne=>{var G=bs(),z=s(G,!0);a(G),A(()=>S(z,(e(h),n(()=>e(h).text)))),l(ne,G)};B(Q,ne=>{e(O)&&ne(X)})}a($),A(()=>{ye(u,"aria-expanded",e(O)),S(i,e(k)?"思考中…":"思考过程"),U=Ne(p,0,"think-caret svelte-l1yd1q",null,U,{open:e(O)})}),P("click",u,()=>t(O,!e(O))),l(K,$)},J=$t(()=>(e(h),n(()=>e(h).text.trim())));B(w,K=>{e(h),n(()=>e(h).kind==="text")?K(C):(e(h),n(()=>e(h).kind==="tools")?K(T,1):e(J)&&K(j,2))})}l(m,c)}),a(f),l(de,f),Fe()}var ys=d('<details class="think svelte-wmi6xy"><summary class="svelte-wmi6xy">思考过程</summary> <pre class="svelte-wmi6xy"> </pre></details>'),$s=d('<div class="text svelte-wmi6xy"><!></div>'),Is=d('<span class="chip agent mono svelte-wmi6xy"> </span>'),qs=d('<span class="chip mono svelte-wmi6xy"> </span>'),Cs=d('<span class="chip mono svelte-wmi6xy"> </span>'),Ss=d('<span class="chip mono svelte-wmi6xy"> </span>'),js=d('<span class="chip cost mono svelte-wmi6xy"> </span>'),Ms=d('<button class="icon svelte-wmi6xy" title="重新生成" aria-label="重新生成"><!></button>'),Es=d('<div class="meta svelte-wmi6xy"><div class="chips svelte-wmi6xy"><!> <!> <!> <!> <!></div> <div class="actions svelte-wmi6xy"><!> <button title="复制" aria-label="复制"><!></button></div></div>'),Ts=d('<div class="card assistant svelte-wmi6xy"><!> <!> <!> <!></div>');function Ds(de,N){ze(N,!1);const v=o(),k=o(),g=o(),O=o();let f=Ie(N,"card",8),m=Ie(N,"onRegenerate",8,void 0);function h(b){return b>=1e3?`${(b/1e3).toFixed(1)}k`:String(b)}let c=o(!1),w;async function C(){if(e(k)){try{await navigator.clipboard.writeText(e(k))}catch{return}t(c,!0),w&&clearTimeout(w),w=setTimeout(()=>t(c,!1),1300)}}jt(()=>clearTimeout(w)),I(()=>V(f()),()=>{t(v,f().blocks.filter(b=>b.type==="tool").map(b=>({tool:b.tool,args:b.args,status:b.status,partId:b.partId,messageId:b.messageId})))}),I(()=>V(f()),()=>{t(k,f().blocks.filter(b=>b.type==="text").map(b=>b.text).join(""))}),I(()=>V(f()),()=>{t(g,f().meta)}),I(()=>e(g),()=>{t(O,e(g).agent||e(g).model||e(g).tokens||e(g).duration!=null||e(g).cost!==void 0)}),Ue(),Re();var T=Ts(),j=s(T);{var J=b=>{var i=ys(),p=r(s(i),2),U=s(p,!0);a(p),a(i),A(()=>S(U,(V(f()),n(()=>f().thinkingText)))),l(b,i)};B(j,b=>{V(f()),n(()=>f().thinkingText)&&b(J)})}var K=r(j,2);va(K,{get tools(){return e(v)},get sessionId(){return V(f()),n(()=>f().sessionId)}});var $=r(K,2);{var u=b=>{var i=$s(),p=s(i);la(p,{get src(){return e(k)}}),a(i),l(b,i)};B($,b=>{e(k)&&b(u)})}var M=r($,2);{var H=b=>{var i=Es(),p=s(i),U=s(p);{var Q=L=>{var W=Is(),re=s(W,!0);a(W),A(()=>S(re,(e(g),n(()=>e(g).agent)))),l(L,W)};B(U,L=>{e(g),n(()=>e(g).agent)&&L(Q)})}var X=r(U,2);{var ne=L=>{var W=qs(),re=s(W,!0);a(W),A(()=>S(re,(e(g),n(()=>e(g).model)))),l(L,W)};B(X,L=>{e(g),n(()=>e(g).model)&&L(ne)})}var G=r(X,2);{var z=L=>{var W=Cs(),re=s(W);a(W),A((_e,be)=>S(re,`↑${_e??""} ↓${be??""}`),[()=>(e(g),n(()=>h(e(g).tokens.input))),()=>(e(g),n(()=>h(e(g).tokens.output)))]),l(L,W)};B(G,L=>{e(g),n(()=>e(g).tokens)&&L(z)})}var _=r(G,2);{var D=L=>{var W=Ss(),re=s(W);a(W),A(()=>S(re,`${e(g),n(()=>e(g).duration)??""}s`)),l(L,W)};B(_,L=>{e(g),n(()=>e(g).duration!=null)&&L(D)})}var Y=r(_,2);{var ge=L=>{var W=js(),re=s(W);a(W),A(_e=>S(re,`$${_e??""}`),[()=>(e(g),n(()=>e(g).cost.toFixed(3)))]),l(L,W)};B(Y,L=>{e(g),n(()=>e(g).cost!==void 0)&&L(ge)})}a(p);var me=r(p,2),se=s(me);{var F=L=>{var W=Ms(),re=s(W);He(re,{name:"refresh",size:13}),a(W),P("click",W,function(..._e){var be;(be=m())==null||be.apply(this,_e)}),l(L,W)};B(se,L=>{m()&&L(F)})}var Z=r(se,2);let ee;var ve=s(Z);{var q=L=>{He(L,{name:"check",size:13})},le=L=>{He(L,{name:"copy",size:13})};B(ve,L=>{e(c)?L(q):L(le,-1)})}a(Z),a(me),a(i),A(()=>ee=Ne(Z,1,"icon svelte-wmi6xy",null,ee,{copied:e(c)})),P("click",Z,C),l(b,i)};B(M,b=>{e(O)&&b(H)})}a(T),l(de,T),Fe()}var As=d('<button class="retry svelte-1m8kde8"><!> Retry</button>'),Bs=d('<div class="card error svelte-1m8kde8"><div class="head svelte-1m8kde8"><!> </div> <code class="svelte-1m8kde8"> </code> <!></div>');function Os(de,N){ze(N,!1);const v=o();let k=Ie(N,"card",8),g=Ie(N,"onRetry",8,void 0);const O=Ia();function f($){const u=($||"").toLowerCase();return u.includes("abort")?{label:"Stopped",retryable:!1}:u.includes("timeout")||u.includes("timed out")?{label:"Timed out",retryable:!0}:u.includes("fetch")||u.includes("network")||u.includes("econn")||/\b(429|500|502|503|504)\b/.test(u)?{label:"Network issue",retryable:!0}:{label:"Error",retryable:!0}}function m(){g()?g()():O("retry")}I(()=>V(k()),()=>{t(v,f(k().message))}),Ue(),Re();var h=Bs(),c=s(h),w=s(c);He(w,{name:"alert",size:13});var C=r(w);a(c);var T=r(c,2),j=s(T,!0);a(T);var J=r(T,2);{var K=$=>{var u=As(),M=s(u);He(M,{name:"refresh",size:11}),yt(),a(u),A(()=>u.disabled=!g()),P("click",u,m),l($,u)};B(J,$=>{e(v),n(()=>e(v).retryable)&&$(K)})}a(h),A(()=>{S(C,` ${e(v),n(()=>e(v).label)??""}`),S(j,(V(k()),n(()=>k().message)))}),l(de,h),Fe()}var Rs=d('<div class="note mono svelte-hbf6ni"> </div>');function zs(de,N){ze(N,!1);const v=o(),k=o();let g=Ie(N,"card",8);I(()=>V(g()),()=>{t(v,g().sections.map(m=>m.body).join(" ")||"")}),I(()=>(V(g()),e(v)),()=>{t(k,[g().title,e(v)].filter(Boolean).join(" — "))}),Ue(),Re();var O=Rs(),f=s(O,!0);a(O),A(()=>S(f,e(k))),l(de,O),Fe()}var Fs=d('<div class="note mono svelte-scaqco"> </div>');function Ls(de,N){ze(N,!1);const v=o(),k=o(),g=o(),O=o();let f=Ie(N,"card",8);I(()=>V(f()),()=>{t(v,f().fields.title??"Status")}),I(()=>V(f()),()=>{t(k,Object.entries(f().fields).filter(([c])=>c!=="title"))}),I(()=>e(k),()=>{t(g,e(k).map(([c,w])=>`${c}: ${w}`).join(" · "))}),I(()=>(e(v),e(g)),()=>{t(O,[e(v),e(g)].filter(Boolean).join(" · "))}),Ue(),Re();var m=Fs(),h=s(m,!0);a(m),A(()=>S(h,e(O))),l(de,m),Fe()}var Ns=d('<div><span class="mark svelte-19vkggv" aria-hidden="true"> </span> <span class="rlabel svelte-19vkggv"> </span> <span class="rttl svelte-19vkggv"> </span></div>'),Ps=d('<div class="appr pending svelte-19vkggv"><div class="header svelte-19vkggv"><span class="warn-dot svelte-19vkggv" aria-hidden="true"></span> <span class="label svelte-19vkggv">需要审批</span> <span class="rule svelte-19vkggv" aria-hidden="true"></span> <span class="tool mono svelte-19vkggv"> </span></div> <pre class="diff mono svelte-19vkggv"> </pre> <div class="acts svelte-19vkggv"><button class="a allow svelte-19vkggv">批准</button> <button class="a always svelte-19vkggv">总是允许</button> <span class="spacer svelte-19vkggv"></span> <button class="a rej svelte-19vkggv">拒绝</button></div></div>');function Ws(de,N){ze(N,!1);const v=o(),k=o(),g=o();let O=Ie(N,"card",8),f=o("");async function m(j){try{await Me.approve(O().sessionId,O().requestId,j),t(f,j)}catch{t(f,"error")}}const h={once:"已批准 — 已应用",always:"已设为自动允许",reject:"已拒绝 — 未应用",error:"失败"};I(()=>e(f),()=>{t(v,!!e(f))}),I(()=>e(f),()=>{t(k,e(f)==="reject"||e(f)==="error")}),I(()=>V(O()),()=>{t(g,typeof O().args=="string"?O().args:JSON.stringify(O().args,null,2))}),Ue(),Re();var c=ot(),w=De(c);{var C=j=>{var J=Ns();let K;var $=s(J),u=s($,!0);a($);var M=r($,2),H=s(M,!0);a(M);var b=r(M,2),i=s(b,!0);a(b),a(J),A(()=>{K=Ne(J,1,"appr resolved svelte-19vkggv",null,K,{rej:e(k)}),S(u,e(k)?"✕":"✓"),S(H,(e(f),n(()=>h[e(f)]??e(f)))),S(i,(V(O()),n(()=>O().title)))}),l(j,J)},T=j=>{var J=Ps(),K=s(J),$=r(s(K),6),u=s($,!0);a($),a(K);var M=r(K,2),H=s(M,!0);a(M);var b=r(M,2),i=s(b),p=r(i,2),U=r(p,4);a(b),a(J),A(()=>{S(u,(V(O()),n(()=>O().title))),S(H,e(g))}),P("click",i,()=>m("once")),P("click",p,()=>m("always")),P("click",U,()=>m("reject")),l(j,J)};B(w,j=>{e(v)?j(C):j(T,-1)})}l(de,c),Fe()}var Hs=d('<div><span class="mark svelte-hiqfhq" aria-hidden="true"> </span> <span class="rlabel svelte-hiqfhq"> </span> <span class="rttl mono svelte-hiqfhq"> </span></div>'),Ks=d('<span class="mono warn-note svelte-hiqfhq">当前后端不支持 Web 回答</span>'),Us=d('<div class="qhead mono svelte-hiqfhq"> </div>'),Js=d("<button> </button>"),Gs=d('<input class="custom mono svelte-hiqfhq" placeholder="或输入自定义回答…"/>'),Vs=d('<div class="hint svelte-hiqfhq">可多选</div>'),Qs=d('<div class="q svelte-hiqfhq"><!> <div class="qtext svelte-hiqfhq"> </div> <div class="opts svelte-hiqfhq"></div> <!> <!></div>'),Xs=d('<div class="qcard pending svelte-hiqfhq"><div class="header svelte-hiqfhq"><span class="q-dot svelte-hiqfhq" aria-hidden="true"></span> <span class="label svelte-hiqfhq">需要你的回答</span> <span class="rule svelte-hiqfhq" aria-hidden="true"></span> <!></div> <!> <div class="acts svelte-hiqfhq"><button class="a send svelte-hiqfhq">提交回答</button> <span class="spacer svelte-hiqfhq"></span> <button class="a rej svelte-hiqfhq">取消</button></div></div>');function Ys(de,N){ze(N,!1);const v=()=>Pe(Pt,"$can",k),[k,g]=Mt(),O=o(),f=o(),m=o(),h=o();let c=Ie(N,"card",8),w=o({}),C=o({}),T=o("");function j(i,p,U){const Q=e(w)[i]??[];U?t(w,{...e(w),[i]:Q.includes(p)?Q.filter(X=>X!==p):[...Q,p]}):t(w,{...e(w),[i]:Q.includes(p)?[]:[p]})}async function J(){const i=(c().questions??[]).map((p,U)=>{const Q=(e(C)[U]??"").trim();return Q?[Q]:(e(w)[U]??[]).map(X=>{var ne;return(ne=p.options[X])==null?void 0:ne.label}).filter(X=>!!X)});try{const p=await Me.answerQuestion(c().sessionId,c().requestId,i);t(T,p!=null&&p.stale?"stale":p!=null&&p.ok?"replied":"error")}catch{t(T,"error")}}async function K(){try{const i=await Me.rejectQuestion(c().sessionId,c().requestId);t(T,i!=null&&i.stale?"stale":i!=null&&i.ok?"rejected":"error")}catch{t(T,"error")}}const $={replied:"已回答",rejected:"已取消",stale:"已在其他界面回答",error:"提交失败"};I(()=>(V(c()),e(T)),()=>{t(O,c().resolved??(e(T)==="replied"||e(T)==="rejected"?e(T):void 0))}),I(()=>e(T),()=>{t(f,e(T)==="stale")}),I(()=>v(),()=>{t(m,v()("questions"))}),I(()=>(V(c()),e(C),e(w)),()=>{t(h,(c().questions??[]).every((i,p)=>(e(C)[p]??"").trim()?!0:(e(w)[p]??[]).length>0))}),Ue(),Re();var u=ot(),M=De(u);{var H=i=>{var p=Hs();let U;var Q=s(p),X=s(Q,!0);a(Q);var ne=r(Q,2),G=s(ne,!0);a(ne);var z=r(ne,2),_=s(z,!0);a(z),a(p),A(D=>{U=Ne(p,1,"qcard resolved svelte-hiqfhq",null,U,{fresh:e(T)!=="",rej:e(O)==="rejected"||e(f)||e(T)==="error"}),S(X,e(O)==="replied"?"✓":"✕"),S(G,(e(O),e(T),n(()=>$[e(O)??e(T)]??""))),S(_,D)},[()=>(V(c()),n(()=>c().requestId.slice(0,12)))]),l(i,p)},b=i=>{var p=Xs(),U=s(p),Q=r(s(U),6);{var X=D=>{var Y=Ks();l(D,Y)};B(Q,D=>{e(m)||D(X)})}a(U);var ne=r(U,2);Be(ne,1,()=>(V(c()),n(()=>c().questions)),xt,(D,Y,ge)=>{var me=Qs(),se=s(me);{var F=re=>{var _e=Us(),be=s(_e,!0);a(_e),A(()=>S(be,(e(Y),n(()=>e(Y).header)))),l(re,_e)};B(se,re=>{e(Y),n(()=>e(Y).header)&&re(F)})}var Z=r(se,2),ee=s(Z,!0);a(Z);var ve=r(Z,2);Be(ve,5,()=>(e(Y),n(()=>e(Y).options)),xt,(re,_e,be)=>{var ue=Js();let R;var ie=s(ue,!0);a(ue),A(xe=>{R=Ne(ue,1,"opt svelte-hiqfhq",null,R,xe),ye(ue,"title",(e(_e),n(()=>e(_e).description??e(_e).label))),S(ie,(e(_e),n(()=>e(_e).label)))},[()=>({on:(e(w)[ge]??[]).includes(be)})]),P("click",ue,()=>j(ge,be,e(Y).multiple)),l(re,ue)}),a(ve);var q=r(ve,2);{var le=re=>{var _e=Gs();Ea(_e),A(()=>Ta(_e,(e(C),n(()=>e(C)[ge]??"")))),P("input",_e,be=>t(C,{...e(C),[ge]:be.currentTarget.value})),l(re,_e)};B(q,re=>{e(Y),n(()=>e(Y).custom)&&re(le)})}var L=r(q,2);{var W=re=>{var _e=Vs();l(re,_e)};B(L,re=>{e(Y),n(()=>e(Y).multiple)&&re(W)})}a(me),A(()=>S(ee,(e(Y),n(()=>e(Y).question)))),l(D,me)});var G=r(ne,2),z=s(G),_=r(z,4);a(G),a(p),A(()=>{z.disabled=!e(m)||!e(h)||e(T)==="error",_.disabled=!e(m)}),P("click",z,J),P("click",_,K),l(i,p)};B(M,i=>{e(O)||e(f)?i(H):i(b,-1)})}l(de,u),Fe(),g()}var Zs=d('<div class="card placeholder svelte-1udyrqm"> </div>');function en(de,N){ze(N,!1);let v=Ie(N,"card",8),k=Ie(N,"onRetry",8,void 0),g=Ie(N,"onRegenerate",8,void 0);Re();var O=ot(),f=De(O);{var m=u=>{Ja(u,{get card(){return v()}})},h=u=>{Qa(u,{get card(){return v()}})},c=u=>{ws(u,{get card(){return v()}})},w=u=>{Ds(u,{get card(){return v()},get onRegenerate(){return g()}})},C=u=>{Os(u,{get card(){return v()},get onRetry(){return k()}})},T=u=>{zs(u,{get card(){return v()}})},j=u=>{Ls(u,{get card(){return v()}})},J=u=>{Ws(u,{get card(){return v()}})},K=u=>{Ys(u,{get card(){return v()}})},$=u=>{var M=Zs(),H=s(M);a(M),A(()=>S(H,`[${V(v()),n(()=>v().kind)??""}]`)),l(u,M)};B(f,u=>{V(v()),n(()=>v().kind==="user")?u(m):(V(v()),n(()=>v().kind==="thinking")?u(h,1):(V(v()),n(()=>v().kind==="streaming")?u(c,2):(V(v()),n(()=>v().kind==="assistant")?u(w,3):(V(v()),n(()=>v().kind==="error")?u(C,4):(V(v()),n(()=>v().kind==="info")?u(T,5):(V(v()),n(()=>v().kind==="status")?u(j,6):(V(v()),n(()=>v().kind==="approval")?u(J,7):(V(v()),n(()=>v().kind==="question")?u(K,8):u($,-1)))))))))})}l(de,O),Fe()}var tn=d('<div class="none label svelte-1f5vmb3">未配置 agent</div>'),an=d('<button role="option"><span> </span> <span class="label mono"> </span></button>'),sn=d('<div class="pop svelte-1f5vmb3" role="listbox" aria-label="Agent 覆盖"><!> <!> <button class="opt clear svelte-1f5vmb3" role="option"><!> 清除覆盖</button></div>'),nn=d('<div class="wrap svelte-1f5vmb3"><button class="chip mono svelte-1f5vmb3" aria-haspopup="listbox"><!> <span class="txt svelte-1f5vmb3"> </span> <!></button> <!></div>');function rn(de,N){ze(N,!1);const v=o();let k=o(!1),g=o(),O=o([]),f=o({agent:null,model:null});async function m(){try{await(async b=>{var i=ra(b,2);t(O,i[0]),t(f,i[1])})(await Promise.all([Me.agents(),Me.getOverrides()]))}catch{}}Ht(m);async function h(b){await Me.setOverrides({agent:b.name}),await m(),t(k,!1)}async function c(){await Me.setOverrides({agent:null}),await m(),t(k,!1)}function w(b){b.key==="Escape"&&e(k)&&t(k,!1)}function C(b){e(k)&&e(g)&&!e(g).contains(b.target)&&t(k,!1)}I(()=>e(f),()=>{t(v,e(f).agent??"default")}),Ue(),Re();var T=nn();P("keydown",bt,w),P("click",bt,C);var j=s(T),J=s(j);He(J,{name:"cpu",size:11});var K=r(J,2),$=s(K,!0);a(K);var u=r(K,2);He(u,{name:"caret-down",size:9}),a(j);var M=r(j,2);{var H=b=>{var i=sn(),p=s(i);{var U=G=>{var z=tn();l(G,z)};B(p,G=>{e(O),n(()=>e(O).length===0)&&G(U)})}var Q=r(p,2);Be(Q,1,()=>e(O),G=>G.name,(G,z)=>{var _=an();let D;var Y=s(_),ge=s(Y,!0);a(Y);var me=r(Y,2),se=s(me,!0);a(me),a(_),A(F=>{D=Ne(_,1,"opt svelte-1f5vmb3",null,D,{sel:e(z).name===e(f).agent}),ye(_,"aria-selected",(e(z),e(f),n(()=>e(z).name===e(f).agent))),S(ge,(e(z),n(()=>e(z).name))),S(se,F)},[()=>(e(z),n(()=>e(z).model.split("/").pop()))]),P("click",_,()=>h(e(z))),l(G,_)});var X=r(Q,2),ne=s(X);He(ne,{name:"close",size:11}),yt(),a(X),a(i),A(()=>ye(X,"aria-selected",(e(f),n(()=>e(f).agent==null)))),P("click",X,c),l(b,i)};B(M,b=>{e(k)&&b(H)})}a(T),tt(T,b=>t(g,b),()=>e(g)),A(()=>{ye(j,"aria-expanded",e(k)),S($,e(v))}),P("click",j,()=>{t(k,!e(k)),e(k)&&m()}),l(de,T),Fe()}var on=d('<div class="none label svelte-1005b73">暂无模型</div>'),ln=d('<button role="option"><span> </span></button>'),vn=d('<div class="prov label mono svelte-1005b73"> </div> <!>',1),cn=d('<div class="pop svelte-1005b73" role="listbox" aria-label="模型覆盖"><!> <!> <button class="opt clear svelte-1005b73" role="option"><!> 清除覆盖</button></div>'),dn=d('<div class="wrap svelte-1005b73"><button class="chip mono svelte-1005b73" aria-haspopup="listbox"><!> <span class="txt svelte-1005b73"> </span> <!></button> <!></div>');function un(de,N){ze(N,!1);const v=o();let k=o(!1),g=o(),O=o([]),f=o({agent:null,model:null});async function m(){try{await(async b=>{var i=ra(b,2);t(O,i[0]),t(f,i[1])})(await Promise.all([Me.models(),Me.getOverrides()]))}catch{}}Ht(m);async function h(b,i){await Me.setOverrides({model:{providerID:b,modelID:i}}),await m(),t(k,!1)}async function c(){await Me.setOverrides({model:null}),await m(),t(k,!1)}function w(b){b.key==="Escape"&&e(k)&&t(k,!1)}function C(b){e(k)&&e(g)&&!e(g).contains(b.target)&&t(k,!1)}I(()=>e(f),()=>{var b;t(v,((b=e(f).model)==null?void 0:b.modelID)??"model")}),Ue(),Re();var T=dn();P("keydown",bt,w),P("click",bt,C);var j=s(T),J=s(j);He(J,{name:"bolt",size:11});var K=r(J,2),$=s(K,!0);a(K);var u=r(K,2);He(u,{name:"caret-down",size:9}),a(j);var M=r(j,2);{var H=b=>{var i=cn(),p=s(i);{var U=G=>{var z=on();l(G,z)};B(p,G=>{e(O),n(()=>e(O).length===0)&&G(U)})}var Q=r(p,2);Be(Q,1,()=>e(O),G=>G.id,(G,z)=>{var _=vn(),D=De(_),Y=s(D,!0);a(D);var ge=r(D,2);Be(ge,1,()=>(e(z),n(()=>e(z).models)),me=>me.id,(me,se)=>{var F=ln();let Z;var ee=s(F),ve=s(ee,!0);a(ee),a(F),A(()=>{var q,le;Z=Ne(F,1,"opt svelte-1005b73",null,Z,{sel:((q=e(f).model)==null?void 0:q.providerID)===e(z).id&&((le=e(f).model)==null?void 0:le.modelID)===e(se).id}),ye(F,"aria-selected",(e(f),e(z),e(se),n(()=>{var L,W;return((L=e(f).model)==null?void 0:L.providerID)===e(z).id&&((W=e(f).model)==null?void 0:W.modelID)===e(se).id}))),S(ve,(e(se),n(()=>e(se).name||e(se).id)))}),P("click",F,()=>h(e(z).id,e(se).id)),l(me,F)}),A(()=>S(Y,(e(z),n(()=>e(z).id)))),l(G,_)});var X=r(Q,2),ne=s(X);He(ne,{name:"close",size:11}),yt(),a(X),a(i),A(()=>ye(X,"aria-selected",(e(f),n(()=>e(f).model==null)))),P("click",X,c),l(b,i)};B(M,b=>{e(k)&&b(H)})}a(T),tt(T,b=>t(g,b),()=>e(g)),A(()=>{ye(j,"aria-expanded",e(k)),S($,e(v))}),P("click",j,()=>{t(k,!e(k)),e(k)&&m()}),l(de,T),Fe()}var pn=d('<button role="option"> </button>'),fn=d('<div class="pop svelte-dkbq22" role="listbox" aria-label="Mode"><div class="label">Mode</div> <!></div>'),mn=d('<div class="wrap svelte-dkbq22"><button class="chip mono svelte-dkbq22" aria-haspopup="listbox"><!> <span class="txt svelte-dkbq22"> </span> <!></button> <!></div>'),hn=d('<button role="option"> </button>'),_n=d('<div class="pop svelte-dkbq22" role="listbox" aria-label="Model"><div class="label">Model</div> <!></div>'),gn=d('<div class="wrap svelte-dkbq22"><button class="chip mono svelte-dkbq22" aria-haspopup="listbox"><!> <span class="txt svelte-dkbq22"> </span> <!></button> <!></div>'),bn=d('<div class="controls svelte-dkbq22"><!> <!></div>');function xn(de,N){ze(N,!1);const v=o(),k=o(),g=o(),O=o();let f=Ie(N,"sessionId",8),m=o({}),h=o(null);async function c(){const i=f();try{const p=await Me.controls(i);if(i!==f())return;t(m,p)}catch{i===f()&&t(m,{})}}async function w(i){e(m).mode&&Ct(m,e(m).mode={...e(m).mode,current:i}),t(h,null);try{await Me.setMode(f(),i)}catch{}await c()}async function C(i){e(m).model&&Ct(m,e(m).model={...e(m).model,current:i}),t(h,null);try{await Me.setModel(f(),i)}catch{}await c()}function T(i){t(h,e(h)===i?null:i)}let j=o();function J(i){i.key==="Escape"&&e(h)&&t(h,null)}function K(i){e(h)&&e(j)&&!e(j).contains(i.target)&&t(h,null)}I(()=>V(f()),()=>{f()&&c()}),I(()=>e(m),()=>{var i;t(v,((i=e(m).mode)==null?void 0:i.options)??[])}),I(()=>e(m),()=>{var i;t(k,((i=e(m).model)==null?void 0:i.options)??[])}),I(()=>e(m),()=>{var i,p,U;t(g,((p=(i=e(m).mode)==null?void 0:i.options.find(Q=>{var X;return Q.id===((X=e(m).mode)==null?void 0:X.current)}))==null?void 0:p.name)??((U=e(m).mode)==null?void 0:U.current)??"mode")}),I(()=>e(m),()=>{var i,p,U;t(O,((p=(i=e(m).model)==null?void 0:i.options.find(Q=>{var X;return Q.id===((X=e(m).model)==null?void 0:X.current)}))==null?void 0:p.name)??((U=e(m).model)==null?void 0:U.current)??"model")}),Ue(),Re();var $=bn();P("keydown",bt,J),P("click",bt,K);var u=s($);{var M=i=>{var p=mn(),U=s(p),Q=s(U);He(Q,{name:"bolt",size:11});var X=r(Q,2),ne=s(X,!0);a(X);var G=r(X,2);He(G,{name:"caret-down",size:9}),a(U);var z=r(U,2);{var _=D=>{var Y=fn(),ge=r(s(Y),2);Be(ge,1,()=>e(v),xt,(me,se)=>{var F=pn();let Z;var ee=s(F,!0);a(F),A(()=>{var ve;Z=Ne(F,1,"opt svelte-dkbq22",null,Z,{sel:e(se).id===((ve=e(m).mode)==null?void 0:ve.current)}),ye(F,"aria-selected",(e(se),e(m),n(()=>{var q;return e(se).id===((q=e(m).mode)==null?void 0:q.current)}))),S(ee,(e(se),n(()=>e(se).name)))}),P("click",F,()=>w(e(se).id)),l(me,F)}),a(Y),l(D,Y)};B(z,D=>{e(h)==="mode"&&D(_)})}a(p),A(()=>{ye(U,"aria-expanded",e(h)==="mode"),S(ne,e(g))}),P("click",U,()=>T("mode")),l(i,p)};B(u,i=>{e(v),n(()=>e(v).length>0)&&i(M)})}var H=r(u,2);{var b=i=>{var p=gn(),U=s(p),Q=s(U);He(Q,{name:"cpu",size:11});var X=r(Q,2),ne=s(X,!0);a(X);var G=r(X,2);He(G,{name:"caret-down",size:9}),a(U);var z=r(U,2);{var _=D=>{var Y=_n(),ge=r(s(Y),2);Be(ge,1,()=>e(k),xt,(me,se)=>{var F=hn();let Z;var ee=s(F,!0);a(F),A(()=>{var ve;Z=Ne(F,1,"opt svelte-dkbq22",null,Z,{sel:e(se).id===((ve=e(m).model)==null?void 0:ve.current)}),ye(F,"aria-selected",(e(se),e(m),n(()=>{var q;return e(se).id===((q=e(m).model)==null?void 0:q.current)}))),S(ee,(e(se),n(()=>e(se).name)))}),P("click",F,()=>C(e(se).id)),l(me,F)}),a(Y),l(D,Y)};B(z,D=>{e(h)==="model"&&D(_)})}a(p),A(()=>{ye(U,"aria-expanded",e(h)==="model"),S(ne,e(O))}),P("click",U,()=>T("model")),l(i,p)};B(H,i=>{e(k),n(()=>e(k).length>0)&&i(b)})}a($),tt($,i=>t(j,i),()=>e(j)),l(de,$),Fe()}var kn=d('<span class="seg svelte-4bdpxt"></span>'),wn=d('<span class="lg svelte-4bdpxt"><span class="dot svelte-4bdpxt"></span> </span>'),yn=d('<div class="row svelte-4bdpxt"><span>缓存命中率</span><span class="mono svelte-4bdpxt"> </span></div>'),$n=d('<div class="row svelte-4bdpxt"><span>消息</span><span class="mono svelte-4bdpxt"> </span></div>'),In=d('<div class="row svelte-4bdpxt"><span>模型</span><span class="mono svelte-4bdpxt"> </span></div>'),qn=d('<div class="row svelte-4bdpxt"><span>总成本</span><span class="mono svelte-4bdpxt"> </span></div>'),Cn=d('<div class="pop svelte-4bdpxt" role="dialog" aria-label="上下文用量"><div class="head svelte-4bdpxt"><span class="label svelte-4bdpxt">上下文</span> <span class="mono dim svelte-4bdpxt"> </span></div> <div class="bar svelte-4bdpxt" aria-hidden="true"></div> <div class="legend svelte-4bdpxt"></div> <div class="rows svelte-4bdpxt"><!> <!> <!> <!></div></div>'),Sn=d('<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 jn(de,N){ze(N,!1);const v=()=>Pe(Wt,"$feeds",k),[k,g]=Mt(),O=o(),f=o(),m=o(),h=o(),c=o(),w=o(),C=o(),T=o(),j=o(),J=o(),K=o(),$=o(),u=o(),M=o(),H=o(),b=o();let i=Ie(N,"sessionId",8),p=o({}),U=o(!1),Q=o(),X,ne=o(),G=o(-1),z=o();async function _(R){try{t(p,await Me.context(R))}catch{}}jt(()=>{clearTimeout(e(z)),clearTimeout(X)});const D=10,Y=2*Math.PI*D;function ge(R){return R>=1e6?(R/1e6).toFixed(1)+"M":R>=1e3?(R/1e3).toFixed(1)+"k":String(R)}function me(R){return R==null?"—":`$${R.toFixed(3)}`}function se(){clearTimeout(X),t(U,!0)}function F(){clearTimeout(X),X=setTimeout(()=>t(U,!1),180)}function Z(R){R.key==="Escape"&&t(U,!1)}function ee(R){e(U)&&e(Q)&&!e(Q).contains(R.target)&&t(U,!1)}I(()=>(V(i()),e(ne)),()=>{i()!==e(ne)&&(t(ne,i()),_(i()))}),I(()=>(v(),V(i())),()=>{var R;t(O,((R=v()[i()])==null?void 0:R.lastSeq)??0)}),I(()=>(e(O),e(G),e(z),V(i())),()=>{e(O)!==e(G)&&(t(G,e(O)),clearTimeout(e(z)),t(z,setTimeout(()=>void _(i()),1e3)))}),I(()=>e(p),()=>{var R,ie;t(f,typeof((ie=(R=e(p))==null?void 0:R.tokens)==null?void 0:ie.input)=="number"?e(p).tokens.input:0)}),I(()=>e(p),()=>{var R,ie;t(m,typeof((ie=(R=e(p))==null?void 0:R.tokens)==null?void 0:ie.output)=="number"?e(p).tokens.output:0)}),I(()=>(e(p),e(f),e(m)),()=>{var R,ie;t(h,typeof((ie=(R=e(p))==null?void 0:R.tokens)==null?void 0:ie.used)=="number"?e(p).tokens.used:e(f)+e(m))}),I(()=>e(p),()=>{var R,ie;t(c,typeof((ie=(R=e(p))==null?void 0:R.tokens)==null?void 0:ie.max)=="number"?e(p).tokens.max:void 0)}),I(()=>(e(h),e(c)),()=>{t(w,e(h)>0&&e(c)?Math.min(100,e(h)/e(c)*100):0)}),I(()=>e(w),()=>{t(C,e(w)>=90?"var(--err)":e(w)>=70?"var(--warn)":"var(--ok)")}),I(()=>e(p),()=>{var R;t(T,(R=e(p))!=null&&R.model?String(e(p).model).split("/").pop():void 0)}),I(()=>e(p),()=>{var R;t(j,typeof((R=e(p))==null?void 0:R.cost)=="number"?e(p).cost:void 0)}),I(()=>e(p),()=>{var R,ie,xe;t(J,typeof((xe=(ie=(R=e(p))==null?void 0:R.tokens)==null?void 0:ie.cache)==null?void 0:xe.read)=="number"?e(p).tokens.cache.read:0)}),I(()=>e(p),()=>{var R,ie,xe;t(K,typeof((xe=(ie=(R=e(p))==null?void 0:R.tokens)==null?void 0:ie.cache)==null?void 0:xe.write)=="number"?e(p).tokens.cache.write:0)}),I(()=>(e(f),e(J)),()=>{t($,e(f)+e(J)>0?Math.round(e(J)/(e(f)+e(J))*100):void 0)}),I(()=>(v(),V(i())),()=>{t(u,v()[i()])}),I(()=>e(u),()=>{t(M,na(e(u)).filter(R=>R.kind==="user"||R.kind==="assistant").length)}),I(()=>(e(J),e(K),e(f),e(m)),()=>{t(H,[{key:"缓存读",v:e(J),c:"var(--ok)"},{key:"缓存写",v:e(K),c:"var(--info)"},{key:"输入",v:e(f),c:"var(--text-3)"},{key:"输出",v:e(m),c:"var(--hl-purple)"}].filter(R=>R.v>0))}),I(()=>e(H),()=>{t(b,e(H).reduce((R,ie)=>R+ie.v,0))}),Ue(),Re();var ve=Sn();P("keydown",bt,Z),P("click",bt,ee);var q=s(ve),le=s(q),L=s(le);ye(L,"r",D);var W=r(L);ye(W,"r",D),a(le);var re=r(le,2),_e=s(re,!0);yt(),a(re),a(q);var be=r(q,2);{var ue=R=>{var ie=Cn(),xe=s(ie),Se=r(s(xe),2),Je=s(Se);a(Se),a(xe);var at=r(xe,2);Be(at,5,()=>e(H),xt,(ce,x)=>{var pe=kn();A(()=>Rt(pe,(e(x),e(b),n(()=>`width:${e(x).v/(e(b)||1)*100}%; background:${e(x).c}`)))),l(ce,pe)}),a(at);var Ge=r(at,2);Be(Ge,5,()=>e(H),xt,(ce,x)=>{var pe=wn(),je=s(pe),lt=r(je);a(pe),A(mt=>{Rt(je,(e(x),n(()=>`background:${e(x).c}`))),S(lt,`${e(x),n(()=>e(x).key)??""} ${mt??""}`)},[()=>(e(x),n(()=>ge(e(x).v)))]),l(ce,pe)}),a(Ge);var Ke=r(Ge,2),he=s(Ke);{var qe=ce=>{var x=yn(),pe=r(s(x)),je=s(pe);a(pe),a(x),A(()=>S(je,`${e($)??""}%`)),l(ce,x)};B(he,ce=>{e($)!=null&&ce(qe)})}var Ae=r(he,2);{var Le=ce=>{var x=$n(),pe=r(s(x)),je=s(pe,!0);a(pe),a(x),A(()=>S(je,e(M))),l(ce,x)};B(Ae,ce=>{e(M)>0&&ce(Le)})}var E=r(Ae,2);{var te=ce=>{var x=In(),pe=r(s(x)),je=s(pe,!0);a(pe),a(x),A(()=>S(je,e(T))),l(ce,x)};B(E,ce=>{e(T)&&ce(te)})}var oe=r(E,2);{var we=ce=>{var x=qn(),pe=r(s(x)),je=s(pe,!0);a(pe),a(x),A(lt=>S(je,lt),[()=>(e(j),n(()=>me(e(j))))]),l(ce,x)};B(oe,ce=>{e(j)!=null&&ce(we)})}a(Ke),a(ie),A((ce,x)=>S(Je,`${ce??""} / ${x??""}`),[()=>(e(h),n(()=>ge(e(h)))),()=>(e(c),n(()=>ge(e(c))))]),l(R,ie)};B(be,R=>{e(U)&&e(c)&&R(ue)})}a(ve),tt(ve,R=>t(Q,R),()=>e(Q)),A((R,ie,xe)=>{ye(q,"aria-label",R),ye(q,"aria-expanded",e(U)),ye(W,"stroke",e(C)),ye(W,"stroke-dasharray",ie),S(_e,xe)},[()=>(e(w),n(()=>`上下文占用 ${e(w).toFixed(0)}%`)),()=>(e(w),n(()=>`${Math.max(Y*e(w)/100,e(w)>0?1.5:0)} ${Y}`)),()=>(e(w),n(()=>e(w).toFixed(0)))]),P("click",q,()=>t(U,!e(U))),P("mouseenter",ve,se),P("mouseleave",ve,F),l(de,ve),Fe(),g()}var Mn=d('<div class="error svelte-60fagq" role="alert"> </div>'),En=d('<button role="option"> </button>'),Tn=d('<div class="mention-dropdown svelte-60fagq" role="listbox"></div>'),Dn=d('<div class="thumb svelte-60fagq"><img alt="attachment" class="svelte-60fagq"/> <button class="remove svelte-60fagq" aria-label="移除图片">×</button></div>'),An=d('<div class="thumbnails svelte-60fagq"></div>'),Bn=d('<button class="attach svelte-60fagq" aria-label="附加图片"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg></button> <input type="file" accept="image/*" multiple="" style="display:none"/>',1),On=d("<!> <!>",1),Rn=Sa('<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>'),zn=d('<div class="composer svelte-60fagq"><div class="dock svelte-60fagq"><!> <div><!> <!> <textarea aria-label="消息输入" class="svelte-60fagq"></textarea> <div class="footer svelte-60fagq"><!> <!> <!> <!> <button class="hint command svelte-60fagq">「/」命令</button> <span class="spacer svelte-60fagq"></span> <span class="hint send-hint svelte-60fagq">↵ 发送 · ⇧↵ 换行</span> <button class="send svelte-60fagq" aria-label="发送"><!></button></div></div></div></div>');function Fn(de,N){ze(N,!1);const v=()=>Pe(Lt,"$composerDraft",f),k=()=>Pe(Pt,"$can",f),g=()=>Pe(Aa,"$connection",f),O=()=>Pe(ga,"$backendName",f),[f,m]=Mt(),h=o();let c=Ie(N,"sessionId",8),w=o(""),C=o(),T=o(!1),j=o(""),J=o(!1),K=o(),$=o([]),u=o([]),M=o(0),H=0,b;function i(){return`c_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function p(E){const te=new FileReader;te.onload=()=>{var je;const oe=te.result,we=oe.indexOf(","),ce=oe.slice(0,we),x=oe.slice(we+1),pe=((je=ce.match(/data:(.*?);/))==null?void 0:je[1])??E.type;t($,[...e($),{data:x,mimeType:pe,preview:oe}])},te.readAsDataURL(E)}function U(E){const te=E.target;if(te.files){for(const oe of te.files)p(oe);te.value=""}}function Q(E){if(!k()("imageInput")||!E.clipboardData)return;const te=[...E.clipboardData.items].filter(oe=>oe.type.startsWith("image/"));if(te.length){E.preventDefault();for(const oe of te){const we=oe.getAsFile();we&&p(we)}}}function X(E){t($,e($).filter((te,oe)=>oe!==E))}function ne(){if(!e(C))return null;const E=e(C).selectionStart,oe=e(w).slice(0,E).match(/(^|[\s])@([^\s]*)$/);return oe?{token:oe[2],start:E-oe[2].length-1}:null}function G(){const E=ne();if(!E){t(u,[]),clearTimeout(b);return}H=E.start,t(M,0),clearTimeout(b);const te=E.token;b=setTimeout(async()=>{try{t(u,await Me.files(c(),te))}catch{t(u,[])}},150)}function z(E){const te=e(C).selectionStart,oe=e(w).slice(0,H),we=e(w).slice(te),ce=`@${E} `;t(w,oe+ce+we),t(u,[]),Ot().then(()=>{const x=oe.length+ce.length;Ct(C,e(C).selectionStart=Ct(C,e(C).selectionEnd=x)),e(C).focus(),Y()})}async function _(){var ce;const E=e(w).trim();if(!E&&e($).length===0||e(T))return;if(g()!=="connected"){t(j,"Disconnected — reconnecting…");return}const te=i(),oe=e($).map(({data:x,mimeType:pe})=>({data:x,mimeType:pe}));t(T,!0),t(j,""),ba({kind:"user",sessionId:c(),text:E,ts:Date.now(),id:`user:${te}`}),t(w,"");const we=[...e($)];t($,[]),Y();try{await Me.sendMessage({sessionId:c(),text:E,clientId:te,...oe.length?{images:oe}:{}})}catch(x){t(j,`Send failed: ${x.message}`),xa(`user:${te}`),t(w,E),t($,we)}finally{t(T,!1),(ce=e(C))==null||ce.focus()}}function D(E){if(e(u).length>0){if(E.key==="ArrowDown"){E.preventDefault(),t(M,Math.min(e(M)+1,e(u).length-1));return}if(E.key==="ArrowUp"){E.preventDefault(),t(M,Math.max(e(M)-1,0));return}if(E.key==="Enter"||E.key==="Tab"){E.preventDefault(),z(e(u)[e(M)]);return}if(E.key==="Escape"){E.preventDefault(),t(u,[]);return}}E.key!=="Enter"||E.shiftKey||E.isComposing||E.keyCode===229||(E.preventDefault(),_())}function Y(){e(C)&&(Ct(C,e(C).style.height="auto"),Ct(C,e(C).style.height=Math.min(e(C).scrollHeight,140)+"px"))}jt(()=>clearTimeout(b)),I(()=>(v(),e(C)),()=>{const E=v();E&&(t(w,E.text),Lt.set(void 0),Ot().then(()=>{var te;return(te=e(C))==null?void 0:te.focus()}),Y())}),I(()=>e(w),()=>{ia.set(!e(w).trim())}),I(()=>e(w),()=>{t(h,e(w).trim().length>0)}),Ue(),Re();var ge=zn(),me=s(ge),se=s(me);{var F=E=>{var te=Mn(),oe=s(te,!0);a(te),A(()=>S(oe,e(j))),l(E,te)};B(se,E=>{e(j)&&E(F)})}var Z=r(se,2);let ee;var ve=s(Z);{var q=E=>{var te=Tn();Be(te,5,()=>e(u),xt,(oe,we,ce)=>{var x=En();let pe;var je=s(x,!0);a(x),A(()=>{pe=Ne(x,1,"mention-row svelte-60fagq",null,pe,{active:ce===e(M)}),ye(x,"aria-selected",ce===e(M)),S(je,e(we))}),P("mousedown",x,Oa(()=>z(e(we)))),l(oe,x)}),a(te),l(E,te)};B(ve,E=>{e(u),n(()=>e(u).length>0)&&E(q)})}var le=r(ve,2);{var L=E=>{var te=An();Be(te,5,()=>e($),xt,(oe,we,ce)=>{var x=Dn(),pe=s(x),je=r(pe,2);a(x),A(()=>ye(pe,"src",(e(we),n(()=>e(we).preview)))),P("click",je,()=>X(ce)),l(oe,x)}),a(te),l(E,te)};B(le,E=>{e($),n(()=>e($).length>0)&&E(L)})}var W=r(le,2);qa(W),ye(W,"rows",1),tt(W,E=>t(C,E),()=>e(C));var re=r(W,2),_e=s(re);{var be=E=>{var te=Bn(),oe=De(te),we=r(oe,2);tt(we,ce=>t(K,ce),()=>e(K)),P("click",oe,()=>e(K).click()),P("change",we,U),l(E,te)},ue=$t(()=>(k(),n(()=>k()("imageInput"))));B(_e,E=>{e(ue)&&E(be)})}var R=r(_e,2);{var ie=E=>{var te=On(),oe=De(te);rn(oe,{});var we=r(oe,2);un(we,{}),l(E,te)},xe=$t(()=>(k(),n(()=>k()("catalog"))));B(R,E=>{e(xe)&&E(ie)})}var Se=r(R,2);{var Je=E=>{xn(E,{get sessionId(){return c()}})},at=$t(()=>(k(),n(()=>k()("sessionControls"))));B(Se,E=>{e(at)&&E(Je)})}var Ge=r(Se,2);jn(Ge,{get sessionId(){return c()}});var Ke=r(Ge,2),he=r(Ke,6),qe=s(he);{var Ae=E=>{var te=Ca("…");l(E,te)},Le=E=>{var te=Rn();l(E,te)};B(qe,E=>{e(T)?E(Ae):E(Le,-1)})}a(he),a(re),a(Z),a(me),a(ge),A(E=>{ee=Ne(Z,1,"box svelte-60fagq",null,ee,{focused:e(J),"has-text":e(h)}),ye(W,"placeholder",g()==="connected"?`给 ${O()} 留言…`:"连接断开…"),he.disabled=E},[()=>(e(T),e(w),e($),g(),n(()=>e(T)||!e(w).trim()&&e($).length===0||g()!=="connected"))]),Da(W,()=>e(w),E=>t(w,E)),P("keydown",W,D),P("input",W,()=>{Y(),G()}),P("paste",W,Q),P("focus",W,()=>t(J,!0)),P("blur",W,()=>t(J,!1)),P("click",W,G),P("click",Ke,()=>Ba.set(!0)),P("click",he,_),l(de,ge),Fe(),m()}var Ln=d('<span class="check svelte-rgafhj">✓</span>'),Nn=d('<button><span aria-hidden="true"></span> <span class="info svelte-rgafhj"><span class="row-title svelte-rgafhj"> </span> <span class="row-meta mono svelte-rgafhj"> </span></span> <!></button>'),Pn=d('<div class="empty svelte-rgafhj"> </div>'),Wn=d('<div class="popover svelte-rgafhj" role="dialog" aria-label="会话切换"><div class="list svelte-rgafhj"></div> <div class="footer svelte-rgafhj"><button class="new-session mono svelte-rgafhj"> </button></div></div>'),Hn=d('<div class="switcher svelte-rgafhj"><button class="trigger svelte-rgafhj" aria-haspopup="true" title="Switch session"><span class="glyph-tile svelte-rgafhj"> </span> <span><span class="sr-only svelte-rgafhj"> </span></span> <span class="title svelte-rgafhj"> </span> <span class="caret svelte-rgafhj" aria-hidden="true"><!></span></button> <!></div>');function Kn(de,N){ze(N,!1);const v=()=>Pe(ka,"$backends",f),k=()=>Pe(Bt,"$sessionList",f),g=()=>Pe(Ra,"$activeWorkspace",f),O=()=>Pe(ta,"$workspaces",f),[f,m]=Mt(),h=o(),c=o(),w=o(),C=o(),T=o(),j=o();let J=Ie(N,"activeId",8,void 0),K=o(!1),$=o(!1);function u(q){const le=q.split(/[\s\-_:./]+/).filter(Boolean);return le.length>=2?(le[0][0]+le[1][0]).toUpperCase():q.slice(0,2).toUpperCase()}function M(q){return u((q==null?void 0:q.name)||(q==null?void 0:q.id)||"OC")}function H(q){return q==="online"||q==="connected"?"online":q==="connecting"||q==="reconnecting"?"connecting":q==="offline"?"offline":"online"}function b(){t(K,!e(K))}function i(q){t(K,!1),zt(`/${q}/`)}async function p(){var le;if(e($))return;const q=g()||((le=O()[0])==null?void 0:le.directory)||"";t($,!0);try{await ya(e(h));const L=await Me.createSession({directory:q});Bt.set(await Me.sessions()),ta.set(await Me.workspaces()),t(K,!1),zt(`/${L.id}/`)}catch(L){alert(`Create session failed: ${L.message}`)}finally{t($,!1)}}function U(q){q.key==="Escape"&&t(K,!1)}function Q(q){const le=Date.now()-q,L=Math.floor(le/6e4);if(L<1)return"now";if(L<60)return`${L}m`;const W=Math.floor(L/60);return W<24?`${W}h`:`${Math.floor(W/24)}d`}function X(q){return(q.includes("_")?q.slice(q.indexOf("_")+1):q).slice(-8)}I(()=>v(),()=>{var q,le,L;t(h,((q=v())==null?void 0:q.activeId)??((L=(le=v())==null?void 0:le.backends[0])==null?void 0:L.id)??"opencode")}),I(()=>(v(),e(h)),()=>{var q;t(c,(q=v())==null?void 0:q.backends.find(le=>le.id===e(h)))}),I(()=>e(h),()=>{t(w,wa(e(h)))}),I(()=>(k(),e(h)),()=>{t(C,k().filter(q=>q.backendId===e(h)||!q.backendId&&e(h)==="opencode").sort((q,le)=>le.lastActiveAt-q.lastActiveAt))}),I(()=>(k(),V(J())),()=>{t(T,k().find(q=>q.id===J()))}),I(()=>e(T),()=>{var q;t(j,((q=e(T))==null?void 0:q.title)||"Untitled session")}),Ue(),Re();var ne=Hn();P("keydown",bt,U);var G=s(ne),z=s(G),_=s(z,!0);a(z);var D=r(z,2),Y=s(D),ge=s(Y,!0);a(Y),a(D);var me=r(D,2),se=s(me,!0);a(me);var F=r(me,2),Z=s(F);He(Z,{name:"caret-down",size:11}),a(F),a(G);var ee=r(G,2);{var ve=q=>{var le=Wn(),L=s(le);Be(L,5,()=>e(C),be=>be.id,(be,ue)=>{var R=Nn();let ie;var xe=s(R),Se=r(xe,2),Je=s(Se),at=s(Je,!0);a(Je);var Ge=r(Je,2),Ke=s(Ge);a(Ge),a(Se);var he=r(Se,2);{var qe=Ae=>{var Le=Ln();l(Ae,Le)};B(he,Ae=>{e(ue),V(J()),n(()=>e(ue).id===J())&&Ae(qe)})}a(R),A((Ae,Le)=>{ie=Ne(R,1,"row svelte-rgafhj",null,ie,{active:e(ue).id===J()}),Ne(xe,1,`dot ${e(ue),V(J()),n(()=>e(ue).id===J()?"active":"")??""}`,"svelte-rgafhj"),S(at,(e(ue),n(()=>e(ue).title||"Untitled session"))),S(Ke,`${Ae??""} · ${Le??""}`)},[()=>(e(ue),n(()=>X(e(ue).id))),()=>(e(ue),n(()=>Q(e(ue).lastActiveAt)))]),P("click",R,()=>i(e(ue).id)),l(be,R)},be=>{var ue=Pn(),R=s(ue);a(ue),A(()=>S(R,`No sessions on ${e(c),n(()=>{var ie,xe;return((ie=e(c))==null?void 0:ie.name)??((xe=e(c))==null?void 0:xe.id)??"this agent"})??""}.`)),l(be,ue)}),a(L);var W=r(L,2),re=s(W),_e=s(re);a(re),a(W),a(le),A(()=>{re.disabled=e($),S(_e,`+ New session on ${e(c),n(()=>{var be,ue;return((be=e(c))==null?void 0:be.name)??((ue=e(c))==null?void 0:ue.id)??"agent"})??""}`)}),P("click",re,p),l(q,le)};B(ee,q=>{e(K)&&q(ve)})}a(ne),A((q,le,L)=>{ye(G,"aria-expanded",e(K)),Rt(z,`background:${V(Yt),e(w),n(()=>Yt[e(w)])??""}; color:${V(Zt),e(w),n(()=>Zt[e(w)])??""}; border-color:${V(ea),e(w),n(()=>ea[e(w)])??""}`),S(_,q),Ne(D,1,`status-dot ${le??""}`,"svelte-rgafhj"),S(ge,L),S(se,e(j))},[()=>(e(c),n(()=>M(e(c)))),()=>(e(c),n(()=>{var q;return H((q=e(c))==null?void 0:q.status)})),()=>(e(c),n(()=>{var q;return H((q=e(c))==null?void 0:q.status)}))]),P("click",G,b),l(de,ne),Fe(),m()}var Un=d('<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>'),Jn=d('<div class="scrim svelte-w3h0m4" aria-hidden="true"></div>'),Gn=d('<button role="menuitem" class="svelte-w3h0m4">本会话隐藏</button>'),Vn=d('<div class="menu svelte-w3h0m4" role="menu"><button role="menuitem" class="svelte-w3h0m4">打开任务面板</button> <!></div>'),Qn=d('<button class="crumb svelte-w3h0m4"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="svelte-w3h0m4"><path d="M15 18l-6-6 6-6"></path></svg> <span> </span></button>'),Xn=d('<div class="row done svelte-w3h0m4"><span class="box svelte-w3h0m4"><span class="check svelte-w3h0m4">✓</span></span><span class="tx svelte-w3h0m4"> </span></div>'),Yn=d('<button class="grp svelte-w3h0m4"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg> <span> </span></button> <!>',1),Zn=d('<div class="row running svelte-w3h0m4"><span class="box svelte-w3h0m4"><span class="dot svelte-w3h0m4"></span></span><span class="tx svelte-w3h0m4"> </span></div>'),er=d('<div class="row pending svelte-w3h0m4"><span class="box svelte-w3h0m4"></span><span class="tx svelte-w3h0m4"> </span></div>'),tr=d('<div class="row pending svelte-w3h0m4"><span class="box svelte-w3h0m4"></span><span class="tx svelte-w3h0m4"> </span></div>'),ar=d('<button class="grp svelte-w3h0m4"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg> <span> </span></button> <!>',1),sr=d('<span class="sub-count mono svelte-w3h0m4"> </span>'),nr=d('<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>'),rr=d('<div class="grp static svelte-w3h0m4"><span class="sub-label svelte-w3h0m4"> </span></div> <!>',1),or=d('<span class="sub-check svelte-w3h0m4" aria-hidden="true">✓</span>'),lr=d('<span class="sub-count mono svelte-w3h0m4"> </span>'),ir=d('<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>'),vr=d('<button class="grp svelte-w3h0m4"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 6l6 6-6 6"></path></svg> <span> </span></button> <!>',1),cr=d('<!> <div class="plan-card svelte-w3h0m4"><div class="hd svelte-w3h0m4"><span class="label svelte-w3h0m4">计划</span> <span class="title svelte-w3h0m4"> </span> <button class="dots svelte-w3h0m4" aria-label="Plan menu">⋯</button> <button class="close svelte-w3h0m4" aria-label="收起计划"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="svelte-w3h0m4"><path d="M18 15l-6-6-6 6"></path></svg></button></div> <!> <div class="body svelte-w3h0m4"><!> <div class="prog mono svelte-w3h0m4"> </div> <!> <!> <!> <!> <!> <!></div></div>',1),dr=d('<span class="badge mono svelte-w3h0m4"> </span>'),ur=d('<button class="bar svelte-w3h0m4"><span class="label svelte-w3h0m4">计划</span> <span class="bar-count mono svelte-w3h0m4"> <i class="svelte-w3h0m4">/</i> </span> <!> <svg class="caret svelte-w3h0m4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18 15l-6-6-6 6"></path></svg></button>'),pr=d('<span class="badge mono svelte-w3h0m4"> </span>'),fr=d('<button class="ball svelte-w3h0m4"><svg class="ring svelte-w3h0m4" viewBox="0 0 38 38" aria-hidden="true"><circle class="track svelte-w3h0m4" cx="19" cy="19"></circle><circle class="arc svelte-w3h0m4" cx="19" cy="19" transform="rotate(-90 19 19)"></circle></svg> <span class="ball-count mono svelte-w3h0m4"> <i class="svelte-w3h0m4">/</i> </span> <!></button>'),mr=d("<!> <!>",1);function hr(de,N){ze(N,!1);const v=()=>Pe(Wt,"$feeds",O),k=()=>Pe(Bt,"$sessionList",O),g=()=>Pe(Pt,"$can",O),[O,f]=Mt(),m=o(),h=o(),c=o(),w=o(),C=o(),T=o(),j=o(),J=o(),K=o(),$=o(),u=o();let M=Ie(N,"sessionId",8),H=Ie(N,"onJump",8,()=>{});const b="ocrc.planHud.v3",i=5,p=16,U=2*Math.PI*p;let Q=o(!1);try{t(Q,window.matchMedia("(min-width: 821px)").matches)}catch{}const X=e(Q)?"ocrc.planHud.dt3":b;function ne(){if(typeof localStorage>"u")return{};try{const x=JSON.parse(localStorage.getItem(X)??"{}")??{};return{dismissed:x.dismissed,expanded:x.expanded}}catch{return{}}}let G=o(ne()),z=o(e(G).expanded??e(Q));function _(x){if(t(G,{...e(G),...x}),!(typeof localStorage>"u"))try{localStorage.setItem(X,JSON.stringify(e(G)))}catch{}}let D=o({total:0,done:0,items:[]}),Y=o();async function ge(x){try{const pe=await Me.todo(x);if(x!==M())return;t(Y,x),t(D,za(pe))}catch{}}let me=o(),se=o(0),F=o(-1),Z=o();jt(()=>clearTimeout(e(Z)));let ee=o([]),ve=o(),q=!1;async function le(x){if(!q){q=!0;try{const pe=await Me.subagents(x);if(x!==M())return;t(ee,[...pe.subagents??[]].sort((je,lt)=>Number(lt.busy??!1)-Number(je.busy??!1))),t(ve,x)}catch{t(ee,[])}finally{q=!1}}}const L=x=>`ocrc.subparent.${x}`;let W=o();function re(x){try{t(W,sessionStorage.getItem(L(x))??void 0)}catch{t(W,void 0)}}re(M());function _e(x){try{sessionStorage.setItem(L(x.id),M())}catch{}t(Se,!1),oa({id:`sub:${x.id}`,kind:"subagent",title:x.title||"…"+x.id.slice(-6),childId:x.id}),Nt.set(!0)}function be(){const x=e(W);t(W,void 0),x&&H()(x)}let ue=o(),R=o(!1),ie=o(!1),xe=o(!1),Se=o(!1);function Je(){t(z,!e(z)),_({expanded:e(z)})}function at(){_({dismissed:[...e(G).dismissed??[],M()].slice(-20)}),t(Se,!1)}function Ge(){_({dismissed:(e(G).dismissed??[]).filter(x=>x!==M())}),t(z,!0),_({expanded:e(z)})}function Ke(){t(Se,!1),La("tasks"),Nt.set(!0)}let he=o(),qe=o(),Ae=o(),Le=o();function E(x){var je,lt,mt,It;const pe=x.target;if(e(Se)){if((je=e(qe))!=null&&je.contains(pe)||(lt=e(he))!=null&<.contains(pe))return;t(Se,!1)}e(z)&&((mt=e(Ae))!=null&&mt.contains(pe)||(It=e(Le))!=null&&It.contains(pe)||(t(z,!1),_({expanded:!1})))}I(()=>(V(M()),e(me)),()=>{M()!==e(me)&&(t(me,M()),ge(M()))}),I(()=>(v(),V(M())),()=>{var x;t(m,((x=v()[M()])==null?void 0:x.lastSeq)??0)}),I(()=>(e(m),e(F),e(Z),e(se)),()=>{e(m)!==e(F)&&(t(F,e(m)),clearTimeout(e(Z)),t(Z,setTimeout(()=>t(se,e(se)+1),1e3)))}),I(()=>(e(se),V(M())),()=>{e(se)&&(ge(M()),le(M()))}),I(()=>(k(),V(M())),()=>{t(h,k().find(x=>x.id===M()))}),I(()=>e(h),()=>{var x;t(c,((x=e(h))==null?void 0:x.title)??"")}),I(()=>e(D),()=>{t(w,e(D).items.filter(x=>x.status==="done"))}),I(()=>e(D),()=>{t(C,e(D).items.filter(x=>x.status==="running"))}),I(()=>e(D),()=>{t(T,e(D).items.filter(x=>x.status==="pending"))}),I(()=>e(T),()=>{t(j,Math.max(0,e(T).length-i))}),I(()=>e(D),()=>{t(J,e(D).total?e(D).done/e(D).total:0)}),I(()=>(e(G),V(M())),()=>{var x;t(K,((x=e(G).dismissed)==null?void 0:x.includes(M()))??!1)}),I(()=>e(ee),()=>{t($,e(ee).filter(x=>x.busy))}),I(()=>e(ee),()=>{t(u,e(ee).filter(x=>!x.busy))}),I(()=>(e(z),V(M()),e(ve)),()=>{e(z)&&M()&&e(ve)!==M()&&le(M())}),I(()=>V(M()),()=>{M()&&re(M())}),I(()=>(V(M()),e(ue)),()=>{M()!==e(ue)&&(t(ue,M()),t(R,!1),t(ie,!1),t(xe,!1),t(Se,!1))}),Ue(),Re();var te=ot();P("pointerdown",bt,E);var oe=De(te);{var we=x=>{var pe=mr(),je=De(pe);{var lt=Ve=>{var Te=Un(),Ze=r(s(Te),2),it=s(Ze,!0),st=r(it,2,!0);a(Ze),a(Te),A(()=>{S(it,(e(D),n(()=>e(D).done))),S(st,(e(D),n(()=>e(D).total)))}),P("click",Te,Ge),l(Ve,Te)},mt=Ve=>{var Te=cr(),Ze=De(Te);{var it=fe=>{var Ce=Jn();l(fe,Ce)};B(Ze,fe=>{e(Q)||fe(it)})}var st=r(Ze,2),ut=s(st),nt=r(s(ut),2),vt=s(nt,!0);a(nt);var pt=r(nt,2);tt(pt,fe=>t(he,fe),()=>e(he));var qt=r(pt,2);a(ut);var y=r(ut,2);{var ae=fe=>{var Ce=Vn(),ke=s(Ce),Oe=r(ke,2);{var We=Qe=>{var dt=Gn();P("click",dt,at),l(Qe,dt)};B(Oe,Qe=>{e(Q)||Qe(We)})}a(Ce),tt(Ce,Qe=>t(qe,Qe),()=>e(qe)),P("click",ke,Ke),l(fe,Ce)};B(y,fe=>{e(Se)&&fe(ae)})}var $e=r(y,2),ft=s($e);{var St=fe=>{var Ce=Qn(),ke=r(s(Ce),2),Oe=s(ke);a(ke),a(Ce),A(We=>S(Oe,`返回父会话 …${We??""}`),[()=>(e(W),n(()=>e(W).slice(-8)))]),P("click",Ce,be),l(fe,Ce)};B(ft,fe=>{e(W)&&fe(St)})}var ct=r(ft,2),Et=s(ct);a(ct);var Kt=r(ct,2);{var ca=fe=>{var Ce=Yn(),ke=De(Ce),Oe=s(ke);let We;var Qe=r(Oe,2),dt=s(Qe);a(Qe),a(ke);var Xe=r(ke,2);{var ht=et=>{var _t=ot(),wt=De(_t);Be(wt,1,()=>e(w),rt=>rt.text,(rt,Ee)=>{var Ye=Xn(),gt=r(s(Ye)),Tt=s(gt,!0);a(gt),a(Ye),A(()=>S(Tt,(e(Ee),n(()=>e(Ee).text)))),l(rt,Ye)}),l(et,_t)};B(Xe,et=>{e(R)&&et(ht)})}A(()=>{ye(ke,"aria-expanded",e(R)),We=Ne(Oe,0,"caret svelte-w3h0m4",null,We,{open:e(R)}),S(dt,`已完成 ${e(w),n(()=>e(w).length)??""}`)}),P("click",ke,()=>t(R,!e(R))),l(fe,Ce)};B(Kt,fe=>{e(w),n(()=>e(w).length)&&fe(ca)})}var Ut=r(Kt,2);Be(Ut,1,()=>e(C),fe=>fe.text,(fe,Ce)=>{var ke=Zn(),Oe=r(s(ke)),We=s(Oe,!0);a(Oe),a(ke),A(()=>S(We,(e(Ce),n(()=>e(Ce).text)))),l(fe,ke)});var Jt=r(Ut,2);Be(Jt,1,()=>(e(T),n(()=>e(T).slice(0,i))),fe=>fe.text,(fe,Ce)=>{var ke=er(),Oe=r(s(ke)),We=s(Oe,!0);a(Oe),a(ke),A(()=>S(We,(e(Ce),n(()=>e(Ce).text)))),l(fe,ke)});var Gt=r(Jt,2);{var da=fe=>{var Ce=ar(),ke=De(Ce),Oe=s(ke);let We;var Qe=r(Oe,2),dt=s(Qe);a(Qe),a(ke);var Xe=r(ke,2);{var ht=et=>{var _t=ot(),wt=De(_t);Be(wt,1,()=>(e(T),n(()=>e(T).slice(i))),rt=>rt.text,(rt,Ee)=>{var Ye=tr(),gt=r(s(Ye)),Tt=s(gt,!0);a(gt),a(Ye),A(()=>S(Tt,(e(Ee),n(()=>e(Ee).text)))),l(rt,Ye)}),l(et,_t)};B(Xe,et=>{e(ie)&&et(ht)})}A(()=>{ye(ke,"aria-expanded",e(ie)),We=Ne(Oe,0,"caret svelte-w3h0m4",null,We,{open:e(ie)}),S(dt,`待处理 ${e(j)??""}`)}),P("click",ke,()=>t(ie,!e(ie))),l(fe,Ce)};B(Gt,fe=>{e(j)>0&&fe(da)})}var Vt=r(Gt,2);{var ua=fe=>{var Ce=rr(),ke=De(Ce),Oe=s(ke),We=s(Oe);a(Oe),a(ke);var Qe=r(ke,2);Be(Qe,1,()=>e($),dt=>dt.id,(dt,Xe)=>{var ht=nr(),et=r(s(ht),2);{var _t=Ee=>{var Ye=sr(),gt=s(Ye);a(Ye),A(()=>S(gt,`${e(Xe),n(()=>e(Xe).done)??""}/${e(Xe),n(()=>e(Xe).total)??""}`)),l(Ee,Ye)};B(et,Ee=>{e(Xe),n(()=>e(Xe).total>0)&&Ee(_t)})}var wt=r(et,2),rt=s(wt,!0);a(wt),yt(2),a(ht),A(Ee=>S(rt,Ee),[()=>(e(Xe),n(()=>e(Xe).title||"…"+e(Xe).id.slice(-6)))]),P("click",ht,()=>_e(e(Xe))),l(dt,ht)}),A(()=>S(We,`子代理 · 运行中 ${e($),n(()=>e($).length)??""}`)),l(fe,Ce)};B(Vt,fe=>{e($),n(()=>e($).length)&&fe(ua)})}var pa=r(Vt,2);{var fa=fe=>{var Ce=vr(),ke=De(Ce),Oe=s(ke);let We;var Qe=r(Oe,2),dt=s(Qe);a(Qe),a(ke);var Xe=r(ke,2);{var ht=et=>{var _t=ot(),wt=De(_t);Be(wt,1,()=>e(u),rt=>rt.id,(rt,Ee)=>{var Ye=ir(),gt=s(Ye);{var Tt=kt=>{var Dt=or();l(kt,Dt)};B(gt,kt=>{e(Ee),n(()=>e(Ee).total>0&&e(Ee).done>=e(Ee).total)&&kt(Tt)})}var Qt=r(gt,2);{var ma=kt=>{var Dt=lr(),_a=s(Dt);a(Dt),A(()=>S(_a,`${e(Ee),n(()=>e(Ee).done)??""}/${e(Ee),n(()=>e(Ee).total)??""}`)),l(kt,Dt)};B(Qt,kt=>{e(Ee),n(()=>e(Ee).total>0)&&kt(ma)})}var Xt=r(Qt,2),ha=s(Xt,!0);a(Xt),yt(2),a(Ye),A(kt=>S(ha,kt),[()=>(e(Ee),n(()=>e(Ee).title||"…"+e(Ee).id.slice(-6)))]),P("click",Ye,()=>_e(e(Ee))),l(rt,Ye)}),l(et,_t)};B(Xe,et=>{e(xe)&&et(ht)})}A(()=>{ye(ke,"aria-expanded",e(xe)),We=Ne(Oe,0,"caret svelte-w3h0m4",null,We,{open:e(xe)}),S(dt,`已结束 ${e(u),n(()=>e(u).length)??""}`)}),P("click",ke,()=>t(xe,!e(xe))),l(fe,Ce)};B(pa,fe=>{e(u),n(()=>e(u).length)&&fe(fa)})}a($e),a(st),tt(st,fe=>t(Ae,fe),()=>e(Ae)),A(fe=>{S(vt,fe),S(Et,`任务 ${e(D),n(()=>e(D).done)??""}/${e(D),n(()=>e(D).total)??""}`)},[()=>(e(c),V(M()),n(()=>e(c)||"…"+M().slice(-8)))]),P("click",pt,Fa(()=>t(Se,!e(Se)))),P("click",qt,Je),l(Ve,Te)};B(je,Ve=>{e(K)&&!e(Q)?Ve(lt):e(z)&&Ve(mt,1)})}var It=r(je,2);{var At=Ve=>{var Te=ur(),Ze=r(s(Te),2),it=s(Ze,!0),st=r(it,2,!0);a(Ze);var ut=r(Ze,2);{var nt=vt=>{var pt=dr(),qt=s(pt,!0);a(pt),A(()=>S(qt,(e($),n(()=>e($).length)))),l(vt,pt)};B(ut,vt=>{e($),n(()=>e($).length>0)&&vt(nt)})}yt(2),a(Te),tt(Te,vt=>t(Le,vt),()=>e(Le)),A(()=>{ye(Te,"aria-label",(e(D),n(()=>`展开计划 ${e(D).done}/${e(D).total}`))),S(it,(e(D),n(()=>e(D).done))),S(st,(e(D),n(()=>e(D).total)))}),P("click",Te,Je),l(Ve,Te)},Ft=Ve=>{var Te=fr(),Ze=s(Te),it=s(Ze);ye(it,"r",p);var st=r(it);ye(st,"r",p),a(Ze);var ut=r(Ze,2),nt=s(ut,!0),vt=r(nt,2,!0);a(ut);var pt=r(ut,2);{var qt=y=>{var ae=pr(),$e=s(ae,!0);a(ae),A(()=>S($e,(e($),n(()=>e($).length)))),l(y,ae)};B(pt,y=>{e($),n(()=>e($).length>0)&&y(qt)})}a(Te),tt(Te,y=>t(Le,y),()=>e(Le)),A(y=>{ye(Te,"aria-label",(e(D),e(z),n(()=>`计划 ${e(D).done}/${e(D).total} — ${e(z)?"收起":"展开"}`))),ye(Te,"aria-expanded",e(z)),ye(st,"stroke-dasharray",y),S(nt,(e(D),n(()=>e(D).done))),S(vt,(e(D),n(()=>e(D).total)))},[()=>(e(J),n(()=>`${Math.max(U*e(J),U*.02)} ${U}`))]),P("click",Te,Je),l(Ve,Te)};B(It,Ve=>{e(Q)&&!e(z)?Ve(At):!e(K)&&!(e(Q)&&!e(z))&&Ve(Ft,1)})}l(x,pe)},ce=$t(()=>(e(Y),V(M()),e(D),e(ee),e(W),g(),n(()=>e(Y)===M()&&(e(D).total>0||e(ee).length>0||e(W))&&g()("todos"))));B(oe,x=>{e(ce)&&x(we)})}l(de,te),Fe(),f()}var _r=d('<button class="expand svelte-eho102" title="Expand left panel" aria-label="展开左侧面板"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18l6-6-6-6"></path></svg></button>'),gr=d('<span class="branch mono svelte-eho102"> </span>'),br=d('<span class="pill running mono svelte-eho102"><span class="dot svelte-eho102" aria-hidden="true"></span> </span> <button class="abort svelte-eho102">停止</button>',1),xr=d('<span class="idle mono svelte-eho102">空闲</span>'),kr=d('<button class="load-earlier mono svelte-eho102"> </button>'),wr=d('<div class="loading mono svelte-eho102" aria-label="Loading conversation"><span class="ldot svelte-eho102"></span><span class="ldot svelte-eho102"></span><span class="ldot svelte-eho102"></span></div>'),yr=d('<div class="empty svelte-eho102"><svg class="empty-mark svelte-eho102" viewBox="0 0 64 64" fill="none" stroke-width="8" stroke-linecap="round" aria-hidden="true"><path d="M46 15 A24 24 0 1 0 54 32" stroke="var(--text)" opacity=".85"></path><circle cx="49" cy="20" r="6" fill="var(--accent)" stroke="none"></circle></svg> <p class="empty-title svelte-eho102">要让 agent 做什么?</p> <p class="empty-hint svelte-eho102">在下方描述任务——它将在本项目目录中运行。需要时可附上图片。</p></div>'),$r=d('<button class="jump svelte-eho102" aria-label="跳到最新"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14"></path><path d="M19 12l-7 7-7-7"></path></svg> 最新</button>'),Ir=d('<div class="chat svelte-eho102"><div class="sub-header svelte-eho102"><div class="left svelte-eho102"><button class="back svelte-eho102" aria-label="返回会话列表"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 18l-6-6 6-6"></path></svg></button> <!> <!> <!></div> <div class="right svelte-eho102"><!> <button class="inspect svelte-eho102" aria-label="Inspector"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="7" x2="20" y2="7"></line><line x1="4" y1="12" x2="20" y2="12"></line><line x1="4" y1="17" x2="14" y2="17"></line></svg></button></div></div> <div aria-live="polite"><!> <!> <div class="stream-end svelte-eho102" aria-hidden="true"></div> <!></div></div> <!> <div class="composer-float svelte-eho102"><!> <!></div> <!>',1);function Dr(de,N){ze(N,!1);const v=()=>Pe(Na,"$page",h),k=()=>Pe(Wt,"$feeds",h),g=()=>Pe(Bt,"$sessionList",h),O=()=>Pe(ia,"$composerEmpty",h),f=()=>Pe(aa,"$leftPanelOpen",h),m=()=>Pe(Pa,"$feedResyncing",h),[h,c]=Mt(),w=o(),C=o(),T=o(),j=o(),J=o(),K=o(),$=o(),u=o(),M=o();let H=o(),b=o(),i=o(),p,U=o(""),Q,X,ne=o(!1),G=o(0),z=o(0),_=o(),D=o(!0);function Y(){e(H)&&Ct(H,e(H).scrollTop=e(H).scrollHeight)}function ge(){e(H)&&t(D,e(H).scrollHeight-e(H).scrollTop-e(H).clientHeight<80)}const me=80,se=50;let F=o(me),Z=o(0),ee=o(!0),ve=o(!1),q=o("");async function le(){if(e(ve)||!e(C))return;if(e(j).length>e(F)){t(F,e(F)+me);return}if(!e(ee))return;t(ve,!0);const y=e(H),ae=y?{h:y.scrollHeight,top:y.scrollTop}:null;try{const $e=await Me.history(e(C),{limit:se,offset:e(Z)});($e.cards??[]).length===0?t(ee,!1):($a(e(C),$e.cards),t(Z,e(Z)+se),t(F,e(F)+me),$e.hasMore===!1&&t(ee,!1),ae&&y&&(await Ot(),y.scrollTop=y.scrollHeight-ae.h+ae.top))}catch($e){console.warn("[page] loadEarlier failed",$e)}finally{t(ve,!1)}}let L=o("");function W(y){if(y<60)return`${y}s`;const ae=Math.floor(y/60),$e=y%60;return $e===0?`${ae}m`:`${ae}m ${$e}s`}function re(){Je()}const _e=["总结这个项目","最近有什么改动?","运行检查"];let be=o(!1),ue=o([]),R;async function ie(y,ae){if(R!==ae){R=ae;try{const $e=await Me.suggestions(y);t(ue,$e.suggestions??[])}catch{t(ue,[])}}}let xe=o(),Se=o([]);function Je(){if(!e(C))return;const y=[...e(j)].reverse().find($e=>$e.kind==="user"),ae=y==null?void 0:y.text;ae&&Me.sendMessage({sessionId:e(C),text:ae,clientId:`web_${Date.now()}`})}async function at(){if(!(!e(C)||e(ne))){t(ne,!0);try{await Me.abort(e(C))}catch{}finally{t(ne,!1)}}}Ht(()=>{Q=new ResizeObserver(()=>{e(b)&&(document.documentElement.style.setProperty("--composer-h",`${e(b).offsetHeight}px`),e(D)&&Y())}),e(b)&&Q.observe(e(b)),p=new IntersectionObserver($e=>{e(D)&&$e.some(ft=>!ft.isIntersecting)&&requestAnimationFrame(Y)},{root:e(H),threshold:0}),e(i)&&p.observe(e(i));const y=window.visualViewport,ae=()=>{e(D)&&requestAnimationFrame(Y)};y==null||y.addEventListener("resize",ae),X=()=>y==null?void 0:y.removeEventListener("resize",ae)}),jt(()=>{Q==null||Q.disconnect(),p==null||p.disconnect(),X==null||X(),e(_)&&clearInterval(e(_))}),I(()=>v(),()=>{t(C,v().params.sessionId??"")}),I(()=>(e(C),e(q)),()=>{e(C)&&e(C)!==e(q)&&(t(q,e(C)),t(F,me),t(Z,0),t(ee,!0),t(ve,!1))}),I(()=>(k(),e(C)),()=>{t(T,k()[e(C)])}),I(()=>e(T),()=>{t(j,na(e(T)))}),I(()=>(e(F),e(j)),()=>{t(w,e(F)>=e(j).length?e(j):e(j).slice(-e(F)))}),I(()=>(g(),e(C)),()=>{t(J,g().find(y=>y.id===e(C)))}),I(()=>e(J),()=>{var y;t(K,(y=e(J))!=null&&y.directory&&e(J).directory.replace(/\/+$/,"").split("/").pop()||"")}),I(()=>e(T),()=>{t($,(()=>{if(!e(T)||e(T).order.length===0)return!1;const y=e(T).byId[e(T).order[e(T).order.length-1]];return(y==null?void 0:y.kind)==="thinking"||(y==null?void 0:y.kind)==="streaming"||(y==null?void 0:y.kind)==="think-stream"})())}),I(()=>(e($),e(L),e(C),e(G),e(_)),()=>{e($)?(e(L)!==e(C)&&(t(L,e(C)),t(G,0)),!e(G)&&typeof window<"u"&&(t(G,Date.now()),t(z,0),e(_)&&clearInterval(e(_)),t(_,setInterval(()=>{t(z,Math.floor((Date.now()-e(G))/1e3))},1e3)))):(t(G,0),t(z,0),t(L,""),e(_)&&(clearInterval(e(_)),t(_,void 0)))}),I(()=>e(j),()=>{t(u,e(j).length?e(j)[e(j).length-1]:null)}),I(()=>(e($),e(u),e(C)),()=>{var y;!e($)&&((y=e(u))==null?void 0:y.kind)==="assistant"&&e(C)&&e(u).id&&ie(e(C),e(u).id)}),I(()=>(e(C),e(xe)),()=>{e(C)!==e(xe)&&(t(xe,e(C)),t(be,!1))}),I(()=>(e($),e(be),O(),e(ue),e(j)),()=>{e($)||e(be)||!O()?t(Se,[]):e(ue).length>0?t(Se,e(ue)):e(j).length===0?t(Se,_e):t(Se,[])}),I(()=>(e(C),e(T),e(j)),()=>{var y;t(M,`${e(C)}:${((y=e(T))==null?void 0:y.lastSeq)??0}:${e(j).length}`)}),I(()=>(e(M),e(U),e(D)),()=>{e(M)!==e(U)&&(t(U,e(M)),Ot().then(()=>{e(D)&&Y()}))}),Ue(),Re();var Ge=Ir(),Ke=De(Ge),he=s(Ke),qe=s(he),Ae=s(qe),Le=r(Ae,2);{var E=y=>{var ae=_r();P("click",ae,()=>aa.set(!0)),l(y,ae)};B(Le,y=>{f()||y(E)})}var te=r(Le,2);Kn(te,{get activeId(){return e(C)}});var oe=r(te,2);{var we=y=>{var ae=gr(),$e=s(ae,!0);a(ae),A(()=>S($e,e(K))),l(y,ae)};B(oe,y=>{e(K)&&y(we)})}a(qe);var ce=r(qe,2),x=s(ce);{var pe=y=>{var ae=br(),$e=De(ae),ft=r(s($e));a($e);var St=r($e,2);A(ct=>{S(ft,` 运行中 ${ct??""}`),St.disabled=e(ne)},[()=>(e(z),n(()=>W(e(z))))]),P("click",St,at),l(y,ae)},je=y=>{var ae=xr();l(y,ae)};B(x,y=>{e($)?y(pe):y(je,-1)})}var lt=r(x,2);a(ce),a(he);var mt=r(he,2);let It;var At=s(mt);{var Ft=y=>{var ae=kr(),$e=s(ae,!0);a(ae),A(()=>{ae.disabled=e(ve),S($e,e(ve)?"加载中…":"加载更早消息")}),P("click",ae,le),l(y,ae)};B(At,y=>{e(j),e(F),e(ee),n(()=>e(j).length>0&&(e(j).length>e(F)||e(ee)))&&y(Ft)})}var Ve=r(At,2);Be(Ve,1,()=>e(w),y=>y.id,(y,ae)=>{{let $e=ja(()=>(e(ae),e(u),e($),n(()=>{var ft;return e(ae).id===((ft=e(u))==null?void 0:ft.id)&&e(ae).kind==="assistant"&&!e($)?re:void 0})));en(y,{get card(){return e(ae)},onRetry:Je,get onRegenerate(){return e($e)}})}});var Te=r(Ve,2);tt(Te,y=>t(i,y),()=>e(i));var Ze=r(Te,2);{var it=y=>{var ae=ot(),$e=De(ae);{var ft=ct=>{var Et=wr();l(ct,Et)},St=ct=>{var Et=yr();l(ct,Et)};B($e,ct=>{e(T)?ct(St,-1):ct(ft)})}l(y,ae)};B(Ze,y=>{e(j),n(()=>e(j).length===0)&&y(it)})}a(mt),a(Ke),tt(Ke,y=>t(H,y),()=>e(H));var st=r(Ke,2);{var ut=y=>{var ae=$r();P("click",ae,Y),l(y,ae)};B(st,y=>{e(D),e(j),n(()=>!e(D)&&e(j).length>0)&&y(ut)})}var nt=r(st,2),vt=s(nt);Ka(vt,{get suggestions(){return e(Se)},onPick:y=>Lt.set({text:y,nonce:Date.now()}),onDismiss:()=>{t(be,!0),t(Se,[])}});var pt=r(vt,2);Fn(pt,{get sessionId(){return e(C)}}),a(nt),tt(nt,y=>t(b,y),()=>e(b));var qt=r(nt,2);hr(qt,{get sessionId(){return e(C)},onJump:y=>zt("/"+y)}),A(()=>It=Ne(mt,1,"stream conversation-emerald svelte-eho102",null,It,{suppressed:m()})),P("click",Ae,()=>zt("/")),P("click",lt,()=>Nt.update(y=>!y)),P("scroll",Ke,ge),l(de,Ge),Fe(),c()}export{Dr as component};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"
|
|
1
|
+
{"version":"1790852076998"}
|
package/web/dist/index.html
CHANGED
|
@@ -25,33 +25,33 @@
|
|
|
25
25
|
<!-- iOS standalone PWA: fullscreen + translucent status bar (content padded via safe-area insets) -->
|
|
26
26
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
27
27
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
28
|
-
<link href="/_app/immutable/entry/start.
|
|
29
|
-
<link href="/_app/immutable/chunks/
|
|
28
|
+
<link href="/_app/immutable/entry/start.CTZhuu9j.js" rel="modulepreload">
|
|
29
|
+
<link href="/_app/immutable/chunks/CU2vlSiG.js" rel="modulepreload">
|
|
30
30
|
<link href="/_app/immutable/chunks/BjY4dxcB.js" rel="modulepreload">
|
|
31
|
-
<link href="/_app/immutable/entry/app.
|
|
31
|
+
<link href="/_app/immutable/entry/app.JVVZGIJH.js" rel="modulepreload">
|
|
32
32
|
<link href="/_app/immutable/chunks/CWj6FrbW.js" rel="modulepreload">
|
|
33
33
|
<link href="/_app/immutable/chunks/DIEDQ_hk.js" rel="modulepreload">
|
|
34
34
|
<link href="/_app/immutable/chunks/C2FuqD3s.js" rel="modulepreload">
|
|
35
|
-
<link href="/_app/immutable/nodes/0.
|
|
36
|
-
<link href="/_app/immutable/chunks/
|
|
37
|
-
<link href="/_app/immutable/chunks/
|
|
35
|
+
<link href="/_app/immutable/nodes/0.BAZobBP6.js" rel="modulepreload">
|
|
36
|
+
<link href="/_app/immutable/chunks/mTCe3pzj.js" rel="modulepreload">
|
|
37
|
+
<link href="/_app/immutable/chunks/Df4xtzHP.js" rel="modulepreload">
|
|
38
38
|
|
|
39
39
|
<link href="/_app/immutable/assets/MarkdownView.C5F7UGcl.css" rel="stylesheet">
|
|
40
|
-
<link href="/_app/immutable/assets/0.
|
|
40
|
+
<link href="/_app/immutable/assets/0.Cvwq5hmD.css" rel="stylesheet">
|
|
41
41
|
</head>
|
|
42
42
|
<body data-sveltekit-preload-data="hover">
|
|
43
43
|
<div style="display: contents">
|
|
44
44
|
<script>
|
|
45
45
|
{
|
|
46
|
-
|
|
46
|
+
__sveltekit_112siv0 = {
|
|
47
47
|
base: ""
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
const element = document.currentScript.parentElement;
|
|
51
51
|
|
|
52
52
|
Promise.all([
|
|
53
|
-
import("/_app/immutable/entry/start.
|
|
54
|
-
import("/_app/immutable/entry/app.
|
|
53
|
+
import("/_app/immutable/entry/start.CTZhuu9j.js"),
|
|
54
|
+
import("/_app/immutable/entry/app.JVVZGIJH.js")
|
|
55
55
|
]).then(([kit, app]) => {
|
|
56
56
|
kit.start(app, element);
|
|
57
57
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=location.pathname.split("/").slice(0,-1).join("/"),m=[a+"/_app/immutable/entry/app.
|
|
1
|
+
const a=location.pathname.split("/").slice(0,-1).join("/"),m=[a+"/_app/immutable/entry/app.JVVZGIJH.js",a+"/_app/immutable/nodes/0.BAZobBP6.js",a+"/_app/immutable/assets/0.Cvwq5hmD.css",a+"/_app/immutable/nodes/1.Cuo-3lJQ.js",a+"/_app/immutable/nodes/2.Cq6LtW7V.js",a+"/_app/immutable/assets/2.BNuGfmZP.css",a+"/_app/immutable/nodes/3.DHl5Ub8k.js",a+"/_app/immutable/assets/3.CuiKumD7.css",a+"/_app/immutable/assets/MarkdownView.C5F7UGcl.css",a+"/_app/immutable/chunks/BjY4dxcB.js",a+"/_app/immutable/chunks/C2FuqD3s.js",a+"/_app/immutable/chunks/CU2vlSiG.js",a+"/_app/immutable/chunks/CWj6FrbW.js",a+"/_app/immutable/chunks/DIEDQ_hk.js",a+"/_app/immutable/chunks/Df4xtzHP.js",a+"/_app/immutable/chunks/mTCe3pzj.js",a+"/_app/immutable/entry/start.CTZhuu9j.js"],u=[a+"/apple-touch-icon.png",a+"/favicon.png",a+"/favicon.svg",a+"/icon-192.png",a+"/icon-512-maskable.png",a+"/icon-512.png",a+"/manifest.webmanifest"],l="1790852076998",n=self,i=`ocrc-cache-${l}`,p=[...m,...u];n.addEventListener("install",t=>{t.waitUntil(caches.open(i).then(s=>s.addAll(p.map(e=>new Request(e,{cache:"reload"})))).then(()=>n.skipWaiting()))});n.addEventListener("activate",t=>{t.waitUntil((async()=>{for(const s of await caches.keys())s!==i&&await caches.delete(s);await n.clients.claim()})())});n.addEventListener("fetch",t=>{const{request:s}=t;if(s.method!=="GET")return;const e=new URL(s.url);if(e.origin===location.origin&&!(e.pathname.startsWith("/api/")||e.pathname==="/ws")){if(p.includes(e.pathname)){t.respondWith(caches.match(s).then(c=>c??fetch(s)));return}t.respondWith((async()=>{try{return await fetch(s)}catch{return await caches.match(s)??await caches.match("/")??Response.error()}})())}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../../src/transport/web/routes/diff.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,YAAY,CAAC,GAAS,EAAE,GAAoB,EAAE,KAAmB;IAC/E,GAAG,CAAC,GAAG,CAAC,uBAAuB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC3C,MAAM,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QACtD,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -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}}:root{--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-enter: .2s;--col-w: 880px}@media (min-width: 821px){:root{--col-w: 1100px}}@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}}.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}@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}.actions.svelte-1h8243g{gap:2px}}.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}.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)}.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}@media (min-width: 821px){.files.svelte-tp0rgj{display:flex;gap:10px;align-items:stretch}.list-pane.svelte-tp0rgj{width:46%;min-width:0;flex-shrink:0}.view-pane.svelte-tp0rgj{flex:1;min-width:0;display:flex;flex-direction:column;border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--bg-elev);max-height:480px;overflow:hidden}}.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,.row.active.svelte-tp0rgj{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}.view-pane.full.svelte-tp0rgj{flex:1;min-width:0}.v-back.svelte-tp0rgj{background:transparent;border:none;color:var(--accent);font:inherit;font-size:12px;cursor:pointer;padding:0 2px 0 0;flex-shrink:0}.v-hd.svelte-tp0rgj{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-bottom:1px solid var(--border-2)}.v-path.svelte-tp0rgj{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);font-size:10.5px}.v-close.svelte-tp0rgj{background:transparent;border:none;color:var(--text-3);cursor:pointer;padding:0 2px}.v-close.svelte-tp0rgj:hover{color:var(--text)}.v-trunc.svelte-tp0rgj{padding:4px 10px;color:var(--warn);text-transform:none;letter-spacing:0;font-size:10.5px}.v-body.svelte-tp0rgj{padding:8px 10px;overflow:auto;min-height:0;font-size:11.5px}.v-empty.svelte-tp0rgj{padding:12px 0}.preview-scrim.svelte-tp0rgj{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:var(--scrim);display:grid;place-items:center;padding:20px}.preview.svelte-tp0rgj{width:min(92vw,680px);max-height:76vh;display:flex;flex-direction:column;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}.p-hd.svelte-tp0rgj{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-bottom:1px solid var(--border-2);color:var(--text-2);font-size:11px}.p-close.svelte-tp0rgj{background:transparent;border:none;color:var(--text-3);font-size:12px;cursor:pointer}.p-body.svelte-tp0rgj{margin:0;padding:10px 12px;overflow:auto;font-size:11px;line-height:1.5;color:var(--text-2);white-space:pre-wrap;word-break:break-word}.p-body.binary.svelte-tp0rgj{color:var(--text-3)}.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}.spec.svelte-qmnsc{display:flex;flex-direction:column}.bar.svelte-qmnsc{height:6px;background:var(--bg-input);border-radius:var(--radius-bar);overflow:hidden;margin:2px 0 8px}.fill.svelte-qmnsc{height:100%;background:var(--accent);border-radius:var(--radius-bar);transition:width .3s ease}.kv.svelte-qmnsc{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--border-2)}.kv.svelte-qmnsc:last-child{border-bottom:none}.k.svelte-qmnsc{color:var(--text-3);font-size:12px}.v.svelte-qmnsc{color:var(--text);font-size:12px;text-align:right;overflow-wrap:anywhere}.wd.svelte-1oo25bu{display:flex;flex-direction:column;gap:8px}.hd.svelte-1oo25bu{display:flex;justify-content:space-between;align-items:center}.section-label.svelte-1oo25bu{text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);font-size:10px}.counts.svelte-1oo25bu{color:var(--text-2);font-size:11px}.counts.svelte-1oo25bu *{color:inherit}.repo-line.svelte-1oo25bu{color:var(--text-2);font-size:11px}.files.svelte-1oo25bu{color:var(--text-2);display:flex;flex-direction:column;gap:4px}.entry.svelte-1oo25bu{display:flex;flex-direction:column;background:var(--bg-elev);border-radius:var(--radius-sm);overflow:hidden}.f.svelte-1oo25bu{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;margin:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;white-space:nowrap;cursor:pointer}.f.svelte-1oo25bu:hover{background:var(--bg-elev2)}.f.svelte-1oo25bu:focus-visible{outline:1px solid var(--accent);outline-offset:1px;border-radius:var(--radius-bar)}.change.svelte-1oo25bu{width:8px;height:8px;border-radius:var(--radius-bar);flex-shrink:0}.nm.svelte-1oo25bu{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left;font-size:11px}.cnt.svelte-1oo25bu{margin-left:auto;flex-shrink:0;display:inline-flex;align-items:center;gap:4px;font-size:11px}.cnt.svelte-1oo25bu .add:where(.svelte-1oo25bu){color:var(--ok)}.cnt.svelte-1oo25bu .del:where(.svelte-1oo25bu){color:var(--err)}.cnt.svelte-1oo25bu .sep:where(.svelte-1oo25bu){color:var(--text-3)}.diff.svelte-1oo25bu{margin:2px 6px 6px;padding:4px 6px;background:var(--bg);border:1px solid var(--border-2);border-radius:var(--radius-sm);overflow-x:auto}.line.svelte-1oo25bu{font-family:var(--font-mono);white-space:pre;line-height:1.45}.line.svelte-1oo25bu .pre:where(.svelte-1oo25bu){-webkit-user-select:none;user-select:none}.line.add.svelte-1oo25bu{color:var(--ok)}.line.del.svelte-1oo25bu{color:var(--err)}.line.ctx.svelte-1oo25bu{color:var(--text-3)}.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-hd.svelte-1s66f6s{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.back.svelte-1s66f6s{background:transparent;border:none;padding:0;color:var(--accent);font:inherit;font-size:11.5px;cursor:pointer}.live-hint.svelte-1s66f6s{font-size:10px;color:var(--text-3)}.t-body.svelte-1s66f6s{display:flex;flex-direction:column;gap:10px}.ln.user.svelte-1s66f6s{display:flex;gap:8px;padding:6px 8px;background:var(--bg-input);border-radius:var(--radius-xs)}.who.svelte-1s66f6s{flex-shrink:0;font-size:9.5px;color:var(--text-3);padding-top:2px}.ln.user.svelte-1s66f6s .tx:where(.svelte-1s66f6s){color:var(--text-2);white-space:pre-wrap;word-break:break-word}.ln.md.svelte-1s66f6s,.ln.md.svelte-1s66f6s .md{font-size:12px;color:var(--text-2)}.ln.tool.svelte-1s66f6s{display:flex;gap:8px;font-size:10.5px;color:var(--text-3);padding-left:8px;border-left:2px solid var(--border-2)}.ln.tool.svelte-1s66f6s .who:where(.svelte-1s66f6s){color:var(--text-2)}.ln.tool.svelte-1s66f6s .tx:where(.svelte-1s66f6s){min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ln.err.svelte-1s66f6s{color:var(--err);font-size:11px}.inspector.svelte-gu3dqx{width:var(--insp-w, 280px);flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-elev);border-left:1px solid var(--border-2)}.head.svelte-gu3dqx{padding:14px 16px 12px;border-bottom:1px solid var(--border-2)}.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;gap:2px;padding: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;padding:9px 8px 8px;background:transparent;border:none;color:var(--text-3);font:inherit;font-size:12px;white-space:nowrap;cursor:pointer}.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:8px;right:8px;bottom:-1px;height:2px;background:var(--accent);border-radius:var(--radius-pill)}.tbadge.svelte-gu3dqx{margin-left:4px;font-size:9.5px;color:var(--text-3)}.tab.active.svelte-gu3dqx .tbadge:where(.svelte-gu3dqx){color:var(--text-2)}.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;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{display:contents}.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);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.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)}.card.svelte-2ec03f{align-self:flex-end;max-width:82%;padding:11px 16px;border-radius:var(--radius) var(--radius) var(--radius-tail) var(--radius);margin:14px 0 6px;line-height:1.55;font-size:14px;background:var(--user-bubble);color:var(--user-ink);border:1px solid var(--bubbleline);white-space:pre-wrap;word-break:break-word}.thinking-row.svelte-1n9pz5q{display:flex;align-items:center;gap:10px;margin:2px 0 8px}.toggle.svelte-1n9pz5q{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;color:var(--hl-purple);-webkit-user-select:none;user-select:none}.caret.svelte-1n9pz5q{display:inline-block;animation:svelte-1n9pz5q-spin 1.2s linear infinite}@keyframes svelte-1n9pz5q-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stop.svelte-1n9pz5q{background:transparent;border:1px solid var(--border-2);color:var(--text-3);border-radius:var(--radius-sm);padding:2px 8px;font-family:var(--font-mono);font-size:10px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.stop.svelte-1n9pz5q:hover{color:var(--err);border-color:var(--err)}.term.svelte-dcl78h{background:var(--bg-code);border:1px solid var(--border-2);border-radius:var(--radius-sm);overflow:hidden}.term-head.svelte-dcl78h{display:flex;align-items:center;gap:8px;padding:5px 10px;border-bottom:1px solid var(--border-2);background:transparent}.glyph.svelte-dcl78h{font-size:11px;flex-shrink:0}.done.svelte-dcl78h .glyph:where(.svelte-dcl78h){color:var(--ok)}.running.svelte-dcl78h .glyph:where(.svelte-dcl78h){color:var(--accent);animation:ocrc-blink 1s step-end infinite}.error.svelte-dcl78h .glyph:where(.svelte-dcl78h){color:var(--err)}.tname.svelte-dcl78h{font-size:11.5px;font-weight:500;color:var(--text-2)}.running.svelte-dcl78h .tname:where(.svelte-dcl78h){color:var(--text)}.error.svelte-dcl78h .tname:where(.svelte-dcl78h){color:var(--err)}.diff.svelte-dcl78h{display:flex;align-items:center;gap:6px;font-size:11px}.diff.svelte-dcl78h .add:where(.svelte-dcl78h){color:var(--ok)}.diff.svelte-dcl78h .del:where(.svelte-dcl78h){color:var(--err)}.shimmer.svelte-dcl78h{margin-left:auto;width:42px;height:4px;border-radius:var(--radius-bar);background:linear-gradient(90deg,var(--accent) 0%,var(--text) 50%,var(--accent) 100%);background-size:200% 100%;animation:ocrc-shimmer 1.4s linear infinite}.dur.svelte-dcl78h{margin-left:auto;font-size:11px;color:var(--text-4)}.term-body.svelte-dcl78h{padding:8px 10px;font-size:11.5px;line-height:1.5;color:var(--toolout);white-space:pre-wrap;word-break:break-word;overflow-x:auto}.toggle.svelte-dcl78h{display:block;width:100%;min-height:32px;padding:4px 10px;background:transparent;border:none;border-top:1px solid var(--border-2);color:var(--text-3);font-size:11px;text-align:left;cursor:pointer}.toggle.svelte-dcl78h:hover{color:var(--text)}.execution.svelte-on906i{background:var(--bg-elev);border:1px solid var(--border-2);border-radius:var(--radius-sm);padding:10px 12px 12px;margin:0 0 12px}.header.svelte-on906i{display:flex;align-items:center;gap:10px;margin-bottom:10px}.label.svelte-on906i{font-size:9px;color:var(--text-4);letter-spacing:.12em;text-transform:uppercase}.rule.svelte-on906i{flex:1;height:1px;background:var(--border-2)}.count.svelte-on906i{font-size:10px;color:var(--text-3)}.rows.svelte-on906i{display:flex;flex-direction:column;gap:6px}.row.svelte-on906i{display:flex;flex-direction:column;gap:0}.row-main.svelte-on906i{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;background:transparent;border:none;border-radius:var(--radius-xs);color:inherit;text-align:left;box-sizing:border-box}.status.svelte-on906i{width:7px;height:7px;border-radius:50%;border:1.5px solid transparent;flex-shrink:0;box-sizing:border-box}.sr-only.svelte-on906i{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.row.running.svelte-on906i .status:where(.svelte-on906i){background:var(--accent);border-color:var(--accent);box-shadow:0 0 7px var(--accent);animation:ocrc-blink 1s step-end infinite}.row.done.svelte-on906i .status:where(.svelte-on906i){background:var(--ok);border-color:var(--ok)}.row.error.svelte-on906i .status:where(.svelte-on906i){background:var(--err);border-color:var(--err)}.row.svelte-on906i:not(.running):not(.done):not(.error) .status:where(.svelte-on906i){background:transparent;border:1.5px solid var(--text-4)}.name.svelte-on906i{flex-shrink:0;font-size:12.5px;font-weight:500}.row.done.svelte-on906i .name:where(.svelte-on906i){color:var(--text-2)}.row.running.svelte-on906i .name:where(.svelte-on906i){color:var(--text)}.row.error.svelte-on906i .name:where(.svelte-on906i){color:var(--err)}.row.svelte-on906i:not(.running):not(.done):not(.error) .name:where(.svelte-on906i){color:var(--text-2)}.ps1.svelte-on906i{flex-shrink:0;color:var(--accent);font-weight:700;font-size:12.5px}.row.bash.svelte-on906i .arg:where(.svelte-on906i){color:var(--toolcmd);font-weight:600}.arg.svelte-on906i{flex:1;min-width:0;font-size:12.5px;color:var(--hl-green);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diff.svelte-on906i{flex-shrink:0;display:flex;align-items:center;gap:6px;font-size:11.5px}.diff.svelte-on906i .add:where(.svelte-on906i){color:var(--ok)}.diff.svelte-on906i .del:where(.svelte-on906i){color:var(--err)}.shimmer.svelte-on906i{flex-shrink:0;width:42px;height:4px;border-radius:var(--radius-bar);background:linear-gradient(90deg,var(--accent) 0%,var(--text) 50%,var(--accent) 100%);background-size:200% 100%;animation:ocrc-shimmer 1.4s linear infinite}.dur.svelte-on906i{flex-shrink:0;font-size:11px;color:var(--text-4)}.more.svelte-on906i{align-self:flex-start;background:transparent;border:none;color:var(--text-3);font-size:11.5px;padding:4px 8px;cursor:pointer}.more.svelte-on906i:hover{color:var(--text)}.card.svelte-l1yd1q{align-self:stretch;width:100%;padding:4px 2px 8px;margin:6px 0 18px}.text.svelte-l1yd1q{color:var(--text-2);font-size:13px;line-height:1.6}.text.svelte-l1yd1q .md{font-size:13px;color:var(--text-2);line-height:1.6}.text.svelte-l1yd1q+.text:where(.svelte-l1yd1q){margin-top:8px}.think.svelte-l1yd1q{margin:2px 0 10px}.think-head.svelte-l1yd1q{display:inline-flex;align-items:center;gap:7px;background:transparent;border:none;padding:2px 0;color:var(--text-3);cursor:pointer;font-size:12px}.think-head.svelte-l1yd1q:hover{color:var(--text-2)}.think-dot.svelte-l1yd1q{width:7px;height:7px;border-radius:50%;background:var(--text-3);animation:ocrc-pulse 1.2s ease-in-out infinite}.think-label.svelte-l1yd1q{font-style:italic}.think-caret.svelte-l1yd1q{width:12px;height:12px;transition:transform .15s ease}.think-caret.open.svelte-l1yd1q{transform:rotate(90deg)}.think-body.svelte-l1yd1q{margin:6px 0 0;padding:8px 12px;background:var(--bg-elev);border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--text-3);font-family:var(--font-sans);font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:240px;overflow-y:auto}.card.svelte-wmi6xy{align-self:stretch;width:100%;padding:4px 2px 8px;margin:6px 0 18px}.think.svelte-wmi6xy{margin:0 0 10px;border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--bg-elev);overflow:hidden}.think.svelte-wmi6xy summary:where(.svelte-wmi6xy){padding:6px 12px;font-size:12px;font-style:italic;color:var(--text-3);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center;gap:6px}.think.svelte-wmi6xy summary:where(.svelte-wmi6xy):before{content:"›";transition:transform .15s ease}.think[open].svelte-wmi6xy summary:where(.svelte-wmi6xy):before{transform:rotate(90deg)}.think.svelte-wmi6xy summary:where(.svelte-wmi6xy):hover{color:var(--text-2)}.think.svelte-wmi6xy pre:where(.svelte-wmi6xy){margin:0;padding:8px 12px 10px;border-top:1px solid var(--border-2);color:var(--text-3);font-family:var(--font-sans);font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:260px;overflow-y:auto}.text.svelte-wmi6xy{color:var(--text)}.meta.svelte-wmi6xy{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:2px}.chips.svelte-wmi6xy{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.chip.svelte-wmi6xy{font-family:var(--font-mono);font-size:10.5px;color:var(--text-3);background:var(--bg-elev);border:1px solid var(--border-2);border-radius:var(--radius-pill);padding:2px 8px}.chip.agent.svelte-wmi6xy{color:var(--text-2)}.chip.cost.svelte-wmi6xy{color:var(--warn)}.actions.svelte-wmi6xy{display:flex;align-items:center;gap:4px;flex-shrink:0}.icon.svelte-wmi6xy{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-sm);color:var(--text-3);font-size:12px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.icon.svelte-wmi6xy:hover{color:var(--text);border-color:var(--border);background:var(--bg-elev)}.icon.copied.svelte-wmi6xy{color:var(--accent);border-color:var(--accent-line);background:var(--accent-2)}.card.svelte-1m8kde8{align-self:flex-start;max-width:80%;margin:4px 0;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--err);background:color-mix(in srgb,var(--err) 8%,transparent);line-height:1.4}.head.svelte-1m8kde8{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--err)}.retry.svelte-1m8kde8{margin-top:7px;padding:4px 11px;background:transparent;border:1px solid var(--err);border-radius:var(--radius-pill);color:var(--err);font-size:11.5px;cursor:pointer}.retry.svelte-1m8kde8:hover{background:var(--err);color:var(--accent-ink)}code.svelte-1m8kde8{display:block;margin-top:6px;font-family:var(--font-mono);font-size:11px;line-height:1.45;background:var(--bg);border:1px solid var(--border-2);padding:6px 8px;border-radius:var(--radius-sm);color:var(--text-2);white-space:pre-wrap;word-break:break-word}.note.svelte-hbf6ni,.note.svelte-scaqco{align-self:center;max-width:80%;margin:6px 0;padding:6px 12px;text-align:center;font-size:12.5px;color:var(--text-3);line-height:1.5}.appr.svelte-19vkggv{align-self:stretch;width:100%;margin:6px 0 14px;border-radius:var(--radius-sm);background:var(--bg-elev);border:1px solid var(--border-2)}.appr.pending.svelte-19vkggv{border-color:var(--warn)}.header.svelte-19vkggv{display:flex;align-items:center;gap:8px;padding:9px 12px;background:color-mix(in srgb,var(--warn) 8%,transparent);border-bottom:1px solid var(--border-2);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.warn-dot.svelte-19vkggv{width:7px;height:7px;border-radius:50%;background:var(--warn);flex-shrink:0}.label.svelte-19vkggv{font-size:10px;font-weight:650;letter-spacing:.08em;color:var(--warn)}.rule.svelte-19vkggv{flex:1;height:1px;background:var(--border-2);opacity:.7}.tool.svelte-19vkggv{flex-shrink:0;font-size:11px;color:var(--text-2)}.diff.svelte-19vkggv{margin:10px 12px;padding:8px 10px;background:var(--bg-code);border:1px solid var(--border-2);border-radius:var(--radius-sm);font-size:11.5px;line-height:1.5;color:var(--text-2);white-space:pre-wrap;word-break:break-word;overflow-x:auto}.acts.svelte-19vkggv{display:flex;align-items:center;gap:8px;padding:0 12px 12px}.spacer.svelte-19vkggv{flex:1}.a.svelte-19vkggv{min-height:40px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-2);cursor:pointer;font-size:12px;font-weight:500;transition:background .15s ease,border-color .15s ease,color .15s ease}.a.allow.svelte-19vkggv{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.a.allow.svelte-19vkggv:hover{opacity:.9}.a.always.svelte-19vkggv{background:transparent;border-color:var(--accent-line);color:var(--accent)}.a.always.svelte-19vkggv:hover{background:var(--accent-2)}.a.rej.svelte-19vkggv{background:transparent;border-color:var(--border-2);color:var(--text-3)}.a.rej.svelte-19vkggv:hover{color:var(--err);border-color:var(--err)}.appr.resolved.svelte-19vkggv{display:flex;align-items:baseline;gap:6px;padding:6px 12px;background:transparent;border:none;font-size:12px;color:var(--text-3);animation:ocrc-fade .15s var(--ease-out, ease-out)}.appr.resolved.svelte-19vkggv .mark:where(.svelte-19vkggv){color:var(--accent);font-weight:700}.appr.resolved.rej.svelte-19vkggv .mark:where(.svelte-19vkggv){color:var(--err)}.appr.resolved.svelte-19vkggv .rlabel:where(.svelte-19vkggv){color:var(--text-2);font-weight:600}.appr.resolved.svelte-19vkggv .rttl:where(.svelte-19vkggv){color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qcard.svelte-hiqfhq{align-self:stretch;width:100%;margin:6px 0 14px;border-radius:var(--radius-sm);background:var(--bg-elev);border:1px solid var(--accent-line)}.header.svelte-hiqfhq{display:flex;align-items:center;gap:8px;padding:9px 12px;background:color-mix(in srgb,var(--accent) 8%,transparent);border-bottom:1px solid var(--border-2);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.q-dot.svelte-hiqfhq{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}.label.svelte-hiqfhq{font-size:10px;font-weight:650;letter-spacing:.08em;color:var(--accent)}.rule.svelte-hiqfhq{flex:1;height:1px;background:var(--border-2);opacity:.7}.warn-note.svelte-hiqfhq{font-size:10.5px;color:var(--warn)}.q.svelte-hiqfhq{padding:10px 12px 2px}.qhead.svelte-hiqfhq{font-size:10px;letter-spacing:.08em;color:var(--text-3);text-transform:uppercase;margin-bottom:2px}.qtext.svelte-hiqfhq{font-size:13px;color:var(--text);line-height:1.45;margin-bottom:8px}.opts.svelte-hiqfhq{display:flex;flex-wrap:wrap;gap:6px}.opt.svelte-hiqfhq{padding:7px 12px;border-radius:var(--radius-pill);border:1px solid var(--border-2);background:var(--bg-input);color:var(--text-2);font-size:12px;cursor:pointer;transition:background .15s var(--ease, ease),border-color .15s var(--ease, ease),color .15s var(--ease, ease)}.opt.svelte-hiqfhq:hover{border-color:var(--accent-line);color:var(--text)}.opt.on.svelte-hiqfhq{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.custom.svelte-hiqfhq{margin-top:8px;width:100%;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-2);background:var(--bg-input);color:var(--text);font-size:12px}.custom.svelte-hiqfhq:focus{outline:none;border-color:var(--accent-line)}.hint.svelte-hiqfhq{margin-top:6px;font-size:10.5px;color:var(--text-3)}.acts.svelte-hiqfhq{display:flex;align-items:center;gap:8px;padding:10px 12px 12px}.spacer.svelte-hiqfhq{flex:1}.a.svelte-hiqfhq{min-height:38px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--text-2);cursor:pointer;font-size:12px;font-weight:500}.a.send.svelte-hiqfhq{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.a.send.svelte-hiqfhq:disabled{opacity:.45;cursor:default}.a.rej.svelte-hiqfhq{background:transparent;border-color:var(--border-2);color:var(--text-3)}.a.rej.svelte-hiqfhq:hover{color:var(--err);border-color:var(--err)}.qcard.resolved.svelte-hiqfhq{display:flex;align-items:baseline;gap:6px;padding:6px 12px;background:transparent;border:none;font-size:12px;color:var(--text-3)}.qcard.resolved.fresh.svelte-hiqfhq{animation:ocrc-fade .15s var(--ease-out, ease-out)}.qcard.resolved.svelte-hiqfhq .mark:where(.svelte-hiqfhq){color:var(--accent);font-weight:700}.qcard.resolved.rej.svelte-hiqfhq .mark:where(.svelte-hiqfhq){color:var(--err)}.qcard.resolved.svelte-hiqfhq .rlabel:where(.svelte-hiqfhq){color:var(--text-2);font-weight:600}.qcard.resolved.svelte-hiqfhq .rttl:where(.svelte-hiqfhq){color:var(--text-3)}.placeholder.svelte-1udyrqm{padding:10px;color:var(--text-3);font-style:italic}.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.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}.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;display:none}@media (min-width: 821px){.wrap.svelte-4bdpxt{display:block}}.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)}.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}.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 (max-width: 820px){.composer.svelte-60fagq{padding:0 12px;padding-bottom: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:var(--col-w, 880px);margin:0 auto}.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.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}@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 max(24px,calc((100% - var(--col-w, 880px)) / 2 + 24px));background:var(--bg);border-bottom:1px solid var(--border-2)}.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}@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)}.abort.svelte-eho102{background:transparent;border:1px solid var(--border-2);color:var(--text-3);border-radius:var(--radius-pill);padding:3px 10px;font-size:11px;font-weight:500;cursor:pointer;transition:color .15s ease,border-color .15s ease}.abort.svelte-eho102:hover{color:var(--err);border-color:var(--err)}.abort.svelte-eho102:disabled{opacity:.5;cursor:default}.stream.svelte-eho102{max-width:var(--col-w, 880px);margin:0 auto;padding:22px 24px 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}.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 (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 Y,b7 as K,b6 as P,b4 as X,aN as R,aM as V,a8 as L,V as Z,X as ee,a2 as te,b8 as p,a9 as g,Y as m}from"./BjY4dxcB.js";function ge(e=!1){const t=Y,n=t.l.u;if(!n)return;let s=()=>Z(t.s);if(e){let i=0,o={};const d=ee(()=>{let a=!1;const l=t.s;for(const u in l)l[u]!==o[u]&&(o[u]=l[u],a=!0);return a&&i++,i});s=()=>L(d)}n.b.length&&K(()=>{N(t,s),R(n.b)}),P(()=>{const i=X(()=>n.m.map(V));return()=>{for(const o of i)typeof o=="function"&&o()}}),n.a.length&&P(()=>{N(t,s),R(n.a)})}function N(e,t){if(e.l.s)for(const n of e.l.s)L(n);t()}te();const $="ocrc.token";function B(e){const t=e.startsWith("#")?e.slice(1):e;if(!t)return null;const n=new URLSearchParams(t).get("token");return n&&n.trim()?n.trim():null}function ne(e){const t=e.startsWith("#")?e.slice(1):e;if(!t)return null;const n=new URLSearchParams(t).get("pair");return n&&n.trim()?n.trim():null}function S(){try{const e=localStorage.getItem($);return e&&e.trim()?e:null}catch{return null}}function k(e){try{localStorage.setItem($,e)}catch{}}function H(){try{localStorage.removeItem($)}catch{}}const I="ocrc.authReloaded";function se(e=window.location){if(S()){H();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"),A=p("");let b=null;if(typeof location<"u"&&typeof window<"u"){const e=B(location.hash);e&&k(e),b=ne(location.hash),b&&history.replaceState(null,"",location.pathname+location.search)}b?(f.set("booting"),(async()=>{try{const e=await fetch("/api/pair/exchange",{method:"POST",headers:{"content-type":"application/json"},credentials:"include",body:JSON.stringify({pending:b})});if(!e.ok)throw new Error(String(e.status));const t=await e.json();if(!t.token)throw new Error("no token");k(t.token),A.set(""),f.set("ready")}catch{A.set("配对链接已失效(1 分钟过期或已被使用)——请在主机上刷新二维码后重试。"),f.set("pairing")}})()):f.set(S()?"ready":"pairing");async function ye(e){const t=e.trim().match(/[?#]pair=([^&#\s]+)/),n=t?decodeURIComponent(t[1]):e.trim();if(!n)return"这看起来不是有效的配对链接。";try{const s=await fetch("/api/pair/exchange",{method:"POST",headers:{"content-type":"application/json"},credentials:"include",body:JSON.stringify({pending:n})});if(!s.ok)throw new Error(String(s.status));const i=await s.json();return!i.token||!ie(i.token)?"这看起来不是有效的配对链接。":(A.set(""),"")}catch{return"配对链接已失效(1 分钟过期或已被使用)——请刷新二维码后重试。"}}function T(){const e=S();if(!e){g(f)==="ready"&&se();return}const t=typeof location<"u"?B(location.hash):null;if(t&&t!==e){k(t),f.set("ready");return}if(t){f.set("rejected");return}H(),f.set("pairing")}function ie(e){const t=e.trim();return!t||t.length<16?!1:(k(t),f.set("ready"),!0)}let O="";function j(e){const t={...e??{}},n=S();return n&&(t.authorization=`Bearer ${n}`),t}async function r(e){const t=await fetch(`${O}${e}`,{credentials:"include",headers:j()});if(t.status===401)throw T(),new Error(`GET ${e} 401`);if(!t.ok)throw new Error(`GET ${e} ${t.status}`);return E(),t.json()}async function c(e,t){const n=await fetch(`${O}${e}`,{method:"POST",headers:j({"content-type":"application/json"}),credentials:"include",body:JSON.stringify(t)});if(n.status===401)throw T(),new Error(`POST ${e} 401`);if(!n.ok)throw new Error(`POST ${e} ${n.status}`);return E(),n.json()}async function z(e,t,n){const s=await fetch(`${O}${t}`,{method:e,headers:j(n===void 0?void 0:{"content-type":"application/json"}),credentials:"include",body:n===void 0?void 0:JSON.stringify(n)});if(s.status===401)throw T(),new Error(`${e} ${t} 401`);if(!s.ok)throw new Error(`${e} ${t} ${s.status}`);return E(),s.json()}async function U(e,t){return z("PATCH",e,t)}async function x(e){return z("DELETE",e)}const q={me:()=>r("/api/me"),capabilities:()=>r("/api/capabilities"),backends:()=>r("/api/backends"),setActiveBackend:e=>c("/api/backends/active",{backendId:e}),sessions:()=>r("/api/sessions"),cleanupSubagents:()=>c("/api/sessions/cleanup-subagents",{}),deleteSession:e=>c(`/api/sessions/${e}/delete`,{}),renameSession:(e,t)=>c(`/api/sessions/${e}/rename`,{title:t}),history:(e,t)=>{const n=new URLSearchParams;(t==null?void 0:t.limit)!=null&&n.set("limit",String(t.limit)),(t==null?void 0:t.offset)!=null&&n.set("offset",String(t.offset));const s=n.toString();return r(`/api/session/${e}${s?`?${s}`:""}`)},diff:e=>r(`/api/session/${e}/diff`),todo:e=>r(`/api/session/${e}/todo`),context:e=>r(`/api/session/${e}/context`),workspaces:()=>r("/api/workspaces"),createSession:e=>c("/api/session",e),mcp:()=>r("/api/mcp"),commands:e=>r(`/api/commands${e?`?backend=${encodeURIComponent(e)}`:""}`),runCommand:e=>c("/api/command",e),agents:()=>r("/api/agents"),models:()=>r("/api/models"),getOverrides:()=>r("/api/overrides"),setOverrides:e=>c("/api/overrides",e),sendMessage:e=>c("/api/message",e),abort:e=>c("/api/abort",{sessionId:e}),suggestions:e=>r(`/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=>r(`/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)=>r(`/api/session/${e}/files?q=${encodeURIComponent(t)}`),schedules:()=>r("/api/schedules"),subagents:e=>r(`/api/session/${e}/subagents`),version:()=>r("/api/version"),skills:e=>r(`/api/skills${e?`?directory=${encodeURIComponent(e)}`:""}`),browse:(e,t)=>r(`/api/browse?directory=${encodeURIComponent(e)}&path=${encodeURIComponent(t)}`),fileContent:(e,t)=>r(`/api/file-content?directory=${encodeURIComponent(e)}&path=${encodeURIComponent(t)}`),worktrees:e=>r(`/api/worktrees${e?`?directory=${encodeURIComponent(e)}`:""}`),createWorktree:(e,t)=>c("/api/worktrees",{directory:e,name:t}),removeWorktree:(e,t)=>x(`/api/worktrees?directory=${encodeURIComponent(e)}&name=${encodeURIComponent(t)}`),channels:()=>r("/api/channels"),updateChannel:(e,t)=>U(`/api/channels/${e}`,t),resetChannel:e=>c(`/api/channels/${e}/reset`,{}),pairQr:()=>r("/api/pair/qr"),pairOnboarding:()=>r("/api/pair/onboarding"),exchangePair:e=>c("/api/pair/exchange",{pending:e}),addSchedule:e=>c("/api/schedules",e),setScheduleEnabled:(e,t)=>U(`/api/schedules/${e}`,{enabled:t}),deleteSchedule:e=>x(`/api/schedules/${e}`)},J=p([]),_=()=>({order:[],byId:{},lastSeq:0}),y=p({});function M(e,t){return e.id??`${e.kind}:${e.seq??t}`}function re(e){return e==="thinking"||e==="think-stream"}function be(e){return e?e.order.map(t=>e.byId[t]).filter(Boolean):[]}function we(e,t){return typeof t.seq=="number"&&e>0&&t.seq>e+1}function Se(e){if(!("sessionId"in e)||!e.sessionId)return;const t=e.sessionId,n=M(e,0);y.update(s=>{const i=s[t]??_();if(e.seq!=null&&e.seq<=i.lastSeq&&!(n in i.byId))return s;e.seq!=null&&(i.lastSeq=Math.max(i.lastSeq,e.seq));const o=e.id?e:{...e,id:n};if(n in i.byId)i.byId={...i.byId,[n]:o};else{let d=i.order,a=i.byId;(e.kind==="streaming"||e.kind==="assistant"||e.kind==="error")&&(a={...a},d=d.filter(l=>{var u;return re((u=a[l])==null?void 0:u.kind)?(delete a[l],!1):!0})),i.order=[...d,n],i.byId={...a,[n]:o}}return{...s,[t]:i}})}function ke(e){y.update(t=>{for(const n of Object.keys(t)){const s=t[n];if(!(e in s.byId))continue;const i={...s.byId};return delete i[e],{...t,[n]:{...s,order:s.order.filter(o=>o!==e),byId:i}}}return t})}function ve(e,t,n=0){y.update(s=>{const i=_();return i.lastSeq=n,t.forEach((o,d)=>{const a=M(o,d);i.order.push(a),i.byId[a]=o.id?o:{...o,id:a}}),{...s,[e]:i}})}let F=0;function Ie(e,t){if(t.length===0)return;F+=1;const n=F;y.update(s=>{const i=s[e]??_(),o={...i.byId},d=[];for(let a=t.length-1;a>=0;a--){const l=t[a],u=l.id??`${l.kind}:h${n}:${a}`;u in o||(d.push(u),o[u]=l.id?l:{...l,id:u})}return d.length===0?s:{...s,[e]:{order:[...d.reverse(),...i.order],byId:o,lastSeq:i.lastSeq}}})}function Ae(e){const t=new Set(Array.isArray(e)?e:e?[e]:[]);y.update(n=>{const s={};for(const i of Object.keys(n))t.has(i)&&(s[i]=n[i]);return s})}const v=p(null),h=p(null),D=p(void 0),oe=m([h,D,J,v],([e,t,n,s])=>{if(e){const i=t?n.find(a=>a.id===t):void 0,o=(i==null?void 0:i.backendId)??e.activeId,d=e.backends.find(a=>a.id===o);if(d)return d.capabilities}return(s==null?void 0:s.capabilities)??null}),ae=m([h,D,J,v],([e,t,n,s])=>{if(e){const i=t?n.find(o=>o.id===t):void 0;return(i==null?void 0:i.backendId)??e.activeId}return(s==null?void 0:s.id)??null}),Ce=m(oe,e=>t=>e?e[t]!==!1:!0),ce=m([h,v],([e,t])=>{var n;return e?((n=e.backends.find(s=>s.id===e.activeId))==null?void 0:n.capabilities)??null:(t==null?void 0:t.capabilities)??null});m(ce,e=>t=>e?e[t]!==!1:!0);const $e=m(ae,e=>{const t=e??"opencode";return t.includes(":")?t.split(":").pop():t}),w=["emerald","azure","amber","violet"],Ee={emerald:"#54d398",azure:"#5b9eff",amber:"#ffc34d",violet:"#b48cf0"},Te={emerald:"#0f261b",azure:"#101f33",amber:"#2a2110",violet:"#1d1733"},Oe={emerald:"#236b49",azure:"#2c5891",amber:"#8a6a26",violet:"#5a4790"},W="ocrc.agentAccents",G={opencode:"emerald","acp:kimi":"azure"};function de(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)>>>0;return t}function le(e){return G[e]?G[e]:w[de(e)%w.length]}function ue(){if(typeof localStorage>"u")return{};try{const e=localStorage.getItem(W),t=e?JSON.parse(e):{};return typeof t=="object"&&t!==null?t:{}}catch{return{}}}function fe(e){if(!(typeof localStorage>"u"))try{localStorage.setItem(W,JSON.stringify(e))}catch{}}const C=p(ue());function pe(e){const t=g(C);return w.includes(t[e])?t[e]:le(e)}function je(e,t){var s;const n={...g(C)};t&&w.includes(t)?n[e]=t:delete n[e],C.set(n),fe(n),((s=g(h))==null?void 0:s.activeId)===e&&Q(e)}function Q(e){typeof document>"u"||document.documentElement.setAttribute("data-accent",pe(e))}async function qe(){try{v.set(await q.capabilities())}catch(e){console.warn("[capabilities] failed to load",e)}}async function he(){try{h.set(await q.backends())}catch(e){console.warn("[backends] failed to load",e)}}async function _e(e){const t=g(h);t&&h.set({...t,activeId:e});try{await q.setActiveBackend(e)}catch(n){console.warn("[backends] setActive failed",n)}await he(),Q(e)}export{w as A,_e as B,je as C,ve as D,ie as E,Se as F,D as G,Te as a,Ee as b,Oe as c,C as d,pe as e,q as f,Q as g,f as h,$e as i,h as j,Ce as k,be as l,ae as m,le as n,ye as o,y as p,S as q,ge as r,we as s,he as t,qe as u,A as v,Ie as w,Ae as x,ke as y,J as z};
|