@bd7pil/ocrc 0.9.1 → 0.10.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/connectivity/pairing.js +28 -0
- package/dist/connectivity/pairing.js.map +1 -1
- package/dist/plugin/entry.js +7 -0
- package/dist/plugin/entry.js.map +1 -1
- package/dist/transport/telegram/handlers.js +16 -6
- package/dist/transport/telegram/handlers.js.map +1 -1
- package/dist/transport/telegram/index.js +1 -0
- package/dist/transport/telegram/index.js.map +1 -1
- package/dist/transport/web/index.js +1 -0
- package/dist/transport/web/index.js.map +1 -1
- package/dist/transport/web/routes/channels.js +0 -15
- package/dist/transport/web/routes/channels.js.map +1 -1
- package/dist/transport/web/routes/pairing.js +54 -0
- package/dist/transport/web/routes/pairing.js.map +1 -0
- package/dist/transport/web/server.js +6 -0
- package/dist/transport/web/server.js.map +1 -1
- package/package.json +1 -1
- package/web/dist/_app/immutable/assets/{0.DxN3RsuG.css → 0.D_Csy85O.css} +1 -1
- package/web/dist/_app/immutable/chunks/{Bu_jjeZQ.js → 98wR69sT.js} +1 -1
- package/web/dist/_app/immutable/chunks/COhEGSJl.js +1 -0
- package/web/dist/_app/immutable/chunks/{DDAxukGR.js → jOoFKpCJ.js} +1 -1
- package/web/dist/_app/immutable/entry/{app.DATq9xmi.js → app.Bi0PFUQI.js} +2 -2
- package/web/dist/_app/immutable/entry/start.C-D-fwWr.js +1 -0
- package/web/dist/_app/immutable/nodes/0.CoFDtJvR.js +3 -0
- package/web/dist/_app/immutable/nodes/{1.CnKSkbUR.js → 1.DRC2csGs.js} +1 -1
- package/web/dist/_app/immutable/nodes/2.qzqW3G-w.js +1 -0
- package/web/dist/_app/immutable/nodes/{3.DPmmeQtk.js → 3.CuA7MWar.js} +1 -1
- package/web/dist/_app/version.json +1 -1
- package/web/dist/index.html +10 -10
- package/web/dist/service-worker.js +1 -1
- package/web/dist/_app/immutable/chunks/BUpwHpMJ.js +0 -1
- package/web/dist/_app/immutable/entry/start.B1Q7494_.js +0 -1
- package/web/dist/_app/immutable/nodes/0.fgaISYb2.js +0 -3
- package/web/dist/_app/immutable/nodes/2.chuq_5DO.js +0 -1
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import"../chunks/CWj6FrbW.js";import{p as ba,q as Ge,x as dt,o as qt,f as we,j as Nt,d as _a,a as gt,b as Ze,c as yt,e as kt,z as Ut,A as Bt,n as ma,y as Dt,l as ea,k as ia,m as ga,g as Gt,C as ya,h as Kt,t as ka,s as wa,E as xa,v as ta,B as Ft,D as $a,r as Ia}from"../chunks/BUpwHpMJ.js";import{ai as za,ag as Sa,a1 as $t,b4 as r,a_ as Aa,aa as qa,am as Ca,aE as Ve,ap as F,aO as s,V as ie,a8 as e,aq as st,J as a,aK as t,aU as n,aw as _t,a$ as X,aR as C,a3 as P,w as _,aB as He,au as h,Z as mt,a6 as x,M as xt,a4 as et,b0 as Pt,b8 as Ta,b5 as ht,$ as Tt,aI as Ea,ay as La,Q as ja,b1 as Ma,az as ca,av as aa,a9 as At}from"../chunks/BjY4dxcB.js";import{i as U,a as Te,s as ot}from"../chunks/DIEDQ_hk.js";import{m as va,g as Lt,I as wt,v as _e,u as Pe,r as It,d as Vt,B as Oa,A as Ba,h as tt,a as Da,t as vt,c as bt,w as lt,n as Ht,k as Jt,q as zt,z as Pa,b as sa,p as da,o as St,C as Na,y as Ra,j as Wa,x as Ka,l as Mt,i as na}from"../chunks/Bu_jjeZQ.js";import{p as Ce,b as Rt}from"../chunks/C2FuqD3s.js";import{g as Xt,a as Fa}from"../chunks/DDAxukGR.js";function Ua(T,d,u,A,L){var y;za&&Sa();var i=(y=d.$$slots)==null?void 0:y[u],q=!1;i===!0&&(i=d.children,q=!0),i===void 0||i(T,q?()=>A:A)}function Yt(T,d,u){$t(()=>{var A=r(()=>d(T,u==null?void 0:u())||{});if(A!=null&&A.destroy)return()=>A.destroy()})}function Ga(T,d,u){var A=qa(T,d);A&&A.set&&(T[d]=u,Aa(()=>{T[d]=null}))}function Va(T,d){var i;var u=(i=T.$$events)==null?void 0:i[d.type],A=Ca(u)?u.slice():u==null?[]:[u];for(var L of A)L.call(this,d)}const Ha=!1,Ja=!1,Xa="always",Or=Object.freeze(Object.defineProperty({__proto__:null,prerender:Ja,ssr:Ha,trailingSlash:Xa},Symbol.toStringTag,{value:"Module"})),ra=[2e3,4e3,8e3,16e3,3e4];function Ya(T){const d=ba();if(!d)return T;const u=T.includes("?")?"&":"?";return`${T}${u}token=${encodeURIComponent(d)}`}function Qa(T){let d=null,u=0,A=null,L=null,i=null,q=0,y=!1,f=!1;const b=[];function g($){var O;Lt.set($),(O=T.onStatus)==null||O.call(T,$)}function m(){A&&(clearTimeout(A),A=null),L&&(clearTimeout(L),L=null),i&&(clearTimeout(i),i=null)}function j(){L=setTimeout(()=>{(d==null?void 0:d.readyState)===WebSocket.OPEN&&(q=performance.now(),d.send(JSON.stringify({type:"ping"})),i=setTimeout(()=>{d==null||d.close(),M()},45e3))},25e3)}function k(){if(!y){g("reconnecting");try{d=new WebSocket(Ya(T.url))}catch{M();return}d.onopen=()=>{var $;u=0,g("connected");for(const O of b.splice(0))d==null||d.send(O);f&&(($=T.onReconnect)==null||$.call(T)),f=!0,j()},d.onmessage=$=>{var O;try{const V=JSON.parse($.data);if(V.type==="pong"){i&&(clearTimeout(i),i=null),q&&va.set(Math.round(performance.now()-q)),j();return}(O=T.onMessage)==null||O.call(T,V)}catch{}},d.onclose=()=>{m(),y||M()},d.onerror=()=>{d==null||d.close()}}}function M(){if(m(),y)return;g("reconnecting");const $=ra[Math.min(u,ra.length-1)];u+=1,A=setTimeout(()=>void k(),$)}return k(),{send($){const O=JSON.stringify($);(d==null?void 0:d.readyState)===WebSocket.OPEN?d.send(O):b.push(O)},close(){y=!0,m(),b.length=0,d==null||d.close(),d=null,g("offline")}}}let la=new Map;const Ct=new Set;let ua,Et,Ot=!1;function Qt(){if(typeof document>"u")return;const T=document.title.replace(/^(🔔 [\d]+ 新动态 — )/,"")||"ocrc";if(Ct.size===0){Et&&(clearInterval(Et),Et=void 0),Ot=!1,document.title=T;return}Et||(document.title=`🔔 ${Ct.size} 新动态 — ${T}`,Et=setInterval(()=>{Ot=!Ot,document.title=Ot?`🔔 ${Ct.size} 新动态 — ${T}`:T},1200))}function Za(T){ua=T,T&&(Ct.delete(T),Qt())}function es(T){for(const d of T){const u=la.get(d.id);la.set(d.id,d.lastActiveAt),!(u===void 0||d.id===ua)&&d.lastActiveAt>u+1500&&(Ct.add(d.id),Qt())}}typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&(Ct.clear(),Qt())});var ts=x('<span class="dot-ring svelte-hhath1"></span>'),as=x('<span class="connection-latency mono svelte-hhath1"> </span>'),ss=x('<button class="install svelte-hhath1">Install</button>'),ns=x('<header class="titlebar svelte-hhath1"><button aria-label="Sessions"><!></button> <div class="brand svelte-hhath1" title="ocrc"><svg class="brand-mark svelte-hhath1" 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)"></path><circle cx="49" cy="20" r="6" fill="var(--accent)" stroke="none"></circle></svg> <span class="wordmark svelte-hhath1"><b class="svelte-hhath1">ocrc</b></span></div> <button class="new-session svelte-hhath1" title="新建会话、命令面板…"><span class="new-icon svelte-hhath1" aria-hidden="true">+</span> <span class="new-label svelte-hhath1">新建</span> <span class="new-caret svelte-hhath1" aria-hidden="true"><!></span></button> <button class="palette-trigger svelte-hhath1" title="搜索会话与命令 (⌘K)"><span class="palette-icon svelte-hhath1" aria-hidden="true"><!></span> <span class="palette-label svelte-hhath1">搜索会话与命令…</span> <kbd class="palette-keycap mono svelte-hhath1">⌘K</kbd></button> <span class="spacer svelte-hhath1"></span> <button class="themebtn svelte-hhath1" title="机器人与通道" aria-label="机器人与通道"><svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="10" rx="2"></rect><circle cx="12" cy="5" r="2"></circle><path d="M12 7v4"></path><path d="M8 16h0M16 16h0"></path></svg></button> <button class="themebtn svelte-hhath1" aria-label="Toggle color theme"><!></button> <span><span class="dot-wrap svelte-hhath1" aria-hidden="true"><span class="dot svelte-hhath1"></span> <!></span> <span class="connection-state svelte-hhath1"> </span> <!></span> <!> <button 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 class="user svelte-hhath1"><span class="user-email mono svelte-hhath1"> </span> <span class="avatar mono svelte-hhath1" aria-hidden="true"> </span></div></header>');function rs(T,d){Ve(d,!1);const u=()=>Te(Ba,"$theme",i),A=()=>Te(Lt,"$connection",i),L=()=>Te(va,"$latency",i),[i,q]=ot(),y=h(),f=h();let b=Ce(d,"email",8,""),g=Ce(d,"onPalette",8),m=Ce(d,"installEvent",8,null),j=Ce(d,"onInstall",8,()=>{}),k=Ce(d,"drawerLeft",8,!1),M=Ce(d,"drawerRight",8,!1),$=Ce(d,"onToggleLeft",8,()=>{}),O=Ce(d,"onToggleRight",8,()=>{}),V=Ce(d,"newButtonAnchor",12,null);function ae(D){return D==="connected"?"live":D==="reconnecting"?"reconnecting":"offline"}F(()=>ie(b()),()=>{s(y,b()||"you@local")}),F(()=>e(y),()=>{s(f,e(y).charAt(0).toUpperCase())}),st(),Ge();var ee=ns(),B=a(ee);let le;var W=a(B);wt(W,{name:"menu",size:18}),t(B);var G=n(B,4),pe=n(a(G),4),se=a(pe);wt(se,{name:"caret-down",size:9}),t(pe),t(G),Rt(G,D=>V(D),()=>V());var de=n(G,2),ne=a(de),me=a(ne);wt(me,{name:"search",size:14}),t(ne),_t(4),t(de);var p=n(de,4),c=n(p,2),l=a(c);{let D=mt(()=>u()==="light"?"moon":"sun");wt(l,{get name(){return e(D)},size:15})}t(c);var v=n(c,2),o=a(v),w=n(a(o),2);{var Q=D=>{var te=ts();_(D,te)};U(w,D=>{A()==="connected"&&D(Q)})}t(o);var ve=n(o,2),xe=a(ve,!0);t(ve);var $e=n(ve,2);{var R=D=>{var te=as(),ye=a(te);t(te),X(()=>C(ye,`${L()??""}ms`)),_(D,te)};U($e,D=>{A()==="connected"&&D(R)})}t(v);var re=n(v,2);{var he=D=>{var te=ss();P("click",te,function(...ye){var Oe;(Oe=j())==null||Oe.apply(this,ye)}),_(D,te)};U(re,D=>{m()&&D(he)})}var Le=n(re,2);let Ee;var S=n(Le,2),K=a(S),ue=a(K,!0);t(K);var ge=n(K,2),I=a(ge,!0);t(ge),t(S),t(ee),X((D,te)=>{le=_e(B,1,"iconbtn svelte-hhath1",null,le,{active:k()}),Pe(c,"title",u()==="light"?"Switch to dark":"Switch to light"),_e(v,1,`connection-pill ${A()??""}`,"svelte-hhath1"),Pe(v,"title",`WebSocket: ${D??""}`),C(xe,te),Ee=_e(Le,1,"iconbtn svelte-hhath1",null,Ee,{active:M()}),C(ue,e(y)),C(I,e(f))},[()=>(A(),r(()=>ae(A()))),()=>(A(),r(()=>ae(A())))]),P("click",B,function(...D){var te;(te=$())==null||te.apply(this,D)}),P("click",G,()=>It.update(D=>!D)),P("click",de,function(...D){var te;(te=g())==null||te.apply(this,D)}),P("click",p,()=>Vt.set(!0)),P("click",c,function(...D){var te;(te=Oa)==null||te.apply(this,D)}),P("click",Le,function(...D){var te;(te=O())==null||te.apply(this,D)}),_(T,ee),He(),q()}var ls=x('<div role="status"><!></div>');function os(T){const d=()=>Te(Lt,"$connection",u),[u,A]=ot();var L=xt(),i=et(L);{var q=y=>{var f=ls();let b;var g=a(f);{var m=k=>{var M=Pt("Reconnecting…");_(k,M)},j=k=>{var M=Pt("Offline — live updates paused");_(k,M)};U(g,k=>{d()==="reconnecting"?k(m):k(j,-1)})}t(f),X(()=>b=_e(f,1,"banner svelte-l46k7l",null,b,{offline:d()==="offline"})),_(y,f)};U(i,y=>{d()!=="connected"&&y(q)})}_(T,L),A()}const pa="ocrc.pinnedSessions";function is(){if(typeof localStorage>"u")return[];try{const T=localStorage.getItem(pa),d=T?JSON.parse(T):[];return Array.isArray(d)?d.filter(u=>typeof u=="string"):[]}catch{return[]}}function cs(T){if(!(typeof localStorage>"u"))try{localStorage.setItem(pa,JSON.stringify(T))}catch{}}function vs(){const{subscribe:T,update:d}=Ta(is());return{subscribe:T,toggle(u){d(A=>{const L=A.includes(u)?A.filter(i=>i!==u):[...A,u];return cs(L),L})}}}const oa=vs();function ds(T,d){return d?T.filter(u=>(u.directory??"")===d):T}var us=x('<input class="rename-input svelte-1h8243g" placeholder="Session title" aria-label="Session title"/>'),ps=x('<span class="pin-dot svelte-1h8243g" aria-label="已钉住">●</span>'),fs=x('<span class="title svelte-1h8243g"> </span> <!> <span class="actions svelte-1h8243g"><button class="act rename svelte-1h8243g" title="重命名会话" aria-label="重命名会话"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20h9"></path><path d="M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z"></path></svg></button> <button aria-label="钉住会话"><svg width="13" height="13" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M9 4h6l-1 6 3 3v2H7v-2l3-3-1-6z"></path><line x1="12" y1="15" x2="12" y2="21"></line></svg></button> <button class="act trash svelte-1h8243g" title="删除会话" aria-label="删除会话"><svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6h18M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6M10 11v6M14 11v6M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2"></path></svg></button></span>',1),hs=x('<span class="sep svelte-1h8243g">·</span><span class="repo svelte-1h8243g"> </span>',1),bs=x('<span class="add svelte-1h8243g"> </span>'),_s=x('<span class="del svelte-1h8243g"> </span>'),ms=x('<span class="sep svelte-1h8243g">·</span> <!> <!>',1),gs=x('<div class="progress svelte-1h8243g" aria-hidden="true"><span class="progress-fill svelte-1h8243g"></span></div>'),ys=x('<a><div class="line1 svelte-1h8243g"><span><span class="sr-only svelte-1h8243g"> </span></span> <!></div> <div class="meta mono svelte-1h8243g"><span class="id svelte-1h8243g"> </span> <!> <span class="sep svelte-1h8243g">·</span><span> </span> <!></div> <!></a>'),ks=x('<div class="group-header mono svelte-1h8243g"><span class="gh-label svelte-1h8243g"> </span> <span class="gh-line svelte-1h8243g" aria-hidden="true"></span> <span class="gh-count svelte-1h8243g"> </span></div> <!>',1),ws=x('<div class="empty mono svelte-1h8243g"> </div>'),xs=x('<div class="sidebar svelte-1h8243g"><!> <!></div>');function $s(T,d){Ve(d,!1);const u=()=>Te(dt,"$sessionList",y),A=()=>Te(qt,"$feeds",y),L=()=>Te(Lt,"$connection",y),i=()=>Te(Da,"$activeWorkspace",y),q=()=>Te(oa,"$pinnedSessions",y),[y,f]=ot(),b=h(),g=h(),m=h(),j=h(),k=h(),M=h(),$=h();let O=Ce(d,"activeId",8,void 0),V=Ce(d,"onSelect",8,void 0),ae=Ce(d,"agentId",8,void 0),ee=Ce(d,"agentName",8,void 0);const B=24*60*60*1e3;function le(S,K){return K==="connected"&&Date.now()-S<B}function W(S,K){const ue=K[S];if(!ue||ue.order.length===0)return!1;const ge=ue.byId[ue.order[ue.order.length-1]];return(ge==null?void 0:ge.kind)==="thinking"||(ge==null?void 0:ge.kind)==="streaming"||(ge==null?void 0:ge.kind)==="think-stream"}function G(S,K){const ue=K[S];if(!ue||ue.order.length===0)return!1;const ge=ue.byId[ue.order[ue.order.length-1]];return(ge==null?void 0:ge.kind)==="approval"}function pe(S,K,ue){return W(S.id,K)?"busy":G(S.id,K)?"wait":le(S.lastActiveAt,ue)?"idle":"offline"}function se(S){const K=Date.now()-S,ue=Math.floor(K/6e4);if(ue<1)return"now";if(ue<60)return`${ue}m`;const ge=Math.floor(ue/60);return ge<24?`${ge}h`:`${Math.floor(ge/24)}d`}function de(S){return(S.includes("_")?S.slice(S.indexOf("_")+1):S).slice(-8)}function ne(S){if(!S)return"";const K=S.replace(/\/+$/,"").split("/");return K[K.length-1]||""}function me(S,K){V()&&(S.preventDefault(),V()(K))}function p(S,K){S.preventDefault(),S.stopPropagation(),oa.toggle(K)}let c=h(null),l=h(""),v=h(null);function o(S,K){S.preventDefault(),S.stopPropagation(),s(c,K.id),s(l,K.title||"")}function w(){s(c,null),s(l,"")}async function Q(S){const K=e(l).trim();if(!K||e(v)){w();return}s(v,S);try{await we.renameSession(S,K),dt.set(await we.sessions())}catch(ue){alert(`重命名失败:${ue.message}`)}finally{s(v,null),s(c,null),s(l,"")}}function ve(S,K){S.key==="Enter"?(S.preventDefault(),Q(K)):S.key==="Escape"&&(S.preventDefault(),w())}function xe(S){S.focus(),S.select()}let $e=h(null);async function R(S,K){if(S.preventDefault(),S.stopPropagation(),!e($e)&&confirm("Delete this session? This cannot be undone.")){s($e,K);try{await we.deleteSession(K),dt.set(await we.sessions()),O()===K&&Xt("/")}catch(ue){alert(`删除失败:${ue.message}`)}finally{s($e,null)}}}F(()=>(u(),A(),L()),()=>{s(b,new Map(u().map(S=>[S.id,pe(S,A(),L())])))}),F(()=>(ie(ae()),u()),()=>{s(g,ae()?u().filter(S=>S.backendId===ae()||!S.backendId&&ae()==="opencode"):u())}),F(()=>(e(g),i()),()=>{s(m,ds(e(g),i()))}),F(()=>e(m),()=>{s(j,[...e(m)].sort((S,K)=>K.lastActiveAt-S.lastActiveAt))}),F(()=>(e(j),q()),()=>{s(k,e(j).filter(S=>q().includes(S.id)))}),F(()=>(e(j),q()),()=>{s(M,e(j).filter(S=>!q().includes(S.id)))}),F(()=>(e(k),e(M)),()=>{s($,[{key:"pinned",label:"Pinned",rows:e(k)},{key:"recent",label:"Recent",rows:e(M)}])}),st(),Ge();var re=xs(),he=a(re);tt(he,1,()=>e($),S=>S.key,(S,K)=>{var ue=xt(),ge=et(ue);{var I=D=>{var te=ks(),ye=et(te),Oe=a(ye),Be=a(Oe,!0);t(Oe);var H=n(Oe,4),oe=a(H,!0);t(H),t(ye);var J=n(ye,2);tt(J,1,()=>(e(K),r(()=>e(K).rows)),ke=>ke.id,(ke,E)=>{var je=ys();let z;var Y=a(je),be=a(Y),Se=a(be),Z=a(Se,!0);t(Se),t(be);var fe=n(be,2);{var We=Me=>{var ze=us();vt(ze),$t(()=>bt(ze,()=>e(l),qe=>s(l,qe))),Yt(ze,qe=>xe==null?void 0:xe(qe)),$t(()=>P("click",ze,qe=>qe.preventDefault())),$t(()=>P("keydown",ze,qe=>ve(qe,e(E).id))),$t(()=>P("blur",ze,()=>Q(e(E).id))),X(()=>ze.disabled=(e(v),e(E),r(()=>e(v)===e(E).id))),_(Me,ze)},De=Me=>{var ze=fs(),qe=et(ze),Qe=a(qe,!0);t(qe);var Ue=n(qe,2);{var ut=pt=>{var Wt=ps();_(pt,Wt)},rt=ht(()=>(q(),e(E),r(()=>q().includes(e(E).id))));U(Ue,pt=>{e(rt)&&pt(ut)})}var it=n(Ue,2),ct=a(it),ft=n(ct,2);let jt;var fa=a(ft);t(ft);var Zt=n(ft,2);t(it),X((pt,Wt,ha)=>{C(Qe,(e(E),r(()=>e(E).title||"Untitled session"))),jt=_e(ft,1,"act pin svelte-1h8243g",null,jt,pt),Pe(ft,"title",Wt),Pe(fa,"fill",ha),Zt.disabled=(e($e),e(E),r(()=>e($e)===e(E).id))},[()=>({on:q().includes(e(E).id)}),()=>(q(),e(E),r(()=>q().includes(e(E).id)?"取消钉住":"钉住")),()=>(q(),e(E),r(()=>q().includes(e(E).id)?"currentColor":"none"))]),P("click",ct,pt=>o(pt,e(E))),P("click",ft,pt=>p(pt,e(E).id)),P("click",Zt,pt=>R(pt,e(E).id)),_(Me,ze)};U(fe,Me=>{e(c),e(E),r(()=>e(c)===e(E).id)?Me(We):Me(De,-1)})}t(Y);var N=n(Y,2),Ye=a(N),Ke=a(Ye,!0);t(Ye);var Je=n(Ye,2);{var ce=Me=>{var ze=hs(),qe=n(et(ze)),Qe=a(qe,!0);t(qe),X(Ue=>C(Qe,Ue),[()=>(e(E),r(()=>ne(e(E).directory)))]),_(Me,ze)},Ie=ht(()=>(e(E),r(()=>ne(e(E).directory))));U(Je,Me=>{e(Ie)&&Me(ce)})}var Ne=n(Je,3),Re=a(Ne,!0);t(Ne);var Ae=n(Ne,2);{var Fe=Me=>{var ze=ms(),qe=n(et(ze),2);{var Qe=rt=>{var it=bs(),ct=a(it);t(it),X(()=>C(ct,`+${e(E),r(()=>e(E).additions)??""}`)),_(rt,it)};U(qe,rt=>{e(E),r(()=>e(E).additions)&&rt(Qe)})}var Ue=n(qe,2);{var ut=rt=>{var it=_s(),ct=a(it);t(it),X(()=>C(ct,`−${e(E),r(()=>e(E).deletions)??""}`)),_(rt,it)};U(Ue,rt=>{e(E),r(()=>e(E).deletions)&&rt(ut)})}_(Me,ze)};U(Ae,Me=>{e(E),r(()=>e(E).additions||e(E).deletions)&&Me(Fe)})}t(N);var Xe=n(N,2);{var nt=Me=>{var ze=gs();_(Me,ze)},at=ht(()=>(e(b),e(E),r(()=>e(b).get(e(E).id)==="busy")));U(Xe,Me=>{e(at)&&Me(nt)})}t(je),X((Me,ze,qe,Qe,Ue)=>{Pe(je,"href",`/${e(E),r(()=>e(E).id)??""}/`),z=_e(je,1,"session svelte-1h8243g",null,z,Me),_e(be,1,`dot ${ze??""}`,"svelte-1h8243g"),C(Z,qe),C(Ke,Qe),C(Re,Ue)},[()=>({active:O()===e(E).id,busy:e(b).get(e(E).id)==="busy"}),()=>(e(b),e(E),r(()=>e(b).get(e(E).id)??"offline")),()=>(e(b),e(E),r(()=>e(b).get(e(E).id)??"offline")),()=>(e(E),r(()=>de(e(E).id))),()=>(e(E),r(()=>se(e(E).lastActiveAt)))]),P("click",je,Me=>me(Me,e(E).id)),_(ke,je)}),X(()=>{C(Be,(e(K),r(()=>e(K).label))),C(oe,(e(K),r(()=>e(K).rows.length)))}),_(D,te)};U(ge,D=>{e(K),r(()=>e(K).rows.length)&&D(I)})}_(S,ue)});var Le=n(he,2);{var Ee=S=>{var K=ws(),ue=a(K);t(K),X(()=>C(ue,`no sessions on ${ee()??"this agent"??""} yet`)),_(S,K)};U(Le,S=>{e(m),r(()=>e(m).length===0)&&S(Ee)})}t(re),_(T,re),He(),f()}var Is=x('<span class="host mono svelte-wmno67"> </span>'),zs=x('<button class="collapse svelte-wmno67" title="收起面板" 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="M15 18l-6-6 6-6"></path></svg></button>'),Ss=x('<span class="check svelte-wmno67">✓</span>'),As=x('<button><span class="row-tile svelte-wmno67"> </span> <span class="row-info svelte-wmno67"><span class="row-name mono svelte-wmno67"> </span> <span class="row-host mono svelte-wmno67"> </span></span> <span><span class="sr-only svelte-wmno67"> </span></span> <!></button>'),qs=x("<button></button>"),Cs=x('<div class="picker svelte-wmno67" role="dialog" aria-label="Agent 选择"><div class="picker-list svelte-wmno67"></div> <div class="picker-footer svelte-wmno67"><div class="theme-row svelte-wmno67"><span class="theme-label mono svelte-wmno67"> </span> <div class="swatches svelte-wmno67"><!> <button>auto</button></div></div></div></div>'),Ts=x('<button><span class="switch-tile svelte-wmno67"> </span> <span><span class="sr-only svelte-wmno67"> </span></span> <span class="switch-name mono svelte-wmno67"> </span> <span class="switch-count mono svelte-wmno67"> </span></button>'),Es=x('<div class="agents-label svelte-wmno67">Agents</div> <div class="switcher-row svelte-wmno67"></div>',1),Ls=x('<button class="mobile-search svelte-wmno67"><svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><circle cx="11" cy="11" r="7"></circle><path d="M21 21l-4.3-4.3"></path></svg> <span>搜索会话与命令</span></button>'),js=x('<div><div class="panel svelte-wmno67"><div class="header svelte-wmno67"><button class="agent-pill svelte-wmno67" aria-haspopup="true"><span class="glyph-tile svelte-wmno67"> </span> <span><span class="sr-only svelte-wmno67"> </span></span> <span class="name mono svelte-wmno67"> </span> <!> <span class="caret svelte-wmno67" aria-hidden="true"><!></span></button> <!> <!></div> <!> <!> <div class="list svelte-wmno67"><!></div> <div class="footer mono svelte-wmno67"><span> </span> <span class="sep svelte-wmno67">·</span> <span> </span></div></div></div>');function Ms(T,d){Ve(d,!1);const u=()=>Te(Nt,"$backends",q),A=()=>Te(dt,"$sessionList",q),L=()=>Te(Lt,"$connection",q),i=()=>Te(_a,"$accentOverrides",q),[q,y]=ot(),f=h(),b=h(),g=h(),m=h(),j=h(),k=h(),M=h(),$=h();let O=Ce(d,"activeId",8,void 0),V=Ce(d,"drawer",8,!1),ae=h(!1);function ee(z){const Y=z.split(/[\s\-_:./]+/).filter(Boolean);return Y.length>=2?(Y[0][0]+Y[1][0]).toUpperCase():z.slice(0,2).toUpperCase()}function B(z){return ee((z==null?void 0:z.name)||(z==null?void 0:z.id)||"OC")}function le(z){return z==="online"||z==="connected"?"online":z==="connecting"||z==="reconnecting"?"connecting":z==="offline"?"offline":"online"}async function W(z){s(ae,!1),await Dt(z)}function G(){s(ae,!e(ae))}async function pe(z){await Dt(z)}function se(z){z.key==="Escape"&&s(ae,!1)}const de=24*60*60*1e3;function ne(z,Y){return Y==="connected"&&Date.now()-z<de}function me(z,Y){return kt(Y)}F(()=>u(),()=>{var z,Y,be;s(f,((z=u())==null?void 0:z.activeId)??((be=(Y=u())==null?void 0:Y.backends[0])==null?void 0:be.id)??"opencode")}),F(()=>(u(),e(f)),()=>{var z;s(b,(z=u())==null?void 0:z.backends.find(Y=>Y.id===e(f)))}),F(()=>u(),()=>{var z;s(g,((z=u())==null?void 0:z.backends)??[])}),F(()=>(u(),A()),()=>{var z;s(m,Object.fromEntries((((z=u())==null?void 0:z.backends)??[]).map(Y=>[Y.id,A().filter(be=>be.backendId===Y.id||!be.backendId&&Y.id==="opencode").length])))}),F(()=>(A(),e(f),L()),()=>{s(j,A().filter(z=>(z.backendId===e(f)||!z.backendId&&e(f)==="opencode")&&ne(z.lastActiveAt,L())).length)}),F(()=>(A(),e(f)),()=>{s(k,A().filter(z=>(z.backendId===e(f)||!z.backendId&&e(f)==="opencode")&&(z.additions||z.deletions)).length)}),F(()=>(i(),e(f)),()=>{s(M,me(i(),e(f)))}),F(()=>(e(g),i()),()=>{s($,Object.fromEntries(e(g).map(z=>[z.id,me(i(),z.id)])))}),st(),Ge();var p=js();P("keydown",Tt,se);let c;var l=a(p),v=a(l),o=a(v),w=a(o),Q=a(w,!0);t(w);var ve=n(w,2),xe=a(ve),$e=a(xe,!0);t(xe),t(ve);var R=n(ve,2),re=a(R,!0);t(R);var he=n(R,2);{var Le=z=>{var Y=Is(),be=a(Y,!0);t(Y),X(()=>C(be,(e(b),r(()=>e(b).host)))),_(z,Y)};U(he,z=>{e(b),r(()=>{var Y;return(Y=e(b))==null?void 0:Y.host})&&z(Le)})}var Ee=n(he,2),S=a(Ee);wt(S,{name:"caret-down",size:11}),t(Ee),t(o);var K=n(o,2);{var ue=z=>{var Y=zs();P("click",Y,()=>Ht.set(!1)),_(z,Y)};U(K,z=>{V()||z(ue)})}var ge=n(K,2);{var I=z=>{var Y=Cs(),be=a(Y);tt(be,5,()=>e(g),Je=>Je.id,(Je,ce)=>{const Ie=mt(()=>(e($),e(ce),ie(kt),r(()=>e($)[e(ce).id]??kt(e(ce).id)))),Ne=mt(()=>(e(ce),e(f),r(()=>e(ce).id===e(f))));var Re=As();let Ae;var Fe=a(Re),Xe=a(Fe,!0);t(Fe);var nt=n(Fe,2),at=a(nt),Me=a(at,!0);t(at);var ze=n(at,2),qe=a(ze);t(ze),t(nt);var Qe=n(nt,2),Ue=a(Qe),ut=a(Ue,!0);t(Ue),t(Qe);var rt=n(Qe,2);{var it=ct=>{var ft=Ss();_(ct,ft)};U(rt,ct=>{e(Ne)&&ct(it)})}t(Re),X((ct,ft,jt)=>{Ae=_e(Re,1,"agent-row svelte-wmno67",null,Ae,{selected:e(Ne)}),lt(Fe,`background:${ie(gt),ie(e(Ie)),r(()=>gt[e(Ie)])??""}; color:${ie(Ze),ie(e(Ie)),r(()=>Ze[e(Ie)])??""}; border-color:${ie(yt),ie(e(Ie)),r(()=>yt[e(Ie)])??""}`),C(Xe,ct),C(Me,(e(ce),r(()=>e(ce).name??e(ce).id))),C(qe,`${e(ce),r(()=>e(ce).host??"local")??""} · ${e(m),e(ce),r(()=>e(m)[e(ce).id]??0)??""} ses`),_e(Qe,1,`status-dot ${ft??""}`,"svelte-wmno67"),lt(Qe,`--dot:${ie(Ze),ie(e(Ie)),r(()=>Ze[e(Ie)])??""}`),C(ut,jt)},[()=>(e(ce),r(()=>B(e(ce)))),()=>(e(ce),r(()=>le(e(ce).status))),()=>(e(ce),r(()=>le(e(ce).status)))]),P("click",Re,()=>W(e(ce).id)),_(Je,Re)}),t(be);var Se=n(be,2),Z=a(Se),fe=a(Z),We=a(fe);t(fe);var De=n(fe,2),N=a(De);tt(N,1,()=>Bt,Jt,(Je,ce)=>{var Ie=qs();let Ne;X(()=>{Ne=_e(Ie,1,"swatch svelte-wmno67",null,Ne,{active:e(M)===e(ce)}),Pe(Ie,"aria-label",`设置 ${e(ce)??""} 主题`),lt(Ie,`background:${ie(Ze),e(ce),r(()=>Ze[e(ce)])??""}`)}),P("click",Ie,()=>Ut(e(f),e(ce))),_(Je,Ie)});var Ye=n(N,2);let Ke;t(De),t(Z),t(Se),t(Y),X(Je=>{C(We,`Theme · ${e(b),r(()=>{var ce,Ie;return((ce=e(b))==null?void 0:ce.name)??((Ie=e(b))==null?void 0:Ie.id)??"Agent"})??""}`),Ke=_e(Ye,1,"auto svelte-wmno67",null,Ke,Je)},[()=>({active:e(M)===ma(e(f))})]),P("click",Ye,()=>Ut(e(f),null)),_(z,Y)};U(ge,z=>{e(ae)&&z(I)})}t(v);var D=n(v,2);{var te=z=>{var Y=Es(),be=n(et(Y),2);tt(be,5,()=>e(g),Se=>Se.id,(Se,Z)=>{const fe=mt(()=>(e($),e(Z),ie(kt),r(()=>e($)[e(Z).id]??kt(e(Z).id))));var We=Ts();let De;var N=a(We),Ye=a(N,!0);t(N);var Ke=n(N,2),Je=a(Ke),ce=a(Je,!0);t(Je),t(Ke);var Ie=n(Ke,2),Ne=a(Ie,!0);t(Ie);var Re=n(Ie,2),Ae=a(Re,!0);t(Re),t(We),X((Fe,Xe,nt)=>{De=_e(We,1,"switch-pill svelte-wmno67",null,De,{active:e(Z).id===e(f)}),lt(N,`background:${ie(gt),ie(e(fe)),r(()=>gt[e(fe)])??""}; color:${ie(Ze),ie(e(fe)),r(()=>Ze[e(fe)])??""}; border-color:${ie(yt),ie(e(fe)),r(()=>yt[e(fe)])??""}`),C(Ye,Fe),_e(Ke,1,`status-dot ${Xe??""}`,"svelte-wmno67"),lt(Ke,`--dot:${ie(Ze),ie(e(fe)),r(()=>Ze[e(fe)])??""}`),C(ce,nt),C(Ne,(e(Z),r(()=>e(Z).name??e(Z).id))),C(Ae,(e(m),e(Z),r(()=>e(m)[e(Z).id]??0)))},[()=>(e(Z),r(()=>B(e(Z)))),()=>(e(Z),r(()=>le(e(Z).status))),()=>(e(Z),r(()=>le(e(Z).status)))]),P("click",We,()=>pe(e(Z).id)),_(Se,We)}),t(be),_(z,Y)};U(D,z=>{ie(V()),e(g),r(()=>V()&&e(g).length>1)&&z(te)})}var ye=n(D,2);{var Oe=z=>{var Y=Ls();P("click",Y,()=>zt.set(!0)),_(z,Y)};U(ye,z=>{V()&&z(Oe)})}var Be=n(ye,2),H=a(Be);{let z=mt(()=>(e(b),r(()=>{var Y,be;return((Y=e(b))==null?void 0:Y.name)??((be=e(b))==null?void 0:be.id)})));$s(H,{get activeId(){return O()},get agentId(){return e(f)},get agentName(){return e(z)}})}t(Be);var oe=n(Be,2),J=a(oe),ke=a(J);t(J);var E=n(J,4),je=a(E);t(E),t(oe),t(l),t(p),X((z,Y,be)=>{c=_e(p,1,"agent-panel svelte-wmno67",null,c,{drawer:V()}),Pe(o,"aria-expanded",e(ae)),lt(w,`background:${ie(gt),e(M),r(()=>gt[e(M)])??""}; color:${ie(Ze),e(M),r(()=>Ze[e(M)])??""}; border-color:${ie(yt),e(M),r(()=>yt[e(M)])??""}`),C(Q,z),_e(ve,1,`status-dot ${Y??""}`,"svelte-wmno67"),lt(ve,`--dot:${ie(Ze),e(M),r(()=>Ze[e(M)])??""}`),C($e,be),C(re,(e(b),r(()=>{var Se,Z;return((Se=e(b))==null?void 0:Se.name)??((Z=e(b))==null?void 0:Z.id)??"Agent"}))),C(ke,`${e(j)??""} 活跃`),C(je,`${e(k)??""} 已推送`)},[()=>(e(b),r(()=>B(e(b)))),()=>(e(b),r(()=>{var z;return le((z=e(b))==null?void 0:z.status)})),()=>(e(b),r(()=>{var z;return le((z=e(b))==null?void 0:z.status)}))]),P("click",o,G),_(T,p),He(),y()}var Os=x('<span class="meta svelte-1h1y2gb"> </span>'),Bs=x('<div class="bar svelte-1h1y2gb"><div class="fill svelte-1h1y2gb"></div></div>'),Ds=x('<button type="button"><span class="box svelte-1h1y2gb"><span class="dot svelte-1h1y2gb"></span> <span class="check svelte-1h1y2gb">✓</span></span> <span class="tx svelte-1h1y2gb"> </span></button>'),Ps=x('<div class="section-label svelte-1h1y2gb">暂无任务</div>'),Ns=x('<div class="task svelte-1h1y2gb"><div class="hd svelte-1h1y2gb"><span class="section-label svelte-1h1y2gb">任务</span> <!></div> <!> <div class="items svelte-1h1y2gb"><!> <!></div></div>');function Rs(T,d){Ve(d,!1);const u=h(),A=h(),L=h();let i=Ce(d,"sessionId",8,void 0),q=Ce(d,"tick",8,0),y=h({total:0,done:0,items:[]}),f=h(new Set),b;async function g(W){if(!W){s(y,{total:0,done:0,items:[]}),s(f,new Set);return}W!==b&&(b=W,s(f,new Set));try{const G=await we.todo(W);if(W!==i())return;s(y,Pa(G))}catch{}}function m(W){e(f).has(W)?e(f).delete(W):e(f).add(W),s(f,e(f))}F(()=>(ie(i()),ie(q())),()=>{g(i()),q()}),F(()=>(e(y),e(f)),()=>{s(u,e(y).items.map((W,G)=>({...W,status:e(f).has(G)?W.status==="done"?"pending":"done":W.status})))}),F(()=>e(u),()=>{s(A,e(u).filter(W=>W.status==="done").length)}),F(()=>(e(y),e(A)),()=>{s(L,e(y).total?Math.round(e(A)/e(y).total*100):0)}),st(),Ge();var j=Ns(),k=a(j),M=n(a(k),2);{var $=W=>{var G=Os(),pe=a(G);t(G),X(()=>C(pe,`${e(A)??""}/${e(y),r(()=>e(y).total)??""}`)),_(W,G)};U(M,W=>{e(y),r(()=>e(y).total)&&W($)})}t(k);var O=n(k,2);{var V=W=>{var G=Bs(),pe=a(G);t(G),X(()=>lt(pe,`transform:scaleX(${e(L)/100})`)),_(W,G)};U(O,W=>{e(y),r(()=>e(y).total)&&W(V)})}var ae=n(O,2),ee=a(ae);tt(ee,3,()=>e(u),(W,G)=>W.text+"-"+G,(W,G,pe)=>{var se=Ds(),de=n(a(se),2),ne=a(de,!0);t(de),t(se),X(()=>{_e(se,1,`row ${e(G),r(()=>e(G).status)??""}`,"svelte-1h1y2gb"),C(ne,(e(G),r(()=>e(G).text)))}),P("click",se,()=>m(e(pe))),_(W,se)});var B=n(ee,2);{var le=W=>{var G=Ps();_(W,G)};U(B,W=>{e(y),r(()=>e(y).total===0)&&W(le)})}t(ae),t(j),_(T,j),He()}var Ws=x('<div><span class="dot svelte-ehf8ic" aria-hidden="true"></span><span> </span><span class="sr-only svelte-ehf8ic"> </span></div>'),Ks=x('<div class="label">未配置</div>'),Fs=x('<div class="mcp svelte-ehf8ic"><div class="label">MCP</div> <div class="list svelte-ehf8ic"><!> <!></div></div>');function Us(T,d){Ve(d,!1);let u=Ce(d,"tick",8,0),A=h([]);async function L(){try{s(A,await we.mcp())}catch{}}F(()=>ie(u()),()=>{L(),u()}),st(),Ge();var i=Fs(),q=n(a(i),2),y=a(q);tt(y,1,()=>e(A),Jt,(g,m)=>{var j=Ws();let k;var M=n(a(j)),$=a(M,!0);t(M);var O=n(M),V=a(O,!0);t(O),t(j),X(()=>{k=_e(j,1,"row svelte-ehf8ic",null,k,{off:e(m).status==="disabled"}),C($,(e(m),r(()=>e(m).name))),C(V,(e(m),r(()=>e(m).status)))}),_(g,j)});var f=n(y,2);{var b=g=>{var m=Ks();_(g,m)};U(f,g=>{e(A),r(()=>e(A).length===0)&&g(b)})}t(q),t(i),_(T,i),He()}var Gs=x('<div><button><span class="dot svelte-pijcyq" aria-hidden="true"></span></button> <div class="txt svelte-pijcyq"><div class="prompt svelte-pijcyq"> </div> <div class="spec mono svelte-pijcyq"> </div></div> <button> </button></div>'),Vs=x('<div class="label svelte-pijcyq">暂无</div>'),Hs=x('<div class="err svelte-pijcyq"> </div>'),Js=x('<div class="form svelte-pijcyq"><textarea class="prompt-in svelte-pijcyq" rows="2" placeholder="让 agent 做什么?"></textarea> <div class="kind svelte-pijcyq"><label><input type="radio" class="svelte-pijcyq"/> 每 <input class="num svelte-pijcyq" type="number" min="1" max="10080"/> 分钟</label> <label><input type="radio" class="svelte-pijcyq"/> 每天 <input class="time svelte-pijcyq" type="time"/></label></div> <!> <button class="go svelte-pijcyq">创建</button></div>'),Xs=x('<div class="schedules svelte-pijcyq"><div class="hd svelte-pijcyq"><div class="label svelte-pijcyq">定时任务</div> <button class="add svelte-pijcyq"> </button></div> <div class="list svelte-pijcyq"><!> <!></div> <!></div>');function Ys(T,d){Ve(d,!1);const u=[];let A=Ce(d,"tick",8,0),L=h([]),i=h(!1),q=h(""),y=h("every"),f=h(30),b=h("09:00"),g=h(""),m=h(),j;async function k(){try{s(L,(await we.schedules()).schedules??[])}catch{}}function M(p){return p.kind==="every"?p.minutes>=60&&p.minutes%60===0?`every ${p.minutes/60}h`:`every ${p.minutes}m`:`daily ${p.time}`}function $(p){return p.name||p.prompt}async function O(){if(!e(q).trim())return;s(g,"");const p=e(y)==="every"?{kind:"every",minutes:Math.max(1,Math.round(e(f)))}:{kind:"daily",time:e(b)};try{const c=await we.addSchedule({prompt:e(q).trim(),spec:p});if(c.error){s(g,c.error);return}s(q,""),s(i,!1),await k()}catch(c){s(g,c.message)}}async function V(p){s(L,e(L).map(c=>c.id===p.id?{...c,enabled:!c.enabled}:c));try{await we.setScheduleEnabled(p.id,!p.enabled),await k()}catch{await k()}}async function ae(p){if(e(m)!==p){s(m,p),clearTimeout(j),j=setTimeout(()=>s(m,void 0),3e3);return}clearTimeout(j),s(m,void 0);try{await we.deleteSchedule(p),await k()}catch{}}F(()=>ie(A()),()=>{k(),A()}),st(),Ge();var ee=Xs(),B=a(ee),le=n(a(B),2),W=a(le,!0);t(le),t(B);var G=n(B,2),pe=a(G);tt(pe,1,()=>e(L),p=>p.id,(p,c)=>{var l=Gs();let v;var o=a(l);let w;var Q=n(o,2),ve=a(Q),xe=a(ve,!0);t(ve);var $e=n(ve,2),R=a($e,!0);t($e),t(Q);var re=n(Q,2);let he;var Le=a(re,!0);t(re),t(l),X((Ee,S,K,ue)=>{v=_e(l,1,"row svelte-pijcyq",null,v,{off:!e(c).enabled}),w=_e(o,1,"switch svelte-pijcyq",null,w,{on:e(c).enabled}),Pe(o,"aria-pressed",(e(c),r(()=>e(c).enabled))),Pe(o,"aria-label",Ee),C(xe,S),C(R,K),he=_e(re,1,"del svelte-pijcyq",null,he,{arm:e(m)===e(c).id}),Pe(re,"aria-label",`删除 ${ue??""}`),C(Le,(e(m),e(c),r(()=>e(m)===e(c).id?"确认?":"✕")))},[()=>(e(c),r(()=>`${e(c).enabled?"停用":"启用"} ${$(e(c))}`)),()=>(e(c),r(()=>$(e(c)))),()=>(e(c),r(()=>M(e(c).spec))),()=>(e(c),r(()=>$(e(c))))]),P("click",o,()=>V(e(c))),P("click",re,()=>ae(e(c).id)),_(p,l)});var se=n(pe,2);{var de=p=>{var c=Vs();_(p,c)};U(se,p=>{e(L),e(i),r(()=>e(L).length===0&&!e(i))&&p(de)})}t(G);var ne=n(G,2);{var me=p=>{var c=Js(),l=a(c);Ea(l);var v=n(l,2),o=a(v);let w;var Q=a(o);vt(Q),Q.value=Q.__value="every";var ve=n(Q,2);vt(ve),_t(),t(o);var xe=n(o,2);let $e;var R=a(xe);vt(R),R.value=R.__value="daily";var re=n(R,2);vt(re),t(xe),t(v);var he=n(v,2);{var Le=S=>{var K=Hs(),ue=a(K,!0);t(K),X(()=>C(ue,e(g))),_(S,K)};U(he,S=>{e(g)&&S(Le)})}var Ee=n(he,2);t(c),X(S=>{w=_e(o,1,"svelte-pijcyq",null,w,{sel:e(y)==="every"}),ve.disabled=e(y)!=="every",$e=_e(xe,1,"svelte-pijcyq",null,$e,{sel:e(y)==="daily"}),re.disabled=e(y)!=="daily",Ee.disabled=S},[()=>(e(q),r(()=>!e(q).trim()))]),bt(l,()=>e(q),S=>s(q,S)),sa(u,[],Q,()=>e(y),S=>s(y,S)),bt(ve,()=>e(f),S=>s(f,S)),sa(u,[],R,()=>e(y),S=>s(y,S)),bt(re,()=>e(b),S=>s(b,S)),P("click",Ee,O),_(p,c)};U(ne,p=>{e(i)&&p(me)})}t(ee),X(()=>{Pe(le,"aria-label",e(i)?"取消新建计划":"新建计划"),C(W,e(i)?"×":"+")}),P("click",le,()=>s(i,!e(i))),_(T,ee),He()}var Qs=x('<div class="row svelte-taxat6"><span class="name svelte-taxat6"> </span></div>'),Zs=x('<div class="rows svelte-taxat6"></div>'),en=x('<div class="label svelte-taxat6">none</div>'),tn=x('<div class="skills svelte-taxat6"><div class="label svelte-taxat6">Skills</div> <div class="list svelte-taxat6"><!></div></div>');function an(T,d){Ve(d,!1);let u=Ce(d,"tick",8,0),A=h([]);async function L(){try{s(A,(await we.skills()).skills??[])}catch{}}F(()=>ie(u()),()=>{L(),u()}),st(),Ge();var i=tn(),q=n(a(i),2),y=a(q);{var f=g=>{var m=Zs();tt(m,5,()=>e(A),j=>j.name,(j,k)=>{var M=Qs(),$=a(M),O=a($,!0);t($),t(M),X(()=>{Pe(M,"title",(e(k),r(()=>e(k).description))),C(O,(e(k),r(()=>e(k).name)))}),_(j,M)}),t(m),_(g,m)},b=g=>{var m=en();_(g,m)};U(y,g=>{e(A),r(()=>e(A).length>0)?g(f):g(b,-1)})}t(q),t(i),_(T,i),He()}var sn=x('<button class="up svelte-tp0rgj" aria-label="上级目录"> </button>'),nn=x('<span class="mono"> </span>'),rn=x('<button class="row svelte-tp0rgj"><span class="ico svelte-tp0rgj"> </span> <span class="name svelte-tp0rgj"> </span></button>'),ln=x('<div class="label svelte-tp0rgj">empty</div>'),on=x('<div class="label svelte-tp0rgj">…</div>'),cn=x('<div class="preview-scrim svelte-tp0rgj" role="button" tabindex="0"><div class="preview svelte-tp0rgj" role="dialog" aria-label="File preview" tabindex="-1"><div class="p-hd svelte-tp0rgj"><span class="mono"> </span> <button class="p-close svelte-tp0rgj" aria-label="关闭预览">✕</button></div> <pre> </pre></div></div>'),vn=x('<div class="files svelte-tp0rgj"><div class="label svelte-tp0rgj">Files</div> <div class="crumb mono svelte-tp0rgj"><!></div> <div class="list svelte-tp0rgj"><!> <!> <!></div> <!></div>');function dn(T,d){Ve(d,!1);const u=()=>Te(dt,"$sessionList",A),[A,L]=ot(),i=h();let q=Ce(d,"sessionId",8,void 0),y=Ce(d,"tick",8,0),f=h([]),b=h("."),g=h(null),m=h(!1),j=h(!1);async function k(){if(e(i)){s(j,!0);try{s(f,(await we.browse(e(i),e(b))).files??[])}catch{s(f,[])}finally{s(j,!1)}}}function M(){const c=e(b).replace(/(^|\/)[^/]+\/?$/,"")||".";s(b,c),k()}async function $(c){if(c.type==="directory"){s(b,c.path),await k();return}try{const l=await we.fileContent(e(i),c.path);if(l.type!=="text"){s(g,{path:c.path,content:"(二进制文件,无法预览)"}),s(m,!0);return}s(m,!1),s(g,{path:c.path,content:l.content.length>800?l.content.slice(0,800)+`
|
|
2
|
-
…`:l.content})}catch{s(g,{path:c.path,content:"(读取失败)"}),s(m,!1)}}function O(){s(g,null),s(m,!1)}F(()=>(u(),ie(q())),()=>{var c;s(i,((c=u().find(l=>l.id===q()))==null?void 0:c.directory)??"")}),F(()=>(e(i),e(b),ie(y())),()=>{e(i)&&(e(i),e(b),y(),k())}),st(),Ge();var V=vn(),ae=n(a(V),2),ee=a(ae);{var B=c=>{var l=sn(),v=a(l);t(l),X(()=>C(v,`↰ ${e(b)??""}`)),P("click",l,M),_(c,l)},le=c=>{var l=nn(),v=a(l,!0);t(l),X(o=>C(v,o),[()=>(e(i),r(()=>e(i).split("/").pop()||"/"))]),_(c,l)};U(ee,c=>{e(b)!=="."?c(B):c(le,-1)})}t(ae);var W=n(ae,2),G=a(W);tt(G,1,()=>e(f),c=>c.path,(c,l)=>{var v=rn(),o=a(v),w=a(o,!0);t(o);var Q=n(o,2),ve=a(Q,!0);t(Q),t(v),X(()=>{C(w,(e(l),r(()=>e(l).type==="directory"?"📁":"📄"))),C(ve,(e(l),r(()=>e(l).name)))}),P("click",v,()=>$(e(l))),_(c,v)});var pe=n(G,2);{var se=c=>{var l=ln();_(c,l)};U(pe,c=>{e(j),e(f),r(()=>!e(j)&&e(f).length===0)&&c(se)})}var de=n(pe,2);{var ne=c=>{var l=on();_(c,l)};U(de,c=>{e(j)&&c(ne)})}t(W);var me=n(W,2);{var p=c=>{var l=cn(),v=a(l),o=a(v),w=a(o),Q=a(w,!0);t(w);var ve=n(w,2);t(o);var xe=n(o,2);let $e;var R=a(xe,!0);t(xe),t(v),t(l),X(()=>{C(Q,(e(g),r(()=>e(g).path))),$e=_e(xe,1,"p-body mono svelte-tp0rgj",null,$e,{binary:e(m)}),C(R,(e(g),r(()=>e(g).content)))}),P("click",ve,O),P("click",l,O),P("keydown",l,re=>re.key==="Escape"&&O()),_(c,l)};U(me,c=>{e(g)&&c(p)})}t(V),_(T,V),He(),L()}var un=x('<div class="row svelte-148ev8e"><span class="ico svelte-148ev8e" aria-hidden="true">🌿</span> <span class="name svelte-148ev8e"> </span> <button> </button></div>'),pn=x('<div class="rows svelte-148ev8e"></div>'),fn=x('<div class="label svelte-148ev8e">none</div>'),hn=x('<div class="err svelte-148ev8e"> </div>'),bn=x('<div class="form svelte-148ev8e"><input class="name-in mono svelte-148ev8e" placeholder="worktree 名称"/> <!> <button class="go svelte-148ev8e">创建</button></div>'),_n=x('<div class="wt svelte-148ev8e"><div class="hd svelte-148ev8e"><div class="label svelte-148ev8e">Worktrees · beta</div> <button class="add svelte-148ev8e"> </button></div> <div class="list svelte-148ev8e"><!></div> <!></div>');function mn(T,d){Ve(d,!1);const u=()=>Te(dt,"$sessionList",A),[A,L]=ot(),i=h();let q=Ce(d,"sessionId",8,void 0),y=Ce(d,"tick",8,0),f=h([]),b=h(!1),g=h(""),m=h(""),j=h(),k;async function M(){if(e(i))try{s(f,(await we.worktrees(e(i))).worktrees??[])}catch{}}async function $(){if(e(g).trim()){s(m,"");try{const ne=await we.createWorktree(e(i),e(g).trim());if(ne.error){s(m,ne.error);return}s(g,""),s(b,!1),await M()}catch(ne){s(m,ne.message)}}}async function O(ne){if(e(j)!==ne){s(j,ne),clearTimeout(k),k=setTimeout(()=>s(j,void 0),3e3);return}clearTimeout(k),s(j,void 0);try{await we.removeWorktree(e(i),ne),await M()}catch{}}F(()=>(u(),ie(q())),()=>{var ne;s(i,((ne=u().find(me=>me.id===q()))==null?void 0:ne.directory)??"")}),F(()=>(ie(y()),e(i)),()=>{M(),y(),e(i)}),st(),Ge();var V=_n(),ae=a(V),ee=n(a(ae),2),B=a(ee,!0);t(ee),t(ae);var le=n(ae,2),W=a(le);{var G=ne=>{var me=pn();tt(me,5,()=>e(f),p=>p.name,(p,c)=>{var l=un(),v=n(a(l),2),o=a(v,!0);t(v);var w=n(v,2);let Q;var ve=a(w,!0);t(w),t(l),X(()=>{C(o,(e(c),r(()=>e(c).name))),Q=_e(w,1,"del svelte-148ev8e",null,Q,{arm:e(j)===e(c).name}),Pe(w,"aria-label",`删除 ${e(c),r(()=>e(c).name)??""}`),C(ve,(e(j),e(c),r(()=>e(j)===e(c).name?"确认?":"✕")))}),P("click",w,()=>O(e(c).name)),_(p,l)}),t(me),_(ne,me)},pe=ne=>{var me=fn();_(ne,me)};U(W,ne=>{e(f),r(()=>e(f).length>0)?ne(G):e(b)||ne(pe,1)})}t(le);var se=n(le,2);{var de=ne=>{var me=bn(),p=a(me);vt(p);var c=n(p,2);{var l=o=>{var w=hn(),Q=a(w,!0);t(w),X(()=>C(Q,e(m))),_(o,w)};U(c,o=>{e(m)&&o(l)})}var v=n(c,2);t(me),X(o=>v.disabled=o,[()=>(e(g),r(()=>!e(g).trim()))]),bt(p,()=>e(g),o=>s(g,o)),P("click",v,$),_(ne,me)};U(se,ne=>{e(b)&&ne(de)})}t(V),X(()=>{Pe(ee,"aria-label",e(b)?"取消新建":"新建 worktree"),C(B,e(b)?"×":"+")}),P("click",ee,()=>s(b,!e(b))),_(T,V),He(),L()}var gn=x('<div class="usage svelte-q9r9ub"><div class="hd svelte-q9r9ub"><span class="section-label svelte-q9r9ub">用量</span></div> <div class="tiles svelte-q9r9ub"><div class="tile svelte-q9r9ub"><div class="label svelte-q9r9ub">输入 tokens</div> <div class="num mono svelte-q9r9ub"> </div></div> <div class="tile svelte-q9r9ub"><div class="label svelte-q9r9ub">输出 tokens</div> <div class="num mono svelte-q9r9ub"> </div></div></div> <div class="spend mono svelte-q9r9ub"> </div></div>');function yn(T,d){Ve(d,!1);const u=()=>Te(qt,"$feeds",A),[A,L]=ot(),i=h(),q=h(),y=h(),f=h(),b=h(),g=h(),m=h(),j=h();let k=Ce(d,"sessionId",8,void 0),M=Ce(d,"tick",8,0),$=h({});async function O(l){if(!l){s($,{});return}try{const v=await we.context(l);if(l!==k())return;s($,v)}catch{}}let V=h(""),ae=h({in:0,out:0,cost:0});function ee(l){return l==null?"—":l.toLocaleString()}function B(l){return l==null?"—":`$${l.toFixed(3)}`}F(()=>(ie(k()),ie(M())),()=>{O(k()),M()}),F(()=>e($),()=>{var l,v,o,w;s(i,typeof((v=(l=e($))==null?void 0:l.tokens)==null?void 0:v.input)=="number"||typeof((w=(o=e($))==null?void 0:o.tokens)==null?void 0:w.output)=="number")}),F(()=>e($),()=>{var l,v;s(q,typeof((v=(l=e($))==null?void 0:l.tokens)==null?void 0:v.input)=="number"?e($).tokens.input:void 0)}),F(()=>e($),()=>{var l,v;s(y,typeof((v=(l=e($))==null?void 0:l.tokens)==null?void 0:v.output)=="number"?e($).tokens.output:void 0)}),F(()=>e($),()=>{var l;s(f,typeof((l=e($))==null?void 0:l.cost)=="number"?e($).cost:void 0)}),F(()=>(ie(k()),u()),()=>{s(b,k()?u()[k()]:void 0)}),F(()=>(e(i),ie(k()),e(b),e(V),ea),()=>{var v,o;const l=e(i)?"":`${k()}:${((v=e(b))==null?void 0:v.lastSeq)??0}:${((o=e(b))==null?void 0:o.order.length)??0}`;l!==e(V)&&(s(V,l),s(ae,l===""?{in:0,out:0,cost:0}:ea(e(b)).filter(w=>w.kind==="assistant").reduce((w,Q)=>{var xe,$e;const ve=Q.meta??{};return typeof((xe=ve.tokens)==null?void 0:xe.input)=="number"&&(w.in+=ve.tokens.input),typeof(($e=ve.tokens)==null?void 0:$e.output)=="number"&&(w.out+=ve.tokens.output),typeof ve.cost=="number"&&(w.cost+=ve.cost),w},{in:0,out:0,cost:0})))}),F(()=>(e(i),e(q),e(ae)),()=>{s(g,e(i)?e(q):e(ae).in||void 0)}),F(()=>(e(i),e(y),e(ae)),()=>{s(m,e(i)?e(y):e(ae).out||void 0)}),F(()=>(e(f),e(ae)),()=>{s(j,e(f)??(e(ae).cost||void 0))}),st(),Ge();var le=gn(),W=n(a(le),2),G=a(W),pe=n(a(G),2),se=a(pe,!0);t(pe),t(G);var de=n(G,2),ne=n(a(de),2),me=a(ne,!0);t(ne),t(de),t(W);var p=n(W,2),c=a(p);t(p),t(le),X((l,v,o)=>{C(se,l),C(me,v),C(c,`est. spend ${o??""}`)},[()=>(e(g),r(()=>ee(e(g)))),()=>(e(m),r(()=>ee(e(m)))),()=>(e(j),r(()=>B(e(j))))]),_(T,le),He(),L()}var kn=x('<span class="pct svelte-1h7zxuf"> </span>'),wn=x('<span class="max svelte-1h7zxuf"> </span>'),xn=x('<span class="max svelte-1h7zxuf">tokens</span>'),$n=x('<div class="bar svelte-1h7zxuf"><div class="fill svelte-1h7zxuf"></div></div>'),In=x('<div class="model mono svelte-1h7zxuf"><span class="sq svelte-1h7zxuf"></span> </div>'),zn=x('<div class="cache mono svelte-1h7zxuf"><span class="cdot svelte-1h7zxuf"></span> </div>'),Sn=x('<div class="ctx svelte-1h7zxuf"><div class="hd svelte-1h7zxuf"><span class="section-label svelte-1h7zxuf">Context</span> <!></div> <div class="body mono svelte-1h7zxuf"><span class="big svelte-1h7zxuf"> </span> <!></div> <!> <!> <!></div>');function An(T,d){Ve(d,!1);const u=h(),A=h(),L=h(),i=h(),q=h(),y=h(),f=h(),b=h(),g=h();let m=Ce(d,"sessionId",8,void 0),j=Ce(d,"tick",8,0),k=h({});async function M(o){if(!o){s(k,{});return}try{s(k,await we.context(o))}catch{}}function $(o){return o==null?"—":o.toLocaleString()}function O(o){return o==null?"—":o>=1e6?(o/1e6).toFixed(1)+"M":o>=1e3?(o/1e3).toFixed(1)+"K":String(o)}F(()=>(ie(m()),ie(j())),()=>{M(m()),j()}),F(()=>e(k),()=>{var o,w;s(u,typeof((w=(o=e(k))==null?void 0:o.tokens)==null?void 0:w.input)=="number"?e(k).tokens.input:void 0)}),F(()=>e(k),()=>{var o,w;s(A,typeof((w=(o=e(k))==null?void 0:o.tokens)==null?void 0:w.output)=="number"?e(k).tokens.output:void 0)}),F(()=>(e(k),e(u),e(A)),()=>{var o,w;s(L,typeof((w=(o=e(k))==null?void 0:o.tokens)==null?void 0:w.used)=="number"?e(k).tokens.used:e(u)!=null||e(A)!=null?(e(u)??0)+(e(A)??0):void 0)}),F(()=>e(k),()=>{var o,w;s(i,typeof((w=(o=e(k))==null?void 0:o.tokens)==null?void 0:w.max)=="number"?e(k).tokens.max:void 0)}),F(()=>(e(L),e(i)),()=>{s(q,e(L)!=null&&e(i)!=null?Math.min(100,Math.round(e(L)/e(i)*100)):void 0)}),F(()=>e(k),()=>{var o;s(y,(o=e(k))!=null&&o.model?String(e(k).model).split("/").pop():void 0)}),F(()=>e(k),()=>{var o,w,Q;s(f,typeof((Q=(w=(o=e(k))==null?void 0:o.tokens)==null?void 0:w.cache)==null?void 0:Q.read)=="number"?e(k).tokens.cache.read:void 0)}),F(()=>e(k),()=>{var o,w,Q;s(b,typeof((Q=(w=(o=e(k))==null?void 0:o.tokens)==null?void 0:w.cache)==null?void 0:Q.write)=="number"?e(k).tokens.cache.write:void 0)}),F(()=>(e(f),e(u)),()=>{s(g,e(f)!=null&&e(u)!=null&&e(u)+e(f)>0?Math.round(e(f)/(e(u)+e(f))*100):void 0)}),st(),Ge();var V=Sn(),ae=a(V),ee=n(a(ae),2);{var B=o=>{var w=kn(),Q=a(w);t(w),X(()=>C(Q,`${e(q)??""}%`)),_(o,w)};U(ee,o=>{e(q)!=null&&o(B)})}t(ae);var le=n(ae,2),W=a(le),G=a(W,!0);t(W);var pe=n(W,2);{var se=o=>{var w=wn(),Q=a(w);t(w),X(ve=>C(Q,`/ ${ve??""} tokens`),[()=>(e(i),r(()=>$(e(i))))]),_(o,w)},de=o=>{var w=xn();_(o,w)};U(pe,o=>{e(i)!=null?o(se):o(de,-1)})}t(le);var ne=n(le,2);{var me=o=>{var w=$n(),Q=a(w);t(w),X(()=>lt(Q,`transform:scaleX(${e(q)/100})`)),_(o,w)};U(ne,o=>{e(q)!=null&&o(me)})}var p=n(ne,2);{var c=o=>{var w=In(),Q=n(a(w),1,!0);t(w),X(()=>C(Q,e(y))),_(o,w)};U(p,o=>{e(y)&&o(c)})}var l=n(p,2);{var v=o=>{var w=zn(),Q=n(a(w));t(w),X((ve,xe)=>C(Q,`cache ${e(g)??""}% · ${ve??""} read / ${xe??""} write`),[()=>(e(f),r(()=>O(e(f)))),()=>(e(b),r(()=>O(e(b))))]),_(o,w)};U(l,o=>{e(g)!=null&&o(v)})}t(V),X(o=>C(G,o),[()=>(e(L),r(()=>$(e(L))))]),_(T,V),He()}var qn=x('<span class="counts mono svelte-1oo25bu"> </span>'),Cn=x('<div class="repo-line mono svelte-1oo25bu"> </div>'),Tn=x('<div><span class="pre svelte-1oo25bu"> </span> </div>'),En=x('<div class="diff svelte-1oo25bu"></div>'),Ln=x('<div class="entry svelte-1oo25bu"><button type="button"><span class="change svelte-1oo25bu"></span> <span class="nm svelte-1oo25bu"> </span> <span class="cnt svelte-1oo25bu"><span class="add svelte-1oo25bu"> </span> <span class="sep svelte-1oo25bu">/</span> <span class="del svelte-1oo25bu"> </span></span></button> <!></div>'),jn=x('<div class="files mono svelte-1oo25bu"></div>'),Mn=x('<div class="section-label svelte-1oo25bu">—</div>'),On=x('<div class="wd svelte-1oo25bu"><div class="hd svelte-1oo25bu"><span class="section-label svelte-1oo25bu">Working dir</span> <!></div> <!> <!> <!></div>');function Bn(T,d){Ve(d,!1);const u=h(),A=h();let L=Ce(d,"sessionId",8,void 0),i=Ce(d,"tick",8,0),q=Ce(d,"showDiff",8,!0),y=h(""),f=h([]),b=h(new Set);async function g(p){if(!p){s(y,""),s(f,[]),e(b).clear(),s(b,e(b));return}try{const c=await we.context(p);if(p!==L())return;if(s(y,(c==null?void 0:c.directory)??""),q()){const l=await we.diff(p);if(p!==L())return;s(f,(Array.isArray(l)?l:[]).map(v=>({path:String((v==null?void 0:v.path)??""),additions:Number((v==null?void 0:v.additions)??0),deletions:Number((v==null?void 0:v.deletions)??0),lines:Array.isArray(v==null?void 0:v.lines)?v.lines:[]})).filter(v=>v.path).slice(0,8))}else s(f,[])}catch{}}function m(p){if(!p)return"";const c=p.replace(/\/+$/,"").split("/");return c[c.length-1]||""}function j(p){const c=p.split("/");return c.length>3?"…/"+c.slice(-3).join("/"):p}function k(p){return p.additions>0&&p.deletions>0?"mod":p.additions>0?"add":p.deletions>0?"del":"none"}function M(p){return p==="add"?"var(--ok)":p==="del"?"var(--err)":p==="mod"?"var(--warn)":"var(--text-4)"}function $(p){e(b).has(p)?e(b).delete(p):e(b).add(p),s(b,e(b))}function O(p){return p==="add"?"+":p==="del"?"−":" "}function V(p){return p.kind==="add"&&p.text.startsWith("+")||p.kind==="del"&&p.text.startsWith("-")||p.kind==="ctx"&&p.text.startsWith(" ")?p.text.slice(1):p.text}F(()=>(ie(L()),ie(i()),ie(q())),()=>{g(L()),i(),q()}),F(()=>e(f),()=>{s(u,e(f).reduce((p,c)=>p+c.additions,0))}),F(()=>e(f),()=>{s(A,e(f).reduce((p,c)=>p+c.deletions,0))}),st(),Ge();var ae=On(),ee=a(ae),B=n(a(ee),2);{var le=p=>{var c=qn(),l=a(c);t(c),X(()=>C(l,`+${e(u)??""}/−${e(A)??""}`)),_(p,c)};U(B,p=>{e(f),r(()=>e(f).length)&&p(le)})}t(ee);var W=n(ee,2);{var G=p=>{var c=Cn(),l=a(c,!0);t(c),X(v=>C(l,v),[()=>(e(y),r(()=>m(e(y))))]),_(p,c)},pe=ht(()=>(e(y),r(()=>m(e(y)))));U(W,p=>{e(pe)&&p(G)})}var se=n(W,2);{var de=p=>{var c=jn();tt(c,5,()=>e(f),l=>l.path,(l,v)=>{var o=Ln(),w=a(o);let Q;var ve=a(w),xe=n(ve,2),$e=a(xe,!0);t(xe);var R=n(xe,2),re=a(R),he=a(re);t(re);var Le=n(re,4),Ee=a(Le);t(Le),t(R),t(w);var S=n(w,2);{var K=ge=>{var I=En();tt(I,5,()=>(e(v),r(()=>e(v).lines)),Jt,(D,te)=>{var ye=Tn(),Oe=a(ye),Be=a(Oe,!0);t(Oe);var H=n(Oe,1,!0);t(ye),X((oe,J)=>{_e(ye,1,`line ${e(te),r(()=>e(te).kind)??""}`,"svelte-1oo25bu"),C(Be,oe),C(H,J)},[()=>(e(te),r(()=>O(e(te).kind))),()=>(e(te),r(()=>V(e(te))))]),_(D,ye)}),t(I),_(ge,I)},ue=ht(()=>(e(b),e(v),r(()=>e(b).has(e(v).path)&&e(v).lines.length>0)));U(S,ge=>{e(ue)&&ge(K)})}t(o),X((ge,I,D,te)=>{Q=_e(w,1,"f svelte-1oo25bu",null,Q,ge),Pe(w,"aria-expanded",I),lt(ve,`background: ${D??""}`),C($e,te),C(he,`+${e(v),r(()=>e(v).additions)??""}`),C(Ee,`−${e(v),r(()=>e(v).deletions)??""}`)},[()=>({open:e(b).has(e(v).path)}),()=>(e(b),e(v),r(()=>e(b).has(e(v).path))),()=>(e(v),r(()=>M(k(e(v))))),()=>(e(v),r(()=>j(e(v).path)))]),P("click",w,()=>$(e(v).path)),_(l,o)}),t(c),_(p,c)};U(se,p=>{e(f),r(()=>e(f).length)&&p(de)})}var ne=n(se,2);{var me=p=>{var c=Mn();_(p,c)};U(ne,p=>{e(y),e(f),r(()=>!e(y)&&e(f).length===0)&&p(me)})}t(ae),_(T,ae),He()}var Dn=x('<!><div class="divider svelte-gu3dqx"></div>',1),Pn=x('<!><div class="divider svelte-gu3dqx"></div>',1),Nn=x('<!><div class="divider svelte-gu3dqx"></div>',1),Rn=x('<!> <div class="divider svelte-gu3dqx"></div>',1),Wn=x('<aside class="inspector svelte-gu3dqx"><div class="head svelte-gu3dqx"><div class="section-label svelte-gu3dqx">会话</div> <div class="name svelte-gu3dqx"><span class="title-text svelte-gu3dqx"> </span></div></div> <!> <div class="pinned svelte-gu3dqx"><!> <div class="divider svelte-gu3dqx"></div> <!> <!> <!> <!> <!> <div class="divider svelte-gu3dqx"></div> <!> <div class="divider svelte-gu3dqx"></div> <!></div></aside>');function Kn(T,d){Ve(d,!1);const u=()=>Te(dt,"$sessionList",i),A=()=>Te(qt,"$feeds",i),L=()=>Te(ia,"$can",i),[i,q]=ot(),y=h(),f=h(),b=h();let g=Ce(d,"sessionId",8,void 0),m=h(0),j=h(-1),k=h();La(()=>clearTimeout(e(k))),F(()=>(u(),ie(g())),()=>{s(y,u().find(R=>R.id===g()))}),F(()=>e(y),()=>{var R;s(f,(R=e(y))==null?void 0:R.title)}),F(()=>(ie(g()),A()),()=>{var R;s(b,g()?((R=A()[g()])==null?void 0:R.lastSeq)??0:0)}),F(()=>(e(b),e(j),e(k),e(m)),()=>{e(b)!==e(j)&&(s(j,e(b)),clearTimeout(e(k)),s(k,setTimeout(()=>s(m,e(m)+1),1e3)))}),st(),Ge();var M=Wn(),$=a(M),O=n(a($),2),V=a(O),ae=a(V,!0);t(V),t(O),t($);var ee=n($,2);{var B=R=>{Rs(R,{get sessionId(){return g()},get tick(){return e(m)}})},le=ht(()=>(L(),r(()=>L()("todos"))));U(ee,R=>{e(le)&&R(B)})}var W=n(ee,2),G=a(W);Ys(G,{get tick(){return e(m)}});var pe=n(G,4);{var se=R=>{var re=Dn(),he=et(re);an(he,{get tick(){return e(m)}}),_t(),_(R,re)},de=ht(()=>(L(),r(()=>L()("skills"))));U(pe,R=>{e(de)&&R(se)})}var ne=n(pe,2);{var me=R=>{var re=Pn(),he=et(re);dn(he,{get sessionId(){return g()},get tick(){return e(m)}}),_t(),_(R,re)},p=ht(()=>(L(),r(()=>L()("files"))));U(ne,R=>{e(p)&&R(me)})}var c=n(ne,2);{var l=R=>{var re=Nn(),he=et(re);mn(he,{get sessionId(){return g()},get tick(){return e(m)}}),_t(),_(R,re)},v=ht(()=>(L(),r(()=>L()("worktrees"))));U(c,R=>{e(v)&&R(l)})}var o=n(c,2);{var w=R=>{var re=Rn(),he=et(re);Us(he,{get tick(){return e(m)}}),_t(2),_(R,re)},Q=ht(()=>(L(),r(()=>L()("mcp"))));U(o,R=>{e(Q)&&R(w)})}var ve=n(o,2);yn(ve,{get sessionId(){return g()},get tick(){return e(m)}});var xe=n(ve,4);An(xe,{get sessionId(){return g()},get tick(){return e(m)}});var $e=n(xe,4);{let R=mt(()=>(L(),r(()=>L()("diff"))));Bn($e,{get sessionId(){return g()},get tick(){return e(m)},get showDiff(){return e(R)}})}t(W),t(M),X(R=>{Pe(O,"title",e(f)??g()),C(ae,R)},[()=>(e(f),ie(g()),r(()=>e(f)||(g()?"…"+g().slice(-8):"No session")))]),_(T,M),He(),q()}function Fn(T,d){const u=d.trim().toLowerCase();return u?T.filter(A=>(A.title??"").toLowerCase().includes(u)||(A.agent??"").toLowerCase().includes(u)||A.id.toLowerCase().includes(u)):T}var Un=x('<div class="empty svelte-wh9uu8">无匹配结果</div>'),Gn=x('<div class="group svelte-wh9uu8" role="presentation"><span class="group-icon svelte-wh9uu8" aria-hidden="true"> </span> <span class="group-label mono svelte-wh9uu8"> </span></div>'),Vn=x('<button role="option"><span class="tile glyph svelte-wh9uu8" aria-hidden="true"> </span> <span class="label svelte-wh9uu8"> </span> <span class="hint mono svelte-wh9uu8"> </span></button>'),Hn=x('<button role="option"><span class="tile svelte-wh9uu8" aria-hidden="true">#</span> <span class="label svelte-wh9uu8"> </span> <span class="hint mono svelte-wh9uu8"> </span></button>'),Jn=x('<button role="option"><span class="tile svelte-wh9uu8" aria-hidden="true">/</span> <span class="label svelte-wh9uu8"> </span> <span class="hint mono svelte-wh9uu8"> </span></button>'),Xn=x('<div class="error svelte-wh9uu8"> </div>'),Yn=x('<div class="about mono svelte-wh9uu8"> </div>'),Qn=x('<div class="overlay svelte-wh9uu8"><button class="backdrop svelte-wh9uu8" aria-label="关闭"></button> <div class="palette svelte-wh9uu8" role="dialog" aria-modal="true" aria-label="搜索会话与命令" tabindex="-1"><div class="header svelte-wh9uu8"><span class="search-icon svelte-wh9uu8" aria-hidden="true"><!></span> <input class="q svelte-wh9uu8" placeholder="跳转会话,或运行命令…" aria-label="搜索会话与命令"/> <kbd class="keycap mono svelte-wh9uu8" aria-label="按 Esc 关闭">esc</kbd></div> <div class="results svelte-wh9uu8" role="listbox" aria-label="结果"><!> <!> <!></div></div></div>');function Zn(T,d){Ve(d,!1);const u=()=>Te(da,"$page",y),A=()=>Te(Nt,"$backends",y),L=()=>Te(dt,"$sessionList",y),i=()=>Te(ga,"$currentBackendId",y),q=()=>Te(ia,"$can",y),[y,f]=ot(),b=h(),g=h(),m=h(),j=h(),k=h(),M=h(),$=h(),O=h();let V=Ce(d,"open",8,!1);const ae=ja();let ee=h(""),B=h(0),le=h(""),W=h(""),G=h(null),pe=h([]),se=h(null);function de(I,D,te){const ye=te.trim().toLowerCase();return ye?I.toLowerCase().includes(ye)||D.toLowerCase().includes(ye):!0}const ne=[{name:"new-session",description:"New session"},{name:"toggle-panel",description:"Collapse / expand the agent panel"},{name:"cycle-accent",description:"Cycle accent color"}];function me(I){var te,ye,Oe;const D=I.replace(/[^a-zA-Z0-9 ]/g," ").trim().split(/[\s-]+/).filter(Boolean);return((((te=D[0])==null?void 0:te[0])??"")+(((ye=D[1])==null?void 0:ye[0])??((Oe=D[0])==null?void 0:Oe[1])??"")).toUpperCase()||I.slice(0,2).toUpperCase()}function p(I,D,te,ye,Oe){const Be=[];let H=0;if(I.length){Be.push({type:"group",label:"Agents",icon:"◆"});for(const J of I)Be.push({type:"agent",agent:J,selectableIndex:H++})}if(D.length){Be.push({type:"group",label:"Sessions",icon:"#"});for(const J of D)Be.push({type:"session",session:J,selectableIndex:H++})}const oe=[...te.map(J=>({...J,kind:"backend"})),...ye.map(J=>({...J}))];if(oe.length){Be.push({type:"group",label:"Commands",icon:"/"});for(const J of oe){const ke=J.kind==="backend"&&!Oe;Be.push({type:"command",command:J,disabled:ke,selectableIndex:ke?void 0:H++})}}return Be}let c=null,l=h();function v(I){c=document.activeElement,I.focus()}function o(){var I;ae("close"),s(ee,""),s(le,""),(I=c==null?void 0:c.focus)==null||I.call(c),c=null}function w(I){Xt(`/${I}/`),o()}function Q(){const I=i()??"opencode",D=kt(I),te=Bt[(Bt.indexOf(D)+1)%Bt.length];Ut(I,te)}async function ve(I){Gt(I);try{await Dt(I)}catch{}o()}async function xe(I){if(I==="cycle-accent"){Q(),o();return}if(I==="new-session"){St.set(!0),o();return}if(I==="toggle-panel"){Ht.update(D=>!D),o();return}if(!(!e(b)||e(W))){s(W,I),s(le,"");try{await we.runCommand({sessionId:e(b),command:I}),o()}catch(D){s(le,`/${I} failed: ${D.message}`)}finally{s(W,"")}}}function $e(I){I.type==="agent"&&I.agent?ve(I.agent.id):I.type==="session"&&I.session?w(I.session.id):I.type==="command"&&!I.disabled&&I.command&&xe(I.command.name)}function R(I){if(I.key==="Escape"){o();return}if(I.key==="Tab"){re(I);return}if(e(O)!==0){if(I.key==="ArrowDown"){I.preventDefault(),s(B,Math.min(e(B)+1,e(O)-1)),he();return}if(I.key==="ArrowUp"){I.preventDefault(),s(B,Math.max(e(B)-1,0)),he();return}if(I.key==="Enter"){const D=e($).find(te=>te.selectableIndex===e(B));D&&(I.preventDefault(),$e(D))}}}function re(I){if(I.key!=="Tab"||!e(l))return;const D=Array.from(e(l).querySelectorAll("input, button:not(:disabled)"));if(D.length===0)return;const te=D[0],ye=D[D.length-1];I.shiftKey&&document.activeElement===te?(I.preventDefault(),ye.focus()):!I.shiftKey&&document.activeElement===ye&&(I.preventDefault(),te.focus())}async function he(){await Ma();const I=document.querySelector(".palette .row.active");I==null||I.scrollIntoView({block:"nearest"})}function Le(I,D){return D?"Open a session first":(I==null?void 0:I.description)??""}F(()=>(ie(V()),e(G),we),()=>{V()&&!e(G)&&we.version().then(I=>{s(G,{version:I.version,uptime:I.uptime})}).catch(()=>{})}),F(()=>u(),()=>{s(b,u().params.sessionId)}),F(()=>A(),()=>{var I;s(g,((I=A())==null?void 0:I.backends)??[])}),F(()=>(e(g),e(ee)),()=>{s(m,e(g).filter(I=>de(I.name??I.id,I.id,e(ee))))}),F(()=>(L(),e(ee)),()=>{s(j,Fn(L(),e(ee)))}),F(()=>(ie(V()),i(),e(se),q(),we),()=>{V()&&i()&&i()!==e(se)&&(s(se,i()),q()("commands")?we.commands(i()).then(I=>{s(pe,I)}).catch(()=>{s(se,null)}):s(pe,[]))}),F(()=>(e(pe),e(ee)),()=>{s(k,e(pe).filter(I=>de(I.name,I.description,e(ee))))}),F(()=>e(ee),()=>{s(M,ne.filter(I=>de(I.name,I.description,e(ee))))}),F(()=>(e(m),e(j),e(k),e(M),e(b)),()=>{s($,p(e(m),e(j),e(k),e(M),e(b)))}),F(()=>e($),()=>{s(O,e($).filter(I=>I.selectableIndex!=null).length)}),F(()=>(e(B),e(O)),()=>{s(B,e(O)?Math.max(0,Math.min(e(B),e(O)-1)):-1)}),F(()=>e(ee),()=>{e(ee),s(B,0)}),st();var Ee={close:o};Ge();var S=xt(),K=et(S);{var ue=I=>{var D=Qn(),te=a(D),ye=n(te,2),Oe=a(ye),Be=a(Oe),H=a(Be);wt(H,{name:"search",size:14}),t(Be);var oe=n(Be,2);vt(oe),Yt(oe,Z=>v==null?void 0:v(Z)),$t(()=>bt(oe,()=>e(ee),Z=>s(ee,Z))),$t(()=>P("keydown",oe,R)),_t(2),t(Oe);var J=n(Oe,2),ke=a(J);{var E=Z=>{var fe=Un();_(Z,fe)},je=Z=>{var fe=xt(),We=et(fe);tt(We,1,()=>e($),De=>{var N,Ye,Ke;return((N=De.agent)==null?void 0:N.id)??((Ye=De.session)==null?void 0:Ye.id)??((Ke=De.command)==null?void 0:Ke.name)??De.label??""},(De,N)=>{var Ye=xt(),Ke=et(Ye);{var Je=Re=>{var Ae=Gn(),Fe=a(Ae),Xe=a(Fe,!0);t(Fe);var nt=n(Fe,2),at=a(nt,!0);t(nt),t(Ae),X(()=>{C(Xe,(e(N),r(()=>e(N).icon))),C(at,(e(N),r(()=>e(N).label)))}),_(Re,Ae)},ce=Re=>{var Ae=Vn();let Fe;var Xe=a(Ae),nt=a(Xe,!0);t(Xe);var at=n(Xe,2),Me=a(at,!0);t(at);var ze=n(at,2),qe=a(ze,!0);t(ze),t(Ae),X(Qe=>{Fe=_e(Ae,1,"row svelte-wh9uu8",null,Fe,{active:e(N).selectableIndex===e(B)}),Pe(Ae,"aria-selected",(e(N),e(B),r(()=>e(N).selectableIndex===e(B)))),C(nt,Qe),C(Me,(e(N),r(()=>{var Ue,ut;return((Ue=e(N).agent)==null?void 0:Ue.name)??((ut=e(N).agent)==null?void 0:ut.id)??""}))),C(qe,(e(N),A(),r(()=>{var Ue,ut,rt;return((Ue=e(N).agent)==null?void 0:Ue.id)===((ut=A())==null?void 0:ut.activeId)?"active":((rt=e(N).agent)==null?void 0:rt.status)??""})))},[()=>(e(N),r(()=>{var Qe,Ue;return me(((Qe=e(N).agent)==null?void 0:Qe.name)??((Ue=e(N).agent)==null?void 0:Ue.id)??"")}))]),P("click",Ae,()=>{e(N).agent&&ve(e(N).agent.id)}),P("mouseenter",Ae,()=>{e(N).selectableIndex!=null&&s(B,e(N).selectableIndex)}),_(Re,Ae)},Ie=Re=>{var Ae=Hn();let Fe;var Xe=n(a(Ae),2),nt=a(Xe,!0);t(Xe);var at=n(Xe,2),Me=a(at,!0);t(at),t(Ae),X(ze=>{Fe=_e(Ae,1,"row svelte-wh9uu8",null,Fe,{active:e(N).selectableIndex===e(B)}),Pe(Ae,"aria-selected",(e(N),e(B),r(()=>e(N).selectableIndex===e(B)))),C(nt,ze),C(Me,(e(N),r(()=>{var qe;return((qe=e(N).session)==null?void 0:qe.agent)??""})))},[()=>(e(N),r(()=>{var ze,qe;return((ze=e(N).session)==null?void 0:ze.title)??((qe=e(N).session)==null?void 0:qe.id.slice(-8))??""}))]),P("click",Ae,()=>{e(N).session&&w(e(N).session.id)}),P("mouseenter",Ae,()=>{e(N).selectableIndex!=null&&s(B,e(N).selectableIndex)}),_(Re,Ae)},Ne=Re=>{var Ae=Jn();let Fe;var Xe=n(a(Ae),2),nt=a(Xe,!0);t(Xe);var at=n(Xe,2),Me=a(at,!0);t(at),t(Ae),X(ze=>{Fe=_e(Ae,1,"row svelte-wh9uu8",null,Fe,{active:e(N).selectableIndex===e(B),disabled:e(N).disabled}),Ae.disabled=(e(N),e(W),r(()=>{var qe;return e(N).disabled||e(W)===((qe=e(N).command)==null?void 0:qe.name)})),Pe(Ae,"aria-selected",(e(N),e(B),r(()=>e(N).selectableIndex===e(B)))),C(nt,(e(N),r(()=>{var qe;return((qe=e(N).command)==null?void 0:qe.name)??""}))),C(Me,ze)},[()=>(e(W),e(N),r(()=>{var ze;return e(W)===((ze=e(N).command)==null?void 0:ze.name)?"运行中…":Le(e(N).command,e(N).disabled)}))]),P("click",Ae,()=>{e(N).command&&xe(e(N).command.name)}),P("mouseenter",Ae,()=>{e(N).selectableIndex!=null&&s(B,e(N).selectableIndex)}),_(Re,Ae)};U(Ke,Re=>{e(N),r(()=>e(N).type==="group")?Re(Je):(e(N),r(()=>e(N).type==="agent")?Re(ce,1):(e(N),r(()=>e(N).type==="session")?Re(Ie,2):(e(N),r(()=>e(N).type==="command")&&Re(Ne,3))))})}_(De,Ye)}),_(Z,fe)};U(ke,Z=>{e($),r(()=>e($).length===0)?Z(E):Z(je,-1)})}var z=n(ke,2);{var Y=Z=>{var fe=Xn(),We=a(fe,!0);t(fe),X(()=>C(We,e(le))),_(Z,fe)};U(z,Z=>{e(le)&&Z(Y)})}var be=n(z,2);{var Se=Z=>{var fe=Yn(),We=a(fe);t(fe),X(()=>C(We,`ocrc v${e(G),r(()=>e(G).version)??""} · uptime ${e(G),r(()=>e(G).uptime)??""}`)),_(Z,fe)};U(be,Z=>{e(G)&&Z(Se)})}t(J),t(ye),Rt(ye,Z=>s(l,Z),()=>e(l)),t(D),P("click",te,o),P("keydown",ye,re),_(I,D)};U(K,I=>{V()&&I(ue)})}_(T,S),Ga(d,"close",o);var ge=He(Ee);return f(),ge}var er=x('<div class="empty svelte-cfrpez">正在加载 agent…</div>'),tr=x('<button type="button" role="radio"><span class="chip-tile svelte-cfrpez"> </span> <span><span class="sr-only svelte-cfrpez"> </span></span> <span class="chip-name svelte-cfrpez"> </span></button>'),ar=x('<div class="field svelte-cfrpez"><span class="label svelte-cfrpez">Agent</span> <div class="agent-chips svelte-cfrpez" role="radiogroup" aria-label="选择 agent"></div></div>'),sr=x('<button class="recent svelte-cfrpez" type="button"><span class="recent-name svelte-cfrpez"> </span> <span class="recent-dir mono svelte-cfrpez"> </span></button>'),nr=x('<div><span class="recents-label mono svelte-cfrpez"> </span> <div class="recents-list svelte-cfrpez"></div></div>'),rr=x('<div class="error svelte-cfrpez"> </div>'),lr=x('<div class="overlay svelte-cfrpez"><button class="backdrop svelte-cfrpez" aria-label="关闭"></button> <div class="modal svelte-cfrpez" role="dialog" aria-modal="true" aria-label="新建会话"><div class="header svelte-cfrpez"><span class="title svelte-cfrpez">New session</span> <button class="close svelte-cfrpez" aria-label="关闭"><!></button></div> <div class="body svelte-cfrpez"><!> <div class="field svelte-cfrpez"><label class="label svelte-cfrpez" for="new-session-dir">Working directory</label> <div class="dir-input svelte-cfrpez"><span class="host-prefix mono svelte-cfrpez">host:</span> <input id="new-session-dir" class="path mono svelte-cfrpez" type="text" placeholder="/path/to/project"/> <button class="browse svelte-cfrpez" type="button" title="该 agent 最近使用的目录">最近</button></div> <!></div> <div class="field svelte-cfrpez"><label class="label svelte-cfrpez" for="new-session-branch">Branch <span class="optional svelte-cfrpez">(optional)</span></label> <input id="new-session-branch" class="branch mono svelte-cfrpez" type="text" placeholder="main"/></div> <!></div> <div class="footer svelte-cfrpez"><button class="btn secondary svelte-cfrpez" type="button">取消</button> <button class="btn primary svelte-cfrpez" type="button"> </button></div></div></div>');function or(T,d){Ve(d,!1);const u=()=>Te(Nt,"$backends",i),A=()=>Te(dt,"$sessionList",i),L=()=>Te(St,"$newSessionOpen",i),[i,q]=ot(),y=h(),f=h(),b=h(),g=h();let m=h(""),j=h(""),k=h(""),M=h(!1),$=h(null),O=h(!1);function V(l){const v=l.split(/[\s\-_:./]+/).filter(Boolean);return v.length>=2?(v[0][0]+v[1][0]).toUpperCase():l.slice(0,2).toUpperCase()}function ae(l){return V((l==null?void 0:l.name)||(l==null?void 0:l.id)||"OC")}function ee(l){return l==="online"||l==="connected"?"online":l==="connecting"||l==="reconnecting"?"connecting":l==="offline"?"offline":"online"}function B(){St.set(!1),s($,null)}function le(l){s(j,l),s(O,!1)}async function W(){const l=e(j).trim();if(!l){s($,"需要填写工作目录");return}if(!e(M)){s(M,!0),s($,null);try{await Dt(e(m));const v=await we.createSession({directory:l});dt.set(await we.sessions()),Na.set(await we.workspaces()),B(),Xt(`/${v.id}/`)}catch(v){s($,v.message)}finally{s(M,!1)}}}function G(l){if(l.key==="Escape"){B();return}l.key==="Tab"&&ne(l)}let pe=h();function se(l){return Array.from(l.querySelectorAll("button, input, [tabindex]")).filter(v=>!v.hasAttribute("disabled"))}function de(l){const v=document.activeElement,o=l.querySelector("input:not([disabled])")??se(l)[0];return o==null||o.focus(),{destroy(){var w;(w=v==null?void 0:v.focus)==null||w.call(v)}}}function ne(l){if(!e(pe))return;const v=se(e(pe));if(v.length===0)return;const o=v[0],w=v[v.length-1];l.shiftKey&&document.activeElement===o?(l.preventDefault(),w.focus()):!l.shiftKey&&document.activeElement===w&&(l.preventDefault(),o.focus())}F(()=>u(),()=>{var l;s(y,((l=u())==null?void 0:l.backends)??[])}),F(()=>(u(),e(y)),()=>{var l,v;s(f,((l=u())==null?void 0:l.activeId)??((v=e(y)[0])==null?void 0:v.id)??"opencode")}),F(()=>(e(m),e(f)),()=>{s(m,e(m)||e(f))}),F(()=>(u(),e(m)),()=>{var l,v;s(b,((v=(l=u())==null?void 0:l.backends.find(o=>o.id===e(m)))==null?void 0:v.name)??e(m))}),F(()=>(A(),e(m)),()=>{s(g,(()=>{const l=new Set,v=[];for(const o of[...A()].sort((w,Q)=>Q.lastActiveAt-w.lastActiveAt))!(o.backendId===e(m)||!o.backendId&&e(m)==="opencode")||!o.directory||l.has(o.directory)||(l.add(o.directory),v.push({directory:o.directory,name:o.directory.replace(/\/+$/,"").split("/").pop()||o.directory}));return v})())}),st(),Ge();var me=xt();P("keydown",Tt,G);var p=et(me);{var c=l=>{var v=lr(),o=a(v),w=n(o,2),Q=a(w),ve=n(a(Q),2),xe=a(ve);wt(xe,{name:"close",size:14}),t(ve),t(Q);var $e=n(Q,2),R=a($e);{var re=J=>{var ke=er();_(J,ke)},he=J=>{var ke=ar(),E=n(a(ke),2);tt(E,5,()=>e(y),je=>je.id,(je,z)=>{const Y=mt(()=>(ie(kt),e(z),r(()=>kt(e(z).id)))),be=mt(()=>(e(z),e(m),r(()=>e(z).id===e(m))));var Se=tr();let Z;var fe=a(Se),We=a(fe,!0);t(fe);var De=n(fe,2),N=a(De),Ye=a(N,!0);t(N),t(De);var Ke=n(De,2),Je=a(Ke,!0);t(Ke),t(Se),X((ce,Ie,Ne)=>{Z=_e(Se,1,"agent-chip svelte-cfrpez",null,Z,{selected:e(be)}),Pe(Se,"aria-checked",e(be)),lt(fe,`background:${ie(gt),ie(e(Y)),r(()=>gt[e(Y)])??""}; color:${ie(Ze),ie(e(Y)),r(()=>Ze[e(Y)])??""}; border-color:${ie(yt),ie(e(Y)),r(()=>yt[e(Y)])??""}`),C(We,ce),_e(De,1,`chip-status ${Ie??""}`,"svelte-cfrpez"),lt(De,`--dot:${ie(Ze),ie(e(Y)),r(()=>Ze[e(Y)])??""}`),C(Ye,Ne),C(Je,(e(z),r(()=>e(z).name??e(z).id)))},[()=>(e(z),r(()=>ae(e(z)))),()=>(e(z),r(()=>ee(e(z).status))),()=>(e(z),r(()=>ee(e(z).status)))]),P("click",Se,()=>{s(m,e(z).id)}),_(je,Se)}),t(E),t(ke),_(J,ke)};U(R,J=>{e(y),r(()=>e(y).length===0)?J(re):J(he,-1)})}var Le=n(R,2),Ee=n(a(Le),2),S=n(a(Ee),2);vt(S);var K=n(S,2);t(Ee);var ue=n(Ee,2);{var ge=J=>{var ke=nr();let E;var je=a(ke),z=a(je);t(je);var Y=n(je,2);tt(Y,5,()=>e(g),be=>be.directory,(be,Se)=>{var Z=sr(),fe=a(Z),We=a(fe,!0);t(fe);var De=n(fe,2),N=a(De,!0);t(De),t(Z),X(()=>{Pe(Z,"title",(e(Se),r(()=>e(Se).directory))),C(We,(e(Se),r(()=>e(Se).name))),C(N,(e(Se),r(()=>e(Se).directory)))}),P("click",Z,()=>le(e(Se).directory)),_(be,Z)}),t(Y),t(ke),X(()=>{E=_e(ke,1,"recents svelte-cfrpez",null,E,{open:e(O)}),C(z,`recent · ${e(b)??""}`)}),_(J,ke)};U(ue,J=>{e(g),r(()=>e(g).length>0)&&J(ge)})}t(Le);var I=n(Le,2),D=n(a(I),2);vt(D),t(I);var te=n(I,2);{var ye=J=>{var ke=rr(),E=a(ke,!0);t(ke),X(()=>C(E,e($))),_(J,ke)};U(te,J=>{e($)&&J(ye)})}t($e);var Oe=n($e,2),Be=a(Oe),H=n(Be,2),oe=a(H,!0);t(H),t(Oe),t(w),Rt(w,J=>s(pe,J),()=>e(pe)),Yt(w,J=>de==null?void 0:de(J)),t(v),X(J=>{Be.disabled=e(M),H.disabled=J,C(oe,e(M)?"Creating…":"Create")},[()=>(e(M),e(j),r(()=>e(M)||!e(j).trim()))]),P("click",o,B),P("click",ve,B),bt(S,()=>e(j),J=>s(j,J)),P("focus",S,()=>{s(O,!0)}),P("click",K,()=>s(O,!e(O))),bt(D,()=>e(k),J=>s(k,J)),P("click",Be,B),P("click",H,W),_(l,v)};U(p,l=>{L()&&l(c)})}_(T,me),He(),q()}var ir=x('<button><span class="ch-name"> </span> <span> </span></button>'),cr=x('<span class="note svelte-b8emeh"> </span>'),vr=x('<p class="hint svelte-b8emeh">自定义白名单已保存——用工作区切换器添加条目后再来这里勾选。</p>'),dr=x('<div class="detail svelte-b8emeh"><div class="d-hd svelte-b8emeh"><span class="d-name svelte-b8emeh"> </span> <button aria-label="启用通道"><span class="knob svelte-b8emeh"></span></button></div> <p class="note svelte-b8emeh"><!></p> <div class="sec svelte-b8emeh"><div class="sec-label svelte-b8emeh">关联凭证</div> <input class="cred mono svelte-b8emeh"/> <div class="sec-acts svelte-b8emeh"><button class="save svelte-b8emeh">保存</button> <!></div></div> <div class="sec svelte-b8emeh"><div class="sec-label svelte-b8emeh">回复粒度</div> <div class="opts svelte-b8emeh"><button>标准回复(隐藏工具过程)</button> <button>详细回复(显示工具过程)</button></div></div> <div class="sec svelte-b8emeh"><div class="sec-label svelte-b8emeh">工作区访问范围</div> <div class="opts svelte-b8emeh"><button>所有工作区</button> <button>自定义</button></div> <!></div> <div class="sec danger svelte-b8emeh"><div class="sec-label svelte-b8emeh">重置</div> <button class="reset svelte-b8emeh">恢复默认设置</button></div></div>'),ur=x('<div class="pair-row svelte-b8emeh"><div class="qr svelte-b8emeh"></div> <div class="pair-acts svelte-b8emeh"><input class="pair-url mono svelte-b8emeh" readonly=""/> <button class="copy svelte-b8emeh">复制链接</button> <button class="copy svelte-b8emeh">刷新二维码</button></div></div>'),pr=x('<p class="hint svelte-b8emeh">配对信息加载中…</p>'),fr=x('<div class="overlay svelte-b8emeh"><button class="backdrop svelte-b8emeh" aria-label="关闭"></button> <div class="modal svelte-b8emeh" role="dialog" aria-modal="true" aria-label="机器人与通道" tabindex="-1"><div class="header svelte-b8emeh"><span class="title svelte-b8emeh">🤖 机器人 · 通道</span> <button class="close svelte-b8emeh" aria-label="关闭">✕</button></div> <div class="cols svelte-b8emeh"><div class="list svelte-b8emeh"></div> <!></div> <div class="pair svelte-b8emeh"><div class="sec-label svelte-b8emeh">配对新设备</div> <!></div></div></div>');function hr(T,d){Ve(d,!1);const u=()=>Te(Vt,"$channelsOpen",A),[A,L]=ot(),i=h();let q=h([]),y=h(),f=h(null),b=h(""),g=h("");async function m(){try{s(q,(await we.channels()).channels??[]),!e(y)&&e(q).length>0&&s(y,e(q)[0].id)}catch{}}async function j(){try{s(f,await we.pairQr())}catch{s(f,null)}}ca(()=>{m(),j()});function k(se){return se==="telegram"?"Telegram":se==="wechat"?"微信":se==="lark"?"Lark":se}function M(){Vt.set(!1)}function $(se){s(y,se),s(b,""),s(g,"")}async function O(se){s(q,e(q).map(de=>de.id===se.id?{...de,enabled:!de.enabled}:de));try{await we.updateChannel(se.id,{enabled:!se.enabled})}catch{}}async function V(se,de){s(q,e(q).map(ne=>ne.id===se.id?{...ne,replyGranularity:de}:ne));try{await we.updateChannel(se.id,{replyGranularity:de})}catch{}}async function ae(se){if(!e(b).trim()){s(g,"请输入凭证内容");return}try{await we.updateChannel(se.id,{credentials:{token:e(b).trim()}}),s(g,"已保存——重启实例后生效"),s(b,"")}catch{s(g,"保存失败")}}async function ee(){if(e(i)){try{await we.resetChannel(e(i).id)}catch{}await m()}}async function B(){if(e(f))try{await navigator.clipboard.writeText(e(f).url)}catch{}}function le(se){se.key==="Escape"&&M()}F(()=>(e(q),e(y)),()=>{s(i,e(q).find(se=>se.id===e(y))??e(q)[0])}),st(),Ge();var W=xt();P("keydown",Tt,le);var G=et(W);{var pe=se=>{var de=fr(),ne=a(de),me=n(ne,2),p=a(me),c=n(a(p),2);t(p);var l=n(p,2),v=a(l);tt(v,5,()=>e(q),R=>R.id,(R,re)=>{var he=ir();let Le;var Ee=a(he),S=a(Ee,!0);t(Ee);var K=n(Ee,2);let ue;var ge=a(K,!0);t(K),t(he),X(I=>{var D;Le=_e(he,1,"ch svelte-b8emeh",null,Le,{sel:((D=e(i))==null?void 0:D.id)===e(re).id}),C(S,I),ue=_e(K,1,"ch-state svelte-b8emeh",null,ue,{on:e(re).enabled}),C(ge,(e(re),r(()=>e(re).enabled?"已启用":"已停用")))},[()=>(e(re),r(()=>k(e(re).channel)))]),P("click",he,()=>$(e(re).id)),_(R,he)}),t(v);var o=n(v,2);{var w=R=>{var re=dr(),he=a(re),Le=a(he),Ee=a(Le,!0);t(Le);var S=n(Le,2);let K;t(he);var ue=n(he,2),ge=a(ue);{var I=ce=>{var Ie=Pt();X(()=>C(Ie,`${e(i),r(()=>{var Ne;return(Ne=e(i).live)!=null&&Ne.connected?"轮询运行中":"未在轮询"})??""}${e(i),r(()=>{var Ne;return(Ne=e(i).live)!=null&&Ne.username?` · @${e(i).live.username}`:""})??""}。
|
|
3
|
-
停用/启用在重启实例后生效。`)),_(ce,Ie)},D=ce=>{var Ie=Pt("待接入:凭证保存后,通道本体在后续版本启用。");_(ce,Ie)};U(ge,ce=>{e(i),r(()=>e(i).channel==="telegram")?ce(I):ce(D,-1)})}t(ue);var te=n(ue,2),ye=n(a(te),2);vt(ye);var Oe=n(ye,2),Be=a(Oe),H=n(Be,2);{var oe=ce=>{var Ie=cr(),Ne=a(Ie,!0);t(Ie),X(()=>C(Ne,e(g))),_(ce,Ie)};U(H,ce=>{e(g)&&ce(oe)})}t(Oe),t(te);var J=n(te,2),ke=n(a(J),2),E=a(ke);let je;var z=n(E,2);let Y;t(ke),t(J);var be=n(J,2),Se=n(a(be),2),Z=a(Se);let fe;var We=n(Z,2);let De;t(Se);var N=n(Se,2);{var Ye=ce=>{var Ie=vr();_(ce,Ie)};U(N,ce=>{e(i),r(()=>e(i).workspaces.mode==="custom")&&ce(Ye)})}t(be);var Ke=n(be,2),Je=n(a(Ke),2);t(Ke),t(re),X(ce=>{C(Ee,ce),K=_e(S,1,"switch svelte-b8emeh",null,K,{on:e(i).enabled}),Pe(S,"aria-pressed",(e(i),r(()=>e(i).enabled))),Pe(ye,"placeholder",(e(i),r(()=>e(i).channel==="telegram"?"BotFather token(留空保持不变)":"凭证(预留)"))),je=_e(E,1,"opt svelte-b8emeh",null,je,{sel:e(i).replyGranularity==="standard"}),Y=_e(z,1,"opt svelte-b8emeh",null,Y,{sel:e(i).replyGranularity==="detailed"}),fe=_e(Z,1,"opt svelte-b8emeh",null,fe,{sel:e(i).workspaces.mode==="all"}),De=_e(We,1,"opt svelte-b8emeh",null,De,{sel:e(i).workspaces.mode==="custom"})},[()=>(e(i),r(()=>k(e(i).channel)))]),P("click",S,()=>O(e(i))),bt(ye,()=>e(b),ce=>s(b,ce)),P("click",Be,()=>ae(e(i))),P("click",E,()=>V(e(i),"standard")),P("click",z,()=>V(e(i),"detailed")),P("click",Z,()=>we.updateChannel(e(i).id,{workspaces:{mode:"all"}}).then(m)),P("click",We,()=>we.updateChannel(e(i).id,{workspaces:{mode:"custom",dirs:[]}}).then(m)),P("click",Je,ee),_(R,re)};U(o,R=>{e(i)&&R(w)})}t(l);var Q=n(l,2),ve=n(a(Q),2);{var xe=R=>{var re=ur(),he=a(re);Wa(he,()=>(e(f),r(()=>e(f).svg)),!0),t(he);var Le=n(he,2),Ee=a(Le);vt(Ee);var S=n(Ee,2),K=n(S,2);t(Le),t(re),X(()=>Ka(Ee,(e(f),r(()=>e(f).url)))),P("click",S,B),P("click",K,j),_(R,re)},$e=R=>{var re=pr();_(R,re)};U(ve,R=>{e(f)?R(xe):R($e,-1)})}t(Q),t(me),t(de),P("click",ne,M),P("click",c,M),P("click",me,Ra(function(R){Va.call(this,d,R)})),P("click",de,M),_(se,de)};U(G,se=>{u()&&se(pe)})}_(T,W),He(),L()}var br=x('<div class="overlay svelte-1r7zhoh"><button class="backdrop svelte-1r7zhoh" aria-label="Close"></button> <div class="menu svelte-1r7zhoh" role="menu" aria-label="New actions"><button class="item svelte-1r7zhoh" role="menuitem"><span class="icon svelte-1r7zhoh" aria-hidden="true">+</span> <span class="label svelte-1r7zhoh">New session</span></button> <button class="item svelte-1r7zhoh" role="menuitem"><span class="icon svelte-1r7zhoh" aria-hidden="true"><!></span> <span class="label svelte-1r7zhoh">Command palette</span> <kbd class="keycap mono svelte-1r7zhoh">⌘K</kbd></button></div></div>');function _r(T,d){Ve(d,!1);const u=()=>Te(It,"$plusMenuOpen",A),[A,L]=ot();let i=Ce(d,"anchor",8,null);function q(){It.set(!1),St.set(!0)}function y(){It.set(!1),zt.set(!0)}function f(){It.set(!1)}function b(k){k.key==="Escape"&&f()}Ge();var g=xt();P("keydown",Tt,b);var m=et(g);{var j=k=>{var M=br(),$=a(M),O=n($,2),V=a(O),ae=n(V,2),ee=a(ae),B=a(ee);wt(B,{name:"search",size:14}),t(ee),_t(4),t(ae),t(O),t(M),X(le=>lt(O,le),[()=>(ie(i()),r(()=>i()?`top:${i().getBoundingClientRect().bottom+6}px; left:${i().getBoundingClientRect().left}px`:""))]),P("click",$,f),P("click",V,q),P("click",ae,y),_(k,M)};U(m,k=>{u()&&k(j)})}_(T,g),He(),L()}var mr=x('<button class="scrim svelte-9zfapn" aria-label="Close"></button>'),gr=x('<button class="dial-item svelte-9zfapn" role="menuitem"><span class="dial-label mono svelte-9zfapn"> </span> <span class="dial-icon svelte-9zfapn" aria-hidden="true"> </span></button>'),yr=x('<div class="dial svelte-9zfapn" role="menu"></div>'),kr=x('<div><!> <!> <button><span aria-hidden="true">+</span></button></div>');function wr(T,d){Ve(d,!1);let u=h(!1);const A=()=>s(u,!e(u)),L=()=>s(u,!1),i=[{label:"新建会话",icon:"+",run:()=>St.set(!0)},{label:"搜索与命令",icon:"⌕",run:()=>zt.set(!0)}];function q(O){O.run(),L()}function y(O){O.key==="Escape"&&e(u)&&L()}Ge();var f=kr();P("keydown",Tt,y);let b;var g=a(f);{var m=O=>{var V=mr();P("click",V,L),_(O,V)};U(g,O=>{e(u)&&O(m)})}var j=n(g,2);{var k=O=>{var V=yr();tt(V,5,()=>i,ae=>ae.label,(ae,ee)=>{var B=gr(),le=a(B),W=a(le,!0);t(le);var G=n(le,2),pe=a(G,!0);t(G),t(B),X(()=>{C(W,e(ee).label),C(pe,e(ee).icon)}),P("click",B,()=>q(e(ee))),_(ae,B)}),t(V),_(O,V)};U(j,O=>{e(u)&&O(k)})}var M=n(j,2);let $;t(f),X(()=>{b=_e(f,1,"fab-root svelte-9zfapn",null,b,{open:e(u)}),$=_e(M,1,"fab svelte-9zfapn",null,$,{rot:e(u)}),Pe(M,"aria-label",e(u)?"关闭菜单":"快捷操作"),Pe(M,"aria-expanded",e(u))}),P("click",M,A),_(T,f),He()}var xr=x('<p class="rejected svelte-9s687p">上一次的令牌被服务器拒绝了——请在下方重新配对。</p>'),$r=x('<div class="err svelte-9s687p"> </div>'),Ir=x('<div class="gate svelte-9s687p"><div class="card svelte-9s687p"><div class="brand svelte-9s687p"><b>ocrc</b></div> <h1 class="svelte-9s687p">配对此设备</h1> <!> <p class="svelte-9s687p">In Telegram, send <code class="svelte-9s687p">/pair</code> to your bot, then paste the <strong>token</strong> (or the whole link) below.</p> <input class="field mono svelte-9s687p" placeholder="粘贴配对令牌或链接…" aria-label="配对令牌或链接" autocapitalize="off" autocorrect="off" spellcheck="false"/> <!> <button class="connect svelte-9s687p">连接</button> <p class="hint svelte-9s687p">令牌只保存在本设备上。</p></div></div>');function zr(T,d){Ve(d,!1);let u=Ce(d,"status",8,"pairing"),A=h(""),L=h("");function i($){const O=$.trim(),V=O.match(/token=([^&#\s]+)/);return V?decodeURIComponent(V[1]):O}function q(){const $=i(e(A));if(!$||$.length<16){s(L,"这看起来不是有效的令牌。");return}ya($)||s(L,"这看起来不是有效的令牌。")}Ge();var y=Ir(),f=a(y),b=n(a(f),4);{var g=$=>{var O=xr();_($,O)};U(b,$=>{u()==="rejected"&&$(g)})}var m=n(b,4);vt(m);var j=n(m,2);{var k=$=>{var O=$r(),V=a(O,!0);t(O),X(()=>C(V,e(L))),_($,O)};U(j,$=>{e(L)&&$(k)})}var M=n(j,2);_t(2),t(f),t(y),X($=>M.disabled=$,[()=>(e(A),r(()=>!e(A).trim()))]),bt(m,()=>e(A),$=>s(A,$)),P("keydown",m,$=>$.key==="Enter"&&q()),P("click",M,q),_(T,y),He()}var Sr=x('<button class="backdrop svelte-12qhfyh" aria-label="Close"></button>'),Ar=x('<div class="app svelte-12qhfyh"><!> <!> <div class="body svelte-12qhfyh"><!> <div><!></div> <main class="svelte-12qhfyh"><!></main> <div><!></div></div></div> <!> <!> <!> <!> <!> <!>',1);function Br(T,d){Ve(d,!1);const u=()=>Te(da,"$page",f),A=()=>Te(Nt,"$backends",f),L=()=>Te(Mt,"$inspectorOpen",f),i=()=>Te(Ht,"$leftPanelOpen",f),q=()=>Te(zt,"$paletteOpen",f),y=()=>Te(Kt,"$auth",f),[f,b]=ot(),g=h();let m=h(!1),j=h(!1),k=h(),M=h(null);function $(){s(m,!1),Mt.set(!1)}function O(){s(m,!e(m)),Mt.set(!1)}function V(){Mt.update(H=>!H),s(m,!1)}function ae(H){if((H.metaKey||H.ctrlKey)&&H.key.toLowerCase()==="k"){H.preventDefault(),zt.set(!0);return}if(H.key==="Escape"){if(At(It)){It.set(!1);return}if(At(St)){St.set(!1);return}$()}}let ee=h(""),B=null,le=h(null);async function W(){e(le)&&(e(le).prompt(),await e(le).userChoice,s(le,null))}let G=null,pe=!1,se=0,de;async function ne(H){if(!(pe||Date.now()-se<2e3)){pe=!0,se=Date.now();try{const{cards:oe,lastSeq:J}=await we.history(H);na.set(!0),Ft(H,oe,J),setTimeout(()=>na.set(!1),350),B==null||B.send({type:"subscribe",sessionId:H,sinceSeq:J})}catch(oe){console.warn("[layout] resync failed",oe)}finally{pe=!1}}}function me(H){var J,ke;if(At(Kt)!=="ready")return;if(xa.set(H),Za(H),!H){ta(void 0),G=null;return}ta(H);const oe=!((ke=(J=At(qt)[H])==null?void 0:J.order)!=null&&ke.length);H===G&&!oe||(G=H,we.history(H).then(({cards:E,lastSeq:je})=>{Ft(H,E,je),B==null||B.send({type:"subscribe",sessionId:H,sinceSeq:je})}).catch(E=>{console.warn("[layout] history failed",E),Ft(H,[],0),B==null||B.send({type:"subscribe",sessionId:H})}))}function p(){B&&(B.close(),B=null),we.me().then(oe=>{s(ee,oe.email)}).catch(()=>{}),we.sessions().then(oe=>{dt.set(oe)}).catch(()=>{}),ka(),wa();const H=location.protocol==="https:"?"wss:":"ws:";B=Qa({url:`${H}//${location.host}/ws`,onReconnect:()=>{var oe;if(G){const J=((oe=At(qt)[G])==null?void 0:oe.lastSeq)??0;B==null||B.send({type:"subscribe",sessionId:G,sinceSeq:J})}},onMessage:oe=>{var J;if(oe.type==="card"&&oe.card){const ke=oe.card.sessionId,E=ke?((J=At(qt)[ke])==null?void 0:J.lastSeq)??0:0;$a(oe.card),ke&&Ia(E,oe.card)&&(clearTimeout(de),de=setTimeout(()=>{ne(ke)},500))}(oe.type==="hello"||oe.type==="sessions")&&oe.sessions&&(dt.set(oe.sessions),es(oe.sessions)),oe.type==="replayEnd"&&oe.complete===!1&&typeof oe.sessionId=="string"&&ne(oe.sessionId)}}),me(u().params.sessionId)}ca(()=>{const H=Kt.subscribe(fe=>{fe==="ready"&&p()}),oe=fe=>{fe.preventDefault(),s(le,fe)};window.addEventListener("beforeinstallprompt",oe);const J=window.matchMedia("(max-width: 820px)");s(j,J.matches);const ke=fe=>{s(j,fe.matches),fe.matches||$()};J.addEventListener("change",ke);const E=window.visualViewport,je=()=>{!E||!e(k)||(window.scrollY!==0&&window.scrollTo(0,0),aa(k,e(k).style.height=`${Math.round(E.height)}px`),aa(k,e(k).style.transform=E.offsetTop>0?`translateY(${Math.round(E.offsetTop)}px)`:""))};je(),E==null||E.addEventListener("resize",je),E==null||E.addEventListener("scroll",je);const z=()=>setTimeout(je,300);window.addEventListener("orientationchange",z);let Y=0,be=0;const Se=()=>{je(),Date.now()<Y?be=requestAnimationFrame(Se):be=0},Z=()=>{Y=Date.now()+650,be||(be=requestAnimationFrame(Se))};return window.addEventListener("focusin",Z),window.addEventListener("focusout",Z),()=>{H(),window.removeEventListener("beforeinstallprompt",oe),J.removeEventListener("change",ke),E==null||E.removeEventListener("resize",je),E==null||E.removeEventListener("scroll",je),window.removeEventListener("focusin",Z),window.removeEventListener("focusout",Z),window.removeEventListener("orientationchange",z),be&&cancelAnimationFrame(be),clearTimeout(de),B==null||B.close()}}),Fa(H=>{var oe,J;$(),me((J=(oe=H.to)==null?void 0:oe.params)==null?void 0:J.sessionId)}),F(()=>(A(),Gt),()=>{A()&&typeof document<"u"&&Gt(A().activeId)}),F(()=>u(),()=>{s(g,!!u().params.sessionId)}),st(),Ge();var c=Ar();P("keydown",Tt,ae);var l=et(c),v=a(l);{var o=H=>{rs(H,{get email(){return e(ee)},onPalette:()=>zt.set(!0),get installEvent(){return e(le)},onInstall:W,get drawerLeft(){return e(m)},get drawerRight(){return L()},onToggleLeft:O,onToggleRight:V,get newButtonAnchor(){return e(M)},set newButtonAnchor(oe){s(M,oe)},$$legacy:!0})};U(v,H=>{e(j)&&e(g)||H(o)})}var w=n(v,2);os(w);var Q=n(w,2),ve=a(Q);{var xe=H=>{var oe=Sr();P("click",oe,$),_(H,oe)};U(ve,H=>{(e(m)||L())&&H(xe)})}var $e=n(ve,2);let R;var re=a($e);Ms(re,{get activeId(){return u(),r(()=>u().params.sessionId)},get drawer(){return e(j)}}),t($e);var he=n($e,2),Le=a(he);Ua(Le,d,"default",{}),t(he);var Ee=n(he,2);let S;var K=a(Ee);Kn(K,{get sessionId(){return u(),r(()=>u().params.sessionId)}}),t(Ee),t(Q),t(l),Rt(l,H=>s(k,H),()=>e(k));var ue=n(l,2);Zn(ue,{get open(){return q()},$$events:{close:()=>zt.set(!1)}});var ge=n(ue,2);_r(ge,{get anchor(){return e(M)}});var I=n(ge,2);or(I,{});var D=n(I,2);hr(D,{});var te=n(D,2);{var ye=H=>{wr(H,{})};U(te,H=>{e(g)||H(ye)})}var Oe=n(te,2);{var Be=H=>{{let oe=mt(()=>y()==="rejected"?"rejected":"pairing");zr(H,{get status(){return e(oe)}})}};U(Oe,H=>{y()!=="ready"&&H(Be)})}X(()=>{R=_e($e,1,"rail-wrap svelte-12qhfyh",null,R,{collapsed:!i()&&!e(j),open:e(m)||e(j)&&!e(g)}),S=_e(Ee,1,"inspector-wrap svelte-12qhfyh",null,S,{open:L()})}),_(T,c),He(),b()}export{Br as component,Or as universal};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"../chunks/CWj6FrbW.js";import{q as y,j as I,x as N,i as L}from"../chunks/BUpwHpMJ.js";import{aE as q,ap as d,aq as B,w as l,aB as M,a8 as t,a6 as O,aO as p,J as S,b4 as j,aK as E,au as m,b0 as _,a$ as J,aR as K}from"../chunks/BjY4dxcB.js";import{i as R,s as z,a as f}from"../chunks/DIEDQ_hk.js";import{g as b}from"../chunks/DDAxukGR.js";var C=O('<div class="empty svelte-1uha8ag"><!></div>');function Q(g,$){q($,!1);const v=()=>f(I,"$backends",c),s=()=>f(N,"$sessionList",c),h=()=>f(L,"$backendName",c),[c,k]=z(),o=m(),i=m(),u=window.matchMedia("(max-width: 820px)").matches;let n=m(!1);d(()=>v(),()=>{var e;p(o,(e=v())==null?void 0:e.activeId)}),d(()=>(t(o),s()),()=>{p(i,t(o)?s().filter(e=>e.backendId===t(o)||!e.backendId&&t(o)==="opencode").sort((e,a)=>a.lastActiveAt-e.lastActiveAt):[...s()].sort((e,a)=>a.lastActiveAt-e.lastActiveAt))}),d(()=>(t(n),t(i),b),()=>{!t(n)&&!u&&t(i).length>0&&(p(n,!0),b(`/${t(i)[0].id}/`,{replaceState:!0}))}),B(),y();var r=C(),x=S(r);{var A=e=>{var a=_();J(()=>K(a,`No sessions yet — create one to start chatting with ${h()??""}.`)),l(e,a)},w=e=>{var a=_("Opening latest session…");l(e,a)};R(x,e=>{s(),j(()=>s().length===0)?e(A):e(w,-1)})}E(r),l(g,r),M(),k()}export{Q as component};
|