turtlecode 0.3.22 → 0.3.24
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/assets/assets/{_basePickBy-BuV5p9OF.js → _basePickBy-D65KJpFC.js} +1 -1
- package/assets/assets/{_baseUniq-CgruQt5X.js → _baseUniq-BIxdVMFq.js} +1 -1
- package/assets/assets/{arc-Xo9tWfZy.js → arc-lqTDNttu.js} +1 -1
- package/assets/assets/{architectureDiagram-2XIMDMQ5-Dwwiik2C.js → architectureDiagram-2XIMDMQ5-BEvrCwHr.js} +1 -1
- package/assets/assets/{auth-callback-DzfbKURp.js → auth-callback-DfWJh7Nv.js} +1 -1
- package/assets/assets/{blockDiagram-WCTKOSBZ-D14iUyJf.js → blockDiagram-WCTKOSBZ-Byj1dXJF.js} +1 -1
- package/assets/assets/{c4Diagram-IC4MRINW-BTEGwkgT.js → c4Diagram-IC4MRINW-B7wIAHaU.js} +1 -1
- package/assets/assets/channel-D_n6fSKR.js +1 -0
- package/assets/assets/{chunk-4BX2VUAB-LvGb37pZ.js → chunk-4BX2VUAB-zcBLD5M0.js} +1 -1
- package/assets/assets/{chunk-55IACEB6-BHYQFK0r.js → chunk-55IACEB6-Dx4FInWg.js} +1 -1
- package/assets/assets/{chunk-FMBD7UC4-DDPwEL1E.js → chunk-FMBD7UC4-C4qcbwxc.js} +1 -1
- package/assets/assets/{chunk-JSJVCQXG-ClUobV2O.js → chunk-JSJVCQXG-BCuuGHV6.js} +1 -1
- package/assets/assets/{chunk-KX2RTZJC-B8M8Fcgs.js → chunk-KX2RTZJC-CqiCNiva.js} +1 -1
- package/assets/assets/{chunk-NQ4KR5QH-COObsiDL.js → chunk-NQ4KR5QH-8kYHscF5.js} +1 -1
- package/assets/assets/{chunk-QZHKN3VN-3sXsvRQx.js → chunk-QZHKN3VN-UVfkh0x4.js} +1 -1
- package/assets/assets/{chunk-WL4C6EOR-C-KVdAYV.js → chunk-WL4C6EOR-B2a3RzIE.js} +1 -1
- package/assets/assets/classDiagram-VBA2DB6C-B9P4tEDT.js +1 -0
- package/assets/assets/classDiagram-v2-RAHNMMFH-B9P4tEDT.js +1 -0
- package/assets/assets/clone-BzqqU0GK.js +1 -0
- package/assets/assets/{connection-popover-rJ-VRiI0.js → connection-popover-GY3-vUSX.js} +1 -1
- package/assets/assets/{context-popover-DrTfmTrn.js → context-popover-CqWewUMz.js} +1 -1
- package/assets/assets/{cose-bilkent-S5V4N54A-CMC5LmtM.js → cose-bilkent-S5V4N54A-BaGS5_an.js} +1 -1
- package/assets/assets/{cssMode-CgrXnPhP.js → cssMode-DSRaQPwg.js} +1 -1
- package/assets/assets/{dagre-KLK3FWXG-BQ3EbYun.js → dagre-KLK3FWXG-DJbsgZql.js} +1 -1
- package/assets/assets/{diagram-E7M64L7V-BHeZpgSR.js → diagram-E7M64L7V-DislCIYk.js} +1 -1
- package/assets/assets/{diagram-IFDJBPK2-b82YQflr.js → diagram-IFDJBPK2-DoIJ5lZO.js} +1 -1
- package/assets/assets/{diagram-P4PSJMXO-pi7FLeUK.js → diagram-P4PSJMXO-C5QTEZQ-.js} +1 -1
- package/assets/assets/{dialog-clone-project-CTlT0wyo.js → dialog-clone-project-BOzUv3Xk.js} +1 -1
- package/assets/assets/{dialog-connect-provider-DD-ABicH.js → dialog-connect-provider-B03mRJGm.js} +2 -2
- package/assets/assets/{dialog-create-project-CDuD9Ck4.js → dialog-create-project-IE_1_twk.js} +1 -1
- package/assets/assets/{dialog-edit-project-DsqzrfzM.js → dialog-edit-project-ysNqbYXj.js} +1 -1
- package/assets/assets/{dialog-fork-B_U9B5sC.js → dialog-fork-BYWmyiPY.js} +1 -1
- package/assets/assets/{dialog-manage-models-BwT1iDMG.js → dialog-manage-models-Dh-cki60.js} +1 -1
- package/assets/assets/dialog-select-directory-D1aL5xv0.js +5 -0
- package/assets/assets/{dialog-select-file-Bl3u-ykG.js → dialog-select-file-BmqS8xa5.js} +1 -1
- package/assets/assets/{dialog-select-mcp-CNXlry4I.js → dialog-select-mcp-iOu_MrP8.js} +1 -1
- package/assets/assets/{dialog-select-model-unpaid-BggTZ1GN.js → dialog-select-model-unpaid-DXci4A8o.js} +2 -2
- package/assets/assets/{dialog-select-provider-DCUcnqs5.js → dialog-select-provider-CTDZLyFX.js} +1 -1
- package/assets/assets/{dialog-select-server-BFlVrVwv.js → dialog-select-server-C42HxFI9.js} +1 -1
- package/assets/assets/dialog-settings-bbkt009_.js +1 -0
- package/assets/assets/{erDiagram-INFDFZHY-7SAbu9BD.js → erDiagram-INFDFZHY-CbnulhBd.js} +1 -1
- package/assets/assets/{flowDiagram-PKNHOUZH-BTJQITbQ.js → flowDiagram-PKNHOUZH-CZE_SO5V.js} +1 -1
- package/assets/assets/{freemarker2-DaFW-Bnn.js → freemarker2-BMhGp6L0.js} +1 -1
- package/assets/assets/{ganttDiagram-A5KZAMGK-xLMbL7NX.js → ganttDiagram-A5KZAMGK-BV8GnBPb.js} +3 -3
- package/assets/assets/{ghostty-web-CSMOh6gY.js → ghostty-web-B4Y1Hqc4.js} +1 -1
- package/assets/assets/{gitGraphDiagram-K3NZZRJ6-CVRO_XHq.js → gitGraphDiagram-K3NZZRJ6-C6fntEAi.js} +1 -1
- package/assets/assets/{graph-DApKsqr0.js → graph-NHNxfEnN.js} +1 -1
- package/assets/assets/{handlebars-CUhaHsb1.js → handlebars-U9T1Z3lw.js} +1 -1
- package/assets/assets/{home-BqphZDxq.js → home-D4Zom48G.js} +1 -1
- package/assets/assets/{html-Do7wwNp4.js → html-BPNZ4shX.js} +1 -1
- package/assets/assets/{htmlMode-B3WepnYy.js → htmlMode-KVLWNOm2.js} +1 -1
- package/assets/assets/{index-DMyAFOcC.js → index-CyMsj-Wk.js} +413 -413
- package/assets/assets/index-DFs_ngob.css +6 -0
- package/assets/assets/{infoDiagram-LFFYTUFH-DifxRd1_.js → infoDiagram-LFFYTUFH-CSJIjJmU.js} +1 -1
- package/assets/assets/{ishikawaDiagram-PHBUUO56-DKeD8kjl.js → ishikawaDiagram-PHBUUO56-35Hsw-qV.js} +1 -1
- package/assets/assets/{javascript-Ct4IZjTn.js → javascript-vFSL19oh.js} +1 -1
- package/assets/assets/{journeyDiagram-4ABVD52K-cHvgdZfH.js → journeyDiagram-4ABVD52K-DAJZsyfq.js} +1 -1
- package/assets/assets/{jsonMode-CqBN0SKr.js → jsonMode-C7sl2SSU.js} +1 -1
- package/assets/assets/{kanban-definition-K7BYSVSG-BOdC1ppV.js → kanban-definition-K7BYSVSG-DUp9VKtu.js} +1 -1
- package/assets/assets/{layout-CjPJwo23.js → layout-DApJmuN-.js} +1 -1
- package/assets/assets/{liquid-Dmi6j_RS.js → liquid-BH3qeelI.js} +1 -1
- package/assets/assets/{list-HsPczU9B.js → list-BGmpunEt.js} +1 -1
- package/assets/assets/{mdx-CUhMRP6h.js → mdx-cipmsZTJ.js} +1 -1
- package/assets/assets/{mermaid.core-CVIbZZUN.js → mermaid.core-2eXcwV2m.js} +5 -5
- package/assets/assets/{mindmap-definition-YRQLILUH-C7HR3zhx.js → mindmap-definition-YRQLILUH-CdBnvdRO.js} +1 -1
- package/assets/assets/{model-viewer-DDGWhTxL.js → model-viewer-BH8Vjg7q.js} +1 -1
- package/assets/assets/{pieDiagram-SKSYHLDU-CrJaz2WI.js → pieDiagram-SKSYHLDU-BZbEXs1p.js} +1 -1
- package/assets/assets/{python-BThAKS5B.js → python-Gn2hNM0X.js} +1 -1
- package/assets/assets/{quadrantDiagram-337W2JSQ-CT_Qyvwc.js → quadrantDiagram-337W2JSQ-B4OcImxK.js} +1 -1
- package/assets/assets/{razor-DLLQQ61x.js → razor-B3eD6vL1.js} +1 -1
- package/assets/assets/{requirementDiagram-Z7DCOOCP-DgnbnU65.js → requirementDiagram-Z7DCOOCP-mIbVcgwf.js} +1 -1
- package/assets/assets/{sankeyDiagram-WA2Y5GQK-ET7pXSx4.js → sankeyDiagram-WA2Y5GQK-B2X3gvfS.js} +1 -1
- package/assets/assets/{select-DxXmJhya.js → select-q7lCbpf0.js} +1 -1
- package/assets/assets/{sequenceDiagram-2WXFIKYE-CUs-VZ-i.js → sequenceDiagram-2WXFIKYE-BoG7EtST.js} +1 -1
- package/assets/assets/{server-row-CgIAM5UY.js → server-row-WMLwlnIG.js} +1 -1
- package/assets/assets/session-BqnQGct0.css +1 -0
- package/assets/assets/session-XUmGHTo-.js +46 -0
- package/assets/assets/{stateDiagram-RAJIS63D-DLkjpkxR.js → stateDiagram-RAJIS63D-CzNWZs-b.js} +1 -1
- package/assets/assets/stateDiagram-v2-FVOUBMTO-CToeAbmc.js +1 -0
- package/assets/assets/{status-popover-body-DTO1Nt0V.js → status-popover-body-3Lm6IWuX.js} +2 -2
- package/assets/assets/{switch-D4TikNGe.js → switch-BrkQve2o.js} +1 -1
- package/assets/assets/{tabs-b5kQDmsB.js → tabs-BdG2kGES.js} +1 -1
- package/assets/assets/{tag-BHNb4BJv.js → tag-Bs1uTEfX.js} +1 -1
- package/assets/assets/{timeline-definition-YZTLITO2-Bdm1whZ9.js → timeline-definition-YZTLITO2-DYLvkkE8.js} +1 -1
- package/assets/assets/{treemap-KZPCXAKY-DpDSxMOl.js → treemap-KZPCXAKY-CfD3c-LH.js} +1 -1
- package/assets/assets/{trellis-badge-demo-DYt0hA6f.js → trellis-badge-demo-BcKIgU4A.js} +1 -1
- package/assets/assets/{tsMode-BPLjiHaS.js → tsMode-BNJEvaXt.js} +1 -1
- package/assets/assets/{typescript-CLDA3AC1.js → typescript-DlmyeNLo.js} +1 -1
- package/assets/assets/{vennDiagram-LZ73GAT5-CJrGY5gu.js → vennDiagram-LZ73GAT5-D40ClHqU.js} +1 -1
- package/assets/assets/{xlsx-editor-D4RVmOqB.js → xlsx-editor-Da6jDXie.js} +1 -1
- package/assets/assets/{xml-BSsdg4yg.js → xml-DL62UFbL.js} +1 -1
- package/assets/assets/{xychartDiagram-JWTSCODW-Bz5-rqDO.js → xychartDiagram-JWTSCODW-BAiesyAg.js} +1 -1
- package/assets/assets/{yaml-CX9XdbT4.js → yaml-XZ__XnbU.js} +1 -1
- package/assets/index.html +3 -3
- package/bin/cli.mjs +67 -4
- package/package.json +13 -13
- package/assets/assets/channel-lLJpXDom.js +0 -1
- package/assets/assets/classDiagram-VBA2DB6C-DjMycBV4.js +0 -1
- package/assets/assets/classDiagram-v2-RAHNMMFH-DjMycBV4.js +0 -1
- package/assets/assets/clone-g65k7nys.js +0 -1
- package/assets/assets/dialog-select-directory-DeBymOq4.js +0 -6
- package/assets/assets/dialog-settings-BuGykryo.js +0 -1
- package/assets/assets/index-CUuPDPB8.css +0 -6
- package/assets/assets/session-fOsXx5rL.js +0 -56
- package/assets/assets/stateDiagram-v2-FVOUBMTO-CNJAyXac.js +0 -1
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dialog-create-project-CDuD9Ck4.js","assets/index-DMyAFOcC.js","assets/index-CUuPDPB8.css","assets/ghostty-web-CSMOh6gY.js","assets/dialog-manage-models-BwT1iDMG.js","assets/list-HsPczU9B.js","assets/switch-D4TikNGe.js","assets/dialog-select-provider-DCUcnqs5.js","assets/tag-BHNb4BJv.js","assets/dialog-connect-provider-DD-ABicH.js","assets/dialog-select-model-unpaid-BggTZ1GN.js","assets/tabs-b5kQDmsB.js","assets/select-DxXmJhya.js","assets/transform-BwXaE9hv.js","assets/xlsx-editor-D4RVmOqB.js","assets/xlsx-editor-DU1FXj8L.css","assets/model-viewer-DDGWhTxL.js","assets/dialog-select-file-Bl3u-ykG.js","assets/dialog-settings-BuGykryo.js","assets/dialog-select-mcp-CNXlry4I.js","assets/dialog-fork-B_U9B5sC.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{bO as xf,bP as bf,bQ as yf,H as et,O as xe,a7 as ft,P as rt,ag as _t,aE as Yn,a1 as Ke,t as k,h as De,o as Xt,a as rr,aK as Er,u as As,aa as Pr,e as _c,b as Ds,f as At,a4 as Jt,a3 as An,bR as Rr,c as zn,d as Sr,w as Wo,aM as ir,i as _,aN as wf,A as jt,bS as mr,bT as hr,bU as Sc,m as s,bd as fs,B as ot,I as Ne,S as M,bV as Cn,l as d,aH as Di,bE as $f,bG as _i,R as ht,Q as pt,F as ze,J as at,r as Qr,_ as un,bW as Ii,ae as Fi,af as bn,aS as kf,a$ as Cf,b8 as _f,bX as Tc,aT as Sf,aU as Tf,aV as fr,an as Xn,bY as Af,al as Dn,at as Is,bZ as Df,aB as ii,aA as Tn,ax as si,aD as Uo,b_ as If,b9 as Si,ay as Ls,v as Mt,bN as Et,b$ as gt,j as mt,q as ie,$ as ue,s as Je,D as To,ab as Go,c0 as Ir,c1 as Fr,c2 as Ms,c3 as Lf,aL as In,c4 as Es,C as Sn,aJ as sn,n as Ce,c5 as Ac,E as oi,c6 as Ao,bq as Vo,bp as Mf,bu as Da,bz as Ef,c7 as Pf,c8 as Rf,c9 as Dc,Y as zt,b6 as tr,ca as Ff,cb as Do,cc as Ps,a9 as zr,a8 as Ic,cd as eo,ce as pr,cf as Ia,cg as Cr,Z as on,G as Rs,ac as qr,ch as zf,aF as Qt,aG as Ve,V as bt,ci as Of,cj as La,ck as Ko,cl as On,cm as Nf,cn as Ma,co as Bf,cp as Ea,L as gr,cq as nr,cr as Tr,ah as Lc,ai as Mc,aj as qf,ak as Yo,ao as Ec,aq as Pc,ap as zi,ar as Hf,as as jf,au as Rc,aY as Fc,av as Fs,aw as zs,aC as zc,am as ms,X as Wf,az as Uf,cs as Oc,ct as Nc,cu as Bc,cv as Gf,cw as Vf,cx as Kn,cy as Zt,k as ei,cz as Ar,cA as ai,cB as qc,y as Kf,aI as gs,p as Xo,a_ as Yf,cC as Xf,cD as ti,cE as to,cF as Zf,cG as Qf,b3 as Mn,cH as Jf,cI as Os,bI as Hc,bF as eg,cJ as tg,cK as ng,cL as rg,cM as ig,cN as Ti,cO as sg,cP as og,cQ as jc,cR as ag,cS as lg,cT as cg,cU as Ns,cV as dg,U as $n,cW as Zo,cX as hs,cY as ps,cZ as vs,c_ as Or,c$ as Wc,d0 as Pa,d1 as Uc,d2 as Gc,d3 as Vc,d4 as Qo,d5 as Kc,d6 as Yc,d7 as Bs,x as ug,d8 as En,d9 as qs,da as Li,db as Mi,z as Jo,dc as fg,dd as Xc,de as gg,df as mg,dg as hg,dh as pg,di as Zc,dj as vg,dk as Ra,bJ as no,dl as Qc,dm as xg,dn as xs,dp as bg,dq as bs,dr as Fa,ds as yg,dt as wg,du as $g,dv as ea,dw as ta,dx as kg,dy as Cg,dz as _g,dA as Sg,dB as Tg,dC as ys,dD as Ag,dE as Dg,dF as za,dG as Oa,dH as Ig,dI as Lg}from"./index-DMyAFOcC.js";import{c as ws,T as ln}from"./tabs-b5kQDmsB.js";import{S as $s}from"./select-DxXmJhya.js";import{L as Mg,u as Vi}from"./list-HsPczU9B.js";import{T as Na,P as Ba}from"./tag-BHNb4BJv.js";import{s as _n,g as na,t as Eg,j as Fn,T as ro,k as io}from"./transform-BwXaE9hv.js";function ni(e){const t=Math.min(e.start,e.end),n=Math.max(e.start,e.end);return{startLine:t,endLine:n,startChar:0,endChar:0}}function Pg(e,t,n={}){const r=e.get();let i=null,o=r,a;const c=typeof r=="string"?r.replace(/[\d.-]/g,""):void 0,l=()=>{i&&(i.stop(),i=null),e.animation=void 0},u=()=>{const f=qa(e.get()),h=qa(o);if(f===h){l();return}const p=i?i.getGeneratorVelocity():e.getVelocity();l(),i=new yf({keyframes:[f,h],velocity:p,type:"spring",restDelta:.001,restSpeed:.01,...n,onUpdate:a})},g=()=>{u(),e.animation=i??void 0,e.events.animationStart?.notify(),i?.then(()=>{e.animation=void 0,e.events.animationComplete?.notify()})};if(e.attach((f,h)=>{o=f,a=p=>h(so(p,c)),xf.postRender(g)},l),bf(t)){let f=n.skipInitialAnimation===!0;const h=t.on("change",x=>{f?(f=!1,e.jump(so(x,c),!1)):e.set(so(x,c))}),p=e.on("destroy",h);return()=>{h(),p()}}return l}function so(e,t){return t?e+t:e}function qa(e){return typeof e=="number"?e:parseFloat(e)}function Ha(e,t,n){return Pg(e,t,{type:"spring",...n})}function Rg(e){let t;for(;t=e.sourceEvent;)e=t;return e}function dr(e,t){if(e=Rg(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}const Fg={passive:!1},Ei={capture:!0,passive:!1};function oo(e){e.stopImmediatePropagation()}function Jr(e){e.preventDefault(),e.stopImmediatePropagation()}function Jc(e){var t=e.document.documentElement,n=_n(e).on("dragstart.drag",Jr,Ei);"onselectstart"in t?n.on("selectstart.drag",Jr,Ei):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function ed(e,t){var n=e.document.documentElement,r=_n(e).on("dragstart.drag",null);t&&(r.on("click.drag",Jr,Ei),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const Ki=e=>()=>e;function Io(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:a,y:c,dx:l,dy:u,dispatch:g}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:c,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:g}})}Io.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function zg(e){return!e.ctrlKey&&!e.button}function Og(){return this.parentNode}function Ng(e,t){return t??{x:e.x,y:e.y}}function Bg(){return navigator.maxTouchPoints||"ontouchstart"in this}function qg(){var e=zg,t=Og,n=Ng,r=Bg,i={},o=na("start","drag","end"),a=0,c,l,u,g,f=0;function h(y){y.on("mousedown.drag",p).filter(r).on("touchstart.drag",b).on("touchmove.drag",m,Fg).on("touchend.drag touchcancel.drag",$).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(y,S){if(!(g||!e.call(this,y,S))){var C=w(this,t.call(this,y,S),y,S,"mouse");C&&(_n(y.view).on("mousemove.drag",x,Ei).on("mouseup.drag",v,Ei),Jc(y.view),oo(y),u=!1,c=y.clientX,l=y.clientY,C("start",y))}}function x(y){if(Jr(y),!u){var S=y.clientX-c,C=y.clientY-l;u=S*S+C*C>f}i.mouse("drag",y)}function v(y){_n(y.view).on("mousemove.drag mouseup.drag",null),ed(y.view,u),Jr(y),i.mouse("end",y)}function b(y,S){if(e.call(this,y,S)){var C=y.changedTouches,A=t.call(this,y,S),R=C.length,V,N;for(V=0;V<R;++V)(N=w(this,A,y,S,C[V].identifier,C[V]))&&(oo(y),N("start",y,C[V]))}}function m(y){var S=y.changedTouches,C=S.length,A,R;for(A=0;A<C;++A)(R=i[S[A].identifier])&&(Jr(y),R("drag",y,S[A]))}function $(y){var S=y.changedTouches,C=S.length,A,R;for(g&&clearTimeout(g),g=setTimeout(function(){g=null},500),A=0;A<C;++A)(R=i[S[A].identifier])&&(oo(y),R("end",y,S[A]))}function w(y,S,C,A,R,V){var N=o.copy(),B=dr(V||C,S),O,L,T;if((T=n.call(y,new Io("beforestart",{sourceEvent:C,target:h,identifier:R,active:a,x:B[0],y:B[1],dx:0,dy:0,dispatch:N}),A))!=null)return O=T.x-B[0]||0,L=T.y-B[1]||0,function E(P,j,G){var q=B,z;switch(P){case"start":i[R]=E,z=a++;break;case"end":delete i[R],--a;case"drag":B=dr(G||j,S),z=a;break}N.call(P,y,new Io(P,{sourceEvent:j,subject:T,target:h,identifier:R,active:z,x:B[0]+O,y:B[1]+L,dx:B[0]-q[0],dy:B[1]-q[1],dispatch:N}),A)}}return h.filter=function(y){return arguments.length?(e=typeof y=="function"?y:Ki(!!y),h):e},h.container=function(y){return arguments.length?(t=typeof y=="function"?y:Ki(y),h):t},h.subject=function(y){return arguments.length?(n=typeof y=="function"?y:Ki(y),h):n},h.touchable=function(y){return arguments.length?(r=typeof y=="function"?y:Ki(!!y),h):r},h.on=function(){var y=o.on.apply(o,arguments);return y===o?h:y},h.clickDistance=function(y){return arguments.length?(f=(y=+y)*y,h):Math.sqrt(f)},h}var Hg=1e-12;function ja(e){return((e=Math.exp(e))+1/e)/2}function jg(e){return((e=Math.exp(e))-1/e)/2}function Wg(e){return((e=Math.exp(2*e))-1)/(e+1)}const Ug=(function e(t,n,r){function i(o,a){var c=o[0],l=o[1],u=o[2],g=a[0],f=a[1],h=a[2],p=g-c,x=f-l,v=p*p+x*x,b,m;if(v<Hg)m=Math.log(h/u)/t,b=function(A){return[c+A*p,l+A*x,u*Math.exp(t*A*m)]};else{var $=Math.sqrt(v),w=(h*h-u*u+r*v)/(2*u*n*$),y=(h*h-u*u-r*v)/(2*h*n*$),S=Math.log(Math.sqrt(w*w+1)-w),C=Math.log(Math.sqrt(y*y+1)-y);m=(C-S)/t,b=function(A){var R=A*m,V=ja(S),N=u/(n*$)*(V*Wg(t*R+S)-jg(S));return[c+N*p,l+N*x,u*V/ja(t*R+S)]}}return b.duration=m*1e3*t/Math.SQRT2,b}return i.rho=function(o){var a=Math.max(.001,+o),c=a*a,l=c*c;return e(a,c,l)},i})(Math.SQRT2,2,4);function td(e,t){var n,r=1;e==null&&(e=0),t==null&&(t=0);function i(){var o,a=n.length,c,l=0,u=0;for(o=0;o<a;++o)c=n[o],l+=c.x,u+=c.y;for(l=(l/a-e)*r,u=(u/a-t)*r,o=0;o<a;++o)c=n[o],c.x-=l,c.y-=u}return i.initialize=function(o){n=o},i.x=function(o){return arguments.length?(e=+o,i):e},i.y=function(o){return arguments.length?(t=+o,i):t},i.strength=function(o){return arguments.length?(r=+o,i):r},i}function Gg(e){const t=+this._x.call(null,e),n=+this._y.call(null,e);return nd(this.cover(t,n),t,n,e)}function nd(e,t,n,r){if(isNaN(t)||isNaN(n))return e;var i,o=e._root,a={data:r},c=e._x0,l=e._y0,u=e._x1,g=e._y1,f,h,p,x,v,b,m,$;if(!o)return e._root=a,e;for(;o.length;)if((v=t>=(f=(c+u)/2))?c=f:u=f,(b=n>=(h=(l+g)/2))?l=h:g=h,i=o,!(o=o[m=b<<1|v]))return i[m]=a,e;if(p=+e._x.call(null,o.data),x=+e._y.call(null,o.data),t===p&&n===x)return a.next=o,i?i[m]=a:e._root=a,e;do i=i?i[m]=new Array(4):e._root=new Array(4),(v=t>=(f=(c+u)/2))?c=f:u=f,(b=n>=(h=(l+g)/2))?l=h:g=h;while((m=b<<1|v)===($=(x>=h)<<1|p>=f));return i[$]=o,i[m]=a,e}function Vg(e){var t,n,r=e.length,i,o,a=new Array(r),c=new Array(r),l=1/0,u=1/0,g=-1/0,f=-1/0;for(n=0;n<r;++n)isNaN(i=+this._x.call(null,t=e[n]))||isNaN(o=+this._y.call(null,t))||(a[n]=i,c[n]=o,i<l&&(l=i),i>g&&(g=i),o<u&&(u=o),o>f&&(f=o));if(l>g||u>f)return this;for(this.cover(l,u).cover(g,f),n=0;n<r;++n)nd(this,a[n],c[n],e[n]);return this}function Kg(e,t){if(isNaN(e=+e)||isNaN(t=+t))return this;var n=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(n))i=(n=Math.floor(e))+1,o=(r=Math.floor(t))+1;else{for(var a=i-n||1,c=this._root,l,u;n>e||e>=i||r>t||t>=o;)switch(u=(t<r)<<1|e<n,l=new Array(4),l[u]=c,c=l,a*=2,u){case 0:i=n+a,o=r+a;break;case 1:n=i-a,o=r+a;break;case 2:i=n+a,r=o-a;break;case 3:n=i-a,r=o-a;break}this._root&&this._root.length&&(this._root=c)}return this._x0=n,this._y0=r,this._x1=i,this._y1=o,this}function Yg(){var e=[];return this.visit(function(t){if(!t.length)do e.push(t.data);while(t=t.next)}),e}function Xg(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function xn(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}function Zg(e,t,n){var r,i=this._x0,o=this._y0,a,c,l,u,g=this._x1,f=this._y1,h=[],p=this._root,x,v;for(p&&h.push(new xn(p,i,o,g,f)),n==null?n=1/0:(i=e-n,o=t-n,g=e+n,f=t+n,n*=n);x=h.pop();)if(!(!(p=x.node)||(a=x.x0)>g||(c=x.y0)>f||(l=x.x1)<i||(u=x.y1)<o))if(p.length){var b=(a+l)/2,m=(c+u)/2;h.push(new xn(p[3],b,m,l,u),new xn(p[2],a,m,b,u),new xn(p[1],b,c,l,m),new xn(p[0],a,c,b,m)),(v=(t>=m)<<1|e>=b)&&(x=h[h.length-1],h[h.length-1]=h[h.length-1-v],h[h.length-1-v]=x)}else{var $=e-+this._x.call(null,p.data),w=t-+this._y.call(null,p.data),y=$*$+w*w;if(y<n){var S=Math.sqrt(n=y);i=e-S,o=t-S,g=e+S,f=t+S,r=p.data}}return r}function Qg(e){if(isNaN(g=+this._x.call(null,e))||isNaN(f=+this._y.call(null,e)))return this;var t,n=this._root,r,i,o,a=this._x0,c=this._y0,l=this._x1,u=this._y1,g,f,h,p,x,v,b,m;if(!n)return this;if(n.length)for(;;){if((x=g>=(h=(a+l)/2))?a=h:l=h,(v=f>=(p=(c+u)/2))?c=p:u=p,t=n,!(n=n[b=v<<1|x]))return this;if(!n.length)break;(t[b+1&3]||t[b+2&3]||t[b+3&3])&&(r=t,m=b)}for(;n.data!==e;)if(i=n,!(n=n.next))return this;return(o=n.next)&&delete n.next,i?(o?i.next=o:delete i.next,this):t?(o?t[b]=o:delete t[b],(n=t[0]||t[1]||t[2]||t[3])&&n===(t[3]||t[2]||t[1]||t[0])&&!n.length&&(r?r[m]=n:this._root=n),this):(this._root=o,this)}function Jg(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this}function em(){return this._root}function tm(){var e=0;return this.visit(function(t){if(!t.length)do++e;while(t=t.next)}),e}function nm(e){var t=[],n,r=this._root,i,o,a,c,l;for(r&&t.push(new xn(r,this._x0,this._y0,this._x1,this._y1));n=t.pop();)if(!e(r=n.node,o=n.x0,a=n.y0,c=n.x1,l=n.y1)&&r.length){var u=(o+c)/2,g=(a+l)/2;(i=r[3])&&t.push(new xn(i,u,g,c,l)),(i=r[2])&&t.push(new xn(i,o,g,u,l)),(i=r[1])&&t.push(new xn(i,u,a,c,g)),(i=r[0])&&t.push(new xn(i,o,a,u,g))}return this}function rm(e){var t=[],n=[],r;for(this._root&&t.push(new xn(this._root,this._x0,this._y0,this._x1,this._y1));r=t.pop();){var i=r.node;if(i.length){var o,a=r.x0,c=r.y0,l=r.x1,u=r.y1,g=(a+l)/2,f=(c+u)/2;(o=i[0])&&t.push(new xn(o,a,c,g,f)),(o=i[1])&&t.push(new xn(o,g,c,l,f)),(o=i[2])&&t.push(new xn(o,a,f,g,u)),(o=i[3])&&t.push(new xn(o,g,f,l,u))}n.push(r)}for(;r=n.pop();)e(r.node,r.x0,r.y0,r.x1,r.y1);return this}function im(e){return e[0]}function sm(e){return arguments.length?(this._x=e,this):this._x}function om(e){return e[1]}function am(e){return arguments.length?(this._y=e,this):this._y}function ra(e,t,n){var r=new ia(t??im,n??om,NaN,NaN,NaN,NaN);return e==null?r:r.addAll(e)}function ia(e,t,n,r,i,o){this._x=e,this._y=t,this._x0=n,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function Wa(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var yn=ra.prototype=ia.prototype;yn.copy=function(){var e=new ia(this._x,this._y,this._x0,this._y0,this._x1,this._y1),t=this._root,n,r;if(!t)return e;if(!t.length)return e._root=Wa(t),e;for(n=[{source:t,target:e._root=new Array(4)}];t=n.pop();)for(var i=0;i<4;++i)(r=t.source[i])&&(r.length?n.push({source:r,target:t.target[i]=new Array(4)}):t.target[i]=Wa(r));return e};yn.add=Gg;yn.addAll=Vg;yn.cover=Kg;yn.data=Yg;yn.extent=Xg;yn.find=Zg;yn.remove=Qg;yn.removeAll=Jg;yn.root=em;yn.size=tm;yn.visit=nm;yn.visitAfter=rm;yn.x=sm;yn.y=am;function Lr(e){return function(){return e}}function _r(e){return(e()-.5)*1e-6}function lm(e){return e.x+e.vx}function cm(e){return e.y+e.vy}function rd(e){var t,n,r,i=1,o=1;typeof e!="function"&&(e=Lr(e==null?1:+e));function a(){for(var u,g=t.length,f,h,p,x,v,b,m=0;m<o;++m)for(f=ra(t,lm,cm).visitAfter(c),u=0;u<g;++u)h=t[u],v=n[h.index],b=v*v,p=h.x+h.vx,x=h.y+h.vy,f.visit($);function $(w,y,S,C,A){var R=w.data,V=w.r,N=v+V;if(R){if(R.index>h.index){var B=p-R.x-R.vx,O=x-R.y-R.vy,L=B*B+O*O;L<N*N&&(B===0&&(B=_r(r),L+=B*B),O===0&&(O=_r(r),L+=O*O),L=(N-(L=Math.sqrt(L)))/L*i,h.vx+=(B*=L)*(N=(V*=V)/(b+V)),h.vy+=(O*=L)*N,R.vx-=B*(N=1-N),R.vy-=O*N)}return}return y>p+N||C<p-N||S>x+N||A<x-N}}function c(u){if(u.data)return u.r=n[u.data.index];for(var g=u.r=0;g<4;++g)u[g]&&u[g].r>u.r&&(u.r=u[g].r)}function l(){if(t){var u,g=t.length,f;for(n=new Array(g),u=0;u<g;++u)f=t[u],n[f.index]=+e(f,u,t)}}return a.initialize=function(u,g){t=u,r=g,l()},a.iterations=function(u){return arguments.length?(o=+u,a):o},a.strength=function(u){return arguments.length?(i=+u,a):i},a.radius=function(u){return arguments.length?(e=typeof u=="function"?u:Lr(+u),l(),a):e},a}function dm(e){return e.index}function Ua(e,t){var n=e.get(t);if(!n)throw new Error("node not found: "+t);return n}function id(e){var t=dm,n=f,r,i=Lr(30),o,a,c,l,u,g=1;e==null&&(e=[]);function f(b){return 1/Math.min(c[b.source.index],c[b.target.index])}function h(b){for(var m=0,$=e.length;m<g;++m)for(var w=0,y,S,C,A,R,V,N;w<$;++w)y=e[w],S=y.source,C=y.target,A=C.x+C.vx-S.x-S.vx||_r(u),R=C.y+C.vy-S.y-S.vy||_r(u),V=Math.sqrt(A*A+R*R),V=(V-o[w])/V*b*r[w],A*=V,R*=V,C.vx-=A*(N=l[w]),C.vy-=R*N,S.vx+=A*(N=1-N),S.vy+=R*N}function p(){if(a){var b,m=a.length,$=e.length,w=new Map(a.map((S,C)=>[t(S,C,a),S])),y;for(b=0,c=new Array(m);b<$;++b)y=e[b],y.index=b,typeof y.source!="object"&&(y.source=Ua(w,y.source)),typeof y.target!="object"&&(y.target=Ua(w,y.target)),c[y.source.index]=(c[y.source.index]||0)+1,c[y.target.index]=(c[y.target.index]||0)+1;for(b=0,l=new Array($);b<$;++b)y=e[b],l[b]=c[y.source.index]/(c[y.source.index]+c[y.target.index]);r=new Array($),x(),o=new Array($),v()}}function x(){if(a)for(var b=0,m=e.length;b<m;++b)r[b]=+n(e[b],b,e)}function v(){if(a)for(var b=0,m=e.length;b<m;++b)o[b]=+i(e[b],b,e)}return h.initialize=function(b,m){a=b,u=m,p()},h.links=function(b){return arguments.length?(e=b,p(),h):e},h.id=function(b){return arguments.length?(t=b,h):t},h.iterations=function(b){return arguments.length?(g=+b,h):g},h.strength=function(b){return arguments.length?(n=typeof b=="function"?b:Lr(+b),x(),h):n},h.distance=function(b){return arguments.length?(i=typeof b=="function"?b:Lr(+b),v(),h):i},h}const um=1664525,fm=1013904223,Ga=4294967296;function gm(){let e=1;return()=>(e=(um*e+fm)%Ga)/Ga}function mm(e){return e.x}function hm(e){return e.y}var pm=10,vm=Math.PI*(3-Math.sqrt(5));function sd(e){var t,n=1,r=.001,i=1-Math.pow(r,1/300),o=0,a=.6,c=new Map,l=Eg(f),u=na("tick","end"),g=gm();e==null&&(e=[]);function f(){h(),u.call("tick",t),n<r&&(l.stop(),u.call("end",t))}function h(v){var b,m=e.length,$;v===void 0&&(v=1);for(var w=0;w<v;++w)for(n+=(o-n)*i,c.forEach(function(y){y(n)}),b=0;b<m;++b)$=e[b],$.fx==null?$.x+=$.vx*=a:($.x=$.fx,$.vx=0),$.fy==null?$.y+=$.vy*=a:($.y=$.fy,$.vy=0);return t}function p(){for(var v=0,b=e.length,m;v<b;++v){if(m=e[v],m.index=v,m.fx!=null&&(m.x=m.fx),m.fy!=null&&(m.y=m.fy),isNaN(m.x)||isNaN(m.y)){var $=pm*Math.sqrt(.5+v),w=v*vm;m.x=$*Math.cos(w),m.y=$*Math.sin(w)}(isNaN(m.vx)||isNaN(m.vy))&&(m.vx=m.vy=0)}}function x(v){return v.initialize&&v.initialize(e,g),v}return p(),t={tick:h,restart:function(){return l.restart(f),t},stop:function(){return l.stop(),t},nodes:function(v){return arguments.length?(e=v,p(),c.forEach(x),t):e},alpha:function(v){return arguments.length?(n=+v,t):n},alphaMin:function(v){return arguments.length?(r=+v,t):r},alphaDecay:function(v){return arguments.length?(i=+v,t):+i},alphaTarget:function(v){return arguments.length?(o=+v,t):o},velocityDecay:function(v){return arguments.length?(a=1-v,t):1-a},randomSource:function(v){return arguments.length?(g=v,c.forEach(x),t):g},force:function(v,b){return arguments.length>1?(b==null?c.delete(v):c.set(v,x(b)),t):c.get(v)},find:function(v,b,m){var $=0,w=e.length,y,S,C,A,R;for(m==null?m=1/0:m*=m,$=0;$<w;++$)A=e[$],y=v-A.x,S=b-A.y,C=y*y+S*S,C<m&&(R=A,m=C);return R},on:function(v,b){return arguments.length>1?(u.on(v,b),t):u.on(v)}}}function od(){var e,t,n,r,i=Lr(-30),o,a=1,c=1/0,l=.81;function u(p){var x,v=e.length,b=ra(e,mm,hm).visitAfter(f);for(r=p,x=0;x<v;++x)t=e[x],b.visit(h)}function g(){if(e){var p,x=e.length,v;for(o=new Array(x),p=0;p<x;++p)v=e[p],o[v.index]=+i(v,p,e)}}function f(p){var x=0,v,b,m=0,$,w,y;if(p.length){for($=w=y=0;y<4;++y)(v=p[y])&&(b=Math.abs(v.value))&&(x+=v.value,m+=b,$+=b*v.x,w+=b*v.y);p.x=$/m,p.y=w/m}else{v=p,v.x=v.data.x,v.y=v.data.y;do x+=o[v.data.index];while(v=v.next)}p.value=x}function h(p,x,v,b){if(!p.value)return!0;var m=p.x-t.x,$=p.y-t.y,w=b-x,y=m*m+$*$;if(w*w/l<y)return y<c&&(m===0&&(m=_r(n),y+=m*m),$===0&&($=_r(n),y+=$*$),y<a&&(y=Math.sqrt(a*y)),t.vx+=m*p.value*r/y,t.vy+=$*p.value*r/y),!0;if(p.length||y>=c)return;(p.data!==t||p.next)&&(m===0&&(m=_r(n),y+=m*m),$===0&&($=_r(n),y+=$*$),y<a&&(y=Math.sqrt(a*y)));do p.data!==t&&(w=o[p.data.index]*r/y,t.vx+=m*w,t.vy+=$*w);while(p=p.next)}return u.initialize=function(p,x){e=p,n=x,g()},u.strength=function(p){return arguments.length?(i=typeof p=="function"?p:Lr(+p),g(),u):i},u.distanceMin=function(p){return arguments.length?(a=p*p,u):Math.sqrt(a)},u.distanceMax=function(p){return arguments.length?(c=p*p,u):Math.sqrt(c)},u.theta=function(p){return arguments.length?(l=p*p,u):Math.sqrt(l)},u}const Yi=e=>()=>e;function xm(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function ao(e){e.stopImmediatePropagation()}function gi(e){e.preventDefault(),e.stopImmediatePropagation()}function bm(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function ym(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Va(){return this.__zoom||Fn}function wm(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function $m(){return navigator.maxTouchPoints||"ontouchstart"in this}function km(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function ad(){var e=bm,t=ym,n=km,r=wm,i=$m,o=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],c=250,l=Ug,u=na("start","zoom","end"),g,f,h,p=500,x=150,v=0,b=10;function m(T){T.property("__zoom",Va).on("wheel.zoom",R,{passive:!1}).on("mousedown.zoom",V).on("dblclick.zoom",N).filter(i).on("touchstart.zoom",B).on("touchmove.zoom",O).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}m.transform=function(T,E,P,j){var G=T.selection?T.selection():T;G.property("__zoom",Va),T!==G?S(T,E,P,j):G.interrupt().each(function(){C(this,arguments).event(j).start().zoom(null,typeof E=="function"?E.apply(this,arguments):E).end()})},m.scaleBy=function(T,E,P,j){m.scaleTo(T,function(){var G=this.__zoom.k,q=typeof E=="function"?E.apply(this,arguments):E;return G*q},P,j)},m.scaleTo=function(T,E,P,j){m.transform(T,function(){var G=t.apply(this,arguments),q=this.__zoom,z=P==null?y(G):typeof P=="function"?P.apply(this,arguments):P,F=q.invert(z),Z=typeof E=="function"?E.apply(this,arguments):E;return n(w($(q,Z),z,F),G,a)},P,j)},m.translateBy=function(T,E,P,j){m.transform(T,function(){return n(this.__zoom.translate(typeof E=="function"?E.apply(this,arguments):E,typeof P=="function"?P.apply(this,arguments):P),t.apply(this,arguments),a)},null,j)},m.translateTo=function(T,E,P,j,G){m.transform(T,function(){var q=t.apply(this,arguments),z=this.__zoom,F=j==null?y(q):typeof j=="function"?j.apply(this,arguments):j;return n(Fn.translate(F[0],F[1]).scale(z.k).translate(typeof E=="function"?-E.apply(this,arguments):-E,typeof P=="function"?-P.apply(this,arguments):-P),q,a)},j,G)};function $(T,E){return E=Math.max(o[0],Math.min(o[1],E)),E===T.k?T:new ro(E,T.x,T.y)}function w(T,E,P){var j=E[0]-P[0]*T.k,G=E[1]-P[1]*T.k;return j===T.x&&G===T.y?T:new ro(T.k,j,G)}function y(T){return[(+T[0][0]+ +T[1][0])/2,(+T[0][1]+ +T[1][1])/2]}function S(T,E,P,j){T.on("start.zoom",function(){C(this,arguments).event(j).start()}).on("interrupt.zoom end.zoom",function(){C(this,arguments).event(j).end()}).tween("zoom",function(){var G=this,q=arguments,z=C(G,q).event(j),F=t.apply(G,q),Z=P==null?y(F):typeof P=="function"?P.apply(G,q):P,U=Math.max(F[1][0]-F[0][0],F[1][1]-F[0][1]),se=G.__zoom,he=typeof E=="function"?E.apply(G,q):E,ee=l(se.invert(Z).concat(U/se.k),he.invert(Z).concat(U/he.k));return function(oe){if(oe===1)oe=he;else{var ae=ee(oe),fe=U/ae[2];oe=new ro(fe,Z[0]-ae[0]*fe,Z[1]-ae[1]*fe)}z.zoom(null,oe)}})}function C(T,E,P){return!P&&T.__zooming||new A(T,E)}function A(T,E){this.that=T,this.args=E,this.active=0,this.sourceEvent=null,this.extent=t.apply(T,E),this.taps=0}A.prototype={event:function(T){return T&&(this.sourceEvent=T),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(T,E){return this.mouse&&T!=="mouse"&&(this.mouse[1]=E.invert(this.mouse[0])),this.touch0&&T!=="touch"&&(this.touch0[1]=E.invert(this.touch0[0])),this.touch1&&T!=="touch"&&(this.touch1[1]=E.invert(this.touch1[0])),this.that.__zoom=E,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(T){var E=_n(this.that).datum();u.call(T,this.that,new xm(T,{sourceEvent:this.sourceEvent,target:m,transform:this.that.__zoom,dispatch:u}),E)}};function R(T,...E){if(!e.apply(this,arguments))return;var P=C(this,E).event(T),j=this.__zoom,G=Math.max(o[0],Math.min(o[1],j.k*Math.pow(2,r.apply(this,arguments)))),q=dr(T);if(P.wheel)(P.mouse[0][0]!==q[0]||P.mouse[0][1]!==q[1])&&(P.mouse[1]=j.invert(P.mouse[0]=q)),clearTimeout(P.wheel);else{if(j.k===G)return;P.mouse=[q,j.invert(q)],io(this),P.start()}gi(T),P.wheel=setTimeout(z,x),P.zoom("mouse",n(w($(j,G),P.mouse[0],P.mouse[1]),P.extent,a));function z(){P.wheel=null,P.end()}}function V(T,...E){if(h||!e.apply(this,arguments))return;var P=T.currentTarget,j=C(this,E,!0).event(T),G=_n(T.view).on("mousemove.zoom",Z,!0).on("mouseup.zoom",U,!0),q=dr(T,P),z=T.clientX,F=T.clientY;Jc(T.view),ao(T),j.mouse=[q,this.__zoom.invert(q)],io(this),j.start();function Z(se){if(gi(se),!j.moved){var he=se.clientX-z,ee=se.clientY-F;j.moved=he*he+ee*ee>v}j.event(se).zoom("mouse",n(w(j.that.__zoom,j.mouse[0]=dr(se,P),j.mouse[1]),j.extent,a))}function U(se){G.on("mousemove.zoom mouseup.zoom",null),ed(se.view,j.moved),gi(se),j.event(se).end()}}function N(T,...E){if(e.apply(this,arguments)){var P=this.__zoom,j=dr(T.changedTouches?T.changedTouches[0]:T,this),G=P.invert(j),q=P.k*(T.shiftKey?.5:2),z=n(w($(P,q),j,G),t.apply(this,E),a);gi(T),c>0?_n(this).transition().duration(c).call(S,z,j,T):_n(this).call(m.transform,z,j,T)}}function B(T,...E){if(e.apply(this,arguments)){var P=T.touches,j=P.length,G=C(this,E,T.changedTouches.length===j).event(T),q,z,F,Z;for(ao(T),z=0;z<j;++z)F=P[z],Z=dr(F,this),Z=[Z,this.__zoom.invert(Z),F.identifier],G.touch0?!G.touch1&&G.touch0[2]!==Z[2]&&(G.touch1=Z,G.taps=0):(G.touch0=Z,q=!0,G.taps=1+!!g);g&&(g=clearTimeout(g)),q&&(G.taps<2&&(f=Z[0],g=setTimeout(function(){g=null},p)),io(this),G.start())}}function O(T,...E){if(this.__zooming){var P=C(this,E).event(T),j=T.changedTouches,G=j.length,q,z,F,Z;for(gi(T),q=0;q<G;++q)z=j[q],F=dr(z,this),P.touch0&&P.touch0[2]===z.identifier?P.touch0[0]=F:P.touch1&&P.touch1[2]===z.identifier&&(P.touch1[0]=F);if(z=P.that.__zoom,P.touch1){var U=P.touch0[0],se=P.touch0[1],he=P.touch1[0],ee=P.touch1[1],oe=(oe=he[0]-U[0])*oe+(oe=he[1]-U[1])*oe,ae=(ae=ee[0]-se[0])*ae+(ae=ee[1]-se[1])*ae;z=$(z,Math.sqrt(oe/ae)),F=[(U[0]+he[0])/2,(U[1]+he[1])/2],Z=[(se[0]+ee[0])/2,(se[1]+ee[1])/2]}else if(P.touch0)F=P.touch0[0],Z=P.touch0[1];else return;P.zoom("touch",n(w(z,F,Z),P.extent,a))}}function L(T,...E){if(this.__zooming){var P=C(this,E).event(T),j=T.changedTouches,G=j.length,q,z;for(ao(T),h&&clearTimeout(h),h=setTimeout(function(){h=null},p),q=0;q<G;++q)z=j[q],P.touch0&&P.touch0[2]===z.identifier?delete P.touch0:P.touch1&&P.touch1[2]===z.identifier&&delete P.touch1;if(P.touch1&&!P.touch0&&(P.touch0=P.touch1,delete P.touch1),P.touch0)P.touch0[1]=this.__zoom.invert(P.touch0[0]);else if(P.end(),P.taps===2&&(z=dr(z,this),Math.hypot(f[0]-z[0],f[1]-z[1])<b)){var F=_n(this).on("dblclick.zoom");F&&F.apply(this,arguments)}}}return m.wheelDelta=function(T){return arguments.length?(r=typeof T=="function"?T:Yi(+T),m):r},m.filter=function(T){return arguments.length?(e=typeof T=="function"?T:Yi(!!T),m):e},m.touchable=function(T){return arguments.length?(i=typeof T=="function"?T:Yi(!!T),m):i},m.extent=function(T){return arguments.length?(t=typeof T=="function"?T:Yi([[+T[0][0],+T[0][1]],[+T[1][0],+T[1][1]]]),m):t},m.scaleExtent=function(T){return arguments.length?(o[0]=+T[0],o[1]=+T[1],m):[o[0],o[1]]},m.translateExtent=function(T){return arguments.length?(a[0][0]=+T[0][0],a[1][0]=+T[1][0],a[0][1]=+T[0][1],a[1][1]=+T[1][1],m):[[a[0][0],a[0][1]],[a[1][0],a[1][1]]]},m.constrain=function(T){return arguments.length?(n=T,m):n},m.duration=function(T){return arguments.length?(c=+T,m):c},m.interpolate=function(T){return arguments.length?(l=T,m):l},m.on=function(){var T=u.on.apply(u,arguments);return T===u?m:T},m.clickDistance=function(T){return arguments.length?(v=(T=+T)*T,m):Math.sqrt(v)},m.tapDistance=function(T){return arguments.length?(b=+T,m):b},m}function ld(e){let t,n=!1,r,i,o,a;const c=()=>e.bottomThreshold??10,[l,u]=et({contentRef:void 0,userScrolled:!1}),g=()=>e.working()||n,f=C=>C.scrollHeight-C.clientHeight-C.scrollTop,h=C=>C.scrollHeight-C.clientHeight>1,p=C=>{a={top:Math.max(0,C.scrollHeight-C.clientHeight),time:Date.now()},i&&clearTimeout(i),i=setTimeout(()=>{a=void 0,i=void 0},1500)},x=C=>{const A=a;return A?Date.now()-A.time>1500?(a=void 0,!1):Math.abs(C.scrollTop-A.top)<2:!1},v=C=>{const A=t;A&&(p(A),A.scrollTop=A.scrollHeight)},b=C=>{if(!C&&!g())return;C&&l.userScrolled&&u("userScrolled",!1);const A=t;if(!A||!C&&l.userScrolled)return;if(f(A)<2){p(A);return}v()},m=()=>{const C=t;if(C){if(!h(C)){l.userScrolled&&u("userScrolled",!1);return}l.userScrolled||(u("userScrolled",!0),e.onUserInteracted?.())}},$=C=>{if(C.deltaY>=0)return;const A=t,V=(C.target instanceof Element?C.target:void 0)?.closest("[data-scrollable]");A&&V&&V!==A||m()},w=()=>{const C=t;if(C){if(!h(C)){l.userScrolled&&u("userScrolled",!1);return}if(f(C)<c()){l.userScrolled&&u("userScrolled",!1);return}if(!l.userScrolled&&x(C)){b(!1);return}m()}},y=()=>{if(!g())return;const C=window.getSelection();C&&C.toString().length>0&&m()},S=C=>{const A=e.overflowAnchor??"dynamic";if(A==="none"){C.style.overflowAnchor="none";return}if(A==="auto"){C.style.overflowAnchor="auto";return}C.style.overflowAnchor=l.userScrolled?"auto":"none"};return ws(()=>l.contentRef,()=>{const C=t;if(C&&!h(C)){l.userScrolled&&u("userScrolled",!1);return}g()&&(l.userScrolled||b(!1))}),xe(ft(e.working,C=>{if(n=!1,r&&clearTimeout(r),r=void 0,C){l.userScrolled||b(!0);return}n=!0,r=setTimeout(()=>{n=!1},300)})),xe(()=>{l.userScrolled;const C=t;C&&S(C)}),rt(()=>{r&&clearTimeout(r),i&&clearTimeout(i),o&&o()}),{scrollRef:C=>{o&&(o(),o=void 0),t=C,C&&(S(C),C.addEventListener("wheel",$,{passive:!0}),o=()=>{C.removeEventListener("wheel",$)})},contentRef:C=>u("contentRef",C),handleScroll:w,handleInteraction:y,pause:m,resume:()=>{l.userScrolled&&u("userScrolled",!1),b(!0)},scrollToBottom:()=>b(!1),forceScrollToBottom:()=>b(!0),userScrolled:()=>l.userScrolled}}var Cm=k("<div>");function Oi(e){const[t,n]=_t(e,["direction","edge","size","min","max","onResize","onCollapse","collapseThreshold","class","classList"]),r=i=>{i.preventDefault();const o=t.edge??(t.direction==="vertical"?"start":"end"),a=t.direction==="horizontal"?i.clientX:i.clientY,c=t.size;let l=c;document.body.style.userSelect="none",document.body.style.overflow="hidden";const u=f=>{const h=t.direction==="horizontal"?f.clientX:f.clientY,p=t.direction==="vertical"?o==="end"?h-a:a-h:o==="start"?a-h:h-a;l=c+p;const x=Math.min(t.max,Math.max(t.min,l));t.onResize(x)},g=()=>{document.body.style.userSelect="",document.body.style.overflow="",document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",g);const f=t.collapseThreshold??0;t.onCollapse&&f>0&&l<f&&t.onCollapse()};document.addEventListener("mousemove",u),document.addEventListener("mouseup",g)};return(()=>{var i=Cm();return Yn(i,Ke(n,{"data-component":"resize-handle",get"data-direction"(){return t.direction},get"data-edge"(){return t.edge??(t.direction==="vertical"?"start":"end")},get classList(){return{...t.classList??{},[t.class??""]:!!t.class}},onMouseDown:r}),!1,!1),i})()}const _m="/assets/android-studio-t3zZ7G0e.svg",Sm="/assets/antigravity-m-mWKI7R.svg",Tm="data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5436_78947)'%3e%3cmask%20id='mask0_5436_78947'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='4'%20y='4'%20width='32'%20height='32'%3e%3cpath%20d='M4%204H36V36H4V4Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_5436_78947)'%3e%3cpath%20d='M28.375%204H11.625C7.41383%204%204%207.41383%204%2011.625V28.375C4%2032.5862%207.41383%2036%2011.625%2036H28.375C32.5862%2036%2036%2032.5862%2036%2028.375V11.625C36%207.41383%2032.5862%204%2028.375%204Z'%20fill='black'/%3e%3c/g%3e%3cpath%20d='M29.6214%2014.2072L20.9502%209.12249C20.6718%208.95917%2020.3282%208.95917%2020.0498%209.12249L11.3786%2014.2072C11.1445%2014.3445%2011%2014.5984%2011%2014.8733V25.1267C11%2025.4012%2011.1445%2025.6555%2011.3786%2025.7928L20.0498%2030.8775C20.3282%2031.0408%2020.6718%2031.0408%2020.9502%2030.8775L29.6214%2025.7928C29.8555%2025.6555%2030%2025.4016%2030%2025.1267V14.8733C30%2014.5988%2029.8555%2014.3445%2029.6214%2014.2072ZM29.0767%2015.2843L20.706%2030.0101C20.6494%2030.1093%2020.5%2030.0688%2020.5%2029.9538V20.3115C20.5%2020.1189%2020.3986%2019.9407%2020.2342%2019.8439L12.0124%2015.0226C11.9147%2014.9651%2011.9546%2014.8134%2012.0678%2014.8134H28.8093C29.047%2014.8134%2029.1956%2015.0751%2029.0767%2015.2843Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_5436_78947'%3e%3crect%20width='32'%20height='32'%20fill='white'%20transform='translate(4%204)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",Am="data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M16.2414%208.05369L14.955%206.65636C14.7646%206.44946%2014.5333%206.2843%2014.2757%206.17133C14.0182%206.05836%2013.7401%206.00002%2013.4588%206H4.86684C4.753%205.99995%204.64025%206.02234%204.53506%206.06589C4.42987%206.10944%204.33429%206.17329%204.25379%206.25379C4.17329%206.33429%204.10944%206.42987%204.06589%206.53506C4.02234%206.64025%203.99995%206.753%204%206.86684V12.8779L4.04302%2012.8825C4.10268%2012.6706%204.22985%2012.4839%204.40523%2012.3508C4.5806%2012.2177%204.7946%2012.1455%205.01476%2012.1451H13.189C14.3506%2012.1451%2015.4795%2011.6366%2016.1675%2010.7004C16.5166%2010.2255%2016.9726%209.83942%2017.4985%209.57327C18.0244%209.30713%2018.6056%209.16842%2019.195%209.16836H34.9852C35.2544%209.16836%2035.5125%209.27527%2035.7028%209.46557C35.8931%209.65587%2036%209.91398%2036%2010.1831V8.99058C36%208.77152%2035.913%208.56144%2035.7581%208.40654C35.6032%208.25164%2035.3931%208.16462%2035.174%208.16462H16.4953C16.4476%208.16469%2016.4004%208.15486%2016.3567%208.13577C16.313%208.11667%2016.2738%208.08873%2016.2414%208.05369Z'%20fill='url(%23paint0_linear_5437_79060)'/%3e%3cpath%20d='M16.2002%2010.3751C15.8497%2010.8375%2015.397%2011.2125%2014.8774%2011.4707C14.3579%2011.7289%2013.7855%2011.8634%2013.2053%2011.8634H5.01476C4.88147%2011.8634%204.74948%2011.8897%204.62634%2011.9407C4.5032%2011.9917%204.39132%2012.0665%204.29709%2012.1608C4.20286%2012.255%204.12812%2012.3669%204.07714%2012.4901C4.02617%2012.6133%203.99995%2012.7453%204%2012.8785V32.4302C4%2032.6993%204.10691%2032.9574%204.29722%2033.1477C4.48752%2033.338%204.74563%2033.4449%205.01476%2033.4449H34.9852C35.2544%2033.4449%2035.5125%2033.338%2035.7028%2033.1477C35.8931%2032.9574%2036%2032.6993%2036%2032.4302V9.90147C36%209.63234%2035.8931%209.37424%2035.7028%209.18393C35.5125%208.99363%2035.2544%208.88672%2034.9852%208.88672H19.195C18.6148%208.88679%2018.0425%209.0212%2017.5229%209.27942C17.0033%209.53764%2016.5506%209.91265%2016.2002%2010.3751Z'%20fill='url(%23paint1_linear_5437_79060)'/%3e%3cpath%20d='M27.7632%2023.2969H12.2368C11.7852%2023.2968%2011.3379%2023.3857%2010.9207%2023.5585C10.5034%2023.7312%2010.1242%2023.9846%209.80488%2024.3039C9.48553%2024.6233%209.23222%2025.0024%209.05943%2025.4197C8.88664%2025.8369%208.79776%2026.2842%208.79785%2026.7358V33.4448H31.2025V26.7358C31.2021%2024.8364%2029.6626%2023.2969%2027.7632%2023.2969Z'%20fill='url(%23paint2_linear_5437_79060)'/%3e%3cpath%20d='M26.5965%2029.7865H13.404C13.2154%2029.7865%2013.0345%2029.7116%2012.9012%2029.5782C12.7678%2029.4448%2012.6929%2029.264%2012.6929%2029.0754C12.6929%2028.8868%2012.7678%2028.7059%2012.9012%2028.5725C13.0345%2028.4392%2013.2154%2028.3643%2013.404%2028.3643H26.5965C26.7851%2028.3643%2026.966%2028.4392%2027.0993%2028.5725C27.2327%2028.7059%2027.3076%2028.8868%2027.3076%2029.0754C27.3076%2029.264%2027.2327%2029.4448%2027.0993%2029.5782C26.966%2029.7116%2026.7851%2029.7865%2026.5965%2029.7865Z'%20fill='%2310498A'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_5437_79060'%20x1='19.7682'%20y1='9.59964'%20x2='19.2608'%20y2='6.75804'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23CE9918'/%3e%3cstop%20offset='0.5902'%20stop-color='%23DF9E00'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_5437_79060'%20x1='26.3559'%20y1='28.492'%20x2='13.062'%20y2='13.1687'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23F5B509'/%3e%3cstop%20offset='1'%20stop-color='%23FECE49'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint2_linear_5437_79060'%20x1='27.4873'%20y1='32.5737'%20x2='7.9015'%20y2='23.2375'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%230161B2'/%3e%3cstop%20offset='1'%20stop-color='%231291DD'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e",Dm="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAB8pJREFUeAHtWG+MXFUV/9375s3szNDturKbLpt0aZo2fvAfpEBEss2iMZJaFTBdG1BrUfGLmohWaGvaQtYYU2miJsRKTQikkhDRIKmRNcEPJGgw1hJFcetu2mJcKrPbmZ2dP++9e6/n3PtmdnbelJnlC3zobc++mXvPu+d3z/87wJVxZby9Q3RZl0T65Pnzu2f94S/Pl70tQYhBpWG0Mn3odRgSJBFIAeOnxKWBPvWvTVj66Vc2DT0ZYzB4CwDlaWN2H5tRT1QvKONJCCHxlodpE6Y1EAxI3PtefOvjvn+Mp7AGgN7vjPnxT6Yr916VScmuem4FQkjq0uDGDR5ky3ukdAQK+O+ywflFjZyU8D3iDZXaMd73m3t8eSc6gOwkWp4xZvLA76uPr0t7nunA+GZz7xkROLTFR7fx4lKEQy8qDGUFqnWjvnSr/8AOz3uYllQ3gNhztm5qF7DmUagCz92W7pm/SHTnbwMCCVTyEtefmvIOHz68SosJr3rif6VPFF/VUBHWTCP9K3uzSRukWoi/N7S9nujALRLVmoB/SZsNu/Z8sR1PAuDZcuqbkqdZloJ7tpLqME/fdSRw+xbP7uFYBJRxpFsoYqL1KH51+7oUqhFx0/+z9Wv2tONJtU/Ml/wt2tA5I6xpXKoaTAz5Tfws/XK5Q5tYM9IB2DggsFACLpb01q4Aq1U9yMcza4hcHumUxnohUINLITwum9xoQQsHkgEMU6AUFiiiA5FvZ02YWIXwKRGjlXRMlAnxnz8+Q2/J5lyD5yObPQTEEpnY6i1rGQIzPf0CKLm7d4ybZ142VIr2s3JCk+0KMAwofZGNROTIajN++jkfp394F/lbABO6OeapVoA7CKD1K3qXXMqC0DHNzL2G3ZN7kPbiAzNA48DyYaR2SFUkEkpPmJjB8CaN+tP6VAyKtVeNXUC6+eXQYCwrUWJgVqpsiVXmFfBkhtYMQgZD34U1iIFHnwwHE81LBXQHSIzaBogTIOJUyScN6xr5a7fByCyZI4LwlNXGB0eBMjGE1oR0APonmilWYGTDED40fgOW6ORUNB04uykBN6wU7cgT3QFacJHbwmB1DQ2LEW7+7h8QVuvkB9JqKiDeyQ9QcJCA0PolQWOhTQ0a1E0Kj508wRUDkjNRbEnJlpVw5og8KE93B8inUrqhM4FEQQsiO6dj9IsVhfcPZVCiZMuHcyLk6hCmz7VYNvuoIBPztlq6Q7HV6HxIqx40yJLJWel9GZ80lmRisCKWyERzo1QOaqGwuLU7mTvaZXOM24q38eiDlM4HWSuqQz+TAKj4FI082J4Mm53bil9+6sMpStLaaU6sYGdTv0kmdLLYETgwKN9oCkDZiw8aZSz10mJxa1WhzOxT38RyuL2q1Fwi1BxszVOtesv+lfEKR7LlZ7kdqleHNGOcqnusJCef13jqhSpVEthy9ctvZ7FAVSEigGaVLzfAiSZsjjMmEyd0T/cYJDbLrsqClxsCGQ5FJSk508ECY7UacLpRaAZScg9jgUlyIRE4SwirwaRWEpWETcN+YcgXm0/tobJ4jlY9ilQZr4kEnyagmqQFFJL1yFigAbf2MaVzXHPnqYum1EPmrNt17bohKwfdAXJisqdvIZlJ429Ht2Hmmf2QaQZpEjyWCBi3VGEoQXkcETl+RFqh8ol3DXo4vO97+OrkXvh90s5HBDQIXWtn9+wJoDFRowFt1OBwsYobpsoonHkKfz12o/UCqJQriy18SklbsuramZk1RIUDIZZx984vYHZmBo89dwpvFAKnZeJnHvY/awnTg4k9Qa1C3E02uhUuXEGpim3fmUN20078+WAOs6e+jqBeRCqdIQdKkeac6e2mFM45akRLxUX8aGoKd39sByZ23IGpR45jocANmW81HFKWDimH1mvamlcaU2vHkwgSX+pFpZCDbqshnP2XA2y85QGMjR/Av6fvx5mHt6Ivm0V+9Cb0Db+PTLceU4ckzs1dwOw/XyaNGtz6yc/hZ88+j6ViBTUS73lpq102g+QAo2oy/4azRMY3y10BXp3HzLlIjwqZjD3bbAgOhghj2x+C99GjqJfnUXrtNOoL/0C5UEb/wGaM3zaOz3/tQfTlcqgu17BcipDyszZ5s0VcN21s3hxcB/x9VqHPF7hmUM51BTiWff3Rl6Lh7Z4n4qLW6GpW/rpPJCysUdAMYHBsAmbjBApFhbv25vHKTGhTR40qDGvM3kc4hZg479j2i4KHoFaqkU1TIa3dfO2lx0+04Ul4pSFP3Xp/qPuNWkmrLXk2MdcyXywDvzji4y+vknY413Vwes2as5cnjevokvXZQ3W8m35hkOslXtqfSbyQCBLqNMQ3PuPtq1Yibt5sZTHkzCY0ca/eNhfFpZGeA1mNI8cDjA1zbyhsjgu0aRJXF67vV1ODMUIXpcmDNQz104WrFOnj92GqIx50HnL/tH766V+Xd2bT3pp+kWHHqFNWnrg+hXym0VkLeyOuU6WZLwi8PKesi/TRHX+ppvXRg/lnPz0qb0ePP300QZ54Jbzv+z/XP8hz9yzQc31ujE5VjrewdxIlTGbIE4/uSx25Lus9iDX+eNS6bh761cV7zpzL7y0UsbkWiKvIn7N8dV4LYOqkBdmiksua+tiInLlp08Un+1//0yO7du1qXqWvjCvjnTj+D8SthzamBKAPAAAAAElFTkSuQmCC",Im="data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5437_79067)'%3e%3cpath%20d='M27.395%2036C26.1435%2035.9986%2024.9203%2035.6274%2023.879%2034.933C22.8374%2035.6273%2021.6139%2035.9985%2020.362%2036C19.113%2036%2017.882%2035.625%2016.846%2034.933C15.8189%2035.6241%2014.61%2035.9954%2013.372%2036H13.334C12.4944%2036.0006%2011.6633%2035.8321%2010.8902%2035.5047C10.1171%2035.1772%209.41781%2034.6975%208.83405%2034.094C7.65642%2032.8996%206.99679%2031.2893%206.99805%2029.612V17.362C7.00005%209.995%2012.994%204%2020.362%204C27.731%204%2033.725%209.994%2033.725%2017.363V29.616C33.725%2033.009%2031.099%2035.808%2027.747%2035.991C27.63%2035.998%2027.513%2036%2027.395%2036Z'%20fill='%233551F3'/%3e%3cpath%20d='M27.395%2034.5932C26.2752%2034.5924%2025.1889%2034.2104%2024.315%2033.5102C24.1961%2033.4145%2024.0476%2033.3632%2023.895%2033.3652C23.7174%2033.367%2023.5457%2033.4291%2023.408%2033.5412C22.5392%2034.2237%2021.4668%2034.5951%2020.362%2034.5962C19.2576%2034.5949%2018.1855%2034.2234%2017.317%2033.5412C17.1835%2033.4338%2017.0174%2033.3752%2016.846%2033.3752C16.6747%2033.3752%2016.5085%2033.4338%2016.375%2033.5412C15.518%2034.2199%2014.4581%2034.5914%2013.365%2034.5962H13.332C12.6806%2034.5961%2012.0359%2034.4649%2011.4362%2034.2102C10.8366%2033.9556%2010.2945%2033.5829%209.84201%2033.1142C8.92225%2032.1822%208.40639%2030.9256%208.40601%2029.6162V17.3672C8.40601%2010.7702%2013.77%205.40723%2020.363%205.40723C26.955%205.40723%2032.319%2010.7702%2032.319%2017.3632V29.6162C32.319%2032.2612%2030.277%2034.4432%2027.669%2034.5862C27.5777%2034.5909%2027.4864%2034.5932%2027.395%2034.5932Z'%20fill='black'/%3e%3cpath%20d='M30.912%2017.3635V29.6165C30.912%2031.4925%2029.465%2033.0795%2027.592%2033.1825C26.725%2033.2323%2025.8704%2032.9582%2025.194%2032.4135C24.416%2031.7875%2023.321%2031.8155%2022.536%2032.4345C21.9163%2032.9237%2021.1495%2033.1891%2020.36%2033.1875C19.5714%2033.1889%2018.8056%2032.9235%2018.187%2032.4345C17.8057%2032.1306%2017.3326%2031.9651%2016.845%2031.9651C16.3574%2031.9651%2015.8843%2032.1306%2015.503%2032.4345C14.8904%2032.9183%2014.1336%2033.1834%2013.353%2033.1875C11.405%2033.2015%209.81299%2031.5605%209.81299%2029.6125V17.3625C9.81299%2011.5375%2014.537%206.81348%2020.363%206.81348C26.188%206.81348%2030.912%2011.5375%2030.912%2017.3635Z'%20fill='white'/%3e%3cpath%20d='M18.28%2016.4366L14.35%2014.1666C14.104%2014.0248%2013.8117%2013.9865%2013.5374%2014.06C13.2632%2014.1335%2013.0292%2014.3128%2012.887%2014.5586C12.7452%2014.8045%2012.7067%2015.0966%2012.78%2015.3709C12.8533%2015.6452%2013.0324%2015.8792%2013.278%2016.0216L15.604%2017.3646L13.278%2018.7076C13.045%2018.8559%2012.8783%2019.0886%2012.8126%2019.3569C12.7469%2019.6252%2012.7873%2019.9085%2012.9255%2020.1478C13.0636%2020.387%2013.2887%2020.5637%2013.554%2020.641C13.8192%2020.7183%2014.104%2020.6902%2014.349%2020.5626L18.281%2018.2926C18.4436%2018.1985%2018.5786%2018.0633%2018.6724%2017.9006C18.7662%2017.7379%2018.8156%2017.5534%2018.8156%2017.3656C18.8156%2017.1777%2018.7662%2016.9932%2018.6724%2016.8305C18.5786%2016.6678%2018.4436%2016.5326%2018.281%2016.4386V16.4366H18.28ZM27.182%2016.2906H22.018C21.7338%2016.2906%2021.4613%2016.4034%2021.2604%2016.6044C21.0594%2016.8053%2020.9465%2017.0779%2020.9465%2017.3621C20.9465%2017.6462%2021.0594%2017.9188%2021.2604%2018.1197C21.4613%2018.3207%2021.7338%2018.4336%2022.018%2018.4336H27.182C27.4662%2018.4336%2027.7387%2018.3207%2027.9397%2018.1197C28.1406%2017.9188%2028.2535%2017.6462%2028.2535%2017.3621C28.2535%2017.0779%2028.1406%2016.8053%2027.9397%2016.6044C27.7387%2016.4034%2027.4662%2016.2906%2027.182%2016.2906Z'%20fill='black'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_5437_79067'%3e%3crect%20width='27'%20height='32'%20fill='white'%20transform='translate(7%204)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",Lm="data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='4'%20y='4'%20width='32'%20height='32'%20rx='6.4'%20fill='url(%23paint0_linear_5437_79079)'/%3e%3crect%20x='4.80005'%20y='4.7998'%20width='30.4'%20height='30.4'%20rx='5.6'%20fill='black'/%3e%3crect%20x='7.19995'%20y='7.2002'%20width='25.6'%20height='25.6'%20rx='3.2'%20fill='%23202A2F'/%3e%3cpath%20d='M25.2454%208.85742H19.2454V20.8574H25.2454V8.85742Z'%20fill='%230EE827'%20fill-opacity='0.35'/%3e%3cpath%20d='M11.7895%2018.9218C11.4758%2018.8949%2011.1817%2018.85%2010.9072%2018.7872C10.6424%2018.7154%2010.3973%2018.6392%2010.1718%2018.5584C9.95613%2018.4776%209.76496%2018.4014%209.59829%2018.3296C9.44145%2018.2488%209.32378%2018.186%209.24536%2018.1412L9.87771%2016.9567C9.94631%2017.0016%2010.064%2017.0644%2010.2306%2017.1452C10.3973%2017.2259%2010.5836%2017.3111%2010.7895%2017.4009C11.0052%2017.4816%2011.2257%2017.5534%2011.4513%2017.6162C11.6768%2017.679%2011.8875%2017.7105%2012.0836%2017.7105C13.064%2017.7105%2013.5542%2017.3381%2013.5542%2016.5933C13.5542%2016.4138%2013.5199%2016.2658%2013.4512%2016.1492C13.3925%2016.0325%2013.2993%2015.9338%2013.1719%2015.853C13.0542%2015.7633%2012.9071%2015.687%2012.7307%2015.6242C12.564%2015.5525%2012.3729%2015.4806%2012.1571%2015.4089C11.7453%2015.2653%2011.3777%2015.1172%2011.0542%2014.9647C10.7405%2014.8032%2010.4708%2014.6237%2010.2454%2014.4263C10.0199%2014.2289%209.8483%2014.0046%209.73063%2013.7534C9.61303%2013.5021%209.5542%2013.2149%209.5542%2012.8919C9.5542%2012.6407%209.60812%2012.3984%209.71596%2012.1651C9.82379%2011.9318%209.97572%2011.7254%2010.1718%2011.546C10.3679%2011.3576%2010.6032%2011.2005%2010.8777%2011.0749C11.1522%2010.9403%2011.4562%2010.8461%2011.7895%2010.7922V8.85742H12.9954V10.7653C13.2503%2010.7922%2013.4954%2010.8326%2013.7307%2010.8865C13.966%2010.9403%2014.1767%2010.9986%2014.363%2011.0614C14.5493%2011.1242%2014.7062%2011.1871%2014.8336%2011.2499C14.9709%2011.3037%2015.0689%2011.3441%2015.1278%2011.371L14.5395%2012.4747C14.4611%2012.4388%2014.3483%2012.3939%2014.2012%2012.3401C14.064%2012.2773%2013.9072%2012.2144%2013.7307%2012.1517C13.5542%2012.0888%2013.363%2012.035%2013.1571%2011.9901C12.9513%2011.9453%2012.7454%2011.9228%2012.5395%2011.9228C12.2062%2011.9228%2011.9071%2011.9856%2011.6424%2012.1112C11.3875%2012.2279%2011.2601%2012.4298%2011.2601%2012.7169C11.2601%2012.8964%2011.2944%2013.058%2011.363%2013.2015C11.4414%2013.3361%2011.5493%2013.4573%2011.6865%2013.5649C11.8336%2013.6726%2012.0101%2013.7758%2012.2159%2013.8745C12.4316%2013.9642%2012.6768%2014.054%2012.9513%2014.1437C13.314%2014.2782%2013.6376%2014.4173%2013.9218%2014.5609C14.2062%2014.7045%2014.4463%2014.866%2014.6424%2015.0455C14.8385%2015.2249%2014.9856%2015.4313%2015.0836%2015.6646C15.1914%2015.8979%2015.2454%2016.1715%2015.2454%2016.4856C15.2454%2016.7548%2015.1964%2017.015%2015.0983%2017.2662C15.0101%2017.5175%2014.8679%2017.7508%2014.6718%2017.9661C14.4856%2018.1815%2014.2503%2018.3699%2013.966%2018.5315C13.6915%2018.684%2013.3679%2018.7962%2012.9954%2018.8679V20.8574H11.7895V18.9218Z'%20fill='%230EE827'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_5437_79079'%20x1='20'%20y1='4'%20x2='20'%20y2='36'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23D4E6E8'/%3e%3cstop%20offset='1'%20stop-color='%23767573'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e",Mm="data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M34.9013%207.2002H10.604C9.83641%207.2002%209.09532%207.84723%208.91004%208.66305L4.03999%2031.3373C3.85472%2032.1532%204.33113%2032.8002%205.0987%2032.8002H29.396C30.1636%2032.8002%2030.9047%2032.1532%2031.09%2031.3373L35.96%208.69118C36.1453%207.87536%2035.6689%207.2002%2034.9013%207.2002Z'%20fill='url(%23paint0_linear_5437_79143)'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M19.7489%2026.5009H25.2421C25.8826%2026.5009%2026.3999%2027.0942%2026.3999%2027.8223C26.3999%2028.5505%2025.8826%2029.1438%2025.2421%2029.1438H19.7489C19.1085%2029.1438%2018.5912%2028.5505%2018.5912%2027.8223C18.5912%2027.0942%2019.1085%2026.5009%2019.7489%2026.5009ZM23.3208%2020.6216C23.2222%2020.8374%2023.0252%2021.0531%2022.6803%2021.3228L12.4575%2029.3596C11.8909%2029.7911%2011.1027%2029.6293%2010.6593%2028.982C10.2405%2028.3347%2010.339%2027.4448%2010.881%2027.0133L20.0938%2019.7047V19.5429L14.305%2012.8006C13.837%2012.2612%2013.8862%2011.3713%2014.4035%2010.8049C14.9455%2010.2655%2015.7584%2010.2655%2016.2264%2010.8049L23.173%2018.8956C23.5917%2019.408%2023.6163%2020.1092%2023.3208%2020.6216Z'%20fill='%232C5591'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M23.2368%2020.6216C23.1387%2020.8374%2022.9426%2021.0531%2022.5993%2021.3228L12.448%2029.3596C11.8841%2029.7911%2011.0994%2029.6293%2010.6581%2028.982C10.2412%2028.3347%2010.3393%2027.4448%2010.8788%2027.0133L20.0492%2019.7047V19.5429L14.287%2012.8006C13.8212%2012.2612%2013.8702%2011.3713%2014.3851%2010.8049C14.9246%2010.2655%2015.7337%2010.2655%2016.1996%2010.8049L23.1142%2018.8956C23.5311%2019.3811%2023.5556%2020.0822%2023.2368%2020.6216ZM19.7795%2026.6357H25.2475C25.885%2026.6357%2026.3999%2027.202%2026.3999%2027.8763C26.3999%2028.5775%2025.885%2029.1168%2025.2475%2029.1168H19.7795C19.142%2029.1168%2018.6271%2028.5505%2018.6271%2027.8763C18.6271%2027.1751%2019.142%2026.6357%2019.7795%2026.6357Z'%20fill='white'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_5437_79143'%20x1='9.76654'%20y1='10.3425'%20x2='29.068'%20y2='26.4694'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%232D4664'/%3e%3cstop%20offset='0.169'%20stop-color='%2329405B'/%3e%3cstop%20offset='0.445'%20stop-color='%231E2F43'/%3e%3cstop%20offset='0.79'%20stop-color='%230C131B'/%3e%3cstop%20offset='1'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e",Em="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAA0RJREFUeAHtmM9PE0EUx18pJCRaugUhQkuqXgi3eqDVpJFK+g9w8Ejkohcg4I8DFynECxdEAlz0gA0nNYF4kkODRDQmNQQ8NRhjbd1FrQHankja3XFm7DbN7rQMyS7l0E+y3dmZt/u+mffednYAatSoLpZKg9s//wawRUhKJj2/90QBLNgcocJt+EyvAQo/UBwv2qkeCm7o2P/ri+3OtOuSewcpEL7quvACTsJ2PC5sJf8sPQw9Rh2dnaigwPCjw9WJJmfm0FYyNUt8Ai+f4+Ls3dEHpgnTHndG76NoXFpiaanXdnz8Gh988+rl2LO5GXrd2NgILS0tUFdXB0aSy+Vgf3+fnp/PPYFztvODn2Lx8PXuyxuldroc/BD79u5WMBD4JYnQ0NAAbrfbcHEqiqKAKIpwdHQE7U4XvI683/B3X7lZaqPzLCV+eIg4Qmtrq2niqHP8bBIdAvEpJr57dDbajj1RLCar1Wot9i8vL0MwGAQzRKpgkXbduLZDlmVg4XQ6YXFxkR6kbQZKXtalnE4gwnnBYmhoCKLRKJ3F9fV1mJ6eNlwozkkExwlU5Dzz5lgsBgMDAzA+Pg6SJEF/fz8VOjw8DMYJ1EePO8Qqq6ur0NfXR2eT4PP5wChknhArZUKs4vV6acGQczabhUgkAkbBil693kguK2xkZISeCSsrK7CwsEDDbRSs/OcWqBYFCe38/HwxxEbCSi+9QIUtkAgis1ZO2O7uLpSjq6sLeGD51gnEicq8mVSv2XDNIFIqV3E5eGepEkjmeM0cV8VmIvMILBfi00DhmkFURYFIHz3GX10VBeZ5ZrCaApUzLhAXCcdqpopVjF9xxy8WZPmMVzGqqkCOKrbZbGm1fRqzWZpS2Pehdlwn0C7YdxwOB20fHByYmpPk2alUirYF7FMQhC9aG/1iQZanfNd8gbW3a/R7NZFIQFtbm+Gfn0Sc+uFOCAQCkM/nwlw3PwqFlnp7e09t6+MG9jUxMfGUpaWe1Wm1WO75/f40zomxzc1NyGQyYAaCYIeeHi9ZpYdxhCZZNhW33/AacBBvmd3OpA896WxW/aBHFry/hkr24TTXWrT7dNSmydaUdjQ37+DmFF6tb0CNGmeUfwIH0sS3Pm7dAAAAAElFTkSuQmCC",Pm="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAACs9JREFUeAHtWHmMVdUZ/93tvXffPjvzZpiFwswILkEpIIqMWlAWjVpBTTXGYk1tivoHWhurorVp2miiMRUaW7FWkSaS2IoLdYPUBkXBBkZRUdaZgWHWN2+767n9zrlvGJlhebX/td6bk3lz3z3n+53f9/uW84Bvr//xS/pPXm5vb1d7e3tlfMMrFAp5V2y/wl2FVazUOacCKC+dtDR275U///PU1NT5AUkLecwDH6PTRj6X/kySJRoyXOZae47seXvZ80uXfdL7Sa74UskA5Z0rdv6ipbZtVWY4RxO9b8zaqS7P81gkqct9ff0PNz428SF6xEoBKO29a/9D8WDiPpex0oB5xwyKJSXpFKuf4NJkxT2Q2ffI9KemPzwW5DgATcmmRGWy6n7bdmXmejjdcB0Gx6XhOAjODCA4S6PPbvEZQylrmLajtFaf8cDihsWJsXjG7XH7rR+/WR1JXSJDHgeeMyRuiz5bDHJMFuwxj8BkHDStSUFSJOy7tQtqXIUs0fdEpzPgQA7RirokTMrSeGpdEndndv+mOc/MWnhKBlsq2trhYhx7nA3XJWZMhtg1YVTcXQYWBSzbESN8UQjMoHeyLsLzQvTMhkWsMp2hcU0talaWwy64tJbrM8uOX19iknR29VkXj8UzDmAQAZXWIDCeP5j/lzEGmxY2LQtSUII7xFB+XQKWbMGwDKgTFXqHswmoDSo9M2HYJurvrYbTx2iODKNgiTX4Wq7jHWeDg9QQCGKMV8cCDFqkH9dl/hAL+Z8doTXaPd2Z3TnBgENsNayow+DhNByPdkWu5sPxHAx0DqHt8WY4tBEKVqR3ZuBqLgF0it4oAi3aEJq1PTShKXhSgKlUSmG26zNB9pgQOU0k11ikMcdyhNv2bexEMKkJMFa/ibJ5CRTShgg/PoxhA+WXJIg5hysXalLG7qf30lxLBJOdp7UMH5hvA8KmS+QUagrKSQGSxiROBAflFiPRSDvkpipM/nUK1VdVIDeQh605OLSlm9zpCUDfuaoR3R8fId94AlDXh0cwbcUUeCKAPBze0gdHsWhuAckL40jdXomqW5Iws46wwXXJXD/iT6vBEea4LrgrjJwBvSkgojExPYzz152N1lua8d6j2xCu1IlEhgIZVnQVkkoRGpAhhSTYg46I+lCthtfv3IyJl6dw7m+nITqV5pDK+HMzZxal4zPJySkBIBeuD5K7A5SZdtz5BdQyWcjXGWComJbADz9divU3v4xIlS42VXdOijKuJErZlAXNYDaDVq7g2Xkv4cZNV6N8WhnMQUuA1hIqdj+xn7KAJ2yMBExJDPoR7O+K/7UtG5m+LN666QNoVSrtnhYhEMZhGzf9/WrsfGU3tJAKPRZEYbAg3o3VxqGGFWx/ugPXrb0S2Z4CUHS/XhXC1gf/hUx3FpblHLMjotkpycXF3MRGJ/Jd8vTy3Oy/YscfOxCq0SATW2a/i+k3TsXBjkPk/ghiZTEkqwhchYRPX9uDyXMnIdefJ9dDMP3Zxi/x0vWvwcgbsF2nqLuv58Rx+KCOY9Apvgw/FxbILdVLyhFtoURMGbwwbOLVu99FIKrhzCVtiNWE0bKoWYCQSXtcqyzvonXJZPTvGER+yMS+jw7ANm3Un5fCrNnnQPEU5L8y0bMxDSXKN+uzy3jQ95wWIIq5yUHVZXHM+nELrGFH5DKv2BVMXtRAwUBgZA+de7sxUW+El6TkPeIhlRxj0mZSGUy8oA71C6rI+Kj7JH7PldD2k2YcerEXPRvSBFIlT53OxT0oupS0R2J0OSjH350YYn5xEe4WEny2kCFWGTJZIGsDOarTw1mPciGQHkqLxmHUijfa9XEpyzxveiJ5i8zhsBJc7Po1l7N44G89+OS5r1B/TSUSrWHqCj3kKSEf3NZJLlUwZWYjDKosufoczLwGtTzgR3q/BT1P0eqq6P94CB2kx8KggUlzGqAndSJexvCeHA6+1IdoPEzFNQiJ2zxBFJ8AYDHVMB+kFAH2vt4F6xUTA4cH0bq4GZffMY+iNQ/ToLRhuFi/4U+4ev6N8I5SlFOSk6nUvfDGWixb/n3E9Sgu/un50KsD2PyrbXj3mW2obKxAQA4gEA5RWWRQiBTZY8L22Ou4wlyDmsjmRZ9njxhdop5ajAq+a8D0KOro87K1C5DtNUSE8xEuD+Gddf9Ew2WV6OjYhe6hLpEH40Y5pk45E4NUsxf9rB0WlTxZUUQjq9cGsG7h65AMFUEliKAcQkAJUQpVMSFUh/bXWqM96MmdWIPAsXBnLq1GDbUsKdDjOq79w3wMUz4TZxKSSrIuhkcXP43LVl6EhF6G+kQTZs6ejZnnz0ZNsA5lkTJceO0M/PLspxBOhahKMDGv0G1h2YYFSDTEiB1yIFPgl1eUWOocv3CD+QALPQ4uf2IW8n0meI2KUHk7tPMIVrb9Bqs+vwOFXhPxRBwH3utBc+MkNKWa0LNrEPF4DPlBE/e9dTtWxB7Bns0HoFWqouGxqcNZ+Oxs5DtNSJ5vRzQLpeRBAW7kRZqsBVUMHchCDSg4RE3Au7/7gDpjYPmaa5HvKkBVVCQnxGAM2NADupimaRol7KRoDgY7M1j+5DK8/ej7eOPBrVj0wFw0XZqC9aVFuZSCypUFTSJPsNNoMIVU+NWLOnJHzcPkDb+v49rLFXLIWzl4IXoGG+neDO757GaYfZZY+Z3V7yPeFMZZ17SI/3e9vAddW3tx6Y/mcLOIEetPLvkLIjGdGCFO8grCwQiikSgFSxAq6U+GgqpQLRZuOePkGqS4ouOFNFqCRMnzKInKCOhBUQEk0szC+y+A2euQ6MnlE0PY8vvtiJRFBZuqqiFaFsGujV8gQVWGv5PtMzD/rjlirkx9czBCoALqMd35DQr3sUSpuMc9qQb3Y781ooeRptXjgcLIsKfSHgNwM8Ck79WBn4e0MhWPz3kRVakKfhQiMLIApNCdrCnHk1etR7RaF+WvceYEsAyFhafRRgOkPUXonNsQLf+otMyTAuQStG3LPNY8evwwQwA9DjAIjRbmqcGmVl9PBfDCdZvIqEdwVBzdNSBOa1wzRzoGiCfuzACev2UTRXxEVKcApRQNfASgMK0IEhhpkg3eso/5hWHc+W9N68Z3Jqj17RQfEhPvMtHDUdr2NemZyAwPI5POIprSRTLn7+TTJu459ANRsh5rWQ89HOScivyX6zERiYQRjcVEglYlahCKt2Cdo/Ik1ud0/+O2zxe1fx2PMhbgfuOrN66vvG1lxsmIDt77Winm/3BNStRqBaNBwS53J89nqkqaouNn14d96NuRoV8LCAhxJZPu9Agl40BAMCqe0Rxe7kRrTYPbmKDVSsv3Xjq34BSGTwnwqN1VaNPPK6tUamcwLkC+AJP8QzvzD+miH/Ek4VqZBg8ebrT7g34c/mhQ1FYBhpji7yhFhyskFS4XicBx93JBcHCkS9aR37765d7n1o/FMw4g5+nNoQ1vnhu5sHZK8KwZw84wE/zzX7Y4SO573olw7oRBbogzQu6UFQHKDyhNfC+AcZZHgImk50uf1vOqlVrsyG1dfc/BG+7ECX7hOtXPO0oiVNPwUOXqdWeEvjuDTKs8C3ItjvSFfvfF4N+OYNcTEAi+pBzT2KgxP8I5q47kWh359z9cO7Dqho5CRzdGy0PJAEeuEQtaAomwGw1p+C8uJWvYaaT5IcUsru3i2+v/+fo3XDNIGH8X+FsAAAAASUVORK5CYII=",Rm="/assets/vscode-C5BXgFjm.svg",Fm="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAACSFJREFUeAHtWG2MXFUZfs+Ze+/M7uwnLNhiqd1dWknaBETS+EO0JRWllRCjjSY2EhP/GP2BMSZG40fU4A/RRIs/FA1iJNaQaAKCiiG1dGu7okVKCK6lFWrb3a3b/ZiZnY/7ca7v855zZ2d3Z5chJIQfPcnZO3vuvec87/N+X6Ir48p4aw/V6TP79+/XpVKpv2twsC+uVHzj+4oaRMbUlDG+Mr5R+SCQFxphSL38O451SrwULUap1nGKe55XNPl8V3jq1PjcxMREmZc0z9TN9UGsc09974EH7v7oRz7+8ziOBiuVCimspnx+Pk9a56hULpHHV8/zyGdwURQxeEM9vT2U8lUxjlq9xr9TynmacjmPYn4mKOT5nqLJixfGv/qlL9w5NjZW4p0Tep1ABc4Lp185UyktbDGGCdFMYCMk3/cYVMAHatI8G/UGU8EgGGwQ+MxiwjOiYpGBpgYyUbVWlfuel+P3cpQw6LBRpyiOIZR5x+br9Zmzr3xuz23v+SmfG7cDpNcASv959fy/5i7PbE6M0dg8x4wVi0W5BnlfDtRMryfAPVJaZfLJ+5kecfX5vhymPdGCh/2YWdzM5/N6cmqarhq86uBDj/zmDn4s1w6P1w78gw8/ctdseXFrsdirw7Aum3qek4nl1UqTYbYUA8XBJjECCSqXTT2fIacCMmHWUqcjrUlYxj+JSRhkwLPAvw3V6zV95969T9AaWm6HPv3Bjw7+tV6rd+dyAKIdG+59BgkI1lRTmQJQkVyzNc0swi4zWmHbEAwzSawpejloRvF7iQi8MD9vRrZuPf/0U3/650pQbdFPzy6k5y9cdCDtIyY17tCMuUzN9iC24+YVQgVBQbQQcgTI1qAZAIbdglnYumag9VrNaobfZ0Ge23nzjltWYlql+l27dg1VGw2xOwvIsiJAmAnYYsKqNknMv7UwFEexPAdHkk3ZbuMYaxYogOFZD4yLaEqAJwmcSYndY++Ao8bQNVcPU5uxCmgvjzjkDYS5VNSMMAM7SqyXyqGwS8X3ARzPJHEijHR3F+m+b32denp6RAjTVLsW54NZ9Pb10Wc/fy+VywscRXwLhMFqZjyndb4joIVCIYfNEOtgj1Aw2MmAivbBDE+Yhkq1qBFCxQz+8swMPTt+QoBmppPZJoTCFV7/2G8fpSeePkqVcllCnhU+5hAY6Y6AVuMYLisGn6YOmAMHlhEfhVXccF6vhTlDU5MX6cTxMWa1u+lkSmVhC94m1FLM9/r6B+jFF07R9Zs385pPEZuInKW06ggo25Gq1+tyEBjKvLvY00df+/IXaeyZI8JIkyU3GxzA//zMOB09fNiBW2ss3bPgVOaTrDn2CdP+La/9Vto5Rioqj5nd3/3iZ/TcP/4uQX8lSMwbt2+neqNG/554SewUNkltnlsWptLE2neSiHnBXo2JOwMaaw2LE6+MokTsD1569MhhYXat8d7b3k8zl/5nYw85QLT+QOKASSHl4mmchUTQ9tm2i2zY2oWeLIjDFjGEjRYHwQG1apXedetOOvX8Seou9pDqpCYjK4jk+9TGWQlja2T1VasMTCEuQvXKBekskyw7IfupbDLYMjxCY0f+so59LhdO0qjzAZBi3F7pGka6CqjmGtIG4kRSIDZG+ZY6la46nu9ve+eN9PbrrmMvft7l9fa22SqczVBZik0FCLQXhXFnQMEoJM3KNclOqbXZ5YctgfjQ3g/TpelpKQMzvjoZYl5uGpdUdPvotLaNKmczArhF9RaczoigxcUK3f6BD9Lfxo9zbOxfJkDrO00pW9YTF48lRhtb6GQV2GsC9TiQIlRkhYMEthWNQnYWpEcuR9B+6g9PSo3aOloBq+z/lnUU0onL/+RsV3XKKG+QIqCjSDCpZQ32SsscYemwYXYiONz48WPrhi9qZZUsCYibSrmAn1o2tOrQ6+NcLuWSXqT1clpYUlltRrQq9OzecwddujTNJrBIayCkpnBNzIqq/PyW0RtsLHUg8bdZTq4YqwK+jqLUuIKD5MW0WQAvy9s8uCqn9+2+nS789xx98lP3UBbos5grlRe/b9sWG5ex0+DgIH3iwD2cxSY4i3VZ+3TnJUmHQLkUlU7SplAuIDhUjYyO0jDPi1x0SGdpKxIO9DXavuMmmp2doQOf/gwVuK0AIyFvslSUaGkEUcah7kQ9Bo2hWN62bZtoDt3t5NSUCIPQ2BFQ3tDYQxLRNvofjPt/+GPasXWLjXmuXCt0FWj76KamrWHedPMt9MtDj8rhNS5uuL60DSHHYszWwhnaiji5oDbo7xugcqXEewVpR0C7unQD9aF2DoUaNAwb4t0nX5ygsy+/LEzhPsxDCl6Ubq6wQB1aZaYD1+NDaJ9bDk86Udu+4FkT8R7KFswoc4eGruZrCEGSjoBOT08voDMsl0q0YcNG6ufYGEWhgJifm2MWu+S3AOErF9oysbYwvyCRYrG6SF2FLnQLYkJQL0BCYHxFESvXupk+OdAw+JSrrwblqtX5joAeO3asHHAbC7uUbAHpXTOXZ0BwFKgVRo9POAUGBKBSv7psxuqTjxMAn5lOxOvQjm1nbH+Slw8WRlgtl8oI2emrZ8+cbAe0bdCanpx6lu1I3E/6d20/D8G2wM7AQL/05AAC9aI0AzCw38f9EGzO93wBxN+raH5hXp7DCIJ8M/uE8vknkW4VLUlQCNInH3v8G+0wtUsDat++fQP3H/zJbIHB2BaYPZmNXhKBtLS2T5pnVYNBsIb2o7vYLQ4C/Ye8HnLuD3xrm9K9smBQPT7v4GQ4oe+aOnauuKfgz2689pq3tQPa9vPJ6dOno9179py/YXRkXxjGCpIvsrozBvGNCQP/25kIq7776JDZIjwbawCknU3CQbNat1mUsAMNb9roDfSyJy593Xtt1fNIPnbX3od+fejQ3Zs2XisMYNMqO0mZAc/MXBa7AosDA4O2PeGXoGb0Wwg5AXt6pn5bENvjss5UshB/LSsW8umGof65+77zbZAG+k2nql8piHnw4V8d2Hnru+/1C8URPqILVepAX48EcrsL2hYjwVo78/BYnYG/lKFg37V6yETqlL08btQalXMXzp34/eN//Mr3v/vNlxwWQ29wdFpivtX2vjKujDdt/B9Vn+PpjUxyeAAAAABJRU5ErkJggg==",zm="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAADQlJREFUeAHlWAtwXOV1/u5r3w/tQytpVyvLdoRlG+M4Ia4NxMZ2SELo4IRX6qEtbmEST6epoU3K0EIKZZpCmk7JNCRpaSkJEFJahhhSY9pJggfHJiHYxg2OJSzr4dV7tbvSah939z7y/XfltwyaSTLJTO7Mr6u797///f7vnPOdcy7wG35I+NUcyvbtO9Ldy5bdl2pftDHIY2JivDQ9XejPZDLPvfLK3l1vvnlgeCEL/WoAJpO+jcvfe7KnpyeqV6vw+QK44qoN6OpsR80wEAqF7ZaWNimXzT5+zz07b5/DYeOXAJDz7+d4S8LVk2eeLRbPXecN548n6UVElf1d4ebWW2o1/Y5auFXe8sF1UFUXNFWDbVtWKpWWPW73C3fd9emtfEjhMM974UUPGStXqi13/suj2nvf90nJ7Q3CsM48YV/kKduGVTVhTZdhFSZgl4uw9QoqhmV1PvOAjGoRy7uXw+P2QFEUqJoGRZbNLZs/otxy87XSPIzMeyixr/5wm/+qtU/WTxbtbBnS+6IKVjSpCKu8Kc/h4x/5vBVsy4ZRraA6nYPOUSvNoF4pQy+XoLu86P+ne+EO+hCLxWnqJprfB5fbjRXd3VY+Vxx7+OH7UmeTNB9AKfHo/j/Qlq/+93y2qj59ZQAjVQuPHNMxxnPdmkN2GhAB81LRQLPJ3LGNerUGvVIhc1XIdo3nMt0gT1azWPyTXZg8/Ar8/gBCTU0E2ox4cwInB/pw7bXXGZcsW6Nqqic7NTWhvfTSCxvnBZg+WLdyPTMYuiGC5mdzaAsrOI1rzp2rZOryqOpcZioWsjqB2Y17btkm0zY6vIRrWTiYrUKtzMDKjsB36GWUX34Cer1GE6vweLwo5KeguHwwayV8/IZtWL58pbNuMBidUs5HF//yvqclO7TysfUB6fIXC2gLqsKtnBeLh2ZrNtbHVFSIpnfGQoHAygbg4k3igir8gzMrpoRsTcJARUaz14VVUS+OFy0sG/wREl4NsiyjpuvoTKfxmZ33ohRKIZcrojg1gtdeexWlyiw6O7r/RD4foPvS1TdMztrySNlGUoAjU+CQOSSONU0K9o3XUSLQmCqhTJu7uYONzSqSHmCxT8b7OcfHuZWahYjc2NT+KWBpsgWr5CKSqTRWrLwMiZAPxpW34kAuj71yC5If345MScVoZhgfeP8Hcffdd3xDPR+g7Ap41kYMfO2njEJr7jcOP8EI/zteMOGTJAfgUr59kVdFhPQdmjRw6xIPWTUQ5vXaiBu7RwyaGziUM+AjvRNHDsH2h2DPFKFKFqTNd+CEbmHYDmBJQsbxumx95vprdv2scv0n2hLxnfMFidr+PaN+jauCZ/t0hNwSiMUZLr6IhDiggwTgI+ChkoUNZO4HI3W0hxRcGlGwoUXFnuE6JBLv5Zz/5b0Ov4wyI3XzM3+GbKWGUDiIob5+7F9+PbyhCKpqCFvaXTgwZSP71x/yptPp6MmTJ7PEUzvfxDLoT01c2BQeTzBlHUh5ZOg1XvJeG//XeKtQFqYFvp+p4aG1fswwwj+cdOGJXh390xa2LSGDx3XQ6sjOGhjf/ypa0x3UPRXmTBaDq7dCCcSoZx0wo51ILVoCpXmxE6QENyLAnbLeWUenLGRDElFhNsaKEKmniYQfkggUGLH5is2U1fDNADfzyMEy4nz65UEdFb3hr48eLiPokZxN6p4Atmeew/HMCNKpJPqydWQQRFcqBTmUgOShHgYjUCKtXKX9PMbOOQwJ4sUiank2yOLoLJliVFZr4sUMIhHQvGcbOD3GZ0x84YoAfjxmcBMSnt4UxBs0rWBcqhuwv/8s2rtXMXu4MD06gCNd1yEQiCCrRGDKPm5CobNxaC5cEBMX/GKeGrZjzpmy5TAlzNzulZGl39m8J4bYhGBrXauG+/bPIkmfDVK41n0jh23dXmdDJVcUOz1H0NPXh0XpFH5ysop4tAmSL4YyfEj5XA1riYCcJ31eCJC7FpPteoMdsSdqKupk81jWgGKdtQn+P5U3cdN7PMhzI29Rfja0aVjGQLmE4p4t2GjZ80VEl65CiOltYqAXb3d9DKYWhMWhKS6YXMeqNdzl3DLhnQDaDQZn6G/CnF5eRjWKL68dF5gbCud89nf8+Ku9RYQ1GVsZGAMELPz08Tdn8beXjcH942fw1Leeou+14wfMTqoviFk5Ah/9EpaMIufKpxg0FgqQOxHmqdUa5mWadSLX8RBrLoB4ztH3Juij3RTmYxOG85IJ6mShYMHyhfHYHTfDHWmGz+vB8//1DDLt66G6QkJr4RXJ25KoDpYjSQ2/XyhAkTXMhqyIa+FnGTIjWWc2oDNaH7sujN09VQzmTHxpUwDfOVzBvsEa/uFDAczu/jcEYjG4KCsqy6rx8Ukg0eVErKwwMGzFsYJVb7iKY94FATQbAIVpMRcIAuxs9Yx5JY5Omvwrr5VoWsmRnyf2l+BnceBRJNz7mozwvkecotTl0lCrljDZvhmqzWpHDVAT5lLo3Fqn/H7hDM7JjAAmAkWItl5tyI4Ys9MmPrU+gCpFfJzM7qQfHuW5Tmc3LBXub30KnlgbNIJTWTwODw5BX7oJJjOGSemuMT9YdaEEcPK7XbcuGiTqhQAb/mXXbEfTciUT928Ks6KxnVQndqQpQhct7PgApYR8TM2aeOiaIMr8zTIKePxfD0KLNzvmrdcqGAlfjgeviaDgbUFHawzThoIwJelzu2cQZXGRn8taCwDIIs5qTBbMUfpwyyov7mbZFaEdxS2RQVqZd6eohzEuXuLiIj9HfARqemF+/ZOIhaME12Cvvz8D39W3Y6Dkx3eOMbNoZQQ8CsYYYDdf5sUPB2qOpJ1657sAHDgdBNJctB7qr7GWU9HPKqVIk5oEWCrZTuWcL8xRSnYnczY8hYNodRnMt25omkJ3qCLr7YZf8eDJIyr+cVscO/+7jLxaR5qif3So5tSQkmWfUYd3MbFtn+WD45SMCBfyM+BWxDUEGQQJn0KtM5AnyC3L3TiUqTcaG38EJx74MJSmuGNa0RANDQ5g9e/ei/+fCSAaDOLr+6q4cY0Ho2RvjH48Rokq6tZZQXIhwIvoYMOBBfoIE/4Qgb4+oOPGy3zYdaSCo6N13H6FH1/9vyIOk4VDlJY3v/0wXMyvmqpwqDBqVUzIHTg85sZ9W9OsflyUIwubuzz40du6I1txbl6eI8NhcKEyY5qnqhmgl0l/aUTFapr5/l0FtDPZRhg8//w/08wGUmO+EkC490n2uwTnsCdjfGSUtN8IF7vVv3/JxKUtHqe5+otn89jAjLOE6/WM1hqBQRcxF6iDFthLTLPc12zJKQiErvWNG/jjTSHk2FP0ksk7P8KqmBVsuSq274Jnz6eh+GNOreewV9cxYcaheKKoS2G0JfzYtj6ICvO1iN7tV/pxYqzOIJQcIhiamGbQNXwwY50N6IKuLvU3dTuFSQfMrJAbAYEgNe7wxvV+luYq/vSbOQToj6vTGkanZqB9lynNH4bX64ab2jeaGcRgxw50LOlCrLUTb016UWbn+cJnW3CCrcEXny+I1g9Vo4ElSqBR1p0DdgLDD6jSO5rY0kvlg6yK7/pYqJEjTTgCrNMMX6JuffPVWQTIgijne6d8qO66jUwFHNOqp9irBhGJt2FkNoDjWRVeRrSP/vbQi9O4k5urM+iqIjjmeuodHw3hQI9O7Z2tv5uJoR/fuzseVa0kvyKMn6g19EkEGv0jxV0eYUCs7XQjxFxv9O9F0G05ZhX+p5CJyYlxmO+5CbrhIaMhAlHZ28hYt9iF19kCtIVlZibHmZxMNXpCRwd7mURUtmr9r3/vfDwXNu6RJeHUjqOF3NsjyPzHIsR+bwBtnS6KsX3OQ1U1jtY9l8NFefF4XM6wTAO9/ePQ13weibYU0skkK2YPDnNTXpd0Tj0q3G98oI7J/+xE+o8GEelqxvBXknF+iJo6G86FqS5/olg5/O3PNS297uH0Hw7Kz32+FcPsSb5G8wxRGgSTIu0l8l+G7A07zIkhGvHsxATyiRuglBUMDlFW6G+SVnWWrc6h41S0UhXuuj6E9piG9tsGEW4LmpW39jxIcPl3Z7BxKJGPPvGXvlU3fcHIT1mTk6a87hI3lpHJMFOe1+/B03++Bk3Mt6LPEEOwd6znbVx9+6MINCUQiiVZLHhPe5EIN9GLFRitR5ne3uitIpZQLTXULFeOPv9g7qVbH8A82fidPr8JdmOxrS8+5e64cqOkBjWRZkRa0oa/C/XI31k+v08OBPxO5hgbyZiF1G2KEb+C2YQtpCdEbPK5fcapt7FBglnV9cG9r1YP3PP7pYmfCrMa84FYyAdMFY3X8Ntb2EdnVDyyHFrU3tU32PczKxJtluPxGIplEwPHJ/wIzPgvupJEXeC3QExPV9Doe+WLAftFD6Wpqanzqi2fGI4n2u1IPGmnFi+7GfNlpl/zoXq93lQwmBR9u4rfxuPnTjEKD0h39egAAAAASUVORK5CYII=",cd="data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5437_79109)'%3e%3cmask%20id='mask0_5437_79109'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='5'%20y='5'%20width='30'%20height='30'%3e%3cpath%20d='M5.6001%205.59961H34.4001V34.3996H5.6001V5.59961Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_5437_79109)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.3001%207.39961C8.0614%207.39961%207.83248%207.49443%207.6637%207.66321C7.49492%207.832%207.4001%208.06091%207.4001%208.29961V28.0996H5.6001V8.29961C5.6001%207.58352%205.88456%206.89677%206.39091%206.39042C6.89726%205.88407%207.58401%205.59961%208.3001%205.59961H32.4138C33.6165%205.59961%2034.2186%207.05371%2033.3684%207.90421L18.5166%2022.7557H22.7001V20.8996H24.5001V23.206C24.5001%2023.5641%2024.3579%2023.9074%2024.1047%2024.1606C23.8515%2024.4138%2023.5081%2024.556%2023.1501%2024.556H16.7166L13.623%2027.6496H27.6501V16.3996H29.4501V27.6496C29.4501%2028.127%2029.2605%2028.5848%2028.9229%2028.9224C28.5853%2029.26%2028.1275%2029.4496%2027.6501%2029.4496H11.823L8.673%2032.5996H31.7001C31.9388%2032.5996%2032.1677%2032.5048%2032.3365%2032.336C32.5053%2032.1672%2032.6001%2031.9383%2032.6001%2031.6996V11.8996H34.4001V31.6996C34.4001%2032.4157%2034.1156%2033.1024%2033.6093%2033.6088C33.1029%2034.1151%2032.4162%2034.3996%2031.7001%2034.3996H7.5864C6.3837%2034.3996%205.7816%2032.9455%206.6318%2032.095L21.4272%2017.2996H17.3001V19.0996H15.5001V16.8496C15.5001%2016.4916%2015.6423%2016.1482%2015.8955%2015.895C16.1487%2015.6418%2016.4921%2015.4996%2016.8501%2015.4996H23.2272L26.3772%2012.3496H12.3501V23.5996H10.5501V12.3496C10.5501%2011.8722%2010.7397%2011.4144%2011.0773%2011.0768C11.4149%2010.7393%2011.8727%2010.5496%2012.3501%2010.5496H28.1772L31.3272%207.39961H8.3001Z'%20fill='black'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_5437_79109'%3e%3crect%20width='28.8'%20height='28.8'%20fill='white'%20transform='translate(5.6001%205.59961)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",Om="data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5437_79100)'%3e%3cmask%20id='mask0_5437_79100'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='5'%20y='5'%20width='30'%20height='30'%3e%3cpath%20d='M5.6001%205.59961H34.4001V34.3996H5.6001V5.59961Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_5437_79100)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.3001%207.39961C8.0614%207.39961%207.83248%207.49443%207.6637%207.66321C7.49492%207.832%207.4001%208.06091%207.4001%208.29961V28.0996H5.6001V8.29961C5.6001%207.58352%205.88456%206.89677%206.39091%206.39042C6.89726%205.88407%207.58401%205.59961%208.3001%205.59961H32.4138C33.6165%205.59961%2034.2186%207.05371%2033.3684%207.90421L18.5166%2022.7557H22.7001V20.8996H24.5001V23.206C24.5001%2023.5641%2024.3579%2023.9074%2024.1047%2024.1606C23.8515%2024.4138%2023.5081%2024.556%2023.1501%2024.556H16.7166L13.623%2027.6496H27.6501V16.3996H29.4501V27.6496C29.4501%2028.127%2029.2605%2028.5848%2028.9229%2028.9224C28.5853%2029.26%2028.1275%2029.4496%2027.6501%2029.4496H11.823L8.673%2032.5996H31.7001C31.9388%2032.5996%2032.1677%2032.5048%2032.3365%2032.336C32.5053%2032.1672%2032.6001%2031.9383%2032.6001%2031.6996V11.8996H34.4001V31.6996C34.4001%2032.4157%2034.1156%2033.1024%2033.6093%2033.6088C33.1029%2034.1151%2032.4162%2034.3996%2031.7001%2034.3996H7.5864C6.3837%2034.3996%205.7816%2032.9455%206.6318%2032.095L21.4272%2017.2996H17.3001V19.0996H15.5001V16.8496C15.5001%2016.4916%2015.6423%2016.1482%2015.8955%2015.895C16.1487%2015.6418%2016.4921%2015.4996%2016.8501%2015.4996H23.2272L26.3772%2012.3496H12.3501V23.5996H10.5501V12.3496C10.5501%2011.8722%2010.7397%2011.4144%2011.0773%2011.0768C11.4149%2010.7393%2011.8727%2010.5496%2012.3501%2010.5496H28.1772L31.3272%207.39961H8.3001Z'%20fill='white'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_5437_79100'%3e%3crect%20width='28.8'%20height='28.8'%20fill='white'%20transform='translate(5.6001%205.59961)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",Nm="data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_5436_78897)'%3e%3cpath%20d='M35.911%2020.0773C35.911%2019.7026%2035.552%2019.4866%2035.1114%2019.5939L4.79962%2027.0055C4.35812%2027.1135%204%2027.5052%204%2027.8792V35.4541C4%2035.8288%204.35812%2036.0455%204.79962%2035.9375L35.1114%2028.5266C35.552%2028.4187%2035.911%2028.0269%2035.911%2027.6523V20.0774V20.0773Z'%20fill='url(%23paint0_linear_5436_78897)'/%3e%3cpath%20d='M4%2019.8353C4%2020.21%204.35812%2020.6016%204.79962%2020.7097L35.1159%2028.1219C35.5573%2028.2299%2035.9155%2028.0133%2035.9155%2027.6393V20.0637C35.9155%2019.6897%2035.5573%2019.298%2035.1159%2019.19L4.79962%2011.7778C4.35812%2011.6699%204%2011.8858%204%2012.2603V19.8353V19.8353Z'%20fill='%23FF9800'/%3e%3cpath%20d='M35.911%204.51106C35.911%204.1365%2035.552%203.91973%2035.1114%204.02778L4.79962%2011.4387C4.35812%2011.5466%204%2011.9383%204%2012.313V19.8879C4%2020.2626%204.35812%2020.4786%204.79962%2020.3712L35.1114%2012.9596C35.552%2012.8517%2035.911%2012.46%2035.911%2012.086V4.51106Z'%20fill='%23FF9800'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_5436_78897'%20x1='1762.84'%20y1='981.852'%20x2='1845.15'%20y2='624.882'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23FF9700'/%3e%3cstop%20offset='0.53'%20stop-color='%23F48E00'/%3e%3cstop%20offset='1'%20stop-color='%23D06F00'/%3e%3c/linearGradient%3e%3cclipPath%20id='clip0_5436_78897'%3e%3crect%20width='32'%20height='32'%20fill='white'%20transform='translate(4%204)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";var Bm=k("<img data-component=app-icon>");const qm={vscode:Rm,cursor:Tm,zed:cd,"file-explorer":Am,finder:Dm,terminal:Em,iterm2:Lm,ghostty:Im,warp:Fm,xcode:zm,"android-studio":_m,antigravity:Sm,textmate:Pm,powershell:Mm,"sublime-text":Nm},Hm={zed:{light:cd,dark:Om}},Ka=()=>typeof document!="object"?"light":document.documentElement.dataset.colorScheme==="dark"?"dark":"light",Ya=e=>{const[t,n]=_t(e,["id","class","classList","alt","draggable"]),[r,i]=De(Ka());return Xt(()=>{const o=()=>i(Ka()),a=new MutationObserver(o);a.observe(document.documentElement,{attributes:!0,attributeFilter:["data-color-scheme"]}),o(),rt(()=>a.disconnect())}),(()=>{var o=Bm();return Yn(o,Ke(n,{get src(){return Hm[t.id]?.[r()]??qm[t.id]},get alt(){return t.alt??""},get draggable(){return t.draggable??!1},get classList(){return{...t.classList??{},[t.class??""]:!!t.class}}}),!1,!1),o})()},[jm,Xa]=De();let lo;function Xi(e,t=3e3){lo&&clearTimeout(lo),Xa(e),lo=setTimeout(()=>Xa(void 0),t)}const Za=jm;var Wm=k('<div class="flex items-center justify-between gap-2 w-fit"><span class="text-13-regular hidden xl:inline flex-1 opacity-50">'),Um=k('<span class="text-12-regular text-text-weak hidden xl:inline">⌘K'),Qa=k('<span class="inline-flex items-center gap-1.5">Preview'),Gm=k('<span class="inline-flex items-center gap-1.5">Publish'),Ja=k('<div class="flex size-5 shrink-0 items-center justify-center [&_[data-component=app-icon]]:size-5">'),Vm=k('<div class="flex items-center"><div class="flex h-[24px] box-border items-center rounded-md border border-border-weak-base bg-surface-panel overflow-hidden">'),Km=k('<div class="hidden xl:flex items-center">'),Ym=k('<div class="flex items-center gap-2">'),Xm=k('<div class="flex items-center gap-1">');const Zm=["vscode","cursor","zed","textmate","antigravity","finder","terminal","iterm2","ghostty","warp","xcode","android-studio","powershell","sublime-text"],Qm=[{id:"vscode",label:"session.header.open.app.vscode",icon:"vscode",openWith:"Visual Studio Code"},{id:"cursor",label:"session.header.open.app.cursor",icon:"cursor",openWith:"Cursor"},{id:"zed",label:"session.header.open.app.zed",icon:"zed",openWith:"Zed"},{id:"textmate",label:"session.header.open.app.textmate",icon:"textmate",openWith:"TextMate"},{id:"antigravity",label:"session.header.open.app.antigravity",icon:"antigravity",openWith:"Antigravity"},{id:"terminal",label:"session.header.open.app.terminal",icon:"terminal",openWith:"Terminal"},{id:"iterm2",label:"session.header.open.app.iterm2",icon:"iterm2",openWith:"iTerm"},{id:"ghostty",label:"session.header.open.app.ghostty",icon:"ghostty",openWith:"Ghostty"},{id:"warp",label:"session.header.open.app.warp",icon:"warp",openWith:"Warp"},{id:"xcode",label:"session.header.open.app.xcode",icon:"xcode",openWith:"Xcode"},{id:"android-studio",label:"session.header.open.app.androidStudio",icon:"android-studio",openWith:"Android Studio"},{id:"sublime-text",label:"session.header.open.app.sublimeText",icon:"sublime-text",openWith:"Sublime Text"}],Jm=[{id:"vscode",label:"session.header.open.app.vscode",icon:"vscode",openWith:"code"},{id:"cursor",label:"session.header.open.app.cursor",icon:"cursor",openWith:"cursor"},{id:"zed",label:"session.header.open.app.zed",icon:"zed",openWith:"zed"},{id:"powershell",label:"session.header.open.app.powershell",icon:"powershell",openWith:"powershell"},{id:"sublime-text",label:"session.header.open.app.sublimeText",icon:"sublime-text",openWith:"Sublime Text"}],eh=[{id:"vscode",label:"session.header.open.app.vscode",icon:"vscode",openWith:"code"},{id:"cursor",label:"session.header.open.app.cursor",icon:"cursor",openWith:"cursor"},{id:"zed",label:"session.header.open.app.zed",icon:"zed",openWith:"zed"},{id:"sublime-text",label:"session.header.open.app.sublimeText",icon:"sublime-text",openWith:"Sublime Text"}],th=e=>{if(e.platform==="desktop"&&e.os)return e.os;if(typeof navigator!="object")return"unknown";const t=navigator.platform||navigator.userAgent;return/Mac/i.test(t)?"macos":/Win/i.test(t)?"windows":/Linux/i.test(t)?"linux":"unknown"},el=(e,t)=>{at({variant:"error",title:e.t("common.requestFailed"),description:t instanceof Error?t.message:String(t)})},nh="Start this project's app or preview server if needed. Reuse any already running server when possible, resolve port conflicts or startup issues, and once it is available open the app in the IDE browser route using the preview/browser tools.";function rh(){const e=rr(),t=Er(),n=As(),r=Pr(),i=_c(),o=Ds(),a=At(),c=Jt(),l=An();Rr();const u=zn(),g=Sr(),[,f]=Wo(),{params:h}=ir();function p(){un(async()=>{const{DialogCreateProject:ae}=await import("./dialog-create-project-CDuD9Ck4.js");return{DialogCreateProject:ae}},__vite__mapDeps([0,1,2])).then(({DialogCreateProject:ae})=>{u.show(()=>s(ae,{onSelect:fe=>{if(!fe)return;const $e=Array.isArray(fe)?fe[0]:fe;$e&&(e.projects.open($e),g(`/${Qr($e)}/session`))}}))})}const x=_(()=>wf(h.dir)??""),v=_(()=>{const ae=x();if(ae)return e.projects.list().find(fe=>fe.worktree===ae||fe.sandboxes?.includes(ae))});_(()=>{const ae=v();return ae?ae.name||jt(ae.worktree):jt(x())});const b=_(()=>t.keybind("file.open")),m=_(()=>th(o)),[$,w]=et({finder:!0}),y=_(()=>m()==="macos"?Qm:m()==="windows"?Jm:eh),S=_(()=>m()==="macos"?{label:"session.header.open.finder",icon:"finder"}:m()==="windows"?{label:"session.header.open.fileExplorer",icon:"file-explorer"}:{label:"session.header.open.fileManager",icon:"finder"});xe(()=>{if(o.platform!=="desktop"||!o.checkAppExists)return;const ae=y();w(Object.fromEntries(ae.map(fe=>[fe.id,void 0]))),Promise.all(ae.map(fe=>Promise.resolve(o.checkAppExists?.(fe.openWith)).then($e=>!!$e).catch(()=>!1).then($e=>[fe.id,$e]))).then(fe=>{w(Object.fromEntries(fe))})});const C=_(()=>[{id:"finder",label:a.t(S().label),icon:S().icon},...y().filter(ae=>$[ae.id]).map(ae=>({...ae,label:a.t(ae.label)}))]),[A,R]=mr(hr.global("open.app"),et({app:"finder"})),[V,N]=et({open:!1}),[B,O]=et({app:void 0}),[L,T]=et({running:!1}),E=_(()=>o.platform==="desktop"&&!!o.openPath&&i.isLocal()),P=_(()=>C().find(ae=>ae.id===A.app)??C()[0]??{id:"finder",label:S().label,icon:S().icon}),j=_(()=>B.app!==void 0),G=_(()=>L.running),q=_(()=>Sc(h.id?l.data.message[h.id]:void 0,l.data.agent)),z=(ae,fe)=>{const[,$e]=n.child(ae);$e("session",Me=>{const Q=Ii.search(Me,fe.id,re=>re.id),ne=[...Me];return Q.found?(ne[Q.index]=fe,ne):(ne.splice(Q.index,0,fe),ne)})},F=ae=>{C().some(fe=>fe.id===ae)&&R("app",ae)},Z=ae=>{if(j()||!E()||!o.openPath)return;const fe=x();if(!fe)return;const $e=C().find(Q=>Q.id===ae),Me=$e&&"openWith"in $e?$e.openWith:void 0;O("app",ae),o.openPath(fe,Me).catch(Q=>el(a,Q)).finally(()=>{O("app",void 0)})},U=async()=>{if(G())return;const ae=r.model.current(),fe=r.agent.current();if(!ae||!fe){at({title:a.t("prompt.toast.modelAgentRequired.title"),description:a.t("prompt.toast.modelAgentRequired.description")});return}const $e=x();if($e){T("running",!0);try{e.session.open();const Me=h.id===void 0?await c.client.session.create().then(ne=>ne.data??void 0):void 0,Q=Me??(h.id?{id:h.id}:void 0);if(!Q)throw new Error(a.t("common.requestFailed"));Me?(z($e,Me),r.session.promote($e,Me.id),e.handoff.setTabs(Qr($e),Me.id),g(`/${Qr($e)}/session/${Me.id}?view=browser`)):f({view:"browser"}),await c.client.session.prompt({sessionID:Q.id,agent:fe.name,model:{modelID:ae.id,providerID:ae.provider.id},variant:r.model.variant.current(),parts:[{type:"text",text:nh}]})}catch(Me){el(a,Me)}finally{T("running",!1)}}},se=_(()=>document.getElementById("opencode-titlebar-left")),he=_(()=>document.getElementById("opencode-titlebar-center")),ee=_(()=>document.getElementById("opencode-titlebar-right")),oe=()=>p();return[s(M,{get when(){return se()},children:ae=>s(fs,{get mount(){return ae()},get children(){return s(ot,{variant:"secondary",size:"small",class:"h-6 px-3 text-13-medium",onClick:oe,get children(){return[s(Ne,{name:"plus",size:"small",class:"mr-1"}),"New Project"]}})}})}),s(M,{get when(){return he()},children:ae=>s(fs,{get mount(){return ae()},get children(){return s(Cn,{placement:"bottom",get title(){return a.t("session.header.searchFiles")},get keybind(){return b()??""},get children(){return s(ot,{variant:"ghost",class:"titlebar-icon h-7 px-3 min-w-[420px] flex justify-between items-center gap-2 rounded-full border border-border-base/40 bg-surface-base/60",onClick:()=>t.trigger("file.open"),get"aria-label"(){return a.t("session.header.searchFiles")},get children(){return[(()=>{var fe=Wm(),$e=fe.firstChild;return d(fe,s(Ne,{name:"magnifying-glass",size:"small",class:"shrink-0"}),$e),d($e,()=>a.t("session.header.searchFiles")),fe})(),Um()]}})}})}})}),s(M,{get when(){return ee()},children:ae=>s(fs,{get mount(){return ae()},get children(){var fe=Ym();return d(fe,s(ot,{size:"small",class:"h-6 px-3 text-13-medium bg-white text-black hover:bg-white/90 dark:bg-black dark:text-white dark:hover:bg-black/90",get disabled(){return G()},onClick:()=>void U(),get children(){return s(M,{get when(){return G()},get fallback(){return(()=>{var $e=Qa(),Me=$e.firstChild;return d($e,s($f,{class:"size-3.5"}),Me),$e})()},get children(){var $e=Qa(),Me=$e.firstChild;return d($e,s(Di,{class:"size-3.5"}),Me),$e}})}}),null),d(fe,s(ot,{size:"small",class:"h-6 px-3 text-13-medium bg-white text-black hover:bg-white/90",onClick:()=>{},get children(){var $e=Gm(),Me=$e.firstChild;return d($e,s(_i,{class:"size-3.5"}),Me),$e}}),null),d(fe,s(M,{get when(){return x()},get children(){var $e=Km();return d($e,s(M,{get when(){return E()},get fallback(){return Xm()},get children(){var Me=Vm(),Q=Me.firstChild;return d(Q,s(ot,{variant:"ghost",class:"rounded-none h-full px-0.5 border-none shadow-none disabled:!cursor-default",get classList(){return{"bg-surface-raised-base-active":j()}},onClick:()=>Z(P().id),get disabled(){return j()},get"aria-label"(){return a.t("session.header.open.ariaLabel",{app:P().label})},get children(){var ne=Ja();return d(ne,s(M,{get when(){return j()},get fallback(){return s(Ya,{get id(){return P().icon}})},get children(){return s(Di,{class:"size-3.5",get style(){return{color:q()??"var(--icon-base)"}}})}})),ne}}),null),d(Q,s(ht,{gutter:4,placement:"bottom-end",get open(){return V.open},onOpenChange:ne=>N("open",ne),get children(){return[s(ht.Trigger,{as:pt,icon:"chevron-down",variant:"ghost",get disabled(){return j()},class:"rounded-none h-full w-[20px] p-0 border-none shadow-none data-[expanded]:bg-surface-raised-base-active disabled:!cursor-default",get classList(){return{"bg-surface-raised-base-active":j()}},get"aria-label"(){return a.t("session.header.open.menu")}}),s(ht.Portal,{get children(){return s(ht.Content,{class:"[&_[data-slot=dropdown-menu-item]]:pl-1 [&_[data-slot=dropdown-menu-radio-item]]:pl-1 [&_[data-slot=dropdown-menu-radio-item]+[data-slot=dropdown-menu-radio-item]]:mt-1",get children(){return s(ht.Group,{get children(){return[s(ht.GroupLabel,{class:"!px-1 !py-1",get children(){return a.t("session.header.openIn")}}),s(ht.RadioGroup,{class:"mt-1",get value(){return P().id},onChange:ne=>{Zm.includes(ne)&&F(ne)},get children(){return s(ze,{get each(){return C()},children:ne=>s(ht.RadioItem,{get value(){return ne.id},get disabled(){return j()},onSelect:()=>{N("open",!1),Z(ne.id)},get children(){return[(()=>{var re=Ja();return d(re,s(Ya,{get id(){return ne.icon}})),re})(),s(ht.ItemLabel,{get children(){return ne.label}}),s(ht.ItemIndicator,{get children(){return s(Ne,{name:"check-small",size:"small",class:"text-icon-weak"})}})]}})})}})]}})}})}})]}}),null),Me}})),$e}}),null),fe}})})]}function Ci(e,t){for(let n=e.length-1;n>=0;n-=1){const r=e[n];if(t(r,n,e))return r}}var ih={};Uo(ih,{Accordion:()=>li,Content:()=>fd,Header:()=>gd,Item:()=>hd,Root:()=>pd,Trigger:()=>vd,useAccordionContext:()=>sa});var dd=si();function ud(){const e=ii(dd);if(e===void 0)throw new Error("[kobalte]: `useAccordionItemContext` must be used within a `Accordion.Item` component");return e}function fd(e){const t=ud(),n=t.generateId("content"),r=bn({id:n},e),[i,o]=_t(r,["id","style"]);return xe(()=>rt(t.registerContentId(i.id))),s(Df,Ke({role:"region",get"aria-labelledby"(){return t.triggerId()},get style(){return Is({"--kb-accordion-content-height":"var(--kb-collapsible-content-height)","--kb-accordion-content-width":"var(--kb-collapsible-content-width)"},i.style)}},o))}function gd(e){const t=Tc();return s(Dn,Ke({as:"h3"},()=>t.dataset(),e))}var md=si();function sa(){const e=ii(md);if(e===void 0)throw new Error("[kobalte]: `useAccordionContext` must be used within a `Accordion.Root` component");return e}function hd(e){const t=sa(),n=`${t.generateId("item")}-${Fi()}`,r=bn({id:n},e),[i,o]=_t(r,["value","disabled"]),[a,c]=De(),[l,u]=De(),g=()=>t.listState().selectionManager(),f=()=>g().isSelected(i.value),h={value:()=>i.value,triggerId:a,contentId:l,generateId:Ls(()=>o.id),registerTriggerId:Si(c),registerContentId:Si(u)};return s(dd.Provider,{value:h,get children(){return s(If,Ke({get open(){return f()},get disabled(){return i.disabled}},o))}})}function pd(e){let t;const n=`accordion-${Fi()}`,r=bn({id:n,multiple:!1,collapsible:!1,shouldFocusWrap:!0},e),[i,o]=_t(r,["id","ref","value","defaultValue","onChange","multiple","collapsible","shouldFocusWrap","onKeyDown","onMouseDown","onFocusIn","onFocusOut"]),[a,c]=De([]),{DomCollectionProvider:l}=kf({items:a,onItemsChange:c}),u=Cf({selectedKeys:()=>i.value,defaultSelectedKeys:()=>i.defaultValue,onSelectionChange:h=>i.onChange?.(Array.from(h)),disallowEmptySelection:()=>!i.multiple&&!i.collapsible,selectionMode:()=>i.multiple?"multiple":"single",dataSource:a});u.selectionManager().setFocusedKey("item-1");const g=_f({selectionManager:()=>u.selectionManager(),collection:()=>u.collection(),disallowEmptySelection:()=>u.selectionManager().disallowEmptySelection(),shouldFocusWrap:()=>i.shouldFocusWrap,disallowTypeAhead:!0,allowsTabNavigation:!0},()=>t),f={listState:()=>u,generateId:Ls(()=>i.id)};return s(l,{get children(){return s(md.Provider,{value:f,get children(){return s(Dn,Ke({as:"div",get id(){return i.id},ref(h){var p=Xn(x=>t=x,i.ref);typeof p=="function"&&p(h)},get onKeyDown(){return fr([i.onKeyDown,g.onKeyDown])},get onMouseDown(){return fr([i.onMouseDown,g.onMouseDown])},get onFocusIn(){return fr([i.onFocusIn])},get onFocusOut(){return fr([i.onFocusOut,g.onFocusOut])}},o))}})}})}function vd(e){let t;const n=sa(),r=ud(),i=Tc(),o=r.generateId("trigger"),a=bn({id:o},e),[c,l]=_t(a,["ref","onPointerDown","onPointerUp","onClick","onKeyDown","onMouseDown","onFocus"]);Sf({getItem:()=>({ref:()=>t,type:"item",key:r.value(),textValue:"",disabled:i.disabled()})});const u=Tf({key:()=>r.value(),selectionManager:()=>n.listState().selectionManager(),disabled:()=>i.disabled(),shouldSelectOnPressUp:!0},()=>t),g=f=>{["Enter"," "].includes(f.key)&&f.preventDefault(),Tn(f,c.onKeyDown),Tn(f,u.onKeyDown)};return xe(()=>rt(r.registerTriggerId(l.id))),s(Af,Ke({ref(f){var h=Xn(p=>t=p,c.ref);typeof h=="function"&&h(f)},get"data-key"(){return u.dataKey()},get onPointerDown(){return fr([c.onPointerDown,u.onPointerDown])},get onPointerUp(){return fr([c.onPointerUp,u.onPointerUp])},get onClick(){return fr([c.onClick,u.onClick])},onKeyDown:g,get onMouseDown(){return fr([c.onMouseDown,u.onMouseDown])},get onFocus(){return fr([c.onFocus,u.onFocus])}},l))}var li=Object.assign(pd,{Content:fd,Header:gd,Item:hd,Trigger:vd});function sh(e){const[t,n]=_t(e,["class","classList"]);return s(li,Ke(n,{"data-component":"accordion",get classList(){return{...t.classList??{},[t.class??""]:!!t.class}}}))}function oh(e){const[t,n]=_t(e,["class","classList"]);return s(li.Item,Ke(n,{"data-slot":"accordion-item",get classList(){return{...t.classList??{},[t.class??""]:!!t.class}}}))}function ah(e){const[t,n]=_t(e,["class","classList","children"]);return s(li.Header,Ke(n,{"data-slot":"accordion-header",get classList(){return{...t.classList??{},[t.class??""]:!!t.class}},get children(){return t.children}}))}function lh(e){const[t,n]=_t(e,["class","classList","children"]);return s(li.Trigger,Ke(n,{"data-slot":"accordion-trigger",get classList(){return{...t.classList??{},[t.class??""]:!!t.class}},get children(){return t.children}}))}function ch(e){const[t,n]=_t(e,["class","classList","children"]);return s(li.Content,Ke(n,{"data-slot":"accordion-content",get classList(){return{...t.classList??{},[t.class??""]:!!t.class}},get children(){return t.children}}))}const rn=Object.assign(sh,{Item:oh,Header:ah,Trigger:lh,Content:ch});function Ni(e){return s(rn.Header,{"data-component":"sticky-accordion-header",get classList(){return{...e.classList??{},[e.class??""]:!!e.class}},get children(){return e.children}})}var dh=k("<div class=scroll-view__thumb style=z-index:100>"),uh=k('<div><div class="scroll-view__viewport bg-background-stronger"tabindex=0 role=region>');const fh=e=>{if(!(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey))switch(e.key){case"PageDown":return"page-down";case"PageUp":return"page-up";case"Home":return"home";case"End":return"end";case"ArrowUp":return"up";case"ArrowDown":return"down"}};function Hs(e){const t=Et(),n=Ke({orientation:"vertical"},e),[r,i,o]=_t(n,["class","children","viewportRef","orientation","style"],["onScroll","onWheel","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","onPointerDown","onClick","onKeyDown"]);let a,c,l;const[u,g]=et({isHovered:!1,isDragging:!1,thumbHeight:0,thumbTop:0,showThumb:!1}),f=()=>u.isHovered,h=()=>u.isDragging,p=()=>u.thumbHeight,x=()=>u.thumbTop,v=()=>u.showThumb,b=()=>{if(!c)return;const{scrollTop:S,scrollHeight:C,clientHeight:A}=c;if(C<=A||C===0){g("showThumb",!1);return}g("showThumb",!0);const R=8,V=A-R*2,N=32;let B=A/C*V;B=Math.max(B,N);const O=C-A,L=V-B,T=O>0?S/O*L:0,E=R+Math.max(0,Math.min(T,L));g("thumbHeight",B),g("thumbTop",E)};Xt(()=>{r.viewportRef&&r.viewportRef(c);const S=new ResizeObserver(()=>{b()});S.observe(c),c.firstElementChild&&S.observe(c.firstElementChild),rt(()=>{S.disconnect()}),b()});let m=0,$=0;const w=S=>{S.preventDefault(),S.stopPropagation(),g("isDragging",!0),m=S.clientY,$=c.scrollTop,l.setPointerCapture(S.pointerId);const C=R=>{const V=R.clientY-m,{scrollHeight:N,clientHeight:B}=c,O=N-B,L=B-p();if(L>0){const T=V*(O/L);c.scrollTop=$+T}},A=R=>{g("isDragging",!1),l.releasePointerCapture(R.pointerId),l.removeEventListener("pointermove",C),l.removeEventListener("pointerup",A)};l.addEventListener("pointermove",C),l.addEventListener("pointerup",A)},y=S=>{if(document.activeElement&&["INPUT","TEXTAREA","SELECT"].includes(document.activeElement.tagName))return;const C=fh(S);if(!C)return;const A=c.clientHeight*.8,R=40;switch(C){case"page-down":S.preventDefault(),c.scrollBy({top:A,behavior:"smooth"});break;case"page-up":S.preventDefault(),c.scrollBy({top:-A,behavior:"smooth"});break;case"home":S.preventDefault(),c.scrollTo({top:0,behavior:"smooth"});break;case"end":S.preventDefault(),c.scrollTo({top:c.scrollHeight,behavior:"smooth"});break;case"up":S.preventDefault(),c.scrollBy({top:-R,behavior:"smooth"});break;case"down":S.preventDefault(),c.scrollBy({top:R,behavior:"smooth"});break}};return(()=>{var S=uh(),C=S.firstChild;S.addEventListener("pointerleave",()=>g("isHovered",!1)),S.addEventListener("pointerenter",()=>g("isHovered",!0));var A=a;typeof A=="function"?mt(A,S):a=S,Yn(S,Ke({get class(){return`scroll-view ${r.class||""}`},get style(){return r.style}},o),!1,!0),C.$$keydown=V=>{y(V),typeof i.onKeyDown=="function"&&i.onKeyDown(V)},gt(C,"click",i.onClick,!0),gt(C,"pointerdown",i.onPointerDown,!0),gt(C,"touchcancel",i.onTouchCancel),gt(C,"touchend",i.onTouchEnd,!0),gt(C,"touchmove",i.onTouchMove,!0),gt(C,"touchstart",i.onTouchStart,!0),gt(C,"wheel",i.onWheel),C.addEventListener("scroll",V=>{b(),typeof i.onScroll=="function"&&i.onScroll(V)});var R=c;return typeof R=="function"?mt(R,C):c=C,d(C,()=>r.children),d(S,s(M,{get when(){return v()},get children(){var V=dh();V.$$pointerdown=w;var N=l;return typeof N=="function"?mt(N,V):l=V,ie(B=>{var O=f()||h(),L=h(),T=`${p()}px`,E=`translateY(${x()}px)`;return O!==B.e&&ue(V,"data-visible",B.e=O),L!==B.t&&ue(V,"data-dragging",B.t=L),T!==B.a&&Je(V,"height",B.a=T),E!==B.o&&Je(V,"transform",B.o=E),B},{e:void 0,t:void 0,a:void 0,o:void 0}),V}}),null),ie(()=>ue(C,"aria-label",t.t("ui.scrollView.ariaLabel"))),S})()}Mt(["touchstart","touchmove","touchend","pointerdown","click","keydown"]);const xd=e=>e.tokens.input+e.tokens.output+e.tokens.reasoning+e.tokens.cache.read+e.tokens.cache.write,gh=e=>{for(let t=e.length-1;t>=0;t--){const n=e[t];if(n.role==="assistant"&&!(xd(n)<=0))return n}},mh=(e=[],t=[])=>{const n=e.reduce((l,u)=>l+(u.role==="assistant"?u.cost:0),0),r=gh(e);if(!r)return{totalCost:n,context:void 0};const i=t.find(l=>l.id===r.providerID),o=i?.models[r.modelID],a=o?.limit.context,c=xd(r);return{totalCost:n,context:{message:r,provider:i,model:o,providerLabel:i?.name??r.providerID,modelLabel:o?.name??r.modelID,limit:a,input:r.tokens.input,output:r.tokens.output,reasoning:r.tokens.reasoning,cacheRead:r.tokens.cache.read,cacheWrite:r.tokens.cache.write,total:c,usage:a?Math.round(c/a*100):null}}};function bd(e=[],t=[]){return mh(e,t)}const Zi=e=>Math.ceil(e/4),yd=(e,t)=>e/t*100,hh=(e,t)=>Math.round(yd(e,t)*10)/10,ph=e=>e.type==="text"?e.text.length:e.type==="file"?e.source?.text.value.length??0:e.type==="agent"?e.source?.value.length??0:0,vh=e=>{if(e.type==="text")return{assistant:e.text.length,tool:0};if(e.type==="reasoning")return{assistant:e.text.length,tool:0};if(e.type!=="tool")return{assistant:0,tool:0};const t=Object.keys(e.state.input).length*16;return e.state.status==="pending"?{assistant:0,tool:t+e.state.raw.length}:e.state.status==="completed"?{assistant:0,tool:t+e.state.output.length}:e.state.status==="error"?{assistant:0,tool:t+e.state.error.length}:{assistant:0,tool:t}},tl=(e,t)=>[{key:"system",tokens:e.system},{key:"user",tokens:e.user},{key:"assistant",tokens:e.assistant},{key:"tool",tokens:e.tool},{key:"other",tokens:e.other}].filter(n=>n.tokens>0).map(n=>({key:n.key,tokens:n.tokens,width:yd(n.tokens,t),percent:hh(n.tokens,t)}));function xh(e){if(!e.input)return[];const t=e.messages.reduce((c,l)=>{const u=e.parts[l.id]??[];if(l.role==="user"){const f=u.reduce((h,p)=>h+ph(p),0);return{...c,user:c.user+f}}if(l.role!=="assistant")return c;const g=u.reduce((f,h)=>{const p=vh(h);return{assistant:f.assistant+p.assistant,tool:f.tool+p.tool}},{assistant:0,tool:0});return{...c,assistant:c.assistant+g.assistant,tool:c.tool+g.tool}},{system:e.systemPrompt?.length??0,user:0,assistant:0,tool:0}),n={system:Zi(t.system),user:Zi(t.user),assistant:Zi(t.assistant),tool:Zi(t.tool)},r=n.system+n.user+n.assistant+n.tool;if(r<=e.input)return tl({...n,other:e.input-r},e.input);const i=e.input/r,o={system:Math.floor(n.system*i),user:Math.floor(n.user*i),assistant:Math.floor(n.assistant*i),tool:Math.floor(n.tool*i)},a=o.system+o.user+o.assistant+o.tool;return tl({...o,other:Math.max(0,e.input-a)},e.input)}function bh(e){return{number(t){return t===void 0||t===null?"—":t.toLocaleString(e)},percent(t){return t===void 0||t===null?"—":t.toLocaleString(e)+"%"},time(t){return t?To.fromMillis(t).setLocale(e).toLocaleString(To.DATETIME_MED):"—"}}}var yh=k('<div class="flex flex-col gap-1"><div class="text-12-regular text-text-weak"></div><div class="text-12-medium text-text-strong">'),wh=k('<div class="flex items-center justify-between gap-2 w-full"><div class="min-w-0 truncate"> <span class=text-text-base>• </span></div><div class="flex items-center gap-3"><div class="shrink-0 text-12-regular text-text-weak">'),$h=k("<div class=p-3>"),kh=k('<div class="flex flex-col gap-2"><div class="text-12-regular text-text-weak"></div><div class="h-2 w-full rounded-full bg-surface-base overflow-hidden flex"></div><div class="flex flex-wrap gap-x-3 gap-y-1"></div><div class="hidden text-11-regular text-text-weaker">'),Ch=k('<div class="px-6 pt-4 pb-10 flex flex-col gap-10"><div class="grid grid-cols-1 @[32rem]:grid-cols-2 gap-4"></div><div class="flex flex-col gap-2"><div class="text-12-regular text-text-weak">'),_h=k("<div class=h-full>"),Sh=k('<div class="flex items-center gap-1 text-11-regular text-text-weak"><div class="size-2 rounded-sm"></div><div></div><div class=text-text-weaker>%'),Th=k('<div class="flex flex-col gap-2"><div class="text-12-regular text-text-weak"></div><div class="border border-border-base rounded-md bg-surface-base px-3 py-2">');const nl={system:"var(--syntax-info)",user:"var(--syntax-success)",assistant:"var(--syntax-property)",tool:"var(--syntax-warning)",other:"var(--syntax-comment)"};function Ah(e){return(()=>{var t=yh(),n=t.firstChild,r=n.nextSibling;return d(n,()=>e.label),d(r,()=>e.value),t})()}function Dh(e){const t=_(()=>{const n=e.getParts(e.message.id),r=JSON.stringify({message:e.message,parts:n},null,2);return{name:`${e.message.role}-${e.message.id}.json`,contents:r,cacheKey:Ms(r)}});return s(Lf,{mode:"text",get file(){return t()},overflow:"wrap",class:"select-text",onRendered:()=>requestAnimationFrame(e.onRendered)})}function Ih(e){return s(rn.Item,{get value(){return e.message.id},get children(){return[s(Ni,{get children(){return s(rn.Trigger,{get children(){var t=wh(),n=t.firstChild,r=n.firstChild,i=r.nextSibling;i.firstChild;var o=n.nextSibling,a=o.firstChild;return d(n,()=>e.message.role,r),d(i,()=>e.message.id,null),d(a,()=>e.time(e.message.time.created)),d(o,s(Ne,{name:"chevron-grabber-vertical",size:"small",class:"shrink-0 text-text-weak"}),null),t}})}}),s(rn.Content,{class:"bg-background-base",get children(){var t=$h();return d(t,s(Dh,{get message(){return e.message},get getParts(){return e.getParts},get onRendered(){return e.onRendered}})),t}})]}})}const rl=[],il=[];function Lh(){const e=An(),t=At(),n=Go(),{params:r,view:i}=ir(),o=_(()=>r.id?e.session.get(r.id):void 0),a=_(()=>{const B=r.id;return B?e.data.message[B]??[]:rl},rl,{equals:Ir}),c=_(()=>a().filter(B=>B.role==="user"),il,{equals:Ir}),l=_(()=>{const B=o()?.revert?.messageID;return B?c().filter(O=>O.id<B):c()},il,{equals:Ir}),u=_(()=>new Intl.NumberFormat(t.intl(),{style:"currency",currency:"USD"})),g=_(()=>bd(a(),n.all())),f=_(()=>g().context),h=_(()=>bh(t.intl())),p=_(()=>u().format(g().totalCost)),x=_(()=>{const B=a(),O=B.reduce((T,E)=>T+(E.role==="user"?1:0),0),L=B.reduce((T,E)=>T+(E.role==="assistant"?1:0),0);return{all:B.length,user:O,assistant:L}}),v=_(()=>{const O=Ci(l(),T=>!!T.system)?.system;if(!O)return;const L=O.trim();if(L)return L}),b=_(()=>{const B=f();return B?B.providerLabel:"—"}),m=_(()=>{const B=f();return B?B.modelLabel:"—"}),$=_(ft(()=>[f()?.message.id,f()?.input,a().length,v()],()=>{const B=f();return B?.input?xh({messages:a(),parts:e.data.part,input:B.input,systemPrompt:v()}):[]})),w=B=>B==="system"?t.t("context.breakdown.system"):B==="user"?t.t("context.breakdown.user"):B==="assistant"?t.t("context.breakdown.assistant"):B==="tool"?t.t("context.breakdown.tool"):t.t("context.breakdown.other"),y=[{label:"context.stats.session",value:()=>o()?.title??r.id??"—"},{label:"context.stats.messages",value:()=>x().all.toLocaleString(t.intl())},{label:"context.stats.provider",value:b},{label:"context.stats.model",value:m},{label:"context.stats.limit",value:()=>h().number(f()?.limit)},{label:"context.stats.totalTokens",value:()=>h().number(f()?.total)},{label:"context.stats.usage",value:()=>h().percent(f()?.usage)},{label:"context.stats.inputTokens",value:()=>h().number(f()?.input)},{label:"context.stats.outputTokens",value:()=>h().number(f()?.output)},{label:"context.stats.reasoningTokens",value:()=>h().number(f()?.reasoning)},{label:"context.stats.cacheTokens",value:()=>`${h().number(f()?.cacheRead)} / ${h().number(f()?.cacheWrite)}`},{label:"context.stats.userMessages",value:()=>x().user.toLocaleString(t.intl())},{label:"context.stats.assistantMessages",value:()=>x().assistant.toLocaleString(t.intl())},{label:"context.stats.totalCost",value:p},{label:"context.stats.sessionCreated",value:()=>h().time(o()?.time.created)},{label:"context.stats.lastActivity",value:()=>h().time(f()?.message.time.created)}];let S,C,A;const R=B=>e.data.part[B]??[],V=()=>{const B=S;if(!B)return;const O=i().scroll("context");O&&(B.scrollTop!==O.y&&(B.scrollTop=O.y),B.scrollLeft!==O.x&&(B.scrollLeft=O.x))},N=B=>{A={x:B.currentTarget.scrollLeft,y:B.currentTarget.scrollTop},C===void 0&&(C=requestAnimationFrame(()=>{C=void 0;const O=A;A=void 0,O&&i().setScroll("context",O)}))};return xe(ft(()=>a().length,()=>{requestAnimationFrame(V)},{defer:!0})),rt(()=>{C!==void 0&&cancelAnimationFrame(C)}),s(Hs,{class:"@container h-full",viewportRef:B=>{S=B,V()},onScroll:N,get children(){var B=Ch(),O=B.firstChild,L=O.nextSibling,T=L.firstChild;return d(O,s(ze,{each:y,children:E=>s(Ah,{get label(){return t.t(E.label)},get value(){return E.value()}})})),d(B,s(M,{get when(){return $().length>0},get children(){var E=kh(),P=E.firstChild,j=P.nextSibling,G=j.nextSibling,q=G.nextSibling;return d(P,()=>t.t("context.breakdown.title")),d(j,s(ze,{get each(){return $()},children:z=>(()=>{var F=_h();return ie(Z=>{var U=`${z.width}%`,se=nl[z.key];return U!==Z.e&&Je(F,"width",Z.e=U),se!==Z.t&&Je(F,"background-color",Z.t=se),Z},{e:void 0,t:void 0}),F})()})),d(G,s(ze,{get each(){return $()},children:z=>(()=>{var F=Sh(),Z=F.firstChild,U=Z.nextSibling,se=U.nextSibling,he=se.firstChild;return d(U,()=>w(z.key)),d(se,()=>z.percent.toLocaleString(t.intl()),he),ie(ee=>Je(Z,"background-color",nl[z.key])),F})()})),d(q,()=>t.t("context.breakdown.note")),E}}),L),d(B,s(M,{get when(){return v()},children:E=>(()=>{var P=Th(),j=P.firstChild,G=j.nextSibling;return d(j,()=>t.t("context.systemPrompt.title")),d(G,s(Fr,{get text(){return E()},class:"text-12-regular"})),P})()}),L),d(T,()=>t.t("context.rawMessages.title")),d(L,s(rn,{multiple:!0,get children(){return s(ze,{get each(){return a()},children:E=>s(Ih,{message:E,getParts:R,onRendered:V,get time(){return h().time}})})}}),null),B}})}var Mh=k('<span class="relative inline-flex size-4 shrink-0">'),Eh=k('<span class="size-1.5 shrink-0 rounded-full bg-amber-400"aria-hidden>'),Ph=k('<div class="flex items-center gap-x-1.5 min-w-0"><span class="text-14-medium truncate">'),Rh=k('<div class="h-full flex items-center">');function wd(e){return(()=>{var t=Ph(),n=t.firstChild;return d(t,s(M,{get when(){return!e.active},get fallback(){return s(Sn,{get node(){return{path:e.path,type:"file"}},class:"size-4 shrink-0"})},get children(){var r=Mh();return d(r,s(Sn,{get node(){return{path:e.path,type:"file"}},class:"absolute inset-0 size-4 tab-fileicon-color"}),null),d(r,s(Sn,{get node(){return{path:e.path,type:"file"}},mono:!0,class:"absolute inset-0 size-4 tab-fileicon-mono"}),null),r}}),n),d(n,()=>jt(e.path)),d(t,s(M,{get when(){return e.dirty},get children(){return Eh()}}),null),t})()}function Fh(e){const t=In(),n=At(),r=Er(),i=Es(e.tab),o=_(()=>t.pathFromTab(e.tab)),a=_(()=>{const u=o();return u?t.dirty(u):!1}),c=_(()=>{const u=o();if(u)return s(wd,{path:u,get dirty(){return a()}})}),l=()=>{a()&&typeof window<"u"&&!window.confirm("Discard unsaved changes?")||e.onTabClose(e.tab)};return(()=>{var u=Rh();return mt(i,u,()=>!0),d(u,s(ln.Trigger,{get value(){return e.tab},get closeButton(){return s(Cn,{get title(){return n.t("common.closeTab")},get keybind(){return r.keybind("tab.close")},placement:"bottom",gutter:10,get children(){return s(pt,{icon:"close-small",variant:"ghost",class:"h-5 w-5",onClick:l,get"aria-label"(){return n.t("common.closeTab")}})}})},hideCloseButton:!0,onMiddleClick:l,get children(){return s(M,{get when(){return c()},children:g=>g()})}})),ie(()=>u.classList.toggle("opacity-0",!!i.isActiveDraggable)),u})()}const zh=[],ci=e=>{const t=e.review??(()=>!1),n=e.hasReview??(()=>!1),r=_(()=>e.tabs().active()==="context"||e.tabs().all().includes("context")),i=_(()=>{const u=new Set;return e.tabs().all().flatMap(g=>{if(g==="context"||g==="review"||g==="home"||g==="graph"||g==="plan"||g==="explore"||g==="preview"||g==="ship")return[];const f=e.pathFromTab(g)?e.normalizeTab(g):g;return u.has(f)?[]:(u.add(f),[f])})},zh,{equals:Ir}),o=_(()=>{const u=e.tabs().active();if(u==="context"||u==="home"||u==="plan"||u==="explore"||u==="graph"||u==="preview"||u==="review"||u==="ship"||u==="review"&&t())return u;if(u&&e.pathFromTab(u))return e.normalizeTab(u);const g=i()[0];return g||(r()?"context":t()&&n()?"review":"empty")}),a=_(()=>{const u=o();return u==="home"?"home":u==="plan"?"plan":u==="explore"?"explore":u==="browser"?"browser":u==="preview"?"preview":u==="data"?"data":u==="assets"?"assets":u==="review"?"review":u==="ship"?"ship":"code"}),c=_(()=>{const u=o();if(i().includes(u))return u}),l=_(()=>{const u=o();if(u==="context")return u;if(!(u==="home"||u==="plan"||u==="explore"||u==="graph"||u==="preview"||u==="data"||u==="assets"||u==="ship")&&i().includes(u))return u});return{contextOpen:r,openedTabs:i,activeTab:o,activeTopTab:a,activeFileTab:c,closableTab:l}},Zr=e=>{const n=document.getElementById(`terminal-wrapper-${e}`)?.querySelector('[data-component="terminal"]');if(!(n instanceof HTMLElement))return!1;const r=n.querySelector("textarea");return r instanceof HTMLTextAreaElement?(r.focus(),!0):(n.focus(),n.dispatchEvent(typeof PointerEvent=="function"?new PointerEvent("pointerdown",{bubbles:!0,cancelable:!0}):new MouseEvent("pointerdown",{bubbles:!0,cancelable:!0})),!0)},Oh=new Set(["Alt","Control","Meta","Shift"]),Nh=e=>Oh.has(e.key)?!1:!(e.ctrlKey||e.metaKey||e.altKey),Bh=e=>t=>{sn(()=>{e.showAllFiles();const n=e.loadFile(t),r=()=>{const i=e.tabForPath(t);e.openTab(i),e.setActive(i)};n instanceof Promise?n.then(r):r()})},qh=e=>t=>{const n=e.normalizeTab(t);e.openTab(n);const r=e.pathFromTab(n);r&&(e.loadFile(r),e.openReviewPanel(),e.setActive(n))},$d=(e,t,n)=>{const r=e.indexOf(t),i=e.indexOf(n);if(!(r===-1||i===-1||r===i))return i},kd=()=>{const[e,t]=et({active:!1});let n;const r=()=>{n!==void 0&&(clearTimeout(n),n=void 0),t("active",!1)},i=()=>{n!==void 0&&(clearTimeout(n),n=void 0),t("active",!0)};return Xt(()=>{window.addEventListener("pointerup",r),window.addEventListener("pointercancel",r),window.addEventListener("blur",r),rt(()=>{window.removeEventListener("pointerup",r),window.removeEventListener("pointercancel",r),window.removeEventListener("blur",r)})}),rt(()=>{n!==void 0&&clearTimeout(n)}),{active:()=>e.active,start:i,touch(){i(),n=window.setTimeout(r,120)}}};var Hh=k('<div class="flex items-center gap-1 text-[12px] ml-1"><span>'),jh=k('<div class="absolute inset-0 flex items-center px-3 bg-muted z-10 pointer-events-auto"><input type=text class="bg-transparent border-none outline-none text-sm min-w-0 flex-1">'),Wh=k('<div class="outline-none focus:outline-none focus-visible:outline-none flex items-center px-2.5 h-full"><div class="relative h-full flex items-center">');function Uh(e){const t=Rr(),n=At(),r=Es(e.terminal.id),[i,o]=et({editing:!1,title:e.terminal.title,menuOpen:!1,menuPosition:{x:0,y:0},blurEnabled:!1});let a,c,l=!1;const u=()=>{const m=e.terminal.titleNumber;return!Number.isFinite(m)||m<=0?!1:Ac(e.terminal.title,m)},g=()=>{if(n.locale(),e.terminal.title&&!u())return e.terminal.title;const m=e.terminal.titleNumber;return Number.isFinite(m)&&m>0?n.t("terminal.title.numbered",{number:m}):e.terminal.title?e.terminal.title:n.t("terminal.title")},f=()=>{const m=t.all().length;t.close(e.terminal.id),m===1&&e.onClose?.()},h=()=>{i.editing||(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),Zr(e.terminal.id))},p=m=>{m&&(m.stopPropagation(),m.preventDefault()),o("blurEnabled",!1),o("title",e.terminal.title),o("editing",!0)},x=()=>{if(!i.blurEnabled)return;const m=i.title.trim();m&&m!==e.terminal.title&&t.update({id:e.terminal.id,title:m}),o("editing",!1)},v=m=>{if(m.key==="Enter"){m.preventDefault(),x();return}m.key==="Escape"&&(m.preventDefault(),o("editing",!1))},b=m=>{m.preventDefault(),o("menuPosition",{x:m.clientX,y:m.clientY}),o("menuOpen",!0)};return xe(()=>{i.editing&&a&&(a.focus(),a.select(),c!==void 0&&cancelAnimationFrame(c),c=requestAnimationFrame(()=>{c=void 0,o("blurEnabled",!0)}))}),rt(()=>{c!==void 0&&cancelAnimationFrame(c)}),(()=>{var m=Wh(),$=m.firstChild;return mt(r,m,()=>!0),d($,s(ln.Trigger,{get value(){return e.terminal.id},onClick:h,onMouseDown:w=>w.preventDefault(),onContextMenu:b,class:"!shadow-none px-1.5",classes:{button:"border-0 outline-none focus:outline-none focus-visible:outline-none !shadow-none !ring-0 flex items-center"},get closeButton(){return s(pt,{icon:"close-small",variant:"ghost",onClick:w=>{w.stopPropagation(),f()},get"aria-label"(){return n.t("terminal.close")}})},get children(){return[s(Ne,{name:"terminal",class:"w-4 h-4"}),(()=>{var w=Hh(),y=w.firstChild;return y.$$dblclick=p,d(y,g),ie(()=>y.classList.toggle("invisible",!!i.editing)),w})()]}}),null),d($,s(M,{get when(){return i.editing},get children(){var w=jh(),y=w.firstChild;y.$$mousedown=C=>C.stopPropagation(),y.$$keydown=v,y.addEventListener("blur",x),y.$$input=C=>o("title",C.currentTarget.value);var S=a;return typeof S=="function"?mt(S,y):a=y,ie(()=>y.value=i.title),w}}),null),d($,s(ht,{get open(){return i.menuOpen},onOpenChange:w=>o("menuOpen",w),get children(){return s(ht.Portal,{get children(){return s(ht.Content,{class:"fixed",get style(){return{left:`${i.menuPosition.x}px`,top:`${i.menuPosition.y}px`}},onCloseAutoFocus:w=>{l&&(w.preventDefault(),l=!1,requestAnimationFrame(()=>p()))},get children(){return[s(ht.Item,{onSelect:()=>l=!0,get children(){return[s(Ne,{name:"edit",class:"w-4 h-4 mr-2"}),Ce(()=>n.t("common.rename"))]}}),s(ht.Item,{onSelect:f,get children(){return[s(Ne,{name:"close",class:"w-4 h-4 mr-2"}),Ce(()=>n.t("common.close"))]}})]}})}})}}),null),ie(()=>m.classList.toggle("opacity-0",!!r.isActiveDraggable)),m})()}Mt(["dblclick","input","keydown","mousedown"]);var Gh=k('<div class="size-full flex flex-col bg-background-base"><div class="h-12 shrink-0 "aria-hidden></div><div class="flex-1 px-6 pb-30 flex items-center justify-center text-center "><div class="w-full max-w-200 flex flex-col items-center text-center gap-4"><div class="flex flex-col items-center gap-6"><svg width=40 height=40 viewBox="0 0 800 800"fill=none xmlns=http://www.w3.org/2000/svg class=shrink-0><path d="M373.362 226.643C388.087 211.919 411.96 211.919 426.684 226.643L573.37 373.324C588.094 388.047 588.094 411.92 573.37 426.644L426.684 573.324C411.96 588.048 388.087 588.048 373.362 573.324L226.677 426.644C211.952 411.92 211.952 388.047 226.677 373.324L373.362 226.643Z"fill=currentColor></path><path d="M586.658 513.282C594.02 505.921 605.956 505.921 613.318 513.282L686.659 586.621C694.021 593.983 694.021 605.919 686.659 613.28L613.318 686.619C605.956 693.981 594.02 693.981 586.658 686.619L513.317 613.28C505.955 605.919 505.955 593.983 513.317 586.621L586.658 513.282Z"fill=currentColor></path><path d="M286.501 586.454C293.957 593.909 293.957 605.997 286.501 613.453L213.5 686.452C206.044 693.907 193.956 693.907 186.5 686.452L113.499 613.453C106.043 605.997 106.043 593.909 113.499 586.454L186.5 513.455C193.956 506 206.044 506 213.5 513.455L286.501 586.454Z"fill=currentColor></path><path d="M406.524 93.4982C402.934 97.088 397.113 97.088 393.523 93.4982L356.523 56.499C352.933 52.9092 352.933 47.089 356.523 43.4992L393.523 6.50002C397.113 2.91025 402.934 2.91025 406.524 6.50003L443.524 43.4992C447.114 47.089 447.114 52.9092 443.524 56.499L406.524 93.4982Z"fill=currentColor></path><path d="M186.502 113.498C193.958 106.042 206.046 106.042 213.502 113.498L286.503 186.496C293.959 193.952 293.959 206.04 286.503 213.496L213.502 286.494C206.046 293.95 193.958 293.95 186.502 286.494L113.501 213.496C106.045 206.04 106.045 193.952 113.501 186.496L186.502 113.498Z"fill=currentColor></path><path d="M686.499 186.483C693.955 193.939 693.955 206.027 686.499 213.482L613.498 286.481C606.042 293.937 593.954 293.937 586.498 286.481L513.497 213.482C506.041 206.027 506.041 193.939 513.497 186.483L586.498 113.484C593.954 106.029 606.042 106.029 613.498 113.484L686.499 186.483Z"fill=currentColor></path><path d="M356.689 756.666C353.007 752.985 353.007 747.017 356.689 743.336L393.359 706.667C397.04 702.986 403.008 702.986 406.689 706.667L443.359 743.336C447.041 747.017 447.041 752.985 443.359 756.666L406.689 793.335C403.008 797.016 397.04 797.016 393.359 793.335L356.689 756.666Z"fill=currentColor></path></svg><div class="text-20-medium text-text-strong"></div></div><div class="w-full flex flex-col gap-4 items-center"><div class="flex items-start justify-center gap-3 min-h-5"><div class="text-12-medium text-text-weak select-text leading-5 min-w-0 max-w-160 break-words text-center"><span class=text-text-strong></span></div></div><div class="flex items-start justify-center gap-1.5 min-h-5"><div class="text-12-medium text-text-weak select-text leading-5 min-w-0 max-w-160 break-words text-center">'),Vh=k('<div class="flex items-start justify-center gap-3 min-h-5"><div class="text-12-medium text-text-weak leading-5 min-w-0 max-w-160 break-words text-center"> <span class=text-text-strong>');const co="main",sl="create";function Kh(e){const t=An(),n=Jt(),r=At(),i=_(()=>t.project?.sandboxes??[]),o=_(()=>[co,...i(),sl]),a=_(()=>{const g=e.worktree;return o().includes(g)?g:co}),c=_(()=>t.project?.worktree??n.directory),l=_(()=>{const g=t.project;return g?n.directory!==g.worktree:!1}),u=g=>{if(g===co){if(l())return r.t("session.new.worktree.main");const f=t.data.vcs?.branch;return f?r.t("session.new.worktree.mainWithBranch",{branch:f}):r.t("session.new.worktree.main")}return g===sl?r.t("session.new.worktree.create"):jt(g)};return(()=>{var g=Gh(),f=g.firstChild,h=f.nextSibling,p=h.firstChild,x=p.firstChild,v=x.firstChild,b=v.nextSibling,m=x.nextSibling,$=m.firstChild,w=$.firstChild,y=w.firstChild,S=$.nextSibling,C=S.firstChild;return d(b,()=>r.t("session.new.title")),d(w,()=>oi(c()),y),d(y,()=>jt(c())),d(S,s(Ne,{name:"branch",size:"small",class:"mt-0.5 shrink-0"}),C),d(C,()=>u(a())),d(m,s(M,{get when(){return t.project},children:A=>(()=>{var R=Vh(),V=R.firstChild,N=V.firstChild,B=N.nextSibling;return d(V,()=>r.t("session.new.lastModified"),N),d(B,()=>To.fromMillis(A().time.updated??A().time.created).setLocale(r.intl()).toRelative()),R})()}),null),g})()}const Lo=e=>typeof e=="object"&&e!==null,uo=e=>!(!Lo(e)||typeof e.length!="number"||typeof e.cursorX!="number"||typeof e.cursorY!="number"||typeof e.baseY!="number"||typeof e.viewportY!="number"||typeof e.getLine!="function"||typeof e.getNullCell!="function"),ol=e=>{if(!Lo(e))return;const t=e.buffer;if(!Lo(t))return;const n=uo(t.active)?t.active:void 0,r=uo(t.normal)?t.normal:void 0,i=uo(t.alternate)?t.alternate:void 0;if(!(!n&&!r))return{active:n,normal:r,alternate:i}};function Mo(e,t,n){return Math.max(t,Math.min(e,n))}function Yh(e,t){return e.getFgColorMode()===t.getFgColorMode()&&e.getFgColor()===t.getFgColor()}function Xh(e,t){return e.getBgColorMode()===t.getBgColorMode()&&e.getBgColor()===t.getBgColor()}function Zh(e,t){return!!e.isInverse()==!!t.isInverse()&&!!e.isBold()==!!t.isBold()&&!!e.isUnderline()==!!t.isUnderline()&&!!e.isBlink()==!!t.isBlink()&&!!e.isInvisible()==!!t.isInvisible()&&!!e.isItalic()==!!t.isItalic()&&!!e.isDim()==!!t.isDim()&&!!e.isStrikethrough()==!!t.isStrikethrough()}class Qh{constructor(t){this._buffer=t}serialize(t,n){let r=this._buffer.getNullCell();const i=t.start.y,o=t.end.y,a=t.start.x,c=t.end.x;this._beforeSerialize(o-i+1,i,o);for(let l=i;l<=o;l++){const u=this._buffer.getLine(l);if(u){const g=l===t.start.y?a:0,f=Math.min(c,u.length);for(let h=g;h<f;h++){const p=u.getCell(h);p&&(this._nextCell(p,r,l,h),r=p)}}this._rowEnd(l,l===o)}return this._afterSerialize(),this._serializeString(n)}_nextCell(t,n,r,i){}_rowEnd(t,n){}_beforeSerialize(t,n,r){}_afterSerialize(){}_serializeString(t){return""}}class Jh extends Qh{constructor(t,n){super(t),this._terminal=n,this._cursorStyle=this._buffer.getNullCell()}_rowIndex=0;_allRows=[];_allRowSeparators=[];_currentRow="";_nullCellCount=0;_cursorStyle;_firstRow=0;_lastCursorRow=0;_lastCursorCol=0;_lastContentCursorRow=0;_lastContentCursorCol=0;_beforeSerialize(t,n,r){this._allRows=new Array(t),this._allRowSeparators=new Array(t),this._rowIndex=0,this._currentRow="",this._nullCellCount=0,this._cursorStyle=this._buffer.getNullCell(),this._lastContentCursorRow=n,this._lastCursorRow=n,this._firstRow=n}_rowEnd(t,n){let r="";const o=!!(n?void 0:this._buffer.getLine(t+1))?.isWrapped;this._nullCellCount>0&&o&&(this._currentRow+=" ".repeat(this._nullCellCount)),this._nullCellCount=0,!n&&!o&&(r=`\r
|
|
3
|
-
`,this._lastCursorRow=t+1,this._lastCursorCol=0),this._allRows[this._rowIndex]=this._currentRow,this._allRowSeparators[this._rowIndex++]=r,this._currentRow="",this._nullCellCount=0}_diffStyle(t,n){const r=[],i=!Yh(t,n),o=!Xh(t,n),a=!Zh(t,n);if(i||o||a)if(this._isAttributeDefault(t))this._isAttributeDefault(n)||r.push(0);else{if(a&&(!!t.isInverse()!=!!n.isInverse()&&r.push(t.isInverse()?7:27),!!t.isBold()!=!!n.isBold()&&r.push(t.isBold()?1:22),!!t.isUnderline()!=!!n.isUnderline()&&r.push(t.isUnderline()?4:24),!!t.isBlink()!=!!n.isBlink()&&r.push(t.isBlink()?5:25),!!t.isInvisible()!=!!n.isInvisible()&&r.push(t.isInvisible()?8:28),!!t.isItalic()!=!!n.isItalic()&&r.push(t.isItalic()?3:23),!!t.isDim()!=!!n.isDim()&&r.push(t.isDim()?2:22),!!t.isStrikethrough()!=!!n.isStrikethrough()&&r.push(t.isStrikethrough()?9:29)),i){const c=t.getFgColor(),l=t.getFgColorMode();l===2||l===3||l===-1?r.push(38,2,c>>>16&255,c>>>8&255,c&255):l===1?c>=16?r.push(38,5,c):r.push(c&8?90+(c&7):30+(c&7)):r.push(39)}if(o){const c=t.getBgColor(),l=t.getBgColorMode();l===2||l===3||l===-1?r.push(48,2,c>>>16&255,c>>>8&255,c&255):l===1?c>=16?r.push(48,5,c):r.push(c&8?100+(c&7):40+(c&7)):r.push(49)}}return r}_isAttributeDefault(t){const n=t.getFgColorMode(),r=t.getBgColorMode();if(n===0&&r===0)return!t.isBold()&&!t.isItalic()&&!t.isUnderline()&&!t.isBlink()&&!t.isInverse()&&!t.isInvisible()&&!t.isDim()&&!t.isStrikethrough();const i=t.getFgColor(),o=t.getBgColor(),a=this._buffer.getNullCell(),c=a.getFgColor(),l=a.getBgColor();return i===c&&o===l&&!t.isBold()&&!t.isItalic()&&!t.isUnderline()&&!t.isBlink()&&!t.isInverse()&&!t.isInvisible()&&!t.isDim()&&!t.isStrikethrough()}_nextCell(t,n,r,i){if(t.getWidth()===0)return;const a=t.getCode(),l=a>1114111||a>=55296&&a<=57343||a>=61440&&t.getWidth()===1,u=a===0||t.getChars()===""||l,g=this._diffStyle(t,this._cursorStyle);if(g.length>0){this._nullCellCount>0&&(this._currentRow+=" ".repeat(this._nullCellCount),this._nullCellCount=0),this._lastContentCursorRow=this._lastCursorRow=r,this._lastContentCursorCol=this._lastCursorCol=i,this._currentRow+=`\x1B[${g.join(";")}m`;const p=this._buffer.getLine(r)?.getCell(i);p&&(this._cursorStyle=p)}u?this._nullCellCount+=t.getWidth():(this._nullCellCount>0&&(this._currentRow+=" ".repeat(this._nullCellCount),this._nullCellCount=0),this._currentRow+=t.getChars(),this._lastContentCursorRow=this._lastCursorRow=r,this._lastContentCursorCol=this._lastCursorCol=i+t.getWidth())}_serializeString(t){let n=this._allRows.length;this._buffer.length-this._firstRow<=this._terminal.rows&&(n=this._lastContentCursorRow+1-this._firstRow,this._lastCursorCol=this._lastContentCursorCol,this._lastCursorRow=this._lastContentCursorRow);let r="";for(let f=0;f<n;f++)r+=this._allRows[f],f+1<n&&(r+=this._allRowSeparators[f]);if(t)return r;const i=(this._buffer.baseY??0)+this._buffer.cursorY,o=Mo(i-this._firstRow+1,1,Number.MAX_SAFE_INTEGER),a=this._buffer.cursorX+1;r+=`\x1B[${o};${a}H`;const c=this._buffer.getLine(i),l=c?.getCell(this._buffer.cursorX),u=l?l.getWidth()!==0?l:this._buffer.cursorX>0?c?.getCell(this._buffer.cursorX-1)??l:l:this._buffer.getNullCell(),g=this._diffStyle(u,this._cursorStyle);return g.length&&(r+=`\x1B[${g.join(";")}m`),r}}class e0{_terminal;activate(t){this._terminal=t}dispose(){this._terminal=void 0}serialize(t){if(!this._terminal)throw new Error("Cannot use addon until it has been loaded");const n=ol(this._terminal);if(!n)return"";const r=n.normal??n.active,i=n.alternate;if(!r)return"";let o=t?.range?this._serializeBufferByRange(r,t.range,!0):this._serializeBufferByScrollback(r,t?.scrollback);if(!t?.excludeAltBuffer&&n.active?.type==="alternate"&&i){const a=this._serializeBufferByScrollback(i,void 0);o+=`\x1B[?1049h\x1B[H${a}`}return o}serializeAsText(t){if(!this._terminal)throw new Error("Cannot use addon until it has been loaded");const n=ol(this._terminal);if(!n)return"";const r=n.active??n.normal;if(!r)return"";const i=r.length,o=t?.scrollback,a=o===void 0?i:Mo(o+this._terminal.rows,0,i),c=i-a,l=i-1,u=[];for(let g=c;g<=l;g++){const f=r.getLine(g);if(f){const h=f.translateToString(t?.trimWhitespace??!0);u.push(h)}}if(t?.trimWhitespace)for(;u.length>0&&u[u.length-1]==="";)u.pop();return u.join(`
|
|
4
|
-
`)}_serializeBufferByScrollback(t,n){const r=t.length,i=this._terminal?.rows??24,o=n===void 0?r:Mo(n+i,0,r);return this._serializeBufferByRange(t,{start:r-o,end:r-1},!1)}_serializeBufferByRange(t,n,r){const i=new Jh(t,this._terminal),o=this._terminal?.cols??80;return i.serialize({start:{x:0,y:n.start},end:{x:o,y:n.end}},r)}}const t0="data-pty-id",Hr=()=>({connected:!1,connects:0,rendered:"",settled:0,focusing:0}),Cd=()=>{if(typeof window>"u")return;const e=window.__opencode_e2e?.terminal;if(e?.enabled)return e},jr=()=>{const e=Cd();if(e)return e.terminals??={},e.terminals},al=()=>{const e=Cd();if(e)return e.controls??={},e.controls},_d=e=>{const t=n=>{const r=jr();r&&(r[e]={...r[e]??Hr(),...n})};return{init(){t(Hr())},connect(){const n=jr();if(!n)return;const r=n[e]??Hr();n[e]={...r,connected:!0,connects:r.connects+1}},render(n){const r=jr();if(!r)return;const i=r[e]??Hr();r[e]={...i,rendered:i.rendered+n}},settle(){const n=jr();if(!n)return;const r=n[e]??Hr();n[e]={...r,settled:r.settled+1}},focus(n){t({focusing:Math.max(0,n)})},step(){const n=jr();if(!n)return;const r=n[e]??Hr();n[e]={...r,focusing:Math.max(0,r.focusing-1)}},control(n){const r=al();r&&(r[e]={...r[e]??{},...n})},drop(){const n=jr();n&&delete n[e];const r=al();r&&delete r[e]}}},ks=e=>typeof e=="object"&&e!==null,n0=e=>ks(e)&&typeof e.dispose=="function",mi=e=>{n0(e)&&e.dispose()},r0=e=>ks(e)&&typeof e.setOption=="function",ll=(e,t,n)=>{r0(e)&&e.setOption(t,n)},i0=e=>{if(!ks(e))return;const t=e.currentHoveredLink;if(ks(t)&&typeof t.text=="string")return t.text};function s0(e,t=queueMicrotask){let n,r,i=!1,o=!1;const a=()=>{if(i||o||n?.length)return;const g=r;if(g?.length){r=void 0;for(const f of g)f()}},c=()=>{if(o)return;i=!1;const g=n;if(!g?.length){a();return}n=void 0,o=!0,e(g.join(""),()=>{if(o=!1,n?.length){if(i)return;i=!0,t(c);return}a()})};return{push:g=>{g&&(n?n.push(g):n=[g],!(i||o)&&(i=!0,t(c)))},flush:g=>{if(!i&&!o&&!n?.length){g?.();return}g&&(r?r.push(g):r=[g]),c()}}}var o0=k('<div class="relative size-full overflow-hidden"><div data-component=terminal>');const a0="terminal.toggle",l0="ctrl+`";let hi;const c0=()=>hi||(hi=un(()=>import("./ghostty-web-CSMOh6gY.js"),__vite__mapDeps([3,1,2])).then(async e=>({mod:e,ghostty:await e.Ghostty.load()})).catch(e=>{throw hi=void 0,e}),hi),d0={light:{background:"#fcfcfc",foreground:"#211e1e",cursor:"#211e1e",selectionBackground:Ao("#211e1e",.2)},dark:{background:"#191515",foreground:"#d4d4d4",cursor:"#d4d4d4",selectionBackground:Ao("#d4d4d4",.25)}},u0=e=>{if(!e||typeof e!="object"||!("name"in e))return;const t=e.name;return typeof t=="string"?t:void 0},f0=e=>{const t=o=>{const a=e.term.getSelection();if(!a)return;const c=o.clipboardData;c&&(o.preventDefault(),c.setData("text/plain",a))},n=o=>{const a=o.clipboardData,c=a?.getData("text/plain")??a?.getData("text")??"";c&&(o.preventDefault(),o.stopPropagation(),e.term.paste(c))},r=()=>{e.term.options.cursorBlink=!0},i=()=>{e.term.options.cursorBlink=!1};e.container.addEventListener("copy",t,!0),e.cleanups.push(()=>e.container.removeEventListener("copy",t,!0)),e.container.addEventListener("paste",n,!0),e.cleanups.push(()=>e.container.removeEventListener("paste",n,!0)),e.container.addEventListener("pointerdown",e.handlePointerDown),e.cleanups.push(()=>e.container.removeEventListener("pointerdown",e.handlePointerDown)),e.container.addEventListener("click",e.handleLinkClick,{capture:!0}),e.cleanups.push(()=>e.container.removeEventListener("click",e.handleLinkClick,{capture:!0})),e.term.textarea?.addEventListener("focus",r),e.term.textarea?.addEventListener("blur",i),e.cleanups.push(()=>e.term.textarea?.removeEventListener("focus",r)),e.cleanups.push(()=>e.term.textarea?.removeEventListener("blur",i))},g0=e=>{if(!e.addon||!e.onCleanup||!e.term)return;const t=(()=>{try{return e.addon.serialize()}catch{return""}})();e.onCleanup({id:e.id,buffer:t,cursor:e.cursor,rows:e.term.rows,cols:e.term.cols,scrollY:e.term.getViewportY()})},Sd=e=>{const t=Ds(),n=Jt(),r=Vo(),i=Mf(),o=At(),a=_c(),c=n.directory,l=n.client,u=n.url,g=a.current?.http,f=g?.username??"opencode",h=g?.password??"";let p;const[x,v]=_t(e,["pty","class","classList","autoFocus","clearOnConnect","onConnect","onConnectError"]),b=x.pty.id,m=_d(b),$=typeof x.pty.buffer=="string"?x.pty.buffer:"",w=$&&typeof x.pty.cols=="number"&&Number.isSafeInteger(x.pty.cols)&&x.pty.cols>0&&typeof x.pty.rows=="number"&&Number.isSafeInteger(x.pty.rows)&&x.pty.rows>0?{cols:x.pty.cols,rows:x.pty.rows}:void 0,y=typeof x.pty.scrollY=="number"?x.pty.scrollY:void 0;let S,C,A,R,V,N,B,O,L,T=!1;const E=[],[P,j]=De(!0),G=typeof x.pty.cursor=="number"&&Number.isSafeInteger(x.pty.cursor)?x.pty.cursor:void 0;let q=G??0,z=G!==void 0?G:$?-1:0,F,Z,U,se=0;const he=()=>{if(!E.length)return;const Y=E.splice(0).reverse();for(const ge of Y)try{ge()}catch{}},ee=(Y,ge)=>l.pty.update({ptyID:b,size:{cols:Y,rows:ge}}).catch(te=>{}),ae=_(()=>{const Y=i.mode()==="dark"?"dark":"light",ge=d0[Y],te=i.themes()[i.themeId()];if(!te)return ge;const Re=Y==="dark"?te.dark:te.light;if(!Re?.seeds&&!Re?.palette)return ge;const Te=Rf(Re,Y==="dark"),me=Te["text-stronger"]??ge.foreground,tt=Te["background-stronger"]??ge.background,Ae=Y==="dark"?.25:.2,_e=me.startsWith("#")?me:ge.foreground,Le=Ao(_e,Ae);return{background:tt,foreground:me,cursor:me,selectionBackground:Le}}),fe=()=>{if(R.fit(),C&&C.rows>1){C.resize(C.cols,C.rows-1);const Y=Math.max(0,C.buffer.active.length-C.rows);C.scrollToLine(Y)}},$e=()=>{T||R&&N===void 0&&(N=requestAnimationFrame(()=>{N=void 0,!T&&fe()}))},Me=(Y,ge)=>{if(!T&&!(L?.cols===Y&&L?.rows===ge)){if(O={cols:Y,rows:ge},!L){L=O,ee(Y,ge);return}B===void 0&&(B=setTimeout(()=>{B=void 0;const te=O;te&&(O=void 0,!T&&(L?.cols===te.cols&&L?.rows===te.rows||(L=te,ee(te.cols,te.rows))))},100))}};xe(()=>{const Y=ae();C&&ll(C,"theme",Y)}),xe(()=>{const Y=Da(r.appearance.font());C&&(ll(C,"fontFamily",Y),$e())});let Q=t.webviewZoom?.();xe(()=>{const Y=t.webviewZoom?.();Y!==void 0&&Y!==Q&&(Q=Y,$e())});const ne=()=>{const Y=C;Y&&(Y.focus(),Y.textarea?.focus(),setTimeout(()=>Y.textarea?.focus(),0))},re=()=>{const Y=document.activeElement;Y instanceof HTMLElement&&Y!==p&&!p.contains(Y)&&Y.blur(),ne()},H=Y=>{if(!Y.shiftKey&&!Y.ctrlKey&&!Y.metaKey||Y.altKey||Y.button!==0)return;const ge=C;if(!ge)return;const te=i0(ge);te&&(Y.preventDefault(),Y.stopImmediatePropagation(),!Dc(te)&&t.openLink(te))};return Xt(()=>{m.init(),E.push(()=>m.drop()),(async()=>{const ge=await c0();if(T)return;const te=ge.mod,Re=ge.ghostty,Te=new te.Terminal({cursorBlink:!0,cursorStyle:"bar",cols:w?.cols,rows:w?.rows,fontSize:14,fontFamily:Da(r.appearance.font()),allowTransparency:!1,convertEol:!1,theme:ae(),scrollback:1e4,ghostty:Re});if(E.push(()=>Te.dispose()),T){he();return}C=Te,F=s0((Pe,Be)=>Te.write(Pe,()=>{m.render(Pe),m.settle(),Be?.()})),Te.attachCustomKeyEventHandler(Pe=>{const Be=Pe.key.toLowerCase();if(Pe.ctrlKey&&Pe.shiftKey&&!Pe.metaKey&&Be==="c")return document.execCommand("copy"),!0;const Ft=r.keybinds.get(a0)??l0,qt=Ef(Ft);return Pf(qt,Pe)});const me=new te.FitAddon,tt=new e0;E.push(()=>mi(me)),Te.loadAddon(tt),Te.loadAddon(me),R=me,A=tt,Te.open(p);const Ae=()=>{const Pe=Te.getViewportY(),Be=Te.buffer.active.length;j(Pe+Te.rows>=Be)},_e=Te.onScroll(()=>Ae());E.push(()=>mi(_e)),f0({container:p,term:Te,cleanups:E,handlePointerDown:re,handleLinkClick:H}),x.autoFocus!==!1&&ne(),typeof document<"u"&&document.fonts&&document.fonts.ready.then($e);const Le=Te.onResize(Pe=>{Me(Pe.cols,Pe.rows)});E.push(()=>mi(Le));const ke=Te.onData(Pe=>{S?.readyState===WebSocket.OPEN&&S.send(Pe)});E.push(()=>mi(ke));const Ge=Te.onKey(Pe=>{Pe.key=="Enter"&&e.onSubmit?.()});E.push(()=>mi(Ge));const vt=()=>{me.observeResize(),V=$e,window.addEventListener("resize",V),E.push(()=>window.removeEventListener("resize",V))},Rt=Pe=>new Promise(Be=>{if(!F){Be();return}F.push(Pe),F.flush(Be)});$&&w?(await Rt($),fe(),Me(Te.cols,Te.rows),y!==void 0&&Te.scrollToLine(y),vt()):(fe(),Me(Te.cols,Te.rows),$?(await Rt($),y!==void 0&&Te.scrollToLine(y)):Te.rows>1&&Te.write(`
|
|
5
|
-
`.repeat(Te.rows-1)),vt());const Pt={value:!1},St=new TextDecoder,Tt=Pe=>{T||Pt.value||(Pt.value=!0,x.onConnectError?.(Pe))},Ut=()=>l.pty.get({ptyID:b}).then(()=>!1).catch(Pe=>u0(Pe)==="NotFoundError"),ye=Pe=>{if(T||U!==void 0)return;const Be=Math.min(250*2**Math.min(se,4),4e3);U=setTimeout(async()=>{if(U=void 0,!T){if(await Ut()){if(T)return;Tt(Pe);return}T||(se+=1,Ze())}},Be)},Ze=()=>{if(T)return;Z?.();const Pe=new URL(u+`/pty/${b}/connect`);Pe.searchParams.set("directory",c),Pe.searchParams.set("cursor",String(z)),Pe.protocol=Pe.protocol==="https:"?"wss:":"ws:",Pe.username=f,Pe.password=h;const Be=new WebSocket(Pe);Be.binaryType="arraybuffer",S=Be;let Ft=!0;const qt=()=>{T||(se=0,m.connect(),x.onConnect?.(),Me(Te.cols,Te.rows),Ft&&x.clearOnConnect&&!$&&(Ft=!1,Be.send("clear\r")))},Nt=$t=>{if(T)return;if($t.data instanceof ArrayBuffer){const en=new Uint8Array($t.data);if(en[0]!==0)return;const Wt=St.decode(en.subarray(1));try{const an=JSON.parse(Wt)?.cursor;typeof an=="number"&&Number.isSafeInteger(an)&&an>=0&&(q=an,z=an)}catch{}return}const nn=typeof $t.data=="string"?$t.data:"";nn&&(F?.push(nn),q+=nn.length,z=q)},Gt=$t=>{},Ht=()=>{Be.removeEventListener("open",qt),Be.removeEventListener("message",Nt),Be.removeEventListener("error",Gt),Be.removeEventListener("close",Ot),S===Be&&(S=void 0),Z===Ht&&(Z=void 0),Be.readyState!==WebSocket.CLOSED&&Be.readyState!==WebSocket.CLOSING&&Be.close(1e3)},Ot=$t=>{S===Be&&(S=void 0),Z===Ht&&(Z=void 0),Be.removeEventListener("open",qt),Be.removeEventListener("message",Nt),Be.removeEventListener("error",Gt),Be.removeEventListener("close",Ot),!T&&$t.code!==1e3&&ye(new Error(o.t("terminal.connectionLost.abnormalClose",{code:$t.code})))};Z=Ht,Be.addEventListener("open",qt),Be.addEventListener("message",Nt),Be.addEventListener("error",Gt),Be.addEventListener("close",Ot)};m.control({disconnect:()=>{S&&S.close(4e3,"e2e")}}),Ze()})().catch(ge=>{T||(at({variant:"error",title:o.t("terminal.connectionLost.title"),description:ge instanceof Error?ge.message:o.t("terminal.connectionLost.description")}),x.onConnectError?.(ge))})}),rt(()=>{T=!0,N!==void 0&&cancelAnimationFrame(N),B!==void 0&&clearTimeout(B),U!==void 0&&clearTimeout(U),Z?.(),S&&S.readyState!==WebSocket.CLOSED&&S.readyState!==WebSocket.CLOSING&&S.close(1e3);const Y=()=>{g0({term:C,addon:A,cursor:q,id:b,onCleanup:e.onCleanup}),he()};if(!F){Y();return}F.flush(Y)}),(()=>{var Y=o0(),ge=Y.firstChild,te=p;return typeof te=="function"?mt(te,ge):p=ge,Yn(ge,Ke({[t0]:b},{"data-prevent-autofocus":"",tabIndex:-1,get style(){return{"background-color":ae().background}},get classList(){return{...x.classList??{},"select-text":!0,"size-full pl-4 pb-0 pt-0 font-mono relative overflow-hidden":!0,[x.class??""]:!!x.class}}},v),!1,!1),Y})()};var m0=k('<div class="absolute inset-0">'),h0=k('<div><div class="relative overflow-hidden shrink-0"></div><div></div><div class="relative overflow-hidden flex-1 min-w-0 min-h-0">');function p0(e){const t=Rr(),n=e.node.ptyId,r=t.all;return s(M,{get when(){return r().find(i=>i.id===n)},children:i=>(()=>{var o=m0();return o.$$click=()=>t.focusPane(n),ue(o,"id",`terminal-wrapper-${n}`),d(o,s(Sd,{get pty(){return i()},get autoFocus(){return Ce(()=>!!e.opened)()&&t.focusedPane()===n},get clearOnConnect(){return e.clearOnConnect},onConnect:()=>e.onConnect(n),get onCleanup(){return e.onCleanup},onConnectError:()=>e.onConnectError(n)})),o})()})}function v0(e){const t=Rr(),n=e.node.direction==="h";let r;const[i,o]=De(0),[a,c]=De(e.node.ratio);Xt(()=>{if(!r)return;const f=()=>n?r.offsetWidth:r.offsetHeight;o(f());const h=new ResizeObserver(()=>o(f()));h.observe(r),rt(()=>h.disconnect())});const l=()=>Math.floor(i()*a()),u=f=>f.type==="leaf"?f.ptyId:u(f.a),g=f=>{f.preventDefault();const h=n?f.clientX:f.clientY,p=a(),x=i(),v=u(e.node.a);document.body.style.userSelect="none";const b=$=>{const w=n?$.clientX:$.clientY,y=Math.min(.9,Math.max(.1,p+(w-h)/x));c(y),t.resizePane(v,y)},m=()=>{document.body.style.userSelect="",document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",m)};document.addEventListener("mousemove",b),document.addEventListener("mouseup",m)};return(()=>{var f=h0(),h=f.firstChild,p=h.nextSibling,x=p.nextSibling,v=r;return typeof v=="function"?mt(v,f):r=f,zt(f,`flex ${n?"flex-row":"flex-col"} size-full`),d(h,s(Eo,{get node(){return e.node.a},get opened(){return e.opened},get onConnect(){return e.onConnect},get onCleanup(){return e.onCleanup},get onConnectError(){return e.onConnectError}})),p.$$mousedown=g,zt(p,n?"w-px shrink-0 bg-border-weak-base hover:bg-border-base cursor-col-resize":"h-px shrink-0 bg-border-weak-base hover:bg-border-base cursor-row-resize"),d(x,s(Eo,{get node(){return e.node.b},get opened(){return e.opened},get onConnect(){return e.onConnect},get onCleanup(){return e.onCleanup},get onConnectError(){return e.onConnectError}})),ie(b=>tr(h,n?{width:`${l()}px`}:{height:`${l()}px`},b)),f})()}function Eo(e){return s(M,{get when(){return Ce(()=>e.node.type==="split")()?e.node:void 0},get fallback(){return s(p0,Ke(e,{get node(){return e.node}}))},children:t=>s(v0,Ke(e,{get node(){return t()}}))})}Mt(["click","mousedown"]);const Cs={session:"ses",message:"msg",permission:"per",user:"usr",part:"prt",pty:"pty"},x0=26;let cl=0,fo=0;var kn;(e=>{function t(i){return Ff.string().startsWith(Cs[i])}e.schema=t;function n(i,o){return dl(i,!1,o)}e.ascending=n;function r(i,o){return dl(i,!0,o)}e.descending=r})(kn||(kn={}));function dl(e,t,n){if(!n)return b0(e,t);if(!n.startsWith(Cs[e]))throw new Error(`ID ${n} does not start with ${Cs[e]}`);return n}function b0(e,t,n){const r=Date.now();r!==cl&&(cl=r,fo=0),fo+=1;let i=BigInt(r)*BigInt(4096)+BigInt(fo);t&&(i=~i);const o=new Uint8Array(6);for(let a=0;a<6;a+=1)o[a]=Number(i>>BigInt(40-8*a)&BigInt(255));return Cs[e]+"_"+y0(o)+w0(x0-12)}function y0(e){let t="";for(let n=0;n<e.length;n+=1)t+=e[n].toString(16).padStart(2,"0");return t}function w0(e){const t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",n=$0(e);let r="";for(let i=0;i<e;i+=1)r+=t[n[i]%62];return r}function $0(e){const t=new Uint8Array(e),n=typeof globalThis<"u"?globalThis.crypto:void 0;if(n&&typeof n.getRandomValues=="function")return n.getRandomValues(t),t;for(let r=0;r<e;r+=1)t[r]=Math.floor(Math.random()*256);return t}function k0(e){if(!e||typeof e!="object")return;const t=Number(e.startLine),n=Number(e.startChar),r=Number(e.endLine),i=Number(e.endChar);if([t,n,r,i].every(Number.isFinite))return{startLine:t,startChar:n,endLine:r,endChar:i}}function C0(e){return{opencodeComment:{path:e.path,selection:e.selection,comment:e.comment,preview:e.preview,origin:e.origin}}}function _0(e){if(!e||typeof e!="object")return;const t=e.opencodeComment;if(!t||typeof t!="object")return;const n=t.path,r=t.comment;if(typeof n!="string"||typeof r!="string")return;const i=t.preview,o=t.origin;return{path:n,selection:k0(t.selection),comment:r,preview:typeof i=="string"?i:void 0,origin:o==="review"||o==="file"?o:void 0}}function S0(e){const t=e.selection?Math.min(e.selection.startLine,e.selection.endLine):void 0,n=e.selection?Math.max(e.selection.startLine,e.selection.endLine):void 0;return`The user made the following comment regarding ${t===void 0||n===void 0?"this file":t===n?`line ${t}`:`lines ${t} through ${n}`} of ${e.path}: ${e.comment}`}function T0(e){const t=e.match(/^The user made the following comment regarding (this file|line (\d+)|lines (\d+) through (\d+)) of (.+?): ([\s\S]+)$/);if(!t)return;const n=t[2]?Number(t[2]):t[3]?Number(t[3]):void 0,r=t[2]?Number(t[2]):t[4]?Number(t[4]):void 0;return{path:t[5],selection:n!==void 0&&r!==void 0?{startLine:n,startChar:0,endLine:r,endChar:0}:void 0,comment:t[6]}}const Td=["image/png","image/jpeg","image/gif","image/webp"],Ad=[...Td,"application/pdf","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/msword","application/vnd.ms-excel","application/vnd.ms-powerpoint","text/*","application/json","application/ld+json","application/toml","application/x-toml","application/x-yaml","application/xml","application/yaml",".c",".cc",".cjs",".conf",".cpp",".css",".csv",".cts",".env",".go",".gql",".graphql",".h",".hh",".hpp",".htm",".html",".ini",".java",".js",".json",".jsx",".log",".md",".mdx",".mjs",".mts",".py",".rb",".rs",".sass",".scss",".sh",".sql",".toml",".ts",".tsx",".txt",".xml",".yaml",".yml",".zsh",".docx",".doc",".xlsx",".xls",".pptx",".ppt"],A0=new Map([["image/png","png"],["image/jpeg","jpg"],["image/gif","gif"],["image/webp","webp"],["application/pdf","pdf"],["application/json","json"],["application/ld+json","jsonld"],["application/toml","toml"],["application/x-toml","toml"],["application/x-yaml","yaml"],["application/xml","xml"],["application/yaml","yaml"],["application/vnd.openxmlformats-officedocument.wordprocessingml.document","docx"],["application/msword","doc"],["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","xlsx"],["application/vnd.ms-excel","xls"],["application/vnd.openxmlformats-officedocument.presentationml.presentation","pptx"],["application/vnd.ms-powerpoint","ppt"]]),D0=["txt","text","md","markdown","log","csv"];Array.from(new Set(Ad.flatMap(e=>{if(e.startsWith("."))return[e.slice(1)];if(e==="text/*")return D0;const t=A0.get(e);return t?[t]:[]}))).sort();const I0=new Set(Td),L0=new Map([["gif","image/gif"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["png","image/png"],["webp","image/webp"]]),M0=new Set(["application/json","application/ld+json","application/toml","application/x-toml","application/x-yaml","application/xml","application/yaml"]),E0=new Set(["application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/msword","application/vnd.ms-excel","application/vnd.ms-powerpoint"]),Dd={docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",doc:"application/msword",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",xls:"application/vnd.ms-excel",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation",ppt:"application/vnd.ms-powerpoint"},P0=4096;function R0(e){return e.split(";",1)[0]?.trim().toLowerCase()??""}function Po(e){const t=e.lastIndexOf(".");return t===-1?"":e.slice(t+1).toLowerCase()}function ul(e){if(Po(e)==="pdf")return"application/pdf";const t=Dd[Po(e)];return t||"text/plain"}function F0(e){return e?e.startsWith("text/")||M0.has(e)||e.endsWith("+json")?!0:e.endsWith("+xml"):!1}function z0(e){if(e.length===0)return!0;let t=0;for(const n of e){if(n===0)return!1;(n<9||n>13&&n<32)&&(t+=1)}return t/e.length<=.3}async function O0(e){const t=R0(e.type);if(I0.has(t)||t==="application/pdf"||E0.has(t))return t;const n=Po(e.name),r=L0.get(n)??(n==="pdf"?"application/pdf":void 0)??Dd[n];if((!t||t==="application/octet-stream")&&r)return r;if(F0(t))return"text/plain";const i=new Uint8Array(await e.slice(0,P0).arrayBuffer());if(z0(i))return"text/plain"}const fl=(e,t)=>t.startsWith("/")||/^[A-Za-z]:[\\/]/.test(t)||/^[A-Za-z]:$/.test(t)||t.startsWith("\\\\")||t.startsWith("//")?t:`${e.replace(/[\\/]+$/,"")}/${t}`,gl=e=>e?`?start=${e.startLine}&end=${e.endLine}`:"",N0=e=>e.type==="file",B0=e=>e.type==="agent",q0=e=>e.type==="entity",H0=(e,t,n)=>e.type==="text"?{id:e.id,type:"text",text:e.text,synthetic:e.synthetic,ignored:e.ignored,time:e.time,metadata:e.metadata,sessionID:t,messageID:n}:e.type==="file"?{id:e.id,type:"file",mime:e.mime,filename:e.filename,url:e.url,source:e.source,sessionID:t,messageID:n}:{id:e.id,type:"agent",name:e.name,source:e.source,sessionID:t,messageID:n};function j0(e){const t=[{id:kn.ascending("part"),type:"text",text:e.text}],n=e.prompt.filter(N0).map(l=>{const u=fl(e.sessionDirectory,l.path),g=ul(l.path);return{id:kn.ascending("part"),type:"file",mime:g,url:`file://${Do(u)}${gl(l.selection)}`,filename:jt(l.path),source:{type:"file",text:{value:l.content,start:l.start,end:l.end},path:u}}}),r=e.prompt.filter(B0).map(l=>({id:kn.ascending("part"),type:"agent",name:l.name,source:{value:l.content,start:l.start,end:l.end}})),i=e.prompt.filter(q0).map(l=>({id:kn.ascending("part"),type:"text",text:l.content,synthetic:!0,metadata:{entityType:l.entityType,entityId:l.entityId}})),o=new Set(n.map(l=>l.url)),a=e.context.flatMap(l=>{const u=fl(e.sessionDirectory,l.path),g=`file://${Do(u)}${gl(l.selection)}`,f=ul(l.path),h=l.comment?.trim();if(!h&&o.has(g))return[];o.add(g);const p={id:kn.ascending("part"),type:"file",mime:f,url:g,filename:jt(l.path)};return h?[{id:kn.ascending("part"),type:"text",text:S0({path:l.path,selection:l.selection,comment:h}),synthetic:!0,metadata:C0({path:l.path,selection:l.selection,comment:h,preview:l.preview,origin:l.commentOrigin})},p]:[p]}),c=e.images.map(l=>({id:kn.ascending("part"),type:"file",mime:l.mime,url:l.dataUrl,filename:l.filename}));return t.push(...n,...a,...r,...i,...c),{requestParts:t,optimisticParts:t.map(l=>H0(l,e.sessionID,e.messageID))}}const W0=200;function ml(e){const t=document.createDocumentFragment();let n=0;for(const i of e)if(i===`
|
|
6
|
-
`&&(n+=1,n>W0)){const o=e.endsWith(`
|
|
7
|
-
`),a=o?e.slice(0,-1):e;return a&&t.appendChild(document.createTextNode(a)),o&&t.appendChild(document.createElement("br")),t}const r=e.split(`
|
|
8
|
-
`);return r.forEach((i,o)=>{i&&t.appendChild(document.createTextNode(i)),o<r.length-1&&t.appendChild(document.createElement("br"))}),t}function Id(e){return e.nodeType===Node.ELEMENT_NODE&&e.tagName==="BR"?1:(e.textContent??"").replace(/\u200B/g,"").length}function Ld(e){if(e.nodeType===Node.TEXT_NODE)return(e.textContent??"").replace(/\u200B/g,"").length;if(e.nodeType===Node.ELEMENT_NODE&&e.tagName==="BR")return 1;let t=0;for(const n of Array.from(e.childNodes))t+=Ld(n);return t}function $r(e){const t=window.getSelection();if(!t||t.rangeCount===0)return 0;const n=t.getRangeAt(0);if(!e.contains(n.startContainer))return 0;const r=n.cloneRange();return r.selectNodeContents(e),r.setEnd(n.startContainer,n.startOffset),Ld(r.cloneContents())}function Vr(e,t){let n=t,r=e.firstChild;for(;r;){const c=Id(r),l=r.nodeType===Node.TEXT_NODE,u=r.nodeType===Node.ELEMENT_NODE&&(r.dataset.type==="file"||r.dataset.type==="agent"),g=r.nodeType===Node.ELEMENT_NODE&&r.tagName==="BR";if(l&&n<=c){const f=document.createRange(),h=window.getSelection();f.setStart(r,n),f.collapse(!0),h?.removeAllRanges(),h?.addRange(f);return}if((u||g)&&n<=c){const f=document.createRange(),h=window.getSelection();if(n===0&&f.setStartBefore(r),n>0&&u&&f.setStartAfter(r),n>0&&g){const p=r.nextSibling;p&&p.nodeType===Node.TEXT_NODE&&f.setStart(p,0),(!p||p.nodeType!==Node.TEXT_NODE)&&f.setStartAfter(r)}f.collapse(!0),h?.removeAllRanges(),h?.addRange(f);return}n-=c,r=r.nextSibling}const i=document.createRange(),o=window.getSelection(),a=e.lastChild;if(a&&a.nodeType===Node.TEXT_NODE){const c=a.textContent?a.textContent.length:0;i.setStart(a,c)}(!a||a.nodeType!==Node.TEXT_NODE)&&i.selectNodeContents(e),i.collapse(!1),o?.removeAllRanges(),o?.addRange(i)}function Wr(e,t,n,r){let i=r;const o=Array.from(e.childNodes);for(const a of o){const c=Id(a),l=a.nodeType===Node.TEXT_NODE,u=a.nodeType===Node.ELEMENT_NODE&&(a.dataset.type==="file"||a.dataset.type==="agent"),g=a.nodeType===Node.ELEMENT_NODE&&a.tagName==="BR";if(l&&i<=c){n==="start"&&t.setStart(a,i),n==="end"&&t.setEnd(a,i);return}if((u||g)&&i<=c){n==="start"&&i===0&&t.setStartBefore(a),n==="start"&&i>0&&t.setStartAfter(a),n==="end"&&i===0&&t.setEndBefore(a),n==="end"&&i>0&&t.setEndAfter(a);return}i-=c}}const pi=new Map,U0=e=>e.map(t=>"content"in t?t.content:"").join(""),G0=e=>e.filter(t=>t.type==="image");async function Md(e){const t=U0(e.draft.prompt),n=G0(e.draft.prompt),[,r]=e.globalSync.child(e.draft.sessionDirectory),i=()=>{e.optimisticBusy&&r("session_status",e.draft.sessionID,{type:"busy"})},o=()=>{e.optimisticBusy&&r("session_status",e.draft.sessionID,{type:"idle"})},a=async()=>await e.before?.()!==!1,[c,...l]=t.split(" "),u=c?.startsWith("/")?c.slice(1):void 0;if(u&&e.sync.data.command.find(b=>b.name===u)){i();try{return await a()?(await e.client.session.command({sessionID:e.draft.sessionID,command:u,arguments:l.join(" "),agent:e.draft.agent,model:`${e.draft.model.providerID}/${e.draft.model.modelID}`,variant:e.draft.variant,parts:n.map(b=>({id:kn.ascending("part"),type:"file",mime:b.mime,url:b.dataUrl,filename:b.filename}))}),!0):(o(),!1)}catch(b){throw o(),b}}const g=e.messageID??kn.ascending("message"),{requestParts:f,optimisticParts:h}=j0({prompt:e.draft.prompt,context:e.draft.context,images:n,text:t,sessionID:e.draft.sessionID,messageID:g,sessionDirectory:e.draft.sessionDirectory}),p={id:g,sessionID:e.draft.sessionID,role:"user",time:{created:Date.now()},agent:e.draft.agent,model:e.draft.model,variant:e.draft.variant},x=()=>e.sync.session.optimistic.add({directory:e.draft.sessionDirectory,sessionID:e.draft.sessionID,message:p,parts:h}),v=()=>e.sync.session.optimistic.remove({directory:e.draft.sessionDirectory,sessionID:e.draft.sessionID,messageID:g});i(),x();try{return await a()?(await e.client.session.promptAsync({sessionID:e.draft.sessionID,agent:e.draft.agent,model:e.draft.model,messageID:g,parts:f,variant:e.draft.variant}),!0):(o(),v(),!1)}catch(b){throw o(),v(),b}}function V0(e){const t=Sr(),n=Jt(),r=An(),i=As(),o=Pr(),a=Ps(),c=zr(),l=rr(),u=At(),g=Ic(),f=$=>{if($&&typeof $=="object"&&"data"in $){const w=$.data;if(w?.message)return w.message}return $ instanceof Error?$.message:u.t("common.requestFailed")},h=async()=>{const $=g.id;if(!$)return Promise.resolve();i.todo.set($,[]);const[,w]=i.child(n.directory);w("todo",$,[]),e.onAbort?.();const y=pi.get($);return y?(y.abort.abort(),y.cleanup(),pi.delete($),Promise.resolve()):n.client.session.abort({sessionID:$}).catch(()=>{})},p=$=>{for(const w of $)c.context.add({type:"file",path:w.path,selection:w.selection,comment:w.comment,commentID:w.commentID,commentOrigin:w.commentOrigin,preview:w.preview})},x=$=>{for(const w of $)c.context.remove(w.key)},v=()=>{for(const $ of c.context.items())c.context.remove($.key)},b=($,w)=>{const[,y]=i.child($);y("session",S=>{const C=Ii.search(S,w.id,R=>R.id),A=[...S];return C.found?(A[C.index]=w,A):(A.splice(C.index,0,w),A)})};return{abort:h,handleSubmit:async $=>{$.preventDefault();const w=c.current(),y=w.map(oe=>"content"in oe?oe.content:"").join(""),S=e.imageAttachments().slice(),C=e.mode();if(y.trim().length===0&&S.length===0&&e.commentCount()===0){e.working()&&h();return}const A=o.model.current(),R=o.agent.current(),V=o.model.variant.current();if(!A||!R){at({title:u.t("prompt.toast.modelAgentRequired.title"),description:u.t("prompt.toast.modelAgentRequired.description")});return}e.addToHistory(w,C),e.resetHistoryNavigation();const N=n.directory,B=!g.id,O=B&&e.autoAccept(),L=e.newSessionWorktree?.()||"main";let T=N,E=n.client;if(B){if(L==="create"){const oe=await E.worktree.create({directory:N}).then(ae=>ae.data).catch(ae=>{at({title:u.t("prompt.toast.worktreeCreateFailed.title"),description:f(ae)})});if(!oe?.directory){at({title:u.t("prompt.toast.worktreeCreateFailed.title"),description:u.t("common.requestFailed")});return}eo.pending(oe.directory),T=oe.directory}L!=="main"&&L!=="create"&&(T=L),T!==N&&(E=n.createClient({directory:T,throwOnError:!0}),i.child(T)),e.onNewSessionWorktreeReset?.()}let P=e.info();if(!P&&B){const oe=await E.session.create().then(ae=>ae.data??void 0).catch(ae=>{at({title:u.t("prompt.toast.sessionCreateFailed.title"),description:f(ae)})});oe&&(b(T,oe),P=oe,O&&a.enableAutoAccept(P.id,T),o.session.promote(T,P.id),l.handoff.setTabs(Qr(T),P.id),t(`/${Qr(T)}/session/${P.id}`))}if(!P){at({title:u.t("prompt.toast.promptSendFailed.title"),description:u.t("prompt.toast.promptSendFailed.description")});return}const j={modelID:A.id,providerID:A.provider.id},G=R.name,q=c.context.items().slice(),z={sessionID:P.id,sessionDirectory:T,prompt:w,context:q,agent:G,model:j,variant:V},F=()=>{c.reset(),e.setMode("normal"),e.setPopover(null)},Z=()=>{c.set(w,e.promptLength(w)),e.setMode(C),e.setPopover(null),requestAnimationFrame(()=>{const oe=e.editor();oe&&(oe.focus(),Vr(oe,e.promptLength(w)),e.queueScroll())})};if(!B&&C==="normal"&&e.shouldQueue?.()){e.onQueue?.(z),v(),F();return}if(e.onSubmit?.(),C==="shell"){F(),E.session.shell({sessionID:P.id,agent:G,model:j,command:y}).catch(oe=>{at({title:u.t("prompt.toast.shellSendFailed.title"),description:f(oe)}),Z()});return}if(y.startsWith("/")){const[oe,...ae]=y.split(" "),fe=oe.slice(1);if(r.data.command.find(Me=>Me.name===fe)){F(),E.session.command({sessionID:P.id,command:fe,arguments:ae.join(" "),agent:G,model:`${j.providerID}/${j.modelID}`,variant:V,parts:S.map(Me=>({id:kn.ascending("part"),type:"file",mime:Me.mime,url:Me.dataUrl,filename:Me.filename}))}).catch(Me=>{at({title:u.t("prompt.toast.commandSendFailed.title"),description:pr(Me,u.t,u.t("common.requestFailed"))}),Z()});return}}const U=q.filter(oe=>oe.type==="file"&&!!oe.comment?.trim()),se=kn.ascending("message"),he=()=>{r.session.optimistic.remove({directory:T,sessionID:P.id,messageID:se})};x(U),F(),Md({client:E,sync:r,globalSync:i,draft:z,messageID:se,optimisticBusy:T===N,before:async()=>{const oe=eo.get(T);if(!oe||oe.status!=="pending")return!0;T===N&&r.set("session_status",P.id,{type:"busy"});const ae=new AbortController,fe=()=>{T===N&&r.set("session_status",P.id,{type:"idle"}),he(),p(U),Z()};pi.set(P.id,{abort:ae,cleanup:fe});const $e=new Promise(H=>{if(ae.signal.aborted){H({status:"failed",message:"aborted"});return}ae.signal.addEventListener("abort",()=>{H({status:"failed",message:"aborted"})},{once:!0})}),Me=300*1e3,Q={id:void 0},ne=new Promise(H=>{Q.id=window.setTimeout(()=>{H({status:"failed",message:u.t("workspace.error.stillPreparing")})},Me)}),re=await Promise.race([eo.wait(T),$e,ne]).finally(()=>{Q.id!==void 0&&clearTimeout(Q.id)});if(pi.delete(P.id),ae.signal.aborted)return!1;if(re.status==="failed")throw new Error(re.message);return!0}}).catch(oe=>{pi.delete(P.id),T===N&&r.set("session_status",P.id,{type:"idle"}),at({title:u.t("prompt.toast.promptSendFailed.title"),description:f(oe)}),he(),p(U),Z()})}}}const K0=(e,t)=>e?.visualDuration===t?.visualDuration&&e?.bounce===t?.bounce&&e?.stiffness===t?.stiffness&&e?.damping===t?.damping&&e?.mass===t?.mass&&e?.velocity===t?.velocity;function js(e,t){const n=()=>typeof t=="function"?t():t,[r,i]=De(e()),o=Ia(r()),a=Ia(r());let c=n(),l=Ha(a,o,c),u=a.on("change",g=>i(g));return xe(()=>{o.set(e())}),xe(()=>{if(!t)return;const g=n();K0(c,g)||(c=g,l(),l=Ha(a,o,g),i(a.get()))}),rt(()=>{u(),l(),a.destroy(),o.destroy()}),r}var Ed=k("<div>"),Y0=k("<form>");function X0(e){const[t,n]=_t(e,["children","class","classList"]);return(()=>{var r=Ed();return Yn(r,Ke(n,{"data-dock-surface":"shell",get classList(){return{...t.classList??{},[t.class??""]:!!t.class}}}),!1,!0),d(r,()=>t.children),r})()}function Z0(e){const[t,n]=_t(e,["children","class","classList"]);return(()=>{var r=Y0();return Yn(r,Ke(n,{"data-dock-surface":"shell",get classList(){return{...t.classList??{},[t.class??""]:!!t.class}}}),!1,!0),d(r,()=>t.children),r})()}function di(e){const[t,n]=_t(e,["attach","children","class","classList"]);return(()=>{var r=Ed();return Yn(r,Ke(n,{"data-dock-surface":"tray",get"data-dock-attach"(){return t.attach||"none"},get classList(){return{...t.classList??{},[t.class??""]:!!t.class}}}),!1,!0),d(r,()=>t.children),r})()}var Q0=k('<div class="flex flex-col gap-1 py-1"><div class=text-13-medium></div><div class="text-12-regular text-text-invert-base"></div><div class="text-12-regular text-text-invert-base">'),J0=k('<div class="text-12-regular text-text-invert-base">');const ep=e=>{const t=At(),n=l=>{const u=`${l.id} ${l.name}`.toLowerCase();return/claude|anthropic/.test(u)?t.t("model.provider.anthropic"):/gpt|o[1-4]|codex|openai/.test(u)?t.t("model.provider.openai"):/gemini|palm|bard|google/.test(u)?t.t("model.provider.google"):/grok|xai/.test(u)?t.t("model.provider.xai"):/llama|meta/.test(u)?t.t("model.provider.meta"):l.provider.name},r=l=>l==="text"?t.t("model.input.text"):l==="image"?t.t("model.input.image"):l==="audio"?t.t("model.input.audio"):l==="video"?t.t("model.input.video"):l==="pdf"?t.t("model.input.pdf"):l,i=()=>{const l=[];e.latest&&l.push(t.t("model.tag.latest")),e.free&&l.push(t.t("model.tag.free"));const u=l.length?` (${l.join(", ")})`:"";return`${n(e.model)} ${e.model.name}${u}`},o=()=>{if(e.model.capabilities){const g=e.model.capabilities.input,h=["text","image","audio","video","pdf"].filter(p=>g[p]).map(p=>r(p));return h.length?h.join(", "):void 0}const l=e.model.modalities?.input;if(!l)return;const u=l.map(g=>r(g));return u.length?u.join(", "):void 0},a=()=>e.model.capabilities?e.model.capabilities.reasoning?t.t("model.tooltip.reasoning.allowed"):t.t("model.tooltip.reasoning.none"):e.model.reasoning?t.t("model.tooltip.reasoning.allowed"):t.t("model.tooltip.reasoning.none"),c=()=>t.t("model.tooltip.context",{limit:e.model.limit.context.toLocaleString()});return(()=>{var l=Q0(),u=l.firstChild,g=u.nextSibling,f=g.nextSibling;return d(u,i),d(l,s(M,{get when(){return o()},children:h=>(()=>{var p=J0();return d(p,()=>t.t("model.tooltip.allows",{inputs:h()})),p})()}),g),d(g,a),d(f,c),l})()};var tp=k('<div class="w-full flex items-center gap-x-2 text-13-regular"><span class=truncate>'),np=k('<div class="flex items-center gap-1">');const hl=(e,t)=>e==="opencode"&&(!t||t.input===0),Pd=e=>{const t=e.model??Pr().model,n=At(),r=_(()=>t.list().filter(i=>t.visible({modelID:i.id,providerID:i.provider.id})).filter(i=>e.provider?i.provider.id===e.provider:!0));return s(Mg,{get class(){return`flex-1 min-h-0 [&_[data-slot=list-scroll]]:flex-1 [&_[data-slot=list-scroll]]:min-h-0 ${e.class??""}`},get search(){return{placeholder:n.t("dialog.model.search.placeholder"),autofocus:!0,action:e.action}},get emptyMessage(){return n.t("dialog.model.empty")},key:i=>`${i.provider.id}:${i.id}`,items:r,get current(){return t.current()},filterKeys:["provider.name","name","id"],sortBy:(i,o)=>i.name.localeCompare(o.name),groupBy:i=>i.provider.name,sortGroupsBy:(i,o)=>{const a=i.items[0].provider.id,c=o.items[0].provider.id;return qr.includes(a)&&!qr.includes(c)?-1:!qr.includes(a)&&qr.includes(c)?1:qr.indexOf(a)-qr.indexOf(c)},itemWrapper:(i,o)=>s(on,{class:"w-full",placement:"right-start",gutter:12,get value(){return s(ep,{model:i,get latest(){return i.latest},get free(){return hl(i.provider.id,i.cost)}})},children:o}),onSelect:i=>{t.set(i?{modelID:i.id,providerID:i.provider.id}:void 0,{recent:!0}),e.onSelect()},children:i=>(()=>{var o=tp(),a=o.firstChild;return d(a,()=>i.name),d(o,s(M,{get when(){return hl(i.provider.id,i.cost)},get children(){return s(Na,{get children(){return n.t("model.tag.free")}})}}),null),d(o,s(M,{get when(){return i.latest},get children(){return s(Na,{get children(){return n.t("model.tag.latest")}})}}),null),o})()})};function Rd(e){const[t,n]=et({open:!1,dismiss:null}),r=zn(),i=()=>{n("open",!1),un(()=>import("./dialog-manage-models-BwT1iDMG.js"),__vite__mapDeps([4,1,2,5,6,7,8,9])).then(c=>{r.show(()=>s(c.DialogManageModels,{}))})},o=()=>{n("open",!1),un(()=>import("./dialog-select-provider-DCUcnqs5.js").then(c=>c.d),__vite__mapDeps([7,1,2,5,8,9])).then(c=>{r.show(()=>s(c.DialogSelectProvider,{}))})},a=At();return s(Cr,{get open(){return t.open},onOpenChange:c=>{c&&n("dismiss",null),n("open",c)},modal:!1,placement:"top-start",gutter:4,get children(){return[s(Cr.Trigger,Ke({get as(){return e.triggerAs??"div"}},()=>e.triggerProps,{get children(){return e.children}})),s(Cr.Portal,{get children(){return s(Cr.Content,{class:"w-72 h-80 flex flex-col p-2 rounded-md border border-border-base bg-surface-raised-stronger-non-alpha shadow-md z-50 outline-none overflow-hidden",onEscapeKeyDown:c=>{n("dismiss","escape"),n("open",!1),c.preventDefault(),c.stopPropagation()},onPointerDownOutside:()=>{n("dismiss","outside"),n("open",!1)},onFocusOutside:()=>{n("dismiss","outside"),n("open",!1)},onCloseAutoFocus:c=>{t.dismiss==="outside"&&c.preventDefault(),n("dismiss",null)},get children(){return[s(Cr.Title,{class:"sr-only",get children(){return a.t("dialog.model.select.title")}}),s(Pd,{get provider(){return e.provider},get model(){return e.model},onSelect:()=>n("open",!1),class:"p-1",get action(){return(()=>{var c=np();return d(c,s(on,{placement:"top",get value(){return a.t("command.provider.connect")},get children(){return s(pt,{icon:"plus-small",variant:"ghost",iconSize:"normal",class:"size-6",get"aria-label"(){return a.t("command.provider.connect")},onClick:o})}}),null),d(c,s(on,{placement:"top",get value(){return a.t("dialog.model.manage")},get children(){return s(pt,{icon:"sliders",variant:"ghost",iconSize:"normal",class:"size-6",get"aria-label"(){return a.t("dialog.model.manage")},onClick:i})}}),null),c})()}})]}})}})]}})}const rp=e=>{const t=zn(),n=At(),r=()=>{un(()=>import("./dialog-select-provider-DCUcnqs5.js").then(o=>o.d),__vite__mapDeps([7,1,2,5,8,9])).then(o=>{t.show(()=>s(o.DialogSelectProvider,{}))})},i=()=>{un(()=>import("./dialog-manage-models-BwT1iDMG.js"),__vite__mapDeps([4,1,2,5,6,7,8,9])).then(o=>{t.show(()=>s(o.DialogManageModels,{}))})};return s(Rs,{get title(){return n.t("dialog.model.select.title")},get action(){return s(ot,{class:"h-7 -my-1 text-14-medium",icon:"plus-small",tabIndex:-1,onClick:r,get children(){return n.t("command.provider.connect")}})},get children(){return[s(Pd,{get provider(){return e.provider},get model(){return e.model},onSelect:()=>t.close()}),s(ot,{variant:"ghost",class:"ml-3 mt-5 mb-6 text-text-base self-start",onClick:i,get children(){return n.t("dialog.model.manage")}})]}})},ip=Object.freeze(Object.defineProperty({__proto__:null,DialogSelectModel:rp,ModelSelectorPopover:Rd},Symbol.toStringTag,{value:"Module"})),Fd=()=>typeof window>"u"?!1:window.__opencode_e2e?.prompt?.enabled===!0,go=()=>{if(Fd())return window.__opencode_e2e?.prompt},mo={set(e){const t=go();t&&(t.current={popover:e.popover,slash:{active:e.slash.active,ids:[...e.slash.ids]},hash:{active:e.hash.active,ids:[...e.hash.ids]},selected:t.current?.selected??null,selects:t.current?.selects??0})},select(e){const t=go();if(!t)return;const n=t.current;t.current={popover:n?.popover??null,slash:{active:n?.slash.active??null,ids:[...n?.slash.ids??[]]},hash:{active:n?.hash.active??null,ids:[...n?.hash.ids??[]]},selected:e,selects:(n?.selects??0)+1}},clear(){const e=go();e&&(e.current=void 0)}},sp=8e3,op=120;function ap(e){if(e.length>=sp)return!0;let t=0;for(const n of e)if(n===`
|
|
9
|
-
`&&(t+=1,t>=op))return!0;return!1}function lp(e){return e.includes("\r")?e.replace(/\r\n?/g,`
|
|
10
|
-
`):e}function cp(e){return ap(e)||e.includes(`
|
|
11
|
-
`)||e.includes("\r")?"manual":"native"}function dp(e,t){return new Promise(n=>{const r=new FileReader;r.addEventListener("error",()=>n("")),r.addEventListener("load",()=>{const i=typeof r.result=="string"?r.result:"",o=i.indexOf(",");if(o===-1){n(i);return}n(`data:${t};base64,${i.slice(o+1)}`)}),r.readAsDataURL(e)})}function up(e){const t=zr(),n=At(),r=()=>{at({title:n.t("prompt.toast.pasteUnsupported.title"),description:n.t("prompt.toast.pasteUnsupported.description")})},i=async(p,x=!0)=>{const v=await O0(p);if(!v)return x&&r(),!1;const b=e.editor();if(!b)return!1;const m=await dp(p,v);if(!m)return!1;const $={type:"image",id:zf(),filename:p.name,mime:v,dataUrl:m},w=t.cursor()??$r(b);return t.set([...t.current(),$],w),!0},o=p=>i(p),a=async(p,x=!0)=>{let v=!1;for(const b of p)await i(b,!1)&&(v=!0);return!v&&p.length>0&&x&&r(),v},c=p=>{const v=t.current().filter(b=>b.type!=="image"||b.id!==p);t.set(v,t.cursor())},l=async p=>{const x=p.clipboardData;if(!x)return;p.preventDefault(),p.stopPropagation();const v=Array.from(x.items).flatMap(y=>{if(y.kind!=="file")return[];const S=y.getAsFile();return S?[S]:[]});if(v.length>0){await a(v);return}const b=x.getData("text/plain")??"";if(e.readClipboardImage&&!b){const y=await e.readClipboardImage();if(y){await o(y);return}}if(!b)return;const m=lp(b),$=()=>e.addPart({type:"text",content:m,start:0,end:0})?!0:(e.focusEditor(),e.addPart({type:"text",content:m,start:0,end:0}));if(cp(m)==="manual"){$();return}typeof document.execCommand=="function"&&document.execCommand("insertText",!1,m)||$()},u=p=>{const x=p.target;return x instanceof Element?!!x.closest('[data-scope="filetree"]'):!1},g=p=>{if(e.isDialogActive()||(p.preventDefault(),u(p)))return;const x=p.dataTransfer?.types.includes("Files"),v=p.dataTransfer?.types.includes("text/plain");x?e.setDraggingType("image"):v&&e.setDraggingType("@mention")},f=p=>{e.isDialogActive()||u(p)||p.relatedTarget||e.setDraggingType(null)},h=async p=>{if(e.isDialogActive()||(p.preventDefault(),u(p)))return;e.setDraggingType(null);const x=p.dataTransfer?.getData("text/plain"),v="file:";if(x?.startsWith(v)){const m=x.slice(v.length);e.focusEditor(),e.addPart({type:"file",path:m,content:"@"+m,start:0,end:0});return}const b=p.dataTransfer?.files;b&&await a(Array.from(b))};return Xt(()=>{document.addEventListener("dragover",g),document.addEventListener("dragleave",f),document.addEventListener("drop",h)}),rt(()=>{document.removeEventListener("dragover",g),document.removeEventListener("dragleave",f),document.removeEventListener("drop",h)}),{addAttachment:o,addAttachments:a,removeAttachment:c,handlePaste:l}}const fp=[{type:"text",content:"",start:0,end:0}],gp=100;function mp(e,t,n,r=!1){const i=Math.max(0,Math.min(n,t.length)),o=i===0,a=i===t.length;return r?o||a:e==="up"?i===0&&t.length===0:i===t.length}function _s(e){return e.map(t=>t.type==="text"?{...t}:t.type==="image"?{...t}:t.type==="agent"?{...t}:t.type==="entity"?{...t}:{...t,selection:t.selection?{...t.selection}:void 0})}function hp(e){return{start:e.start,end:e.end,...e.side?{side:e.side}:{},...e.endSide?{endSide:e.endSide}:{}}}function oa(e){return e.map(t=>({...t,selection:hp(t.selection)}))}function Ai(e){return Array.isArray(e)?{prompt:_s(e),comments:[]}:{prompt:_s(e.prompt),comments:oa(e.comments)}}function wr(e){return e.reduce((t,n)=>t+("content"in n?n.content.length:0),0)}function pp(e,t,n=[],r=gp){const i=t.map(u=>"content"in u?u.content:"").join("").trim(),o=t.some(u=>u.type==="image"),a=n.some(u=>!!u.comment.trim());if(!i&&!o&&!a)return e;const c={prompt:_s(t),comments:oa(n)},l=e[0];return l&&xp(l,c)?e:[c,...e].slice(0,r)}function vp(e,t){return e.path===t.path&&e.comment===t.comment&&e.origin===t.origin&&e.preview===t.preview&&e.selection.start===t.selection.start&&e.selection.end===t.selection.end&&e.selection.side===t.selection.side&&e.selection.endSide===t.selection.endSide}function xp(e,t){const n=Ai(e),r=Ai(t);if(n.prompt.length!==r.prompt.length)return!1;for(let i=0;i<n.prompt.length;i++){const o=n.prompt[i],a=r.prompt[i];if(o.type!==a.type||o.type==="text"&&o.content!==(a.type==="text"?a.content:""))return!1;if(o.type==="file"){if(o.path!==(a.type==="file"?a.path:""))return!1;const c=o.selection,l=a.type==="file"?a.selection:void 0;if(!(!c&&!l||!!c&&!!l&&c.startLine===l.startLine&&c.startChar===l.startChar&&c.endLine===l.endLine&&c.endChar===l.endChar))return!1}if(o.type==="agent"&&o.name!==(a.type==="agent"?a.name:"")||o.type==="image"&&o.id!==(a.type==="image"?a.id:""))return!1}if(n.comments.length!==r.comments.length)return!1;for(let i=0;i<n.comments.length;i++){const o=n.comments[i],a=r.comments[i];if(!o||!a||!vp(o,a))return!1}return!0}function bp(e){if(e.direction==="up"){if(e.entries.length===0)return{handled:!1,historyIndex:e.historyIndex,savedPrompt:e.savedPrompt};if(e.historyIndex===-1){const t=Ai(e.entries[0]);return{handled:!0,historyIndex:0,savedPrompt:{prompt:_s(e.currentPrompt),comments:oa(e.currentComments)},entry:t,cursor:"start"}}if(e.historyIndex<e.entries.length-1){const t=e.historyIndex+1,n=Ai(e.entries[t]);return{handled:!0,historyIndex:t,savedPrompt:e.savedPrompt,entry:n,cursor:"start"}}return{handled:!1,historyIndex:e.historyIndex,savedPrompt:e.savedPrompt}}if(e.historyIndex>0){const t=e.historyIndex-1,n=Ai(e.entries[t]);return{handled:!0,historyIndex:t,savedPrompt:e.savedPrompt,entry:n,cursor:"end"}}return e.historyIndex===0?e.savedPrompt?{handled:!0,historyIndex:-1,savedPrompt:null,entry:e.savedPrompt,cursor:"end"}:{handled:!0,historyIndex:-1,savedPrompt:null,entry:{prompt:fp,comments:[]},cursor:"end"}:{handled:!1,historyIndex:e.historyIndex,savedPrompt:e.savedPrompt}}var yp=k('<div class="absolute inset-x-0 -top-2 -translate-y-full origin-bottom-left max-h-80 min-h-10 overflow-auto no-scrollbar flex flex-col p-2 rounded-[12px] bg-surface-raised-stronger-non-alpha shadow-[var(--shadow-lg-border-base)]">'),Qi=k('<div class="text-text-weak px-2 py-1">'),wp=k('<div class="text-11-medium uppercase tracking-wide text-text-weak px-2 py-1">'),$p=k('<button class="w-full flex items-center gap-x-2 rounded-md px-2 py-0.5"><span class="text-14-regular text-text-strong whitespace-nowrap">@'),kp=k('<button class="w-full flex items-center gap-x-2 rounded-md px-2 py-0.5"><div class="flex flex-col items-start min-w-0"><span class="text-14-regular text-text-strong whitespace-nowrap">@</span><span class="text-12-regular text-text-weak truncate"></span></div><span class="ml-auto shrink-0 text-10-medium text-text-subtle px-1.5 py-0.5 bg-surface-base rounded">'),Cp=k('<span class="text-text-strong whitespace-nowrap">'),_p=k('<button class="w-full flex items-center gap-x-2 rounded-md px-2 py-0.5"><div class="flex items-center text-14-regular min-w-0"><span class="text-text-weak whitespace-nowrap truncate min-w-0">'),Sp=k('<button class="w-full flex items-center gap-x-2 rounded-md px-2 py-0.5"><div class="flex flex-col items-start min-w-0"><span class="text-14-regular text-text-strong whitespace-nowrap">#</span><span class="text-12-regular text-text-weak truncate">'),Tp=k('<button class="w-full flex items-center gap-x-2 rounded-md px-2 py-0.5"><div class="flex flex-col items-start min-w-0"><span class="text-14-regular text-text-strong whitespace-nowrap">#</span><span class="text-12-regular text-text-weak">'),Ap=k('<span class="text-14-regular text-text-weak truncate">'),Dp=k('<span class="text-11-regular text-text-subtle px-1.5 py-0.5 bg-surface-base rounded">'),Ip=k('<span class="text-12-regular text-text-subtle">'),Lp=k('<button><div class="flex items-center gap-2 min-w-0"><span class="text-14-regular text-text-strong whitespace-nowrap">/</span></div><div class="flex items-center gap-2 shrink-0">'),Mp=k('<button class="w-full flex items-center gap-x-2 rounded-md px-2 py-0.5"><div class="flex flex-col items-start min-w-0"><span class="text-14-regular text-text-strong whitespace-nowrap">[[<!>]]</span><span class="text-12-regular text-text-weak truncate"></span></div><span class="ml-auto shrink-0 text-10-medium text-text-subtle px-1.5 py-0.5 bg-surface-base rounded">');const Ep=e=>s(M,{get when(){return e.popover},get children(){var t=yp();return t.$$mousedown=n=>n.preventDefault(),mt(n=>{e.popover==="slash"&&e.setSlashPopoverRef(n)},t),d(t,s(Qt,{get children(){return[s(Ve,{get when(){return e.popover==="at"},get children(){return s(M,{get when(){return e.atFlat.length>0},get fallback(){return(()=>{var n=Qi();return d(n,()=>e.t("prompt.popover.emptyResults")),n})()},get children(){return s(ze,{get each(){return e.atGrouped},children:n=>[s(M,{get when(){return n.category},get children(){var r=wp();return d(r,()=>n.category==="agent"&&"Agents",null),d(r,()=>n.category==="entity"&&"Entities",null),d(r,()=>n.category==="recent"&&"Recent",null),d(r,()=>n.category==="file"&&"Files",null),r}}),s(ze,{get each(){return n.items.slice(0,10)},children:r=>{const i=e.atKey(r);if(r.type==="agent")return(()=>{var l=$p(),u=l.firstChild;return u.firstChild,l.addEventListener("mouseenter",()=>e.setAtActive(i)),l.$$click=()=>e.onAtSelect(r),d(l,s(Ne,{name:"brain",size:"small",class:"text-icon-info-active shrink-0"}),u),d(u,()=>r.name,null),ie(()=>l.classList.toggle("bg-surface-raised-base-hover",e.atActive===i)),l})();if(r.type==="entity"){const l=()=>{switch(r.entityType){case"issue":return"checklist";case"milestone":return"trophy";case"decision":return"brain";case"symbol":return"code";default:return"archive"}};return(()=>{var u=kp(),g=u.firstChild,f=g.firstChild;f.firstChild;var h=f.nextSibling,p=g.nextSibling;return u.addEventListener("mouseenter",()=>e.setAtActive(i)),u.$$click=()=>e.onAtSelect(r),d(u,s(Ne,{get name(){return l()},size:"small",class:"text-icon-info-active shrink-0"}),g),d(f,()=>r.entityId,null),d(h,()=>r.display),d(p,()=>r.entityType),ie(()=>u.classList.toggle("bg-surface-raised-base-hover",e.atActive===i)),u})()}const o=r.path.endsWith("/"),a=o?r.path:oi(r.path),c=o?"":jt(r.path);return(()=>{var l=_p(),u=l.firstChild,g=u.firstChild;return l.addEventListener("mouseenter",()=>e.setAtActive(i)),l.$$click=()=>e.onAtSelect(r),d(l,s(Sn,{get node(){return{path:r.path,type:"file"}},class:"shrink-0 size-4"}),u),d(g,a),d(u,s(M,{when:!o,get children(){var f=Cp();return d(f,c),f}}),null),ie(()=>l.classList.toggle("bg-surface-raised-base-hover",e.atActive===i)),l})()}})]})}})}}),s(Ve,{get when(){return e.popover==="hash"},get children(){return s(M,{get when(){return e.hashFlat.length>0},get fallback(){return(()=>{var n=Qi();return d(n,()=>e.t("prompt.popover.emptyResults")),n})()},get children(){return s(ze,{get each(){return e.hashFlat.slice(0,10)},children:n=>{const r=`${n.type}-${n.name}`;return n.type==="entity"?(()=>{var i=Sp(),o=i.firstChild,a=o.firstChild;a.firstChild;var c=a.nextSibling;return i.addEventListener("mouseenter",()=>e.setHashActive(r)),i.$$click=()=>e.onHashSelect(n),d(i,s(Ne,{name:"archive",size:"small",class:"text-icon-success-active shrink-0"}),o),d(a,()=>n.name,null),d(c,()=>n.display),ie(()=>i.classList.toggle("bg-surface-raised-base-hover",e.hashActive===r)),i})():(()=>{var i=Tp(),o=i.firstChild,a=o.firstChild;a.firstChild;var c=a.nextSibling;return i.addEventListener("mouseenter",()=>e.setHashActive(r)),i.$$click=()=>e.onHashSelect(n),d(i,s(Ne,{name:"code",size:"small",class:"text-icon-warning-active shrink-0"}),o),d(a,()=>n.name,null),d(c,()=>n.symbolType),ie(()=>i.classList.toggle("bg-surface-raised-base-hover",e.hashActive===r)),i})()}})}})}}),s(Ve,{get when(){return e.popover==="slash"},get children(){return s(M,{get when(){return e.slashFlat.length>0},get fallback(){return(()=>{var n=Qi();return d(n,()=>e.t("prompt.popover.emptyCommands")),n})()},get children(){return s(ze,{get each(){return e.slashFlat},children:n=>(()=>{var r=Lp(),i=r.firstChild,o=i.firstChild;o.firstChild;var a=i.nextSibling;return r.addEventListener("mouseenter",()=>e.setSlashActive(n.id)),r.$$click=()=>e.onSlashSelect(n),d(o,()=>n.trigger,null),d(i,s(M,{get when(){return n.description},get children(){var c=Ap();return d(c,()=>n.description),c}}),null),d(a,s(M,{get when(){return Ce(()=>n.type==="custom")()&&n.source!=="command"},get children(){var c=Dp();return d(c,(()=>{var l=Ce(()=>n.source==="skill");return()=>l()?e.t("prompt.slash.badge.skill"):Ce(()=>n.source==="mcp")()?e.t("prompt.slash.badge.mcp"):e.t("prompt.slash.badge.custom")})()),c}}),null),d(a,s(M,{get when(){return e.commandKeybind(n.id)},get children(){var c=Ip();return d(c,()=>e.commandKeybind(n.id)),c}}),null),ie(c=>{var l=n.id,u={"w-full flex items-center justify-between gap-4 rounded-md px-2 py-1":!0,"bg-surface-raised-base-hover":e.slashActive===n.id};return l!==c.e&&ue(r,"data-slash-id",c.e=l),c.t=bt(r,u,c.t),c},{e:void 0,t:void 0}),r})()})}})}}),s(Ve,{get when(){return e.popover==="wiki"},get children(){return s(M,{get when(){return e.wikiFlat.length>0},get fallback(){return(()=>{var n=Qi();return d(n,()=>e.t("prompt.popover.emptyResults")),n})()},get children(){return s(ze,{get each(){return e.wikiFlat.slice(0,10)},children:n=>{const r=`${n.namespace}:${n.target}`,i=()=>{switch(n.namespace){case"issue":return"checklist";case"milestone":return"trophy";case"decision":return"brain";case"file":return"file";default:return"archive"}};return(()=>{var o=Mp(),a=o.firstChild,c=a.firstChild,l=c.firstChild,u=l.nextSibling;u.nextSibling;var g=c.nextSibling,f=a.nextSibling;return o.addEventListener("mouseenter",()=>e.setWikiActive(r)),o.$$click=()=>e.onWikiSelect(n),d(o,s(Ne,{get name(){return i()},size:"small",class:"text-icon-info-active shrink-0"}),a),d(c,()=>n.target,u),d(g,()=>n.display),d(f,()=>n.namespace),ie(()=>o.classList.toggle("bg-surface-raised-base-hover",e.wikiActive===r)),o})()}})}})}})]}})),t}});Mt(["mousedown","click"]);var Pp=k('<div class="flex flex-nowrap items-start gap-2 p-2 overflow-x-auto no-scrollbar">'),Rp=k('<div><div class="flex items-center gap-1.5"><div class="flex items-center text-11-regular min-w-0 font-medium"><span class="text-text-strong whitespace-nowrap">'),Fp=k('<span class="flex max-w-[300px]"><span class="text-text-invert-base truncate-start [unicode-bidi:plaintext] min-w-0"></span><span class=shrink-0>'),zp=k('<span class="text-text-weak whitespace-nowrap shrink-0">'),Op=k('<div class="text-12-regular text-text-strong ml-5 pr-1 truncate">');const Np=e=>s(M,{get when(){return e.items.length>0},get children(){var t=Pp();return d(t,s(ze,{get each(){return e.items},children:n=>{const r=oi(n.path),i=jt(n.path),o=Of(n.path,14),a=e.active(n);return s(on,{get value(){return(()=>{var c=Fp(),l=c.firstChild,u=l.nextSibling;return d(l,r),d(u,i),c})()},placement:"top",openDelay:2e3,get children(){var c=Rp(),l=c.firstChild,u=l.firstChild,g=u.firstChild;return c.$$click=()=>e.openComment(n),d(l,s(Sn,{get node(){return{path:n.path,type:"file"}},class:"shrink-0 size-3.5"}),u),d(g,o),d(u,s(M,{get when(){return n.selection},children:f=>(()=>{var h=zp();return d(h,(()=>{var p=Ce(()=>f().startLine===f().endLine);return()=>p()?`:${f().startLine}`:`:${f().startLine}-${f().endLine}`})()),h})()}),null),d(l,s(pt,{type:"button",icon:"close-small",variant:"ghost",class:"ml-auto size-3.5 text-text-weak hover:text-text-strong transition-all",onClick:f=>{f.stopPropagation(),e.remove(n)},get"aria-label"(){return e.t("prompt.context.removeFile")}}),null),d(c,s(M,{get when(){return n.comment},children:f=>(()=>{var h=Op();return d(h,f),h})()}),null),ie(f=>bt(c,{"group shrink-0 flex flex-col rounded-[6px] pl-2 pr-1 py-1 max-w-[200px] h-12 cursor-default transition-all transition-transform shadow-xs-border hover:shadow-xs-border-hover":!0,"hover:bg-surface-interactive-weak":!!n.commentID&&!a,"bg-surface-interactive-hover hover:bg-surface-interactive-hover shadow-xs-border-hover":a,"bg-background-stronger":!a},f)),c}})}})),t}});Mt(["click"]);var Bp=k('<div class="flex flex-wrap gap-2 px-3 pt-3">'),qp=k('<img class="size-16 rounded-md object-cover border border-border-base hover:border-border-strong-base transition-colors">'),Hp=k('<div class="relative group"><button type=button class="absolute -top-1.5 -right-1.5 size-5 rounded-full bg-surface-raised-stronger-non-alpha border border-border-base flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity hover:bg-surface-raised-base-hover"></button><div class="absolute bottom-0 left-0 right-0 px-1 py-0.5 bg-black/50 rounded-b-md"><span class="text-10-regular text-white truncate block">'),jp=k('<div class="size-16 rounded-md bg-surface-base flex items-center justify-center border border-border-base">');const Wp=e=>s(M,{get when(){return e.attachments.length>0},get children(){var t=Bp();return d(t,s(ze,{get each(){return e.attachments},children:n=>(()=>{var r=Hp(),i=r.firstChild,o=i.nextSibling,a=o.firstChild;return d(r,s(M,{get when(){return n.mime.startsWith("image/")},get fallback(){return(()=>{var c=jp();return d(c,s(Ne,{name:"folder",class:"size-6 text-text-weak"})),c})()},get children(){var c=qp();return c.$$click=()=>e.onOpen(n),ie(l=>{var u=n.dataUrl,g=n.filename;return u!==l.e&&ue(c,"src",l.e=u),g!==l.t&&ue(c,"alt",l.t=g),l},{e:void 0,t:void 0}),c}}),i),i.$$click=()=>e.onRemove(n.id),d(i,s(Ne,{name:"close",class:"size-3 text-text-weak"})),d(a,()=>n.filename),ie(()=>ue(i,"aria-label",e.removeLabel)),r})()})),t}});Mt(["click"]);var Up=k('<div class="absolute inset-0 z-10 flex items-center justify-center bg-surface-raised-stronger-non-alpha/90 pointer-events-none"><div class="flex flex-col items-center gap-2 text-text-weak"><span class=text-14-regular>');const pl={image:"photo","@mention":"link"},Gp=e=>s(M,{get when(){return e.type!==null},get children(){var t=Up(),n=t.firstChild,r=n.firstChild;return d(n,s(Ne,{get name(){return Ce(()=>!!e.type)()?pl[e.type]:pl.image},class:"size-8"}),r),d(r,()=>e.label),t}});function Vp(e){return e.mode==="shell"?e.t("prompt.placeholder.shell"):e.commentCount>1?e.t("prompt.placeholder.summarizeComments"):e.commentCount===1?e.t("prompt.placeholder.summarizeComment"):e.suggest?e.t("prompt.placeholder.normal",{example:e.example}):e.t("prompt.placeholder.simple")}var Kp=k("<div data-slot=image-preview-header>"),Yp=k("<div data-slot=image-preview-body><img data-slot=image-preview-image>"),Xp=k("<div data-component=image-preview><div data-slot=image-preview-container>");function zd(e){const t=Et();return(()=>{var n=Xp(),r=n.firstChild;return d(r,s(La.Content,{"data-slot":"image-preview-content",get children(){return[(()=>{var i=Kp();return d(i,s(La.CloseButton,{"data-slot":"image-preview-close",as:pt,icon:"close",variant:"ghost",get"aria-label"(){return t.t("ui.common.close")}})),i})(),(()=>{var i=Yp(),o=i.firstChild;return ie(a=>{var c=e.src,l=e.alt??t.t("ui.imagePreview.alt");return c!==a.e&&ue(o,"src",a.e=c),l!==a.t&&ue(o,"alt",a.t=l),a},{e:void 0,t:void 0}),i})()]}})),n})()}var Zp=k('<div class="flex items-center gap-2"><span></span><span class="text-icon-base text-12-medium text-[10px]!">'),Qp=k('<div class="flex items-center gap-2"><span>'),Jp=k('<div class="absolute top-0 inset-x-0 pl-3 pr-2 pt-2 text-14-regular text-text-weak pointer-events-none whitespace-nowrap truncate"style=padding-bottom:56px>'),ev=k('<div class=relative><div class="relative max-h-[240px] overflow-y-auto no-scrollbar"style=scroll-padding-bottom:56px><div data-component=prompt-input role=textbox aria-multiline=true contenteditable=true style=padding-bottom:56px></div></div><div aria-hidden=true class="pointer-events-none absolute inset-x-0 bottom-0"style="height:56px;background:linear-gradient(to top, var(--surface-raised-stronger-non-alpha) calc(100% - 20px), transparent)"></div><div class="pointer-events-none absolute bottom-2 right-2 flex items-center gap-2"><input type=file multiple class=hidden><div class="flex items-center gap-1 pointer-events-auto"></div></div><div class="pointer-events-none absolute bottom-2 left-2"><div class=pointer-events-auto>'),vl=k("<span class=truncate>"),tv=k('<div class="px-1.75 pt-4 pb-1 flex items-center gap-1 min-w-0"><div class="flex items-center gap-1.5 min-w-0 flex-1 relative"><div class="h-7 flex items-center gap-1.5 max-w-[160px] min-w-0 absolute inset-y-0 left-0"style="padding:0 4px 0 8px"><span class="truncate text-13-medium text-text-strong"></span><div class="size-4 shrink-0"></div></div><div class="flex items-center gap-1.5 min-w-0 flex-1"><div data-component=prompt-agent-control></div><div data-component=prompt-model-control></div><div data-component=prompt-variant-control>'),nv=k('<div class="relative size-full _max-h-[320px] flex flex-col gap-0">');const ho=["prompt.example.1","prompt.example.2","prompt.example.3","prompt.example.4","prompt.example.5","prompt.example.6","prompt.example.7","prompt.example.8","prompt.example.9","prompt.example.10","prompt.example.11","prompt.example.12","prompt.example.13","prompt.example.14","prompt.example.15","prompt.example.16","prompt.example.17","prompt.example.18","prompt.example.19","prompt.example.20","prompt.example.21","prompt.example.22","prompt.example.23","prompt.example.24","prompt.example.25"],rv=/[^\s\u200B]/,iv=e=>{const t=Jt(),n=An(),r=Pr(),i=In(),o=zr(),a=rr(),c=Ko(),l=zn(),u=Go(),g=Er(),f=Ps(),h=At(),p=Ds(),{params:x,tabs:v,view:b}=ir(),m=On(),$=Sr();let w,y,S,C;const A={input:!1},R=56,V=()=>{const I=S,X=window.getSelection();if(!I||!X||X.rangeCount===0)return;const ce=X.getRangeAt(0);if(!w.contains(ce.startContainer))return;const Se=$r(w),He=wr(o.current().filter(yt=>yt.type!=="image"));if(Se>=He){I.scrollTop=I.scrollHeight;return}const nt=ce.getClientRects().item(0)??ce.getBoundingClientRect();if(!nt.height)return;const ut=I.getBoundingClientRect(),Ct=nt.top-ut.top+I.scrollTop,Dt=nt.bottom-ut.top+I.scrollTop,We=12;if(Ct<I.scrollTop+We){I.scrollTop=Math.max(0,Ct-We);return}Dt>I.scrollTop+I.clientHeight-R&&(I.scrollTop=Dt-I.clientHeight+R)},N=(I=2)=>{requestAnimationFrame(()=>{V(),I>1&&N(I-1)})},B=ci({tabs:v,pathFromTab:i.pathFromTab,normalizeTab:I=>I.startsWith("file://")?i.tab(I):I}).activeFileTab,O=I=>{const X=x.id;if(!X)return!1;const ce=n.data.session_diff[X];return ce?ce.some(Se=>Se.file===I):!1},L=I=>{if(!I.commentID)return;const X={file:I.path,id:I.commentID};c.setActive(X);const ce=(nt=6)=>{const ut=Ct=>{requestAnimationFrame(()=>{c.setFocus({...X}),!(Ct<=0)&&requestAnimationFrame(()=>{const Dt=c.focus();Dt&&(Dt.file!==X.file||Dt.id!==X.id||ut(Ct-1))})})};ut(nt)};if(I.commentOrigin==="review"||I.commentOrigin!=="file"&&O(I.path)){b().reviewPanel.opened()||b().reviewPanel.open(),a.fileTree.setTab("changes"),v().setActive("review"),ce();return}b().reviewPanel.opened()||b().reviewPanel.open(),a.fileTree.setTab("all");const He=i.tab(I.path);v().open(He),v().setActive(He),Promise.resolve(i.load(I.path)).finally(()=>ce())},T=_(()=>{const I=v().all(),X=B(),ce=X?[X,...I.filter(nt=>nt!==X)]:I,Se=new Set,He=[];for(const nt of ce){const ut=i.pathFromTab(nt);ut&&(Se.has(ut)||(Se.add(ut),He.push(ut)))}return He}),E=_(()=>x.id?n.session.get(x.id):void 0),P=_(()=>n.data.session_status[x.id??""]??{type:"idle"}),j=_(()=>P()?.type!=="idle"),G=()=>j()?(()=>{var I=Zp(),X=I.firstChild,ce=X.nextSibling;return d(X,()=>h.t("prompt.action.stop")),d(ce,()=>h.t("common.key.esc")),I})():(()=>{var I=Qp(),X=I.firstChild;return d(X,()=>h.t("prompt.action.send")),d(I,s(Ne,{name:"enter",size:"small",class:"text-icon-base"}),null),I})(),q=_(()=>o.current().filter(I=>I.type==="image")),[z,F]=et({popover:null,historyIndex:-1,savedPrompt:null,placeholder:Math.floor(Math.random()*ho.length),draggingType:null,mode:"normal",applyingHistory:!1}),Z=js(()=>z.mode==="normal"?1:0,{visualDuration:.2,bounce:0}),U=I=>({opacity:I,transform:`scale(${.95+I*.05})`,filter:`blur(${(1-I)*2}px)`,"pointer-events":I>.5?"auto":"none"}),se=_(()=>U(Z())),he=_(()=>U(1-Z())),ee=_(()=>({height:"28px",...se()})),oe=_(()=>z.mode==="shell"?0:o.context.items().filter(I=>!!I.comment?.trim()).length),ae=_(()=>{const I=o.context.items();return z.mode!=="shell"?I:I.filter(X=>!X.comment?.trim())}),fe=_(()=>{const I=x.id;if(!I)return!1;const X=n.data.message[I];return X?X.some(ce=>ce.role==="user"):!1}),[$e,Me]=mr(hr.global("prompt-history",["prompt-history.v1"]),et({entries:[]})),[Q,ne]=mr(hr.global("prompt-history-shell",["prompt-history-shell.v1"]),et({entries:[]})),re=_(()=>!fe()),H=_(()=>Vp({mode:z.mode,commentCount:oe(),example:re()?h.t(ho[z.placeholder]):"",suggest:re(),t:(I,X)=>h.t(I,X)})),Y=()=>{const I=new Map(c.all().map(X=>[`${X.file}
|
|
12
|
-
${X.id}`,X]));return o.context.items().flatMap(X=>{if(X.type!=="file")return[];const ce=X.comment?.trim();if(!ce)return[];const He=(X.commentID?I.get(`${X.path}
|
|
13
|
-
${X.commentID}`)?.selection:void 0)??(X.selection?{start:X.selection.startLine,end:X.selection.endLine}:void 0);return He?[{id:X.commentID??X.key,path:X.path,selection:{...He},comment:ce,time:X.commentID?I.get(`${X.path}
|
|
14
|
-
${X.commentID}`)?.time??Date.now():Date.now(),origin:X.commentOrigin,preview:X.preview}]:[]})},ge=I=>{c.replace(I.map(X=>({id:X.id,file:X.path,selection:{...X.selection},comment:X.comment,time:X.time}))),o.context.replaceComments(I.map(X=>({type:"file",path:X.path,selection:ni(X.selection),comment:X.comment,commentID:X.id,commentOrigin:X.origin,preview:X.preview})))},te=(I,X)=>{const ce=I.prompt,Se=X==="start"?0:wr(ce);F("applyingHistory",!0),ge(I.comments),o.set(ce,Se),requestAnimationFrame(()=>{w.focus(),Vr(w,Se),F("applyingHistory",!1),N()})},Re=()=>{const I=window.getSelection(),X=wr(o.current());if(!I||I.rangeCount===0)return{collapsed:!1,cursorPosition:0,textLength:X};const ce=I.anchorNode;return!ce||!w.contains(ce)?{collapsed:!1,cursorPosition:0,textLength:X}:{collapsed:I.isCollapsed,cursorPosition:$r(w),textLength:X}},Te=()=>p.platform==="desktop"&&p.os==="macos",me=()=>y?.click(),tt=I=>{F("mode",I),F("popover",null),requestAnimationFrame(()=>w?.focus())},Ae="mod+shift+x",_e="mod+shift+e";g.register("prompt-input",()=>[{id:"file.attach",title:h.t("prompt.action.attachFile"),category:h.t("command.category.file"),keybind:"mod+u",disabled:z.mode!=="normal",onSelect:me},{id:"prompt.mode.shell",title:h.t("command.prompt.mode.shell"),category:h.t("command.category.session"),keybind:Ae,disabled:z.mode==="shell",onSelect:()=>tt("shell")},{id:"prompt.mode.normal",title:h.t("command.prompt.mode.normal"),category:h.t("command.category.session"),keybind:_e,disabled:z.mode==="normal",onSelect:()=>tt("normal")}]);const Le=()=>F("popover",null),ke=(I=!1)=>{!I&&(z.historyIndex<0||z.applyingHistory)||(F("historyIndex",-1),F("savedPrompt",null))},Ge=()=>{w.innerHTML=""},vt=I=>{Ge(),w.textContent=I},Rt=()=>{requestAnimationFrame(()=>{w.focus();const I=document.createRange(),X=window.getSelection();I.selectNodeContents(w),I.collapse(!1),X?.removeAllRanges(),X?.addRange(I)})},Pt=()=>{const I=window.getSelection();return!I||I.rangeCount===0||!w.contains(I.anchorNode)?null:$r(w)},St=I=>{const X=Pt();pe(I),X!==null&&Vr(w,X)};xe(()=>{if(x.id,x.id||!re())return;const I=setInterval(()=>{F("placeholder",X=>(X+1)%ho.length)},6500);rt(()=>clearInterval(I))});const[Tt,Ut]=De(!1),ye=I=>I.isComposing||Tt()||I.keyCode===229,Ze=()=>{Le(),Ut(!1)},Pe=()=>{Ut(!0)},Be=()=>{Ut(!1),requestAnimationFrame(()=>{Tt()||J(o.current().filter(I=>I.type!=="image"))})},Ft=_(()=>n.data.agent.filter(I=>!I.hidden&&I.mode!=="primary").map(I=>({type:"agent",name:I.name,display:I.name}))),qt=_(()=>r.agent.list().map(I=>I.name)),Nt=I=>{I&&(I.type==="agent"?Ee({type:"agent",name:I.name,content:"@"+I.name}):I.type==="entity"?Ee({type:"entity",entityType:I.entityType,entityId:I.entityId,content:`@${I.entityType}:${I.entityId}`}):Ee({type:"file",path:I.path,content:"@"+I.path}))},Gt=I=>I?I.type==="agent"?`agent:${I.name}`:I.type==="entity"?`entity:${I.entityType}:${I.entityId}`:`file:${I.path}`:"",{flat:Ht,grouped:Ot,active:$t,setActive:nn,onInput:en,onKeyDown:Wt}=Vi({items:async I=>{const X=Ft(),ce=T(),Se=new Set(ce),He=ce.map(Bt=>({type:"file",path:Bt,display:Bt,recent:!0})),nt=[],ut=new Set,Ct=Bt=>{ut.has(Bt.entityId)||(ut.add(Bt.entityId),nt.push(Bt))};if(m.ready){const Bt=await m.fetchStoreEntities();for(const Kt of Bt)Ct({type:"entity",entityType:Kt.type,entityId:Kt.id,display:Nf(Kt.id)});for(const Kt of m.issues)Ct({type:"entity",entityType:"issue",entityId:Kt.id,display:`${Kt.id}: ${Kt.title}`});try{const Kt=await m.fetchDecisions({limit:20});for(const jn of Kt)Ct({type:"entity",entityType:"decision",entityId:jn.id,display:jn.toolName})}catch{}try{const Kt=await m.fetchMilestones();for(const jn of Kt)Ct({type:"entity",entityType:"milestone",entityId:jn.id,display:jn.message??jn.id})}catch{}}const Dt=nt.sort((Bt,Kt)=>Ma({id:Bt.entityId,type:Bt.entityType})-Ma({id:Kt.entityId,type:Kt.entityType})||Bt.entityId.localeCompare(Kt.entityId));if(!I.trim())return[...X,...He,...Dt.slice(0,20)];const yt=(await i.searchFilesAndDirectories(I)).filter(Bt=>!Se.has(Bt)).map(Bt=>({type:"file",path:Bt,display:Bt})),Ye=I.toLowerCase(),fn=Dt.filter(Bt=>Bt.entityId.toLowerCase().includes(Ye)||Bt.display.toLowerCase().includes(Ye)||Bt.entityType.toLowerCase().includes(Ye)).slice(0,20);return[...X,...He,...fn,...yt]},key:Gt,filterKeys:["display","entityId","entityType","path","name"],groupBy:I=>I.type==="agent"?"agent":I.type==="entity"?"entity":I.recent?"recent":"file",sortGroupsBy:(I,X)=>{const ce=Se=>Se==="agent"?0:Se==="entity"?1:Se==="recent"?2:3;return ce(I.category)-ce(X.category)},onSelect:Nt}),Pn=_(()=>{const I=g.options.filter(ce=>!ce.disabled&&!ce.id.startsWith("suggested.")&&ce.slash).map(ce=>({id:ce.id,trigger:ce.slash,title:ce.title,description:ce.description,keybind:ce.keybind,type:"builtin"}));return[...n.data.command.map(ce=>({id:`custom.${ce.name}`,trigger:ce.name,title:ce.name,description:ce.description,type:"custom",source:ce.source})),...I]}),an=I=>{if(I){if(mo.select(I.id),Le(),I.type==="custom"){const X=`/${I.trigger} `;vt(X),o.set([{type:"text",content:X,start:0,end:X.length}],X.length),Rt();return}Ge(),o.set([{type:"text",content:"",start:0,end:0}],0),g.trigger(I.id,"slash")}},{flat:Zn,active:wn,setActive:Ln,onInput:sr,onKeyDown:Nn}=Vi({items:Pn,key:I=>I?.id,filterKeys:["trigger","title"],onSelect:an}),dn=I=>{I&&Ee({type:"entity",entityType:I.type==="entity"?I.entityType:I.symbolType,entityId:I.name,content:`#${I.name}`})},Qn=I=>I?`${I.type}:${I.name}`:"",hn=I=>{I&&Ee({type:"entity",entityType:I.namespace,entityId:I.target,content:`[[${I.namespace}:${I.target}]]`})},Jn=I=>I?`${I.namespace}:${I.target}`:"",{flat:tn,active:Vt,setActive:or,onInput:pn,onKeyDown:ar}=Vi({items:async I=>{if(!m.ready)return[];const ce=m.issues.map(nt=>({type:"entity",name:nt.id,entityType:"issue",display:`${nt.id}: ${nt.title}`})),Se=[],He=[...ce,...Se];return I.trim()?He.filter(nt=>nt.name.toLowerCase().includes(I.toLowerCase())||nt.display.toLowerCase().includes(I.toLowerCase())||nt.type==="entity"&&nt.entityType.toLowerCase().includes(I.toLowerCase())).slice(0,10):He.slice(0,10)},key:Qn,filterKeys:["name","display","entityType"],groupBy:I=>I.type,sortGroupsBy:(I,X)=>I.category.localeCompare(X.category),onSelect:dn}),{flat:Bn,active:qn,setActive:er,onInput:Hn,onKeyDown:Dr}=Vi({items:async I=>{if(!m.ready)return[];const X=[];for(const Se of m.issues)X.push({namespace:"issue",target:Se.id,display:Se.title});try{const Se=await m.fetchMilestones();for(const He of Se)X.push({namespace:"milestone",target:He.id,display:He.message??He.id})}catch{}try{const Se=await m.fetchDecisions({limit:20});for(const He of Se)X.push({namespace:"decision",target:He.id,display:He.toolName})}catch{}if(!I.trim())return X.slice(0,10);const ce=I.toLowerCase();return X.filter(Se=>Se.target.toLowerCase().includes(ce)||Se.display.toLowerCase().includes(ce)||Se.namespace.includes(ce)).slice(0,10)},key:Jn,filterKeys:["target","display","namespace"],onSelect:hn}),vr=I=>{const X=document.createElement("span");return X.textContent=I.content,X.setAttribute("data-type",I.type),I.type==="file"&&X.setAttribute("data-path",I.path),I.type==="agent"&&X.setAttribute("data-name",I.name),I.type==="entity"&&(X.setAttribute("data-entity-type",I.entityType),X.setAttribute("data-entity-id",I.entityId),X.style.cursor="pointer",X.addEventListener("click",()=>{I.entityType==="issue"&&$(`/trellis?issue=${I.entityId}`)})),X.setAttribute("contenteditable","false"),X.style.userSelect="text",X},K=()=>Array.from(w.childNodes).every(I=>{if(I.nodeType===Node.TEXT_NODE){const ce=I.textContent??"";if(!ce.includes(""))return!0;if(ce!=="")return!1;const Se=I.previousSibling,He=I.nextSibling;return!!(Se?.nodeType===Node.ELEMENT_NODE&&Se.tagName==="BR")&&!He}if(I.nodeType!==Node.ELEMENT_NODE)return!1;const X=I;return X.dataset.type==="file"||X.dataset.type==="agent"||X.dataset.type==="entity"?!0:X.tagName==="BR"}),pe=I=>{Ge();for(const ce of I){if(ce.type==="text"){w.appendChild(ml(ce.content));continue}(ce.type==="file"||ce.type==="agent"||ce.type==="entity")&&w.appendChild(vr(ce))}const X=w.lastChild;X?.nodeType===Node.ELEMENT_NODE&&X.tagName==="BR"&&w.appendChild(document.createTextNode(""))};xe(()=>{const I=wn();!I||!C||requestAnimationFrame(()=>{C.querySelector(`[data-slash-id="${I}"]`)?.scrollIntoView({block:"nearest",behavior:"smooth"})})}),Fd()&&(xe(()=>{mo.set({popover:z.popover==="wiki"?null:z.popover,slash:{active:wn()??null,ids:Zn().map(I=>I.id)},hash:{active:Vt()??null,ids:tn().map(I=>Qn(I))}})}),rt(()=>mo.clear()));const qe=()=>{if(z.popover==="at"){const I=Ht();if(I.length===0)return;const X=$t(),ce=I.find(Se=>Gt(Se)===X)??I[0];Nt(ce);return}if(z.popover==="slash"){const I=Zn();if(I.length===0)return;const X=wn(),ce=I.find(Se=>Se.id===X)??I[0];an(ce);return}if(z.popover==="hash"){const I=tn();if(I.length===0)return;const X=Vt(),ce=I.find(Se=>Qn(Se)===X)??I[0];dn(ce);return}if(z.popover==="wiki"){const I=Bn();if(I.length===0)return;const X=qn(),ce=I.find(Se=>Jn(Se)===X)??I[0];hn(ce)}},J=I=>{if(A.input){if(A.input=!1,K())return;St(I);return}const X=de();K()&&Bf(I,X)||St(I)};xe(ft(()=>o.current(),I=>{Tt()||J(I.filter(X=>X.type!=="image"))}));const de=()=>{const I=[];let X=0,ce="";const Se=()=>{let We=ce;We.includes("\r")&&(We=We.replace(/\r\n?/g,`
|
|
15
|
-
`)),We.includes("")&&(We=We.replace(/\u200B/g,"")),ce="",We&&(I.push({type:"text",content:We,start:X,end:X+We.length}),X+=We.length)},He=We=>{const yt=We.textContent??"";I.push({type:"file",path:We.dataset.path,content:yt,start:X,end:X+yt.length}),X+=yt.length},nt=We=>{const yt=We.textContent??"";I.push({type:"agent",name:We.dataset.name,content:yt,start:X,end:X+yt.length}),X+=yt.length},ut=We=>{const yt=We.textContent??"";I.push({type:"entity",entityType:We.dataset.entityType,entityId:We.dataset.entityId,content:yt,start:X,end:X+yt.length}),X+=yt.length},Ct=We=>{if(We.nodeType===Node.TEXT_NODE){ce+=We.textContent??"";return}if(We.nodeType!==Node.ELEMENT_NODE)return;const yt=We;if(yt.dataset.type==="file"){Se(),He(yt);return}if(yt.dataset.type==="agent"){Se(),nt(yt);return}if(yt.dataset.type==="entity"){Se(),ut(yt);return}if(yt.tagName==="BR"){ce+=`
|
|
16
|
-
`;return}for(const Ye of Array.from(yt.childNodes))Ct(Ye)},Dt=Array.from(w.childNodes);return Dt.forEach((We,yt)=>{const Ye=We.nodeType===Node.ELEMENT_NODE&&["DIV","P"].includes(We.tagName);Ct(We),Ye&&yt<Dt.length-1&&(ce+=`
|
|
17
|
-
`)}),Se(),I.length===0&&I.push(...Ea),I},Ie=()=>{const I=de(),X=q(),ce=$r(w),Se=I.length===1&&I[0]?.type==="text"?I[0].content:I.map(Ct=>"content"in Ct?Ct.content:"").join(""),He=I.some(Ct=>Ct.type!=="text");if(!rv.test(Se)&&!He&&X.length===0){Le(),ke(),o.dirty()&&(A.input=!0,o.set(Ea,0)),N();return}if(z.mode==="shell")Le();else{const Ct=Se.substring(0,ce).match(/@(\S*)$/),Dt=Se.match(/^\/(\S*)$/),We=Se.substring(0,ce).match(/#(\S*)$/),yt=Se.substring(0,ce).match(/\[\[([^\]]*?)$/);yt?(Hn(yt[1]),F("popover","wiki")):Ct?(en(Ct[1]),F("popover","at")):Dt?(sr(Dt[1]),F("popover","slash")):We?(pn(We[1]),F("popover","hash")):Le()}ke(),A.input=!0,o.set([...I,...X],ce),N()},Ee=I=>{if(I.type==="image")return!1;const X=window.getSelection();if(!X)return!1;if(X.rangeCount===0||!w.contains(X.anchorNode)){w.focus();const Se=o.cursor()??wr(o.current());Vr(w,Se)}if(X.rangeCount===0)return!1;const ce=X.getRangeAt(0);if(!w.contains(ce.startContainer))return!1;if(I.type==="file"||I.type==="agent"||I.type==="entity"){const Se=$r(w),nt=o.current().map(Ye=>"content"in Ye?Ye.content:"").join("").substring(0,Se),ut=nt.match(/@(\S*)$/),Ct=nt.match(/#(\S*)$/),Dt=nt.match(/\[\[([^\]]*?)$/),We=vr(I),yt=document.createTextNode(" ");if(ut&&(I.type==="file"||I.type==="agent")){const Ye=ut.index??Se-ut[0].length;Wr(w,ce,"start",Ye),Wr(w,ce,"end",Se)}if(Ct&&I.type==="entity"&&!Dt){const Ye=Ct.index??Se-Ct[0].length;Wr(w,ce,"start",Ye),Wr(w,ce,"end",Se)}if(Dt&&I.type==="entity"){const Ye=Dt.index??Se-Dt[0].length;Wr(w,ce,"start",Ye),Wr(w,ce,"end",Se)}ce.deleteContents(),ce.insertNode(yt),ce.insertNode(We),ce.setStartAfter(yt),ce.collapse(!0),X.removeAllRanges(),X.addRange(ce)}if(I.type==="text"){const Se=ml(I.content),He=Se.lastChild;if(ce.deleteContents(),ce.insertNode(Se),He){if(He.nodeType===Node.TEXT_NODE){const nt=He.textContent??"";nt===""&&ce.setStart(He,0),nt!==""&&ce.setStart(He,nt.length)}if(He.nodeType!==Node.TEXT_NODE){const nt=He.nodeType===Node.ELEMENT_NODE&&He.tagName==="BR",ut=He.nextSibling,Ct=ut?.nodeType===Node.TEXT_NODE&&(ut.textContent??"")==="";if(nt&&(!ut||Ct)){const Dt=ut&&Ct?ut:document.createTextNode("");ut||He.parentNode?.insertBefore(Dt,null),Dt.textContent="",ce.setStart(Dt,0)}else ce.setStartAfter(He)}}ce.collapse(!0),X.removeAllRanges(),X.addRange(ce)}return Ie(),Le(),!0},je=(I,X)=>{const ce=X==="shell"?Q:$e,Se=X==="shell"?ne:Me,He=pp(ce.entries,I,X==="shell"?[]:Y());He!==ce.entries&&Se("entries",He)};xe(ft(()=>e.edit?.id,I=>{const X=e.edit;if(!(!I||!X)){for(const ce of o.context.items())o.context.remove(ce.key);for(const ce of X.context)o.context.add({type:ce.type,path:ce.path,selection:ce.selection,comment:ce.comment,commentID:ce.commentID,commentOrigin:ce.commentOrigin,preview:ce.preview});F("mode","normal"),F("popover",null),F("historyIndex",-1),F("savedPrompt",null),o.set(X.prompt,wr(X.prompt)),requestAnimationFrame(()=>{w.focus(),Vr(w,wr(X.prompt)),N()}),e.onEditLoaded?.()}},{defer:!0}));const Ue=I=>{const X=bp({direction:I,entries:z.mode==="shell"?Q.entries:$e.entries,historyIndex:z.historyIndex,currentPrompt:o.current(),currentComments:Y(),savedPrompt:z.savedPrompt});return X.handled?(F("historyIndex",X.historyIndex),F("savedPrompt",X.savedPrompt),te(X.entry,X.cursor),!0):!1},{addAttachments:lt,removeAttachment:xt,handlePaste:kt}=up({editor:()=>w,isDialogActive:()=>!!l.active,setDraggingType:I=>F("draggingType",I),focusEditor:()=>{w.focus(),Vr(w,wr(o.current()))},addPart:Ee,readClipboardImage:p.readClipboardImage}),dt=_(()=>["default",...r.model.variant.list()]),Oe=_(()=>{const I=x.id;return I?f.isAutoAccepting(I,t.directory):f.isAutoAcceptingDirectory(t.directory)}),Qe=_(()=>h.t(Oe()?"command.permissions.autoaccept.disable":"command.permissions.autoaccept.enable")),it=()=>{if(!x.id){f.toggleAutoAcceptDirectory(t.directory);return}f.toggleAutoAccept(x.id,t.directory)},{abort:wt,handleSubmit:be}=V0({info:E,imageAttachments:q,commentCount:oe,autoAccept:()=>Oe(),mode:()=>z.mode,working:j,editor:()=>w,queueScroll:N,promptLength:wr,addToHistory:je,resetHistoryNavigation:()=>{ke(!0)},setMode:I=>F("mode",I),setPopover:I=>F("popover",I),newSessionWorktree:()=>e.newSessionWorktree,onNewSessionWorktreeReset:e.onNewSessionWorktreeReset,shouldQueue:e.shouldQueue,onQueue:e.onQueue,onAbort:e.onAbort,onSubmit:e.onSubmit}),ct=I=>{if((I.metaKey||I.ctrlKey)&&!I.altKey&&!I.shiftKey&&I.key.toLowerCase()==="u"){if(I.preventDefault(),z.mode!=="normal")return;me();return}if(I.key==="Backspace"){const ce=window.getSelection();if(ce&&ce.isCollapsed){const Se=ce.anchorNode,He=ce.anchorOffset;if(Se&&Se.nodeType===Node.TEXT_NODE){const nt=Se.textContent??"";if(/^\u200B+$/.test(nt)&&He>0){const ut=document.createRange();ut.setStart(Se,0),ut.collapse(!0),ce.removeAllRanges(),ce.addRange(ut)}}}}if(I.key==="!"&&z.mode==="normal"&&$r(w)===0){F("mode","shell"),F("popover",null),I.preventDefault();return}if(I.key==="Escape"){if(z.popover){Le(),I.preventDefault(),I.stopPropagation();return}if(z.mode==="shell"){F("mode","normal"),I.preventDefault(),I.stopPropagation();return}if(j()){wt(),I.preventDefault(),I.stopPropagation();return}if(Te()){w.blur(),I.preventDefault(),I.stopPropagation();return}}if(z.mode==="shell"){const{collapsed:ce,cursorPosition:Se,textLength:He}=Re();if(I.key==="Backspace"&&ce&&Se===0&&He===0){F("mode","normal"),I.preventDefault();return}}if(I.key==="Enter"&&I.shiftKey){Ee({type:"text",content:`
|
|
18
|
-
`}),I.preventDefault();return}if(I.key==="Enter"&&ye(I))return;const X=I.ctrlKey&&!I.metaKey&&!I.altKey&&!I.shiftKey;if(z.popover){if(I.key==="Tab"){qe(),I.preventDefault();return}const ce=I.key==="ArrowUp"||I.key==="ArrowDown"||I.key==="Enter",Se=X&&(I.key==="n"||I.key==="p");if(ce||Se){if(z.popover==="at"){Wt(I),I.preventDefault();return}z.popover==="slash"&&Nn(I),z.popover==="hash"&&ar(I),z.popover==="wiki"&&Dr(I),I.preventDefault();return}}if(X&&I.code==="KeyG"){if(z.popover){Le(),I.preventDefault();return}j()&&(wt(),I.preventDefault());return}if(I.key==="ArrowUp"||I.key==="ArrowDown"){if(I.altKey||I.ctrlKey||I.metaKey)return;const{collapsed:ce}=Re();if(!ce)return;const Se=$r(w),He=o.current().map(ut=>"content"in ut?ut.content:"").join(""),nt=I.key==="ArrowUp"?"up":"down";if(!mp(nt,He,Se,z.historyIndex>=0))return;Ue(nt)&&I.preventDefault();return}if(I.key==="Enter"&&!I.shiftKey){if(I.preventDefault(),I.repeat||j()&&o.current().map(ce=>"content"in ce?ce.content:"").join("").trim().length===0&&q().length===0&&oe()===0)return;be(I)}};return(()=>{var I=nv();return d(I,s(Ep,{get popover(){return z.popover},setSlashPopoverRef:X=>C=X,get atFlat(){return Ht()},get atGrouped(){return Ot.latest??[]},get atActive(){return $t()??void 0},atKey:Gt,setAtActive:nn,onAtSelect:Nt,get slashFlat(){return Zn()},get slashActive(){return wn()??void 0},setSlashActive:Ln,onSlashSelect:an,get hashFlat(){return tn()},get hashActive(){return Vt()??void 0},setHashActive:or,onHashSelect:dn,get wikiFlat(){return Bn()},get wikiActive(){return qn()??void 0},setWikiActive:er,onWikiSelect:hn,get commandKeybind(){return g.keybind},t:X=>h.t(X)}),null),d(I,s(Z0,{onSubmit:be,get classList(){return{"group/prompt-input":!0,"focus-within:shadow-xs-border":!0,"border-icon-info-active border-dashed":z.draggingType!==null,[e.class??""]:!!e.class}},get children(){return[s(Gp,{get type(){return z.draggingType},get label(){return h.t(z.draggingType==="@mention"?"prompt.dropzone.file.label":"prompt.dropzone.label")}}),s(Np,{get items(){return ae()},active:X=>{const ce=c.active();return!!X.commentID&&X.commentID===ce?.id&&X.path===ce?.file},openComment:L,remove:X=>{X.commentID&&c.remove(X.path,X.commentID),o.context.remove(X.key)},t:X=>h.t(X)}),s(Wp,{get attachments(){return q()},onOpen:X=>l.show(()=>s(zd,{get src(){return X.dataUrl},get alt(){return X.filename}})),onRemove:xt,get removeLabel(){return h.t("prompt.attachment.remove")}}),(()=>{var X=ev(),ce=X.firstChild,Se=ce.firstChild,He=ce.nextSibling,nt=He.nextSibling,ut=nt.firstChild,Ct=ut.nextSibling,Dt=nt.nextSibling,We=Dt.firstChild;X.$$mousedown=Ye=>{const fn=Ye.target;fn instanceof HTMLElement&&(fn.closest('[data-action="prompt-attach"], [data-action="prompt-submit"], [data-action="prompt-permissions"]')||w?.focus())},mt(Ye=>S=Ye,ce),Se.$$keydown=ct,Se.addEventListener("blur",Ze),Se.addEventListener("compositionend",Be),Se.addEventListener("compositionstart",Pe),gt(Se,"paste",kt),Se.$$input=Ie,mt(Ye=>{w=Ye,e.ref?.(Ye)},Se),d(ce,s(M,{get when(){return!o.dirty()},get children(){var Ye=Jp();return d(Ye,H),ie(()=>Ye.classList.toggle("font-mono!",z.mode==="shell")),Ye}}),null),ut.addEventListener("change",Ye=>{const fn=Ye.currentTarget.files;fn&<(Array.from(fn)),Ye.currentTarget.value=""});var yt=y;return typeof yt=="function"?mt(yt,ut):y=ut,d(Ct,s(on,{placement:"top",get inactive(){return Ce(()=>!o.dirty())()&&!j()},get value(){return G()},get children(){return s(pt,{"data-action":"prompt-submit",type:"submit",get disabled(){return z.mode!=="normal"||!o.dirty()&&!j()&&oe()===0},get tabIndex(){return z.mode==="normal"?void 0:-1},get icon(){return j()?"stop":"arrow-up"},variant:"primary",class:"size-8",get style(){return se()},get"aria-label"(){return Ce(()=>!!j())()?h.t("prompt.action.stop"):h.t("prompt.action.send")}})}})),d(We,s(Cn,{placement:"top",get title(){return h.t("prompt.action.attachFile")},get keybind(){return g.keybind("file.attach")},get children(){return s(ot,{"data-action":"prompt-attach",type:"button",variant:"ghost",class:"size-8 p-0",get style(){return se()},onClick:me,get disabled(){return z.mode!=="normal"},get tabIndex(){return z.mode==="normal"?void 0:-1},get"aria-label"(){return h.t("prompt.action.attachFile")},get children(){return s(Ne,{name:"plus",class:"size-4.5"})}})}})),ie(Ye=>{var fn=H(),Bt=z.mode==="normal"?"sentences":"off",Kt=z.mode==="normal"?"on":"off",jn=z.mode==="normal",lr={"select-text":!0,"w-full pl-3 pr-2 pt-2 text-14-regular text-text-strong focus:outline-none whitespace-pre-wrap":!0,"[&_[data-type=file]]:text-syntax-property":!0,"[&_[data-type=agent]]:text-syntax-type":!0,"font-mono!":z.mode==="shell"},xr=Ad.join(","),br=z.mode!=="normal",Bi=Z()>.5?"auto":"none";return fn!==Ye.e&&ue(Se,"aria-label",Ye.e=fn),Bt!==Ye.t&&ue(Se,"autocapitalize",Ye.t=Bt),Kt!==Ye.a&&ue(Se,"autocorrect",Ye.a=Kt),jn!==Ye.o&&ue(Se,"spellcheck",Ye.o=jn),Ye.i=bt(Se,lr,Ye.i),xr!==Ye.n&&ue(ut,"accept",Ye.n=xr),br!==Ye.s&&ue(We,"aria-hidden",Ye.s=br),Bi!==Ye.h&&Je(We,"pointer-events",Ye.h=Bi),Ye},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),X})()]}}),null),d(I,s(M,{get when(){return z.mode==="normal"||z.mode==="shell"},get children(){return s(di,{attach:"top",get children(){var X=tv(),ce=X.firstChild,Se=ce.firstChild,He=Se.firstChild,nt=Se.nextSibling,ut=nt.firstChild,Ct=ut.nextSibling,Dt=Ct.nextSibling;return d(He,()=>h.t("prompt.mode.shell")),d(ut,s(Cn,{placement:"top",gutter:4,get title(){return h.t("command.agent.cycle")},get keybind(){return g.keybind("agent.cycle")},get children(){return s($s,{size:"normal",get options(){return qt()},get current(){return r.agent.current()?.name??""},get onSelect(){return r.agent.set},class:"capitalize max-w-[160px] text-text-base",valueClass:"truncate text-13-regular text-text-base",get triggerStyle(){return ee()},triggerProps:{"data-action":"prompt-agent"},variant:"ghost"})}})),d(Ct,s(M,{get when(){return u.free().length===0},get fallback(){return s(Cn,{placement:"top",gutter:4,get title(){return h.t("command.model.choose")},get keybind(){return g.keybind("model.choose")},get children(){return s(ot,{"data-action":"prompt-model",as:"div",variant:"ghost",size:"normal",class:"min-w-0 max-w-[320px] text-13-regular text-text-base group",get style(){return ee()},onClick:()=>{un(()=>import("./dialog-select-model-unpaid-BggTZ1GN.js"),__vite__mapDeps([10,1,2,5,8,11,12,13])).then(We=>{l.show(()=>s(We.DialogSelectModelUnpaid,{get model(){return r.model}}))})},get children(){return[s(M,{get when(){return r.model.current()?.provider?.id},get children(){return s(Ba,{get id(){return r.model.current()?.provider?.id??""},class:"size-4 shrink-0 opacity-40 group-hover:opacity-100 transition-opacity duration-150",style:{"will-change":"opacity",transform:"translateZ(0)"}})}}),(()=>{var We=vl();return d(We,()=>r.model.current()?.name??h.t("dialog.model.select.title")),We})(),s(Ne,{name:"chevron-down",size:"small",class:"shrink-0"})]}})}})},get children(){return s(Cn,{placement:"top",gutter:4,get title(){return h.t("command.model.choose")},get keybind(){return g.keybind("model.choose")},get children(){return s(Rd,{get model(){return r.model},triggerAs:ot,get triggerProps(){return{variant:"ghost",size:"normal",style:ee(),class:"min-w-0 max-w-[320px] text-13-regular text-text-base group","data-action":"prompt-model"}},get children(){return[s(M,{get when(){return r.model.current()?.provider?.id},get children(){return s(Ba,{get id(){return r.model.current()?.provider?.id??""},class:"size-4 shrink-0 opacity-40 group-hover:opacity-100 transition-opacity duration-150",style:{"will-change":"opacity",transform:"translateZ(0)"}})}}),(()=>{var We=vl();return d(We,()=>r.model.current()?.name??h.t("dialog.model.select.title")),We})(),s(Ne,{name:"chevron-down",size:"small",class:"shrink-0"})]}})}})}})),d(Dt,s(Cn,{placement:"top",gutter:4,get title(){return h.t("command.model.variant.cycle")},get keybind(){return g.keybind("model.variant.cycle")},get children(){return s($s,{size:"normal",get options(){return dt()},get current(){return r.model.variant.current()??"default"},label:We=>We==="default"?h.t("common.default"):We,onSelect:We=>r.model.variant.set(We==="default"?void 0:We),class:"capitalize max-w-[160px] text-text-base",valueClass:"truncate text-13-regular text-text-base",get triggerStyle(){return ee()},triggerProps:{"data-action":"prompt-model-variant"},variant:"ghost"})}})),d(nt,s(Cn,{placement:"top",gutter:8,get title(){return Qe()},get keybind(){return g.keybind("permissions.autoaccept")},get children(){return s(ot,{"data-action":"prompt-permissions",variant:"ghost",onClick:it,get classList(){return{"h-7 w-7 p-0 shrink-0 flex items-center justify-center":!0,"text-text-base":!Oe(),"hover:bg-surface-success-base":Oe()}},get style(){return ee()},get"aria-label"(){return Qe()},get"aria-pressed"(){return Oe()},get children(){return s(Ne,{name:"shield",size:"small",get classList(){return{"text-icon-success-base":Oe()}}})}})}}),null),ie(We=>tr(Se,{...he()},We)),X}})}}),null),I})()};Mt(["mousedown","input","keydown"]);var xl=k("<div>"),sv=k("<div data-component=dock-prompt>");function Od(e){const t=n=>`${e.kind}-${n}`;return(()=>{var n=sv(),r=e.ref;return typeof r=="function"?mt(r,n):e.ref=n,d(n,s(X0,{get"data-slot"(){return t("body")},get children(){return[(()=>{var i=xl();return d(i,()=>e.header),ie(()=>ue(i,"data-slot",t("header"))),i})(),(()=>{var i=xl();return d(i,()=>e.children),ie(()=>ue(i,"data-slot",t("content"))),i})()]}}),null),d(n,s(di,{get"data-slot"(){return t("footer")},get children(){return e.footer}}),null),ie(()=>ue(n,"data-kind",e.kind)),n})()}var ov=k("<div data-slot=permission-row><span data-slot=permission-spacer aria-hidden=true></span><div data-slot=permission-hint>"),av=k("<div data-slot=permission-row><span data-slot=permission-spacer aria-hidden=true></span><div data-slot=permission-patterns>"),lv=k("<div data-slot=permission-row data-variant=header><span data-slot=permission-icon></span><div data-slot=permission-header-title>"),cv=k("<div>"),dv=k("<div data-slot=permission-footer-actions>"),uv=k('<code class="text-12-regular text-text-base break-all">');function fv(e){const t=At(),n=()=>{const r=`settings.permissions.tool.${e.request.permission}.description`,i=t.t(r);return i===r?"":i};return s(Od,{kind:"permission",get header(){return(()=>{var r=lv(),i=r.firstChild,o=i.nextSibling;return d(i,s(Ne,{name:"warning",size:"normal"})),d(o,()=>t.t("notification.permission.title")),r})()},get footer(){return[cv(),(()=>{var r=dv();return d(r,s(ot,{variant:"ghost",size:"normal",onClick:()=>e.onDecide("reject"),get disabled(){return e.responding},get children(){return t.t("ui.permission.deny")}}),null),d(r,s(ot,{variant:"secondary",size:"normal",onClick:()=>e.onDecide("always"),get disabled(){return e.responding},get children(){return t.t("ui.permission.allowAlways")}}),null),d(r,s(ot,{variant:"primary",size:"normal",onClick:()=>e.onDecide("once"),get disabled(){return e.responding},get children(){return t.t("ui.permission.allowOnce")}}),null),r})()]},get children(){return[s(M,{get when(){return n()},get children(){var r=ov(),i=r.firstChild,o=i.nextSibling;return d(o,n),r}}),s(M,{get when(){return e.request.patterns.length>0},get children(){var r=av(),i=r.firstChild,o=i.nextSibling;return d(o,s(ze,{get each(){return e.request.patterns},children:a=>(()=>{var c=uv();return d(c,a),c})()})),r}})]}})}var gv=k("<div data-slot=question-text>"),bl=k("<div data-slot=question-hint>"),mv=k("<form data-slot=question-option data-custom=true><span data-slot=question-option-check aria-hidden=true><span data-slot=question-option-box></span></span><span data-slot=question-option-main><span data-slot=option-label></span><textarea data-slot=question-custom-input rows=1>"),hv=k("<div data-slot=question-options>"),pv=k("<div data-slot=question-header-title>"),vv=k("<div data-slot=question-progress>"),xv=k("<button type=button data-slot=question-progress-segment>"),bv=k("<div data-slot=question-footer-actions>"),yv=k("<span data-slot=option-description>"),wv=k("<button data-slot=question-option><span data-slot=question-option-check aria-hidden=true><span data-slot=question-option-box></span></span><span data-slot=question-option-main><span data-slot=option-label>"),po=k("<span data-slot=question-option-radio-dot>"),$v=k("<button data-slot=question-option data-custom=true><span data-slot=question-option-check aria-hidden=true><span data-slot=question-option-box></span></span><span data-slot=question-option-main><span data-slot=option-label></span><span data-slot=option-description>");const Ji=new Map,kv=e=>{const t=Jt(),n=At(),r=_(()=>e.request.questions),i=_(()=>r().length),o=Ji.get(e.request.id),[a,c]=et({tab:o?.tab??0,answers:o?.answers??[],custom:o?.custom??[],customOn:o?.customOn??[],editing:!1});let l,u=!1;const g=_(()=>r()[a.tab]),f=_(()=>g()?.options??[]),h=_(()=>a.custom[a.tab]??""),p=_(()=>a.customOn[a.tab]===!0),x=_(()=>g()?.multiple===!0),v=_(()=>{const q=Math.min(a.tab+1,i());return n.t("session.question.progress",{current:q,total:i()})}),b=_(()=>a.tab>=i()-1),m=(q,z=p())=>{const F=h().trim(),Z=q.trim();if(c("custom",a.tab,q),!!z){if(x()){c("answers",a.tab,(U=[])=>{const se=F?U.filter(he=>he.trim()!==F):U;return!Z||se.some(he=>he.trim()===Z)?se:[...se,Z]});return}c("answers",a.tab,Z?[Z]:[])}},$=()=>{if(!l)return;const q=document.querySelector(".scroll-view__viewport"),z=q instanceof HTMLElement?q.firstElementChild:void 0,F=z instanceof HTMLElement&&z.classList.contains("sticky")?z.getBoundingClientRect().bottom:0;if(!F){l.style.removeProperty("--question-prompt-max-height");return}const Z=l.closest('[data-component="session-prompt-dock"]');if(!(Z instanceof HTMLElement))return;const U=Z.getBoundingClientRect().bottom,se=Math.max(0,U-l.getBoundingClientRect().bottom),ee=Math.max(240,Math.floor(U-F-8-se));l.style.setProperty("--question-prompt-max-height",`${ee}px`)};Xt(()=>{let q;const z=()=>{q!==void 0&&cancelAnimationFrame(q),q=requestAnimationFrame(()=>{q=void 0,$()})};z(),window.addEventListener("resize",z);const F=l?.closest('[data-component="session-prompt-dock"]'),Z=document.querySelector(".scroll-view__viewport"),U=new ResizeObserver(z);F instanceof HTMLElement&&U.observe(F),Z instanceof HTMLElement&&U.observe(Z),rt(()=>{window.removeEventListener("resize",z),U.disconnect(),q!==void 0&&cancelAnimationFrame(q)})}),rt(()=>{u||Ji.set(e.request.id,{tab:a.tab,answers:a.answers.map(q=>q?[...q]:[]),custom:a.custom.map(q=>q??""),customOn:a.customOn.map(q=>q??!1)})});const w=q=>{const z=q instanceof Error?q.message:String(q);at({title:n.t("common.requestFailed"),description:z})},y=gr(()=>({mutationFn:q=>t.client.question.reply({requestID:e.request.id,answers:q}),onMutate:()=>{e.onSubmit()},onSuccess:()=>{u=!0,Ji.delete(e.request.id)},onError:w})),S=gr(()=>({mutationFn:()=>t.client.question.reject({requestID:e.request.id}),onMutate:()=>{e.onSubmit()},onSuccess:()=>{u=!0,Ji.delete(e.request.id)},onError:w})),C=_(()=>y.isPending||S.isPending),A=async q=>{C()||await y.mutateAsync(q)},R=async()=>{C()||await S.mutateAsync()},V=()=>void A(r().map((q,z)=>a.answers[z]??[])),N=(q,z=!1)=>{c("answers",a.tab,[q]),z&&c("custom",a.tab,q),z||c("customOn",a.tab,!1),c("editing",!1)},B=q=>{c("answers",a.tab,(z=[])=>z.includes(q)?z.filter(F=>F!==q):[...z,q])},O=()=>{if(C())return;if(!x()){c("customOn",a.tab,!0),c("editing",!0),m(h(),!0);return}const q=!p();if(c("customOn",a.tab,q),q){c("editing",!0),m(h(),!0);return}const z=h().trim();z&&c("answers",a.tab,(F=[])=>F.filter(Z=>Z.trim()!==z)),c("editing",!1)},L=()=>{C()||(p()||c("customOn",a.tab,!0),c("editing",!0),m(h(),!0))},T=q=>{if(C())return;if(q===f().length){L();return}const z=f()[q];if(z){if(x()){B(z.label);return}N(z.label)}},E=()=>{c("editing",!1),m(h())},P=()=>{if(!C()){if(a.editing&&E(),a.tab>=i()-1){V();return}c("tab",a.tab+1),c("editing",!1)}},j=()=>{C()||a.tab<=0||(c("tab",a.tab-1),c("editing",!1))},G=q=>{C()||(c("tab",q),c("editing",!1))};return s(Od,{kind:"question",ref:q=>l=q,get header(){return[(()=>{var q=pv();return d(q,v),q})(),(()=>{var q=vv();return d(q,s(ze,{get each(){return r()},children:(z,F)=>(()=>{var Z=xv();return Z.$$click=()=>G(F()),ie(U=>{var se=F()===a.tab,he=(a.answers[F()]?.length??0)>0||a.customOn[F()]===!0&&(a.custom[F()]??"").trim().length>0,ee=C(),oe=`${n.t("ui.tool.questions")} ${F()+1}`;return se!==U.e&&ue(Z,"data-active",U.e=se),he!==U.t&&ue(Z,"data-answered",U.t=he),ee!==U.a&&(Z.disabled=U.a=ee),oe!==U.o&&ue(Z,"aria-label",U.o=oe),U},{e:void 0,t:void 0,a:void 0,o:void 0}),Z})()})),q})()]},get footer(){return[s(ot,{variant:"ghost",size:"large",get disabled(){return C()},onClick:R,get children(){return n.t("ui.common.dismiss")}}),(()=>{var q=bv();return d(q,s(M,{get when(){return a.tab>0},get children(){return s(ot,{variant:"secondary",size:"large",get disabled(){return C()},onClick:j,get children(){return n.t("ui.common.back")}})}}),null),d(q,s(ot,{get variant(){return b()?"primary":"secondary"},size:"large",get disabled(){return C()},onClick:P,get children(){return Ce(()=>!!b())()?n.t("ui.common.submit"):n.t("ui.common.next")}}),null),q})()]},get children(){return[(()=>{var q=gv();return d(q,()=>g()?.question),q})(),s(M,{get when(){return x()},get fallback(){return(()=>{var q=bl();return d(q,()=>n.t("ui.question.singleHint")),q})()},get children(){var q=bl();return d(q,()=>n.t("ui.question.multiHint")),q}}),(()=>{var q=hv();return d(q,s(ze,{get each(){return f()},children:(z,F)=>{const Z=()=>a.answers[a.tab]?.includes(z.label)??!1;return(()=>{var U=wv(),se=U.firstChild,he=se.firstChild,ee=se.nextSibling,oe=ee.firstChild;return U.$$click=()=>T(F()),d(he,s(M,{get when(){return x()},get fallback(){return po()},get children(){return s(Ne,{name:"check-small",size:"small"})}})),d(oe,()=>z.label),d(ee,s(M,{get when(){return z.description},get children(){var ae=yv();return d(ae,()=>z.description),ae}}),null),ie(ae=>{var fe=Z(),$e=x()?"checkbox":"radio",Me=Z(),Q=C(),ne=x()?"checkbox":"radio",re=Z();return fe!==ae.e&&ue(U,"data-picked",ae.e=fe),$e!==ae.t&&ue(U,"role",ae.t=$e),Me!==ae.a&&ue(U,"aria-checked",ae.a=Me),Q!==ae.o&&(U.disabled=ae.o=Q),ne!==ae.i&&ue(he,"data-type",ae.i=ne),re!==ae.n&&ue(he,"data-picked",ae.n=re),ae},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),U})()}}),null),d(q,s(M,{get when(){return a.editing},get fallback(){return(()=>{var z=$v(),F=z.firstChild,Z=F.firstChild,U=F.nextSibling,se=U.firstChild,he=se.nextSibling;return z.$$click=L,F.$$click=ee=>{ee.preventDefault(),ee.stopPropagation(),O()},d(Z,s(M,{get when(){return x()},get fallback(){return po()},get children(){return s(Ne,{name:"check-small",size:"small"})}})),d(se,()=>n.t("ui.messagePart.option.typeOwnAnswer")),d(he,()=>h()||n.t("ui.question.custom.placeholder")),ie(ee=>{var oe=p(),ae=x()?"checkbox":"radio",fe=p(),$e=C(),Me=x()?"checkbox":"radio",Q=p();return oe!==ee.e&&ue(z,"data-picked",ee.e=oe),ae!==ee.t&&ue(z,"role",ee.t=ae),fe!==ee.a&&ue(z,"aria-checked",ee.a=fe),$e!==ee.o&&(z.disabled=ee.o=$e),Me!==ee.i&&ue(Z,"data-type",ee.i=Me),Q!==ee.n&&ue(Z,"data-picked",ee.n=Q),ee},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),z})()},get children(){var z=mv(),F=z.firstChild,Z=F.firstChild,U=F.nextSibling,se=U.firstChild,he=se.nextSibling;return z.addEventListener("submit",ee=>{ee.preventDefault(),E()}),z.$$mousedown=ee=>{if(C()){ee.preventDefault();return}if(ee.target instanceof HTMLTextAreaElement)return;const oe=ee.currentTarget.querySelector('[data-slot="question-custom-input"]');oe instanceof HTMLTextAreaElement&&oe.focus()},F.$$click=ee=>{ee.preventDefault(),ee.stopPropagation(),O()},d(Z,s(M,{get when(){return x()},get fallback(){return po()},get children(){return s(Ne,{name:"check-small",size:"small"})}})),d(se,()=>n.t("ui.messagePart.option.typeOwnAnswer")),he.$$input=ee=>{m(ee.currentTarget.value),ee.currentTarget.style.height="0px",ee.currentTarget.style.height=`${ee.currentTarget.scrollHeight}px`},he.$$keydown=ee=>{if(ee.key==="Escape"){ee.preventDefault(),c("editing",!1);return}ee.key!=="Enter"||ee.shiftKey||(ee.preventDefault(),E())},mt(ee=>setTimeout(()=>{ee.focus(),ee.style.height="0px",ee.style.height=`${ee.scrollHeight}px`},0),he),ie(ee=>{var oe=p(),ae=x()?"checkbox":"radio",fe=p(),$e=x()?"checkbox":"radio",Me=p(),Q=n.t("ui.question.custom.placeholder"),ne=C();return oe!==ee.e&&ue(z,"data-picked",ee.e=oe),ae!==ee.t&&ue(z,"role",ee.t=ae),fe!==ee.a&&ue(z,"aria-checked",ee.a=fe),$e!==ee.o&&ue(Z,"data-type",ee.o=$e),Me!==ee.i&&ue(Z,"data-picked",ee.i=Me),Q!==ee.n&&ue(he,"placeholder",ee.n=Q),ne!==ee.s&&(he.disabled=ee.s=ne),ee},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),ie(()=>he.value=h()),z}}),null),q})()]}})};Mt(["mousedown","click","keydown","input"]);var Cv=k('<span class="min-w-0 flex-1 truncate text-13-regular text-text-base cursor-default">'),_v=k('<div class="pl-3 pr-2 py-2 flex items-center gap-2"role=button tabindex=0><span class="shrink-0 text-13-medium text-text-strong cursor-default"></span><div class="ml-auto shrink-0">'),Sv=k("<div class=h-5 aria-hidden=true>"),Tv=k('<div class="px-3 pb-7 flex flex-col gap-1.5 max-h-42 overflow-y-auto no-scrollbar">'),Av=k('<div class="flex items-center gap-2 min-w-0 py-1"><span class="min-w-0 flex-1 truncate text-13-regular text-text-strong">');function Dv(e){const t=At(),[n,r]=et({collapsed:!1}),i=()=>r("collapsed",l=>!l),o=_(()=>e.items.length),a=_(()=>t.t(o()===1?"session.followupDock.summary.one":"session.followupDock.summary.other",{count:o()})),c=_(()=>e.items[0]?.text??"");return s(di,{"data-component":"session-followup-dock",style:{"margin-bottom":"-0.875rem","border-bottom-left-radius":0,"border-bottom-right-radius":0},get children(){return[(()=>{var l=_v(),u=l.firstChild,g=u.nextSibling;return l.$$keydown=f=>{f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),i())},l.$$click=i,d(u,a),d(l,s(M,{get when(){return Ce(()=>!!n.collapsed)()&&c()},get children(){var f=Cv();return d(f,c),f}}),g),d(g,s(pt,{get"data-collapsed"(){return n.collapsed?"true":"false"},icon:"chevron-down",size:"normal",variant:"ghost",get style(){return{transform:`rotate(${n.collapsed?180:0}deg)`}},onMouseDown:f=>{f.preventDefault(),f.stopPropagation()},onClick:f=>{f.stopPropagation(),i()},get"aria-label"(){return Ce(()=>!!n.collapsed)()?t.t("session.followupDock.expand"):t.t("session.followupDock.collapse")}})),l})(),s(M,{get when(){return n.collapsed},get children(){return Sv()}}),s(M,{get when(){return!n.collapsed},get children(){var l=Tv();return d(l,s(ze,{get each(){return e.items},children:u=>(()=>{var g=Av(),f=g.firstChild;return d(f,()=>u.text),d(g,s(ot,{size:"small",variant:"secondary",class:"shrink-0",get disabled(){return!!e.sending},onClick:()=>e.onSend(u.id),get children(){return t.t("session.followupDock.sendNow")}}),null),d(g,s(ot,{size:"small",variant:"ghost",class:"shrink-0",get disabled(){return!!e.sending},onClick:()=>e.onEdit(u.id),get children(){return t.t("session.followupDock.edit")}}),null),g})()})),l}})]}})}Mt(["click","keydown"]);var Iv=k('<span class="min-w-0 flex-1 truncate text-14-regular text-text-base cursor-default">'),Lv=k('<div class="pl-3 pr-2 py-2 flex items-center gap-2"role=button tabindex=0><span class="shrink-0 text-14-regular text-text-strong cursor-default"></span><div class="ml-auto shrink-0">'),Mv=k("<div class=h-5 aria-hidden=true>"),Ev=k('<div class="px-3 pb-7 flex flex-col gap-1.5 max-h-42 overflow-y-auto no-scrollbar">'),Pv=k('<div class="flex items-center gap-2 min-w-0 py-1"><span class="min-w-0 flex-1 truncate text-13-regular text-text-strong">');function yl(e){const t=At(),[n,r]=et({collapsed:!0});xe(()=>{e.items.length,e.items[0]?.id,r("collapsed",!0)});const i=()=>r("collapsed",l=>!l),o=_(()=>e.items.length),a=_(()=>t.t(o()===1?"session.revertDock.summary.one":"session.revertDock.summary.other",{count:o()})),c=_(()=>e.items[0]?.text??"");return s(di,{"data-component":"session-revert-dock",get children(){return[(()=>{var l=Lv(),u=l.firstChild,g=u.nextSibling;return l.$$keydown=f=>{f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),i())},l.$$click=i,d(u,a),d(l,s(M,{get when(){return Ce(()=>!!n.collapsed)()&&c()},get children(){var f=Iv();return d(f,c),f}}),g),d(g,s(pt,{get"data-collapsed"(){return n.collapsed?"true":"false"},icon:"chevron-down",size:"normal",variant:"ghost",get style(){return{transform:`rotate(${n.collapsed?180:0}deg)`}},onMouseDown:f=>{f.preventDefault(),f.stopPropagation()},onClick:f=>{f.stopPropagation(),i()},get"aria-label"(){return Ce(()=>!!n.collapsed)()?t.t("session.revertDock.expand"):t.t("session.revertDock.collapse")}})),l})(),s(M,{get when(){return n.collapsed},get children(){return Mv()}}),s(M,{get when(){return!n.collapsed},get children(){var l=Ev();return d(l,s(ze,{get each(){return e.items},children:u=>(()=>{var g=Pv(),f=g.firstChild;return d(f,()=>u.text),d(g,s(ot,{size:"small",variant:"secondary",class:"shrink-0",get disabled(){return e.disabled||!!e.restoring},onClick:()=>e.onRestore(u.id),get children(){return t.t("session.revertDock.restore")}}),null),g})()})),l}})]}})}Mt(["click","keydown"]);var Rv=k('<div class="pl-3 pr-2 py-2 flex items-center gap-2"role=button tabindex=0><span class="flex-1 min-w-0 text-14-regular text-text-strong cursor-default"></span><div class="flex items-center gap-1 shrink-0">'),Fv=k('<div class="px-3 pb-3 flex flex-col gap-1 max-h-40 overflow-y-auto no-scrollbar">'),zv=k('<div class="flex items-center gap-2 py-0.5 min-w-0"><span class="text-10-medium font-mono w-3 shrink-0 text-center"></span><span class="flex-1 min-w-0 truncate text-13-regular text-text-base">');function Ov(e){const t=At(),[n,r]=et({collapsed:!0}),i=_(()=>e.files.length),o=_(()=>t.t(i()===1?"session.changeDock.title.one":"session.changeDock.title.other",{count:i()})),a=()=>r("collapsed",l=>!l),c=()=>{e.onReview?e.onReview():a()};return s(di,{"data-component":"session-change-dock",get children(){return[(()=>{var l=Rv(),u=l.firstChild,g=u.nextSibling;return l.$$keydown=f=>{f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),c())},l.$$click=c,d(l,s(pt,{icon:"chevron-down",size:"normal",variant:"ghost",get style(){return{transform:`rotate(${n.collapsed?180:0}deg)`}},onMouseDown:f=>{f.preventDefault(),f.stopPropagation()},onClick:f=>{f.stopPropagation(),a()},get"aria-label"(){return Ce(()=>!!n.collapsed)()?t.t("session.changeDock.expand"):t.t("session.changeDock.collapse")}}),u),d(u,o),g.$$click=f=>f.stopPropagation(),g.$$mousedown=f=>f.stopPropagation(),d(g,s(ot,{variant:"ghost",size:"normal",get onClick(){return e.onReject},get disabled(){return e.rejecting},get children(){return t.t("session.changeDock.reject")}}),null),d(g,s(ot,{variant:"primary",size:"normal",get onClick(){return e.onAccept},get disabled(){return e.rejecting},get children(){return t.t("session.changeDock.accept")}}),null),l})(),s(M,{get when(){return!n.collapsed},get children(){var l=Fv();return d(l,s(ze,{get each(){return e.files},children:u=>(()=>{var g=zv(),f=g.firstChild,h=f.nextSibling;return d(f,(()=>{var p=Ce(()=>u.status==="added");return()=>p()?"A":u.status==="deleted"?"D":"M"})()),d(h,()=>u.file),d(g,s(nr,{class:"shrink-0 text-12-regular",get changes(){return{additions:u.additions,deletions:u.deletions}}}),null),ie(p=>{var x=u.status==="added",v=u.status==="deleted",b=u.status==="modified"||!u.status;return x!==p.e&&f.classList.toggle("text-[var(--icon-diff-add-base)]",p.e=x),v!==p.t&&f.classList.toggle("text-[var(--icon-diff-delete-base)]",p.t=v),b!==p.a&&f.classList.toggle("text-text-weak",p.a=b),p},{e:void 0,t:void 0,a:void 0}),g})()})),l}})]}})}Mt(["click","keydown","mousedown"]);var Nv=k('<span data-slot=animated-number-digit><span data-slot=animated-number-strip style="--animated-number-duration:var(--tool-motion-odometer-ms, 600ms)">'),Bv=k("<span data-slot=animated-number-cell>"),qv=k("<span data-component=animated-number><span data-slot=animated-number-value>");const Hv=Array.from({length:30},(e,t)=>t%10);function jv(e){return(e%10+10)%10}function Wv(e,t,n){return e===t?0:n>0?(t-e+10)%10:-((e-t+10)%10)}function Uv(e){const[t,n]=et({step:e.value+10,animating:!1}),r=()=>t.step,i=()=>t.animating;let o=e.value;return xe(ft(()=>e.value,a=>{const c=Wv(o,a,e.direction);if(o=a,!c){n("animating",!1),n("step",a+10);return}n("animating",!0),n("step",l=>l+c)},{defer:!0})),(()=>{var a=Nv(),c=a.firstChild;return c.addEventListener("transitionend",()=>{n("animating",!1),n("step",l=>jv(l)+10)}),d(c,s(ze,{each:Hv,children:l=>(()=>{var u=Bv();return d(u,l),u})()})),ie(l=>{var u=i()?"true":"false",g=`${r()}`;return u!==l.e&&ue(c,"data-animating",l.e=u),g!==l.t&&Je(c,"--animated-number-offset",l.t=g),l},{e:void 0,t:void 0}),a})()}function Ro(e){const t=_(()=>Number.isFinite(e.value)?Math.max(0,Math.round(e.value)):0),[n,r]=et({value:t(),direction:1}),i=()=>n.value,o=()=>n.direction;xe(ft(t,u=>{const g=i();u!==g&&(r("direction",u>g?1:-1),r("value",u))},{defer:!0}));const a=_(()=>i().toString()),c=_(()=>Array.from(a(),u=>{const g=u.charCodeAt(0)-48;return g<0||g>9?0:g}).reverse()),l=_(()=>`${c().length}ch`);return(()=>{var u=qv(),g=u.firstChild;return d(g,s(Tr,{get each(){return c()},children:f=>s(Uv,{get value(){return f()},get direction(){return o()}})})),ie(f=>{var h=e.class,p=a(),x=l();return h!==f.e&&zt(u,f.e=h),p!==f.t&&ue(u,"aria-label",f.t=p),x!==f.a&&Je(g,"--animated-number-width",f.a=x),f},{e:void 0,t:void 0,a:void 0}),u})()}var Gv={};Uo(Gv,{Checkbox:()=>kr,Control:()=>Bd,Description:()=>qd,ErrorMessage:()=>Hd,Indicator:()=>jd,Input:()=>Wd,Label:()=>Ud,Root:()=>Gd,useCheckboxContext:()=>Nr});var Nd=si();function Nr(){const e=ii(Nd);if(e===void 0)throw new Error("[kobalte]: `useCheckboxContext` must be used within a `Checkbox` component");return e}function Bd(e){const t=zi(),n=Nr(),r=bn({id:n.generateId("control")},e),[i,o]=_t(r,["onClick","onKeyDown"]);return s(Dn,Ke({as:"div",onClick:l=>{Tn(l,i.onClick),n.toggle(),n.inputRef()?.focus()},onKeyDown:l=>{Tn(l,i.onKeyDown),l.key===zc.Space&&(n.toggle(),n.inputRef()?.focus())}},()=>t.dataset(),()=>n.dataset(),o))}function qd(e){const t=Nr();return s(zs,Ke(()=>t.dataset(),e))}function Hd(e){const t=Nr();return s(Fs,Ke(()=>t.dataset(),e))}function jd(e){const t=zi(),n=Nr(),[r,i]=De(),o=bn({id:n.generateId("indicator")},e),[a,c]=_t(o,["ref","forceMount"]),{present:l}=Fc({show:()=>a.forceMount||n.indeterminate()||n.checked(),element:()=>r()??null});return s(M,{get when(){return l()},get children(){return s(Dn,Ke({as:"div",ref(u){var g=Xn(i,a.ref);typeof g=="function"&&g(u)}},()=>t.dataset(),()=>n.dataset(),c))}})}function Wd(e){let t;const n=zi(),r=Nr(),i=bn({id:r.generateId("input")},e),[o,a,c]=_t(i,["ref","style","onChange","onFocus","onBlur"],Hf),{fieldProps:l}=jf(a),[u,g]=De(!1),f=x=>{if(Tn(x,o.onChange),x.stopPropagation(),!u()){const v=x.target;r.setIsChecked(v.checked),v.checked=r.checked()}g(!1)},h=x=>{Tn(x,o.onFocus),r.setIsFocused(!0)},p=x=>{Tn(x,o.onBlur),r.setIsFocused(!1)};return xe(ft([()=>r.checked(),()=>r.value()],()=>{g(!0),t?.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0})),t?.dispatchEvent(new Event("change",{bubbles:!0,cancelable:!0}))},{defer:!0})),xe(ft([()=>t,()=>r.indeterminate(),()=>r.checked()],([x,v])=>{x&&(x.indeterminate=v)})),s(Dn,Ke({as:"input",ref(x){var v=Xn(b=>{r.setInputRef(b),t=b},o.ref);typeof v=="function"&&v(x)},type:"checkbox",get id(){return l.id()},get name(){return n.name()},get value(){return r.value()},get checked(){return r.checked()},get required(){return n.isRequired()},get disabled(){return n.isDisabled()},get readonly(){return n.isReadOnly()},get style(){return Is(Rc,o.style)},get"aria-label"(){return l.ariaLabel()},get"aria-labelledby"(){return l.ariaLabelledBy()},get"aria-describedby"(){return l.ariaDescribedBy()},get"aria-invalid"(){return n.validationState()==="invalid"||void 0},get"aria-required"(){return n.isRequired()},get"aria-disabled"(){return n.isDisabled()},get"aria-readonly"(){return n.isReadOnly()},onChange:f,onFocus:h,onBlur:p},()=>n.dataset(),()=>r.dataset(),c))}function Ud(e){const t=Nr();return s(Pc,Ke(()=>t.dataset(),e))}function Gd(e){let t;const n=`checkbox-${Fi()}`,r=bn({value:"on",id:n},e),[i,o,a]=_t(r,["ref","children","value","checked","defaultChecked","indeterminate","onChange","onPointerDown"],Lc),[c,l]=De(),[u,g]=De(!1),{formControlContext:f}=Mc(o),h=qf({isSelected:()=>i.checked,defaultIsSelected:()=>i.defaultChecked,onSelectedChange:b=>i.onChange?.(b),isDisabled:()=>f.isDisabled(),isReadOnly:()=>f.isReadOnly()});Yo(()=>t,()=>h.setIsSelected(i.defaultChecked??!1));const p=b=>{Tn(b,i.onPointerDown),u()&&b.preventDefault()},x=_(()=>({"data-checked":h.isSelected()?"":void 0,"data-indeterminate":i.indeterminate?"":void 0})),v={value:()=>i.value,dataset:x,checked:()=>h.isSelected(),indeterminate:()=>i.indeterminate??!1,inputRef:c,generateId:Ls(()=>ms(o.id)),toggle:()=>h.toggle(),setIsChecked:b=>h.setIsSelected(b),setIsFocused:g,setInputRef:l};return s(Ec.Provider,{value:f,get children(){return s(Nd.Provider,{value:v,get children(){return s(Dn,Ke({as:"div",ref(b){var m=Xn($=>t=$,i.ref);typeof m=="function"&&m(b)},role:"group",get id(){return ms(o.id)},onPointerDown:p},()=>f.dataset(),x,a,{get children(){return s(Vv,{state:v,get children(){return i.children}})}}))}})}})}function Vv(e){const t=Wf(()=>{const n=e.children;return Uf(n)?n(e.state):n});return Ce(t)}var kr=Object.assign(Gd,{Control:Bd,Description:qd,ErrorMessage:Hd,Indicator:jd,Input:Wd,Label:Ud}),Kv=k("<div data-slot=checkbox-checkbox-content>"),Yv=k('<svg viewBox="0 0 12 12"fill=none width=10 height=10 xmlns=http://www.w3.org/2000/svg><path d="M3 7.17905L5.02703 8.85135L9 3.5"stroke=currentColor stroke-width=1.5 stroke-linecap=square>');function Vd(e){const[t,n]=_t(e,["children","class","label","hideLabel","description","icon"]);return s(kr,Ke(n,{"data-component":"checkbox",get children(){return[s(kr.Input,{"data-slot":"checkbox-checkbox-input"}),s(kr.Control,{"data-slot":"checkbox-checkbox-control",get children(){return s(kr.Indicator,{"data-slot":"checkbox-checkbox-indicator",get children(){return t.icon||Yv()}})}}),(()=>{var r=Kv();return d(r,s(M,{get when(){return e.children},get children(){return s(kr.Label,{"data-slot":"checkbox-checkbox-label",get classList(){return{"sr-only":t.hideLabel}},get children(){return e.children}})}}),null),d(r,s(M,{get when(){return t.description},get children(){return s(kr.Description,{"data-slot":"checkbox-checkbox-description",get children(){return t.description}})}}),null),d(r,s(kr.ErrorMessage,{"data-slot":"checkbox-checkbox-error"}),null),r})()]}}))}var Xv=k("<span data-component=text-reveal><span data-slot=text-reveal-track><span data-slot=text-reveal-entering></span><span data-slot=text-reveal-leaving>");const Zv=(e,t)=>typeof e=="number"?`${e}px`:typeof e=="string"?e:`${t}px`,Qv=(e,t)=>typeof e=="number"?`${e}ms`:typeof e=="string"?e:`${t}ms`,Jv=(e,t)=>`${e??t}%`;function Kd(e){const[t,n]=et({cur:e.text,old:void 0,width:"auto",ready:!1,swapping:!1}),r=()=>t.cur,i=()=>t.old,o=()=>t.width,a=()=>t.ready,c=()=>t.swapping;let l,u,g,f;const h=()=>l?.scrollWidth??0,p=()=>u?.scrollWidth??0,x=v=>{if(!(v<=0)){if(e.growOnly??!0){const b=Number.parseFloat(o());if(Number.isFinite(b)&&v<=b)return}n("width",`${v}px`)}};return xe(ft(()=>e.text,(v,b)=>{if(v!==b){if(typeof v=="string"&&typeof b=="string"&&v.startsWith(b)){n("cur",v),x(h());return}if(n("swapping",!0),n("old",b),n("cur",v),typeof requestAnimationFrame!="function"){x(Math.max(h(),p())),g?.offsetHeight,n("swapping",!1);return}f!==void 0&&typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(f),f=requestAnimationFrame(()=>{x(Math.max(h(),p())),g?.offsetHeight,n("swapping",!1),f=void 0})}})),Xt(()=>{x(h());const v=typeof document<"u"?document.fonts:void 0;if(typeof requestAnimationFrame!="function"){n("ready",!0);return}if(!v){requestAnimationFrame(()=>n("ready",!0));return}v.ready.finally(()=>{x(h()),requestAnimationFrame(()=>n("ready",!0))})}),rt(()=>{f===void 0||typeof cancelAnimationFrame!="function"||cancelAnimationFrame(f)}),(()=>{var v=Xv(),b=v.firstChild,m=b.firstChild,$=m.nextSibling,w=g;typeof w=="function"?mt(w,v):g=v;var y=l;typeof y=="function"?mt(y,m):l=m,d(m,()=>r()??" ");var S=u;return typeof S=="function"?mt(S,$):u=$,d($,()=>i()??" "),ie(C=>{var A=a()?"true":"false",R=c()?"true":"false",V=e.truncate?"true":"false",N=e.class,B=e.text??"",O=Qv(e.duration,450),L=Jv(e.edge,17),T=Zv(e.travel,0),E=e.spring??"cubic-bezier(0.34, 1.08, 0.64, 1)",P=e.springSoft??"cubic-bezier(0.34, 1, 0.64, 1)",j=e.truncate?"100%":o();return A!==C.e&&ue(v,"data-ready",C.e=A),R!==C.t&&ue(v,"data-swapping",C.t=R),V!==C.a&&ue(v,"data-truncate",C.a=V),N!==C.o&&zt(v,C.o=N),B!==C.i&&ue(v,"aria-label",C.i=B),O!==C.n&&Je(v,"--text-reveal-duration",C.n=O),L!==C.s&&Je(v,"--text-reveal-edge",C.s=L),T!==C.h&&Je(v,"--text-reveal-travel",C.h=T),E!==C.r&&Je(v,"--text-reveal-spring",C.r=E),P!==C.d&&Je(v,"--text-reveal-spring-soft",C.d=P),j!==C.l&&Je(b,"width",C.l=j),C},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0}),v})()}var e2=k('<span data-component=text-strikethrough style=display:grid><span style="grid-area:1 / 1"></span><span aria-hidden=true style="grid-area:1 / 1;text-decoration:line-through;pointer-events:none">');function t2(e){const t=js(()=>e.active?1:0,()=>({visualDuration:e.visualDuration??.35,bounce:0}));let n,r;const[i,o]=et({textWidth:0,containerWidth:0}),a=()=>i.textWidth,c=()=>i.containerWidth,l=()=>{n&&o("textWidth",n.scrollWidth),r&&o("containerWidth",r.offsetWidth)};Xt(l),xe(()=>{const h=r;if(!h)return;const p=new ResizeObserver(l);p.observe(h),rt(()=>p.disconnect())});const u=()=>{const h=a();return h>0?t()*h:0},g=()=>{const h=c(),p=a();return h<=0||p<=0?`inset(0 ${(1-t())*100}% 0 0)`:`inset(0 ${Math.max(0,h-u())}px 0 0)`},f=()=>{const h=u();return h<=.5?"none":`inset(0 0 0 ${h}px)`};return(()=>{var h=e2(),p=h.firstChild,x=p.nextSibling,v=r;typeof v=="function"?mt(v,h):r=h;var b=n;return typeof b=="function"?mt(b,p):n=p,d(p,()=>e.text),d(x,()=>e.text),ie(m=>{var $=e.class,w={...e.style},y=f(),S=g();return $!==m.e&&zt(h,m.e=$),m.t=tr(h,w,m.t),y!==m.a&&Je(p,"clip-path",m.a=y),S!==m.o&&Je(x,"clip-path",m.o=S),m},{e:void 0,t:void 0,a:void 0,o:void 0}),h})()}const wl="opencode:e2e:composer",n2=e=>({live:e.live,todos:e.todos?.map(t=>({...t}))}),aa=()=>typeof window>"u"?!1:window.__opencode_e2e?.composer?.enabled===!0,Yd=()=>{if(!aa())return;const e=window.__opencode_e2e?.composer;if(e)return e.sessions??={},e.sessions},r2=e=>{if(!e)return;const t=Yd()?.[e]?.driver;if(t)return n2(t)},i2=e=>{const t=n=>{if(!e)return;const r=Yd();if(!r)return;const i=r[e]??{};r[e]={...i,probe:{...n,states:[...n.states]}}};return{set:t,drop(){t({mounted:!1,collapsed:!1,hidden:!0,count:0,states:[]})}}};var s2=k('<svg viewBox="0 0 12 12"width=12 height=12 fill=currentColor xmlns=http://www.w3.org/2000/svg class=block><circle cx=6 cy=6 r=3 style=animation:var(--animate-pulse-scale);transform-origin:center;transform-box:fill-box>'),o2=k('<div><div data-action=session-todo-toggle class="pl-3 pr-2 py-2 flex items-center gap-2 overflow-visible"role=button tabindex=0><span class="text-14-regular text-text-strong cursor-default inline-flex items-baseline shrink-0 overflow-visible"style=--tool-motion-odometer-ms:600ms;--tool-motion-mask:18%;--tool-motion-mask-height:0px;--tool-motion-spring-ms:560ms;white-space:pre></span><div data-slot=session-todo-preview class="ml-1 min-w-0 overflow-hidden"style="flex:1 1 auto;max-width:100%"></div><div class=ml-auto></div></div><div data-slot=session-todo-list>'),a2=k("<span>"),l2=k('<div class=relative><div class="px-3 pb-11 flex flex-col gap-1.5 max-h-42 overflow-y-auto no-scrollbar"style=overflow-anchor:none></div><div class="pointer-events-none absolute top-0 left-0 right-0 h-4 transition-opacity duration-150"style="background:linear-gradient(to bottom, var(--background-base), transparent)">');const $l="\0done\0",kl="\0total\0";function c2(e){if(e==="in_progress")return(()=>{var t=s2();return t.firstChild,t})()}function d2(e){const t=At(),[n,r]=et({collapsed:!1,height:320}),i=()=>r("collapsed",C=>!C),o=_(()=>e.todos.length),a=_(()=>e.todos.filter(C=>C.status==="completed").length),c=_(()=>t.t("session.todo.progress",{done:a(),total:o()})),l=_(()=>t.t("session.todo.progress",{done:$l,total:kl}).split(/(\u0000done\u0000|\u0000total\u0000)/)),u=_(()=>e.todos.find(C=>C.status==="in_progress")??e.todos.find(C=>C.status==="pending")??e.todos.filter(C=>C.status==="completed").at(-1)??e.todos[0]),g=_(()=>u()?.content??""),f=js(()=>n.collapsed?1:0,{visualDuration:.3,bounce:0}),h=_(()=>Math.max(0,Math.min(1,e.dockProgress))),p=_(()=>1-h()),x=_(()=>Math.max(0,Math.min(1,f()))),v=_(()=>Math.max(x(),p())),b=_(()=>v()>.98),m=_(()=>Math.max(0,Math.min(1,x()))),$=_(()=>Math.max(78,n.height)),w=aa(),y=i2(e.sessionID);let S;return xe(()=>{const C=S;if(!C)return;const A=()=>{r("height",C.getBoundingClientRect().height)};A();const R=new ResizeObserver(A);R.observe(C),rt(()=>R.disconnect())}),xe(()=>{w&&y.set({mounted:!0,collapsed:n.collapsed,hidden:n.collapsed||b(),count:e.todos.length,states:e.todos.map(C=>C.status)})}),rt(()=>{w&&y.drop()}),s(di,{"data-component":"session-todo-dock",get style(){return{"overflow-x":"visible","overflow-y":"hidden","max-height":`${Math.max(78,$()-x()*($()-78))}px`}},get children(){var C=o2(),A=C.firstChild,R=A.firstChild,V=R.nextSibling,N=V.nextSibling,B=A.nextSibling,O=S;return typeof O=="function"?mt(O,C):S=C,A.$$keydown=L=>{L.key!=="Enter"&&L.key!==" "||(L.preventDefault(),i())},A.$$click=i,d(R,s(Tr,{get each(){return l()},children:L=>L()===$l?s(Ro,{get value(){return a()}}):L()===kl?s(Ro,{get value(){return o()}}):(()=>{var T=a2();return d(T,L),T})()})),d(V,s(Kd,{class:"text-14-regular text-text-base cursor-default",get text(){return Ce(()=>!!n.collapsed)()?g():void 0},duration:600,travel:25,edge:17,spring:"cubic-bezier(0.34, 1, 0.64, 1)",springSoft:"cubic-bezier(0.34, 1, 0.64, 1)",growOnly:!0,truncate:!0})),d(N,s(pt,{"data-action":"session-todo-toggle-button",get"data-collapsed"(){return n.collapsed?"true":"false"},icon:"chevron-down",size:"normal",variant:"ghost",get style(){return{transform:`rotate(${m()*180}deg)`}},onMouseDown:L=>{L.preventDefault(),L.stopPropagation()},onClick:L=>{L.stopPropagation(),i()},get"aria-label"(){return Ce(()=>!!n.collapsed)()?e.expandLabel:e.collapseLabel}})),d(B,s(u2,{get todos(){return e.todos},get open(){return!n.collapsed}})),ie(L=>{var T=c(),E=`${Math.max(0,Math.min(1,1-p()))}`,P=n.collapsed||b(),j=v()>.1,G=b()?"hidden":"visible",q=`${Math.max(0,Math.min(1,1-v()))}`;return T!==L.e&&ue(R,"aria-label",L.e=T),E!==L.t&&Je(R,"opacity",L.t=E),P!==L.a&&ue(B,"aria-hidden",L.a=P),j!==L.o&&B.classList.toggle("pointer-events-none",L.o=j),G!==L.i&&Je(B,"visibility",L.i=G),q!==L.n&&Je(B,"opacity",L.n=q),L},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),C}})}function u2(e){const[t,n]=et({stuck:!1,scrolling:!1});let r,i;const o=_(()=>e.todos.findIndex(c=>c.status==="in_progress")),a=()=>{if(!e.open||t.scrolling||!r||r.offsetParent===null)return;const c=r.querySelector("[data-in-progress]");if(!(c instanceof HTMLElement))return;const l=16,u=44,g=r.getBoundingClientRect(),f=c.getBoundingClientRect(),h=f.top-g.top+r.scrollTop,p=f.bottom-g.top+r.scrollTop,x=r.scrollTop+l,v=r.scrollTop+r.clientHeight-u;h<x?r.scrollTop=Math.max(0,h-l):p>v&&(r.scrollTop=p-(r.clientHeight-u)),n("stuck",r.scrollTop>0)};return xe(ft([()=>e.open,o],()=>{!e.open||o()<0||requestAnimationFrame(a)})),rt(()=>{i&&window.clearTimeout(i)}),(()=>{var c=l2(),l=c.firstChild,u=l.nextSibling;l.addEventListener("scroll",f=>{n("stuck",f.currentTarget.scrollTop>0),n("scrolling",!0),i&&window.clearTimeout(i),i=window.setTimeout(()=>{n("scrolling",!1),!(o()<0)&&requestAnimationFrame(a)},250)});var g=r;return typeof g=="function"?mt(g,l):r=l,d(l,s(Tr,{get each(){return e.todos},children:f=>s(Vd,{readOnly:!0,get checked(){return f().status==="completed"},get indeterminate(){return f().status==="in_progress"},get"data-in-progress"(){return f().status==="in_progress"?"":void 0},get"data-state"(){return f().status},get icon(){return c2(f().status)},get style(){return{"--checkbox-align":"flex-start","--checkbox-offset":"1px",transition:"opacity 220ms var(--tool-motion-ease, cubic-bezier(0.22, 1, 0.36, 1))",opacity:f().status==="pending"?"0.94":"1"}},get children(){return s(t2,{get active(){return f().status==="completed"||f().status==="cancelled"},get text(){return f().content},class:"text-14-regular min-w-0 break-words",get style(){return{"line-height":"var(--line-height-normal)",transition:"color 220ms var(--tool-motion-ease, cubic-bezier(0.22, 1, 0.36, 1)), opacity 220ms var(--tool-motion-ease, cubic-bezier(0.22, 1, 0.36, 1))",color:f().status==="completed"||f().status==="cancelled"?"var(--text-weak)":"var(--text-strong)",opacity:f().status==="pending"?"0.92":"1"}}})}})})),ie(f=>Je(u,"opacity",t.stuck?1:0)),c})()}Mt(["click","keydown"]);var f2=k("<div class=overflow-hidden><div>"),es=k("<div>"),g2=k('<div data-component=session-prompt-dock class="shrink-0 w-full flex flex-col justify-center items-center bg-background-stronger pointer-events-none rounded-b-xl!"><div>'),m2=k('<div class="w-full min-h-32 md:min-h-40 rounded-md border border-border-weak-base bg-background-base/50 px-4 py-3 text-text-weak whitespace-pre-wrap pointer-events-none">'),Cl=k("<div class=pb-2>");function h2(e){const t=zr(),n=At(),r=Oc(),i=_(()=>Nc(r.sessionKey())?.prompt),o=()=>t.current().map($=>$.type==="file"?`[file:${$.path}]`:$.type==="agent"?`@${$.name}`:$.type==="image"?`[image:${$.filename}]`:$.content).join("").trim();xe(()=>{t.ready()&&Bc(r.sessionKey(),{prompt:o()})});const[a,c]=et({ready:!1,height:320,body:void 0});let l,u;const g=()=>{l!==void 0&&(window.clearTimeout(l),l=void 0),u!==void 0&&(cancelAnimationFrame(u),u=void 0)};xe(()=>{r.sessionKey();const $=e.ready,w=140;g(),c("ready",!1),$&&(u=requestAnimationFrame(()=>{u=void 0,l=window.setTimeout(()=>{c("ready",!0),l=void 0},w)}))}),rt(g);const f=_(()=>a.ready&&e.state.dock()&&!e.state.closing()),h=js(()=>f()?1:0,{visualDuration:.3,bounce:0}),p=_(()=>Math.max(0,Math.min(1,h()))),x=_(()=>a.ready&&e.state.dock()||p()>.001),v=_(()=>e.revert?.items.length?e.revert:void 0),b=_(()=>v()?18:36*p()),m=_(()=>Math.max(78,a.height));return xe(()=>{const $=a.body;if(!$)return;const w=()=>{c("height",$.getBoundingClientRect().height)};w();const y=new ResizeObserver(w);y.observe($),rt(()=>y.disconnect())}),(()=>{var $=g2(),w=$.firstChild,y=e.setPromptDockRef;return typeof y=="function"?mt(y,$):e.setPromptDockRef=$,d(w,s(M,{get when(){return e.state.questionRequest()},keyed:!0,children:S=>(()=>{var C=es();return d(C,s(kv,{request:S,get onSubmit(){return e.onResponseSubmit}})),C})()}),null),d(w,s(M,{get when(){return e.state.permissionRequest()},keyed:!0,children:S=>(()=>{var C=es();return d(C,s(fv,{request:S,get responding(){return e.state.permissionResponding()},onDecide:A=>{e.onResponseSubmit(),e.state.decide(A)}})),C})()}),null),d(w,s(M,{get when(){return!e.state.blocked()},get children(){return s(M,{get when(){return t.ready()},get fallback(){return[s(M,{get when(){return v()},keyed:!0,children:S=>(()=>{var C=Cl();return d(C,s(yl,{get items(){return S.items},get restoring(){return S.restoring},get disabled(){return S.disabled},get onRestore(){return S.onRestore}})),C})()}),(()=>{var S=m2();return d(S,()=>i()||n.t("prompt.loading")),S})()]},get children(){return[s(M,{get when(){return x()},get children(){var S=f2(),C=S.firstChild;return mt(A=>c("body",A),C),d(C,s(d2,{get sessionID(){return r.params.id},get todos(){return e.state.todos()},get collapseLabel(){return n.t("session.todo.collapse")},get expandLabel(){return n.t("session.todo.expand")},get dockProgress(){return p()}})),ie(A=>{var R=p()<.98,V=`${m()*p()}px`;return R!==A.e&&S.classList.toggle("pointer-events-none",A.e=R),V!==A.t&&Je(S,"max-height",A.t=V),A},{e:void 0,t:void 0}),S}}),s(M,{get when(){return v()},keyed:!0,children:S=>(()=>{var C=es();return d(C,s(yl,{get items(){return S.items},get restoring(){return S.restoring},get disabled(){return S.disabled},get onRestore(){return S.onRestore}})),ie(A=>Je(C,"margin-top",`${-36*p()}px`)),C})()}),s(M,{get when(){return e.changes},keyed:!0,children:S=>(()=>{var C=Cl();return d(C,s(Ov,{get files(){return S.files},get rejecting(){return S.rejecting},get onAccept(){return S.onAccept},get onReject(){return S.onReject},get onReview(){return S.onReview}})),C})()}),(()=>{var S=es();return bt(S,{"relative z-10":!0}),d(S,s(M,{get when(){return e.followup?.items.length},get children(){return s(Dv,{get items(){return e.followup.items},get sending(){return e.followup.sending},get onSend(){return e.followup.onSend},get onEdit(){return e.followup.onEdit}})}}),null),d(S,s(iv,{ref(C){var A=e.inputRef;typeof A=="function"?A(C):e.inputRef=C},get newSessionWorktree(){return e.newSessionWorktree},get onNewSessionWorktreeReset(){return e.onNewSessionWorktreeReset},get edit(){return e.followup?.edit},get onEditLoaded(){return e.followup?.onEditLoaded},get shouldQueue(){return e.followup?.queue},get onQueue(){return e.followup?.onQueue},get onAbort(){return e.followup?.onAbort},get onSubmit(){return e.onSubmit}}),null),ie(C=>Je(S,"margin-top",`${-b()}px`)),S})()]}})}}),null),ie(S=>bt(w,{"w-full px-3 pb-3 pointer-events-auto":!0,"md:max-w-200 md:mx-auto 2xl:max-w-[1000px]":e.centered},S)),$})()}const p2=e=>e.count===0?"hide":e.live?e.done?"close":"open":"clear",_l={type:"idle"};function v2(e){const t=Ic(),n=Jt(),r=An(),i=As(),o=At(),a=Ps(),c=_(()=>Gf(r.data.session,r.data.question,t.id)),l=_(()=>Vf(r.data.session,r.data.permission,t.id,B=>!a.autoResponds(B,n.directory))),u=_(()=>t.id?!!l()||!!c():!1),[g,f]=et({on:!1,live:void 0,todos:void 0}),h=()=>{const B=t.id;if(!B){f({on:!1,live:void 0,todos:void 0});return}const O=r2(B);if(!O){f({on:!1,live:void 0,todos:void 0});return}f({on:!0,live:O.live,todos:O.todos?.map(L=>({...L}))})};Xt(()=>{if(!aa())return;h(),xe(ft(()=>t.id,h,{defer:!0}));const B=O=>{O.detail?.sessionID===t.id&&h()};window.addEventListener(wl,B),rt(()=>window.removeEventListener(wl,B))});const p=_(()=>{if(g.on&&g.todos!==void 0)return g.todos;const B=t.id;return B?i.data.session_todo[B]??[]:[]}),x=_(()=>p().length>0&&p().every(B=>B.status==="completed"||B.status==="cancelled")),v=_(()=>{const B=t.id;return B?r.data.session_status[B]??_l:_l}),b=_(()=>v().type!=="idle"),m=_(()=>g.on&&g.live!==void 0?g.live:b()||u()),[$,w]=et({responding:void 0,dock:p().length>0&&m(),closing:!1,opening:!1}),y=_(()=>{const B=l();return B?$.responding===B.id:!1}),S=B=>{const O=l();O&&$.responding!==O.id&&(w("responding",O.id),n.client.permission.respond({sessionID:O.sessionID,permissionID:O.id,response:B}).catch(L=>{const T=L instanceof Error?L.message:String(L);at({title:o.t("common.requestFailed"),description:T})}).finally(()=>{w("responding",L=>L===O.id?void 0:L)}))};let C,A;const R=()=>400,V=()=>{C&&window.clearTimeout(C),C=window.setTimeout(()=>{w({dock:!1,closing:!1}),C=void 0},R())},N=()=>{if(g.on&&g.todos!==void 0){f("todos",[]);return}const B=t.id;B&&(i.todo.set(B,[]),r.set("todo",B,[]))};return xe(ft(()=>[p().length,x(),m()],([B,O,L])=>{A&&cancelAnimationFrame(A),A=void 0;const T=p2({count:B,done:O,live:L});if(T==="hide"){C&&window.clearTimeout(C),C=void 0,w({dock:!1,closing:!1,opening:!1});return}if(T==="clear"){C&&window.clearTimeout(C),C=void 0,N();return}if(T==="open"){C&&window.clearTimeout(C),C=void 0;const E=!$.dock||$.closing;if(w({dock:!0,closing:!1}),E){w("opening",!0),A=requestAnimationFrame(()=>{w("opening",!1),A=void 0});return}w("opening",!1);return}w({dock:!0,opening:!1,closing:!0}),C||V()})),rt(()=>{C&&window.clearTimeout(C)}),rt(()=>{A&&cancelAnimationFrame(A)}),{blocked:u,questionRequest:c,permissionRequest:l,permissionResponding:y,decide:S,todos:p,dock:()=>$.dock,closing:()=>$.closing,opening:()=>$.opening}}function x2({onlyFirst:e=!1}={}){const i="(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";return new RegExp(i,e?void 0:"g")}const b2=x2();function y2(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(b2,"")}var w2=k("<span data-slot=text-shimmer-char><span data-slot=text-shimmer-char-base aria-hidden=true></span><span data-slot=text-shimmer-char-shimmer aria-hidden=true>");const gn=e=>{const t=_(()=>e.text??""),n=_(()=>e.active??!0),r=_(()=>e.offset??0),[i,o]=De(n()),a=220;let c;return xe(()=>{if(c&&(clearTimeout(c),c=void 0),n()){o(!0);return}c=setTimeout(()=>{c=void 0,o(!1)},a)}),rt(()=>{c&&clearTimeout(c)}),s(Kn,{get component(){return e.as??"span"},"data-component":"text-shimmer",get"data-active"(){return n()?"true":"false"},get class(){return e.class},get"aria-label"(){return t()},get style(){return{"--text-shimmer-swap":`${a}ms`,"--text-shimmer-index":`${r()}`}},get children(){var l=w2(),u=l.firstChild,g=u.nextSibling;return d(u,t),d(g,t),ie(()=>ue(g,"data-run",i()?"true":"false")),l}})};var $2=k("<div data-component=tool-trigger><div data-slot=basic-tool-tool-trigger-content><div data-slot=basic-tool-tool-info>"),k2=k("<div data-slot=collapsible-content data-animated>"),C2=k("<span data-slot=basic-tool-tool-subtitle>"),_2=k("<span data-slot=basic-tool-tool-action>"),S2=k("<div data-slot=basic-tool-tool-info-structured><div data-slot=basic-tool-tool-info-main><span data-slot=basic-tool-tool-title>"),T2=k("<span data-slot=basic-tool-tool-arg>");const A2=e=>typeof e=="object"&&e!==null&&"title"in e&&(typeof Node>"u"||!(e instanceof Node)),Sl={type:"spring",visualDuration:.35,bounce:0};function cn(e){const[t,n]=et({open:e.defaultOpen??!1,ready:e.defaultOpen??!1}),r=()=>t.open,i=()=>t.ready,o=()=>e.status==="pending"||e.status==="running";let a;const c=()=>{a!==void 0&&(cancelAnimationFrame(a),a=void 0)};rt(c),xe(()=>{e.forceOpen&&n("open",!0)}),xe(ft(r,h=>{if(e.defer){if(!h){c(),n("ready",!1);return}c(),a=requestAnimationFrame(()=>{a=void 0,r()&&n("ready",!0)})}},{defer:!0}));let l,u;const g=r();return xe(ft(r,h=>{!e.animated||!l||(u?.stop(),h?(l.style.overflow="hidden",u=ei(l,{height:"auto"},Sl),u.finished.then(()=>{!l||!r()||(l.style.overflow="visible",l.style.height="auto")})):(l.style.overflow="hidden",u=ei(l,{height:"0px"},Sl)))},{defer:!0})),rt(()=>{u?.stop()}),s(Zt,{get open(){return r()},onOpenChange:h=>{o()||e.locked&&!h||n("open",h)},class:"tool-collapsible",get children(){return[s(Zt.Trigger,{get children(){var h=$2(),p=h.firstChild,x=p.firstChild;return d(x,s(Qt,{get children(){return[s(Ve,{get when(){return Ce(()=>!!A2(e.trigger))()&&e.trigger},children:v=>(()=>{var b=S2(),m=b.firstChild,$=m.firstChild;return d($,s(gn,{get text(){return v().title},get active(){return o()}})),d(m,s(M,{get when(){return!o()},get children(){return[s(M,{get when(){return v().subtitle},get children(){var w=C2();return w.$$click=y=>{e.onSubtitleClick&&(y.stopPropagation(),e.onSubtitleClick())},d(w,()=>v().subtitle),ie(y=>bt(w,{[v().subtitleClass??""]:!!v().subtitleClass,clickable:!!e.onSubtitleClick},y)),w}}),s(M,{get when(){return v().args?.length},get children(){return s(ze,{get each(){return v().args},children:w=>(()=>{var y=T2();return d(y,w),ie(S=>bt(y,{[v().argsClass??""]:!!v().argsClass},S)),y})()})}})]}}),null),d(b,s(M,{get when(){return Ce(()=>!o())()&&v().action},get children(){var w=_2();return d(w,()=>v().action),w}}),null),ie(w=>bt($,{[v().titleClass??""]:!!v().titleClass},w)),b})()}),s(Ve,{when:!0,get children(){return e.trigger}})]}})),d(h,s(M,{get when(){return Ce(()=>!!(e.children&&!e.hideDetails&&!e.locked))()&&!o()},get children(){return s(Zt.Arrow,{})}}),null),h}}),s(M,{get when(){return Ce(()=>!!(e.animated&&e.children))()&&!e.hideDetails},get children(){var h=k2(),p=l;return typeof p=="function"?mt(p,h):l=h,Je(h,"height",g?"auto":"0px"),Je(h,"overflow",g?"visible":"hidden"),d(h,()=>e.children),h}}),s(M,{get when(){return Ce(()=>!!(!e.animated&&e.children))()&&!e.hideDetails},get children(){return s(Zt.Content,{get children(){return s(M,{get when(){return!e.defer||i()},get children(){return e.children}})}})}})]}})}function D2(e){return["description","query","url","filePath","path","pattern","name"].map(n=>e?.[n]).find(n=>typeof n=="string"&&n.length>0)}function I2(e){if(!e)return[];const t=new Set(["description","query","url","filePath","path","pattern","name"]);return Object.entries(e).filter(([n])=>!t.has(n)).flatMap(([n,r])=>typeof r=="string"?[`${n}=${r}`]:typeof r=="number"?[`${n}=${r}`]:typeof r=="boolean"?[`${n}=${r}`]:[]).slice(0,3)}function L2(e){const t=Et();return s(cn,{icon:"mcp",get status(){return e.status},get trigger(){return{title:t.t("ui.basicTool.called",{tool:e.tool}),subtitle:D2(e.input),args:I2(e.input)}},get hideDetails(){return e.hideDetails}})}Mt(["click"]);var Xd=k("<div>");function M2(e,t){return t?e?typeof e=="string"?`${e};--card-accent:${t};`:{...e,"--card-accent":t}:{"--card-accent":t}:e}function Ws(e){const[t,n]=_t(e,["variant","style","class","classList"]),r=()=>t.variant??"normal",i=()=>{const o=r();if(o==="error")return"var(--icon-critical-base)";if(o==="warning")return"var(--icon-warning-active)";if(o==="success")return"var(--icon-success-active)";if(o==="info")return"var(--icon-info-active)"};return(()=>{var o=Xd();return Yn(o,Ke(n,{"data-component":"card",get"data-variant"(){return r()},get style(){return M2(t.style,i())},get classList(){return{...t.classList??{},[t.class??""]:!!t.class}}}),!1,!0),d(o,()=>e.children),o})()}function E2(e){const[t,n]=_t(e,["class","classList","children"]);return(()=>{var r=Xd();return Yn(r,Ke(n,{"data-slot":"card-description",get classList(){return{...t.classList??{},[t.class??""]:!!t.class}}}),!1,!0),d(r,()=>t.children),r})()}var P2=k('<a data-slot=basic-tool-tool-subtitle class="clickable subagent-link">'),R2=k("<div data-component=tool-trigger><div data-slot=basic-tool-tool-trigger-content><span data-slot=basic-tool-tool-indicator data-component=tool-error-card-icon></span><div data-slot=basic-tool-tool-info><div data-slot=basic-tool-tool-info-structured><div data-slot=basic-tool-tool-info-main><span data-slot=basic-tool-tool-title>"),F2=k("<div data-slot=tool-error-card-copy>"),z2=k("<div data-slot=tool-error-card-content>"),O2=k("<span data-slot=basic-tool-tool-subtitle>");function N2(e){const t=Et(),[n,r]=et({open:e.defaultOpen??!1,copied:!1}),i=()=>n.open,o=()=>n.copied,[a,c]=_t(e,["tool","error","defaultOpen","subtitle","href"]),l=_(()=>{const v={read:"ui.tool.read",list:"ui.tool.list",glob:"ui.tool.glob",grep:"ui.tool.grep",task:"ui.tool.task",webfetch:"ui.tool.webfetch",websearch:"ui.tool.websearch",codesearch:"ui.tool.codesearch",bash:"ui.tool.shell",apply_patch:"ui.tool.patch",question:"ui.tool.questions"}[a.tool];return v?v.includes(".")?t.t(v):v:a.tool}),u=_(()=>a.error.replace(/^Error:\s*/,"").trim()),g=_(()=>{const x=u(),v=`${a.tool} `;return x.startsWith(v)?x.slice(v.length):x}),f=_(()=>{if(a.subtitle)return a.subtitle;const x=g().split(": ");if(x.length<=1)return t.t("ui.toolErrorCard.failed");const v=(x[0]??"").trim();return v&&v[0]?v[0].toUpperCase()+v.slice(1):t.t("ui.toolErrorCard.failed")}),h=_(()=>{const x=g().split(": ");return x.length<=1?u():x.slice(1).join(": ").trim()||u()}),p=async()=>{const x=u();x&&(await navigator.clipboard.writeText(x),r("copied",!0),setTimeout(()=>r("copied",!1),2e3))};return s(Ws,Ke(c,{"data-kind":"tool-error-card",get"data-open"(){return i()?"true":"false"},variant:"error",get children(){return s(Zt,{class:"tool-collapsible",get"data-open"(){return i()?"true":"false"},get open(){return i()},onOpenChange:x=>r("open",x),get children(){return[s(Zt.Trigger,{get children(){var x=R2(),v=x.firstChild,b=v.firstChild,m=b.nextSibling,$=m.firstChild,w=$.firstChild,y=w.firstChild;return d(b,s(Ne,{name:"circle-ban-sign",size:"small",style:{"stroke-width":1.5}})),d(y,l),d(w,s(M,{get when(){return Ce(()=>!!a.href)()&&a.subtitle},get fallback(){return(()=>{var S=O2();return d(S,f),S})()},get children(){var S=P2();return S.$$click=C=>C.stopPropagation(),d(S,f),ie(()=>ue(S,"href",a.href)),S}}),null),d(x,s(Zt.Arrow,{}),null),x}}),s(Zt.Content,{get children(){var x=z2();return d(x,s(M,{get when(){return i()},get children(){var v=F2();return d(v,s(on,{get value(){return Ce(()=>!!o())()?t.t("ui.message.copied"):t.t("ui.toolErrorCard.copyError")},placement:"top",gutter:4,get children(){return s(pt,{get icon(){return o()?"check":"copy"},size:"normal",variant:"ghost",onMouseDown:b=>b.preventDefault(),onClick:b=>{b.stopPropagation(),p()},get"aria-label"(){return Ce(()=>!!o())()?t.t("ui.message.copied"):t.t("ui.toolErrorCard.copyError")}})}})),v}}),null),d(x,s(M,{get when(){return h()},children:v=>s(E2,{get children(){return v()}})}),null),x}})]}})}}))}Mt(["click"]);var B2=k("<span data-component=tool-count-label><span data-slot=tool-count-label-before></span><span data-slot=tool-count-label-word><span data-slot=tool-count-label-stem></span><span data-slot=tool-count-label-suffix><span data-slot=tool-count-label-suffix-inner>");function Tl(e){const t=/{{\s*count\s*}}/.exec(e);return t?t.index===void 0?{before:"",after:e}:{before:e.slice(0,t.index),after:e.slice(t.index+t[0].length)}:{before:"",after:e}}function q2(e,t){const n=Array.from(e),r=Array.from(t);let i=0;for(;i<n.length&&i<r.length&&n[i]===r[i];)i++;return{stem:n.slice(0,i).join(""),one:n.slice(i).join(""),other:r.slice(i).join("")}}function H2(e){const t=_(()=>Tl(e.one)),n=_(()=>Tl(e.other)),r=_(()=>Math.round(e.count)===1),i=_(()=>r()?t():n()),o=_(()=>q2(t().after,n().after)),a=_(()=>t().before===n().before&&(t().after.startsWith(n().after)||n().after.startsWith(t().after))),c=_(()=>a()?t().before:i().before),l=_(()=>a()?o().stem:i().after),u=_(()=>a()?r()?o().one:o().other:""),g=_(()=>a()&&u().length>0);return(()=>{var f=B2(),h=f.firstChild,p=h.nextSibling,x=p.firstChild,v=x.nextSibling,b=v.firstChild;return d(h,c),d(f,s(Ro,{get value(){return e.count}}),p),d(x,l),d(b,u),ie(m=>{var $=e.class,w=g()?"true":"false";return $!==m.e&&zt(f,m.e=$),w!==m.t&&ue(v,"data-active",m.t=w),m},{e:void 0,t:void 0}),f})()}var j2=k("<span data-component=tool-count-summary><span data-slot=tool-count-summary-empty><span data-slot=tool-count-summary-empty-inner>"),W2=k("<span data-slot=tool-count-summary-prefix>,"),U2=k("<span data-slot=tool-count-summary-item><span data-slot=tool-count-summary-item-inner>");function G2(e){const t=_(()=>e.items.filter(i=>i.count>0)),n=_(()=>e.fallback??""),r=_(()=>t().length===0&&n().length>0);return(()=>{var i=j2(),o=i.firstChild,a=o.firstChild;return d(a,n),d(i,s(Tr,{get each(){return e.items},children:(c,l)=>{const u=_(()=>c().count>0),g=_(()=>{for(let f=l-1;f>=0;f--)if(e.items[f].count>0)return!0;return!1});return[(()=>{var f=W2();return ie(()=>ue(f,"data-active",u()&&g()?"true":"false")),f})(),(()=>{var f=U2(),h=f.firstChild;return d(h,s(H2,{get one(){return c().one},get other(){return c().other},get count(){return Math.max(0,Math.round(c().count))}})),ie(()=>ue(f,"data-active",u()?"true":"false")),f})()]}}),null),ie(c=>{var l=e.class,u=r()?"true":"false";return l!==c.e&&zt(i,c.e=l),u!==c.t&&ue(o,"data-active",c.t=u),c},{e:void 0,t:void 0}),i})()}var V2=k("<span data-slot=tool-status-suffix><span data-slot=tool-status-prefix></span><span data-slot=tool-status-tail><span data-slot=tool-status-active></span><span data-slot=tool-status-done>"),K2=k("<span data-component=tool-status-title>"),Y2=k("<span data-slot=tool-status-swap><span data-slot=tool-status-active></span><span data-slot=tool-status-done>");function X2(e,t){const n=Array.from(e),r=Array.from(t);let i=0;for(;i<n.length&&i<r.length&&n[i]===r[i];)i++;return{prefix:n.slice(0,i).join(""),active:n.slice(i).join(""),done:r.slice(i).join("")}}function Z2(e){if(!e)return 0;const t=document.createRange();return t.selectNodeContents(e),Math.ceil(t.getBoundingClientRect().width)}function Q2(e){const t=_(()=>X2(e.activeText,e.doneText)),n=_(()=>(e.split??!0)&&t().prefix.length>=2&&t().active.length>0&&t().done.length>0),r=_(()=>Array.from(t().prefix).length),i=_(()=>n()?t().active:e.activeText),o=_(()=>n()?t().done:e.doneText),[a,c]=et({width:"auto",ready:!1}),l=()=>a.width,u=()=>a.ready;let g,f,h,p;const x=()=>{const m=e.active?g:f,$=Z2(m);$>0&&c("width",`${$}px`)},v=()=>{if(typeof requestAnimationFrame!="function"){x();return}h!==void 0&&cancelAnimationFrame(h),h=requestAnimationFrame(()=>{h=void 0,x()})},b=()=>{if(typeof requestAnimationFrame!="function"){c("ready",!0);return}p!==void 0&&cancelAnimationFrame(p),p=requestAnimationFrame(()=>{p=void 0,c("ready",!0)})};return xe(ft([()=>e.active,i,o,n],()=>v())),Xt(()=>{x();const m=typeof document<"u"?document.fonts:void 0;if(!m){b();return}m.ready.finally(()=>{x(),b()})}),rt(()=>{h!==void 0&&cancelAnimationFrame(h),p!==void 0&&cancelAnimationFrame(p)}),(()=>{var m=K2();return d(m,s(M,{get when(){return n()},get fallback(){return(()=>{var $=Y2(),w=$.firstChild,y=w.nextSibling,S=g;typeof S=="function"?mt(S,w):g=w,d(w,s(gn,{get text(){return i()},get active(){return e.active},offset:0}));var C=f;return typeof C=="function"?mt(C,y):f=y,d(y,s(gn,{get text(){return o()},active:!1,offset:0})),ie(A=>Je($,"width",l())),$})()},get children(){var $=V2(),w=$.firstChild,y=w.nextSibling,S=y.firstChild,C=S.nextSibling;d(w,s(gn,{get text(){return t().prefix},get active(){return e.active},offset:0}));var A=g;typeof A=="function"?mt(A,S):g=S,d(S,s(gn,{get text(){return i()},get active(){return e.active},get offset(){return r()}}));var R=f;return typeof R=="function"?mt(R,C):f=C,d(C,s(gn,{get text(){return o()},active:!1,get offset(){return r()}})),ie(V=>Je(y,"width",l())),$}})),ie($=>{var w=e.active?"true":"false",y=u()?"true":"false",S=n()?"suffix":"swap",C=e.class,A=e.active?e.activeText:e.doneText;return w!==$.e&&ue(m,"data-active",$.e=w),y!==$.t&&ue(m,"data-ready",$.t=y),S!==$.a&&ue(m,"data-mode",$.a=S),C!==$.o&&zt(m,$.o=C),A!==$.i&&ue(m,"aria-label",$.i=A),$},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),m})()}function Zd(e){return e.url.startsWith("data:")||e.url.startsWith("/file/media/")}function J2(e){return Zd(e)?!1:e.source?.text?.start!==void 0&&e.source?.text?.end!==void 0}function e1(e){return e.mime.startsWith("image/")?"image":"file"}var t1=k("<span data-component=shell-submessage><span data-slot=shell-submessage-width><span data-slot=basic-tool-tool-subtitle><span data-slot=shell-submessage-value>"),n1=k("<div data-component=diagnostics>"),r1=k("<div data-slot=diagnostic><span data-slot=diagnostic-label></span><span data-slot=diagnostic-location>[<!>:<!>]</span><span data-slot=diagnostic-message>"),i1=k("<div data-component=exa-tool-output><div data-slot=exa-tool-links>"),s1=k('<a data-slot=exa-tool-link target=_blank rel="noopener noreferrer">'),o1=k('<div data-component=context-tool-group-trigger><span data-slot=context-tool-group-title class="min-w-0 flex items-center gap-2 text-14-medium text-text-strong"><span data-slot=context-tool-group-label class=shrink-0></span><span data-slot=context-tool-group-summary class="min-w-0 overflow-hidden text-ellipsis whitespace-nowrap font-normal text-text-base">'),a1=k("<div data-component=context-tool-group-list>"),l1=k("<div data-component=context-synthesis>"),Qd=k("<span data-slot=basic-tool-tool-subtitle>"),c1=k("<div data-slot=context-tool-output-preview>"),d1=k("<div data-slot=context-tool-output-info><span data-slot=context-tool-output-count>"),u1=k("<div data-slot=context-tool-group-item><div data-component=tool-trigger><div data-slot=basic-tool-tool-trigger-content><div data-slot=basic-tool-tool-info><div data-slot=basic-tool-tool-info-structured><div data-slot=basic-tool-tool-info-main><span data-slot=basic-tool-tool-title>"),f1=k("<span data-slot=basic-tool-tool-arg>"),g1=k("<span data-slot=context-tool-output-line>"),m1=k("<div data-slot=context-synthesis-item><span data-slot=context-synthesis-text>"),h1=k("<div data-slot=user-message-attachments>"),p1=k("<div data-slot=user-message-body><div data-slot=user-message-text>"),v1=k('<span data-slot=user-message-meta class="text-12-regular text-text-weak cursor-default">'),x1=k('<span data-slot=user-message-meta-sep class="text-12-regular text-text-weak cursor-default"> · '),b1=k('<span data-slot=user-message-meta-tail class="text-12-regular text-text-weak cursor-default">'),y1=k("<span data-slot=user-message-meta-wrap>"),w1=k("<div data-slot=user-message-copy-wrapper>"),$1=k("<div data-component=user-message>"),k1=k("<img data-slot=user-message-attachment-image>"),C1=k("<div data-slot=user-message-attachment>"),_1=k("<div data-slot=user-message-attachment-file><span data-slot=user-message-attachment-name>"),S1=k("<span>"),Jd=k("<span data-slot=apply-patch-directory>"),eu=k("<div data-slot=apply-patch-trigger-content><div data-slot=apply-patch-file-info><div data-slot=apply-patch-file-name-container><span data-slot=apply-patch-filename></span></div></div><div data-slot=apply-patch-trigger-actions>"),T1=k("<div data-slot=trellis-tool-pills>"),A1=k("<div data-component=tool-trigger><div data-slot=basic-tool-tool-trigger-content><span data-slot=basic-tool-tool-indicator data-component=trellis-tool-icon></span><div data-slot=basic-tool-tool-info><div data-slot=basic-tool-tool-info-structured data-scope=trellis-tool><div data-slot=basic-tool-tool-info-main data-scope=trellis-tool><span data-slot=basic-tool-tool-title>"),D1=k("<div data-slot=trellis-tool-content><div data-component=tool-output data-scrollable>"),I1=k("<span data-slot=trellis-tool-pill>"),L1=k("<div data-component=tool-part-wrapper>"),M1=k('<div style=width:100%;display:flex;justify-content:flex-end><span class="text-13-regular text-text-weak cursor-default">'),E1=k('<div data-component=compaction-part><div data-slot=compaction-part-divider><span data-slot=compaction-part-line></span><span data-slot=compaction-part-label class="text-12-regular text-text-weak"></span><span data-slot=compaction-part-line>'),P1=k('<span data-slot=text-part-meta class="text-12-regular text-text-weak cursor-default">'),R1=k("<div data-slot=text-part-copy-wrapper>"),F1=k("<div data-component=text-part><div data-slot=text-part-body>"),z1=k("<div data-component=reasoning-part>"),O1=k("<div data-component=tool-loaded-file><span> "),la=k("<div data-component=tool-output data-scrollable>"),N1=k('<a data-slot=basic-tool-tool-subtitle class="clickable subagent-link"target=_blank rel="noopener noreferrer">'),B1=k("<div data-component=tool-action>"),tu=k("<div data-slot=basic-tool-tool-info-structured><div data-slot=basic-tool-tool-info-main><span data-slot=basic-tool-tool-title>"),q1=k('<a data-slot=basic-tool-tool-subtitle class="clickable subagent-link">'),nu=k('<div data-slot=basic-tool-tool-info-structured><div data-slot=basic-tool-tool-info-main><span data-slot=basic-tool-tool-title class="capitalize agent-title">'),H1=k("<div data-component=bash-output><div data-slot=bash-copy></div><div data-slot=bash-scroll data-scrollable><pre data-slot=bash-pre><code>"),j1=k("<div data-component=edit-content>"),W1=k("<div data-component=edit-tool>"),ca=k("<span data-slot=message-part-title-filename>"),da=k("<div data-slot=message-part-path><span data-slot=message-part-directory>"),ru=k("<div data-component=edit-trigger><div data-slot=message-part-title-area><div data-slot=message-part-title><span data-slot=message-part-title-text></span></div></div><div data-slot=message-part-actions>"),U1=k("<div data-slot=memory-card-preview>"),G1=k("<div data-component=memory-card>"),V1=k("<div data-component=write-content>"),K1=k("<div data-component=write-tool>"),Y1=k("<div data-component=write-trigger><div data-slot=message-part-title-area><div data-slot=message-part-title><span data-slot=message-part-title-text></span></div></div><div data-slot=message-part-actions>"),Al=k("<div data-component=apply-patch-file-diff>"),Dl=k("<div data-component=apply-patch-tool>"),Il=k("<span data-slot=apply-patch-change data-type=added>"),Ll=k("<span data-slot=apply-patch-change data-type=removed>"),Ml=k("<span data-slot=apply-patch-change data-type=modified>"),X1=k("<div data-component=todos>"),Z1=k("<span data-slot=message-part-todo-content>"),Q1=k("<div data-component=question-answers>"),J1=k("<div data-slot=question-answer-item><div data-slot=question-text></div><div data-slot=answer-text>");function iu(){try{return qc()}catch{return{pathname:""}}}function ex(e){let t,n;return Xt(()=>{e.animate&&requestAnimationFrame(()=>{t&&ei(t,{width:"auto"},{type:"spring",visualDuration:.25,bounce:0}),n&&ei(n,{opacity:1,filter:"blur(0px)"},{duration:.32,ease:[.16,1,.3,1]})})}),(()=>{var r=t1(),i=r.firstChild,o=i.firstChild,a=o.firstChild,c=t;typeof c=="function"?mt(c,i):t=i;var l=n;return typeof l=="function"?mt(l,a):n=a,d(a,()=>e.text),ie(u=>{var g=e.animate?"0px":void 0,f=e.animate?{opacity:0,filter:"blur(2px)"}:void 0;return g!==u.e&&Je(i,"width",u.e=g),u.t=tr(a,f,u.t),u},{e:void 0,t:void 0}),r})()}function su(e,t){return!e||!t?[]:(e[t]??[]).filter(r=>r.severity===1).slice(0,3)}function ou(e){const t=Et();return s(M,{get when(){return e.diagnostics.length>0},get children(){var n=n1();return d(n,s(ze,{get each(){return e.diagnostics},children:r=>(()=>{var i=r1(),o=i.firstChild,a=o.nextSibling,c=a.firstChild,l=c.nextSibling,u=l.nextSibling,g=u.nextSibling;g.nextSibling;var f=a.nextSibling;return d(o,()=>t.t("ui.messagePart.diagnostic.error")),d(a,()=>r.range.start.line+1,l),d(a,()=>r.range.start.character+1,g),d(f,()=>r.message),i})()})),n}})}const Br={},El=24,tx=/[\s.,!?;:)\]]/;function nx(e){return e<=12?2:e<=48?4:e<=96?8:Math.min(24,Math.ceil(e/8))}function rx(e,t){const n=Math.min(e.length,t+nx(e.length-t)),r=Math.min(e.length,n+8);for(let i=n;i<r;i++)if(tx.test(e[i]??""))return i+1;return n}function au(e,t){const[n,r]=De(e());let i=e(),o;const a=()=>{o&&(clearTimeout(o),o=void 0)},c=u=>{i=u,r(u)},l=()=>{o=void 0;const u=e();if(!t?.()){c(u);return}if(!u.startsWith(i)||u.length<=i.length){c(u);return}const g=rx(u,i.length);c(u.slice(0,g)),g<u.length&&(o=setTimeout(l,El))};return xe(()=>{const u=e();if(!t?.()){a(),c(u);return}if(!u.startsWith(i)||u.length<i.length){a(),c(u);return}u.length===i.length||o||(o=setTimeout(l,El))}),rt(()=>{a()}),n}function lu(e,t){if(!e)return"";if(!t||t==="/"||t==="\\")return e;if(e===t)return"";const n=t.includes("\\")?"\\":"/",r=t.endsWith(n)?t:t+n;return e.startsWith(r)?e.slice(t.length):e}function Vn(e){const t=Ar();return lu(oi(e),t.directory)}function cu(e,t){return t?e.t("ui.tool.agent",{type:t}):e.t("ui.tool.agent.default")}function du(e,t={}){const n=Et();switch(e){case"read":return{icon:"glasses",title:n.t("ui.tool.read"),subtitle:t.filePath?jt(t.filePath):void 0};case"list":return{icon:"bullet-list",title:n.t("ui.tool.list"),subtitle:t.path?jt(t.path):void 0};case"glob":return{icon:"magnifying-glass-menu",title:n.t("ui.tool.glob"),subtitle:t.pattern};case"grep":return{icon:"magnifying-glass-menu",title:n.t("ui.tool.grep"),subtitle:t.pattern};case"webfetch":return{icon:"window-cursor",title:n.t("ui.tool.webfetch"),subtitle:t.url};case"websearch":return{icon:"window-cursor",title:n.t("ui.tool.websearch"),subtitle:t.query};case"codesearch":return{icon:"code",title:n.t("ui.tool.codesearch"),subtitle:t.query};case"task":{const r=typeof t.subagent_type=="string"&&t.subagent_type?t.subagent_type[0].toUpperCase()+t.subagent_type.slice(1):void 0;return{icon:"task",title:cu(n,r),subtitle:t.description}}case"bash":return{icon:"console",title:n.t("ui.tool.shell"),subtitle:t.description};case"edit":return{icon:"code-lines",title:n.t("ui.messagePart.title.edit"),subtitle:t.filePath?jt(t.filePath):void 0};case"write":return{icon:"code-lines",title:n.t("ui.messagePart.title.write"),subtitle:t.filePath?jt(t.filePath):void 0};case"apply_patch":return{icon:"code-lines",title:n.t("ui.tool.patch"),subtitle:t.files?.length?`${t.files.length} ${n.t(t.files.length>1?"ui.common.file.other":"ui.common.file.one")}`:void 0};case"todowrite":return{icon:"checklist",title:n.t("ui.tool.todos")};case"question":return{icon:"bubble-5",title:n.t("ui.tool.questions")};case"skill":return{icon:"brain",title:t.name||n.t("ui.tool.skill")};default:return{icon:"mcp",title:e}}}function ix(e){if(!e)return[];const t=new Set;return[...e.matchAll(/https?:\/\/[^\s<>"'`)\]]+/g)].map(n=>n[0].replace(/[),.;:!?]+$/g,"")).filter(n=>t.has(n)?!1:(t.add(n),!0))}function uu(e,t,n){if(!e)return;const r=n?.(e);if(r)return r;const i=t.indexOf("/session");if(i!==-1)return`${t.slice(0,i)}/session/${e}`}const sx=new Set(["read","glob","grep","list"]),ox=new Set(["todowrite"]);function Pl(e,t){return Array.isArray(e)?e:t}function fu(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((n,r)=>n===t[r])}function Rl(e,t){return e.messageID===t.messageID&&e.partID===t.partID}function ax(e,t){return e===t?!0:e.key!==t.key||e.type!==t.type?!1:e.type==="part"?t.type!=="part"?!1:Rl(e.ref,t.ref):t.type!=="context"||e.refs.length!==t.refs.length?!1:e.refs.every((n,r)=>Rl(n,t.refs[r]))}function gu(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((n,r)=>ax(n,t[r]))}function mu(e){const t=[];let n=-1;const r=i=>{if(n<0)return;const o=e[n],a=e[i];if(!o||!a){n=-1;return}t.push({key:`context:${o.part.id}`,type:"context",refs:e.slice(n,i+1).map(c=>({messageID:c.messageID,partID:c.part.id}))}),n=-1};return e.forEach((i,o)=>{if(ua(i.part)){n<0&&(n=o);return}r(o-1),t.push({key:`part:${i.messageID}:${i.part.id}`,type:"part",ref:{messageID:i.messageID,partID:i.part.id}})}),r(e.length-1),t}function Fo(e){return new Map(e.map(t=>[t.id,t]))}function hu(e,t=!0){return e.type==="tool"?ox.has(e.tool)?!1:e.tool==="question"?e.state.status!=="pending"&&e.state.status!=="running":!0:e.type==="text"?!!e.text?.trim():e.type==="reasoning"?t&&!!e.text?.trim():!!Br[e.type]}function lx(e,t=!1,n=!1){if(e==="bash")return t;if(e==="edit"||e==="write"||e==="apply_patch")return n}function cx(e,t=!1,n=!1){if(e.type==="tool")return lx(e.tool,t,n)}function dx(e){const t=Ar(),n=[],r=[],i=_(()=>Fo(e.messages)),o=_(()=>new Map(e.messages.map(l=>[l.id,Fo(Pl(t.store.part?.[l.id],n))]))),a=_(()=>mu(e.messages.flatMap(l=>Pl(t.store.part?.[l.id],n).filter(u=>hu(u,e.showReasoningSummaries??!0)).map(u=>({messageID:l.id,part:u})))),[],{equals:gu}),c=_(()=>a().at(-1)?.key);return s(Tr,{get each(){return a()},children:l=>{const u=_(()=>l().type);return s(Qt,{get children(){return[s(Ve,{get when(){return u()==="context"},get children(){return(()=>{const g=_(()=>{const h=l();return h.type!=="context"?r:h.refs.map(p=>o().get(p.messageID)?.get(p.partID)).filter(p=>!!p&&ua(p))},r,{equals:fu}),f=_(()=>e.working&&c()===l().key);return s(M,{get when(){return g().length>0},get children(){return s(vu,{get parts(){return g()},get busy(){return f()}})}})})()}}),s(Ve,{get when(){return u()==="part"},get children(){return(()=>{const g=_(()=>{const h=l();if(h.type==="part")return i().get(h.ref.messageID)}),f=_(()=>{const h=l();if(h.type==="part")return o().get(h.ref.messageID)?.get(h.ref.partID)});return s(M,{get when(){return g()},get children(){return s(M,{get when(){return f()},get children(){return s(xu,{get part(){return f()},get message(){return g()},get showAssistantCopyPartID(){return e.showAssistantCopyPartID},get turnDurationMs(){return e.turnDurationMs},get defaultOpen(){return cx(f(),e.shellToolDefaultOpen,e.editToolDefaultOpen)},get onLinkClick(){return e.onLinkClick},get fileFetch(){return e.fileFetch}})}})}})})()}})]}})}})}function ua(e){return e.type==="tool"&&sx.has(e.tool)}function ux(e){const t=du(e.tool,e.state.input??{});if(t.subtitle)return t.subtitle;if(e.state.status==="error")return e.state.error;if((e.state.status==="running"||e.state.status==="completed")&&e.state.title)return e.state.title;const n=e.state.input?.description;if(typeof n=="string")return n}function fx(e,t){const n=e.state.input??{},r=typeof n.path=="string"?n.path:"/",i=typeof n.filePath=="string"?n.filePath:void 0,o=typeof n.pattern=="string"?n.pattern:void 0,a=typeof n.include=="string"?n.include:void 0,c=typeof n.offset=="number"?n.offset:void 0,l=typeof n.limit=="number"?n.limit:void 0;switch(e.tool){case"read":{const u=[];return c!==void 0&&u.push("offset="+c),l!==void 0&&u.push("limit="+l),{title:t.t("ui.tool.read"),subtitle:i?jt(i):"",args:u}}case"list":return{title:t.t("ui.tool.list"),subtitle:Vn(r)};case"glob":return{title:t.t("ui.tool.glob"),subtitle:Vn(r),args:o?["pattern="+o]:[]};case"grep":{const u=[];return o&&u.push("pattern="+o),a&&u.push("include="+a),{title:t.t("ui.tool.grep"),subtitle:Vn(r),args:u}}default:{const u=du(e.tool,n);return{title:u.title,subtitle:u.subtitle||ux(e),args:[]}}}}function gx(e){const t=e.filter(i=>i.tool==="read").length,n=e.filter(i=>i.tool==="glob"||i.tool==="grep").length,r=e.filter(i=>i.tool==="list").length;return{read:t,search:n,list:r}}function mx(e){if(e.state.status!=="completed")return;const t=e.state.output;if(!t?.trim())return;const n=t.split(`
|
|
19
|
-
`).filter(r=>r.trim());switch(e.tool){case"read":return{count:`${n.length} lines`,items:[]};case"grep":return{count:`${n.length} matches`,items:n.slice(0,3)};case"glob":return{count:`${n.length} files`,items:n.slice(0,5)};case"list":return{count:`${n.length} entries`,items:n.slice(0,5)};default:return}}function hx(e){const t=[],n=e.filter(o=>o.tool==="read"&&o.state.status==="completed");if(n.length>0){const o=n.map(c=>jt(c.state.input?.filePath??"")).filter(c=>c).slice(0,4),a=n.length>4?` +${n.length-4} more`:"";t.push({icon:"glasses",text:`Read ${o.join(", ")}${a}`})}const r=e.filter(o=>o.tool==="grep"&&o.state.status==="completed");for(const o of r){const c=o.state.output?.split(`
|
|
20
|
-
`).filter(u=>u.trim()).length??0,l=o.state.input?.pattern??"";l&&t.push({icon:"magnifying-glass-menu",text:`${c} matches for “${l}”`})}const i=e.filter(o=>o.tool==="glob"&&o.state.status==="completed");for(const o of i){const c=o.state.output?.split(`
|
|
21
|
-
`).filter(u=>u.trim()).length??0,l=o.state.input?.pattern??"";l&&t.push({icon:"magnifying-glass-menu",text:`${c} files matching “${l}”`})}return t}function pu(e){const t=_(()=>ix(e.output));return s(M,{get when(){return t().length>0},get children(){var n=i1(),r=n.firstChild;return d(r,s(ze,{get each(){return t()},children:i=>(()=>{var o=s1();return o.$$click=a=>a.stopPropagation(),ue(o,"href",i),d(o,i),o})()})),n}})}function px(e){return s(Qt,{get children(){return[s(Ve,{get when(){return Ce(()=>e.message.role==="user")()&&e.message},children:t=>s(xx,{get message(){return t()},get parts(){return e.parts},get actions(){return e.actions}})}),s(Ve,{get when(){return Ce(()=>e.message.role==="assistant")()&&e.message},children:t=>s(vx,{get message(){return t()},get parts(){return e.parts},get showAssistantCopyPartID(){return e.showAssistantCopyPartID},get showReasoningSummaries(){return e.showReasoningSummaries}})})]}})}function vx(e){const t=[],n=_(()=>Fo(e.parts)),r=_(()=>mu(e.parts.filter(i=>hu(i,e.showReasoningSummaries??!0)).map(i=>({messageID:e.message.id,part:i}))),[],{equals:gu});return s(Tr,{get each(){return r()},children:i=>{const o=_(()=>i().type);return s(Qt,{get children(){return[s(Ve,{get when(){return o()==="context"},get children(){return(()=>{const a=_(()=>{const c=i();return c.type!=="context"?t:c.refs.map(l=>n().get(l.partID)).filter(l=>!!l&&ua(l))},t,{equals:fu});return s(M,{get when(){return a().length>0},get children(){return s(vu,{get parts(){return a()}})}})})()}}),s(Ve,{get when(){return o()==="part"},get children(){return(()=>{const a=_(()=>{const c=i();if(c.type==="part")return n().get(c.ref.partID)});return s(M,{get when(){return a()},get children(){return s(xu,{get part(){return a()},get message(){return e.message},get showAssistantCopyPartID(){return e.showAssistantCopyPartID}})}})})()}})]}})}})}function vu(e){const t=Et(),[n,r]=De(!1),i=_(()=>!!e.busy||e.parts.some(l=>l.state.status==="pending"||l.state.status==="running")),o=_(()=>gx(e.parts)),a=_(()=>!e.busy&&e.parts.every(l=>l.state.status==="completed"||l.state.status==="error")),c=_(()=>a()?hx(e.parts):[]);return[s(Zt,{get open(){return n()},onOpenChange:r,variant:"ghost",class:"tool-collapsible",get children(){return[s(Zt.Trigger,{get children(){var l=o1(),u=l.firstChild,g=u.firstChild,f=g.nextSibling;return d(g,s(Q2,{get active(){return i()},get activeText(){return t.t("ui.sessionTurn.status.gatheringContext")},get doneText(){return t.t("ui.sessionTurn.status.gatheredContext")},split:!1})),d(f,s(G2,{get items(){return[{key:"read",count:o().read,one:t.t("ui.messagePart.context.read.one"),other:t.t("ui.messagePart.context.read.other")},{key:"search",count:o().search,one:t.t("ui.messagePart.context.search.one"),other:t.t("ui.messagePart.context.search.other")},{key:"list",count:o().list,one:t.t("ui.messagePart.context.list.one"),other:t.t("ui.messagePart.context.list.other")}]},fallback:""})),d(l,s(Zt.Arrow,{}),null),l}}),s(Zt.Content,{get children(){var l=a1();return d(l,s(Tr,{get each(){return e.parts},children:u=>{const g=_(()=>fx(u(),t)),f=_(()=>u().state.status==="pending"||u().state.status==="running"),h=_(()=>mx(u()));return(()=>{var p=u1(),x=p.firstChild,v=x.firstChild,b=v.firstChild,m=b.firstChild,$=m.firstChild,w=$.firstChild;return d(w,s(gn,{get text(){return g().title},get active(){return f()}})),d($,s(M,{get when(){return Ce(()=>!f())()&&g().subtitle},get children(){var y=Qd();return d(y,()=>g().subtitle),y}}),null),d($,s(M,{get when(){return Ce(()=>!f())()&&g().args?.length},get children(){return s(ze,{get each(){return g().args},children:y=>(()=>{var S=f1();return d(S,y),S})()})}}),null),d(p,s(M,{get when(){return Ce(()=>!f())()&&h()},get children(){var y=d1(),S=y.firstChild;return d(S,()=>h().count),d(y,s(M,{get when(){return h().items.length>0},get children(){var C=c1();return d(C,s(ze,{get each(){return h().items},children:A=>(()=>{var R=g1();return d(R,A),R})()})),C}}),null),y}}),null),p})()}})),l}})]}}),s(M,{get when(){return c().length>0},get children(){var l=l1();return d(l,s(ze,{get each(){return c()},children:u=>(()=>{var g=m1(),f=g.firstChild;return d(g,s(Ne,{get name(){return u.icon},size:"small"}),f),d(f,()=>u.text),g})()})),l}})]}function xx(e){const t=Ar(),n=zn(),r=Et(),[i,o]=et({copied:!1,busy:!1}),a=()=>i.copied,c=()=>i.busy,l=_(()=>e.parts?.find(C=>C.type==="text"&&!C.synthetic)),u=_(()=>l()?.text||""),g=_(()=>e.parts?.filter(C=>C.type==="file")??[]),f=_(()=>g().filter(Zd)),h=_(()=>g().filter(J2)),p=_(()=>e.parts?.filter(C=>C.type==="agent")??[]),x=_(()=>{const C=e.message.model?.providerID,A=e.message.model?.modelID;return!C||!A?"":t.store.provider?.all?.find(V=>V.id===C)?.models?.[A]?.name??A}),v=_(()=>new Intl.DateTimeFormat(r.locale(),{timeStyle:"short"})),b=_(()=>{const C=e.message.time?.created;return typeof C!="number"?"":v().format(C)}),m=_(()=>{const C=e.message.agent;return[C?C[0]?.toUpperCase()+C.slice(1):"",x()].filter(R=>!!R).join(" · ")}),$=b,w=(C,A)=>{n.show(()=>s(zd,{src:C,alt:A}))},y=async()=>{const C=u();C&&(await navigator.clipboard.writeText(C),o("copied",!0),setTimeout(()=>o("copied",!1),2e3))},S=()=>{const C=e.actions?.revert;!C||c()||(o("busy",!0),Promise.resolve().then(()=>C({sessionID:e.message.sessionID,messageID:e.message.id})).finally(()=>o("busy",!1)))};return(()=>{var C=$1();return d(C,s(M,{get when(){return f().length>0},get children(){var A=h1();return d(A,s(ze,{get each(){return f()},children:R=>{const V=e1(R),N=R.filename??r.t("ui.message.attachment.alt");return(()=>{var B=C1();return B.$$click=()=>{V==="image"&&w(R.url,N)},ue(B,"data-type",V),ue(B,"data-clickable",V==="image"?"true":void 0),ue(B,"title",V==="file"?N:void 0),d(B,s(M,{when:V==="image",get fallback(){return(()=>{var O=_1(),L=O.firstChild;return d(O,s(Sn,{node:{path:N,type:"file"}}),L),d(L,N),O})()},get children(){var O=k1();return ue(O,"alt",N),ie(()=>ue(O,"src",t.mediaUrl&&R.url.startsWith("/")?new URL(R.url,t.mediaUrl).toString():R.url)),O}})),B})()}})),A}}),null),d(C,s(M,{get when(){return u()},get children(){return[(()=>{var A=p1(),R=A.firstChild;return d(R,s(bx,{get text(){return u()},get references(){return h()},get agents(){return p()}})),A})(),(()=>{var A=w1();return d(A,s(M,{get when(){return m()||$()},get children(){var R=y1();return d(R,s(M,{get when(){return m()},get children(){var V=v1();return d(V,m),V}}),null),d(R,s(M,{get when(){return Ce(()=>!!m())()&&$()},get children(){return x1()}}),null),d(R,s(M,{get when(){return $()},get children(){var V=b1();return d(V,$),V}}),null),R}}),null),d(A,s(M,{get when(){return e.actions?.revert},get children(){return s(on,{get value(){return r.t("ui.message.revertMessage")},placement:"top",gutter:4,get children(){return s(pt,{icon:"reset",size:"normal",variant:"ghost",get disabled(){return!!c()},onMouseDown:R=>R.preventDefault(),onClick:R=>{R.stopPropagation(),S()},get"aria-label"(){return r.t("ui.message.revertMessage")}})}})}}),null),d(A,s(on,{get value(){return Ce(()=>!!a())()?r.t("ui.message.copied"):r.t("ui.message.copyMessage")},placement:"top",gutter:4,get children(){return s(pt,{get icon(){return a()?"check":"copy"},size:"normal",variant:"ghost",onMouseDown:R=>R.preventDefault(),onClick:R=>{R.stopPropagation(),y()},get"aria-label"(){return Ce(()=>!!a())()?r.t("ui.message.copied"):r.t("ui.message.copyMessage")}})}}),null),A})()]}}),null),C})()}function bx(e){const t=_(()=>{const n=e.text,r=[...e.references.filter(a=>a.source?.text?.start!==void 0&&a.source?.text?.end!==void 0).map(a=>({start:a.source.text.start,end:a.source.text.end,type:"file"})),...e.agents.filter(a=>a.source?.start!==void 0&&a.source?.end!==void 0).map(a=>({start:a.source.start,end:a.source.end,type:"agent"}))].sort((a,c)=>a.start-c.start),i=[];let o=0;for(const a of r)a.start<o||(a.start>o&&i.push({text:n.slice(o,a.start)}),i.push({text:n.slice(a.start,a.end),type:a.type}),o=a.end);return o<n.length&&i.push({text:n.slice(o)}),i});return s(ze,{get each(){return t()},children:n=>(()=>{var r=S1();return d(r,()=>n.text),ie(()=>ue(r,"data-highlight",n.type)),r})()})}function xu(e){const t=_(()=>Br[e.part.type]);return s(M,{get when(){return t()},get children(){return s(Kn,{get component(){return t()},get part(){return e.part},get message(){return e.message},get hideDetails(){return e.hideDetails},get defaultOpen(){return e.defaultOpen},get showAssistantCopyPartID(){return e.showAssistantCopyPartID},get turnDurationMs(){return e.turnDurationMs},get onLinkClick(){return e.onLinkClick},get fileFetch(){return e.fileFetch}})}})}const bu={};function yx(e){return bu[e.name]=e,e}function wx(e){return bu[e]?.render}const mn={register:yx,render:wx};function fa(e){const t=_(()=>e.path||"tool-file");return s(rn,{multiple:!0,"data-scope":"apply-patch",style:{"--sticky-accordion-offset":"40px"},get defaultValue(){return[t()]},get children(){return s(rn.Item,{get value(){return t()},get children(){return[s(Ni,{get children(){return s(rn.Trigger,{get children(){var n=eu(),r=n.firstChild,i=r.firstChild,o=i.firstChild,a=r.nextSibling;return d(r,s(Sn,{get node(){return{path:e.path,type:"file"}}}),i),d(i,s(M,{get when(){return e.path.includes("/")},get children(){var c=Jd();return d(c,()=>`${Vn(e.path)}`),c}}),o),d(o,()=>jt(e.path)),d(a,()=>e.actions,null),d(a,s(Ne,{name:"chevron-grabber-vertical",size:"small"}),null),n}})}}),s(rn.Content,{get children(){return e.children}})]}})}})}function vn(e,t=28){return e.length<=t?e:`${e.slice(0,t-1)}…`}function Yt(e){if(typeof e=="string")return e.trim();if(typeof e=="number"||typeof e=="boolean")return String(e);if(e===null)return"null"}function Lt(e,t="meta"){return{label:e,tone:t}}function ts(e,t="attr"){if(!e)return[];if(Array.isArray(e))return e.flatMap(n=>{const r=Yt(n);return r?[Lt(vn(r),t)]:[]});if(typeof e!="object"){const n=Yt(e);return n?[Lt(vn(n),t)]:[]}return Object.entries(e).flatMap(([n,r])=>{const i=Yt(r);return i?[Lt(`${n} ${vn(i)}`,t)]:[]})}function vi(e){const t=[];return typeof e.id=="string"&&e.id&&t.push(Lt(e.id,"result")),typeof e.count=="number"&&t.push(Lt(`${e.count} results`,"result")),typeof e.nodes=="number"&&t.push(Lt(`${e.nodes} nodes`,"result")),typeof e.edges=="number"&&t.push(Lt(`${e.edges} edges`,"result")),typeof e.facts=="number"&&t.push(Lt(`${e.facts} facts`,"result")),typeof e.links=="number"&&t.push(Lt(`${e.links} links`,"result")),typeof e.asserted=="number"&&t.push(Lt(`${e.asserted} asserted`,"result")),typeof e.retracted=="number"&&t.push(Lt(`${e.retracted} retracted`,"result")),typeof e.unlinked=="number"&&t.push(Lt(`${e.unlinked} removed`,"result")),typeof e.truncated=="boolean"&&e.truncated&&t.push(Lt("truncated","meta")),t}function $x(e,t,n){if(e==="trellis_store_mutate"){const i=Yt(t.action)??"mutated",o=Yt(t.id),a=Yt(t.type),c=Yt(t.entity),l=Yt(t.attribute),u=Yt(t.value),g=Yt(t.source),f=Yt(t.relation),h=Yt(t.target);return{title:i==="define"?`Created ${o??"entity"}`:i==="update"?`Updated ${o??"entity"}`:i==="delete"?`Deleted ${o??"entity"}`:i==="assert"?`Asserted ${c??"entity"}${l?`.${l}`:""}`:i==="retract"?`Retracted ${c??"entity"}${l?`.${l}`:""}`:i==="link"?`Linked ${g??"entity"} to ${h??"entity"}`:i==="unlink"?`Unlinked ${g??"entity"} from ${h??"entity"}`:"Updated the Trellis store",list:[Lt(i,"action"),...o?[Lt(`id ${vn(o)}`)]:[],...a?[Lt(`type ${vn(a)}`)]:[],...l?[Lt(`attr ${vn(l)}`,"attr")]:[],...u?[Lt(`value ${vn(u)}`,"attr")]:[],...f?[Lt(`relation ${vn(f)}`,"attr")]:[],...ts(t.attrs,"attr"),...vi(n)]}}if(e==="trellis_store_query"){const i=Yt(t.mode)??"query",o=Yt(t.id),a=Yt(t.type),c=Yt(t.attribute),l=Yt(t.value),u=Yt(t.depth),g=Yt(t.limit);return{title:i==="entities"?`Browsed ${a?`${a} `:""}entities`:i==="entity"?`Inspected ${o??"entity"}`:i==="facts"?"Queried facts":i==="links"?"Queried links":i==="graph"?`Mapped neighbors for ${o??"entity"}`:i==="types"?"Listed entity types":"Queried the Trellis store",list:[Lt(i,"action"),...o?[Lt(`id ${vn(o)}`)]:[],...a?[Lt(`type ${vn(a)}`)]:[],...c?[Lt(`attr ${vn(c)}`,"attr")]:[],...l?[Lt(`value ${vn(l)}`,"attr")]:[],...u?[Lt(`depth ${u}`,"meta")]:[],...g?[Lt(`limit ${g}`,"meta")]:[],...vi(n)]}}if(e==="trellis_store_schema"){const i=Yt(t.mode)??"schema",o=Yt(t.type);return{title:i==="stats"?"Inspected store stats":i==="catalog"?"Browsed the attribute catalog":i==="attributes"?`Viewed attributes for ${o??"type"}`:"Inspected the store schema",list:[Lt(i,"action"),...o?[Lt(`type ${vn(o)}`)]:[],...vi(n)]}}if(e==="trellis_issue"){const i=Yt(t.title),o=Yt(t.priority),a=[...o?[Lt(o,"action")]:[],...ts(t.labels,"meta"),...Array.isArray(t.criteria)&&t.criteria.length?[Lt(`${t.criteria.length} criteria`,"result")]:[],...vi(n)];return{title:i?`Created issue ${vn(i,56)}`:"Created a Trellis issue",list:a}}const r=Object.entries(t).flatMap(([i,o])=>{if(Array.isArray(o))return ts(o,"meta");if(o&&typeof o=="object")return ts(o,"attr");const a=Yt(o);return a?[Lt(`${i} ${vn(a)}`)]:[]});return{title:`Ran ${e.replace(/^trellis_/,"").replaceAll("_"," ")}`,list:[...r,...vi(n)]}}function kx(e){const[t,n]=De(e.defaultOpen??!1),r=_(()=>e.status==="pending"||e.status==="running"),i=_(()=>e.output?.trim()??""),o=_(()=>!e.hideDetails&&!!i()),a=_(()=>$x(e.tool,e.input,e.metadata)),c=_(()=>{const l=a().list;return l.length<=8?l:[...l.slice(0,8),Lt(`+${l.length-8}`,"meta")]});return xe(()=>{e.forceOpen&&o()&&n(!0)}),s(Ws,{"data-kind":"trellis-tool-card",get"data-open"(){return t()?"true":"false"},style:{"--card-accent":"var(--icon-interactive-base)"},get children(){return s(Zt,{class:"tool-collapsible",get"data-open"(){return t()?"true":"false"},get open(){return t()},onOpenChange:l=>{o()&&(e.locked&&!l||n(l))},get children(){return[s(Zt.Trigger,{get children(){var l=A1(),u=l.firstChild,g=u.firstChild,f=g.nextSibling,h=f.firstChild,p=h.firstChild,x=p.firstChild;return d(g,s(Ne,{name:"providers",size:"small"})),d(x,s(gn,{get text(){return a().title},get active(){return r()}})),d(h,s(M,{get when(){return Ce(()=>!r())()&&c().length},get children(){var v=T1();return d(v,s(ze,{get each(){return c()},children:b=>(()=>{var m=I1();return d(m,()=>b.label),ie(()=>ue(m,"data-tone",b.tone)),m})()})),v}}),null),d(l,s(M,{get when(){return o()},get children(){return s(Zt.Arrow,{})}}),null),l}}),s(M,{get when(){return o()},get children(){return s(Zt.Content,{get children(){var l=D1(),u=l.firstChild;return d(u,s(Fr,{get text(){return i()}})),l}})}})]}})}})}Br.tool=function(t){const n=Ar(),r=Et(),i=iu(),o=()=>t.part;if(o().tool==="todowrite")return null;const a=_(()=>{const p=o().state.input;return p&&typeof p=="object"?p:{}}),c=_(()=>{const p=o().state.metadata;return{...o().metadata??{},...p??{}}}),l=_(()=>{const p=c().sessionId;return typeof p=="string"&&p?p:void 0}),u=_(()=>o().tool==="question"&&(o().state.status==="pending"||o().state.status==="running")),g=_(()=>{if(o().tool==="task")return uu(l(),i.pathname,n.sessionHref)}),f=_(()=>{if(o().tool!=="task")return;const p=a().description;return typeof p=="string"&&p?p:l()}),h=_(()=>mn.render(o().tool)??(o().tool.startsWith("trellis_")?kx:L2));return s(M,{get when(){return!u()},get children(){var p=L1();return d(p,s(Qt,{get children(){return[s(Ve,{get when(){return Ce(()=>o().state.status==="error")()&&o().state.error},children:x=>{const v=x().replace("Error: ","");return o().tool==="question"&&v.includes("dismissed this question")?(()=>{var b=M1(),m=b.firstChild;return d(m,()=>r.t("ui.messagePart.questions.dismissed")),b})():s(N2,{get tool(){return o().tool},get error(){return x()},get defaultOpen(){return t.defaultOpen},get subtitle(){return f()},get href(){return g()}})}}),s(Ve,{when:!0,get children(){return s(Kn,{get component(){return h()},get input(){return a()},get tool(){return o().tool},get metadata(){return c()},get output(){return o().state.output},get status(){return o().state.status},get hideDetails(){return t.hideDetails},get defaultOpen(){return t.defaultOpen}})}})]}})),p}})};function yu(e){return(()=>{var t=E1(),n=t.firstChild,r=n.firstChild,i=r.nextSibling;return d(i,()=>e.label),t})()}Br.compaction=function(){const t=Et();return s(yu,{get label(){return t.t("ui.messagePart.compaction")}})};Br.text=function(t){const n=Ar(),r=Et(),i=_(()=>new Intl.NumberFormat(r.locale())),o=()=>t.part,a=_(()=>t.message.role==="assistant"&&t.message.error?.name==="MessageAbortedError"),c=_(()=>{if(t.message.role!=="assistant")return"";const $=t.message;return n.store.provider?.all?.find(y=>y.id===$.providerID)?.models?.[$.modelID]?.name??$.modelID}),l=_(()=>{if(t.message.role!=="assistant")return"";const $=t.message,w=$.time.completed,y=typeof t.turnDurationMs=="number"?t.turnDurationMs:typeof w=="number"?w-$.time.created:-1;if(!(y>=0))return"";const S=Math.round(y/1e3);if(S<60)return r.t("ui.message.duration.seconds",{count:i().format(S)});const C=Math.floor(S/60),A=S%60;return r.t("ui.message.duration.minutesSeconds",{minutes:i().format(C),seconds:i().format(A)})}),u=_(()=>{if(t.message.role!=="assistant")return"";const $=t.message.agent;return[$?$[0]?.toUpperCase()+$.slice(1):"",c(),l(),a()?r.t("ui.message.interrupted"):""].filter(y=>!!y).join(" · ")}),g=_(()=>t.message.role==="assistant"&&typeof t.message.time.completed!="number"),f=()=>(o().text??"").trim(),h=au(f,g),p=_(()=>(n.store.part?.[t.message.id]??[]).filter(w=>w?.type==="text"&&!!w.text?.trim()).at(-1)?.id===o().id),x=_(()=>t.message.role!=="assistant"?p():t.showAssistantCopyPartID===null?!1:typeof t.showAssistantCopyPartID=="string"?t.showAssistantCopyPartID===o().id:p()),[v,b]=De(!1),m=async()=>{const $=f();$&&(await navigator.clipboard.writeText($),b(!0),setTimeout(()=>b(!1),2e3))};return s(M,{get when(){return h()},get children(){var $=F1(),w=$.firstChild;return d(w,s(Fr,{get text(){return h()},get cacheKey(){return o().id},get streaming(){return g()},get onLinkClick(){return t.onLinkClick},get fileFetch(){return t.fileFetch}})),d($,s(M,{get when(){return x()},get children(){var y=R1();return d(y,s(on,{get value(){return Ce(()=>!!v())()?r.t("ui.message.copied"):r.t("ui.message.copyResponse")},placement:"top",gutter:4,get children(){return s(pt,{get icon(){return v()?"check":"copy"},size:"normal",variant:"ghost",onMouseDown:S=>S.preventDefault(),onClick:m,get"aria-label"(){return Ce(()=>!!v())()?r.t("ui.message.copied"):r.t("ui.message.copyResponse")}})}}),null),d(y,s(M,{get when(){return u()},get children(){var S=P1();return d(S,u),S}}),null),ie(()=>ue(y,"data-interrupted",a()?"":void 0)),y}}),null),$}})};Br.reasoning=function(t){const n=()=>t.part,r=_(()=>t.message.role==="assistant"&&typeof t.message.time.completed!="number"),o=au(()=>n().text.trim(),r);return s(M,{get when(){return o()},get children(){var a=z1();return d(a,s(Fr,{get text(){return o()},get cacheKey(){return n().id},get streaming(){return r()},get onLinkClick(){return t.onLinkClick},get fileFetch(){return t.fileFetch}})),a}})};mn.register({name:"read",render(e){const t=Ar(),n=Et(),r=[];e.input.offset&&r.push("offset="+e.input.offset),e.input.limit&&r.push("limit="+e.input.limit);const i=_(()=>{if(e.status!=="completed")return[];const o=e.metadata.loaded;return!o||!Array.isArray(o)?[]:o.filter(a=>typeof a=="string")});return[s(cn,Ke(e,{icon:"glasses",get trigger(){return{title:n.t("ui.tool.read"),subtitle:e.input.filePath?jt(e.input.filePath):"",args:r}}})),s(ze,{get each(){return i()},children:o=>(()=>{var a=O1(),c=a.firstChild,l=c.firstChild;return d(a,s(Ne,{name:"enter",size:"small"}),c),d(c,()=>n.t("ui.tool.loaded"),l),d(c,()=>lu(o,t.directory),null),a})()})]}});mn.register({name:"list",render(e){const t=Et();return s(cn,Ke(e,{icon:"bullet-list",get trigger(){return{title:t.t("ui.tool.list"),subtitle:Vn(e.input.path||"/")}},get children(){return s(M,{get when(){return e.output},get children(){var n=la();return d(n,s(Fr,{get text(){return e.output}})),n}})}}))}});mn.register({name:"glob",render(e){const t=Et();return s(cn,Ke(e,{icon:"magnifying-glass-menu",get trigger(){return{title:t.t("ui.tool.glob"),subtitle:Vn(e.input.path||"/"),args:e.input.pattern?["pattern="+e.input.pattern]:[]}},get children(){return s(M,{get when(){return e.output},get children(){var n=la();return d(n,s(Fr,{get text(){return e.output}})),n}})}}))}});mn.register({name:"grep",render(e){const t=Et(),n=[];return e.input.pattern&&n.push("pattern="+e.input.pattern),e.input.include&&n.push("include="+e.input.include),s(cn,Ke(e,{icon:"magnifying-glass-menu",get trigger(){return{title:t.t("ui.tool.grep"),subtitle:Vn(e.input.path||"/"),args:n}},get children(){return s(M,{get when(){return e.output},get children(){var r=la();return d(r,s(Fr,{get text(){return e.output}})),r}})}}))}});mn.register({name:"webfetch",render(e){const t=Et(),n=_(()=>e.status==="pending"||e.status==="running"),r=_(()=>{const i=e.input.url;return typeof i!="string"?"":i});return s(cn,Ke(e,{hideDetails:!0,icon:"window-cursor",get trigger(){return(()=>{var i=tu(),o=i.firstChild,a=o.firstChild;return d(a,s(gn,{get text(){return t.t("ui.tool.webfetch")},get active(){return n()}})),d(o,s(M,{get when(){return Ce(()=>!n())()&&r()},get children(){var c=N1();return c.$$click=l=>l.stopPropagation(),d(c,r),ie(()=>ue(c,"href",r())),c}}),null),d(i,s(M,{get when(){return Ce(()=>!n())()&&r()},get children(){var c=B1();return d(c,s(Ne,{name:"square-arrow-top-right",size:"small"})),c}}),null),i})()}}))}});mn.register({name:"websearch",render(e){const t=Et(),n=_(()=>{const r=e.input.query;return typeof r!="string"?"":r});return s(cn,Ke(e,{icon:"window-cursor",get trigger(){return{title:t.t("ui.tool.websearch"),subtitle:n(),subtitleClass:"exa-tool-query"}},get children(){return s(pu,{get output(){return e.output}})}}))}});mn.register({name:"codesearch",render(e){const t=Et(),n=_(()=>{const r=e.input.query;return typeof r!="string"?"":r});return s(cn,Ke(e,{icon:"code",get trigger(){return{title:t.t("ui.tool.codesearch"),subtitle:n(),subtitleClass:"exa-tool-query"}},get children(){return s(pu,{get output(){return e.output}})}}))}});mn.register({name:"task",render(e){const t=Ar(),n=Et(),r=iu(),i=()=>e.metadata.sessionId,o=_(()=>{const h=e.input.subagent_type;if(!(typeof h!="string"||!h))return h[0].toUpperCase()+h.slice(1)}),a=_(()=>cu(n,o())),c=_(()=>{const h=e.input.description;return typeof h=="string"&&h?h:i()}),l=_(()=>e.status==="pending"||e.status==="running"),u=_(()=>uu(i(),r.pathname,t.sessionHref)),g=()=>s(gn,{get text(){return a()},get active(){return l()}}),f=()=>(()=>{var h=nu(),p=h.firstChild,x=p.firstChild;return d(x,g),d(p,s(M,{get when(){return c()},get children(){return s(Qt,{get children(){return[s(Ve,{get when(){return u()},get children(){var v=q1();return v.$$click=b=>b.stopPropagation(),d(v,c),ie(()=>ue(v,"href",u())),v}}),s(Ve,{when:!0,get children(){var v=Qd();return d(v,c),v}})]}})}}),null),h})();return s(cn,{icon:"task",get status(){return e.status},get trigger(){return f()},hideDetails:!0})}});mn.register({name:"bash",render(e){const t=Et(),n=()=>e.status==="pending"||e.status==="running",r=n(),i=_(()=>{const l=e.input.command??e.metadata.command??"",u=y2(e.output||e.metadata.output||"");return`$ ${l}${u?`
|
|
22
|
-
|
|
23
|
-
`+u:""}`}),[o,a]=De(!1),c=async()=>{const l=i();l&&(await navigator.clipboard.writeText(l),a(!0),setTimeout(()=>a(!1),2e3))};return s(cn,Ke(e,{icon:"console",get trigger(){return(()=>{var l=tu(),u=l.firstChild,g=u.firstChild;return d(g,s(gn,{get text(){return t.t("ui.tool.shell")},get active(){return n()}})),d(u,s(M,{get when(){return Ce(()=>!n())()&&e.input.description},get children(){return s(ex,{get text(){return e.input.description},animate:r})}}),null),l})()},get children(){var l=H1(),u=l.firstChild,g=u.nextSibling,f=g.firstChild,h=f.firstChild;return d(u,s(on,{get value(){return Ce(()=>!!o())()?t.t("ui.message.copied"):t.t("ui.message.copy")},placement:"top",gutter:4,get children(){return s(pt,{get icon(){return o()?"check":"copy"},size:"small",variant:"secondary",onMouseDown:p=>p.preventDefault(),onClick:c,get"aria-label"(){return Ce(()=>!!o())()?t.t("ui.message.copied"):t.t("ui.message.copy")}})}})),d(h,i),l}}))}});mn.register({name:"edit",render(e){const t=Et(),n=ai(),r=_(()=>su(e.metadata.diagnostics,e.input.filePath)),i=_(()=>e.metadata?.filediff?.file||e.input.filePath||""),o=()=>jt(e.input.filePath??""),a=()=>e.status==="pending"||e.status==="running";return(()=>{var c=W1();return d(c,s(cn,Ke(e,{icon:"code-lines",defer:!0,get trigger(){return(()=>{var l=ru(),u=l.firstChild,g=u.firstChild,f=g.firstChild,h=u.nextSibling;return d(f,s(gn,{get text(){return t.t("ui.messagePart.title.edit")},get active(){return a()}})),d(g,s(M,{get when(){return!a()},get children(){var p=ca();return d(p,o),p}}),null),d(u,s(M,{get when(){return Ce(()=>!a())()&&e.input.filePath?.includes("/")},get children(){var p=da(),x=p.firstChild;return d(x,()=>Vn(e.input.filePath)),p}}),null),d(h,s(M,{get when(){return Ce(()=>!a())()&&e.metadata.filediff},get children(){return s(nr,{get changes(){return e.metadata.filediff}})}})),l})()},get children(){return[s(M,{get when(){return i()},get children(){return s(fa,{get path(){return i()},get actions(){return s(M,{get when(){return Ce(()=>!a())()&&e.metadata.filediff},get children(){return s(nr,{get changes(){return e.metadata.filediff}})}})},get children(){var l=j1();return d(l,s(Kn,{component:n,mode:"diff",get before(){return{name:e.metadata?.filediff?.file||e.input.filePath,contents:e.metadata?.filediff?.before||e.input.oldString}},get after(){return{name:e.metadata?.filediff?.file||e.input.filePath,contents:e.metadata?.filediff?.after||e.input.newString}}})),l}})}}),s(ou,{get diagnostics(){return r()}})]}}))),c})()}});mn.register({name:"write",render(e){const t=Et(),n=ai(),r=_(()=>su(e.metadata.diagnostics,e.input.filePath)),i=_(()=>e.input.filePath||""),o=()=>jt(e.input.filePath??""),a=()=>e.status==="pending"||e.status==="running",c=_(()=>{const u=e.input.filePath??"";return u.includes("/memory/")||u.includes("/.claude/")}),l=_(()=>c()?(e.input.content??"").split(`
|
|
24
|
-
`).slice(0,10).join(`
|
|
25
|
-
`):"");return s(M,{get when(){return c()},get fallback(){return(()=>{var u=K1();return d(u,s(cn,Ke(e,{icon:"code-lines",defer:!0,get trigger(){return(()=>{var g=Y1(),f=g.firstChild,h=f.firstChild,p=h.firstChild;return d(p,s(gn,{get text(){return t.t("ui.messagePart.title.write")},get active(){return a()}})),d(h,s(M,{get when(){return!a()},get children(){var x=ca();return d(x,o),x}}),null),d(f,s(M,{get when(){return Ce(()=>!a())()&&e.input.filePath?.includes("/")},get children(){var x=da(),v=x.firstChild;return d(v,()=>Vn(e.input.filePath)),x}}),null),g})()},get children(){return[s(M,{get when(){return Ce(()=>!!e.input.content)()&&i()},get children(){return s(fa,{get path(){return i()},get children(){var g=V1();return d(g,s(Kn,{component:n,mode:"text",get file(){return{name:e.input.filePath,contents:e.input.content,cacheKey:Ms(e.input.content)}},overflow:"scroll"})),g}})}}),s(ou,{get diagnostics(){return r()}})]}}))),u})()},get children(){var u=G1();return d(u,s(cn,Ke(e,{icon:"brain",get trigger(){return{title:a()?"Saving memory…":"Memory saved",subtitle:o()}},get children(){return s(M,{get when(){return Ce(()=>!a())()&&l()},get children(){var g=U1();return d(g,l),g}})}}))),u}})}});mn.register({name:"apply_patch",render(e){const t=Et(),n=ai(),r=_(()=>e.metadata.files??[]),i=_(()=>e.status==="pending"||e.status==="running"),o=_(()=>{const g=r();if(g.length===1)return g[0]}),[a,c]=De([]);let l=!1;xe(()=>{const g=r();g.length!==0&&(l||(l=!0,c(g.filter(f=>f.type!=="delete").map(f=>f.filePath))))});const u=_(()=>{const g=r().length;return g===0?"":`${g} ${t.t(g>1?"ui.common.file.other":"ui.common.file.one")}`});return s(M,{get when(){return o()},get fallback(){return(()=>{var g=Dl();return d(g,s(cn,Ke(e,{icon:"code-lines",defer:!0,get trigger(){return{title:t.t("ui.tool.patch"),subtitle:u()}},get children(){return s(M,{get when(){return r().length>0},get children(){return s(rn,{multiple:!0,"data-scope":"apply-patch",style:{"--sticky-accordion-offset":"40px"},get value(){return a()},onChange:f=>c(Array.isArray(f)?f:f?[f]:[]),get children(){return s(ze,{get each(){return r()},children:f=>{const h=_(()=>a().includes(f.filePath)),[p,x]=De(!1);return xe(()=>{if(!h()){x(!1);return}requestAnimationFrame(()=>{h()&&x(!0)})}),s(rn.Item,{get value(){return f.filePath},get"data-type"(){return f.type},get children(){return[s(Ni,{get children(){return s(rn.Trigger,{get children(){var v=eu(),b=v.firstChild,m=b.firstChild,$=m.firstChild,w=b.nextSibling;return d(b,s(Sn,{get node(){return{path:f.relativePath,type:"file"}}}),m),d(m,s(M,{get when(){return f.relativePath.includes("/")},get children(){var y=Jd();return d(y,()=>`${Vn(f.relativePath)}`),y}}),$),d($,()=>jt(f.relativePath)),d(w,s(Qt,{get children(){return[s(Ve,{get when(){return f.type==="add"},get children(){var y=Il();return d(y,()=>t.t("ui.patch.action.created")),y}}),s(Ve,{get when(){return f.type==="delete"},get children(){var y=Ll();return d(y,()=>t.t("ui.patch.action.deleted")),y}}),s(Ve,{get when(){return f.type==="move"},get children(){var y=Ml();return d(y,()=>t.t("ui.patch.action.moved")),y}}),s(Ve,{when:!0,get children(){return s(nr,{get changes(){return{additions:f.additions,deletions:f.deletions}}})}})]}}),null),d(w,s(Ne,{name:"chevron-grabber-vertical",size:"small"}),null),v}})}}),s(rn.Content,{get children(){return s(M,{get when(){return p()},get children(){var v=Al();return d(v,s(Kn,{component:n,mode:"diff",get before(){return{name:f.filePath,contents:f.before}},get after(){return{name:f.movePath??f.filePath,contents:f.after}}})),v}})}})]}})}})}})}})}}))),g})()},get children(){var g=Dl();return d(g,s(cn,Ke(e,{icon:"code-lines",defer:!0,get trigger(){return(()=>{var f=ru(),h=f.firstChild,p=h.firstChild,x=p.firstChild,v=h.nextSibling;return d(x,s(gn,{get text(){return t.t("ui.tool.patch")},get active(){return i()}})),d(p,s(M,{get when(){return!i()},get children(){var b=ca();return d(b,()=>jt(o().relativePath)),b}}),null),d(h,s(M,{get when(){return Ce(()=>!i())()&&o().relativePath.includes("/")},get children(){var b=da(),m=b.firstChild;return d(m,()=>Vn(o().relativePath)),b}}),null),d(v,s(M,{get when(){return!i()},get children(){return s(nr,{get changes(){return{additions:o().additions,deletions:o().deletions}}})}})),f})()},get children(){return s(fa,{get path(){return o().relativePath},get actions(){return s(Qt,{get children(){return[s(Ve,{get when(){return o().type==="add"},get children(){var f=Il();return d(f,()=>t.t("ui.patch.action.created")),f}}),s(Ve,{get when(){return o().type==="delete"},get children(){var f=Ll();return d(f,()=>t.t("ui.patch.action.deleted")),f}}),s(Ve,{get when(){return o().type==="move"},get children(){var f=Ml();return d(f,()=>t.t("ui.patch.action.moved")),f}}),s(Ve,{when:!0,get children(){return s(nr,{get changes(){return{additions:o().additions,deletions:o().deletions}}})}})]}})},get children(){var f=Al();return d(f,s(Kn,{component:n,mode:"diff",get before(){return{name:o().filePath,contents:o().before}},get after(){return{name:o().movePath??o().filePath,contents:o().after}}})),f}})}}))),g}})}});mn.register({name:"todowrite",render(e){const t=Et(),n=_(()=>{const i=e.metadata?.todos;if(Array.isArray(i))return i;const o=e.input.todos;return Array.isArray(o)?o:[]}),r=_(()=>{const i=n();return i.length===0?"":`${i.filter(o=>o.status==="completed").length}/${i.length}`});return s(cn,Ke(e,{defaultOpen:!0,icon:"checklist",get trigger(){return{title:t.t("ui.tool.todos"),subtitle:r()}},get children(){return s(M,{get when(){return n().length},get children(){var i=X1();return d(i,s(ze,{get each(){return n()},children:o=>s(Vd,{readOnly:!0,get checked(){return o.status==="completed"},get children(){var a=Z1();return d(a,()=>o.content),ie(()=>ue(a,"data-completed",o.status==="completed"?"completed":void 0)),a}})})),i}})}}))}});mn.register({name:"question",render(e){const t=Et(),n=_(()=>e.input.questions??[]),r=_(()=>e.metadata.answers??[]),i=_(()=>r().length>0),o=_(()=>{const a=n().length;return a===0?"":i()?t.t("ui.question.subtitle.answered",{count:a}):`${a} ${t.t(a>1?"ui.common.question.other":"ui.common.question.one")}`});return s(cn,Ke(e,{get defaultOpen(){return i()},icon:"bubble-5",get trigger(){return{title:t.t("ui.tool.questions"),subtitle:o()}},get children(){return s(M,{get when(){return i()},get children(){var a=Q1();return d(a,s(ze,{get each(){return n()},children:(c,l)=>{const u=()=>r()[l()]??[];return(()=>{var g=J1(),f=g.firstChild,h=f.nextSibling;return d(f,()=>c.question),d(h,()=>u().join(", ")||t.t("ui.question.answer.none")),g})()}})),a}})}}))}});mn.register({name:"skill",render(e){const t=Et(),n=_(()=>e.input.name||t.t("ui.tool.skill")),r=_(()=>e.status==="pending"||e.status==="running"),i=()=>s(gn,{get text(){return n()},get active(){return r()}}),o=()=>(()=>{var a=nu(),c=a.firstChild,l=c.firstChild;return d(l,i),a})();return s(cn,{icon:"brain",get status(){return e.status},get trigger(){return o()},hideDetails:!0})}});Mt(["click"]);var Cx=k('<div data-slot=session-turn-retry-message class="cursor-help truncate">'),_x=k('<div class="flex items-start gap-2"><div class=min-w-0>'),Sx=k("<div data-slot=session-turn-retry>"),Tx=k("<div data-slot=session-turn-retry-message>"),Ax=k("<div data-slot=session-turn-retry-info>");function Dx(e){const t=Et(),n=_(()=>{if(e.status.type==="retry")return e.status}),[r,i]=De(0);xe(ft(n,l=>{if(!l)return;const u=()=>{const f=n()?.next;f&&i(Math.round((f-Date.now())/1e3))};u();const g=setInterval(u,1e3);rt(()=>clearInterval(g))}));const o=_(()=>{const l=n();return l?l.message.includes("exceeded your current quota")&&l.message.includes("gemini")?t.t("ui.sessionTurn.retry.geminiHot"):l.message.length>80?l.message.slice(0,80)+"...":l.message:""}),a=_(()=>{const l=n();return l?l.message.length>80:!1}),c=_(()=>{const l=n();if(!l)return"";const u=Math.max(0,r()),g=u>0?t.t("ui.sessionTurn.retry.inSeconds",{seconds:u}):"",h=[t.t("ui.sessionTurn.retry.retrying"),g].filter(Boolean).join(" ");return h?t.t("ui.sessionTurn.retry.attemptLine",{line:h,attempt:l.attempt}):t.t("ui.sessionTurn.retry.attempt",{attempt:l.attempt})});return s(M,{get when(){return Ce(()=>!!n())()&&(e.show??!0)},get children(){var l=Sx();return d(l,s(Ws,{variant:"error",class:"error-card",get children(){var u=_x(),g=u.firstChild;return d(u,s(Di,{class:"size-4 mt-0.5"}),g),d(g,s(M,{get when(){return a()},get fallback(){return(()=>{var f=Tx();return d(f,o),f})()},get children(){return s(on,{get value(){return n()?.message??""},placement:"top",get children(){var f=Cx();return d(f,o),f}})}}),null),d(g,s(M,{get when(){return c()},children:f=>(()=>{var h=Ax();return d(h,f),h})()}),null),u}})),l}})}var Ix=k("<div data-slot=session-turn-compaction>"),Lx=k("<div data-slot=session-turn-assistant-content>"),Mx=k("<div data-slot=session-turn-thinking>"),Ex=k("<div data-component=session-turn-diffs-trigger><div data-slot=session-turn-diffs-title><span data-slot=session-turn-diffs-label></span><span data-slot=session-turn-diffs-count> </span><div data-slot=session-turn-diffs-meta>"),Px=k("<div data-component=session-turn-diffs-content>"),Rx=k("<div data-slot=session-turn-diffs>"),Fx=k("<div data-slot=session-turn-message-container><div data-slot=session-turn-message-content aria-live=off>"),zx=k("<div data-component=session-turn><div data-slot=session-turn-content><div>"),Ox=k("<span data-slot=session-turn-diff-directory>"),Nx=k("<div data-slot=session-turn-diff-trigger><span data-slot=session-turn-diff-path><span data-slot=session-turn-diff-filename></span></span><div data-slot=session-turn-diff-meta><span data-slot=session-turn-diff-changes></span><span data-slot=session-turn-diff-chevron>"),Bx=k("<div data-slot=session-turn-diff-view data-scrollable>");function Fl(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function zl(e){const t=e.replace(/^Error:\s*/,"").trim(),n=l=>{try{return JSON.parse(l)}catch{return}},r=l=>{const u=n(l);return typeof u!="string"?u:n(u.trim())};let i=r(t);if(i===void 0){const l=t.indexOf("{"),u=t.lastIndexOf("}");l!==-1&&u>l&&(i=r(t.slice(l,u+1)))}if(!Fl(i))return e;const o=Fl(i.error)?i.error:void 0;if(o){const l=typeof o.type=="string"?o.type:void 0,u=typeof o.message=="string"?o.message:void 0;if(l&&u)return`${l}: ${u}`;if(u)return u;if(l)return l;const g=typeof o.code=="string"?o.code:void 0;if(g)return g}const a=typeof i.message=="string"?i.message:void 0;if(a)return a;const c=typeof i.error=="string"?i.error:void 0;return c||e}function qx(e,t){return e===t?!0:e.length!==t.length?!1:e.every((n,r)=>n===t[r])}function ns(e,t){return Array.isArray(e)?e:t}const Hx=new Set(["todowrite"]);function jx(e,t){if(e.type==="tool")return Hx.has(e.tool)||e.tool==="question"&&(e.state.status==="pending"||e.state.status==="running")?void 0:"visible";if(e.type==="text")return e.text?.trim()?"visible":void 0;if(e.type==="reasoning")return t&&e.text?.trim()?"visible":void 0;if(Br[e.type])return"visible"}function rs(e){return e.replace(/`([^`]+)`/g,"$1").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[*_~]+/g,"").trim()}function Wx(e){const t=e.replace(/\r\n?/g,`
|
|
26
|
-
`),n=t.match(/<h[1-6][^>]*>([\s\S]*?)<\/h[1-6]>/i);if(n?.[1]){const a=rs(n[1].replace(/<[^>]+>/g," "));if(a)return a}const r=t.match(/^\s{0,3}#{1,6}[ \t]+(.+?)(?:[ \t]+#+[ \t]*)?$/m);if(r?.[1]){const a=rs(r[1]);if(a)return a}const i=t.match(/^([^\n]+)\n(?:=+|-+)\s*$/m);if(i?.[1]){const a=rs(i[1]);if(a)return a}const o=t.match(/^\s*(?:\*\*|__)(.+?)(?:\*\*|__)\s*$/m);if(o?.[1]){const a=rs(o[1]);if(a)return a}}function Ux(e){const t=Ar(),n=Et(),r=ai(),i=[],o=[],a=[],c=[],l={type:"idle"},u=_(()=>e.messages??ns(t.store.message?.[e.sessionID],i)),g=_(()=>{const U=u()??i,se=Ii.search(U,e.messageID,oe=>oe.id),he=se.found?se.index:U.findIndex(oe=>oe.id===e.messageID);if(he<0)return-1;const ee=U[he];return!ee||ee.role!=="user"?-1:he}),f=_(()=>{const U=g();if(U<0)return;const he=(u()??i)[U];if(!(!he||he.role!=="user"))return he}),h=_(()=>typeof e.active=="boolean"?void 0:(u()??i).findLast(se=>se.role==="assistant"&&typeof se.time.completed!="number")),p=_(()=>{const U=h();if(!U?.parentID)return;const se=u()??i,he=Ii.search(se,U.parentID,oe=>oe.id),ee=he.found?se[he.index]:se.find(oe=>oe.id===U.parentID);if(!(!ee||ee.role!=="user"))return ee}),x=_(()=>{if(typeof e.active=="boolean")return e.active;const U=f(),se=p();return!U||!se?!1:se.id===U.id}),v=_(()=>{const U=f();return U?ns(t.store.part?.[U.id],o):o}),b=_(()=>v().find(U=>U.type==="compaction")),m=_(()=>{const U=f()?.summary?.diffs;if(!U?.length)return c;const se=new Set;return U.reduceRight((he,ee)=>(se.has(ee.file)||(se.add(ee.file),he.push(ee)),he),[]).reverse()}),$=_(()=>m().length),[w,y]=et({open:!1,expanded:[]}),S=()=>w.open,C=()=>w.expanded;xe(ft(S,(U,se)=>{!U&&se&&y("expanded",[])},{defer:!0}));const A=_(()=>{const U=f();if(!U)return a;const se=u()??i,he=g();if(he<0)return a;const ee=[];for(let oe=he+1;oe<se.length;oe++){const ae=se[oe];if(ae){if(ae.role==="user")break;ae.role==="assistant"&&ae.parentID===U.id&&ee.push(ae)}}return ee},a,{equals:qx}),R=_(()=>A().some(U=>U.error?.name==="MessageAbortedError")),V=_(()=>b()?n.t("ui.messagePart.compaction"):R()?n.t("ui.message.interrupted"):""),N=_(()=>A().find(U=>U.error&&U.error.name!=="MessageAbortedError")?.error),B=_(()=>{const U=A();for(let se=U.length-1;se>=0;se--){const he=U[se];if(!he)continue;const ee=ns(t.store.part?.[he.id],o);for(let oe=ee.length-1;oe>=0;oe--){const ae=ee[oe];if(!(!ae||ae.type!=="text"||!ae.text?.trim()))return ae.id}}}),O=_(()=>{const U=N()?.data?.message;return typeof U=="string"?zl(U):U==null?"":zl(String(U))}),L=_(()=>e.status!==void 0?e.status:typeof e.active=="boolean"&&!e.active?l:t.store.session_status[e.sessionID]??l),T=_(()=>L().type!=="idle"&&x()),E=_(()=>e.showReasoningSummaries??!0),P=_(()=>T()?null:B()??null),j=_(()=>{const U=f()?.time.created;if(typeof U!="number")return;const se=A().reduce((he,ee)=>{const oe=ee.time.completed;return typeof oe!="number"?he:he===void 0?oe:Math.max(he,oe)},void 0);if(typeof se=="number"&&!(se<U))return se-U}),G=_(()=>{let U=0,se,he;const ee=E();for(const oe of A())for(const ae of ns(t.store.part?.[oe.id],o))if(jx(ae,ee)==="visible"&&(U++,se=ae.type==="text"?"text":"other"),ae.type==="reasoning"&&ae.text){const fe=Wx(ae.text);fe&&(he=fe)}return{visible:U,tail:se,reason:he}}),q=_(()=>G().visible);_(()=>G().tail);const z=_(()=>G().reason),F=_(()=>{const U=T(),se=!!N(),he=L().type,ee=E(),oe=q();return!U||se||he==="retry"?!1:ee?oe===0:!0}),Z=ld({working:T,onUserInteracted:e.onUserInteracted,overflowAnchor:"dynamic"});return(()=>{var U=zx(),se=U.firstChild,he=se.firstChild;gt(se,"scroll",Z.handleScroll);var ee=Z.scrollRef;return typeof ee=="function"?mt(ee,se):Z.scrollRef=se,gt(he,"click",Z.handleInteraction,!0),d(he,s(M,{get when(){return f()},get children(){var oe=Fx(),ae=oe.firstChild,fe=Z.contentRef;return typeof fe=="function"?mt(fe,oe):Z.contentRef=oe,d(ae,s(px,{get message(){return f()},get parts(){return v()},get actions(){return e.actions},get onLinkClick(){return e.onLinkClick},get fileFetch(){return e.fileFetch}})),d(oe,s(M,{get when(){return V()},get children(){var $e=Ix();return d($e,s(yu,{get label(){return V()}})),$e}}),null),d(oe,s(M,{get when(){return A().length>0},get children(){var $e=Lx();return d($e,s(dx,{get messages(){return A()},get showAssistantCopyPartID(){return P()},get turnDurationMs(){return j()},get working(){return T()},get showReasoningSummaries(){return E()},get shellToolDefaultOpen(){return e.shellToolDefaultOpen},get editToolDefaultOpen(){return e.editToolDefaultOpen},get onLinkClick(){return e.onLinkClick},get fileFetch(){return e.fileFetch}})),ie(()=>ue($e,"aria-hidden",T())),$e}}),null),d(oe,s(M,{get when(){return F()},get children(){var $e=Mx();return d($e,s(gn,{get text(){return n.t("ui.sessionTurn.status.thinking")}}),null),d($e,s(M,{get when(){return!E()},get children(){return s(Kd,{get text(){return z()},class:"session-turn-thinking-heading",travel:25,duration:700})}}),null),$e}}),null),d(oe,s(Dx,{get status(){return L()},get show(){return x()}}),null),d(oe,s(M,{get when(){return Ce(()=>$()>0)()&&!T()},get children(){var $e=Rx();return d($e,s(Zt,{get open(){return S()},onOpenChange:Me=>y("open",Me),variant:"ghost",get children(){return[s(Zt.Trigger,{get children(){var Me=Ex(),Q=Me.firstChild,ne=Q.firstChild,re=ne.nextSibling,H=re.firstChild,Y=re.nextSibling;return d(ne,()=>n.t("ui.sessionReview.change.modified")),d(re,$,H),d(re,()=>n.t($()===1?"ui.common.file.one":"ui.common.file.other"),null),d(Y,s(nr,{get changes(){return m()},variant:"bars"}),null),d(Y,s(Zt.Arrow,{}),null),Me}}),s(Zt.Content,{get children(){return s(M,{get when(){return S()},get children(){var Me=Px();return d(Me,s(rn,{multiple:!0,style:{"--sticky-accordion-offset":"40px"},get value(){return C()},onChange:Q=>y("expanded",Array.isArray(Q)?Q:Q?[Q]:[]),get children(){return s(ze,{get each(){return m()},children:Q=>{const ne=_(()=>C().includes(Q.file)),[re,H]=De(!1);return xe(ft(ne,Y=>{if(!Y){H(!1);return}requestAnimationFrame(()=>{ne()&&H(!0)})},{defer:!0})),s(rn.Item,{get value(){return Q.file},get children(){return[s(Ni,{get children(){return s(rn.Trigger,{get children(){var Y=Nx(),ge=Y.firstChild,te=ge.firstChild,Re=ge.nextSibling,Te=Re.firstChild,me=Te.nextSibling;return d(ge,s(M,{get when(){return Q.file.includes("/")},get children(){var tt=Ox();return d(tt,()=>`${oi(Q.file)}`),tt}}),te),d(te,()=>jt(Q.file)),d(Te,s(nr,{changes:Q})),d(me,s(Ne,{name:"chevron-down",size:"small"})),Y}})}}),s(rn.Content,{get children(){return s(M,{get when(){return re()},get children(){var Y=Bx();return d(Y,s(Kn,{component:r,mode:"diff",get before(){return{name:Q.file,contents:Q.before}},get after(){return{name:Q.file,contents:Q.after}}})),Y}})}})]}})}})}})),Me}})}})]}})),$e}}),null),d(oe,s(M,{get when(){return N()},get children(){return s(Ws,{variant:"error",class:"error-card",get children(){return O()}})}}),null),ie($e=>{var Me=f().id,Q=e.classes?.container;return Me!==$e.e&&ue(oe,"data-message",$e.e=Me),Q!==$e.t&&zt(oe,$e.t=Q),$e},{e:void 0,t:void 0}),oe}}),null),d(he,()=>e.children,null),ie(oe=>{var ae=e.classes?.root,fe=e.classes?.content;return ae!==oe.e&&zt(U,oe.e=ae),fe!==oe.t&&zt(se,oe.t=fe),oe},{e:void 0,t:void 0}),U})()}Mt(["click"]);const Gx=e=>e.deltaMode===1?e.deltaY*40:e.deltaMode===2?e.deltaY*e.rootHeight:e.deltaY,Vx=e=>{const t=e.scrollHeight-e.clientHeight;if(t<=1)return!0;if(!e.delta)return!1;if(e.delta<0)return e.scrollTop+e.delta<=0;const n=t-e.scrollTop;return e.delta>n};var Kx=k("<svg><circle cx=8 cy=8 data-slot=progress-circle-background></circle><circle cx=8 cy=8 data-slot=progress-circle-progress>");function Yx(e){const[t,n]=_t(e,["percentage","size","strokeWidth","class","classList"]),r=()=>t.size||16,i=()=>t.strokeWidth||3,a=16/2,c=()=>a-i()/2,l=_(()=>2*Math.PI*c()),u=_(()=>{const f=Math.max(0,Math.min(100,t.percentage||0))/100;return l()*(1-f)});return(()=>{var g=Kx(),f=g.firstChild,h=f.nextSibling;return Yn(g,Ke(n,{get width(){return r()},get height(){return r()},viewBox:"0 0 16 16",fill:"none","data-component":"progress-circle",get classList(){return{...t.classList??{},[t.class??""]:!!t.class}}}),!0,!0),ie(p=>{var x=c(),v=i(),b=c(),m=i(),$=l().toString(),w=u();return x!==p.e&&ue(f,"r",p.e=x),v!==p.t&&ue(f,"stroke-width",p.t=v),b!==p.a&&ue(h,"r",p.a=b),m!==p.o&&ue(h,"stroke-width",p.o=m),$!==p.i&&ue(h,"stroke-dasharray",p.i=$),w!==p.n&&ue(h,"stroke-dashoffset",p.n=w),p},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),g})()}var Xx=k('<div class="flex items-center justify-center">'),Zx=k('<div><div class="flex items-center gap-2"><span class=text-text-invert-strong></span><span class=text-text-invert-base>'),Qx=k('<div class="flex items-center gap-2"><span class=text-text-invert-strong></span><span class=text-text-invert-base>'),Jx=k('<div class="flex items-center gap-2"><span class=text-text-invert-strong>%</span><span class=text-text-invert-base>');function eb(e){e.view.reviewPanel.opened()||e.view.reviewPanel.open(),e.layout.fileTree.opened()&&e.layout.fileTree.tab()!=="all"&&e.layout.fileTree.setTab("all"),e.tabs.open("context"),e.tabs.setActive("context")}function wu(e){const t=An(),n=In(),r=rr(),i=At(),o=Go(),{params:a,tabs:c,view:l}=ir(),u=_(()=>e.variant??"button"),g=ci({tabs:c,pathFromTab:n.pathFromTab,normalizeTab:w=>w.startsWith("file://")?n.tab(w):w}),f=_(()=>a.id?t.data.message[a.id]??[]:[]),h=_(()=>new Intl.NumberFormat(i.intl(),{style:"currency",currency:"USD"})),p=_(()=>bd(f(),o.all())),x=_(()=>p().context),v=_(()=>h().format(p().totalCost)),b=()=>{if(a.id){if(g.activeTab()==="context"){c().close("context");return}eb({view:l(),layout:r,tabs:c()})}},m=()=>(()=>{var w=Xx();return d(w,s(Yx,{size:16,strokeWidth:2,get percentage(){return x()?.usage??0}})),w})(),$=()=>(()=>{var w=Zx(),y=w.firstChild,S=y.firstChild,C=S.nextSibling;return d(w,s(M,{get when(){return x()},children:A=>[(()=>{var R=Qx(),V=R.firstChild,N=V.nextSibling;return d(V,()=>A().total.toLocaleString(i.intl())),d(N,()=>i.t("context.usage.tokens")),R})(),(()=>{var R=Jx(),V=R.firstChild,N=V.firstChild,B=V.nextSibling;return d(V,()=>A().usage??0,N),d(B,()=>i.t("context.usage.usage")),R})()]}),y),d(S,v),d(C,()=>i.t("context.usage.cost")),w})();return s(M,{get when(){return a.id},get children(){return s(on,{get value(){return $()},get placement(){return e.placement??"top"},get children(){return s(Qt,{get children(){return[s(Ve,{get when(){return u()==="indicator"},get children(){return m()}}),s(Ve,{when:!0,get children(){return s(ot,{type:"button",variant:"ghost",class:"size-6",onClick:b,get"aria-label"(){return i.t("context.usage.view")},get children(){return m()}})}})]}})}})}})}const tb=(e,t,n)=>{const r=n(e,t);return rt(()=>clearInterval(r))};var nb=k('<div class="flex flex-col gap-4 pl-6 pr-2.5 pb-3"><div class="flex flex-col gap-1"><span class="text-14-regular text-text-strong"></span></div><div class="flex justify-end gap-2">'),rb=k('<div data-session-title><div class="h-12 w-full flex items-center justify-between gap-2"><div class="flex items-center gap-1 min-w-0 flex-1 pr-3">'),ib=k('<div class="w-full flex justify-center">'),sb=k('<div class="min-w-0 w-full"><div role=log data-slot=session-turn-list class="flex flex-col items-start justify-start pb-16 transition-[margin]">'),ob=k('<div class="relative w-full h-full min-w-0"><div class="absolute left-1/2 -translate-x-1/2 bottom-6 z-[60] pointer-events-none transition-all duration-200 ease-out"><button class="pointer-events-auto size-8 flex items-center justify-center rounded-full bg-background-base border border-border-base shadow-sm text-text-base hover:bg-background-stronger transition-colors">'),ab=k('<div class="relative h-full overflow-hidden">'),lb=k('<div class="flex flex-col gap-2"><div class="grid grid-cols-2 gap-2">'),cb=k('<div class="flex flex-col p-3"><div class="flex flex-col gap-1"><div class="text-13-medium text-text-strong"></div><div class="text-12-regular text-text-weak"></div></div><div class="mt-3 flex flex-col gap-2">'),db=k('<div class="shrink-0 flex items-center gap-3">'),ub=k('<div class="w-full px-4 md:px-5 pb-2"><div class="ml-auto max-w-[82%] overflow-x-auto no-scrollbar"><div class="flex w-max min-w-full justify-end gap-2">'),fb=k("<div>"),gb=k('<div class="shrink-0 max-w-[260px] rounded-[6px] border border-border-weak-base bg-background-stronger px-2.5 py-2"><div class="flex items-center gap-1.5 min-w-0 text-11-medium text-text-strong"><span class=truncate></span></div><div class="pt-1 text-12-regular text-text-strong whitespace-pre-wrap break-words">'),mb=k('<span class="shrink-0 text-text-weak">');const Ol=[],Nl={type:"idle"},hb=e=>e.flatMap(t=>{if(t.type!=="text"||!t.synthetic)return[];const n=_0(t.metadata)??T0(t.text);return n?[{path:n.path,comment:n.comment,selection:n.selection?{startLine:n.selection.startLine,endLine:n.selection.endLine}:void 0}]:[]}),pb=(e,t)=>{const r=(t instanceof Element?t:void 0)?.closest("[data-scrollable]");return!r||r===e||!(r instanceof HTMLElement)?e:r},Bl=e=>{const t=pb(e.root,e.target);if(t===e.root){e.onMarkScrollGesture(e.root);return}Vx({delta:e.delta,scrollTop:t.scrollTop,scrollHeight:t.scrollHeight,clientHeight:t.clientHeight})&&e.onMarkScrollGesture(e.root)};function vb(e){const[t,n]=et({activeSession:"",completedSession:"",count:0}),r=_(()=>{const l=e.messages().length;if(e.turnStart()<=0||t.completedSession===e.sessionKey())return l;const u=Math.min(l,e.config.init);return t.count<=u?u:t.count>=l?l:t.count}),i=_(()=>{const l=e.messages(),u=r();return u>=l.length?l:l.slice(Math.max(0,l.length-u))});let o;const a=()=>{o!==void 0&&(cancelAnimationFrame(o),o=void 0)};xe(ft(()=>[e.sessionKey(),e.turnStart()>0,e.messages().length],([l,u,g])=>{if(a(),!(u&&g>e.config.init&&t.completedSession!==l&&t.activeSession!==l)){n({activeSession:"",count:g});return}let h=Math.min(g,e.config.init);n({activeSession:l,count:h});const p=()=>{if(e.sessionKey()!==l){o=void 0;return}const x=e.messages().length;if(h=Math.min(x,h+e.config.batch),n("count",h),h>=x){n({completedSession:l,activeSession:""}),o=void 0;return}o=requestAnimationFrame(p)};o=requestAnimationFrame(p)}));const c=_(()=>{const l=e.sessionKey();return t.activeSession===l&&t.completedSession!==l});return rt(a),{messages:i,isStaging:c}}function xb(e){let t;const n=Sr(),r=Kf(),i=Jt(),o=An(),a=Vo(),c=zn(),l=At(),{params:u,sessionKey:g}=Oc(),f=Ds(),h=In(),p=rr(),x=(H,Y)=>{if(Dc(H)){Y.preventDefault();return}if(H.startsWith("wiki://")){Y.preventDefault();const Te=H.replace("wiki://","").split("/"),me=Te[0],tt=decodeURIComponent(Te.slice(1).join("/"));n(me==="issue"?`/trellis?issue=${encodeURIComponent(tt)}`:`/trellis?entity=${encodeURIComponent(`${me}:${tt}`)}`);return}Y.preventDefault();const ge=H.replace(/^(\.\/|\/)/,"");if(!ge)return;const te=h.tab(ge);h.load(ge);const Re=p.tabs(`${u.dir}${u.id?"/"+u.id:""}`);Re.open(te),Re.setActive(te)},v=async H=>{const Y=H.replace(/^(\.\/)/,"");if(Y)return await h.load(Y),h.text(Y)},b=_(()=>e.renderedUserMessages.map(H=>H.id)),m=_(()=>u.id),$=_(()=>{const H=m();return H?o.data.message[H]??Ol:Ol}),w=_(()=>$().findLast(H=>H.role==="assistant"&&typeof H.time.completed!="number")),y=_(()=>{const H=m();return H?o.data.session_status[H]??Nl:Nl}),S=_(()=>!!w()||y().type!=="idle");_(()=>Sc($(),o.data.agent));const[C,A]=De(!0),R=_(H=>S()?"showing":H==="showing"||!C()?"hiding":"hidden");xe(()=>{R()==="hiding"&&(A(!1),tb(()=>A(!0),260,setTimeout))});const V=_(()=>{const H=w()?.parentID;if(H){const ge=$(),te=Ii.search(ge,H,Te=>Te.id),Re=te.found?ge[te.index]:ge.find(Te=>Te.id===H);if(Re&&Re.role==="user")return Re.id}if(y().type!=="idle"){const ge=$();for(let te=ge.length-1;te>=0;te--)if(ge[te].role==="user")return ge[te].id}}),N=_(()=>{const H=m();if(H)return o.session.get(H)}),B=_(()=>N()?.title),O=_(()=>N()?.share?.url),L=_(()=>o.data.config.share!=="disabled"),T=_(()=>N()?.parentID),E=_(()=>!!(B()||T())),j=vb({sessionKey:g,turnStart:()=>e.turnStart,messages:()=>e.renderedUserMessages,config:{init:1,batch:3}}),[G,q]=et({draft:"",editing:!1,menuOpen:!1,pendingRename:!1,pendingShare:!1}),[z,F]=et({open:!1,dismiss:null});let Z;const U=()=>{const H=O();H&&f.openLink(H)},se=H=>{if(H&&typeof H=="object"&&"data"in H){const Y=H.data;if(Y?.message)return Y.message}return H instanceof Error?H.message:l.t("common.requestFailed")},he=gr(()=>({mutationFn:H=>r.client.session.share({sessionID:H,directory:i.directory}),onError:H=>{console.error("Failed to share session",H)}})),ee=gr(()=>({mutationFn:H=>r.client.session.unshare({sessionID:H,directory:i.directory}),onError:H=>{console.error("Failed to unshare session",H)}}));gr(()=>({mutationFn:H=>i.client.session.update({sessionID:H.id,title:H.title}),onSuccess:(H,Y)=>{o.set(gs(ge=>{const te=ge.session.findIndex(Re=>Re.id===Y.id);te!==-1&&(ge.session[te].title=Y.title)})),q("editing",!1)},onError:H=>{at({title:l.t("common.requestFailed"),description:se(H)})}}));const oe=()=>{const H=m();!H||he.isPending||L()&&he.mutate(H)},ae=()=>{const H=m();!H||ee.isPending||L()&&ee.mutate(H)};xe(ft(g,()=>q({draft:"",editing:!1,menuOpen:!1,pendingRename:!1,pendingShare:!1}),{defer:!0}));const fe=()=>{m()&&(q({editing:!0,draft:B()??""}),requestAnimationFrame(()=>{}))},$e=(H,Y,ge)=>{if(u.id===H){if(Y){n(`/${u.dir}/session/${Y}`);return}if(ge){n(`/${u.dir}/session/${ge}`);return}n(`/${u.dir}/session`)}},Me=async H=>{const Y=o.session.get(H);if(!Y)return;const ge=o.data.session??[],te=ge.findIndex(Te=>Te.id===H),Re=te===-1?void 0:ge[te+1]??ge[te-1];await i.client.session.update({sessionID:H,time:{archived:Date.now()}}).then(()=>{o.set(gs(Te=>{const me=Te.session.findIndex(tt=>tt.id===H);me!==-1&&Te.session.splice(me,1)})),$e(H,Y.parentID,Re?.id)}).catch(Te=>{at({title:l.t("common.requestFailed"),description:se(Te)})})},Q=async H=>{const Y=o.session.get(H);if(!Y)return!1;const ge=(o.data.session??[]).filter(me=>!me.parentID&&!me.time?.archived),te=ge.findIndex(me=>me.id===H),Re=te===-1?void 0:ge[te+1]??ge[te-1];return await i.client.session.delete({sessionID:H}).then(me=>me.data).catch(me=>(at({title:l.t("session.delete.failed.title"),description:se(me)}),!1))?(o.set(gs(me=>{const tt=new Set([H]),Ae=new Map;for(const Le of me.session){const ke=Le.parentID;if(!ke)continue;const Ge=Ae.get(ke);if(Ge){Ge.push(Le.id);continue}Ae.set(ke,[Le.id])}const _e=[H];for(;_e.length;){const Le=_e.pop();if(!Le)continue;const ke=Ae.get(Le);if(ke)for(const Ge of ke)tt.has(Ge)||(tt.add(Ge),_e.push(Ge))}me.session=me.session.filter(Le=>!tt.has(Le.id))})),$e(H,Y.parentID,Re?.id),!0):!1},ne=()=>{const H=T();H&&n(`/${u.dir}/session/${H}`)};function re(H){const Y=_(()=>o.session.get(H.sessionID)?.title??l.t("command.session.new")),ge=async()=>{await Q(H.sessionID),c.close()};return s(Rs,{get title(){return l.t("session.delete.title")},fit:!0,get children(){var te=nb(),Re=te.firstChild,Te=Re.firstChild,me=Re.nextSibling;return d(Te,()=>l.t("session.delete.confirm",{name:Y()})),d(me,s(ot,{variant:"ghost",size:"large",onClick:()=>c.close(),get children(){return l.t("common.cancel")}}),null),d(me,s(ot,{variant:"primary",size:"large",onClick:ge,get children(){return l.t("session.delete.button")}}),null),te}})}return s(M,{get when(){return!e.mobileChanges},get fallback(){return(()=>{var H=ab();return d(H,()=>e.mobileFallback),H})()},get children(){var H=ob(),Y=H.firstChild,ge=Y.firstChild;return gt(ge,"click",e.onResumeScroll,!0),d(ge,s(Ne,{name:"arrow-down-to-line"})),d(H,s(Hs,{get viewportRef(){return e.setScrollRef},onWheel:te=>{const Re=te.currentTarget,Te=Gx({deltaY:te.deltaY,deltaMode:te.deltaMode,rootHeight:Re.clientHeight});Te&&Bl({root:Re,target:te.target,delta:Te,onMarkScrollGesture:e.onMarkScrollGesture})},onTouchStart:te=>{t=te.touches[0]?.clientY},onTouchMove:te=>{const Re=te.touches[0]?.clientY,Te=t;if(t=Re,Re===void 0||Te===void 0)return;const me=Te-Re;if(!me)return;const tt=te.currentTarget;Bl({root:tt,target:te.target,delta:me,onMarkScrollGesture:e.onMarkScrollGesture})},onTouchEnd:()=>{t=void 0},onTouchCancel:()=>{t=void 0},onPointerDown:te=>{te.target===te.currentTarget&&e.onMarkScrollGesture(te.currentTarget)},onScroll:te=>{e.onScheduleScrollState(te.currentTarget),e.onTurnBackfillScroll(),e.hasScrollGesture()&&(e.onUserScroll(),e.onAutoScrollHandleScroll(),e.onMarkScrollGesture(te.currentTarget))},get onClick(){return e.onAutoScrollInteraction},class:"relative min-w-0 w-full h-full",get style(){return{"--session-title-height":E()?"40px":"0px","--sticky-accordion-top":E()?"48px":"0px"}},get children(){var te=sb(),Re=te.firstChild,Te=e.setContentRef;return typeof Te=="function"?mt(Te,te):e.setContentRef=te,d(te,s(M,{get when(){return E()},get children(){var me=rb(),tt=me.firstChild,Ae=tt.firstChild;return d(Ae,s(M,{get when(){return T()},get children(){return s(pt,{tabIndex:-1,icon:"arrow-left",variant:"ghost",onClick:ne,get"aria-label"(){return l.t("common.goBack")}})}})),d(tt,s(M,{get when(){return m()},children:_e=>(()=>{var Le=db();return d(Le,s(wu,{placement:"bottom"}),null),d(Le,s(ht,{gutter:4,placement:"bottom-end",get open(){return G.menuOpen},onOpenChange:ke=>{q("menuOpen",ke)},get children(){return[s(ht.Trigger,{as:pt,icon:"dot-grid",variant:"ghost",class:"size-6 rounded-md data-[expanded]:bg-surface-base-active",get classList(){return{"bg-surface-base-active":z.open||G.pendingShare}},get"aria-label"(){return l.t("common.moreOptions")},get"aria-expanded"(){return G.menuOpen||z.open||G.pendingShare},ref:ke=>{Z=ke}}),s(ht.Portal,{get children(){return s(ht.Content,{style:{"min-width":"104px"},onCloseAutoFocus:ke=>{if(G.pendingRename){ke.preventDefault(),q("pendingRename",!1),fe();return}G.pendingShare&&(ke.preventDefault(),requestAnimationFrame(()=>{F({open:!0,dismiss:null}),q("pendingShare",!1)}))},get children(){return[s(ht.Item,{onSelect:()=>{q("pendingRename",!0),q("menuOpen",!1)},get children(){return s(ht.ItemLabel,{get children(){return l.t("common.rename")}})}}),s(M,{get when(){return L()},get children(){return s(ht.Item,{onSelect:()=>{q({pendingShare:!0,menuOpen:!1})},get children(){return s(ht.ItemLabel,{get children(){return l.t("session.share.action.share")}})}})}}),s(ht.Item,{onSelect:()=>void Me(_e()),get children(){return s(ht.ItemLabel,{get children(){return l.t("common.archive")}})}}),s(ht.Separator,{}),s(ht.Item,{onSelect:()=>c.show(()=>s(re,{get sessionID(){return _e()}})),get children(){return s(ht.ItemLabel,{get children(){return l.t("common.delete")}})}})]}})}})]}}),null),d(Le,s(Cr,{get open(){return z.open},anchorRef:()=>Z,placement:"bottom-end",gutter:4,modal:!1,onOpenChange:ke=>{ke&&F("dismiss",null),F("open",ke)},get children(){return s(Cr.Portal,{get children(){return s(Cr.Content,{"data-component":"popover-content",style:{"min-width":"320px"},onEscapeKeyDown:ke=>{F({dismiss:"escape",open:!1}),ke.preventDefault(),ke.stopPropagation()},onPointerDownOutside:()=>{F({dismiss:"outside",open:!1})},onFocusOutside:()=>{F({dismiss:"outside",open:!1})},onCloseAutoFocus:ke=>{z.dismiss==="outside"&&ke.preventDefault(),F("dismiss",null)},get children(){var ke=cb(),Ge=ke.firstChild,vt=Ge.firstChild,Rt=vt.nextSibling,Pt=Ge.nextSibling;return d(vt,()=>l.t("session.share.popover.title")),d(Rt,(()=>{var St=Ce(()=>!!O());return()=>St()?l.t("session.share.popover.description.shared"):l.t("session.share.popover.description.unshared")})()),d(Pt,s(M,{get when(){return O()},get fallback(){return s(ot,{size:"large",variant:"primary",class:"w-full",onClick:oe,get disabled(){return he.isPending},get children(){return Ce(()=>!!he.isPending)()?l.t("session.share.action.publishing"):l.t("session.share.action.publish")}})},get children(){var St=lb(),Tt=St.firstChild;return d(St,s(Xo,{get value(){return O()??""},readOnly:!0,copyable:!0,copyKind:"link",tabIndex:-1,class:"w-full"}),Tt),d(Tt,s(ot,{size:"large",variant:"secondary",class:"w-full shadow-none border border-border-weak-base",onClick:ae,get disabled(){return ee.isPending},get children(){return Ce(()=>!!ee.isPending)()?l.t("session.share.action.unpublishing"):l.t("session.share.action.unpublish")}}),null),d(Tt,s(ot,{size:"large",variant:"primary",class:"w-full",onClick:U,get disabled(){return ee.isPending},get children(){return l.t("session.share.action.view")}}),null),St}})),ke}})}})}}),null),Le})()}),null),ie(_e=>bt(me,{"sticky top-0 z-30 bg-[linear-gradient(to_bottom,var(--background-stronger)_48px,transparent)]":!0,"w-full":!0,"pb-4":!0,"pl-2 pr-3 md:pl-4 md:pr-3":!0,"md:max-w-200 md:mx-auto 2xl:max-w-[1000px]":e.centered},_e)),me}}),Re),d(Re,s(M,{get when(){return e.turnStart>0||e.historyMore},get children(){var me=ib();return d(me,s(ot,{variant:"ghost",size:"large",class:"text-12-medium opacity-50",get disabled(){return e.historyLoading},get onClick(){return e.onLoadEarlier},get children(){return Ce(()=>!!e.historyLoading)()?l.t("session.messages.loadingEarlier"):l.t("session.messages.loadEarlier")}})),me}}),null),d(Re,s(ze,{get each(){return b()},children:me=>{const tt=_(()=>V()===me),Ae=_(()=>hb(o.data.part[me]??[]),[],{equals:(Le,ke)=>Le.length===ke.length&&Le.every((Ge,vt)=>Ge.path===ke[vt].path&&Ge.comment===ke[vt].comment&&Ge.selection?.startLine===ke[vt].selection?.startLine&&Ge.selection?.endLine===ke[vt].selection?.endLine)}),_e=_(()=>Ae().length);return(()=>{var Le=fb();return mt(ke=>{requestAnimationFrame(()=>ei(ke,{opacity:[0,1],y:[16,0]},{type:"spring",stiffness:400,damping:30}))},Le),ue(Le,"data-message-id",me),d(Le,s(M,{get when(){return _e()>0},get children(){var ke=ub(),Ge=ke.firstChild,vt=Ge.firstChild;return d(vt,s(Tr,{get each(){return Ae()},children:Rt=>{const Pt=_(()=>Rt());return s(M,{get when(){return Pt()},children:St=>(()=>{var Tt=gb(),Ut=Tt.firstChild,ye=Ut.firstChild,Ze=Ut.nextSibling;return d(Ut,s(Sn,{get node(){return{path:St().path,type:"file"}},class:"size-3.5 shrink-0"}),ye),d(ye,()=>jt(St().path)),d(Ut,s(M,{get when(){return St().selection},children:Pe=>(()=>{var Be=mb();return d(Be,(()=>{var Ft=Ce(()=>Pe().startLine===Pe().endLine);return()=>Ft()?`:${Pe().startLine}`:`:${Pe().startLine}-${Pe().endLine}`})()),Be})()}),null),d(Ze,()=>St().comment),Tt})()})}})),ke}}),null),d(Le,s(Ux,{get sessionID(){return m()??""},messageID:me,get messages(){return $()},get actions(){return e.actions},get active(){return tt()},get status(){return Ce(()=>!!tt())()?y():void 0},get showReasoningSummaries(){return a.general.showReasoningSummaries()},get shellToolDefaultOpen(){return a.general.shellToolPartsExpanded()},get editToolDefaultOpen(){return a.general.editToolPartsExpanded()},onLinkClick:x,fileFetch:v,classes:{root:"min-w-0 w-full relative",content:"flex flex-col justify-between !overflow-visible",container:"w-full px-4 md:px-5"}}),null),ie(ke=>{var Ge=e.anchor(me),vt={"min-w-0 w-full max-w-full":!0,"md:max-w-200 2xl:max-w-[1000px]":e.centered};return Ge!==ke.e&&ue(Le,"id",ke.e=Ge),ke.t=bt(Le,vt,ke.t),ke},{e:void 0,t:void 0}),Le})()}}),null),ie(me=>bt(Re,{"w-full":!0,"md:max-w-200 md:mx-auto 2xl:max-w-[1000px]":e.centered,"mt-0.5":e.centered,"mt-0":!e.centered},me)),te}}),null),ie(te=>bt(Y,{"opacity-100 translate-y-0 scale-100":e.scroll.overflow&&!e.scroll.bottom&&!j.isStaging(),"opacity-0 translate-y-2 scale-95 pointer-events-none":!e.scroll.overflow||e.scroll.bottom||j.isStaging()},te)),H}})}Mt(["click"]);var bb={};Uo(bb,{Description:()=>zs,ErrorMessage:()=>Fs,Item:()=>Cu,ItemControl:()=>ga,ItemDescription:()=>ma,ItemIndicator:()=>ha,ItemInput:()=>_u,ItemLabel:()=>pa,Label:()=>va,RadioGroup:()=>Gs,Root:()=>Su,useRadioGroupContext:()=>Us});var $u=si();function Us(){const e=ii($u);if(e===void 0)throw new Error("[kobalte]: `useRadioGroupContext` must be used within a `RadioGroup` component");return e}var ku=si();function ui(){const e=ii(ku);if(e===void 0)throw new Error("[kobalte]: `useRadioGroupItemContext` must be used within a `RadioGroup.Item` component");return e}function Cu(e){const t=zi(),n=Us(),r=`${t.generateId("item")}-${Fi()}`,i=bn({id:r},e),[o,a]=_t(i,["value","disabled","onPointerDown"]),[c,l]=De(),[u,g]=De(),[f,h]=De(),[p,x]=De(),[v,b]=De(!1),m=_(()=>n.isDefaultValue(o.value)),$=_(()=>n.isSelectedValue(o.value)),w=_(()=>o.disabled||t.isDisabled()||!1),y=A=>{Tn(A,o.onPointerDown),v()&&A.preventDefault()},S=_(()=>({...t.dataset(),"data-disabled":w()?"":void 0,"data-checked":$()?"":void 0})),C={value:()=>o.value,dataset:S,isDefault:m,isSelected:$,isDisabled:w,inputId:c,labelId:u,descriptionId:f,inputRef:p,select:()=>n.setSelectedValue(o.value),generateId:Ls(()=>a.id),registerInput:Si(l),registerLabel:Si(g),registerDescription:Si(h),setIsFocused:b,setInputRef:x};return s(ku.Provider,{value:C,get children(){return s(Dn,Ke({as:"div",role:"group",onPointerDown:y},S,a))}})}function ga(e){const t=ui(),n=bn({id:t.generateId("control")},e),[r,i]=_t(n,["onClick","onKeyDown"]);return s(Dn,Ke({as:"div",onClick:c=>{Tn(c,r.onClick),t.select(),t.inputRef()?.focus()},onKeyDown:c=>{Tn(c,r.onKeyDown),c.key===zc.Space&&(t.select(),t.inputRef()?.focus())}},()=>t.dataset(),i))}function ma(e){const t=ui(),n=bn({id:t.generateId("description")},e);return xe(()=>rt(t.registerDescription(n.id))),s(Dn,Ke({as:"div"},()=>t.dataset(),n))}function ha(e){const t=ui(),n=bn({id:t.generateId("indicator")},e),[r,i]=_t(n,["ref","forceMount"]),[o,a]=De(),{present:c}=Fc({show:()=>r.forceMount||t.isSelected(),element:()=>o()??null});return s(M,{get when(){return c()},get children(){return s(Dn,Ke({as:"div",ref(l){var u=Xn(a,r.ref);typeof u=="function"&&u(l)}},()=>t.dataset(),i))}})}function _u(e){const t=zi(),n=Us(),r=ui(),i=bn({id:r.generateId("input")},e),[o,a]=_t(i,["ref","style","aria-labelledby","aria-describedby","onChange","onFocus","onBlur"]),c=()=>[o["aria-labelledby"],r.labelId(),o["aria-labelledby"]!=null&&a["aria-label"]!=null?a.id:void 0].filter(Boolean).join(" ")||void 0,l=()=>[o["aria-describedby"],r.descriptionId(),n.ariaDescribedBy()].filter(Boolean).join(" ")||void 0,[u,g]=De(!1),f=x=>{if(Tn(x,o.onChange),x.stopPropagation(),!u()){n.setSelectedValue(r.value());const v=x.target;v.checked=r.isSelected()}g(!1)},h=x=>{Tn(x,o.onFocus),r.setIsFocused(!0)},p=x=>{Tn(x,o.onBlur),r.setIsFocused(!1)};return xe(ft([()=>r.isSelected(),()=>r.value()],x=>{if(!x[0]&&x[1]===r.value())return;g(!0);const v=r.inputRef();v?.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0})),v?.dispatchEvent(new Event("change",{bubbles:!0,cancelable:!0}))},{defer:!0})),xe(()=>rt(r.registerInput(a.id))),s(Dn,Ke({as:"input",ref(x){var v=Xn(r.setInputRef,o.ref);typeof v=="function"&&v(x)},type:"radio",get name(){return t.name()},get value(){return r.value()},get checked(){return r.isSelected()},get required(){return t.isRequired()},get disabled(){return r.isDisabled()},get readonly(){return t.isReadOnly()},get style(){return Is({...Rc},o.style)},get"aria-labelledby"(){return c()},get"aria-describedby"(){return l()},onChange:f,onFocus:h,onBlur:p},()=>r.dataset(),a))}function pa(e){const t=ui(),n=bn({id:t.generateId("label")},e);return xe(()=>rt(t.registerLabel(n.id))),s(Dn,Ke({as:"label",get for(){return t.inputId()}},()=>t.dataset(),n))}function va(e){return s(Pc,Ke({as:"span"},e))}function Su(e){let t;const n=`radiogroup-${Fi()}`,r=bn({id:n,orientation:"vertical"},e),[i,o,a]=_t(r,["ref","value","defaultValue","onChange","orientation","aria-labelledby","aria-describedby"],Lc),[c,l]=Yf({value:()=>i.value,defaultValue:()=>i.defaultValue,onChange:b=>i.onChange?.(b)}),{formControlContext:u}=Mc(o);Yo(()=>t,()=>l(i.defaultValue??""));const g=()=>u.getAriaLabelledBy(ms(o.id),a["aria-label"],i["aria-labelledby"]),f=()=>u.getAriaDescribedBy(i["aria-describedby"]),h=b=>b===e.defaultValue,p=b=>b===c(),v={ariaDescribedBy:f,isDefaultValue:h,isSelectedValue:p,setSelectedValue:b=>{if(!(u.isReadOnly()||u.isDisabled())&&(l(b),t))for(const m of t.querySelectorAll("[type='radio']")){const $=m;$.checked=p($.value)}}};return s(Ec.Provider,{value:u,get children(){return s($u.Provider,{value:v,get children(){return s(Dn,Ke({as:"div",ref(b){var m=Xn($=>t=$,i.ref);typeof m=="function"&&m(b)},role:"radiogroup",get id(){return ms(o.id)},get"aria-invalid"(){return u.validationState()==="invalid"||void 0},get"aria-required"(){return u.isRequired()||void 0},get"aria-disabled"(){return u.isDisabled()||void 0},get"aria-readonly"(){return u.isReadOnly()||void 0},get"aria-orientation"(){return i.orientation},get"aria-labelledby"(){return g()},get"aria-describedby"(){return f()}},()=>u.dataset(),a))}})}})}var Gs=Object.assign(Su,{Description:zs,ErrorMessage:Fs,Item:Cu,ItemControl:ga,ItemDescription:ma,ItemIndicator:ha,ItemInput:_u,ItemLabel:pa,Label:va}),Tu=si();function Au(){const e=ii(Tu);if(e===void 0)throw new Error("[kobalte]: `useSegmentedControlContext` must be used within a `SegmentedControl` component");return e}function yb(e){const t=Au(),[n,r]=_t(e,["style"]),[i,o]=De(),[a,c]=De(!1),l=()=>{const g=t.selectedItem();if(!g){o(void 0);return}o({width:`${g.offsetWidth}px`,height:`${g.offsetHeight}px`,transform:u(g),"transition-duration":a()?"0ms":void 0})},u=g=>{const f=getComputedStyle(g.parentElement),h=g.offsetLeft-Number.parseFloat(f.paddingLeft),p=g.offsetTop-Number.parseFloat(f.paddingTop);return`translate(${h}px, ${p}px)`};return xe(ft(t.selectedItem,()=>{c(!i()),l(),c(!1)})),ws(t.root,()=>{sn(()=>{c(!0),l(),c(!1)})}),s(Dn,Ke({as:"div",role:"presentation",get style(){return Is(i(),n.style)},get"data-resizing"(){return a()},get"data-orientation"(){return t.orientation()}},r))}var wb=e=>{const t=Us(),n=Au(),[r,i]=_t(e,["ref"]),[o,a]=De();return xe(()=>{const c=o();c&&t.isSelectedValue(e.value)&&n.setSelectedItem(c)}),s(Gs.Item,Ke({ref(c){var l=Xn(a,r.ref);typeof l=="function"&&l(c)}},i))},$b=e=>{const t=ui(),[n,r]=_t(e,["ref"]),[i,o]=De();return Yo(i,()=>{requestAnimationFrame(()=>{t.isDefault()&&t.select()})}),s(Gs.ItemInput,Ke({ref(a){var c=Xn(o,n.ref);typeof c=="function"&&c(a)}},r))},kb=e=>{const t=Ke({defaultValue:e.value,orientation:"horizontal"},e),[n,r]=_t(t,["ref"]),[i,o]=De(),[a,c]=De(),l={value:()=>r.value,defaultValue:()=>r.defaultValue,orientation:()=>r.orientation,root:i,selectedItem:a,setSelectedItem:c};return xe(()=>{l.value()||c(void 0)}),s(Tu.Provider,{value:l,get children(){return s(Gs,Ke({ref(u){var g=Xn(o,n.ref);typeof g=="function"&&g(u)}},r))}})},xi=Object.assign(kb,{Description:zs,ErrorMessage:Fs,Indicator:yb,Item:wb,ItemControl:ga,ItemDescription:ma,ItemIndicator:ha,ItemInput:$b,ItemLabel:pa,Label:va}),Cb=k("<div role=presentation data-slot=radio-group-wrapper><div role=presentation data-slot=radio-group-items>"),_b=k("<span data-slot=radio-group-item-control>");function Sb(e){const[t,n]=_t(e,["class","classList","options","current","defaultValue","value","label","onSelect","size","fill","pad"]),r=a=>t.value?t.value(a):String(a),i=a=>t.label?t.label(a):String(a),o=a=>t.options.find(c=>r(c)===a);return s(xi,Ke(n,{"data-component":"radio-group",get"data-size"(){return t.size??"medium"},get"data-fill"(){return t.fill?"":void 0},get"data-pad"(){return t.pad??"normal"},get classList(){return{...t.classList??{},[t.class??""]:!!t.class}},get value(){return Ce(()=>!!t.current)()?r(t.current):void 0},get defaultValue(){return Ce(()=>!!t.defaultValue)()?r(t.defaultValue):void 0},onChange:a=>t.onSelect?.(o(a)),get children(){var a=Cb(),c=a.firstChild;return d(a,s(xi.Indicator,{"data-slot":"radio-group-indicator"}),c),d(c,s(ze,{get each(){return t.options},children:l=>s(xi.Item,{get value(){return r(l)},"data-slot":"radio-group-item",get"data-value"(){return r(l)},get children(){return[s(xi.ItemInput,{"data-slot":"radio-group-item-input"}),s(xi.ItemLabel,{"data-slot":"radio-group-item-label",get children(){var u=_b();return d(u,()=>i(l)),u}})]}})})),a}}))}function Tb(e){if(typeof document>"u")return;const t=document.createElement("button");t.type="button",t.ariaLabel=e.label,t.textContent="+",t.style.width="20px",t.style.height="20px",t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="center",t.style.border="none",t.style.borderRadius="var(--radius-md)",t.style.background="var(--icon-interactive-base)",t.style.color="var(--white)",t.style.boxShadow="var(--shadow-xs)",t.style.fontSize="14px",t.style.lineHeight="1",t.style.cursor="pointer",t.style.position="relative",t.style.left="30px",t.style.top="calc((var(--diffs-line-height, 24px) - 20px) / 2)";let n;const r=()=>{const a=e.getHoveredLine();a&&(n=a)},i=()=>{t.isConnected&&(r(),requestAnimationFrame(i))},o=()=>{const a=e.getHoveredLine()??n;a&&e.onSelect(a)};return requestAnimationFrame(i),t.addEventListener("mouseenter",r),t.addEventListener("mousemove",r),t.addEventListener("pointerdown",a=>{a.preventDefault(),a.stopPropagation(),r()}),t.addEventListener("mousedown",a=>{a.preventDefault(),a.stopPropagation(),r()}),t.addEventListener("click",a=>{a.preventDefault(),a.stopPropagation(),o()}),t}var Ab=k('<svg><path d="M16.25 3.75H3.75V16.25L6.875 14.4643H16.25V3.75Z"stroke=currentColor stroke-linecap=square></svg>',!1,!0,!1),Db=k('<svg data-slot=line-comment-icon viewBox="0 0 20 20"fill=none aria-hidden=true>'),Ib=k('<svg><path d="M10 5.41699V10.0003M10 10.0003V14.5837M10 10.0003H5.4165M10 10.0003H14.5832"stroke=currentColor stroke-linecap=square></svg>',!1,!0,!1),Lb=k("<div data-slot=line-comment-popover data-inline-body>"),Mb=k("<div data-component=line-comment data-prevent-autofocus>"),Eb=k("<button type=button data-slot=line-comment-button>"),Pb=k("<div data-slot=line-comment-popover>"),Rb=k("<div data-slot=line-comment-tools>"),Fb=k("<div data-slot=line-comment-content><div data-slot=line-comment-head><div data-slot=line-comment-text></div></div><div data-slot=line-comment-label>"),zb=k("<div data-slot=line-comment-editor><textarea data-slot=line-comment-textarea></textarea><div data-slot=line-comment-actions><div data-slot=line-comment-editor-label>"),Ob=k("<button type=button data-slot=line-comment-action data-variant=ghost>"),Nb=k("<button type=button data-slot=line-comment-action data-variant=primary>");Xf();function Bb(e){return(()=>{var t=Db();return d(t,s(M,{get when(){return e.icon==="comment"},get fallback(){return Ib()},get children(){return Ab()}})),t})()}const Du=e=>{const t=()=>!e.inline&&e.top===void 0,n=()=>e.variant??"default",r=()=>e.icon??"comment",i=()=>e.inline&&e.hideButton;return(()=>{var o=Mb();return d(o,s(M,{get when(){return i()},get fallback(){return[(()=>{var a=Eb();return gt(a,"mouseenter",e.onMouseEnter),gt(a,"click",e.onClick),gt(a,"mouseup",c=>c.stopPropagation()),gt(a,"mousedown",c=>c.stopPropagation()),d(a,s(M,{get when(){return e.inline},get fallback(){return s(Ne,{get name(){return r()==="plus"?"plus-small":"comment"},size:"small"})},get children(){return s(Bb,{get icon(){return r()}})}})),ie(()=>ue(a,"aria-label",e.buttonLabel)),a})(),s(M,{get when(){return e.open},get children(){var a=Pb();return gt(a,"focusout",e.onPopoverFocusOut),gt(a,"mousedown",c=>c.stopPropagation()),d(a,()=>e.children),ie(c=>bt(a,{[e.popoverClass??""]:!!e.popoverClass},c)),a}})]},get children(){var a=Lb();return gt(a,"focusout",e.onPopoverFocusOut),gt(a,"mouseenter",e.onMouseEnter),gt(a,"click",e.onClick),gt(a,"mousedown",c=>c.stopPropagation()),d(a,()=>e.children),ie(c=>bt(a,{[e.popoverClass??""]:!!e.popoverClass},c)),a}})),ie(a=>{var c=n(),l=e.id,u=e.open?"":void 0,g=e.inline?"":void 0,f={[e.class??""]:!!e.class},h=e.inline?void 0:{top:`${e.top??0}px`,opacity:t()?0:1,"pointer-events":t()?"none":"auto"};return c!==a.e&&ue(o,"data-variant",a.e=c),l!==a.t&&ue(o,"data-comment-id",a.t=l),u!==a.a&&ue(o,"data-open",a.a=u),g!==a.o&&ue(o,"data-inline",a.o=g),a.i=bt(o,f,a.i),a.n=tr(o,h,a.n),a},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),o})()},qb=e=>{const t=Et(),[n,r]=_t(e,["comment","selection","actions"]);return s(Du,Ke(r,{variant:"default",get hideButton(){return e.inline},get children(){var i=Fb(),o=i.firstChild,a=o.firstChild,c=o.nextSibling;return d(a,()=>n.comment),d(o,s(M,{get when(){return n.actions},get children(){var l=Rb();return d(l,()=>n.actions),l}}),null),d(c,()=>t.t("ui.lineComment.label.prefix"),null),d(c,()=>n.selection,null),d(c,()=>t.t("ui.lineComment.label.suffix"),null),i}}))},ql=e=>{const t=Et(),[n,r]=_t(e,["value","selection","onInput","onCancel","onSubmit","placeholder","rows","autofocus","cancelLabel","submitLabel"]),i={textarea:void 0},[o,a]=De(n.value),c=()=>i.textarea?.focus(),l=f=>{f.preventDefault(),f.stopPropagation()},u=f=>h=>{h.stopPropagation(),f()};xe(()=>{a(n.value)});const g=()=>{const f=o().trim();f&&n.onSubmit(f)};return Xt(()=>{n.autofocus!==!1&&requestAnimationFrame(c)}),s(Du,Ke(r,{open:!0,variant:"editor",get hideButton(){return e.inline},onClick:()=>c(),get children(){var f=zb(),h=f.firstChild,p=h.nextSibling,x=p.firstChild;return gt(h,"keydown",v=>{const b=v;if(!(b.isComposing||b.keyCode===229)){if(b.stopPropagation(),v.key==="Escape"){b.preventDefault(),v.currentTarget.blur(),n.onCancel();return}v.key==="Enter"&&(v.shiftKey||(b.preventDefault(),g()))}}),gt(h,"input",v=>{const b=v.currentTarget.value;a(b),n.onInput(b)}),mt(v=>{i.textarea=v},h),d(x,()=>t.t("ui.lineComment.editorLabel.prefix"),null),d(x,()=>n.selection,null),d(x,()=>t.t("ui.lineComment.editorLabel.suffix"),null),d(p,s(M,{get when(){return!e.inline},get fallback(){return[(()=>{var v=Ob();return gt(v,"click",u(n.onCancel)),gt(v,"mousedown",l),d(v,()=>n.cancelLabel??t.t("ui.common.cancel")),v})(),(()=>{var v=Nb();return gt(v,"click",u(g)),gt(v,"mousedown",l),d(v,()=>n.submitLabel??t.t("ui.lineComment.submit")),ie(()=>v.disabled=o().trim().length===0),v})()]},get children(){return[s(ot,{size:"small",variant:"ghost",get onClick(){return n.onCancel},get children(){return n.cancelLabel??t.t("ui.common.cancel")}}),s(ot,{size:"small",variant:"primary",get disabled(){return o().trim().length===0},onClick:g,get children(){return n.submitLabel??t.t("ui.lineComment.submit")}})]}}),null),ie(v=>{var b=n.rows??3,m=n.placeholder??t.t("ui.lineComment.placeholder");return b!==v.e&&ue(h,"rows",v.e=b),m!==v.t&&ue(h,"placeholder",v.t=m),v},{e:void 0,t:void 0}),ie(()=>h.value=o()),f}}))};function Hb(e){const t=new Map,n=a=>{if(typeof document>"u")return;const c=document.createElement("div");c.setAttribute("data-prevent-autofocus","");const[l,u]=De(a),g=Zf(()=>{const h=l();if(h.kind==="comment"){const x=_(()=>{const v=l();return v.kind!=="comment"?e.renderComment(h.comment):e.renderComment(v.comment)});return s(M,{get when(){return x().editor},get fallback(){return s(qb,{inline:!0,get id(){return x().id},get open(){return x().open},get comment(){return x().comment},get selection(){return x().selection},get actions(){return x().actions},get onClick(){return x().onClick},get onMouseEnter(){return x().onMouseEnter}})},get children(){return s(ql,{inline:!0,get id(){return x().id},get value(){return x().editor.value},get selection(){return x().editor.selection},get onInput(){return x().editor.onInput},get onCancel(){return x().editor.onCancel},get onSubmit(){return x().editor.onSubmit},get onPopoverFocusOut(){return x().editor.onPopoverFocusOut},get cancelLabel(){return x().editor.cancelLabel},get submitLabel(){return x().editor.submitLabel}})}})}const p=_(()=>{const x=l();return x.kind!=="draft"?e.renderDraft(h.range):e.renderDraft(x.range)});return s(ql,{inline:!0,get value(){return p().value},get selection(){return p().selection},get onInput(){return p().onInput},get onCancel(){return p().onCancel},get onSubmit(){return p().onSubmit},get onPopoverFocusOut(){return p().onPopoverFocusOut}})},c),f={host:c,dispose:g,setMeta:u};return t.set(a.key,f),f};return{render:a=>{const c=a.metadata,l=t.get(c.key)??n(c);if(l)return l.setMeta(c),l.host},reconcile:a=>{const c=new Set(a.map(l=>l.metadata.key));for(const[l,u]of t)c.has(l)||(u.dispose(),t.delete(l))},cleanup:()=>{for(const[,a]of t)a.dispose();t.clear()}}}function jb(e){const[t,n]=et({draft:"",editing:null}),r=()=>t.draft,i=w=>n("draft",w),o=()=>t.editing,a=w=>n("editing",typeof w=="function"?()=>w:w),c=w=>w?ti(w):null,l=w=>{const y=c(w);return e.setSelected(y),e.syncSelected?.(c(y)),y},u=w=>{const y=c(w);return e.setCommenting(y),y},g=()=>{e.setOpened(null)},f=()=>{i(""),a(null),u(null)},h=()=>{i(""),a(null),e.setOpened(null),e.setSelected(null),e.setCommenting(null)},p=(w,y,S)=>{S?.cancelDraft&&f(),e.setOpened(w),l(y)},x=(w,y,S)=>{S?.cancelDraft&&f();const C=e.opened()===w?null:w;e.setOpened(C),l(y)},v=w=>{const y=c(w);i(""),a(null),g(),l(y),u(y)},b=(w,y,S)=>{g(),l(y),e.setCommenting(null),a(w),i(S)},m=w=>{const y=c(w);if(y){if(e.hoverSelected){e.hoverSelected(y);return}l(y)}},$=w=>{g(),l(w),f()};return xe(()=>{e.commenting(),i("")}),{draft:r,setDraft:i,editing:o,opened:e.opened,selected:e.selected,commenting:e.commenting,isOpen:w=>e.opened()===w,isEditing:w=>o()===w,closeComment:g,openComment:p,toggleComment:x,openDraft:v,openEditor:b,hoverComment:m,cancelDraft:f,finishSelection:$,select:l,reset:h}}function Iu(e){const t=Et(),n=jb(e.state),r="getSide"in e?Hl({comments:e.comments,getCommentId:u=>u.id,getCommentSelection:u=>u.selection,draftRange:n.commenting,draftKey:e.draftKey,getSide:e.getSide}):Hl({comments:e.comments,getCommentId:u=>u.id,getCommentSelection:u=>u.selection,draftRange:n.commenting,draftKey:e.draftKey}),{renderAnnotation:i}=Wb({annotations:r,renderComment:u=>{const g=()=>n.openEditor(u.id,u.selection,u.comment),f=()=>{n.reset(),e.onDelete?.(u)};return{id:u.id,get open(){return n.isOpen(u.id)||n.isEditing(u.id)},comment:u.comment,selection:to(u.selection,t.t),get actions(){return e.renderCommentActions?.(u,{edit:g,remove:f})},get editor(){return n.isEditing(u.id)?{get value(){return n.draft()},selection:to(u.selection,t.t),onInput:n.setDraft,onCancel:n.cancelDraft,onSubmit:h=>{e.onUpdate?.({id:u.id,comment:h,selection:ti(u.selection)}),n.cancelDraft()},submitLabel:e.editSubmitLabel}:void 0},onMouseEnter:()=>n.hoverComment(u.selection),onClick:()=>{n.isEditing(u.id)||n.toggleComment(u.id,u.selection,{cancelDraft:e.cancelDraftOnCommentToggle})}}},renderDraft:u=>({get value(){return n.draft()},selection:to(u,t.t),onInput:n.setDraft,onCancel:n.cancelDraft,onSubmit:g=>{e.onSubmit({comment:g,selection:ti(u)}),n.cancelDraft()},onPopoverFocusOut:e.onDraftPopoverFocusOut})}),o=Ub({label:e.label,getSelectedRange:()=>n.opened()?null:e.getHoverSelectedRange?.()??n.selected(),onOpenDraft:n.openDraft});return{note:n,annotations:r,renderAnnotation:i,renderHoverUtility:o,onLineSelected:u=>{if(!u){n.select(null),n.cancelDraft();return}n.select(u)},onLineSelectionEnd:u=>{if(!u){e.clearSelectionOnSelectionEndNull&&n.select(null),n.cancelDraft();return}n.finishSelection(u)},onLineNumberSelectionEnd:u=>{u&&n.openDraft(u)}}}function Hl(e){const t=n=>Math.max(n.start,n.end);return"getSide"in e?_(()=>{const n=e.comments().map(i=>{const o=e.getCommentSelection(i);return{side:e.getSide(o),lineNumber:t(o),metadata:{kind:"comment",key:`comment:${e.getCommentId(i)}`,comment:i}}}),r=e.draftRange();return r?[...n,{side:e.getSide(r),lineNumber:t(r),metadata:{kind:"draft",key:`draft:${e.draftKey()}`,range:r}}]:n}):_(()=>{const n=e.comments().map(o=>{const a=e.getCommentSelection(o);return{lineNumber:t(a),metadata:{kind:"comment",key:`comment:${e.getCommentId(o)}`,comment:o}}}),r=e.draftRange();if(!r)return n;const i={lineNumber:t(r),metadata:{kind:"draft",key:`draft:${e.draftKey()}`,range:r}};return[...n,i]})}function Wb(e){const t=Hb({renderComment:e.renderComment,renderDraft:e.renderDraft});return xe(()=>{t.reconcile(e.annotations())}),rt(()=>{t.cleanup()}),{renderAnnotation:t.render}}function Ub(e){return t=>Tb({label:e.label,getHoveredLine:t,onSelect:n=>{const r=e.getSelectedRange();if(r&&Qf(r,n.lineNumber,n.side)){e.onOpenDraft(ti(r));return}const i={start:n.lineNumber,end:n.lineNumber};n.side&&(i.side=n.side),e.onOpenDraft(i)}})}var Gb=k("<div>"),Vb=k("<div class=h-4 aria-hidden=true>"),Kb=k("<div class=pb-6>"),Yb=k("<div data-slot=session-review-container>"),Xb=k("<div data-component=session-review><div data-slot=session-review-header><div data-slot=session-review-title></div><div data-slot=session-review-actions>"),Zb=k("<span data-slot=session-review-directory>"),Qb=k("<button data-slot=session-review-view-button type=button>"),Jb=k("<div data-slot=session-review-change-group data-type=added><span data-slot=session-review-change data-type=added>"),ey=k("<span data-slot=session-review-change data-type=removed>"),ty=k("<span data-slot=session-review-change data-type=modified>"),ny=k("<div data-slot=session-review-trigger-content><div data-slot=session-review-file-info><div data-slot=session-review-file-name-container><span data-slot=session-review-filename></span></div></div><div data-slot=session-review-trigger-actions><span data-slot=session-review-diff-chevron>"),ry=k("<div data-slot=session-review-large-diff><div data-slot=session-review-large-diff-title></div><div data-slot=session-review-large-diff-meta></div><div data-slot=session-review-large-diff-actions>"),iy=k("<div data-slot=session-review-diff-wrapper>");const jl=500;function sy(e){return(()=>{var t=Gb();return t.$$click=n=>n.stopPropagation(),t.$$mousedown=n=>n.stopPropagation(),d(t,s(ht,{gutter:4,placement:"bottom-end",get children(){return[s(ht.Trigger,{as:pt,icon:"dot-grid",variant:"ghost",size:"small",class:"size-6 rounded-md",get"aria-label"(){return e.labels.moreLabel}}),s(ht.Portal,{get children(){return s(ht.Content,{get children(){return[s(ht.Item,{get onSelect(){return e.onEdit},get children(){return s(ht.ItemLabel,{get children(){return e.labels.editLabel}})}}),s(ht.Item,{get onSelect(){return e.onDelete},get children(){return s(ht.ItemLabel,{get children(){return e.labels.deleteLabel}})}})]}})}})]}})),t})()}function oy(e){const t=Ms(e);if(t)return`session-review-diff-${t}`}const ay=e=>{let t,n=0;const r=24,i=Et(),o=ai(),[a,c]=et({open:[],force:{},selection:null,commenting:null,opened:null,count:r,loader:void 0}),l=new Map,u=()=>a.selection,g=()=>a.commenting,f=()=>a.opened,h=()=>e.open??a.open,p=_(()=>e.diffs.map(T=>T.file)),x=_(()=>new Map(e.diffs.map(T=>[T.file,T]))),v=_(()=>{const T=new Map;for(const E of e.comments??[]){const P=T.get(E.file);if(P){P.push(E);continue}T.set(E.file,[E])}return T}),b=_(()=>p().slice(0,a.count)),m=_(()=>new Map(p().map((T,E)=>[T,E]))),$=_(()=>new Set(h())),w=()=>e.diffStyle??(e.split?"split":"unified"),y=()=>p().length>0,S=()=>a.count<p().length,C=T=>{const E=m().get(T);E!==void 0&&(E<a.count||c("count",Math.min(p().length,E+r)))},A=()=>{S()&&c("count",Math.min(p().length,a.count+r))},R=T=>{const E=e.onScroll;typeof E=="function"&&E(T);const P=T.currentTarget;S()&&(P.scrollTop+P.clientHeight<P.scrollHeight-600||A())},V=T=>{e.onOpenChange?.(T),e.open===void 0&&c("open",T)},N=()=>{const T=h().length>0?[]:p();V(T)},B=()=>i.t("ui.sessionReview.openFile"),O=T=>T.endSide??T.side??"additions",L=(T,E)=>{const j=O(E)==="deletions"?T.before:T.after;if(!(typeof j!="string"||j.length===0))return Os(j,E)};return xe(()=>{const T=e.focusedComment;T&&Mn(()=>{C(T.file),n++;const E=n;c("opened",T);const P=(e.comments??[]).find(q=>q.file===T.file&&q.id===T.id);P&&c("selection",{file:P.file,range:ti(P.selection)});const j=h();j.includes(T.file)||V([...j,T.file]);const G=q=>{if(E!==n)return;const z=t;if(!z)return;const F=l.get(T.file),Z=F?.querySelector(`[data-comment-id="${T.id}"]`),U=Z instanceof HTMLElement&&Z.style.pointerEvents!=="none"&&Z.style.opacity!=="0",se=U?Z:F;if(!se){if(q>=120)return;requestAnimationFrame(()=>G(q+1));return}const he=z.getBoundingClientRect(),ee=se.getBoundingClientRect(),oe=ee.top-he.top,ae=z.scrollTop+oe-he.height/2+ee.height/2;z.scrollTop=Math.max(0,ae),!U&&(q>=120||requestAnimationFrame(()=>G(q+1)))};requestAnimationFrame(()=>G(0)),requestAnimationFrame(()=>e.onFocusedCommentChange?.(null))})}),xe(()=>{const T=t,E=a.loader;if(!T||!E||!S()||typeof IntersectionObserver>"u")return;const P=new IntersectionObserver(j=>{j.some(G=>G.isIntersecting)&&A()},{root:T,rootMargin:"800px 0px",threshold:0});P.observe(E),rt(()=>P.disconnect())}),xe(()=>{e.focusedFile&&C(e.focusedFile)}),(()=>{var T=Xb(),E=T.firstChild,P=E.firstChild,j=P.nextSibling;return d(P,(()=>{var G=Ce(()=>e.title===void 0);return()=>G()?i.t("ui.sessionReview.title"):e.title})()),d(j,s(M,{get when(){return Ce(()=>!!y())()&&e.onDiffStyleChange},get children(){return s(Sb,{options:["unified","split"],get current(){return w()},size:"small",value:G=>G,label:G=>i.t(G==="unified"?"ui.sessionReview.diffStyle.unified":"ui.sessionReview.diffStyle.split"),onSelect:G=>G&&e.onDiffStyleChange?.(G)})}}),null),d(j,s(M,{get when(){return y()},get children(){return s(ot,{size:"small",icon:"chevron-grabber-vertical",class:"w-[106px] justify-start",onClick:N,get children(){return s(Qt,{get children(){return[s(Ve,{get when(){return h().length>0},get children(){return i.t("ui.sessionReview.collapseAll")}}),s(Ve,{when:!0,get children(){return i.t("ui.sessionReview.expandAll")}})]}})}})}}),null),d(j,()=>e.actions,null),d(T,s(Hs,{"data-slot":"session-review-scroll",viewportRef:G=>{t=G,c("loader",void 0),e.scrollRef?.(G)},onScroll:R,get classList(){return{[e.classes?.root??""]:!!e.classes?.root}},get children(){var G=Yb();return d(G,s(M,{get when(){return y()},get fallback(){return e.empty},get children(){var q=Kb();return d(q,s(rn,{multiple:!0,get value(){return h()},onChange:V,get children(){return[s(ze,{get each(){return b()},children:z=>{const F=_(()=>x().get(z)),Z=()=>$().has(z),U=()=>!!a.force[z],se=_(()=>v().get(z)??[]),he=_(()=>se().map(te=>te.selection)),ee=()=>typeof F().before=="string"?F().before:"",oe=()=>typeof F().after=="string"?F().after:"",ae=()=>F().additions+F().deletions,fe=_(()=>Jf(z)),$e=_(()=>!Z()||U()||fe()?!1:ae()>jl),Me=()=>F().status==="added"||ee().length===0&&oe().length>0,Q=()=>F().status==="deleted"||oe().length===0&&ee().length>0,ne=_(()=>{const te=u();return!te||te.file!==z?null:te.range}),re=_(()=>{const te=g();return!te||te.file!==z?null:te.range}),H=Iu({comments:se,label:i.t("ui.lineComment.submit"),draftKey:()=>z,state:{opened:()=>{const te=f();return!te||te.file!==z?null:te.id},setOpened:te=>c("opened",te?{file:z,id:te}:null),selected:ne,setSelected:te=>c("selection",te?{file:z,range:te}:null),commenting:re,setCommenting:te=>c("commenting",te?{file:z,range:te}:null)},getSide:O,clearSelectionOnSelectionEndNull:!1,onSubmit:({comment:te,selection:Re})=>{e.onLineComment?.({file:z,selection:Re,comment:te,preview:L(F(),Re)})},onUpdate:({id:te,comment:Re,selection:Te})=>{e.onLineCommentUpdate?.({id:te,file:z,selection:Te,comment:Re,preview:L(F(),Te)})},onDelete:te=>{e.onLineCommentDelete?.({id:te.id,file:z})},editSubmitLabel:e.lineCommentActions?.saveLabel,renderCommentActions:e.lineCommentActions?(te,Re)=>s(sy,{get labels(){return e.lineCommentActions},get onEdit(){return Re.edit},get onDelete(){return Re.remove}}):void 0});rt(()=>{l.delete(z)});const Y=te=>{e.onLineComment&&H.onLineSelected(te)},ge=te=>{e.onLineComment&&H.onLineSelectionEnd(te)};return s(rn.Item,{value:z,get id(){return oy(z)},"data-file":z,"data-slot":"session-review-accordion-item",get"data-selected"(){return e.focusedFile===z?"":void 0},get children(){return[s(Ni,{get children(){return s(rn.Trigger,{get children(){var te=ny(),Re=te.firstChild,Te=Re.firstChild,me=Te.firstChild,tt=Re.nextSibling,Ae=tt.firstChild;return d(Re,s(Sn,{node:{path:z,type:"file"}}),Te),d(Te,s(M,{get when(){return z.includes("/")},get children(){var _e=Zb();return d(_e,()=>`${oi(z)}`),_e}}),me),d(me,()=>jt(z)),d(Te,s(M,{get when(){return e.onViewFile},get children(){return s(on,{get value(){return B()},placement:"top",gutter:4,get children(){var _e=Qb();return _e.$$click=Le=>{Le.stopPropagation(),e.onViewFile?.(z)},d(_e,s(Ne,{name:"open-file",size:"small"})),ie(()=>ue(_e,"aria-label",B())),_e}})}}),null),d(tt,s(Qt,{get children(){return[s(Ve,{get when(){return Me()},get children(){var _e=Jb(),Le=_e.firstChild;return d(Le,()=>i.t("ui.sessionReview.change.added")),d(_e,s(nr,{get changes(){return F()}}),null),_e}}),s(Ve,{get when(){return Q()},get children(){var _e=ey();return d(_e,()=>i.t("ui.sessionReview.change.removed")),_e}}),s(Ve,{get when(){return!!fe()},get children(){var _e=ty();return d(_e,()=>i.t("ui.sessionReview.change.modified")),_e}}),s(Ve,{when:!0,get children(){return s(nr,{get changes(){return F()}})}})]}}),Ae),d(Ae,s(Ne,{name:"chevron-down",size:"small"})),te}})}}),s(rn.Content,{"data-slot":"session-review-accordion-content",get children(){var te=iy();return mt(Re=>{l.set(z,Re)},te),d(te,s(M,{get when(){return Z()},get children(){return s(Qt,{get children(){return[s(Ve,{get when(){return $e()},get children(){var Re=ry(),Te=Re.firstChild,me=Te.nextSibling,tt=me.nextSibling;return d(Te,()=>i.t("ui.sessionReview.largeDiff.title")),d(me,()=>i.t("ui.sessionReview.largeDiff.meta",{limit:jl.toLocaleString(),current:ae().toLocaleString()})),d(tt,s(ot,{size:"normal",variant:"secondary",onClick:()=>c("force",z,!0),get children(){return i.t("ui.sessionReview.largeDiff.renderAnyway")}})),Re}}),s(Ve,{when:!0,get children(){return s(Kn,{component:o,mode:"diff",get preloadedDiff(){return F().preloaded},get diffStyle(){return w()},onRendered:()=>{e.onDiffRendered?.()},get enableLineSelection(){return e.onLineComment!=null},get enableHoverUtility(){return e.onLineComment!=null},onLineSelected:Y,onLineSelectionEnd:ge,get onLineNumberSelectionEnd(){return H.onLineNumberSelectionEnd},get annotations(){return H.annotations()},get renderAnnotation(){return H.renderAnnotation},get renderHoverUtility(){return Ce(()=>!!e.onLineComment)()?H.renderHoverUtility:void 0},get selectedLines(){return ne()},get commentedLines(){return he()},get before(){return{name:z,contents:typeof F().before=="string"?F().before:""}},get after(){return{name:z,contents:typeof F().after=="string"?F().after:""}},get media(){return{mode:"auto",path:z,before:F().before,after:F().after,readFile:e.readFile}}})}})]}})}})),te}})]}})}}),s(M,{get when(){return S()},get children(){var z=Vb();return mt(F=>{c("loader",F)},z),z}})]}})),q}})),ie(()=>zt(G,e.classes?.container)),G}}),null),ie(G=>{var q=e.class,z=e.classList,F=e.classes?.header;return q!==G.e&&zt(T,G.e=q),G.t=bt(T,z,G.t),F!==G.a&&zt(E,G.a=F),G},{e:void 0,t:void 0,a:void 0}),T})()};Mt(["mousedown","click"]);function ly(e){let t,n,r=!1,i;const o=Jt(),a=rr(),c=async h=>o.client.file.read({path:h}).then(p=>p.data).catch(p=>{console.debug("[session-review] failed to read file",{path:h,error:p})}),l=()=>{r=!0,n!==void 0&&(cancelAnimationFrame(n),n=void 0)},u=()=>{n=void 0;const h=t;if(!h||!a.ready()||r||h.clientHeight===0||h.clientWidth===0)return;const p=e.view().scroll("review");if(!p||p.x===0&&p.y===0)return;const x=Math.max(0,h.scrollHeight-h.clientHeight),v=Math.max(0,h.scrollWidth-h.clientWidth),b=Math.min(p.y,x),m=Math.min(p.x,v);h.scrollTop===b&&h.scrollLeft===m||(h.scrollTop!==b&&(h.scrollTop=b),h.scrollLeft!==m&&(h.scrollLeft=m),i={x:h.scrollLeft,y:h.scrollTop})},g=()=>{r||n!==void 0||(n=requestAnimationFrame(u))},f=h=>{const p=h.currentTarget,x=i;if(x&&p.scrollTop===x.y&&p.scrollLeft===x.x){i=void 0;return}i=void 0,l(),a.ready()&&(p.clientHeight===0||p.clientWidth===0||e.view().setScroll("review",{x:p.scrollLeft,y:p.scrollTop}))};return xe(()=>{e.diffs().length,e.diffStyle,a.ready()&&g()}),rt(()=>{n!==void 0&&cancelAnimationFrame(n),t&&(t.removeEventListener("wheel",l,{capture:!0}),t.removeEventListener("mousewheel",l,{capture:!0}),t.removeEventListener("pointerdown",l,{capture:!0}),t.removeEventListener("touchstart",l,{capture:!0}),t.removeEventListener("keydown",l,{capture:!0}))}),s(ay,{get title(){return e.title},get empty(){return e.empty},scrollRef:h=>{t=h,h.addEventListener("wheel",l,{passive:!0,capture:!0}),h.addEventListener("mousewheel",l,{passive:!0,capture:!0}),h.addEventListener("pointerdown",l,{passive:!0,capture:!0}),h.addEventListener("touchstart",l,{passive:!0,capture:!0}),h.addEventListener("keydown",l,{passive:!0,capture:!0}),e.onScrollRef?.(h),g()},onScroll:f,onDiffRendered:g,get open(){return e.view().review.open()},get onOpenChange(){return e.view().review.setOpen},get classes(){return{root:e.classes?.root??"pr-3",header:e.classes?.header??"px-3",container:e.classes?.container??"pl-3"}},get diffs(){return e.diffs()},get diffStyle(){return e.diffStyle},get onDiffStyleChange(){return e.onDiffStyleChange},get onViewFile(){return e.onViewFile},get focusedFile(){return e.focusedFile},readFile:c,get onLineComment(){return e.onLineComment},get onLineCommentUpdate(){return e.onLineCommentUpdate},get onLineCommentDelete(){return e.onLineCommentDelete},get lineCommentActions(){return e.lineCommentActions},get comments(){return e.comments},get focusedComment(){return e.focusedComment},get onFocusedCommentChange(){return e.onFocusedCommentChange}})}const cy=(e,t)=>{e.session.restore(t)},dy=e=>{const t=e.lastIndexOf(".");return t<=0?{base:e,ext:""}:{base:e.slice(0,t),ext:e.slice(t)}};function Wl(e,t){if(!t.has(e))return e;const{base:n,ext:r}=dy(e);for(let i=1;i<1e4;i++){const o=`${n} (${i})${r}`;if(!t.has(o))return o}return`${n} (${Date.now()})${r}`}function uy(e,t){const n=e.replace(/^\/+|\/+$/g,""),r=t.replace(/^\/+|\/+$/g,"");return n===""?r!=="":n===r?!0:r.startsWith(n+"/")}const fy=e=>new Promise((t,n)=>{const r=e.createReader?.();if(!r)return t([]);const i=[],o=()=>{r.readEntries(a=>{if(a.length===0)return t(i);i.push(...a),o()},a=>n(a))};o()}),gy=e=>new Promise(t=>{if(!e.file)return t(void 0);e.file(n=>t(n),()=>t(void 0))});async function*Lu(e,t){if(e.isFile){const i=await gy(e);if(!i)return;yield{relPath:t?`${t}/${e.name}`:e.name,file:i};return}if(!e.isDirectory)return;const n=t?`${t}/${e.name}`:e.name,r=await fy(e);for(const i of r)yield*Lu(i,n)}async function*my(e){for(let t=0;t<e.length;t++){const n=e[t];if(!n||n.kind!=="file")continue;const r=n.webkitGetAsEntry?.()??n.getAsEntry?.()??null;if(r){yield*Lu(r,"");continue}const i=n.getAsFile?.();i&&(yield{relPath:i.name,file:i})}}const vo=e=>{const t=e.lastIndexOf("/");return t===-1?"":e.slice(0,t)},Ul=e=>{const t=e.lastIndexOf("/");return t===-1?e:e.slice(t+1)},Mu=e=>{const t=e.indexOf("/");return t===-1?e:e.slice(0,t)},hy=(e,t)=>{const n=Mu(e),r=t.get(n);return!r||r===n?e:r+e.slice(n.length)};function py(){const e=In(),t=Jt(),[n,r]=De(),i=async(g,f,h,p)=>{const x=Mu(g.relPath);if(!h.has(x)){const R=Wl(x,p);h.set(x,R),p.add(R)}const v=hy(g.relPath,h),b=vo(v),m=f?b?`${f}/${b}`:f:b,$=Ul(v),w=new URL("/file/upload",t.url);t.directory&&w.searchParams.set("directory",t.directory);const y=new FormData;y.append("path",m),y.append("name",$),y.append("file",g.file,$);const S=await t.fetch(w,{method:"POST",body:y});if(!S.ok)throw new Error(await S.text().catch(()=>`HTTP ${S.status}`));const C=S.headers.get("content-type")??"";if(!C.includes("application/json"))throw new Error(`upload route missing on server (got ${C||"no content-type"})`);const A=await S.json().catch(()=>null);if(!A||typeof A.path!="string")throw new Error("upload route returned an unexpected payload")},o=async(g,f)=>{const h=new Set(e.tree.children(g).map($=>$.name)),p=new Map;let x=0,v=0;const b=(()=>{if("length"in f&&f.length>0&&"kind"in f[0])return my(f);const $=f;return(async function*(){for(let w=0;w<$.length;w++){const y=$.item(w);y&&(yield{relPath:y.name,file:y})}})()})();for await(const $ of b)try{await i($,g,p,h),x++}catch(w){console.error("[file-tree-drop] upload failed",$.relPath,w),v++}x>0&&await e.tree.refresh(g);const m=g?`/${g}`:"workspace root";v===0&&x>0?at({variant:"success",title:`Added ${x} file${x===1?"":"s"} to ${m}`}):x>0?at({variant:"default",title:`Added ${x} file${x===1?"":"s"}, ${v} failed`}):v>0&&at({variant:"error",title:"Upload failed"})},a=async(g,f)=>{if(!g||vo(g)===f)return;if(uy(g,f)){at({variant:"error",title:"Cannot move a folder into itself"});return}const h=new Set(e.tree.children(f).map(v=>v.name)),p=Wl(Ul(g),h),x=f?`${f}/${p}`:p;try{await t.client.file.rename({from:g,to:x}),await Promise.all([e.tree.refresh(vo(g)),e.tree.refresh(f)])}catch(v){const b=v instanceof Error?v.message:String(v);at({variant:"error",title:"Move failed",description:b})}};return{hovered:n,setHovered:r,handleDragOver:(g,f)=>{const h=f.dataTransfer?.types;if(!h)return;const p=h.includes("Files"),x=h.includes("text/plain");!p&&!x||(f.preventDefault(),f.stopPropagation(),f.dataTransfer&&(f.dataTransfer.dropEffect=p?"copy":"move"),n()!==g&&r(g))},handleDragLeave:g=>{const f=g.relatedTarget;if(f instanceof Node){const h=g.currentTarget?.closest('[data-component="filetree-root"]');if(h&&h.contains(f))return}r(void 0)},handleDrop:async(g,f)=>{f.preventDefault(),f.stopPropagation(),r(void 0);const h=f.dataTransfer;if(!h)return;const p=(()=>{try{return h.getData("text/plain")}catch{return""}})();if(p?.startsWith("file:")){const x=p.slice(5);await a(x,g);return}if(h.items&&h.items.length>0){await o(g,h.items);return}h.files&&h.files.length>0&&await o(g,h.files)}}}var vy=k("<span>"),xy=k('<span class="shrink-0 w-4 text-center text-12-medium">'),by=k('<div class="shrink-0 size-1.5 mr-1.5 rounded-full">'),yy=k("<div data-component=filetree>"),wy=k('<div class="size-4 flex items-center justify-center text-icon-weak">'),$y=k("<div>"),ky=k('<div class="w-5 shrink-0">'),Cy=k('<span class="filetree-iconpair size-4">'),_y=k('<div class="px-2 py-1 text-12-regular text-text-weak">...');const Sy=128;function Ty(e){return`file://${Do(e)}`}function Ay(e){return!(e.level!==0||e.dir?.loaded||e.dir?.loading)}function Dy(e){return e.level!==0?[]:e.filter?[...e.filter.dirs].filter(t=>!e.expanded(t)):[]}const Iy=e=>e==="add"?"A":e==="del"?"D":"M",zo=e=>e==="add"?"color: var(--icon-diff-add-base)":e==="del"?"color: var(--icon-diff-delete-base)":"color: var(--icon-diff-modified-base)",Ly=e=>e==="add"?"background-color: var(--icon-diff-add-base)":e==="del"?"background-color: var(--icon-diff-delete-base)":"background-color: var(--icon-diff-modified-base)",Eu=(e,t,n)=>{const r=t?.get(e.path);if(r&&n?.has(e.path))return r},My=e=>{const t=e.querySelector('[data-component="file-icon"]')??e.querySelector("svg"),n=e.querySelector("span");if(!t||!n)return;const r=document.createElement("div");return r.className="flex items-center gap-x-2 px-2 py-1 bg-surface-raised-base rounded-md border border-border-base text-12-regular text-text-strong",r.style.position="absolute",r.style.top="-1000px",r.innerHTML=t.outerHTML+n.outerHTML,r},Ey=e=>{const t=My(e.currentTarget);t&&(document.body.appendChild(t),e.dataTransfer?.setDragImage(t,0,12),setTimeout(()=>document.body.removeChild(t),0))},Gl=e=>{const[t,n]=_t(e,["node","level","active","nodeClass","draggable","kinds","marks","as","children","class","classList","dropHovered"]),r=()=>Eu(t.node,t.kinds,t.marks),i=()=>!!r()&&!t.node.ignored,o=()=>{const a=r();if(a)return zo(a)};return s(Kn,Ke({get component(){return t.as??"div"},get"data-file-path"(){return Ce(()=>t.node.type==="file")()?t.node.path:void 0},get classList(){return{"w-full min-w-0 h-6 flex items-center justify-start gap-x-1.5 rounded-md px-1.5 py-0 text-left hover:bg-surface-raised-base-hover active:bg-surface-base-active transition-colors cursor-pointer":!0,"bg-surface-base-active":t.node.path===t.active,"opacity-60":t.node.name.startsWith("."),"ring-1 ring-border-strong-base/70 bg-surface-base-active/60":!!t.dropHovered,...t.classList??{},[t.class??""]:!!t.class,[t.nodeClass??""]:!!t.nodeClass}},get style(){return`padding-left: ${Math.max(0,8+t.level*22-(t.node.type==="file"?20:4))}px`},get draggable(){return t.draggable},onDragStart:a=>{t.draggable&&(a.dataTransfer?.setData("text/plain",`file:${t.node.path}`),a.dataTransfer?.setData("text/uri-list",Ty(t.node.path)),a.dataTransfer&&(a.dataTransfer.effectAllowed="copy"),Ey(a))}},n,{get children(){return[Ce(()=>t.children),(()=>{var a=vy();return d(a,()=>t.node.name),ie(c=>{var l={"flex-1 min-w-0 text-12-medium whitespace-nowrap truncate":!0,"text-text-weaker":t.node.ignored||e.isEmpty,"text-text-weak":!t.node.ignored&&!i()&&!e.isEmpty},u=i()?o():void 0;return c.e=bt(a,l,c.e),c.t=tr(a,u,c.t),c},{e:void 0,t:void 0}),a})(),Ce(()=>(()=>{const a=r();return a?t.node.type==="file"?(()=>{var c=xy();return d(c,()=>Iy(a)),ie(l=>tr(c,zo(a),l)),c})():(()=>{var c=by();return ie(l=>tr(c,Ly(a),l)),c})():null})())]}}))};function Pu(e){const t=In(),n=e.level??0,r=()=>e.draggable??!0;let i,o;const a=n===0?e._drop??py():e._drop,c=m=>{const $=m.lastIndexOf("/");return $===-1?"":m.slice(0,$)},l=m=>t.normalize(m).replace(/[\\/]+$/,"").replaceAll("\\","/"),u=e._chain?[...e._chain,l(e.path)]:[l(e.path)],g=_(()=>{if(e._filter)return e._filter;const m=e.allowed;if(!m)return;const $=new Set(m),w=new Set;for(const y of m){const C=y.split("/").slice(0,-1);for(const[A]of C.entries()){const R=C.slice(0,A+1).join("/");R&&w.add(R)}}return{files:$,dirs:w}}),f=_(()=>{if(e._marks)return e._marks;const m=new Set;for(const $ of e.modified??[])m.add($);for(const $ of e.kinds?.keys()??[])m.add($);if(m.size!==0)return m}),h=_(()=>e._kinds?e._kinds:e.kinds),p=_(()=>{if(e._deeps)return e._deeps;const m=new Map,$=e.path;if(!(t.tree.state($)?.expanded??!1))return m;const w=new Set,y=[],S=(C,A)=>{const R=l(C);if(w.has(R))return;w.add(R);const V=t.tree.children(C).filter(N=>N.type==="directory"&&(t.tree.state(N.path)?.expanded??!1)).map(N=>N.path);y.push({dir:C,lvl:A,i:0,kids:V,max:A})};for(S($,n-1);y.length>0;){const C=y[y.length-1];if(C.i<C.kids.length){const R=C.kids[C.i];C.i++,S(R,C.lvl+1);continue}m.set(C.dir,C.max),y.pop();const A=y[y.length-1];A&&(A.max=Math.max(A.max,C.max))}return m});xe(()=>{const m=g(),$=Dy({level:n,filter:m,expanded:w=>Mn(()=>t.tree.state(w)?.expanded)??!1});for(const w of $)t.tree.expand(w)}),xe(ft(()=>e.path,m=>{const $=Mn(()=>t.tree.state(m));Ay({level:n,dir:$})&&t.tree.list(m)},{defer:!1})),xe(ft(()=>{const m=e.active;if(n!==0||!m)return"";const $=m.split("/").slice(0,-1),w=$.at(-1)??"",y=$.map((S,C)=>{const A=$.slice(0,C+1).join("/"),R=t.tree.state(A);return`${A}:${R?.expanded?1:0}:${R?.loaded?1:0}:${R?.loading?1:0}`});return[m,w,t.tree.children(w).length,...y].join("|")},()=>{const m=e.active;if(n!==0||!m)return;const $=m.split("/").slice(0,-1);for(const[w]of $.entries()){const y=$.slice(0,w+1).join("/");y&&t.tree.expand(y)}typeof window>"u"||(o!==void 0&&cancelAnimationFrame(o),o=requestAnimationFrame(()=>{o=void 0;const w=i?.querySelectorAll("[data-file-path]"),y=Array.from(w??[]).find(S=>S.getAttribute("data-file-path")===m);y instanceof HTMLElement&&y.scrollIntoView({block:"nearest",behavior:"smooth"})}))},{defer:!0})),rt(()=>{o!==void 0&&cancelAnimationFrame(o)});const x=_(()=>{const m=t.tree.children(e.path),$=g();if(!$)return m;const w=A=>{const R=A.lastIndexOf("/");return R===-1?"":A.slice(0,R)},y=A=>{const R=A.lastIndexOf("/");return R===-1?A:A.slice(R+1)},S=m.filter(A=>A.type==="file"?$.files.has(A.path):$.dirs.has(A.path)),C=new Set(S.map(A=>A.path));for(const A of $.dirs)w(A)===e.path&&(C.has(A)||(S.push({name:y(A),path:A,absolute:A,type:"directory",ignored:!1}),C.add(A)));for(const A of $.files)w(A)===e.path&&(C.has(A)||(S.push({name:y(A),path:A,absolute:A,type:"file",ignored:!1}),C.add(A)));return S.sort((A,R)=>A.type!==R.type?A.type==="directory"?-1:1:A.name.localeCompare(R.name)),S}),v=n===0,b=()=>v&&a?.hovered()==="";return(()=>{var m=yy();gt(m,"drop",v&&a?w=>a.handleDrop("",w):void 0),gt(m,"dragleave",v&&a?a.handleDragLeave:void 0),gt(m,"dragover",v&&a?w=>a.handleDragOver("",w):void 0);var $=i;return typeof $=="function"?mt($,m):i=m,ue(m,"data-filetree-root",v?"true":void 0),d(m,s(ze,{get each(){return x()},children:w=>{const y=()=>t.tree.state(w.path)?.expanded??!1,S=()=>p().get(w.path)??-1,C=()=>Eu(w,h(),f()),A=()=>!!C()&&!w.ignored,R=w.type==="directory"?w.path:c(w.path),V=()=>a?.hovered()===R,N=a?O=>a.handleDragOver(R,O):void 0,B=a?O=>a.handleDrop(R,O):void 0;return s(Qt,{get children(){return[s(Ve,{get when(){return w.type==="directory"},get children(){return s(Zt,{variant:"ghost",class:"w-full","data-scope":"filetree",forceMount:!1,get open(){return y()},onOpenChange:O=>{if(!O){const L=e.active;if(L&&L.startsWith(w.path+"/"))return}O?t.tree.expand(w.path):t.tree.collapse(w.path)},get children(){return[s(Zt.Trigger,{get children(){return s(Gl,{node:w,level:n,get active(){return e.active},get nodeClass(){return e.nodeClass},get draggable(){return r()},get kinds(){return h()},get marks(){return f()},get isEmpty(){return t.tree.children(w.path).length===0},get dropHovered(){return V()},onDragOver:N,onDrop:B,onContextMenu:O=>{e.onNodeContextMenu&&(O.preventDefault(),O.stopPropagation(),e.onNodeContextMenu(w,O))},get children(){return[(()=>{var O=wy();return d(O,s(Ne,{get name(){return y()?"chevron-down":"chevron-right"},size:"small"})),O})(),s(Ne,{get name(){return y()?"folder-open":"folder"},size:"small",class:"text-icon-weak"})]}})}}),s(Zt.Content,{class:"relative pt-0.5",get children(){return[(()=>{var O=$y();return ie(L=>{var T={"absolute top-0 bottom-0 w-px pointer-events-none bg-border-weak-base opacity-0 transition-opacity duration-150 ease-out motion-reduce:transition-none":!0,"group-hover/filetree:opacity-100":y()&&S()===n,"group-hover/filetree:opacity-50":!(y()&&S()===n)},E=`left: ${Math.max(0,8+n*22-4)+8}px`;return L.e=bt(O,T,L.e),L.t=tr(O,E,L.t),L},{e:void 0,t:void 0}),O})(),s(M,{get when(){return n<Sy&&!u.includes(l(w.path))},get fallback(){return _y()},get children(){return s(Pu,{get path(){return w.path},level:n+1,get allowed(){return e.allowed},get modified(){return e.modified},get kinds(){return e.kinds},get active(){return e.active},get draggable(){return e.draggable},get onFileClick(){return e.onFileClick},get onNodeContextMenu(){return e.onNodeContextMenu},get _filter(){return g()},get _marks(){return f()},get _deeps(){return p()},get _kinds(){return h()},_chain:u,_drop:a})}})]}})]}})}}),s(Ve,{get when(){return w.type==="file"},get children(){return s(Gl,{node:w,level:n,get active(){return e.active},get nodeClass(){return e.nodeClass},get draggable(){return r()},get kinds(){return h()},get marks(){return f()},as:"button",type:"button",get dropHovered(){return V()},onDragOver:N,onDrop:B,onClick:()=>e.onFileClick?.(w),onContextMenu:O=>{e.onNodeContextMenu&&(O.preventDefault(),O.stopPropagation(),e.onNodeContextMenu(w,O))},get children(){return[ky(),s(Qt,{get children(){return[s(Ve,{get when(){return w.ignored},get children(){return s(Sn,{node:w,class:"size-4 filetree-icon filetree-icon--mono",style:"color: var(--icon-weak-base)",mono:!0})}}),s(Ve,{get when(){return A()},get children(){return s(Sn,{node:w,class:"size-4 filetree-icon filetree-icon--mono",get style(){return zo(C())},mono:!0})}}),s(Ve,{get when(){return!w.ignored},get children(){var O=Cy();return d(O,s(Sn,{node:w,class:"size-4 filetree-icon filetree-icon--color opacity-0 group-hover/filetree:opacity-100"}),null),d(O,s(Sn,{node:w,class:"size-4 filetree-icon filetree-icon--mono group-hover/filetree:opacity-0",mono:!0}),null),O}})]}})]}})}})]}})}})),ie(w=>{var y=`flex flex-col gap-0.5 ${v?"min-h-full":""} ${e.class??""}`,S={"ring-1 ring-inset ring-border-strong-base/60 rounded-md":b()};return y!==w.e&&zt(m,w.e=y),w.t=bt(m,S,w.t),w},{e:void 0,t:void 0}),m})()}var Py=k('<div class="text-12-regular text-text-weak truncate">/'),Ry=k('<form class="flex flex-col gap-4 p-6 pt-0"><div class="flex justify-end gap-2">');function Oo(e){const t=zn(),n=Jt(),r=In(),i=At(),o=()=>(e.baseDir??"").replace(/^\/+|\/+$/g,""),[a,c]=De(""),[l,u]=De(!1),[g,f]=De(),h=()=>{const b=a().trim().replace(/^\/+|\/+$/g,"");return b?o()?`${o()}/${b}`:b:""},p=e.kind==="file"?i.t("session.fileTree.newFile"):i.t("session.fileTree.newFolder");async function x(b){if(b.preventDefault(),l())return;const m=h();if(!m){f(i.t("dialog.newEntry.error.empty"));return}if(m.split("/").some($=>!$||$==="."||$==="..")){f(i.t("dialog.newEntry.error.invalid"));return}u(!0),f(void 0);try{if(e.kind==="file")await n.client.file.write({fileWriteInput:{path:m,content:"",format:!1}});else{const w=`${n.directory.replace(/\/+$/,"")}/${m}`;await n.client.global.mkdir({path:w})}const $=o();await r.tree.refresh($),$&&r.tree.expand($),e.onCreated?.(m,e.kind),t.close()}catch($){const w=$ instanceof Error?$.message:String($);f(w),at({variant:"error",title:p,description:w})}finally{u(!1)}}const v=e.kind==="file"?i.t("dialog.newEntry.placeholder.file"):i.t("dialog.newEntry.placeholder.folder");return s(Rs,{title:p,class:"w-full max-w-[440px] mx-auto",get children(){var b=Ry(),m=b.firstChild;return b.addEventListener("submit",x),d(b,s(M,{get when(){return o()},get children(){var $=Py(),w=$.firstChild;return d($,o,w),$}}),m),d(b,s(Xo,{autofocus:!0,type:"text",get label(){return i.t("dialog.newEntry.name")},placeholder:v,get value(){return a()},onChange:$=>{c($),f(void 0)},get error(){return g()},get validationState(){return g()?"invalid":void 0}}),m),d(m,s(ot,{type:"button",variant:"ghost",size:"large",onClick:()=>t.close(),get children(){return i.t("common.cancel")}}),null),d(m,s(ot,{type:"submit",variant:"primary",size:"large",get disabled(){return l()||!a().trim()},get children(){return Ce(()=>!!l())()?i.t("common.saving"):i.t("common.create")}}),null),b}})}const Vl=Object.freeze(Object.defineProperty({__proto__:null,DialogNewFileEntry:Oo},Symbol.toStringTag,{value:"Module"}));var Fy=k('<form class="flex flex-col gap-4 p-6 pt-0"><div class="text-12-regular text-text-weak truncate"></div><div class="flex justify-end gap-2">');function zy(e){const t=e.lastIndexOf("/");return t===-1?"":e.slice(0,t)}function Oy(e){const t=zn(),n=Jt(),r=In(),i=At(),[o,a]=De(jt(e.path)),[c,l]=De(!1),[u,g]=De(),f=zy(e.path),h=()=>{const x=o().trim().replace(/^\/+|\/+$/g,"");return x?f?`${f}/${x}`:x:""};async function p(x){if(x.preventDefault(),c())return;const v=h();if(!v){g(i.t("dialog.newEntry.error.empty"));return}if(v.split("/").some(b=>!b||b==="."||b==="..")){g(i.t("dialog.newEntry.error.invalid"));return}if(v===e.path){t.close();return}l(!0),g(void 0);try{const b=new URLSearchParams({directory:n.directory}).toString(),m=await n.fetch(`${n.url}/file/rename?${b}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({from:e.path,to:v})});if(!m.ok){const $=await m.json().catch(()=>({}));throw new Error($?.error??`Rename failed (${m.status})`)}await r.tree.refresh(f),f&&r.tree.expand(f),t.close()}catch(b){const m=b instanceof Error?b.message:String(b);g(m),at({variant:"error",title:i.t("session.fileTree.contextMenu.rename"),description:m})}finally{l(!1)}}return s(Rs,{get title(){return i.t("session.fileTree.contextMenu.rename")},class:"w-full max-w-[440px] mx-auto",get children(){var x=Fy(),v=x.firstChild,b=v.nextSibling;return x.addEventListener("submit",p),d(v,f?`${f}/`:""),d(x,s(Xo,{autofocus:!0,type:"text",get label(){return i.t("dialog.newEntry.name")},get value(){return o()},onChange:m=>{a(m),g(void 0)},get error(){return u()},get validationState(){return u()?"invalid":void 0}}),b),d(b,s(ot,{type:"button",variant:"ghost",size:"large",onClick:()=>t.close(),get children(){return i.t("common.cancel")}}),null),d(b,s(ot,{type:"submit",variant:"primary",size:"large",get disabled(){return c()||!o().trim()},get children(){return Ce(()=>!!c())()?i.t("common.saving"):i.t("common.rename")}}),null),x}})}var Ny=k('<div class="my-1 h-px bg-border-weaker-base">'),Kl=k('<button type=button class="w-full px-3 py-1.5 text-left text-12-medium hover:bg-surface-raised-base-hover">'),By=k('<button type=button class="w-full px-3 py-1.5 text-left text-12-medium hover:bg-surface-raised-base-hover text-text-destructive">Delete'),qy=k('<div id=file-tree-ctx-menu role=menu class="fixed z-[9999] min-w-[180px] rounded-md border border-border-base bg-surface-raised-base shadow-lg py-1 text-text-strong"><button type=button class="w-full px-3 py-1.5 text-left text-12-medium hover:bg-surface-raised-base-hover"></button><button type=button class="w-full px-3 py-1.5 text-left text-12-medium hover:bg-surface-raised-base-hover">');function Yl(e){const t=e.lastIndexOf("/");return t===-1?"":e.slice(0,t)}function Hy(e){const t=zn(),n=At(),r=Jt(),i=In(),[o,a]=De(!1),[c,l]=De({x:0,y:0}),[u,g]=De({kind:"root",path:"",baseDir:""});function f(){a(!1)}function h(y,S){g(S),l({x:y.clientX,y:y.clientY}),a(!0)}function p(y,S){h(S,{kind:y.type==="directory"?"dir":"file",path:y.path,baseDir:y.type==="directory"?y.path:Yl(y.path)})}function x(y){h(y,{kind:"root",path:"",baseDir:""})}function v(y){f(),t.show(()=>s(Oo,{kind:"file",baseDir:y,onCreated:(S,C)=>{C==="file"&&e?.onFileCreated?.(S)}}))}function b(y){f(),t.show(()=>s(Oo,{kind:"folder",baseDir:y}))}function m(y,S){f(),t.show(()=>s(Oy,{path:y,kind:S}))}async function $(y){f();try{await navigator.clipboard.writeText(y),at({variant:"success",title:n.t("session.fileTree.contextMenu.copyPath.done")})}catch{at({variant:"error",title:n.t("session.fileTree.contextMenu.copyPath.failed")})}}async function w(y,S="file"){if(f(),!!confirm(`Are you sure you want to delete "${y}"? This action cannot be undone.`))try{await r.client.file.delete({path:y});const A=Yl(y);await i.tree.refresh(A),e?.onFileDeleted?.(y,S),at({variant:"success",title:"Deleted successfully"})}catch(A){const R=A instanceof Error?A.message:typeof A=="string"?A:JSON.stringify(A);at({variant:"error",title:"Failed to delete",description:R})}}return{open:o,pos:c,target:u,close:f,showNode:p,showRoot:x,newFile:v,newFolder:b,rename:m,copyPath:$,deleteFile:w}}function jy(e){const t=At(),n=i=>{const o=document.getElementById("file-tree-ctx-menu");o&&i.target instanceof Node&&o.contains(i.target)||e.ctrl.close()},r=i=>{i.key==="Escape"&&e.ctrl.close()};return typeof window<"u"&&(window.addEventListener("mousedown",n,!0),window.addEventListener("keydown",r),rt(()=>{window.removeEventListener("mousedown",n,!0),window.removeEventListener("keydown",r)})),s(M,{get when(){return e.ctrl.open()},get children(){return s(fs,{get children(){var i=qy(),o=i.firstChild,a=o.nextSibling;return o.$$click=()=>e.ctrl.newFile(e.ctrl.target().baseDir),d(o,()=>t.t("session.fileTree.newFile")),a.$$click=()=>e.ctrl.newFolder(e.ctrl.target().baseDir),d(a,()=>t.t("session.fileTree.newFolder")),d(i,s(M,{get when(){return e.ctrl.target().kind!=="root"},get children(){return[Ny(),(()=>{var c=Kl();return c.$$click=()=>{const l=e.ctrl.target();l.kind!=="root"&&e.ctrl.rename(l.path,l.kind==="dir"?"dir":"file")},d(c,()=>t.t("session.fileTree.contextMenu.rename")),c})(),(()=>{var c=Kl();return c.$$click=()=>e.ctrl.copyPath(e.ctrl.target().path),d(c,()=>t.t("session.fileTree.contextMenu.copyPath")),c})(),(()=>{var c=By();return c.$$click=()=>{const l=e.ctrl.target();l.kind!=="root"&&e.ctrl.deleteFile(l.path,l.kind)},c})()]}}),null),ie(c=>{var l=`${e.ctrl.pos().x}px`,u=`${e.ctrl.pos().y}px`;return l!==c.e&&Je(i,"left",c.e=l),u!==c.t&&Je(i,"top",c.t=u),c},{e:void 0,t:void 0}),i}})}})}Mt(["click"]);Mt(["input","keydown","click"]);var Wy=k("<span class=preview-console-count>"),Uy=k("<div class=preview-console-empty>No console output"),Gy=k('<div class=preview-console><div class=preview-console-header><span class=preview-console-title>Console</span><div class=flex-1></div><button class=preview-console-clear title="Clear console"></button></div><div class=preview-console-entries><div>'),Vy=k("<div class=preview-console-entry><span class=preview-console-badge></span><span class=preview-console-time></span><span class=preview-console-msg>");function Ky(e){let t;xe(()=>{e.logs.length,t?.scrollIntoView({behavior:"smooth"})});const n=o=>o==="error"?"var(--color-red-500)":o==="warn"?"var(--color-yellow-500)":o==="info"?"var(--color-blue-500)":o==="debug"?"var(--text-weaker)":"var(--text-base)",r=o=>o==="error"?"ERR":o==="warn"?"WRN":o==="info"?"INF":o==="debug"?"DBG":"LOG",i=o=>{const a=new Date(o);return`${a.getHours().toString().padStart(2,"0")}:${a.getMinutes().toString().padStart(2,"0")}:${a.getSeconds().toString().padStart(2,"0")}.${a.getMilliseconds().toString().padStart(3,"0")}`};return(()=>{var o=Gy(),a=o.firstChild,c=a.firstChild,l=c.firstChild,u=c.nextSibling,g=u.nextSibling,f=a.nextSibling,h=f.firstChild;d(c,s(Hc,{class:"size-3"}),l),d(a,s(M,{get when(){return e.logs.length>0},get children(){var x=Wy();return d(x,()=>e.logs.length),x}}),u),gt(g,"click",e.onClear,!0),d(g,s(eg,{class:"size-3"})),d(f,s(M,{get when(){return e.logs.length===0},get children(){return Uy()}}),h),d(f,s(ze,{get each(){return e.logs},children:x=>(()=>{var v=Vy(),b=v.firstChild,m=b.nextSibling,$=m.nextSibling;return d(b,()=>r(x.level)),d(m,()=>i(x.timestamp)),d($,()=>x.args.join(" ")),ie(w=>{var y=n(x.level),S=n(x.level);return y!==w.e&&Je(v,"color",w.e=y),S!==w.t&&Je(b,"color",w.t=S),w},{e:void 0,t:void 0}),v})()}),h);var p=t;return typeof p=="function"?mt(p,h):t=h,o})()}Mt(["click"]);var Yy=k('<div class="preview-viewport-toggle shrink-0"><button title="Mobile (375px)"></button><button title="Tablet (768px)"></button><button title=Desktop>'),Xy=k('<span class="preview-console-badge-count absolute -top-1 -right-1">'),Zy=k('<button class="size-8 shrink-0 rounded-md border border-border-weaker-base flex items-center justify-center text-text-weak hover:text-text-base hover:bg-surface-raised-base/40 relative"title="Toggle console">'),Qy=k('<div class="h-full min-h-0 flex flex-col bg-background-base"><div class="shrink-0 flex items-center gap-2 px-3 pt-3 pb-2 border-b border-border-weaker-base"><div class="flex items-center gap-2 min-w-0 flex-1 overflow-x-auto"></div></div><div class="shrink-0 flex items-center gap-2 px-3 py-2 border-b border-border-weaker-base bg-surface-raised-base/20"><button class="size-8 shrink-0 rounded-md border border-border-weaker-base flex items-center justify-center text-text-weak hover:text-text-base hover:bg-surface-raised-base/40 disabled:opacity-40 disabled:cursor-not-allowed"title=Back></button><button class="size-8 shrink-0 rounded-md border border-border-weaker-base flex items-center justify-center text-text-weak hover:text-text-base hover:bg-surface-raised-base/40 disabled:opacity-40 disabled:cursor-not-allowed"title=Forward></button><button class="size-8 shrink-0 rounded-md border border-border-weaker-base flex items-center justify-center text-text-weak hover:text-text-base hover:bg-surface-raised-base/40"title=Refresh></button><div class="min-w-0 flex-1 h-9 rounded-lg border border-border-weaker-base bg-background-base flex items-center gap-2 px-3"><input class="flex-1 bg-transparent outline-none text-13-regular text-text-base placeholder:text-text-weaker"placeholder="Enter a URL"></div></div><div id=browser-content class="flex-1 min-h-0 overflow-hidden bg-surface-raised-base/20 flex flex-col">'),Jy=k('<button class="shrink-0 h-8 max-w-52 px-3 rounded-lg border flex items-center gap-2 transition-colors"><span class="truncate text-12-regular"></span><span class="size-5 shrink-0 rounded-md flex items-center justify-center text-text-weaker hover:text-text-base hover:bg-surface-raised-base/60">×'),ew=k('<div class="h-full flex items-center justify-center text-13-regular text-text-weaker">No tab selected'),tw=k('<div class="h-full flex flex-col items-center justify-center gap-3 text-center text-text-weaker px-6"><div class="text-14-medium text-text-strong">Open a page</div><div class="text-13-regular max-w-md">Enter a URL in the location bar above. Some websites may block embedded browsing and need to be opened in a separate tab.'),nw=k('<div class="preview-web-wrap flex-1 flex flex-col min-h-0"><div><iframe class="preview-web-frame flex-1 w-full h-full border-none"sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-downloads"allow="accelerometer; gyroscope; magnetometer; clipboard-read; clipboard-write; display-capture">');const rw=500,Ur=(e,t="")=>{const n=Ti(t);return{id:e,input:n,title:Ns(n),name:void 0,url:n,stack:n?[n]:[],idx:n?0:-1}},xa=e=>{const t=Array.isArray(e.stack)?e.stack.filter(r=>typeof r=="string"&&r.length>0):e.url?[e.url]:[],n=t.length?typeof e.idx=="number"?Math.min(Math.max(e.idx,0),t.length-1):t.length-1:-1;return{list:t,idx:n}},is=(e,t,n)=>{const r=Ti(t),i=xa(e),o=i.list.slice(0,i.idx+1);return o[o.length-1]!==r&&o.push(r),{...e,input:r,title:n??e.name??Ns(r),name:n??e.name,url:r,stack:o,idx:o.length-1}},Xl=(e,t)=>{const n=xa(e),r=n.list[t]??"";return{...e,input:r,title:e.name??Ns(r),url:r,stack:n.list,idx:t}},iw=e=>e.url??(e.port?`http://localhost:${e.port}`:""),sw=e=>e==="mobile"?"preview-web--mobile":e==="tablet"?"preview-web--tablet":"preview-web--desktop";function ow(){const e=Jt(),t=tg(),[n,r]=mr(hr.workspace(e.directory,"browser"),et({active:"1",next:2,tabs:[Ur("1")]})),i=_(()=>n.tabs.find(O=>O.id===n.active)??n.tabs[0]),o=_(()=>i()?.id),a=_(()=>i()?.url),[c,l]=mr(hr.global("preview-viewport",["preview-viewport.v1"]),et({mode:"desktop"})),[u,g]=et({show:!1,logs:[],next:0}),f=_(()=>{const O=i();return O?xa(O):{list:[],idx:-1}}),h=_(()=>{const O=a();if(!O)return;const L=ng(O);return t.services().find(T=>T.type==="web"&&T.status==="running"&&(T.url&&rg(T.url,O)||T.port&&T.port===L))}),p=_(()=>{const O=a(),L=h();if(!O||!L)return O;const T=new URLSearchParams({directory:e.directory}),E=ig(O,iw(L));return E&&T.set("path",E),`${e.url}/preview/proxy/${encodeURIComponent(L.name)}?${T}`}),x=O=>{if(O.data?.source!=="oc-console")return;console.debug("[BrowserPanel] received console message:",O.data);const L={id:u.next,level:O.data.level,args:O.data.args,timestamp:O.data.timestamp};g("logs",T=>T.length>=rw?[...T.slice(1),L]:[...T,L]),g("next",u.next+1)};window.addEventListener("message",x),rt(()=>window.removeEventListener("message",x)),xe(ft(o,()=>{g("logs",[]),g("next",0)})),xe(()=>{if(n.tabs.length>0){n.tabs.some(L=>L.id===n.active)||r("active",n.tabs[0].id);return}const O=`${n.next}`;sn(()=>{r("next",n.next+1),r("tabs",[Ur(O)]),r("active",O)})}),xe(ft(()=>t.target()?.id,()=>{const O=t.target(),L=Ti(O?.url??"");if(!L)return;const T=n.tabs.find(E=>O?.name&&E.name===O.name||E.url===L);if(!T){const E=`${n.next}`;sn(()=>{r("next",n.next+1),r("tabs",P=>[...P,is({...Ur(E),title:O?.name??"New Tab"},L,O?.name)]),r("active",E)});return}sn(()=>{r("active",T.id),r("tabs",E=>E.map(P=>P.id===T.id?is(P,L,O?.name):P))})}));const v=(O="",L)=>{const T=`${n.next}`,E=Ti(O);sn(()=>{r("next",n.next+1),r("tabs",P=>[...P,E?is({...Ur(T,O),title:Ns(E)},E,L):Ur(T)]),r("active",T)})},b=O=>{r("active",O)},m=(O,L)=>{r("tabs",T=>T.map(E=>E.id===O?{...E,input:L,title:L.trim()?E.title:"New Tab"}:E))},$=O=>{const L=n.tabs.find(E=>E.id===O);if(!L)return;const T=Ti(L.input);T&&r("tabs",E=>E.map(P=>P.id===O?is(P,T):P))},w=O=>{const L=n.tabs.findIndex(E=>E.id===O);if(L===-1)return;if(n.tabs.length===1){r("tabs",[Ur(O)]);return}const T=n.tabs[L-1]??n.tabs[L+1];sn(()=>{r("tabs",E=>E.filter(P=>P.id!==O)),n.active===O&&T&&r("active",T.id)})},y=()=>{const O=i();if(!O?.url)return;r("tabs",T=>T.map(E=>E.id===O.id?{...E,url:`${O.url}`}:E));const L=document.getElementById(`browser-frame-${O.id}`);L&&(L.src=p()??O.url)},S=()=>{const O=i(),L=f();!O||L.idx<1||r("tabs",T=>T.map(E=>E.id===O.id?Xl(E,L.idx-1):E))},C=()=>{const O=i(),L=f();!O||L.idx<0||L.idx>=L.list.length-1||r("tabs",T=>T.map(E=>E.id===O.id?Xl(E,L.idx+1):E))},[A,R]=et({hasFocus:!1}),V=O=>{R("hasFocus",!0);try{document.getElementById(`browser-frame-${O}`)?.contentWindow?.focus()}catch{}},N=O=>{if(!A.hasFocus)return;const T=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"," ","Tab","Enter","Backspace","Escape"].includes(O.key);if(!(T&&O.key==="Enter"&&document.activeElement?.tagName==="INPUT"))try{const E=i();if(!E){T&&O.preventDefault();return}const P=document.getElementById(`browser-frame-${E.id}`),j=P?.contentWindow;if(!j){T&&O.preventDefault();return}document.activeElement!==P&&P.focus();const G=j.document;if(!G){T&&O.preventDefault();return}const q=new KeyboardEvent(O.type,{key:O.key,code:O.code,keyCode:O.keyCode,which:O.which,bubbles:!0,cancelable:!0,ctrlKey:O.ctrlKey,shiftKey:O.shiftKey,altKey:O.altKey,metaKey:O.metaKey});G.dispatchEvent(q),T&&O.preventDefault()}catch{T&&O.preventDefault()}},B=O=>{document.getElementById("browser-content")?.contains(O.target)?R("hasFocus",!0):document.activeElement?.tagName!=="IFRAME"&&R("hasFocus",!1)};return rt(()=>{window.removeEventListener("keydown",N,!0),window.removeEventListener("mousedown",B)}),xe(()=>{window.addEventListener("keydown",N,!0),window.addEventListener("mousedown",B)}),(()=>{var O=Qy(),L=O.firstChild,T=L.firstChild,E=L.nextSibling,P=E.firstChild,j=P.nextSibling,G=j.nextSibling,q=G.nextSibling,z=q.firstChild,F=E.nextSibling;return d(T,s(ze,{get each(){return n.tabs},children:Z=>(()=>{var U=Jy(),se=U.firstChild,he=se.nextSibling;return U.$$click=()=>b(Z.id),d(U,s(_i,{class:"size-3.5 shrink-0"}),se),d(se,()=>Z.title),he.$$click=ee=>{ee.stopPropagation(),w(Z.id)},ie(ee=>bt(U,{"border-border-weak-base bg-surface-raised-base text-text-strong":n.active===Z.id,"border-border-weaker-base bg-background-base text-text-weak hover:text-text-base hover:bg-surface-raised-base/40":n.active!==Z.id},ee)),U})()})),d(L,s(pt,{icon:"plus-small",variant:"ghost",class:"!rounded-md shrink-0",onClick:()=>v(),"aria-label":"New tab"}),null),P.$$click=S,d(P,s(sg,{class:"size-4"})),j.$$click=C,d(j,s(og,{class:"size-4"})),G.$$click=y,d(G,s(jc,{class:"size-4"})),d(q,s(_i,{class:"size-4 shrink-0 text-text-weaker"}),z),z.$$keydown=Z=>{if(Z.key!=="Enter")return;const U=o();U&&$(U)},z.$$input=Z=>{const U=o();U&&m(U,Z.currentTarget.value)},ue(z,"spellcheck",!1),d(E,s(ot,{variant:"secondary",size:"small",class:"shrink-0",onClick:()=>{const Z=o();Z&&$(Z)},children:"Go"}),null),d(E,s(M,{get when(){return a()},get children(){return[(()=>{var Z=Yy(),U=Z.firstChild,se=U.nextSibling,he=se.nextSibling;return U.$$click=()=>l("mode","mobile"),d(U,s(ag,{class:"size-3.5"})),se.$$click=()=>l("mode","tablet"),d(se,s(lg,{class:"size-3.5"})),he.$$click=()=>l("mode","desktop"),d(he,s(cg,{class:"size-3.5"})),ie(ee=>{var oe=`preview-viewport-btn ${c.mode==="mobile"?"preview-viewport-btn--active":""}`,ae=`preview-viewport-btn ${c.mode==="tablet"?"preview-viewport-btn--active":""}`,fe=`preview-viewport-btn ${c.mode==="desktop"?"preview-viewport-btn--active":""}`;return oe!==ee.e&&zt(U,ee.e=oe),ae!==ee.t&&zt(se,ee.t=ae),fe!==ee.a&&zt(he,ee.a=fe),ee},{e:void 0,t:void 0,a:void 0}),Z})(),(()=>{var Z=Zy();return Z.$$click=()=>g("show",!u.show),d(Z,s(Hc,{class:"size-4"}),null),d(Z,s(M,{get when(){return u.logs.length>0},get children(){var U=Xy();return d(U,()=>u.logs.length),U}}),null),ie(()=>Z.classList.toggle("preview-action-btn--active",!!u.show)),Z})()]}}),null),d(F,s(M,{get when(){return i()},get fallback(){return ew()},children:Z=>s(M,{get when(){return p()},get fallback(){return(()=>{var U=tw(),se=U.firstChild;return d(U,s(_i,{class:"size-10 opacity-20"}),se),U})()},children:U=>(()=>{var se=nw(),he=se.firstChild,ee=he.firstChild;return he.$$click=()=>V(Z().id),ee.addEventListener("load",()=>V(Z().id)),d(se,s(M,{get when(){return u.show},get children(){return s(Ky,{get logs(){return u.logs},onClear:()=>g("logs",[])})}}),null),ie(oe=>{var ae=`preview-web ${sw(c.mode)} flex-1 flex flex-col min-h-0`,fe=!!A.hasFocus,$e=`browser-frame-${Z().id}`,Me=U();return ae!==oe.e&&zt(he,oe.e=ae),fe!==oe.t&&he.classList.toggle("preview-web--focused",oe.t=fe),$e!==oe.a&&ue(ee,"id",oe.a=$e),Me!==oe.o&&ue(ee,"src",oe.o=Me),oe},{e:void 0,t:void 0,a:void 0,o:void 0}),se})()})})),ie(Z=>{var U=f().idx<1,se=f().idx<0||f().idx>=f().list.length-1;return U!==Z.e&&(P.disabled=Z.e=U),se!==Z.t&&(j.disabled=Z.t=se),Z},{e:void 0,t:void 0}),ie(()=>z.value=i()?.input??""),O})()}Mt(["click","input","keydown"]);const xo=1e3;async function Ss(e){try{return await e.json()}catch{return}}async function Kr(e,t,n,r){try{const i=await e(Zo(t,n,r));return i.ok?Ss(i):void 0}catch{return}}async function aw(e,t,n){const r=[];for(let i=0;;i+=xo){const o=await Kr(e,t,n,`/store/entities?limit=${xo}&offset=${i}`);if(!o)return r.length>0?r:void 0;if(r.push(...o),o.length<xo)return r}}function lw(e,t,n,r){return JSON.stringify({stats:e,entities:t?.map(i=>[i.id,i.type]),facts:n,links:r})}async function ss(e,t,n,r,i){try{const o=await e(Zo(t,n,r),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});return o.ok?Ss(o):void 0}catch{return}}const Ru=dg({name:"TrellisStore",init:()=>{const e=Jt(),[t,n]=et({ready:!1,revision:0,catalog:[],entities:[],facts:[],links:[],fresh:[]}),r=_(()=>e.url),i=_(()=>e.directory),o=e.fetch;let a=!1,c;const l=(y,S)=>{if(!y)return;const C=new Set(t.entities.map(R=>R.id)),A=a?y.filter(R=>!C.has(R.id)):[];if(a=!0,A.length!==0&&(c&&clearTimeout(c),n("fresh",A.map(R=>R.id)),c=setTimeout(()=>n("fresh",[]),6e3),S)){const R=new Map;for(const V of A)R.set(V.type,(R.get(V.type)??0)+1);at({variant:"success",title:A.length===1?`Added ${A[0].type}`:`Added ${A.length} entities`,description:[...R.entries()].map(([V,N])=>`${N} ${V}`).join(" · ")})}},u=async(y=!0)=>{try{const[S,C,A,R,V]=await Promise.all([Kr(o,r(),i(),"/store/stats"),Kr(o,r(),i(),"/store/catalog"),aw(o,r(),i()),Kr(o,r(),i(),"/store/facts?limit=5000"),Kr(o,r(),i(),"/store/links")]);l(A,y),S&&n("stats",$n(S)),C&&n("catalog",$n(C)),A&&n("entities",$n(A,{key:"id"})),R&&n("facts",$n(R)),V&&n("links",$n(V));const N=lw(S,A,R,V);N!==t.sig&&(n("sig",N),n("revision",t.revision+1)),n("error",void 0)}catch(S){n("error",S instanceof Error?S.message:String(S))}finally{n("ready",!0)}},g=async y=>{const S=await Kr(o,r(),i(),`/store/entity/${encodeURIComponent(y)}`);S&&n("selected",$n(S))},f=()=>n("selected",void 0),h=async y=>{const S=new URLSearchParams;S.set("directory",i()),y.attribute&&S.set("attribute",y.attribute),y.value&&S.set("value",y.value),y.limit&&S.set("limit",String(y.limit));try{const C=await o(`${r()}/trellis/store/facts?${S}`);if(!C.ok)return;const A=await Ss(C);A&&n("facts",$n(A))}catch{}},p=async y=>{const S=new URLSearchParams;S.set("directory",i()),y.entity&&S.set("entity",y.entity),y.attribute&&S.set("attribute",y.attribute);try{const C=await o(`${r()}/trellis/store/links?${S}`);if(!C.ok)return;const A=await Ss(C);A&&n("links",$n(A))}catch{}},x=async y=>{const S=await ss(o,r(),i(),"/store/assert",{facts:y});return S&&await u(),S},v=async y=>{const S=await ss(o,r(),i(),"/store/retract",{facts:y});return S&&await u(),S},b=async y=>{const S=await ss(o,r(),i(),"/store/link",{links:y});return S&&await u(),S},m=async y=>{const S=await ss(o,r(),i(),"/store/unlink",{links:y});return S&&await u(),S};u();const $=setInterval(u,5e3),w=y=>void u(!(y instanceof CustomEvent&&y.detail&&y.detail.quiet===!0));return typeof window<"u"&&window.addEventListener("trellis-store-changed",w),rt(()=>{clearInterval($),c&&clearTimeout(c),typeof window<"u"&&window.removeEventListener("trellis-store-changed",w)}),{get ready(){return t.ready},get error(){return t.error},get revision(){return t.revision},get stats(){return t.stats},get catalog(){return t.catalog},get entities(){return t.entities},get selected(){return t.selected},get facts(){return t.facts},get links(){return t.links},get fresh(){return t.fresh},refresh:u,select:g,deselect:f,query:h,queryLinks:p,assert:x,retract:v,link:b,unlink:m}}}),Vs=Ru.use,cw=Ru.provider,ve=(e,t,n="text",r=!1)=>({key:e,label:t,type:n,required:r}),Yr=(e,t)=>{const n=t.map(a=>a.key==="color"?{...a,type:"color",required:!0,default:a.default??hs(e)}:a.key==="icon"?{...a,type:"select",required:!0,default:a.default??vs(e),options:a.options??ps}:a),r=new Set(n.map(a=>a.key)),i=[{...ve("color","Color","color",!0),default:hs(e)},{...ve("icon","Icon","select",!0),default:vs(e),options:ps},ve("body","Body")].filter(a=>!r.has(a.key)),o=n.findIndex(a=>a.key==="type");return o<0?[...i,...n]:[...n.slice(0,o+1),...i,...n.slice(o+1)]},dw={issue:[ve("type","Type","text",!0),ve("title","Title","text",!0),ve("status","Status","select"),ve("priority","Priority","select"),ve("assignee","Assignee"),ve("branch","Branch"),ve("criteriaCount","Criteria Count","number"),ve("criteriaPassed","Criteria Passed","number"),ve("createdAt","Created At","date"),ve("updatedAt","Updated At","date")],agent:[ve("type","Type","text",!0),ve("name","Name"),ve("model","Model"),ve("provider","Provider"),ve("status","Status")],project:[ve("type","Type","text",!0),ve("name","Name"),ve("path","Path"),ve("createdAt","Created At","date"),ve("updatedAt","Updated At","date")],memory:[ve("type","Type","text",!0),ve("title","Title"),ve("content","Content"),ve("createdAt","Created At","date"),ve("updatedAt","Updated At","date")],mcp:[ve("type","Type","text",!0),ve("name","Name"),ve("status","Status"),ve("command","Command")],sprite:[ve("type","Type","text",!0),ve("name","Name"),ve("github","GitHub"),ve("createdAt","Created At","date"),ve("updatedAt","Updated At","date")],workunit:[ve("type","Type","text",!0),ve("title","Title","text",!0),ve("body","Body"),ve("status","Status","select"),ve("priority","Priority","select"),ve("phase","Phase"),ve("context","Context"),ve("assignee","Assignee"),ve("branch","Branch"),ve("criteriaCount","Criteria Count","number"),ve("criteriaPassed","Criteria Passed","number"),ve("createdAt","Created At","date"),ve("updatedAt","Updated At","date")],cycle:[ve("type","Type","text",!0),ve("title","Title","text",!0),ve("status","Status","select"),ve("horizon","Horizon"),ve("createdAt","Created At","date"),ve("updatedAt","Updated At","date")],epic:[ve("type","Type","text",!0),ve("title","Title","text",!0),ve("status","Status","select"),ve("targetDate","Target Date","date"),ve("createdAt","Created At","date"),ve("updatedAt","Updated At","date")],roadmap:[ve("type","Type","text",!0),ve("title","Title","text",!0),ve("status","Status","select"),ve("horizon","Horizon"),ve("createdAt","Created At","date"),ve("updatedAt","Updated At","date")],suggestion:[ve("type","Type","text",!0),ve("title","Title"),ve("description","Description"),ve("priority","Priority","select"),ve("dismissed","Dismissed","boolean"),ve("createdAt","Created At","date")],file:[ve("type","Type","text",!0),ve("path","Path","text",!0),ve("language","Language"),ve("size","Size","number"),ve("contentHash","Content Hash"),ve("modifiedAt","Modified At","date"),ve("lastModified","Last Modified","date")],directory:[ve("type","Type","text",!0),ve("path","Path","text",!0)],op:[ve("type","Type","text",!0),ve("kind","Kind"),ve("time","Time","date"),ve("summary","Summary")],branch:[ve("type","Type","text",!0),ve("name","Name","text",!0),ve("current","Current","boolean"),ve("createdAt","Created At","date"),ve("createdBy","Created By")],decision:[ve("type","Type","text",!0),ve("title","Title"),ve("status","Status"),ve("context","Context"),ve("toolName","Tool Name"),ve("toolInput","Tool Input"),ve("outputSummary","Output Summary"),ve("createdAt","Created At","date"),ve("createdBy","Created By")],session:[ve("type","Type","text",!0),ve("title","Title"),ve("createdAt","Created At","date"),ve("updatedAt","Updated At","date")],typeschema:[ve("type","Type","text",!0),ve("label","Label"),ve("props","Props")]},uw={phase:Yr("phase",[ve("type","Type","text",!0),ve("title","Title","text",!0),ve("description","Description"),ve("context","Context")]),risk:Yr("risk",[ve("type","Type","text",!0),ve("title","Title","text",!0),ve("description","Description"),ve("context","Context")]),mitigationstrategy:Yr("mitigationstrategy",[ve("type","Type","text",!0),ve("title","Title","text",!0),ve("description","Description"),ve("context","Context")]),checkpoint:Yr("checkpoint",[ve("type","Type","text",!0),ve("trigger","Trigger"),ve("atOpHash","At Op Hash"),ve("createdAt","Created At","date")]),acceptancecriteria:Yr("acceptancecriteria",[ve("type","Type","text",!0),ve("title","Title","text",!0),ve("description","Description"),ve("context","Context")])},fw=["branch:","decision:","dir:","file:","issue:","mcp:","session:","sprite:"],gw=new Set(["Branch","Decision","DirectoryNode","FileNode","Issue","Session","Sprite","TypeSchema"]);function Fu(e){return gw.has(e.type)?!1:!fw.some(t=>e.id.startsWith(t))}function ri(e){return e.trim().toLowerCase()}function Gn(e){const t=e.trim();return t==="DirectoryNode"?"directory":t==="FileNode"?"file":t==="MilestoneEpic"?"epic":ri(t)}function ba(e,t){return Gn(e)===ri(t)}function mw(e){const t=e.trim();return t==="Branch"?"branch":t==="Decision"?"decision":t==="DirectoryNode"?"directory":t==="FileNode"?"file":t==="Issue"?"issue":t==="MilestoneEpic"?"epic":t==="Roadmap"?"roadmap":t==="Session"?"session":t==="Sprite"?"sprite":t==="WorkUnit"?"workunit":t}function Zl(e){return dw[ri(e)]}function Ql(e){return uw[ri(e)]}function Jl(e,t){return Yr(e,t)}function hw(e,t){const n={};for(const r of e)Fu(r)&&(n[Gn(r.type)]=[]);for(const[r,i]of Object.entries(t))n[r]=i;return n}const[ec,tc]=De(),No={pending:ec,request(e){tc(e)},clear(){ec()!==void 0&&tc(void 0)}},ya=1,pw="trellis.graph.layout:v1:",zu=e=>pw+e;function vw(e){if(!(typeof localStorage>"u"))try{const t=localStorage.getItem(zu(e));if(!t)return;const n=JSON.parse(t);return n?.v!==ya||!n.positions||typeof n.positions!="object"?void 0:n}catch{return}}function nc(e,t){if(!(typeof localStorage>"u"))try{localStorage.setItem(zu(e),JSON.stringify({...t,v:ya}))}catch{}}function xw(e,t=800){let n,r;return{save:a=>{r=a,n&&clearTimeout(n),n=setTimeout(()=>{n=void 0,r&&(nc(e,r),r=void 0)},t)},flush:()=>{n&&(clearTimeout(n),n=void 0),r&&(nc(e,r),r=void 0)}}}function Ou(e,t){const n={};for(const r of e)typeof r.x=="number"&&typeof r.y=="number"&&isFinite(r.x)&&isFinite(r.y)&&(n[r.id]={x:r.x,y:r.y});return{v:ya,zoom:t,positions:n}}function Nu(e,t){if(!t)return 0;let n=0;for(const r of e){const i=t.positions[r.id];i&&(r.x=i.x,r.y=i.y,r.vx=0,r.vy=0,n++)}return n}const Bu={light:2e3,heavy:15e3},Mr={dist:1,charge:1,collide:1,decay:1};function ur(e){return Or(e.type,e.status,e.color)}function qu(e){return Wc(e.type,e.icon)}function Rn(e){return e.type==="issue"?15:e.type==="project"?13:e.type==="sprite"?12:e.type==="roadmap"?11:e.type==="epic"?10:e.type==="cycle"?8:e.type==="suggestion"?6:e.type==="directory"?8:e.type==="op"?4:e.type==="file"?e.size?Math.min(18,6+Math.max(0,Math.log2(e.size/512))*1.5):6:7}const bw=140;function yw(e,t,n){const r=bw/Math.min(1,e.k);return{left:(-e.x-r)/e.k,top:(-e.y-r)/e.k,right:(t-e.x+r)/e.k,bottom:(n-e.y+r)/e.k}}function rc(e,t){const n=e.x??0,r=e.y??0;return n>=t.left&&n<=t.right&&r>=t.top&&r<=t.bottom}function os(e,t){const n=e.source,r=e.target,i=n.x??0,o=n.y??0,a=r.x??0,c=r.y??0;return Math.max(i,a)>=t.left&&Math.min(i,a)<=t.right&&Math.max(o,c)>=t.top&&Math.min(o,c)<=t.bottom}function ww(e,t){const n=new Map;for(const a of e)n.set(a.id,a);const r=new Map;for(const a of e)r.set(a.id,new Set);for(const a of t){const c=typeof a.source=="string"?a.source:a.source.id,l=typeof a.target=="string"?a.target:a.target.id;r.get(c)?.add(l),r.get(l)?.add(c)}const i=new Map;return{byId:n,adjacency:r,getClosure:a=>{const c=i.get(a);if(c)return c;const l=r.get(a)??new Set,u=new Set([a,...l]);return i.set(a,u),u}}}class $w{cell;buckets=new Map;constructor(t=40){this.cell=t}key(t,n){return t*100003+n}rebuild(t){this.buckets.clear();const n=this.cell;for(const r of t){const i=Math.floor((r.x??0)/n),o=Math.floor((r.y??0)/n),a=this.key(i,o),c=this.buckets.get(a);c?c.push(r):this.buckets.set(a,[r])}}find(t,n,r,i){const o=this.cell,a=Math.max(1,Math.ceil(r/o)),c=Math.floor(t/o),l=Math.floor(n/o);let u=null,g=1/0;for(let f=-a;f<=a;f++)for(let h=-a;h<=a;h++){const p=this.buckets.get(this.key(c+f,l+h));if(p)for(const x of p){const v=(x.x??0)-t,b=(x.y??0)-n,m=v*v+b*b,$=i(x);m<=$*$&&m<g&&(g=m,u=x)}}return u}}class kw{constructor(t){this.dpr=t}cache=new Map;entity(t,n,r,i=2.25,o){const a=o?Wc(t,o):Pa[t]??Pa.entity;if(!a)return null;const c=`${t}|${o??""}|${n}|${r}|${i}|${this.dpr}`,l=this.cache.get(c);if(l)return l;const u=Math.max(4,Math.round(r*this.dpr)),g=document.createElement("canvas");g.width=u,g.height=u;const f=g.getContext("2d");if(!f)return null;const h=u/24;return f.setTransform(h,0,0,h,0,0),f.lineCap="round",f.lineJoin="round",f.strokeStyle=n,f.lineWidth=i,Cw(f,a),this.cache.set(c,g),g}clear(){this.cache.clear()}}function Cw(e,t){const n=/<(path|circle|rect|line)\b([^/>]*)\/>/g;let r;for(;r=n.exec(t);){const i=r[1],o=_w(r[2]);if(i==="path"&&o.d)try{e.stroke(new Path2D(o.d))}catch{}else if(i==="circle"){const a=Wn(o.cx),c=Wn(o.cy),l=Wn(o.r);l>0&&(e.beginPath(),e.arc(a,c,l,0,Math.PI*2),e.stroke())}else if(i==="rect"){const a=Wn(o.x),c=Wn(o.y),l=Wn(o.width),u=Wn(o.height);l>0&&u>0&&e.strokeRect(a,c,l,u)}else if(i==="line"){const a=Wn(o.x1),c=Wn(o.y1),l=Wn(o.x2),u=Wn(o.y2);e.beginPath(),e.moveTo(a,c),e.lineTo(l,u),e.stroke()}}}function _w(e){const t={},n=/(\w+)\s*=\s*"([^"]*)"/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}function Wn(e){if(!e)return 0;const t=Number(e);return Number.isFinite(t)?t:0}function Sw(e){const t=e.appendChild(document.createElement("div"));t.setAttribute("class","graph-tooltip"),t.style.cssText="position:absolute;pointer-events:none;z-index:20;display:none;padding:0;border-radius:8px;font-size:11px;line-height:1.4;background:color-mix(in srgb, var(--surface-raised-base) 85%, transparent);backdrop-filter:blur(4px);border:1px solid var(--border-base);color:var(--text-strong);box-shadow:0 6px 20px rgba(0,0,0,.35);width:max-content;max-width:min(480px,90vw);opacity:0;transform:translateY(2px);transition:opacity 80ms ease-out,transform 80ms ease-out;";let n=null;const r=(i,o)=>{const a=t.offsetWidth,c=t.offsetHeight;let l=i.x-a/2,u=i.y-i.r-c-10;u<4&&(u=i.y+i.r+10),l<4&&(l=4),l+a>o.w-4&&(l=o.w-a-4),t.style.left=l+"px",t.style.top=u+"px"};return{show(i,o,a){t.innerHTML=i,n!==null&&(clearTimeout(n),n=null),t.style.display="block",r(o,a),requestAnimationFrame(()=>{t.style.opacity="1",t.style.transform="translateY(0)"})},reposition:r,hide(){t.style.opacity="0",t.style.transform="translateY(4px)",n=setTimeout(()=>{t.style.display="none",n=null},140)},destroy(){n!==null&&(clearTimeout(n),n=null),t.remove()}}}function as(e){return e.replace(/[&<>"']/g,t=>{switch(t){case"&":return"&";case"<":return"<";case">":return">";case'"':return""";default:return"'"}})}function Tw(e){const t=ur(e),n=as(e.type.replace(/_/g," ")),r=as(e.label),i=e.status?`<div style="color:var(--text-weaker);margin-top:1px">Status: ${as(e.status.replace(/_/g," "))}</div>`:"",o=e.priority?`<div style="color:var(--text-weaker)">Priority: ${as(e.priority)}</div>`:"";return`<div style="padding:10px 24px 10px 12px"><div style="display:flex;align-items:center;gap:6px;margin-bottom:2px"><span style="width:8px;height:8px;border-radius:50%;background:${t};flex-shrink:0"></span><span style="font-weight:600;text-transform:capitalize">${n}</span></div><div style="color:var(--text-weak);white-space:nowrap">${r}</div>`+i+o+"</div>"}function ic(e,t,n,r,i=Mr){const o=e.parentElement;if(!o)throw new Error("graph-canvas: svgEl must be in a container");const a=()=>e.clientWidth||o.clientWidth||800,c=()=>e.clientHeight||o.clientHeight||600,l=window.devicePixelRatio||1,u=t.length>Bu.heavy,g=Nu(t,r.layout?.load()),f=g>0&&g>=Math.floor(t.length*.6),h=document.createElement("canvas");h.className="graph-canvas",h.setAttribute("tabindex","0"),h.style.cssText="position:absolute;inset:0;width:100%;height:100%;touch-action:none;outline:none;",o.insertBefore(h,e);const p=h.getContext("2d",{alpha:!0});if(!p)throw new Error("graph-canvas: 2D context unavailable");const x=p,v={pointerEvents:e.style.pointerEvents,position:e.style.position,inset:e.style.inset,zIndex:e.style.zIndex};e.style.pointerEvents="none",e.style.position="absolute",e.style.inset="0",e.style.zIndex="2",h.style.zIndex="1";const b=_n(e);b.selectAll("*").remove();const m=document.createElementNS("http://www.w3.org/2000/svg","style");m.textContent="@keyframes edgeFlow{to{stroke-dashoffset:-16}}.edge-flow{animation:edgeFlow 0.5s linear infinite}",e.prepend(m);const $=b.append("g");function w(){const J=a(),de=c();h.width=Math.floor(J*l),h.height=Math.floor(de*l),h.style.width=J+"px",h.style.height=de+"px"}w();const y=new ResizeObserver(()=>{w(),tn(),Ln()});y.observe(o);const{byId:S,adjacency:C,getClosure:A}=ww(t,n),R=new kw(l),V=new $w(40);let N=Fn;const B=r.layout?.load();B?.zoom&&(N=Fn.translate(B.zoom.x,B.zoom.y).scale(B.zoom.k));let O=null,L=null,T=!1,E=null,P=null,j=0,G;const q=new Set(t.filter(J=>J.fresh).map(J=>J.id)),z=Date.now();let F=0,Z=0,U=0;const se=.18,he=.35,ee=1,oe=.4,ae=r.layout?{save:r.layout.save,flush:r.layout.flush}:{save:()=>{},flush:()=>{}},fe=()=>{ae.save(Ou(t,{x:N.x,y:N.y,k:N.k}))},$e=n.map(J=>({source:J.source,target:J.target,type:J.type})),Me=t.length,Q=Me>2200?45:Me>1200?60:90,ne=Me>2200?-90:Me>1200?-130:-250,re=Me>2200?11:Me>1200?15:22,H=Me>2200?.09:Me>1200?.07:.05;let Y={...i};const ge=()=>Q*Y.dist,te=()=>ne*Y.charge,Re=()=>re*Y.collide,Te=()=>H*Y.decay;if(G=sd(t).force("link",id($e).id(J=>J.id).distance(ge())).force("charge",od().strength(te())).force("collide",rd(Re())).alphaDecay(Te()),f||G.force("center",td(a()/2,c()/2)),f&&G.alpha(.15).alphaTarget(0),G.on("tick",()=>{tn()}),G.on("end",()=>{V.rebuild(t),fe()}),u){const J=f?30:Math.min(600,Math.max(150,Math.floor(t.length/80))),de=G;de.alpha(f?.15:1);for(let Ie=0;Ie<J;Ie++)de.tick();de.stop(),V.rebuild(t)}else V.rebuild(t);const me=ad().scaleExtent([.15,4]).extent(()=>[[0,0],[a(),c()]]).filter(J=>J.type==="wheel"?J.ctrlKey||J.metaKey:J.type==="mousedown"&&J.button===0&&Ge(J)?!1:J.button===0||J.button===1).on("zoom",J=>{N=J.transform,tn(),Ln(),fe()}),tt=_n(h);tt.call(me),h.addEventListener("wheel",J=>{J.ctrlKey||J.metaKey||(J.preventDefault(),tt.call(me.translateBy,-J.deltaX,-J.deltaY))},{passive:!1}),h.addEventListener("mousedown",J=>{J.button===1&&(J.preventDefault(),h.style.cursor="grabbing")}),h.addEventListener("mouseup",J=>{J.button===1&&!T&&(h.style.cursor="default")});const Ae=J=>{if(!(J instanceof HTMLElement))return!1;if(J.isContentEditable)return!0;const de=J.tagName;return de==="INPUT"||de==="TEXTAREA"||de==="SELECT"},_e=J=>{J.code!=="Space"||T||Ae(J.target)||(J.preventDefault(),T=!0,h.style.cursor="grab",me.scaleExtent([N.k,N.k]))},Le=J=>{J.code==="Space"&&T&&(J.preventDefault(),T=!1,h.style.cursor="default",me.scaleExtent([.15,4]))};window.addEventListener("keydown",_e),window.addEventListener("keyup",Le),h.focus();function ke(J){const de=h.getBoundingClientRect();return{x:(J.clientX-de.left-N.x)/N.k,y:(J.clientY-de.top-N.y)/N.k}}function Ge(J){const de=ke(J);return V.find(de.x,de.y,Math.max(8,40/N.k),Rn)}const vt=2.1;let Rt=1,Pt=1,St=null;function Tt(){U=0;const J=Pt-Rt;if(Math.abs(J)<.005){Rt=Pt,Pt===1&&(St=null),tn();return}Rt+=J*.28,tn(),U=requestAnimationFrame(Tt)}function Ut(J){J?(St=J,Pt=vt):Pt=1,U||(U=requestAnimationFrame(Tt))}const ye=90,Ze=1.75,Pe=t.length>4e3;function Be(J){if(St===J.id)return Rt;if(Pe||E===null||P===null)return 1;const de=(J.x??0)-E,Ie=(J.y??0)-P,Ee=de*de+Ie*Ie,je=ye*ye;if(Ee>=je)return 1;const Ue=1-Math.sqrt(Ee)/ye,lt=Ue*Ue*(3-2*Ue);return 1+(Ze-1)*lt}const Ft=Sw(o);function qt(J){if(O!==J){if(O=J,J){const de=S.get(J);de&&(Ft.show(Tw(de),{x:(de.x??0)*N.k+N.x,y:(de.y??0)*N.k+N.y,r:Rn(de)*N.k},{w:a(),h:c()}),Ut(J))}else Ft.hide(),Ut(null);tn()}}h.addEventListener("mousemove",J=>{const de=ke(J);if(E=de.x,P=de.y,!L){if(N.k<oe)O&&qt(null);else{const Ie=V.find(de.x,de.y,Math.max(8,40/N.k),Rn);qt(Ie?.id??null)}Pe||tn()}}),h.addEventListener("mouseleave",()=>{E=null,P=null,O&&qt(null),tn()});let Nt=null;h.addEventListener("mousedown",J=>{if(J.button!==0)return;Nt={x:J.clientX,y:J.clientY};const de=Ge(J);de&&(J.preventDefault(),J.stopPropagation(),L=de,G&&!u&&!J.active&&G.alphaTarget(.3).restart(),de.fx=de.x,de.fy=de.y)});const Gt=J=>{if(!L)return;const de=ke(J);L.fx=de.x,L.fy=de.y,u&&(L.x=de.x,L.y=de.y),tn()},Ht=()=>{Nt&&(Nt=null),L&&(G&&!u&&G.alphaTarget(0),L.fx=null,L.fy=null,V.rebuild(t),fe(),L=null)};window.addEventListener("mousemove",Gt),window.addEventListener("mouseup",Ht),h.addEventListener("click",J=>{if(Nt){const Ie=J.clientX-Nt.x,Ee=J.clientY-Nt.y;if(Nt=null,Ie*Ie+Ee*Ee>9)return}const de=Ge(J);de?r.onSelect(de):r.onDeselect()});const Ot=180,$t=120,nn=6,en=o.appendChild(document.createElement("canvas"));en.width=Ot*l,en.height=$t*l,en.setAttribute("class","graph-minimap"),en.style.cssText=`position:absolute;left:12px;bottom:12px;z-index:15;width:${Ot}px;height:${$t}px;background:color-mix(in srgb, var(--background-base) 88%, transparent);border:1px solid var(--border-base);border-radius:6px;box-shadow:0 2px 10px rgba(0,0,0,.35);cursor:pointer;`;const Wt=en.getContext("2d");Wt.scale(l,l);const Pn=new Map;function an(J){const de=Pn.get(J.type);if(de)return de;const Ie=ur(J);return Pn.set(J.type,Ie),Ie}function Zn(){let J=1/0,de=1/0,Ie=-1/0,Ee=-1/0;for(const wt of t){const be=wt.x??0,ct=wt.y??0;be<J&&(J=be),ct<de&&(de=ct),be>Ie&&(Ie=be),ct>Ee&&(Ee=ct)}const je=a(),Ue=c(),lt=-N.x/N.k,xt=-N.y/N.k,kt=(je-N.x)/N.k,dt=(Ue-N.y)/N.k;J=Math.min(J,lt),de=Math.min(de,xt),Ie=Math.max(Ie,kt),Ee=Math.max(Ee,dt),Number.isFinite(J)||(J=0,de=0,Ie=je,Ee=Ue);const Oe=Ie-J||1,Qe=Ee-de||1,it=Math.min((Ot-nn*2)/Oe,($t-nn*2)/Qe);return{minX:J,minY:de,maxX:Ie,maxY:Ee,scale:it}}function wn(J,de,Ie){return[nn+(J-Ie.minX)*Ie.scale,nn+(de-Ie.minY)*Ie.scale]}function Ln(){Z||(Z=requestAnimationFrame(()=>{Z=0,Wt.clearRect(0,0,Ot,$t);const J=Zn();Wt.globalAlpha=.7;const de=new Map;for(const wt of t){const be=an(wt),ct=de.get(be);ct?ct.push(wt):de.set(be,[wt])}for(const[wt,be]of de){Wt.fillStyle=wt;for(const ct of be){const[I,X]=wn(ct.x??0,ct.y??0,J);Wt.fillRect(I-.75,X-.75,1.5,1.5)}}Wt.globalAlpha=1;const Ie=a(),Ee=c(),je=-N.x/N.k,Ue=-N.y/N.k,lt=Ie/N.k,xt=Ee/N.k,[kt,dt]=wn(je,Ue,J),Oe=lt*J.scale,Qe=xt*J.scale;Wt.fillStyle="rgba(0,0,0,0.45)";const it=new Path2D;it.rect(0,0,Ot,$t),it.rect(kt,dt,Oe,Qe),Wt.fill(it,"evenodd"),Wt.strokeStyle="rgba(255,255,255,0.9)",Wt.lineWidth=1,Wt.strokeRect(kt+.5,dt+.5,Oe-1,Qe-1)}))}function sr(J){const de=en.getBoundingClientRect(),Ie=J.clientX-de.left,Ee=J.clientY-de.top;if(Ie<0||Ee<0||Ie>Ot||Ee>$t)return null;const je=Zn();return[(Ie-nn)/je.scale+je.minX,(Ee-nn)/je.scale+je.minY]}function Nn(J,de){const Ie=N.k,Ee=a()/2-J*Ie,je=c()/2-de*Ie;tt.call(me.transform,Fn.translate(Ee,je).scale(Ie))}let dn=!1;const Qn=J=>{J.preventDefault(),dn=!0;const de=sr(J);de&&Nn(de[0],de[1])},hn=J=>{if(!dn)return;const de=sr(J);de&&Nn(de[0],de[1])},Jn=()=>{dn=!1};en.addEventListener("mousedown",Qn),window.addEventListener("mousemove",hn),window.addEventListener("mouseup",Jn);function tn(){j||(j=requestAnimationFrame(()=>{j=0,ar(),Ln()}))}function Vt(){F=0,!(Date.now()-z>=5600)&&(tn(),F=requestAnimationFrame(Vt))}const or=new Map;function pn(J){const de=J.type+"|"+(J.status??"")+"|"+(J.color??""),Ie=or.get(de);if(Ie)return Ie;const Ee=ur(J);return or.set(de,Ee),Ee}function ar(){const J=a(),de=c();x.setTransform(1,0,0,1,0,0),x.clearRect(0,0,h.width,h.height),x.setTransform(l*N.k,0,0,l*N.k,l*N.x,l*N.y);const Ie=yw(N,J,de),Ee=r.getSelectedId(),je=O??Ee,Ue=O&&Ee&&Ee!==O?Ee:null,lt=je?A(je):null,xt=Ue?A(Ue):null;x.lineWidth=1/N.k,x.strokeStyle=oc("--text-weak");const kt=(Oe,Qe)=>Oe==="imports"?[3/Qe,3/Qe]:Oe==="links"?[1/Qe,4/Qe]:[];x.setLineDash([]),x.globalAlpha=se,x.beginPath();for(const Oe of $e){const Qe=Oe.type;if(Qe==="imports"||Qe==="links"||!os(Oe,Ie)||qn(Oe,je,Ue))continue;const it=Oe.source,wt=Oe.target;x.moveTo(it.x??0,it.y??0),x.lineTo(wt.x??0,wt.y??0)}x.stroke(),x.setLineDash([3/N.k,3/N.k]),x.beginPath();for(const Oe of $e){if(Oe.type!=="imports"||!os(Oe,Ie)||qn(Oe,je,Ue))continue;const Qe=Oe.source,it=Oe.target;x.moveTo(Qe.x??0,Qe.y??0),x.lineTo(it.x??0,it.y??0)}x.stroke(),x.setLineDash([1/N.k,4/N.k]),x.beginPath();for(const Oe of $e){if(Oe.type!=="links"||!os(Oe,Ie)||qn(Oe,je,Ue))continue;const Qe=Oe.source,it=Oe.target;x.moveTo(Qe.x??0,Qe.y??0),x.lineTo(it.x??0,it.y??0)}if(x.stroke(),je){x.setLineDash([]);const Oe=S.get(je),Qe=Oe?pn(Oe):oc("--border-base"),it=Ue?S.get(Ue):null,wt=it?pn(it):null;for(const be of $e){const ct=Bn(be,je,Ue);if(ct===0||!os(be,Ie))continue;const I=be.source,X=be.target;x.globalAlpha=ct===1?.9:.45,x.lineWidth=(ct===1?2:1.5)/N.k,x.strokeStyle=ct===1?Qe:wt??Qe,x.setLineDash(kt(be.type,N.k)),x.beginPath(),x.moveTo(I.x??0,I.y??0),x.lineTo(X.x??0,X.y??0),x.stroke()}}x.setLineDash([]),x.globalAlpha=1,x.lineWidth=1.5/N.k;const dt=new Map;for(const Oe of t){if(!rc(Oe,Ie))continue;const Qe=pn(Oe),it=dt.get(Qe);it?it.push(Oe):dt.set(Qe,[Oe])}for(const[Oe,Qe]of dt){x.strokeStyle=Oe;for(const it of Qe){const wt=it.x??0,be=it.y??0,ct=Rn(it),I=Be(it),X=ct*I,ce=lt?.has(it.id)||xt?.has(it.id);x.globalAlpha=ce?1:je?.35:he,x.beginPath(),x.arc(wt,be,X,0,Math.PI*2),x.stroke()}}if(q.size>0){const Oe=Math.min(1,(Date.now()-z)/5500),Qe=(1-Oe)*(1-Oe);if(Qe>0){x.save(),x.fillStyle="rgba(34,197,94,0.18)",x.strokeStyle="#22c55e",x.lineWidth=3/N.k,x.shadowColor="#22c55e",x.shadowBlur=18/N.k,x.globalAlpha=Qe;for(const it of t){if(!q.has(it.id)||!rc(it,Ie))continue;const wt=(Rn(it)+6)*(1+2.4*Qe);x.beginPath(),x.arc(it.x??0,it.y??0,wt,0,Math.PI*2),x.fill(),x.stroke()}x.restore()}}if(x.globalAlpha=1,Dr(je,Ue),O){const Oe=S.get(O);Oe&&Ft.reposition({x:(Oe.x??0)*N.k+N.x,y:(Oe.y??0)*N.k+N.y,r:Rn(Oe)*N.k},{w:J,h:de})}}function Bn(J,de,Ie){const Ee=J.source.id,je=J.target.id;return de&&(Ee===de||je===de)?1:Ie&&(Ee===Ie||je===Ie)?2:0}function qn(J,de,Ie){return Bn(J,de,Ie)!==0}const er=$.append("g").attr("class","overlay-edges"),Hn=$.append("g").attr("class","overlay-nodes");function Dr(J,de){if($.attr("transform",`translate(${N.x},${N.y}) scale(${N.k})`),!J){er.selectAll("*").remove(),Hn.selectAll("*").remove();return}const Ie=S.get(J);if(!Ie){er.selectAll("*").remove(),Hn.selectAll("*").remove();return}const Ee=new Set(A(J));if(de)for(const be of A(de))Ee.add(be);Ee.size>80&&(Ee.clear(),Ee.add(J),de&&Ee.add(de));const Ue=[];for(const be of Ee){const ct=S.get(be);ct&&Ue.push(ct)}const lt=$e.filter(be=>{const ct=be.source.id,I=be.target.id;return Ee.has(ct)&&Ee.has(I)}),xt=pn(Ie),kt=N.k>=ee,dt=er.selectAll("line").data(lt,be=>be.source.id+"→"+be.target.id);dt.exit().remove(),dt.enter().append("line").attr("stroke-linecap","round").attr("stroke-width",2).attr("stroke-opacity",.9).merge(dt).attr("x1",be=>be.source.x??0).attr("y1",be=>be.source.y??0).attr("x2",be=>be.target.x??0).attr("y2",be=>be.target.y??0).attr("stroke",xt).attr("stroke-dasharray",be=>kt?"4 4":be.type==="imports"?"3,3":be.type==="links"?"1,4":"none").classed("edge-flow",be=>kt&&be.source&&be.source.id===J);const Qe=Hn.selectAll("g.overlay-node").data(Ue,be=>be.id);Qe.exit().remove();const it=Qe.enter().append("g").attr("class","overlay-node");it.append("circle").attr("class","ring").attr("fill","transparent").attr("stroke-width",1.5),it.append("g").attr("class","icon-slot"),it.append("text").attr("class","label").attr("text-anchor","middle").attr("font-size","10px").attr("fill","var(--text-weak)").attr("pointer-events","none").attr("dy","2.2em");const wt=it.merge(Qe);wt.attr("transform",be=>`translate(${be.x??0},${be.y??0})`).style("cursor","pointer"),wt.select("circle.ring").attr("r",be=>Rn(be)+(be.type==="file"||be.type==="directory"?4:0)).attr("stroke",be=>pn(be)).attr("stroke-opacity",be=>be.id===J?1:.7),wt.select("text.label").text(be=>be.label).attr("x",0).attr("y",0),wt.each(function(be){const I=_n(this).select("g.icon-slot");if(I.attr("data-for")===be.id)return;I.selectAll("*").remove(),I.attr("data-for",be.id);const ce=Rn(be);if(be.type==="file"||be.type==="directory"){const Se=be.id.startsWith("file:")?be.id.slice(5):be.id.startsWith("dir:")?be.id.slice(4):be.id,He=Uc(Se,be.type,!1),nt=Math.max(ce*1.8,14);I.append("svg").attr("viewBox","0 0 32 32").attr("width",nt).attr("height",nt).attr("x",-nt/2).attr("y",-nt/2).attr("pointer-events","none").append("use").attr("href",`${Gc}#${He}`)}else{const Se=qu(be);if(!Se)return;const He=Math.max(ce*1.05,9);I.append("svg").attr("viewBox",Vc).attr("width",He).attr("height",He).attr("x",-He/2).attr("y",-He/2).attr("fill","none").attr("stroke",pn(be)).attr("stroke-width",2.25).attr("stroke-linecap","round").attr("stroke-linejoin","round").html(Se)}})}function vr(){const J=()=>{if(t.length===0)return;let de=1/0,Ie=-1/0,Ee=1/0,je=-1/0;const Ue=a(),lt=c();for(const be of t){const ct=be.x??Ue/2,I=be.y??lt/2;de=Math.min(de,ct),Ie=Math.max(Ie,ct),Ee=Math.min(Ee,I),je=Math.max(je,I)}const xt=120,kt=Ie-de+xt*2,dt=je-Ee+xt*2,Oe=Math.max(.15,Math.min(Ue/kt,lt/dt,2)),Qe=(de+Ie)/2,it=(Ee+je)/2,wt=Fn.translate(Ue/2-Qe*Oe,lt/2-it*Oe).scale(Oe);tt.transition().duration(550).ease(be=>be<.5?4*be*be*be:1-Math.pow(-2*be+2,3)/2).call(me.transform,wt)};t.some(de=>de.x==null||de.y==null)?requestAnimationFrame(J):J()}function K(J){if(!J){tn();return}const de=S.get(J);if(!de)return;const Ie=()=>{const Ee=C.get(J)??new Set,je=[de,...Array.from(Ee).map(We=>S.get(We)).filter(We=>!!We)];let Ue=1/0,lt=-1/0,xt=1/0,kt=-1/0;for(const We of je){const yt=We.x??a()/2,Ye=We.y??c()/2;Ue=Math.min(Ue,yt),lt=Math.max(lt,yt),xt=Math.min(xt,Ye),kt=Math.max(kt,Ye)}const dt=80,Oe=lt-Ue+dt*2,Qe=kt-xt+dt*2,it=420,wt=a(),be=c(),ct=wt-it,I=be,X=ct/Oe,ce=I/Qe,Se=Math.min(X,ce,2),He=(Ue+lt)/2,nt=(xt+kt)/2,ut=(wt-it)/2,Ct=be/2,Dt=Fn.translate(ut-He*Se,Ct-nt*Se).scale(Se);tt.transition().duration(900).ease(We=>We<.5?4*We*We*We:1-Math.pow(-2*We+2,3)/2).call(me.transform,Dt)};de.x==null||de.y==null?requestAnimationFrame(Ie):Ie()}function pe(J){J&&!S.has(J)||qt(J)}tn(),q.size>0&&(F=requestAnimationFrame(Vt)),Ln();function qe(){j&&cancelAnimationFrame(j),F&&cancelAnimationFrame(F),U&&cancelAnimationFrame(U),Z&&cancelAnimationFrame(Z),G?.stop(),fe(),ae.flush(),Ft.destroy(),y.disconnect(),en.removeEventListener("mousedown",Qn),window.removeEventListener("mousemove",hn),window.removeEventListener("mouseup",Jn),window.removeEventListener("mousemove",Gt),window.removeEventListener("mouseup",Ht),window.removeEventListener("keydown",_e),window.removeEventListener("keyup",Le),en.remove(),h.remove(),e.style.pointerEvents=v.pointerEvents,e.style.position=v.position,e.style.inset=v.inset,e.style.zIndex=v.zIndex,b.selectAll("*").remove(),R.clear()}return{stop:qe,focus:K,fit:vr,setHoveredId:pe,setPhysics:J=>{Y={...J};const de=G.force("link");de&&de.distance(ge());const Ie=G.force("charge");Ie&&Ie.strength(te());const Ee=G.force("collide");Ee&&Ee.radius(Re()),G.alphaDecay(Te()),u||G.alpha(.3).restart()}}}const sc=new Map;function oc(e){const t=sc.get(e);if(t)return t;const n=getComputedStyle(document.documentElement).getPropertyValue(e).trim()||"#888888";return sc.set(e,n),n}var Aw=k('<div class="flex-1 min-h-0 overflow-x-auto overflow-y-hidden"><div class="h-full flex gap-4 p-4">'),Dw=k('<div class="flex-1 min-h-0 flex flex-col overflow-hidden">'),Iw=k('<div class="size-full min-h-0 flex flex-col bg-background-base overflow-hidden"><div class="shrink-0 px-6 py-4 border-b border-border-weaker-base flex items-center gap-3"><div class="flex items-center gap-2 min-w-0"><div class="text-14-medium text-text-strong">Trellis Board</div><div class="text-12-regular text-text-weak"> issues · <!> work units</div></div><div class=flex-1>'),ac=k('<div class="flex-1 flex items-center justify-center text-12-regular text-text-weak">'),lc=k('<button class="flex items-center justify-center size-6 rounded-md hover:bg-surface-raised-base transition-colors">'),Lw=k('<div class="mt-1 p-2 rounded-md bg-surface-raised-base border border-border-base flex flex-col gap-2"><div class="flex items-center gap-2"><div class=flex-1>'),Mw=k('<section><div><div></div><div class="text-12-medium uppercase tracking-wide text-text-strong"></div><div class=flex-1></div></div><div class="flex-1 min-h-0 overflow-y-auto p-2 flex flex-col gap-2">'),Ew=k('<div class="px-2 py-4 text-12-regular text-text-weak text-center">No items'),Pw=k('<div class="rounded-md border border-dashed border-border-info/40 bg-surface-raised-base/40 px-3 py-2 flex flex-col gap-1.5"><div class="flex items-center gap-2"><span class="rounded-full bg-surface-raised-base/60 px-2 py-0.5 text-10-medium text-text-info">plan</span><span class="text-10-medium uppercase text-text-weak/70"></span></div><div class="text-13-medium text-text-strong/90 leading-5">'),Rw=k('<div class="flex flex-wrap gap-1">'),Fw=k('<div class="w-12 h-1 rounded-full overflow-hidden bg-surface-raised-base/50"><div class="h-full rounded-full">'),zw=k("<div class=text-text-weak/90>/<!> AC"),Ow=k('<div class="rounded-md border px-3 py-2 flex flex-col gap-2 transition-all cursor-pointer backdrop-blur-sm"><div class="flex items-start gap-2"><div class="text-12-medium text-text-info/80 shrink-0 font-mono"></div><div class="text-10-medium uppercase rounded px-1.5 py-0.5 bg-surface-raised-base/60 text-text-weak/90 shrink-0"></div><div class=flex-1></div><button type=button title="Start implementation session"class="flex items-center justify-center size-6 -mr-1 rounded-md text-icon-weak hover:text-text-info hover:bg-surface-raised-base transition-colors disabled:opacity-50 disabled:pointer-events-none"></button></div><div class="text-13-medium text-text-strong/95 leading-5"></div><div class="flex items-center gap-2 text-11-regular text-text-weak/80"><div class=flex-1>'),Nw=k('<div class="text-11-regular text-text-weak truncate max-w-24">'),Bw=k('<div class="text-12-regular text-text-weak/80 line-clamp-2">'),qw=k('<span class="rounded-full bg-surface-raised-base/60 px-2 py-0.5 text-10-medium text-text-weak/90">'),Hw=k("<div class=text-text-weak/90>"),Ks=k('<div class="flex flex-col">'),jw=k('<div class="flex flex-col h-full overflow-hidden"><div class="shrink-0 px-3 py-2 border-b border-border-weaker-base flex items-center gap-2"></div><div class="flex-1 overflow-auto">'),Ww=k('<div class="flex flex-col items-center gap-2 py-8 text-text-weak"><div class=text-12-regular>No ops recorded yet'),Uw=k('<div class="text-11-mono text-text-weak truncate">'),Gw=k('<div class="text-11-mono text-text-info truncate">'),Vw=k('<div class="text-11-regular text-text-base italic truncate">'),Kw=k('<div class="flex items-start gap-3 px-3 py-2 border-b border-border-weaker-base hover:bg-surface-raised-base/50 transition-colors"><div class="flex-1 min-w-0"></div><div class="shrink-0 text-11-regular text-text-weaker whitespace-nowrap">'),Yw=k('<div class="flex-1 overflow-auto">'),Xw=k('<div class="flex flex-col h-full overflow-hidden"><div class="shrink-0 px-3 py-2 border-b border-border-weaker-base flex items-center gap-2"><div class="text-12-medium text-text-weak flex-1">Decision Traces'),Zw=k('<div class="flex flex-col items-center gap-2 py-8 text-text-weak"><div class=text-12-regular>No decisions recorded yet'),Qw=k('<div class="text-11-regular text-text-weak truncate">session: '),Jw=k('<div class="text-11-regular text-text-weaker truncate">'),e3=k('<button class="flex items-start gap-3 px-3 py-2 border-b border-border-weaker-base hover:bg-surface-raised-base/50 transition-colors text-left w-full"><div class="mt-0.5 shrink-0"></div><div class="flex-1 min-w-0"><div class="text-12-medium text-text-strong"></div></div><div class="shrink-0 text-11-regular text-text-weaker whitespace-nowrap">'),t3=k('<div class="flex flex-col gap-1"><div class="text-10-medium uppercase tracking-wide text-text-weak">Session</div><div class="text-12-regular text-text-base">'),n3=k('<div class="flex flex-col gap-1"><div class="text-10-medium uppercase tracking-wide text-text-weak">Input</div><pre class="text-11-mono text-text-base p-2 rounded bg-background-base border border-border-base overflow-x-auto max-h-48">'),r3=k('<div class="flex flex-col gap-1"><div class="text-10-medium uppercase tracking-wide text-text-weak">Output</div><pre class="text-11-mono text-text-base p-2 rounded bg-background-base border border-border-base overflow-x-auto max-h-48">'),i3=k('<div class="flex flex-col gap-1"><div class="text-10-medium uppercase tracking-wide text-text-weak">Related Entities</div><div class="flex flex-wrap gap-1">'),s3=k('<div class="flex flex-col gap-1"><div class="text-10-medium uppercase tracking-wide text-text-weak">Metadata</div><pre class="text-11-mono text-text-base p-2 rounded bg-background-base border border-border-base overflow-x-auto max-h-32">'),o3=k('<div class="flex-1 overflow-auto flex flex-col"><div class="shrink-0 px-3 py-2 border-b border-border-weaker-base flex items-center gap-2"><div class="text-12-medium text-text-strong"></div><div class=flex-1></div><div class="text-11-regular text-text-weaker"></div></div><div class="p-3 flex flex-col gap-3">'),a3=k('<span class="text-11-mono px-1.5 py-0.5 rounded bg-surface-raised-base text-text-info">'),Hu=k('<div class="px-3 py-2 border-b border-border-weaker-base flex items-center gap-2">'),l3=k('<div class="flex flex-col h-full overflow-hidden"><div class="shrink-0 px-3 py-2 border-b border-border-weaker-base flex items-center gap-2"><div class="text-12-medium text-text-weak flex-1">Branches</div></div><div class="flex-1 overflow-auto">'),c3=k('<div class="px-3 py-8 text-center text-12-regular text-text-weaker">No branches'),d3=k('<span class="text-10-medium uppercase text-text-success">current'),u3=k('<button class="flex items-center gap-3 px-3 py-2 border-b border-border-weaker-base hover:bg-surface-raised-base/50 transition-colors w-full text-left"><div class="flex-1 min-w-0"><div>'),f3=k('<div class="flex flex-col h-full overflow-hidden"><div class="shrink-0 px-3 py-2 border-b border-border-weaker-base flex items-center gap-2"><div class="text-12-medium text-text-weak flex-1">Milestones</div></div><div class="flex-1 overflow-auto">'),g3=k('<div class="px-3 py-8 text-center text-12-regular text-text-weaker">No milestones'),m3=k("<span>"),h3=k("<span> files"),p3=k('<div class="px-3 py-2 border-b border-border-weaker-base flex items-start gap-3"><div class="mt-0.5 shrink-0"></div><div class="flex-1 min-w-0 flex flex-col gap-1"><div class="text-12-medium text-text-strong"></div><div class="flex items-center gap-2 text-11-regular text-text-weaker">'),v3=k('<div class="shrink-0 overflow-hidden relative"style="transition:width 420ms cubic-bezier(0.16, 1, 0.3, 1)"><div class="flex h-full absolute top-0 left-0 bottom-0"style="will-change:opacity;transition:opacity 220ms ease-out"><div class=relative>'),x3=k('<div class="absolute inset-0 flex items-center justify-center pointer-events-none"><div class="max-w-sm px-6 py-4 text-center pointer-events-auto"><div class="text-13-medium text-text-weak mb-1">No graph data</div><div class="text-11-regular text-text-weaker">Either this project has no tracked entities yet, or the backend is missing the trellis routes.'),b3=k('<div class="flex w-full h-full bg-background-base overflow-hidden"><div class="relative flex-1 h-full overflow-hidden"><svg class="w-full h-full"style=touch-action:none>'),y3=k("<div class=py-1>"),w3=k('<div class="absolute z-20 rounded-md border border-border-base shadow-lg pointer-events-auto"style="bottom:144px;left:12px;width:180px;background:color-mix(in srgb, var(--background-base) 88%, transparent)"><div class="flex items-center justify-between gap-2 px-2 py-1.5 border-b border-border-weaker-base"><button class="flex items-center gap-1.5 text-10-medium uppercase tracking-wide text-text-weaker hover:text-text-base transition-colors">Physics</button><button class="text-10-medium uppercase tracking-wide text-text-weaker hover:text-text-base transition-colors"title="Reset all physics multipliers to 1×">Reset'),$3=k('<button class="w-full flex items-center gap-2 px-2.5 py-1.5 rounded-md text-left text-12-medium transition-colors"title="Include dotfiles and gitignored paths (e.g. node_modules)"><span class="flex-1 truncate">Hidden files</span><span class="size-1.5 shrink-0 rounded-full transition-colors">'),k3=k('<button class="w-full flex items-center gap-2 px-2.5 py-1.5 rounded-md text-left text-12-medium transition-colors"title="Derive edges from imports, requires, and @import statements"><span class="flex-1 truncate">Import edges</span><span class="size-1.5 shrink-0 rounded-full transition-colors">'),C3=k('<button class="w-full flex items-center gap-2 px-2.5 py-1.5 rounded-md text-left text-12-medium transition-colors"title="Derive edges from markdown links ([text](file)) and wiki-links ([[file]])"><span class="flex-1 truncate">Link edges</span><span class="size-1.5 shrink-0 rounded-full transition-colors">'),_3=k('<button class="w-full flex items-center gap-2 px-2.5 py-1.5 rounded-md text-left text-12-medium transition-colors"title="Include recent causal-stream ops (capped at 100)"><span class="flex-1 truncate">Ops</span><span class="size-1.5 shrink-0 rounded-full transition-colors">'),S3=k('<aside class="shrink-0 border-r border-border-weaker-base bg-surface-raised-base/00 px-2 py-3 flex flex-col gap-1 overflow-y-auto">'),T3=k('<div class="px-2.5 py-1.5 text-11-regular text-text-weaker italic">No custom entities'),A3=k('<div class="px-2 pb-1 flex items-center justify-between"><button class="flex items-center gap-1.5 text-10-medium uppercase tracking-wide text-text-weaker hover:text-text-base transition-colors"><span>'),D3=k('<button class="text-10-medium uppercase tracking-wide text-text-weaker hover:text-text-base transition-colors">'),I3=k('<button class="w-full flex items-center gap-2 px-2.5 py-1.5 rounded-md text-left text-12-medium transition-all group"><span class="flex-1 truncate capitalize"></span><span class="text-11-regular text-text-weaker tabular-nums group-hover:text-text-weak transition-colors"></span><span class="size-1.5 shrink-0 rounded-full transition-colors">'),L3=k('<div class="px-2.5 py-1"><div class="flex items-center justify-between text-12-medium text-text-weak"><span></span><span class="text-10-regular tabular-nums text-text-weaker">×</span></div><input type=range min=0.25 max=4 step=0.05 class="w-full h-1 mt-1 accent-text-strong">'),M3=k('<div class="absolute left-0 top-0 bottom-0 z-30">'),E3=k('<div class="absolute top-0 right-0 bottom-0 h-full p-4 rounded pointer-events-none"><div class="relative z-20 bg-background-base flex flex-col rounded-lg border border-border-base/50 h-full overflow-hidden"style="will-change:transform, opacity;transition:transform 560ms cubic-bezier(0.16, 1, 0.3, 1), opacity 240ms ease-out">'),P3=k('<div class="shrink-0 flex flex-col gap-0.5 px-3 py-2.5 border-b border-border-base/50"><div class="flex items-center gap-1"><div class="flex items-center gap-0 shrink-0"></div><span class="flex-1 min-w-0 text-12-medium text-text-strong truncate"></span></div><div class=pl-0><span class="text-9-regular text-text-weaker/75 font-mono truncate block">'),R3=k('<div class="flex flex-col h-full overflow-hidden"><div class="shrink-0 px-3 py-2 border-b border-border-weaker-base flex items-center gap-2"><div class="flex-1 text-center text-12-medium text-text-strong"> </div></div><div class="flex-1 min-h-0 flex flex-col overflow-hidden px-3 pt-2 pb-1"><div class="shrink-0 grid grid-cols-7 gap-px mb-1"></div><div class="flex-1 min-h-0 grid grid-cols-7 gap-px"style=grid-auto-rows:1fr></div><div class="shrink-0 pt-1.5 flex items-center gap-3 flex-wrap text-10-regular text-text-weaker"><div class="flex items-center gap-1"><div class="w-1.5 h-1.5 rounded-full"></div>Critical</div><div class="flex items-center gap-1"><div class="w-1.5 h-1.5 rounded-full"></div>High</div><div class="flex items-center gap-1"><div class="w-1.5 h-1.5 rounded-full"></div>Medium</div><div class="flex items-center gap-1"><div class="w-1.5 h-1.5 rounded-full"></div>Low</div><div class="flex items-center gap-1"><div class="w-1.5 h-1.5 rounded-sm bg-text-interactive-base"></div>Milestone</div><div class="flex items-center gap-1"><div class="w-1.5 h-1.5 rounded-sm"></div>WorkUnit'),F3=k('<div class="text-center text-10-medium text-text-weaker py-0.5">'),z3=k('<div class="text-10-medium mb-0.5 w-4 h-4 flex items-center justify-center rounded-full">'),O3=k('<div class="flex flex-wrap gap-px">'),N3=k('<div class="p-1 rounded-md overflow-hidden">'),B3=k('<div class="w-1.5 h-1.5 shrink-0">'),q3=k('<div class="w-1.5 h-1.5 rounded-sm shrink-0 bg-text-interactive-base">'),H3=k('<div class="flex flex-col h-full overflow-hidden"><div class="shrink-0 px-3 py-2 border-b border-border-weaker-base flex items-center gap-2"><div class="text-12-medium text-text-weak flex-1">Proactive Suggestions</div></div><div class="flex-1 overflow-auto">'),j3=k('<div class="flex flex-col items-center gap-2 py-8 text-text-weak"><div class=text-12-regular>No suggestions right now'),W3=k('<div class="flex items-start gap-3 px-3 py-3 border-b border-border-weaker-base"><div class="mt-0.5 shrink-0"></div><div class="flex-1 min-w-0"><div class="text-12-medium text-text-strong"></div><div class="text-11-regular text-text-weak mt-0.5">Rule: '),U3=k('<div class="flex flex-col h-full overflow-hidden"><div class="shrink-0 px-3 py-2 border-b border-border-weaker-base flex items-center gap-2"><div class="text-12-medium text-text-weak flex-1">Plan History</div></div><div class="flex-1 overflow-auto">'),G3=k('<div class="flex flex-col items-center gap-2 py-8 text-text-weak"><div class=text-12-regular>No plans yet'),V3=k('<div class="text-12-regular text-text-weak mb-1">'),K3=k('<div class="text-12-regular text-text-danger mt-1">Rejected: '),Y3=k('<div class="px-3 pb-3 flex flex-col gap-1.5">'),X3=k('<div class="border-b border-border-weaker-base"><button class="w-full flex items-center gap-3 px-3 py-2 hover:bg-surface-raised-base/50 transition-colors text-left"><span></span><div class="flex-1 min-w-0"><div class="text-12-medium text-text-strong truncate"></div></div><span class="text-11-regular text-text-weaker"> ops</span><span class="text-11-regular text-text-weaker">'),Z3=k("<span class=text-text-weak>"),Q3=k('<span class="text-text-weaker truncate flex-1">'),J3=k('<div class="flex items-center gap-2 px-2 py-1 rounded-md bg-background-base/50 text-12-regular"><span class="text-text-info font-mono">'),e$=k('<aside class="w-56 shrink-0 border-r border-border-weaker-base bg-surface-raised-base/00 px-2 py-3 flex flex-col gap-1 overflow-y-auto"><div class="px-2 pb-2 text-10-medium uppercase tracking-wide text-text-weaker">'),t$=k('<span class="rounded-full min-w-4 h-4 px-1 flex items-center justify-center bg-text-danger text-[10px] text-white font-medium">'),n$=k('<button class="w-full flex items-center gap-2 px-2.5 py-2 rounded-md text-left text-12-medium transition-colors"><span class="truncate flex-1">'),r$=k('<div class="flex flex-col h-full overflow-y-auto px-4 py-4 gap-6"><div class="flex flex-col gap-2"><div class="text-11-medium uppercase tracking-wide text-text-weaker">Weekly Throughput</div><div class="flex items-end gap-1 h-24"></div><div class="flex items-center gap-4 text-10-regular text-text-weaker"><div class="flex items-center gap-1"><div class="w-2 h-2 rounded-sm bg-text-info/60"></div>Created</div><div class="flex items-center gap-1"><div class="w-2 h-2 rounded-sm bg-text-success/60"></div>Closed</div></div></div><div class="flex flex-col gap-2"><div class="text-11-medium uppercase tracking-wide text-text-weaker">By Priority</div><div class="flex flex-col gap-1.5"></div></div><div class="flex flex-col gap-2"><div class="text-11-medium uppercase tracking-wide text-text-weaker">By Status</div><div class="flex flex-col gap-1.5">'),i$=k('<div class="flex-1 flex flex-col items-center gap-0.5"><div class="w-full flex gap-px justify-center"style=height:80px><div class="w-2 rounded-t bg-text-info/60 self-end transition-all"></div><div class="w-2 rounded-t bg-text-success/60 self-end transition-all"></div></div><div class="text-[9px] text-text-weaker">'),s$=k('<div class="flex items-center gap-2"><div class="w-16 text-11-regular text-text-weak capitalize"></div><div class="flex-1 h-2 rounded-full bg-surface-raised-base/50 overflow-hidden"><div></div></div><div class="w-6 text-right text-11-medium text-text-base">'),o$=k('<div class="flex items-center gap-2"><div class="w-20 text-11-regular text-text-weak capitalize"></div><div class="flex-1 h-2 rounded-full bg-surface-raised-base/50 overflow-hidden"><div></div></div><div class="w-6 text-right text-11-medium text-text-base">'),a$=k('<div class="flex h-full items-center justify-center gap-2 text-12-regular text-text-weak"><span>'),l$=k('<div class="flex h-full items-center justify-center text-12-regular text-text-weak">'),c$=k('<div class="flex h-full items-center justify-center px-6 text-center text-12-regular text-text-weak">No README found in the project root.'),d$=k('<div class="h-full min-h-0 overflow-hidden bg-background-base">'),u$=k('<div class="px-6 py-4 text-text-weak">'),f$=k('<div class="flex h-full overflow-hidden"><div class="flex-1 min-h-0 overflow-hidden">'),g$=k('<div class="flex h-full overflow-hidden"><div class="flex-1 min-h-0 overflow-hidden p-0">');const m$=[{id:"backlog",label:"Backlog",tone:"var(--text-weak)"},{id:"queue",label:"Queue",tone:"var(--text-weak)"},{id:"in_progress",label:"In Progress",tone:"var(--text-weak)"},{id:"paused",label:"Paused",tone:"var(--text-weak)"},{id:"closed",label:"Closed",tone:"var(--text-weak)"}],h$={pending:"backlog",in_progress:"in_progress",completed:"closed"},p$={backlog:"backlog",in_progress:"in_progress",done:"closed"},v$={backlog:"backlog",in_progress:"in_progress",closed:"done"};function Ts(e){return`${e.kind}:${e.item.id}`}function ju(e){return e.kind==="issue"?e.item.labels:e.item.tags}function Bo(e){return e.kind==="issue"?e.item.description:e.item.cycle||e.item.specPath}function x$(e){return e.kind==="issue"?e.item.branch:void 0}function b$(e){const t=e.item,n=e.kind==="issue"?"Trellis issue":"Trellis WorkUnit",r=ju(e),i=(t.criteria??[]).map(a=>{const c=a.status?` [${a.status}]`:"",l=a.command?`
|
|
27
|
-
command: ${a.command}`:"";return`- ${a.description??a.id}${c}${l}`}).join(`
|
|
28
|
-
`),o=[`ID: ${t.id}`,`Title: ${t.title}`,`Status: ${t.status}`,`Priority: ${t.priority}`,r.length?`Tags: ${r.join(", ")}`:void 0,"branch"in t&&t.branch?`Branch: ${t.branch}`:void 0,"cycle"in t&&t.cycle?`Cycle: ${t.cycle}`:void 0,"specPath"in t&&t.specPath?`Spec: ${t.specPath}`:void 0,t.assignee?`Assignee: ${t.assignee}`:void 0,Bo(e)?`Details: ${Bo(e)}`:void 0,t.criteriaCount?`Acceptance: ${t.criteriaPassed}/${t.criteriaCount}`:void 0].filter(a=>!!a);return`Begin implementing this ${n}.
|
|
29
|
-
|
|
30
|
-
${o.join(`
|
|
31
|
-
`)}
|
|
32
|
-
|
|
33
|
-
${i?`Acceptance criteria:
|
|
34
|
-
${i}
|
|
35
|
-
|
|
36
|
-
`:""}Inspect the codebase, make the required changes, validate them, and summarize the result.`}function y$(e){const t=On(),n=qs(),r=At(),i=Pr(),o=Sr(),a=Jt(),c=An(),l=_(()=>t.issues),u=_(()=>t.workUnits),g=_(()=>[...l().map(B=>({kind:"issue",item:B,col:B.status})),...u().map(B=>({kind:"workunit",item:B,col:p$[B.status]}))]),[f,h]=De(),[p,x]=De(),[v,b]=De(null),[m,$]=De(""),[w,y]=De("medium"),[S,C]=et({id:void 0}),A=B=>{h(Ts(B)),n.push(B.item.id,B.kind)},R=B=>{x(void 0);const O=B.draggable?.id,L=B.droppable?.id;if(!O||!L)return;const T=l().find(j=>j.id===O);if(T){if(T.status===L)return;const j=T.status;if(L==="in_progress"&&j==="paused"){t.resumeIssue(O);return}if(L==="in_progress"){t.startIssue(O);return}if(L==="paused"&&j==="in_progress"){t.pauseIssue(O,"Paused via kanban board");return}if(L==="closed"){t.closeIssue(O,!0);return}if(j==="closed"){(async()=>(await t.reopenIssue(O),L!=="queue"&&await t.updateIssueStatus(O,L)))();return}if(L==="queue"&&j==="backlog"){t.triageIssue(O);return}t.updateIssueStatus(O,L);return}const E=u().find(j=>j.id===O),P=L?v$[L]:void 0;!E||!P||E.status===P||t.updateWorkUnit(O,{status:P})},V=async B=>{const O=m().trim();O&&(await t.createIssue({title:O,priority:w()}),sn(()=>{b(null),$(""),y("medium")}))},N=async B=>{if(S.id)return;const O=i.model.current(),L=i.agent.current(),T=i.model.variant.current();if(!O||!L){at({variant:"error",title:r.t("prompt.toast.modelAgentRequired.title"),description:r.t("prompt.toast.modelAgentRequired.description")});return}C("id",Ts(B));try{const E=await a.client.session.create().then(P=>P.data??void 0).catch(P=>{at({variant:"error",title:r.t("prompt.toast.sessionCreateFailed.title"),description:pr(P,r.t)})});if(!E)return;c.set("session",P=>P.some(j=>j.id===E.id)?P:[...P,E].sort((j,G)=>j.id<G.id?-1:j.id>G.id?1:0)),i.session.promote(a.directory,E.id),o(`/${Qr(a.directory)}/session/${E.id}`),await a.client.session.promptAsync({sessionID:E.id,agent:L.name,model:{modelID:O.id,providerID:O.provider.id},variant:T,parts:[{type:"text",text:b$(B)}]}).catch(P=>{at({variant:"error",title:r.t("prompt.toast.promptSendFailed.title"),description:pr(P,r.t)})})}finally{C("id",void 0)}};return(()=>{var B=Iw(),O=B.firstChild,L=O.firstChild,T=L.firstChild,E=T.nextSibling,P=E.firstChild,j=P.nextSibling;return j.nextSibling,L.nextSibling,d(L,s(Ne,{name:"checklist",size:"small"}),T),d(E,()=>l().length,P),d(E,()=>u().length,j),d(O,s(ot,{size:"small",variant:"ghost",onClick:()=>void t.refresh(),children:"Refresh"}),null),d(B,s(M,{get when(){return t.ready},get fallback(){return(()=>{var G=ac();return d(G,()=>r.t("common.loading"),null),d(G,()=>r.t("common.loading.ellipsis"),null),G})()},get children(){return s(M,{get when(){return!t.error},get fallback(){return(()=>{var G=ac();return d(G,()=>t.error),G})()},get children(){var G=Dw();return d(G,s(Li,{onDragEnd:R,get children(){return[s(Mi,{}),(()=>{var q=Aw(),z=q.firstChild;return d(z,s(ze,{each:m$,children:F=>s(w$,{get id(){return F.id},get label(){return F.label},get tone(){return F.tone},get entries(){return g().filter(Z=>Z.col===F.id)},get planSteps(){return(e.todos??[]).filter(Z=>h$[Z.status]===F.id)},onSelect:A,get selected(){return f()},get draggingId(){return p()},setDraggingId:x,get creating(){return v()===F.id},onStartCreate:()=>b(F.id),onCancelCreate:()=>{sn(()=>{b(null),$(""),y("medium")})},get newTitle(){return m()},onTitleChange:$,get newPriority(){return w()},onPriorityChange:y,onSubmit:()=>V(F.id),onPlay:N,get playing(){return S.id}})})),q})()]}})),G}})}}),null),B})()}function w$(e){const t=_(()=>C$(e.entries)),n=fg(e.id),r=()=>"bg-surface-raised-base/80",i=()=>{switch(e.id){case"backlog":return"folder";case"queue":return"dash";case"in_progress":return"arrow-right";case"paused":return"stop";case"closed":return"check-small";default:return"folder"}},o=()=>"bg-surface-raised-base/40",a=()=>"bg-background-base text-text-weak border border-border-base/50";return(()=>{var c=Mw(),l=c.firstChild,u=l.firstChild,g=u.nextSibling;g.nextSibling;var f=l.nextSibling,h=n.ref;return typeof h=="function"?mt(h,c):n.ref=c,d(l,s(Ne,{get name(){return i()},size:"small",class:"text-text-weak"}),u),d(u,()=>t().length),d(g,()=>e.label),d(l,s(M,{get when(){return!e.creating},get fallback(){return(()=>{var p=lc();return gt(p,"click",e.onCancelCreate,!0),d(p,s(Ne,{name:"close-small",size:"small",class:"text-text-weak"})),p})()},get children(){var p=lc();return gt(p,"click",e.onStartCreate,!0),d(p,s(Ne,{name:"plus-small",size:"small",class:"text-text-weak"})),p}}),null),d(f,s(M,{get when(){return t().length>0||(e.planSteps??[]).length>0},get fallback(){return Ew()},get children(){return[s(ze,{get each(){return e.planSteps??[]},children:p=>s($$,{step:p})}),s(ze,{get each(){return t()},children:p=>s(k$,{entry:p,onClick:()=>e.onSelect(p),get selected(){return e.selected===Ts(p)},get isDragging(){return e.draggingId===p.item.id},get setDraggingId(){return e.setDraggingId},get draggingId(){return e.draggingId},onPlay:()=>e.onPlay(p),get playing(){return e.playing===Ts(p)},get disabled(){return!!e.playing}})})]}}),null),d(f,s(M,{get when(){return e.creating},get children(){var p=Lw(),x=p.firstChild,v=x.firstChild;return d(p,s(Bs,{placeholder:"Issue title...",get value(){return e.newTitle},onInput:b=>e.onTitleChange(b.target.value),onKeyDown:b=>b.key==="Enter"&&e.onSubmit(),class:"w-full",autofocus:!0}),x),d(x,s($s,{get current(){return e.newPriority},onSelect:b=>b&&e.onPriorityChange(b),options:["low","medium","high","critical"],label:b=>b.charAt(0).toUpperCase()+b.slice(1),class:"w-24",size:"small"}),v),d(x,s(pt,{icon:"check-small",variant:"ghost",get onClick(){return e.onSubmit},get disabled(){return!e.newTitle.trim()}}),null),d(x,s(pt,{icon:"close-small",variant:"ghost",get onClick(){return e.onCancelCreate}}),null),p}}),null),ie(p=>{var x=`h-full w-72 flex-shrink-0 flex flex-col rounded-xl border border-border-base/50 ${o()}`,v={"ring-2 ring-border-strong-base bg-surface-raised-base/60":n.isActiveDroppable},b=`shrink-0 px-3 py-2 flex rounded-t-xl items-center gap-2 ${r()}`,m=`rounded-full px-2 py-0.5 text-11-medium ${a()}`;return x!==p.e&&zt(c,p.e=x),p.t=bt(c,v,p.t),b!==p.a&&zt(l,p.a=b),m!==p.o&&zt(u,p.o=m),p},{e:void 0,t:void 0,a:void 0,o:void 0}),c})()}function $$(e){const t=()=>e.step.status==="completed"?"check-small":e.step.status==="in_progress"?"arrow-right":"dash";return(()=>{var n=Pw(),r=n.firstChild,i=r.firstChild,o=i.nextSibling,a=r.nextSibling;return d(r,s(Ne,{get name(){return t()},size:"small",class:"mt-0.5 shrink-0 text-icon-info"}),i),d(o,()=>e.step.priority),d(a,()=>e.step.content),n})()}function k$(e){const t=()=>e.entry.item,n=_(()=>ju(e.entry)),r=_(()=>Bo(e.entry)),i=_(()=>x$(e.entry)),o=pg(t().id),a=_(()=>t().criteriaCount===0?0:Math.round(t().criteriaPassed/t().criteriaCount*100)),c=_(()=>Math.round(a()/100*120)),l=_(()=>t().criteriaCount>0);return(()=>{var u=Ow(),g=u.firstChild,f=g.firstChild,h=f.nextSibling,p=h.nextSibling,x=p.nextSibling,v=g.nextSibling,b=v.nextSibling,m=b.firstChild;u.$$mouseup=()=>e.setDraggingId(void 0),u.$$mousedown=()=>e.setDraggingId(t().id),gt(u,"click",e.onClick,!0);var $=o.ref;return typeof $=="function"?mt($,u):o.ref=u,d(g,s(En,{get type(){return e.entry.kind},size:12,class:"mt-0.5"}),f),d(f,()=>t().id),d(h,()=>t().priority),d(g,s(M,{get when(){return i()},children:w=>(()=>{var y=Nw();return d(y,w),y})()}),x),x.$$click=w=>{w.stopPropagation(),e.onPlay()},x.$$mouseup=w=>w.stopPropagation(),x.$$mousedown=w=>w.stopPropagation(),d(x,s(M,{get when(){return e.playing},get fallback(){return s(Ne,{name:"play",size:"small"})},get children(){return s(Di,{class:"size-3"})}})),d(v,()=>t().title),d(u,s(M,{get when(){return r()},children:w=>(()=>{var y=Bw();return d(y,w),y})()}),b),d(u,s(M,{get when(){return n().length>0},get children(){var w=Rw();return d(w,s(ze,{get each(){return n()},children:y=>(()=>{var S=qw();return d(S,y),S})()})),w}}),b),d(b,s(M,{get when(){return l()},get children(){return[(()=>{var w=Fw(),y=w.firstChild;return ie(S=>{var C=`${a()}%`,A=`hsl(${c()}, 70%, 45%)`;return C!==S.e&&Je(y,"width",S.e=C),A!==S.t&&Je(y,"background",S.t=A),S},{e:void 0,t:void 0}),w})(),(()=>{var w=zw(),y=w.firstChild,S=y.nextSibling;return S.nextSibling,d(w,()=>t().criteriaPassed,y),d(w,()=>t().criteriaCount,S),w})()]}}),m),d(b,s(M,{get when(){return t().assignee},children:w=>(()=>{var y=Hw();return d(y,w),y})()}),null),ie(w=>{var y={"border-border-strong-base bg-surface-raised-base/90 shadow-sm":e.selected,"border-border-base/50 bg-background-base/70 hover:bg-background-base/80 hover:border-border-strong-base/70":!e.selected,"opacity-40 scale-95 shadow-none":e.isDragging||o.isActiveDraggable,"opacity-60 scale-98 shadow-sm":e.draggingId===t().id&&!o.isActiveDraggable,"cursor-grab hover:scale-[1.02] hover:shadow-sm":!o.isActiveDraggable&&!e.isDragging,"cursor-grabbing":o.isActiveDraggable},S=e.disabled,C=`Start implementation session for ${t().id}`;return w.e=bt(u,y,w.e),S!==w.t&&(x.disabled=w.t=S),C!==w.a&&ue(x,"aria-label",w.a=C),w},{e:void 0,t:void 0,a:void 0}),u})()}function C$(e){return e.slice().sort((t,n)=>n.item.createdAt.localeCompare(t.item.createdAt))}function Pi(e){const t=Date.now()-new Date(e).getTime();return t<6e4?"just now":t<36e5?`${Math.floor(t/6e4)}m ago`:t<864e5?`${Math.floor(t/36e5)}h ago`:`${Math.floor(t/864e5)}d ago`}function _$(){const e=On(),[t,n]=De(50),[r,i]=De("");Xt(()=>{e.fetchOps(t())});const o=()=>void e.fetchOps(t(),r()||void 0),a=_(()=>e.ops.slice().reverse());return(()=>{var c=jw(),l=c.firstChild,u=l.nextSibling;return d(l,s(Bs,{placeholder:"Filter by file...",get value(){return r()},onInput:g=>i(g.target.value),onKeyDown:g=>g.key==="Enter"&&o(),class:"flex-1"}),null),d(l,s(ot,{size:"small",variant:"ghost",onClick:o,children:"Refresh"}),null),d(u,s(M,{get when(){return a().length>0},get fallback(){return Ww()},get children(){var g=Ks();return d(g,s(ze,{get each(){return a()},children:f=>(()=>{var h=Kw(),p=h.firstChild,x=p.nextSibling;return d(h,s(ug,{get kind(){return f.kind},class:"mt-0.5 shrink-0 min-w-0"}),p),d(p,s(M,{get when(){return f.filePath},get children(){var v=Uw();return d(v,()=>f.filePath),v}}),null),d(p,s(M,{get when(){return f.branchName},get children(){var v=Gw();return d(v,()=>f.branchName),v}}),null),d(p,s(M,{get when(){return f.milestoneMessage},get children(){var v=Vw();return d(v,()=>f.milestoneMessage),v}}),null),d(x,()=>Pi(f.timestamp)),h})()})),g}})),c})()}function S$(){const e=On(),[t,n]=De(),[r,i]=De(50);Xt(()=>{e.fetchDecisions({limit:r()})});const o=()=>void e.fetchDecisions({limit:r()}),a=_(()=>e.decisions.slice().reverse());return(()=>{var c=Xw(),l=c.firstChild;return l.firstChild,d(l,s(ot,{size:"small",variant:"ghost",onClick:o,children:"Refresh"}),null),d(c,s(M,{get when(){return!t()},get children(){var u=Yw();return d(u,s(M,{get when(){return a().length>0},get fallback(){return Zw()},get children(){var g=Ks();return d(g,s(ze,{get each(){return a()},children:f=>(()=>{var h=e3(),p=h.firstChild,x=p.nextSibling,v=x.firstChild,b=x.nextSibling;return h.$$click=()=>n(f),d(p,s(En,{type:"decision",size:16})),d(v,()=>f.toolName),d(x,s(M,{get when(){return f.context},get children(){var m=Qw();return m.firstChild,d(m,()=>f.context,null),m}}),null),d(x,s(M,{get when(){return f.outputSummary},get children(){var m=Jw();return d(m,()=>f.outputSummary),m}}),null),d(b,()=>Pi(f.timestamp)),h})()})),g}})),u}}),null),d(c,s(M,{get when(){return t()},children:u=>(()=>{var g=o3(),f=g.firstChild,h=f.firstChild,p=h.nextSibling,x=p.nextSibling,v=f.nextSibling;return d(f,s(pt,{icon:"arrow-left",variant:"ghost",onClick:()=>n(void 0)}),h),d(h,()=>u().toolName),d(x,()=>Pi(u().timestamp)),d(v,s(M,{get when(){return u().context},get children(){var b=t3(),m=b.firstChild,$=m.nextSibling;return d($,()=>u().context),b}}),null),d(v,s(M,{get when(){return u().input},get children(){var b=n3(),m=b.firstChild,$=m.nextSibling;return d($,()=>JSON.stringify(u().input,null,2)),b}}),null),d(v,s(M,{get when(){return u().outputSummary},get children(){var b=r3(),m=b.firstChild,$=m.nextSibling;return d($,()=>u().outputSummary),b}}),null),d(v,s(M,{get when(){return Ce(()=>!!u().relatedEntities)()&&u().relatedEntities.length>0},get children(){var b=i3(),m=b.firstChild,$=m.nextSibling;return d($,s(ze,{get each(){return u().relatedEntities},children:w=>(()=>{var y=a3();return d(y,w),y})()})),b}}),null),d(v,s(M,{get when(){return Ce(()=>!!u().custom)()&&Object.keys(u().custom).length>0},get children(){var b=s3(),m=b.firstChild,$=m.nextSibling;return d($,()=>JSON.stringify(u().custom,null,2)),b}}),null),g})()}),null),c})()}function T$(){const e=On(),[t,n]=De([]),[r,i]=De(!1),[o,a]=De(""),[c,l]=De(!1),u=async()=>n(await e.fetchBranches());Xt(u);const g=async()=>{const p=o().trim();if(p){l(!0);try{await e.createBranch(p),a(""),i(!1),await u()}finally{l(!1)}}},f=async p=>{l(!0);try{await e.switchBranch(p),await u(),await e.refresh()}finally{l(!1)}},h=async p=>{l(!0);try{await e.deleteBranch(p),await u()}finally{l(!1)}};return(()=>{var p=l3(),x=p.firstChild;x.firstChild;var v=x.nextSibling;return d(x,s(ot,{size:"small",variant:"ghost",onClick:()=>i(!0),get disabled(){return r()},children:"New"}),null),d(x,s(ot,{size:"small",variant:"ghost",onClick:u,children:"Refresh"}),null),d(p,s(M,{get when(){return r()},get children(){var b=Hu();return d(b,s(Bs,{placeholder:"Branch name...",get value(){return o()},onInput:m=>a(m.target.value),onKeyDown:m=>m.key==="Enter"&&g(),class:"flex-1",autofocus:!0}),null),d(b,s(pt,{icon:"check-small",variant:"ghost",onClick:g,get disabled(){return!o().trim()||c()}}),null),d(b,s(pt,{icon:"close-small",variant:"ghost",onClick:()=>i(!1)}),null),b}}),v),d(v,s(M,{get when(){return t().length>0},get fallback(){return c3()},get children(){return s(ze,{get each(){return t()},children:b=>(()=>{var m=u3(),$=m.firstChild,w=$.firstChild;return m.$$click=()=>!b.isCurrent&&f(b.name),d(m,s(M,{get when(){return!b.isCurrent},get fallback(){return s(Ne,{name:"check-small",size:"small",class:"text-icon-success"})},get children(){return s(En,{type:"branch",size:16})}}),$),d(w,()=>b.name),d(m,s(M,{get when(){return b.isCurrent},get children(){return d3()}}),null),d(m,s(M,{get when(){return!b.isCurrent},get children(){return s(pt,{icon:"close-small",variant:"ghost",size:"small",onClick:y=>{y.stopPropagation(),h(b.name)},get disabled(){return c()}})}}),null),ie(y=>{var S=c(),C=`text-12-medium ${b.isCurrent?"text-text-strong":"text-text-base"}`;return S!==y.e&&(m.disabled=y.e=S),C!==y.t&&zt(w,y.t=C),y},{e:void 0,t:void 0}),m})()})}})),p})()}function A$(){const e=On(),[t,n]=De([]),[r,i]=De(!1),[o,a]=De(""),[c,l]=De(!1),u=async()=>n(await e.fetchMilestones());Xt(u);const g=async()=>{const f=o().trim();if(f){l(!0);try{await e.createMilestone(f),a(""),i(!1),await u()}finally{l(!1)}}};return(()=>{var f=f3(),h=f.firstChild;h.firstChild;var p=h.nextSibling;return d(h,s(ot,{size:"small",variant:"ghost",onClick:()=>i(!0),get disabled(){return r()},children:"New"}),null),d(h,s(ot,{size:"small",variant:"ghost",onClick:u,children:"Refresh"}),null),d(f,s(M,{get when(){return r()},get children(){var x=Hu();return d(x,s(Bs,{placeholder:"Milestone message...",get value(){return o()},onInput:v=>a(v.target.value),onKeyDown:v=>v.key==="Enter"&&g(),class:"flex-1",autofocus:!0}),null),d(x,s(pt,{icon:"check-small",variant:"ghost",onClick:g,get disabled(){return!o().trim()||c()}}),null),d(x,s(pt,{icon:"close-small",variant:"ghost",onClick:()=>i(!1)}),null),x}}),p),d(p,s(M,{get when(){return t().length>0},get fallback(){return g3()},get children(){return s(ze,{get each(){return t()},children:x=>(()=>{var v=p3(),b=v.firstChild,m=b.nextSibling,$=m.firstChild,w=$.nextSibling;return d(b,s(En,{type:"milestone",size:16})),d($,()=>x.message??x.id),d(w,s(M,{get when(){return x.createdAt},get children(){var y=m3();return d(y,()=>Pi(x.createdAt)),y}}),null),d(w,s(M,{get when(){return x.affectedFiles.length>0},get children(){var y=h3(),S=y.firstChild;return d(y,()=>x.affectedFiles.length,S),y}}),null),v})()})}})),f})()}const D$={contains:["1","*"],assigns:["1","1"],blocks:["1","1"],remembers:["1","*"],tracks:["1","*"],parent:["1","*"],imports:["*","*"],links:["*","*"]};function cc(e,t,n,r,i){const a=Math.cos(i),c=Math.sin(i),l=-c,u=a;if(t==="1")e.append("line").attr("x1",n+l*6).attr("y1",r+u*6).attr("x2",n-l*6).attr("y2",r-u*6).attr("stroke","var(--text-weaker)").attr("stroke-width",1.2);else if(t==="*")for(const g of[-1,0,1])e.append("line").attr("x1",n).attr("y1",r).attr("x2",n+a*6*1.2+l*6*g*.7).attr("y2",r+c*6*1.2+u*6*g*.7).attr("stroke","var(--text-weaker)").attr("stroke-width",1.2);else if(t==="0..1")e.append("circle").attr("cx",n+a*6).attr("cy",r+c*6).attr("r",3).attr("fill","none").attr("stroke","var(--text-weaker)").attr("stroke-width",1.2),e.append("line").attr("x1",n+l*6).attr("y1",r+u*6).attr("x2",n-l*6).attr("y2",r-u*6).attr("stroke","var(--text-weaker)").attr("stroke-width",1.2);else if(t==="1..*"){e.append("line").attr("x1",n+l*6).attr("y1",r+u*6).attr("x2",n-l*6).attr("y2",r-u*6).attr("stroke","var(--text-weaker)").attr("stroke-width",1.2);const g={x:n+a*6,y:r+c*6};for(const f of[-1,0,1])e.append("line").attr("x1",g.x).attr("y1",g.y).attr("x2",g.x+a*6*.8+l*6*f*.7).attr("y2",g.y+c*6*.8+u*6*f*.7).attr("stroke","var(--text-weaker)").attr("stroke-width",1.2)}}const Ri=["issue","agent","project","memory","mcp","sprite","workunit","cycle","epic","roadmap","suggestion","file","directory","op"],Xr={label:900,edge:250,card:150,icon:2e4,dense:1500,pad:140},Wu="trellis:graph-physics";function I$(){try{const e=localStorage.getItem(Wu);if(!e)return Mr;const t=JSON.parse(e);return{dist:ls(t.dist??1),charge:ls(t.charge??1),collide:ls(t.collide??1),decay:ls(t.decay??1)}}catch{return Mr}}function L$(e){try{localStorage.setItem(Wu,JSON.stringify(e))}catch{}}function ls(e){return Number.isFinite(e)?Math.max(.25,Math.min(4,e)):1}function M$(e){return{label:e<=Xr.label,edge:e<=Xr.edge,card:e<=Xr.card,icon:e<=Xr.icon,dense:e>=Xr.dense,dist:e>2200?45:e>1200?60:90,charge:e>2200?-90:e>1200?-130:-250,collide:e>2200?11:e>1200?15:22,decay:e>2200?.09:e>1200?.07:.05,link:e>2200?.2:e>1200?.3:.5}}function dc(e,t,n){const r=Xr.pad/Math.min(1,e.k);return{left:(-e.x-r)/e.k,top:(-e.y-r)/e.k,right:(t-e.x+r)/e.k,bottom:(n-e.y+r)/e.k}}function bo(e,t){const n=e.x??0,r=e.y??0;return n>=t.left&&n<=t.right&&r>=t.top&&r<=t.bottom}function uc(e,t){const n=e.source,r=e.target,i=n.x??0,o=n.y??0,a=r.x??0,c=r.y??0;return Math.max(i,a)>=t.left&&Math.min(i,a)<=t.right&&Math.max(o,c)>=t.top&&Math.min(o,c)<=t.bottom}function fc(e={}){const t=On(),n=Jt(),r=`graph-sidebar-widths-${n.directory}`,i=()=>{try{const re=localStorage.getItem(r);return re?JSON.parse(re):null}catch{return null}},[o,a]=De(i()?.left??224),[c,l]=De(i()?.right??360);xe(()=>{localStorage.setItem(r,JSON.stringify({left:o(),right:c()}))});const u=()=>typeof window>"u"?720:Math.max(320,Math.min(720,Math.floor(window.innerWidth*.5))),g=()=>{const re=u();c()>re&&l(re)};Xt(()=>{typeof window>"u"||(g(),window.addEventListener("resize",g),rt(()=>window.removeEventListener("resize",g)))});const[f,h]=De(!0),[p,x]=De(!0),[v,b]=De(!0),[m,$]=De(!1),w=()=>e.options?.includeHidden??f(),y=()=>e.options?.includeImports??p(),S=()=>e.options?.includeLinks??v(),C=()=>e.options?.includeOps??m(),A=(re,H)=>{if(e.options&&e.onOptionsChange){e.onOptionsChange({...e.options,[re]:H});return}re==="includeHidden"&&h(H),re==="includeImports"&&x(H),re==="includeLinks"&&b(H),re==="includeOps"&&$(H)},[R,V]=De(I$()),[N]=Jo(()=>({rev:t.revision,includeHidden:w(),includeImports:y(),includeLinks:S(),includeOps:C(),external:e.revision??0}),re=>t.fetchGraph({includeHidden:re.includeHidden,includeImports:re.includeImports,includeLinks:re.includeLinks,includeOps:re.includeOps}),{initialValue:void 0}),B=()=>N.latest,O=e.scopedTypes?new Set(e.scopedTypes):new Set(["issue","agent","project","memory","mcp","sprite","workunit","cycle","epic","roadmap","suggestion","file","directory","op"]),[L,T]=De(O),E=new Set(e.scopedTypes??Ri),P=_(()=>new Set(e.highlightIds??[])),[j,G]=De(null),[q,z]=et({back:[],forward:[]});let F,Z;const U=re=>{const H=B();return H?H.nodes.find(Y=>Y.id===re)??null:null},se=re=>{const H=U(re);if(!H)return;const Y=j()?.id;Y!==re&&sn(()=>{Y&&z("back",ge=>[...ge,Y]),z("forward",[]),G(H)})},he=()=>{const re=q.back;if(re.length===0)return;const H=re[re.length-1],Y=U(H);if(!Y){z("back",te=>te.slice(0,-1)),he();return}const ge=j()?.id;sn(()=>{z("back",te=>te.slice(0,-1)),ge&&z("forward",te=>[...te,ge]),G(Y)})},ee=()=>{const re=q.forward;if(re.length===0)return;const H=re[re.length-1],Y=U(H);if(!Y){z("forward",te=>te.slice(0,-1)),ee();return}const ge=j()?.id;sn(()=>{z("forward",te=>te.slice(0,-1)),ge&&z("back",te=>[...te,ge]),G(Y)})},oe=_(()=>{const re=B();if(!re)return{};const H={};for(const Y of re.nodes)H[Y.type]=(H[Y.type]??0)+1;return H}),ae=_(()=>{const re=oe();return[...new Set([...Ri,...Object.keys(re)])].sort((H,Y)=>(re[Y]??0)-(re[H]??0))});xe(()=>{const re=e.scopedTypes;re&&(T(new Set(re)),sn(()=>{G(null),z({back:[],forward:[]})}))}),xe(()=>{if(e.scopedTypes)return;const re=ae().filter(H=>!E.has(H));re.length!==0&&(re.forEach(H=>E.add(H)),T(H=>new Set([...H,...re])))}),xe(()=>{const re=B();if(!re||!F)return;const H=e.themes,Y=P(),ge=re.nodes.filter(me=>L().has(me.type)).map(me=>{const tt=H?.[me.type]??H?.[me.type.toLowerCase()];return tt?{...me,color:tt.color,icon:tt.icon,fresh:Y.has(me.id)}:{...me,fresh:Y.has(me.id)}}),te=new Set(ge.map(me=>me.id)),Re=re.edges.filter(me=>te.has(me.source)&&te.has(me.target)).map(me=>({...me})),Te=xw(n.directory);Z=O$(F,ge,Re,{onSelect:me=>{se(me.id)},onDeselect:()=>{sn(()=>{G(null),z({back:[],forward:[]})})},getSelectedId:()=>j()?.id??null,layout:{load:()=>vw(n.directory),save:Te.save,flush:Te.flush}},Mn(R)),e.scopedTypes&&requestAnimationFrame(()=>Z?.fit()),rt(()=>{Z?.stop(),Z=void 0})}),xe(()=>{const re=R();L$(re),Z?.setPhysics(re)}),xe(()=>{const re=j()?.id??null,H=Z;H&&requestAnimationFrame(()=>H.focus(re))}),xe(()=>{const re=No.pending();if(!re||!B())return;const Y=U(re);Y&&(L().has(Y.type)||T(ge=>new Set([...ge,Y.type])),se(re),No.clear())});const fe=_(()=>ae().length>0&&ae().every(re=>L().has(re))),$e=()=>{T(()=>fe()?new Set:new Set(ae()))},Me=()=>j()!==null,Q=4,ne=()=>o()+Q;return(()=>{var re=b3(),H=re.firstChild,Y=H.firstChild;d(re,s(M,{get when(){return!e.hideSidebar},get children(){var te=v3(),Re=te.firstChild,Te=Re.firstChild;return d(Re,s(P$,{get width(){return o()},get types(){return ae()},get counts(){return oe()},get active(){return L()},get allActive(){return fe()},get includeHidden(){return w()},get includeImports(){return y()},get includeLinks(){return S()},get includeOps(){return C()},onToggle:me=>T(tt=>{const Ae=new Set(tt);return Ae.has(me)?Ae.delete(me):Ae.add(me),Ae}),onToggleAll:$e,onToggleHidden:()=>A("includeHidden",!w()),onToggleImports:()=>A("includeImports",!y()),onToggleLinks:()=>A("includeLinks",!S()),onToggleOps:()=>A("includeOps",!C()),get physics(){return R()},onPhysicsChange:me=>V(me),onPhysicsReset:()=>V(Mr),get themes(){return e.themes}}),Te),Te.$$pointerdown=me=>me.stopPropagation(),d(Te,s(Oi,{direction:"horizontal",get size(){return o()},min:180,max:400,onResize:me=>a(me)})),ie(me=>{var tt=Me()?"0px":`${ne()}px`,Ae=Me(),_e=`${ne()}px`,Le=Me()?0:1,ke=Me()||void 0;return tt!==me.e&&Je(te,"width",me.e=tt),Ae!==me.t&&ue(te,"aria-hidden",me.t=Ae),_e!==me.a&&Je(Re,"width",me.a=_e),Le!==me.o&&Je(Re,"opacity",me.o=Le),ke!==me.i&&(Te.inert=me.i=ke),me},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),te}}),H),d(H,s(E$,{get physics(){return R()},onPhysicsChange:V,onPhysicsReset:()=>V(Mr)}),Y);var ge=F;return typeof ge=="function"?mt(ge,Y):F=Y,d(H,s(M,{get when(){return B()?.nodes.length===0},get children(){return x3()}}),null),d(H,s(z$,{get width(){return c()},get maxWidth(){return u()},onResize:te=>l(Math.min(te,u())),get node(){return j()},get canBack(){return q.back.length>0},get canForward(){return q.forward.length>0},onBack:he,onForward:ee,onClose:()=>{sn(()=>{G(null),z({back:[],forward:[]})}),Z?.focus(null)},onNavigate:te=>se(te),onHover:te=>Z?.setHoveredId(te)}),null),re})()}function E$(e){const[t,n]=De(!1);return(()=>{var r=w3(),i=r.firstChild,o=i.firstChild,a=o.firstChild,c=o.nextSibling;return o.$$click=()=>n(l=>!l),d(o,s(Ne,{name:"chevron-right",size:"small",class:"text-icon-weak transition-transform",get style(){return{transform:t()?"rotate(90deg)":"rotate(0deg)"}}}),a),gt(c,"click",e.onPhysicsReset,!0),d(r,s(M,{get when(){return t()},get children(){var l=y3();return d(l,s(cs,{label:"Distance",get value(){return e.physics.dist},onInput:u=>e.onPhysicsChange({...e.physics,dist:u})}),null),d(l,s(cs,{label:"Repulsion",get value(){return e.physics.charge},onInput:u=>e.onPhysicsChange({...e.physics,charge:u})}),null),d(l,s(cs,{label:"Collision",get value(){return e.physics.collide},onInput:u=>e.onPhysicsChange({...e.physics,collide:u})}),null),d(l,s(cs,{label:"Decay",get value(){return e.physics.decay},onInput:u=>e.onPhysicsChange({...e.physics,decay:u})}),null),l}}),null),ie(()=>ue(o,"aria-expanded",t())),r})()}function P$(e){const t=new Set(Ri),n=()=>e.types.filter(c=>t.has(c)),r=()=>e.types.filter(c=>!t.has(c)),[i,o]=De(R$()),a=c=>{o(l=>{const u={...l,[c]:!l[c]};return F$(u),u})};return(()=>{var c=S3();return d(c,s(wo,{label:"System entities",get open(){return i().system},onToggle:()=>a("system"),get rightAction(){return{label:e.allActive?"None":"All",onClick:e.onToggleAll}}}),null),d(c,s(M,{get when(){return i().system},get children(){return s(ze,{get each(){return n()},children:l=>s(gc,{type:l,get active(){return e.active.has(l)},get count(){return e.counts[l]??0},onClick:()=>e.onToggle(l),get theme(){return e.themes?.[l]??e.themes?.[l.toLowerCase()]}})})}}),null),d(c,s(wo,{label:"Custom entities",get open(){return i().custom},onToggle:()=>a("custom"),topBorder:!0}),null),d(c,s(M,{get when(){return i().custom},get children(){return s(M,{get when(){return r().length>0},get fallback(){return T3()},get children(){return s(ze,{get each(){return r()},children:l=>s(gc,{type:l,get active(){return e.active.has(l)},get count(){return e.counts[l]??0},onClick:()=>e.onToggle(l)})})}})}}),null),d(c,s(wo,{label:"Options",get open(){return i().options},onToggle:()=>a("options"),topBorder:!0}),null),d(c,s(M,{get when(){return i().options},get children(){return[(()=>{var l=$3(),u=l.firstChild,g=u.nextSibling;return gt(l,"click",e.onToggleHidden,!0),d(l,s(Ne,{name:"eye",size:"small",class:"text-icon-weak"}),u),ie(f=>{var h={"text-text-strong bg-surface-base/0":e.includeHidden,"text-text-weak hover:text-text-base hover:bg-surface-raised-base/30":!e.includeHidden},p=e.includeHidden,x=!!e.includeHidden,v=!e.includeHidden;return f.e=bt(l,h,f.e),p!==f.t&&ue(l,"aria-pressed",f.t=p),x!==f.a&&g.classList.toggle("bg-text-strong",f.a=x),v!==f.o&&g.classList.toggle("bg-border-base",f.o=v),f},{e:void 0,t:void 0,a:void 0,o:void 0}),l})(),(()=>{var l=k3(),u=l.firstChild,g=u.nextSibling;return gt(l,"click",e.onToggleImports,!0),d(l,s(Ne,{name:"link",size:"small",class:"text-icon-weak"}),u),ie(f=>{var h={"text-text-strong bg-surface-raised-base/0":e.includeImports,"text-text-weak hover:text-text-base hover:bg-surface-raised-base/30":!e.includeImports},p=e.includeImports,x=!!e.includeImports,v=!e.includeImports;return f.e=bt(l,h,f.e),p!==f.t&&ue(l,"aria-pressed",f.t=p),x!==f.a&&g.classList.toggle("bg-text-strong",f.a=x),v!==f.o&&g.classList.toggle("bg-border-base",f.o=v),f},{e:void 0,t:void 0,a:void 0,o:void 0}),l})(),(()=>{var l=C3(),u=l.firstChild,g=u.nextSibling;return gt(l,"click",e.onToggleLinks,!0),d(l,s(Ne,{name:"file-text",size:"small",class:"text-icon-weak"}),u),ie(f=>{var h={"text-text-strong bg-surface-raised-base/0":e.includeLinks,"text-text-weak hover:text-text-base hover:bg-surface-raised-base/30":!e.includeLinks},p=e.includeLinks,x=!!e.includeLinks,v=!e.includeLinks;return f.e=bt(l,h,f.e),p!==f.t&&ue(l,"aria-pressed",f.t=p),x!==f.a&&g.classList.toggle("bg-text-strong",f.a=x),v!==f.o&&g.classList.toggle("bg-border-base",f.o=v),f},{e:void 0,t:void 0,a:void 0,o:void 0}),l})(),(()=>{var l=_3(),u=l.firstChild,g=u.nextSibling;return gt(l,"click",e.onToggleOps,!0),d(l,s(En,{type:"op",size:14,get color(){return Ce(()=>!!e.includeOps)()?Xc.op:"var(--text-weaker)"}}),u),ie(f=>{var h={"text-text-strong bg-surface-raised-base/0":e.includeOps,"text-text-weak hover:text-text-base hover:bg-surface-raised-base/30":!e.includeOps},p=e.includeOps,x=!!e.includeOps,v=!e.includeOps;return f.e=bt(l,h,f.e),p!==f.t&&ue(l,"aria-pressed",f.t=p),x!==f.a&&g.classList.toggle("bg-text-strong",f.a=x),v!==f.o&&g.classList.toggle("bg-border-base",f.o=v),f},{e:void 0,t:void 0,a:void 0,o:void 0}),l})()]}}),null),ie(l=>Je(c,"width",`${e.width}px`)),c})()}const Uu="trellis:sidebar-sections",yo={physics:!0,system:!0,custom:!0,options:!0};function R$(){try{const e=localStorage.getItem(Uu);if(!e)return yo;const t=JSON.parse(e);return{...yo,...t}}catch{return yo}}function F$(e){try{localStorage.setItem(Uu,JSON.stringify(e))}catch{}}function wo(e){return(()=>{var t=A3(),n=t.firstChild,r=n.firstChild;return gt(n,"click",e.onToggle,!0),d(n,s(Ne,{name:"chevron-right",size:"small",class:"text-icon-weak transition-transform",get style(){return{transform:e.open?"rotate(90deg)":"rotate(0deg)"}}}),r),d(r,()=>e.label),d(t,s(M,{get when(){return e.rightAction},children:i=>(()=>{var o=D3();return o.$$click=a=>{a.stopPropagation(),i().onClick()},d(o,()=>i().label),ie(()=>ue(o,"title",i().title)),o})()}),null),ie(i=>{var o={"mt-3 pt-2 border-t border-border-weaker-base":!!e.topBorder},a=e.open;return i.e=bt(t,o,i.e),a!==i.t&&ue(n,"aria-expanded",i.t=a),i},{e:void 0,t:void 0}),t})()}function gc(e){const t=()=>e.theme?.color??Or(e.type),n=()=>e.theme?.icon;return(()=>{var r=I3(),i=r.firstChild,o=i.nextSibling,a=o.nextSibling;return gt(r,"click",e.onClick,!0),d(r,s(En,{get type(){return e.type},size:14,get color(){return t()},get icon(){return n()}}),i),d(i,()=>e.theme?.label||e.type.replace(/_/g," ")),d(o,()=>e.count),ie(c=>{var l={"text-text-strong bg-surface-raised-base/50":e.active,"text-text-weak hover:text-text-base hover:bg-surface-raised-base/30":!e.active},u=e.active,g=!!e.active,f=!e.active;return c.e=bt(r,l,c.e),u!==c.t&&ue(r,"aria-pressed",c.t=u),g!==c.a&&a.classList.toggle("bg-text-strong",c.a=g),f!==c.o&&a.classList.toggle("bg-border-base",c.o=f),c},{e:void 0,t:void 0,a:void 0,o:void 0}),r})()}function cs(e){return(()=>{var t=L3(),n=t.firstChild,r=n.firstChild,i=r.nextSibling,o=i.firstChild,a=n.nextSibling;return d(r,()=>e.label),d(i,()=>e.value.toFixed(2),o),a.$$input=c=>e.onInput(Number(c.currentTarget.value)),ie(()=>a.value=e.value),t})()}function z$(e){const[n,r]=De(e.node);let i;return xe(()=>{const o=e.node;if(i&&(clearTimeout(i),i=void 0),o){r(o);return}i=setTimeout(()=>{e.node||r(null)},560)}),rt(()=>{i&&clearTimeout(i)}),(()=>{var o=E3(),a=o.firstChild;return d(a,s(M,{get when(){return n()},get children(){var c=M3();return c.$$pointerdown=l=>l.stopPropagation(),d(c,s(Oi,{direction:"horizontal",edge:"start",get size(){return e.width},min:300,get max(){return e.maxWidth},get onResize(){return e.onResize}})),c}}),null),d(a,s(M,{get when(){return n()},children:c=>s(gg,{get navigate(){return e.onNavigate},get children(){return s(mg,{get onHover(){return e.onHover},get children(){return[(()=>{var l=P3(),u=l.firstChild,g=u.firstChild,f=g.nextSibling,h=u.nextSibling,p=h.firstChild;return d(g,s(pt,{icon:"arrow-left",variant:"ghost",get onClick(){return e.onBack},get disabled(){return!e.canBack},title:"Back"}),null),d(g,s(pt,{icon:"arrow-right",variant:"ghost",get onClick(){return e.onForward},get disabled(){return!e.canForward},title:"Forward"}),null),d(u,s(En,{get type(){return c().type},size:14,class:"shrink-0"}),f),d(f,()=>c().label),d(u,s(pt,{icon:"close-small",variant:"ghost",get onClick(){return e.onClose}}),null),d(p,()=>c().id),ie(x=>{var v=c().label,b=c().id;return v!==x.e&&ue(f,"title",x.e=v),b!==x.t&&ue(p,"title",x.t=b),x},{e:void 0,t:void 0}),l})(),s(hg,{get id(){return c().id},get type(){return c().type},get status(){return c().status},get priority(){return c().priority},get initialTab(){return c().type==="issue"?"details":"preview"}})]}})}})}),null),ie(c=>{var l=`${e.width}px`,u=e.node?"translateX(0)":"translateX(110%)",g=e.node?1:0,f=e.node?"auto":"none";return l!==c.e&&Je(a,"width",c.e=l),u!==c.t&&Je(a,"transform",c.t=u),g!==c.a&&Je(a,"opacity",c.a=g),f!==c.o&&Je(a,"pointer-events",c.o=f),c},{e:void 0,t:void 0,a:void 0,o:void 0}),o})()}function O$(e,t,n,r,i=Mr){const o=typeof location<"u"?new URLSearchParams(location.search).get("renderer"):null;return o==="canvas"?ic(e,t,n,r,i):o==="svg"||t.length<=Bu.light?mc(e,t,n,r,i):ic(e,t,n,r,i)}function mc(e,t,n,r,i=Mr){const o=e.clientWidth||800,a=e.clientHeight||600,c=M$(t.length),l=t.length>1500,u=r.layout?.load(),g=Nu(t,u),f=g>0&&g>=Math.floor(t.length*.6),h=_n(e);h.selectAll("*").remove();const p=document.createElementNS("http://www.w3.org/2000/svg","style");p.textContent="@keyframes edgeFlow{to{stroke-dashoffset:-16}}.edge-flow{animation:edgeFlow 0.5s linear infinite}@keyframes nodeBirth{0%{opacity:1;transform:scale(3.4);filter:drop-shadow(0 0 18px #22c55e)}100%{opacity:0;transform:scale(1);filter:drop-shadow(0 0 0 transparent)}}.node-birth{animation:nodeBirth 5.5s ease-out forwards;transform-box:fill-box;transform-origin:center;pointer-events:none}",e.prepend(p);const x=1,v=.4,b=h.append("g");let m=u?.zoom?Fn.translate(u.zoom.x,u.zoom.y).scale(u.zoom.k):Fn,$=0,w=0,y,S=0;const C=550;f||(b.style("opacity","0").style("transition",`opacity ${C}ms ease-out`),requestAnimationFrame(()=>{b.style("opacity","1"),setTimeout(()=>b.style("transition",null),C+50)}));const A=()=>{r.layout&&r.layout.save(Ou(t,{x:m.x,y:m.y,k:m.k}))};let R=!1,V=null;const N=new Map;for(const K of t)N.set(K.id,K);const B=new Map;for(const K of t)B.set(K.id,new Set);for(const K of n){const pe=B.get(K.source),qe=B.get(K.target);pe&&pe.add(K.target),qe&&qe.add(K.source)}const O=new Map;for(const[K,pe]of B)O.set(K,new Set([K,...pe]));let L=null;const T=e.parentElement,E=T.appendChild(document.createElement("div"));E.setAttribute("class","graph-tooltip"),E.style.cssText="position:absolute;pointer-events:none;z-index:20;display:none;padding:0;border-radius:8px;font-size:11px;line-height:1.4;background:color-mix(in srgb, var(--surface-raised-base) 85%, transparent);backdrop-filter:blur(4px);border:1px solid var(--border-base);color:var(--text-strong);box-shadow:0 6px 20px rgba(0,0,0,.35);width:max-content;max-width:min(480px,90vw);opacity:0;transform:translateY(2px);transition:opacity 80ms ease-out,transform 80ms ease-out;";const P=180,j=120,G=6,q=T.appendChild(document.createElement("canvas")),z=window.devicePixelRatio||1;q.width=P*z,q.height=j*z,q.setAttribute("class","graph-minimap"),q.style.cssText=`position:absolute;left:12px;bottom:12px;z-index:15;width:${P}px;height:${j}px;background:color-mix(in srgb, var(--background-base) 88%, transparent);border:1px solid var(--border-base);border-radius:6px;box-shadow:0 2px 10px rgba(0,0,0,.35);cursor:pointer;`;const F=q.getContext("2d");F.scale(z,z);function Z(){let K=1/0,pe=1/0,qe=-1/0,J=-1/0;for(const kt of t){const dt=kt.x??0,Oe=kt.y??0;dt<K&&(K=dt),Oe<pe&&(pe=Oe),dt>qe&&(qe=dt),Oe>J&&(J=Oe)}const de=-m.x/m.k,Ie=-m.y/m.k,Ee=(o-m.x)/m.k,je=(a-m.y)/m.k;K=Math.min(K,de),pe=Math.min(pe,Ie),qe=Math.max(qe,Ee),J=Math.max(J,je),Number.isFinite(K)||(K=0,pe=0,qe=o,J=a);const Ue=qe-K||1,lt=J-pe||1,xt=Math.min((P-G*2)/Ue,(j-G*2)/lt);return{minX:K,minY:pe,maxX:qe,maxY:J,scale:xt}}function U(K,pe,qe){return[G+(K-qe.minX)*qe.scale,G+(pe-qe.minY)*qe.scale]}const se=new Map;function he(K){const pe=se.get(K.type);if(pe)return pe;const qe=ur(K);return se.set(K.type,qe),qe}let ee=0;function oe(){ee||(ee=requestAnimationFrame(()=>{ee=0,F.clearRect(0,0,P,j);const K=Z();F.globalAlpha=.7;const pe=new Map;for(const kt of t){const dt=he(kt),Oe=pe.get(dt);Oe?Oe.push(kt):pe.set(dt,[kt])}for(const[kt,dt]of pe){F.fillStyle=kt;for(const Oe of dt){const[Qe,it]=U(Oe.x??0,Oe.y??0,K);F.fillRect(Qe-.75,it-.75,1.5,1.5)}}F.globalAlpha=1;const qe=-m.x/m.k,J=-m.y/m.k,de=o/m.k,Ie=a/m.k,[Ee,je]=U(qe,J,K),Ue=de*K.scale,lt=Ie*K.scale;F.fillStyle="rgba(0,0,0,0.45)";const xt=new Path2D;xt.rect(0,0,P,j),xt.rect(Ee,je,Ue,lt),F.fill(xt,"evenodd"),F.strokeStyle="rgba(255,255,255,0.9)",F.lineWidth=1,F.strokeRect(Ee+.5,je+.5,Ue-1,lt-1)}))}function ae(K){const pe=q.getBoundingClientRect(),qe=K.clientX-pe.left,J=K.clientY-pe.top;if(qe<0||J<0||qe>P||J>j)return null;const de=Z(),Ie=(qe-G)/de.scale+de.minX,Ee=(J-G)/de.scale+de.minY;return[Ie,Ee]}function fe(K,pe){const qe=m.k,J=o/2-K*qe,de=a/2-pe*qe;h.call(re.transform,Fn.translate(J,de).scale(qe))}let $e=!1;const Me=K=>{K.preventDefault(),$e=!0;const pe=ae(K);pe&&fe(pe[0],pe[1])},Q=K=>{if(!$e)return;const pe=ae(K);pe&&fe(pe[0],pe[1])},ne=()=>{$e=!1};q.addEventListener("mousedown",Me),window.addEventListener("mousemove",Q),window.addEventListener("mouseup",ne);const re=ad().scaleExtent([.15,4]).extent(()=>[[0,0],[e.clientWidth||o,e.clientHeight||a]]).filter(K=>K.type==="wheel"?K.ctrlKey||K.metaKey:K.button===0||K.button===1).on("zoom",K=>{m=K.transform,b.attr("transform",String(K.transform)),Hn(),oe(),A()});h.call(re),e.addEventListener("wheel",K=>{K.ctrlKey||K.metaKey||(K.preventDefault(),h.call(re.translateBy,-K.deltaX,-K.deltaY))},{passive:!1}),e.addEventListener("mousedown",K=>{K.button===1&&(K.preventDefault(),e.style.cursor="grabbing")}),e.addEventListener("mouseup",K=>{K.button===1&&!R&&(e.style.cursor="default")});const H=K=>{if(!(K instanceof HTMLElement))return!1;if(K.isContentEditable)return!0;const pe=K.tagName;return pe==="INPUT"||pe==="TEXTAREA"||pe==="SELECT"},Y=K=>{K.code!=="Space"||R||H(K.target)||(K.preventDefault(),R=!0,e.style.cursor="grab",re.scaleExtent([m.k,m.k]))},ge=K=>{K.code==="Space"&&R&&(K.preventDefault(),R=!1,e.style.cursor="default",re.scaleExtent([.15,4]))};window.addEventListener("keydown",Y),window.addEventListener("keyup",ge),e.setAttribute("tabindex","0"),e.style.outline="none",e.focus(),h.on("click",K=>{K.target===e&&r.onDeselect()});const te=n.map(K=>({...K}));let Re={...i};const Te=()=>c.dist*Re.dist,me=()=>c.charge*Re.charge,tt=()=>c.collide*Re.collide,Ae=()=>c.decay*Re.decay,_e=sd(t).force("link",id(te).id(K=>K.id).distance(Te())).force("charge",od().strength(me())).force("collide",rd(tt())).alphaDecay(Ae());f||_e.force("center",td(o/2,a/2)),f&&_e.alpha(.15).alphaTarget(0);const Le=!l,ke=Le?"stroke 110ms ease-out, stroke-opacity 110ms ease-out, stroke-width 110ms ease-out, opacity 110ms ease-out":"none",Ge=.18,vt=b.append("g").attr("class","links").selectAll("line").data(te).join("line").attr("stroke","var(--text-weak)").attr("stroke-width",1).attr("stroke-opacity",Ge).attr("stroke-linecap","round").attr("stroke-dasharray",K=>K.type==="imports"?"3,3":K.type==="links"?"1,4":"none").style("transition",ke),Pt=b.append("g").attr("class","edge-labels").selectAll("text").data(c.edge?te:[]).join("text").text(K=>K.type).attr("font-size","9px").attr("font-weight","500").attr("fill","var(--text-base)").attr("stroke","var(--background-base)").attr("stroke-width",3).attr("stroke-linejoin","round").attr("paint-order","stroke").attr("text-anchor","middle").attr("pointer-events","none").attr("dy","0.35em").style("opacity",.35).style("transition",ke),St=b.append("g").attr("class","cardinality"),Tt=b.append("g").attr("class","nodes").selectAll("g").data(t).join("g").style("cursor","pointer").on("click",(K,pe)=>{K.stopPropagation(),r.onSelect(pe)}).on("mouseenter",(K,pe)=>{m.k<v||(V=pe.id,Vt(),pn(pe),an(pe.id))}).on("mouseleave",()=>{V!==null&&(V=null,Vt(),Bn(),an(null))}),Ut=.35;Tt.append("circle").attr("r",K=>Rn(K)+(K.type==="file"||K.type==="directory"?4:0)).attr("fill","transparent").attr("stroke",K=>ur(K)).attr("stroke-width",1.5).attr("stroke-opacity",Ut).style("transition",ke),Tt.filter(K=>!!K.fresh).append("circle").attr("class","node-birth").attr("r",K=>Rn(K)+6).attr("fill","rgba(34,197,94,0.18)").attr("stroke","#22c55e").attr("stroke-width",3),c.icon&&Tt.each(function(K){const pe=Rn(K),qe=_n(this);if(K.type==="file"||K.type==="directory"){const Ie=K.id.startsWith("file:")?K.id.slice(5):K.id.startsWith("dir:")?K.id.slice(4):K.id,Ee=Uc(Ie,K.type,!1),je=Math.max(pe*1.8,14);qe.append("svg").attr("viewBox","0 0 32 32").attr("width",je).attr("height",je).attr("x",-je/2).attr("y",-je/2).attr("pointer-events","none").append("use").attr("href",`${Gc}#${Ee}`);return}const J=qu(K);if(!J)return;const de=Math.max(pe*1.05,9);qe.append("svg").attr("viewBox",Vc).attr("width",de).attr("height",de).attr("x",-de/2).attr("y",-de/2).attr("fill","none").attr("stroke",ur(K)).attr("stroke-width",2.25).attr("stroke-linecap","round").attr("stroke-linejoin","round").attr("pointer-events","none").html(J)});const ye=b.append("g").attr("class","labels").selectAll("text").data(c.label?t:[]).join("text").text(K=>K.label).attr("font-size","10px").attr("fill","var(--text-weak)").attr("text-anchor","middle").attr("pointer-events","none").attr("dy","2.2em");let Ze=null,Pe=null;const Be=120,Ft=.15,qt=90,Nt=1.75,Gt=t.length>4e3;let Ht=0;const Ot=2.1;let $t=1,nn=1,en=null,Wt=0;function Pn(){Wt=0;const K=nn-$t;if(Math.abs(K)<.005){$t=nn,nn===1&&(en=null),wn();return}$t+=K*.28,wn(),Wt=requestAnimationFrame(Pn)}function an(K){K?(en=K,nn=Ot):nn=1,Wt||(Wt=requestAnimationFrame(Pn))}function Zn(K){if(en===K.id)return $t;if(Ze===null||Pe===null)return 1;const pe=(K.x??0)-Ze,qe=(K.y??0)-Pe,J=pe*pe+qe*qe,de=qt*qt;if(J>=de)return 1;const Ie=1-Math.sqrt(J)/qt,Ee=Ie*Ie*(3-2*Ie);return 1+(Nt-1)*Ee}function wn(){Tt.attr("transform",K=>{const pe=K.x??0,qe=K.y??0,J=Gt&&en!==K.id?1:Zn(K);return J===1?`translate(${pe},${qe})`:`translate(${pe},${qe}) scale(${J})`})}function Ln(){Ht||Gt&&en===null||(Ht=requestAnimationFrame(()=>{Ht=0,wn()}))}e.addEventListener("mousemove",K=>{const pe=e.getBoundingClientRect();Ze=(K.clientX-pe.left-m.x)/m.k,Pe=(K.clientY-pe.top-m.y)/m.k,Ln()}),e.addEventListener("mouseleave",()=>{Ze=null,Pe=null,Ln()});const sr=t.length>4e3,Nn=Be,dn=new Map,Qn=(K,pe)=>Math.floor(K/Nn)*100003+Math.floor(pe/Nn),hn=()=>{dn.clear();for(const K of t){const pe=Qn(K.x??0,K.y??0),qe=dn.get(pe);qe?qe.push(K):dn.set(pe,[K])}};let Jn=0;sr||_e.force("magnetic",K=>{if(Ze===null||Pe===null)return;Jn++%(K>.02?1:3)===0&&hn();const pe=Ze,qe=Pe,J=Math.floor(pe/Nn),de=Math.floor(qe/Nn),Ie=Be*Be;for(let Ee=-1;Ee<=1;Ee++)for(let je=-1;je<=1;je++){const Ue=dn.get((J+Ee)*100003+(de+je));if(Ue)for(const lt of Ue){const xt=lt.x??0,kt=lt.y??0,dt=pe-xt,Oe=qe-kt,Qe=dt*dt+Oe*Oe;if(Qe>=Ie||Qe<25)continue;const wt=(1-Math.sqrt(Qe)/Be)*Ft*K;lt.vx=(lt.vx??0)+dt*wt,lt.vy=(lt.vy??0)+Oe*wt}}});const tn=qg().on("start",(K,pe)=>{K.active||_e.alphaTarget(.3).restart(),pe.fx=pe.x,pe.fy=pe.y}).on("drag",(K,pe)=>{pe.fx=K.x,pe.fy=K.y}).on("end",(K,pe)=>{K.active||_e.alphaTarget(0),pe.fx=null,pe.fy=null,A()});Tt.call(tn);function Vt(){const K=r.getSelectedId(),pe=V??K,qe=V&&K&&K!==V?K:null,J=Tt,de=vt,Ie=Pt,Ee=ye,je=St;if(pe===null){J.style("opacity",null),Tt.select("circle").attr("stroke-opacity",Ut),de.classed("edge-flow",!1).attr("stroke","var(--text-weak)").attr("stroke-width",1).attr("stroke-opacity",Ge).attr("stroke-dasharray",be=>be.type==="imports"?"3,3":be.type==="links"?"1,4":"none"),Ie.style("opacity",.35),Ee.style("opacity",null),je.style("opacity",null);return}const Ue=dc(m,o,a),lt=O.get(pe)??new Set([pe]),xt=qe?O.get(qe)??new Set([qe]):null,kt=N.get(pe),dt=kt?ur(kt):"var(--border-base)",Oe=qe?N.get(qe):null,Qe=Oe?ur(Oe):null;J.style("opacity",be=>bo(be,Ue)?lt.has(be.id)?1:xt&&xt.has(be.id)?.55:.35:null),Tt.select("circle").attr("stroke-opacity",be=>lt.has(be.id)?1:xt&&xt.has(be.id)?.7:Ut);const it=be=>{const ct=be.source.id,I=be.target.id;return ct===pe||I===pe?1:qe&&(ct===qe||I===qe)?2:0},wt=Le&&m.k>=x;de.classed("edge-flow",be=>wt&&it(be)===1).attr("stroke",be=>{const ct=it(be);return ct===1?dt:ct===2&&Qe?Qe:"var(--border-base)"}).attr("stroke-width",be=>{const ct=it(be);return ct===1?2:ct===2?1.5:.5}).attr("stroke-opacity",be=>{const ct=it(be);return ct===1?.9:ct===2?.45:.25}).attr("stroke-dasharray",be=>{const ct=it(be);return wt&&ct===1?"4 4":be.type==="imports"?"3,3":be.type==="links"?"1,4":"none"}),Ie.style("opacity",be=>{const ct=it(be);return ct===1?1:ct===2?.5:.25}),Ee.style("opacity",be=>lt.has(be.id)?1:xt&&xt.has(be.id)?.5:.25),je.style("opacity",.25)}function or(K){return`<div style="padding:10px 24px 10px 12px"><div style="display:flex;align-items:center;gap:6px;margin-bottom:2px"><span style="width:8px;height:8px;border-radius:50%;background:${ur(K)};flex-shrink:0"></span><span style="font-weight:600;text-transform:capitalize">${K.type.replace(/_/g," ")}</span></div><div style="color:var(--text-weak);white-space:nowrap">${K.label}</div>`+(K.status?`<div style="color:var(--text-weaker);margin-top:1px">Status: ${K.status.replace(/_/g," ")}</div>`:"")+(K.priority?`<div style="color:var(--text-weaker)">Priority: ${K.priority}</div>`:"")+"</div>"}function pn(K){E.innerHTML=or(K),L!==null&&(clearTimeout(L),L=null),E.style.display="block",ar(K),requestAnimationFrame(()=>{E.style.opacity="1",E.style.transform="translateY(0)"})}function ar(K){const pe=e.getBoundingClientRect(),qe=(K.x??0)*m.k+m.x,J=(K.y??0)*m.k+m.y,de=Rn(K)*m.k,Ie=E.offsetWidth,Ee=E.offsetHeight;let je=qe-Ie/2,Ue=J-de-Ee-10;Ue<4&&(Ue=J+de+10),je<4&&(je=4),je+Ie>pe.width-4&&(je=pe.width-Ie-4),E.style.left=je+"px",E.style.top=Ue+"px"}function Bn(){E.style.opacity="0",E.style.transform="translateY(4px)",L=setTimeout(()=>{E.style.display="none",L=null},140)}function qn(){const K=dc(m,o,a);if(Tt.style("display",pe=>bo(pe,K)?null:"none"),c.label&&ye.style("display",pe=>bo(pe,K)?null:"none"),vt.style("display",pe=>uc(pe,K)?null:"none"),c.edge&&Pt.style("display",pe=>uc(pe,K)?null:"none"),c.label&&V===null){const pe=Math.min(1,Math.max(.2,(m.k-.15)/1.5));ye.style("opacity",pe)}if(V!==null&&m.k<v){V=null,Vt(),Bn(),an(null);return}if(V!==null){const pe=N.get(V);pe&&ar(pe),Vt()}}const er=l?180:0;function Hn(){if($||y)return;const K=performance.now(),pe=er?Math.max(0,er-(K-S)):0,qe=()=>{$=0,y=void 0,S=performance.now(),qn()};pe>0?y=setTimeout(()=>{y=void 0,$=requestAnimationFrame(qe)},pe):$=requestAnimationFrame(qe)}_e.on("end",()=>A()),_e.on("tick",()=>{if(w++,!(l&&w&1)){if(vt.attr("x1",K=>K.source.x??0).attr("y1",K=>K.source.y??0).attr("x2",K=>K.target.x??0).attr("y2",K=>K.target.y??0),c.edge&&Pt.attr("x",K=>(K.source.x+K.target.x)/2).attr("y",K=>(K.source.y+K.target.y)/2),c.card){St.selectAll("*").remove();for(const K of te){const pe=K.source,qe=K.target,J=pe.x??0,de=pe.y??0,Ie=qe.x??0,Ee=qe.y??0,je=Ie-J,Ue=Ee-de,lt=Math.sqrt(je*je+Ue*Ue);if(lt<1)continue;const xt=Math.atan2(Ue,je),kt=K.type,[dt,Oe]=D$[kt]??["1","*"],Qe=14;cc(St,dt,J+je/lt*Qe,de+Ue/lt*Qe,xt),cc(St,Oe,Ie-je/lt*Qe,Ee-Ue/lt*Qe,xt+Math.PI)}}wn(),c.label&&ye.attr("x",K=>K.x??0).attr("y",K=>K.y??0),(w&7)===0&&Hn(),(w&3)===0&&oe()}}),Hn(),oe();function Dr(){const K=()=>{if(t.length===0)return;let pe=1/0,qe=-1/0,J=1/0,de=-1/0;for(const dt of t){const Oe=dt.x??o/2,Qe=dt.y??a/2;pe=Math.min(pe,Oe),qe=Math.max(qe,Oe),J=Math.min(J,Qe),de=Math.max(de,Qe)}const Ie=120,Ee=qe-pe+Ie*2,je=de-J+Ie*2,Ue=Math.max(.15,Math.min(o/Ee,a/je,2)),lt=(pe+qe)/2,xt=(J+de)/2,kt=Fn.translate(o/2-lt*Ue,a/2-xt*Ue).scale(Ue);h.transition().duration(550).ease(dt=>dt<.5?4*dt*dt*dt:1-Math.pow(-2*dt+2,3)/2).call(re.transform,kt)};t.some(pe=>pe.x==null||pe.y==null)?requestAnimationFrame(K):K()}function vr(K){if(Vt(),!K)return;const pe=t.find(J=>J.id===K);if(!pe)return;const qe=()=>{const J=B.get(K)??new Set,de=[pe,...Array.from(J).map(He=>t.find(nt=>nt.id===He)).filter(Boolean)];let Ie=1/0,Ee=-1/0,je=1/0,Ue=-1/0;for(const He of de){const nt=He.x??o/2,ut=He.y??a/2;Ie=Math.min(Ie,nt),Ee=Math.max(Ee,nt),je=Math.min(je,ut),Ue=Math.max(Ue,ut)}const lt=80,xt=Ee-Ie+lt*2,kt=Ue-je+lt*2,dt=420,Oe=o-dt,Qe=a,it=Oe/xt,wt=Qe/kt,be=Math.min(it,wt,2),ct=(Ie+Ee)/2,I=(je+Ue)/2,X=(o-dt)/2,ce=a/2,Se=Fn.translate(X-ct*be,ce-I*be).scale(be);h.transition().duration(900).ease(He=>He<.5?4*He*He*He:1-Math.pow(-2*He+2,3)/2).call(re.transform,Se)};pe.x==null||pe.y==null?requestAnimationFrame(qe):qe()}return u?.zoom&&h.call(re.transform,m),{stop:()=>{$&&cancelAnimationFrame($),y&&clearTimeout(y),ee&&cancelAnimationFrame(ee),Ht&&cancelAnimationFrame(Ht),Wt&&cancelAnimationFrame(Wt),L!==null&&clearTimeout(L),_e.stop(),A(),r.layout?.flush(),E.remove(),q.removeEventListener("mousedown",Me),window.removeEventListener("mousemove",Q),window.removeEventListener("mouseup",ne),q.remove(),window.removeEventListener("keydown",Y),window.removeEventListener("keyup",ge)},focus:vr,fit:Dr,setHoveredId:K=>{if(!(K&&!N.has(K))){if(V=K,Vt(),K){const pe=N.get(K);pe&&pn(pe)}else Bn();Ln()}},setPhysics:K=>{Re={...K};const pe=_e.force("link");pe&&pe.distance(Te());const qe=_e.force("charge");qe&&qe.strength(me());const J=_e.force("collide");J&&J.radius(tt()),_e.alphaDecay(Ae()),_e.alpha(.3).restart()}}}const Gr={critical:"var(--icon-error)",high:"var(--icon-warning)",medium:"var(--icon-info)",low:"var(--text-weaker)"},N$=["January","February","March","April","May","June","July","August","September","October","November","December"];function hc(...e){return e.find(t=>t&&!Number.isNaN(new Date(t).getTime()))??new Date().toISOString()}function B$(){const e=On(),t=new Date,[n,r]=De(t.getFullYear()),[i,o]=De(t.getMonth()),[a]=Jo(()=>e.revision,()=>e.fetchMilestones(),{initialValue:[]}),c=()=>{i()===0?(r(v=>v-1),o(11)):o(v=>v-1)},l=()=>{i()===11?(r(v=>v+1),o(0)):o(v=>v+1)},u=_(()=>{const v=new Date(n(),i(),1).getDay(),b=new Date(n(),i()+1,0).getDate();return{first:v,total:b}}),g=_(()=>{const v=new Map,b=[...e.issues.map(m=>({kind:"issue",id:m.id,title:m.title,priority:m.priority,date:hc(m.createdAt)})),...e.workUnits.map(m=>({kind:"workunit",id:m.id,title:m.title,priority:m.priority,date:hc(m.createdAt,m.updatedAt)}))];for(const m of b){const $=new Date(m.date);if($.getFullYear()!==n()||$.getMonth()!==i())continue;const w=$.getDate(),y=v.get(w)??[];y.push(m),v.set(w,y)}return v}),f=_(()=>{const v=new Map;for(const b of a.latest??[]){if(!b.createdAt)continue;const m=new Date(b.createdAt);if(m.getFullYear()!==n()||m.getMonth()!==i())continue;const $=m.getDate(),w=v.get($)??[];w.push(b),v.set($,w)}return v}),h=_(()=>{const{first:v,total:b}=u(),m=Array(v).fill(null);for(let $=1;$<=b;$++)m.push($);return m}),p=new Date,x=v=>v===p.getDate()&&i()===p.getMonth()&&n()===p.getFullYear();return(()=>{var v=R3(),b=v.firstChild,m=b.firstChild,$=m.firstChild,w=b.nextSibling,y=w.firstChild,S=y.nextSibling,C=S.nextSibling,A=C.firstChild,R=A.firstChild,V=A.nextSibling,N=V.firstChild,B=V.nextSibling,O=B.firstChild,L=B.nextSibling,T=L.firstChild,E=L.nextSibling,P=E.nextSibling,j=P.firstChild;return d(b,s(pt,{icon:"chevron-left",variant:"ghost",onClick:c,"aria-label":"Previous month"}),m),d(m,()=>N$[i()],$),d(m,n,null),d(b,s(pt,{icon:"chevron-right",variant:"ghost",onClick:l,"aria-label":"Next month"}),null),d(y,s(ze,{each:["Su","Mo","Tu","We","Th","Fr","Sa"],children:G=>(()=>{var q=F3();return d(q,G),q})()})),d(S,s(ze,{get each(){return h()},children:G=>(()=>{var q=N3();return d(q,s(M,{when:G!==null,get children(){return[(()=>{var z=z3();return d(z,G),ie(F=>bt(z,{"bg-text-strong text-background-base":x(G),"text-text-weak":!x(G)},F)),z})(),(()=>{var z=O3();return d(z,s(ze,{get each(){return g().get(G)??[]},children:F=>(()=>{var Z=B3();return ie(U=>{var se=F.kind==="issue",he=F.kind==="workunit",ee=Gr[F.priority]??"var(--text-weaker)",oe=`${F.kind==="workunit"?"WorkUnit":"Issue"}: ${F.title}`;return se!==U.e&&Z.classList.toggle("rounded-full",U.e=se),he!==U.t&&Z.classList.toggle("rounded-sm",U.t=he),ee!==U.a&&Je(Z,"background",U.a=ee),oe!==U.o&&ue(Z,"title",U.o=oe),U},{e:void 0,t:void 0,a:void 0,o:void 0}),Z})()}),null),d(z,s(ze,{get each(){return f().get(G)??[]},children:F=>(()=>{var Z=q3();return ie(()=>ue(Z,"title",F.message??F.id)),Z})()}),null),z})()]}})),ie(z=>{var F=G!==null&&!x(G),Z=!!x(G);return F!==z.e&&q.classList.toggle("bg-surface-base",z.e=F),Z!==z.t&&q.classList.toggle("bg-surface-raised-base",z.t=Z),z},{e:void 0,t:void 0}),q})()})),ie(G=>{var q=Gr.critical,z=Gr.high,F=Gr.medium,Z=Gr.low,U=Gr.medium;return q!==G.e&&Je(R,"background",G.e=q),z!==G.t&&Je(N,"background",G.t=z),F!==G.a&&Je(O,"background",G.a=F),Z!==G.o&&Je(T,"background",G.o=Z),U!==G.i&&Je(j,"background",G.i=U),G},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),v})()}function q$(){const e=On(),t=_(()=>e.suggestions),[n,r]=De(),i=async o=>{r(o),await e.dismissSuggestion(o),r(void 0)};return(()=>{var o=H3(),a=o.firstChild;a.firstChild;var c=a.nextSibling;return d(a,s(ot,{size:"small",variant:"ghost",onClick:()=>void e.refresh(),children:"Refresh"}),null),d(c,s(M,{get when(){return t().length>0},get fallback(){return(()=>{var l=j3(),u=l.firstChild;return d(l,s(Ne,{name:"checklist",size:"small",class:"text-icon-weak"}),u),l})()},get children(){var l=Ks();return d(l,s(ze,{get each(){return t()},children:u=>(()=>{var g=W3(),f=g.firstChild,h=f.nextSibling,p=h.firstChild,x=p.nextSibling;return x.firstChild,d(f,s(M,{get when(){return u.priority==="high"},get fallback(){return s(Ne,{name:"alert-triangle",size:"small",class:"text-icon-warning"})},get children(){return s(Ne,{name:"alert-triangle",size:"small",class:"text-icon-error"})}})),d(p,()=>u.description),d(x,()=>u.ruleId,null),d(x,s(M,{get when(){return u.entityId},get children(){return[" · ",Ce(()=>u.entityId)]}}),null),d(g,s(ot,{size:"small",variant:"ghost",onClick:()=>i(u.id),get disabled(){return n()===u.id},children:"Dismiss"}),null),g})()})),l}})),o})()}function H$(){const e=On(),[t,n]=De([]),[r,i]=De();Xt(()=>{e.fetchPlans().then(n)});const o=a=>`rounded-full px-2 py-0.5 text-10-medium ${{drafting:"bg-surface-raised-base text-text-warning",submitted:"bg-surface-warning/20 text-text-warning",approved:"bg-surface-raised-base text-text-success",rejected:"bg-surface-raised-base text-text-danger"}[a]??"bg-surface-raised-base text-text-weak"}`;return(()=>{var a=U3(),c=a.firstChild;c.firstChild;var l=c.nextSibling;return d(c,s(ot,{size:"small",variant:"ghost",onClick:()=>void e.fetchPlans().then(n),children:"Refresh"}),null),d(l,s(M,{get when(){return t().length>0},get fallback(){return G3()},get children(){var u=Ks();return d(u,s(ze,{get each(){return t()},children:g=>(()=>{var f=X3(),h=f.firstChild,p=h.firstChild,x=p.nextSibling,v=x.firstChild,b=x.nextSibling,m=b.firstChild,$=b.nextSibling;return h.$$click=()=>i(r()===g.id?void 0:g.id),d(p,()=>g.status),d(v,()=>g.title),d(b,()=>g.operations.length,m),d($,()=>Pi(g.createdAt)),d(f,s(M,{get when(){return r()===g.id},get children(){var w=Y3();return d(w,s(M,{get when(){return g.description},get children(){var y=V3();return d(y,()=>g.description),y}}),null),d(w,s(ze,{get each(){return g.operations},children:y=>(()=>{var S=J3(),C=S.firstChild;return d(C,()=>y.kind),d(S,s(M,{get when(){return y.entityType},get children(){var A=Z3();return d(A,()=>y.entityType),A}}),null),d(S,s(M,{get when(){return y.description},get children(){var A=Q3();return d(A,()=>y.description),A}}),null),S})()}),null),d(w,s(M,{get when(){return g.rejectionReason},get children(){var y=K3();return y.firstChild,d(y,()=>g.rejectionReason,null),y}}),null),w}}),null),ie(()=>zt(p,o(g.status))),f})()})),u}})),a})()}function Gu(e){return(()=>{var t=e$(),n=t.firstChild;return d(n,()=>e.title),d(t,s(ze,{get each(){return e.items},children:r=>(()=>{var i=n$(),o=i.firstChild;return i.$$click=()=>e.setTab(r.id),d(i,s(M,{get when(){return r.icon},get children(){return s(Ne,{get name(){return r.icon},size:"small",class:"text-icon-weak shrink-0"})}}),o),d(o,()=>r.label),d(i,s(M,{get when(){return(r.badge??0)>0},get children(){var a=t$();return d(a,()=>r.badge),a}}),null),ie(a=>bt(i,{"bg-surface-raised-base text-text-strong":e.tab===r.id,"text-text-weak hover:text-text-base hover:bg-surface-raised-base/50":e.tab!==r.id},a)),i})()}),null),t})()}function j$(){const e=On(),t=_(()=>{const c=new Map,l=Date.now();for(let u=7;u>=0;u--){const g=new Date(l-u*7*864e5),f=`W${Math.ceil(g.getDate()/7)}`;c.set(f,{created:0,closed:0})}for(const u of e.issues){if(!u.createdAt)continue;const g=new Date(u.createdAt),f=Math.floor((l-g.getTime())/(7*864e5));if(f>7||f<0)continue;const h=`W${Math.ceil(g.getDate()/7)}`,p=c.get(h);p&&p.created++,u.status==="closed"&&p&&p.closed++}return[...c.entries()].map(([u,g])=>({label:u,...g}))}),n=_(()=>{let c=1;for(const l of t())l.created>c&&(c=l.created),l.closed>c&&(c=l.closed);return c}),r=_(()=>{const c={};for(const l of e.issues)c[l.priority]=(c[l.priority]??0)+1;return Object.entries(c).sort((l,u)=>u[1]-l[1])}),i=_(()=>{const c={};for(const l of e.issues)c[l.status]=(c[l.status]??0)+1;return Object.entries(c).sort((l,u)=>u[1]-l[1])}),o=c=>c==="closed"?"bg-text-success/70":c==="in_progress"?"bg-text-warning/70":c==="queue"?"bg-text-info/70":c==="paused"?"bg-[#bc8cff]/70":"bg-text-weak/40",a=c=>c==="critical"?"bg-text-error/70":c==="high"?"bg-text-warning/70":c==="medium"?"bg-text-info/70":"bg-text-weak/40";return(()=>{var c=r$(),l=c.firstChild,u=l.firstChild,g=u.nextSibling,f=l.nextSibling,h=f.firstChild,p=h.nextSibling,x=f.nextSibling,v=x.firstChild,b=v.nextSibling;return d(g,s(ze,{get each(){return t()},children:m=>(()=>{var $=i$(),w=$.firstChild,y=w.firstChild,S=y.nextSibling,C=w.nextSibling;return d(C,()=>m.label),ie(A=>{var R=`${m.created/n()*100}%`,V=`Created: ${m.created}`,N=`${m.closed/n()*100}%`,B=`Closed: ${m.closed}`;return R!==A.e&&Je(y,"height",A.e=R),V!==A.t&&ue(y,"title",A.t=V),N!==A.a&&Je(S,"height",A.a=N),B!==A.o&&ue(S,"title",A.o=B),A},{e:void 0,t:void 0,a:void 0,o:void 0}),$})()})),d(p,s(ze,{get each(){return r()},children:([m,$])=>{const w=()=>e.issues.length>0?$/e.issues.length*100:0;return(()=>{var y=s$(),S=y.firstChild,C=S.nextSibling,A=C.firstChild,R=C.nextSibling;return d(S,m),d(R,$),ie(V=>{var N=`h-full rounded-full ${a(m)}`,B=`${w()}%`;return N!==V.e&&zt(A,V.e=N),B!==V.t&&Je(A,"width",V.t=B),V},{e:void 0,t:void 0}),y})()}})),d(b,s(ze,{get each(){return i()},children:([m,$])=>{const w=()=>e.issues.length>0?$/e.issues.length*100:0;return(()=>{var y=o$(),S=y.firstChild,C=S.nextSibling,A=C.firstChild,R=C.nextSibling;return d(S,()=>m.replace("_"," ")),d(R,$),ie(V=>{var N=`h-full rounded-full ${o(m)}`,B=`${w()}%`;return N!==V.e&&zt(A,V.e=N),B!==V.t&&Je(A,"width",V.t=B),V},{e:void 0,t:void 0}),y})()}})),c})()}function W$(){const e=In(),t=At(),n=Jt(),r=An(),i=Qo(),{tabs:o}=ir(),[a,c]=et({ready:!1,path:void 0}),l=()=>jt(n.directory)||"Project",u=()=>n.client.file.write({fileWriteInput:{path:"README.md",content:`# ${l()}
|
|
37
|
-
|
|
38
|
-
Welcome to ${l()}.
|
|
39
|
-
|
|
40
|
-
## Getting started
|
|
41
|
-
|
|
42
|
-
Start by describing what this project is for and what you're building.
|
|
43
|
-
|
|
44
|
-
Add the key commands you use most often, for example:
|
|
45
|
-
|
|
46
|
-
- Install dependencies
|
|
47
|
-
- Run the app locally
|
|
48
|
-
- Run tests
|
|
49
|
-
- Build for production
|
|
50
|
-
|
|
51
|
-
## Next steps
|
|
52
|
-
|
|
53
|
-
- Summarize the current goal
|
|
54
|
-
- Link important files or directories
|
|
55
|
-
- Capture conventions, constraints, or decisions
|
|
56
|
-
`,format:!0}}),g=b=>{const m=e.tab(b);return o().all().includes(m)||o().open(m),o().setActive(m),c({ready:!0,path:b}),e.load(b).then(()=>{e.setMode(b,"rich")})},f=_(()=>a.path),h=_(()=>{const b=f();if(b)return e.get(b)}),p=_(()=>{const b=f();return b?e.text(b)??"":""}),x=_(()=>{const b=h()?.content;return b?.type==="text"&&b.encoding!=="base64"});Xt(()=>{e.tree.list("").then(()=>{const b=e.tree.children("").find(m=>{if(m.type!=="file")return!1;const $=m.path.split("/").pop()??m.path;return/^readme(?:\.(md|markdown|mdx|note))?$/i.test($)});return b?g(b.path):u().then(()=>e.tree.refresh("")).then(()=>g("README.md"))}).catch(()=>c("ready",!0))});const v=()=>{const b=f();b&&e.save(b)};return(()=>{var b=d$();return d(b,s(Qt,{get children(){return[s(Ve,{get when(){return!a.ready},get children(){var m=a$(),$=m.firstChild;return d(m,s(Di,{}),$),d($,()=>t.t("common.loading"),null),d($,()=>t.t("common.loading.ellipsis"),null),m}}),s(Ve,{get when(){return Ce(()=>!!(f()&&h()?.loaded))()&&x()},get children(){return s(Kc,{get path(){return f()},get state(){return h()},get value(){return p()},active:!0,onChange:m=>e.setDraft(f(),m),onSave:v,onMode:m=>e.setMode(f(),m),mention:{search:m=>Yc({query:m,file:e,sync:r,trellis:i}),fetch:async(m,$)=>{if($==="file")return await e.load(m),e.text(m)},navigate:m=>{if(m.type!=="file")return;const $=e.tab(m.id);o().all().includes($)||o().open($),o().setActive($),e.load(m.id)},onCreate:async m=>{try{await n.client.file.write({fileWriteInput:{path:m,content:"",format:!1}});const $=m.includes("/")?m.slice(0,m.lastIndexOf("/")):"";return await e.tree.refresh($),$&&e.tree.expand($),at({variant:"success",title:`Created ${m}`}),m}catch($){const w=$ instanceof Error?$.message:String($);at({variant:"error",title:"Create failed",description:w});return}}}})}}),s(Ve,{get when(){return Ce(()=>!!f())()&&h()?.loading},get children(){var m=l$();return d(m,()=>t.t("common.loading"),null),d(m,()=>t.t("common.loading.ellipsis"),null),m}}),s(Ve,{get when(){return h()?.error},children:m=>(()=>{var $=u$();return d($,m),$})()}),s(Ve,{get when(){return a.ready},get children(){return c$()}})]}})),b})()}function U$(e){const t=On(),[n,r]=De("board"),i=_(()=>t.suggestions.length),o=_(()=>[{id:"board",label:"Board",icon:"checklist"},{id:"milestones",label:"Milestones",icon:"flag"},{id:"calendar",label:"Calendar",icon:"calendar"},{id:"suggestions",label:"Suggestions",icon:"lightbulb",badge:i()},{id:"plans",label:"Plans",icon:"scroll"},{id:"insights",label:"Insights",icon:"line-chart"}]);return(()=>{var a=f$(),c=a.firstChild;return d(a,s(Gu,{title:"Plan",get items(){return o()},get tab(){return n()},setTab:r}),c),d(c,s(M,{get when(){return n()==="board"},get children(){return s(y$,{get todos(){return e.todos}})}}),null),d(c,s(M,{get when(){return n()==="milestones"},get children(){return s(A$,{})}}),null),d(c,s(M,{get when(){return n()==="calendar"},get children(){return s(B$,{})}}),null),d(c,s(M,{get when(){return n()==="suggestions"},get children(){return s(q$,{})}}),null),d(c,s(M,{get when(){return n()==="plans"},get children(){return s(H$,{})}}),null),d(c,s(M,{get when(){return n()==="insights"},get children(){return s(j$,{})}}),null),a})()}function G$(){const[e,t]=De("history"),n=[{id:"history",label:"History",icon:"history"},{id:"decisions",label:"Decisions",icon:"brain"},{id:"branches",label:"Branches",icon:"branch"}];return(()=>{var r=g$(),i=r.firstChild;return d(r,s(Gu,{title:"Explore",items:n,get tab(){return e()},setTab:t}),i),d(i,s(M,{get when(){return e()==="history"},get children(){return s(_$,{})}}),null),d(i,s(M,{get when(){return e()==="decisions"},get children(){return s(S$,{})}}),null),d(i,s(M,{get when(){return e()==="branches"},get children(){return s(T$,{})}}),null),r})()}Mt(["click","mousedown","mouseup","pointerdown","input"]);var V$=k('<aside class="shrink-0 border-r border-border-weaker-base px-2 py-3 flex flex-col gap-1 overflow-y-auto"><button class="w-full flex items-center gap-2 px-2.5 py-1.5 rounded-md text-left text-12-medium transition-colors"><span class="truncate flex-1">All</span><span class="px-1.5 py-[1px] rounded-full text-10-regular tabular-nums bg-surface-raised-base text-text-weaker"></span></button><div class="mx-1 my-1 border-t border-border-weaker-base">'),K$=k('<div class="px-2.5 py-1.5 text-11-regular text-text-weaker italic">No custom entities'),Y$=k('<span class="text-10-regular tabular-nums text-text-weaker">'),X$=k('<div class="px-2 pb-1 flex items-center justify-between"><button class="flex items-center gap-1.5 text-10-medium uppercase tracking-wide text-text-weaker hover:text-text-base transition-colors"><span>'),Z$=k('<button class="w-full flex items-center gap-2 px-2.5 py-1.5 rounded-md text-left text-12-medium transition-colors"><span class="truncate capitalize flex-1"></span><span class="px-1.5 py-[1px] rounded-full text-10-regular tabular-nums">'),Q$=k('<button class="w-full flex items-center gap-2 px-2.5 py-1.5 rounded-md text-left text-12-medium transition-colors"><span class="flex-1 truncate"></span><span class="size-1.5 shrink-0 rounded-full transition-colors">');const Vu="trellis:database-sidebar-sections",Ku="trellis:database-sidebar-hide-empty",$o={system:!0,custom:!0,options:!0};function J$(){try{const e=localStorage.getItem(Vu);return e?{...$o,...JSON.parse(e)}:$o}catch{return $o}}function ek(e){try{localStorage.setItem(Vu,JSON.stringify(e))}catch{}}function tk(){try{return localStorage.getItem(Ku)==="true"}catch{return!1}}function nk(e){try{localStorage.setItem(Ku,String(e))}catch{}}function rk(e){const t=new Set(e.systemTypes),[n,r]=De(tk()),i=h=>!n()||(e.counts[h]??0)>0||e.selectedType===h,o=()=>e.types.filter(h=>t.has(h)&&i(h)),a=()=>e.types.filter(h=>!t.has(h)&&i(h)),c=h=>e.theme?.(h)??{label:h,color:Or(h),icon:h},[l,u]=De(J$()),g=h=>{u(p=>{const x={...p,[h]:!p[h]};return ek(x),x})},f=h=>{e.selectedType===h?e.onSelectType(null):e.onSelectType(h)};return(()=>{var h=V$(),p=h.firstChild,x=p.firstChild,v=x.nextSibling;return p.nextSibling,p.$$click=()=>e.onSelectType(null),d(p,s(Ne,{name:"git-branch",size:"small",class:"text-icon-weak"}),x),d(v,()=>e.total??0),d(h,s(ds,{label:"System entities",get right(){return Ce(()=>e.types.length>0)()?`${o().length}`:void 0},get open(){return l().system},onToggle:()=>g("system")}),null),d(h,s(M,{get when(){return l().system},get children(){return s(ze,{get each(){return o()},children:b=>s(pc,{type:b,get count(){return e.counts[b]??0},get active(){return e.selectedType===b},get theme(){return c(b)},onClick:()=>f(b)})})}}),null),d(h,s(ds,{label:"Custom entities",get right(){return Ce(()=>a().length>0)()?`${a().length}`:"none"},get open(){return l().custom},onToggle:()=>g("custom"),topBorder:!0}),null),d(h,s(M,{get when(){return l().custom},get children(){return s(M,{get when(){return a().length>0},get fallback(){return K$()},get children(){return s(ze,{get each(){return a()},children:b=>s(pc,{type:b,get count(){return e.counts[b]??0},get active(){return e.selectedType===b},get theme(){return c(b)},onClick:()=>f(b)})})}})}}),null),d(h,s(M,{get when(){return Ce(()=>!!e.options)()&&e.onToggleOption},get children(){return s(ds,{label:"Options",get open(){return l().options},onToggle:()=>g("options"),topBorder:!0})}}),null),d(h,s(M,{get when(){return!e.options||!e.onToggleOption},get children(){return s(ds,{label:"Options",get open(){return l().options},onToggle:()=>g("options"),topBorder:!0})}}),null),d(h,s(M,{get when(){return l().options},get children(){return[s(bi,{get icon(){return s(Ne,{name:"eye-off",size:"small",class:"text-icon-weak"})},label:"Hide empty entities",get active(){return n()},onClick:()=>{r(b=>(nk(!b),!b))},title:"Hide entity types with no records"}),s(M,{get when(){return Ce(()=>!!e.options)()&&e.onToggleOption},get children(){return[s(bi,{get icon(){return s(Ne,{name:"eye",size:"small",class:"text-icon-weak"})},label:"Hidden files",get active(){return e.options.hidden},onClick:()=>e.onToggleOption("hidden"),title:"Include dotfiles and gitignored paths"}),s(bi,{get icon(){return s(Ne,{name:"link",size:"small",class:"text-icon-weak"})},label:"Import edges",get active(){return e.options.imports},onClick:()=>e.onToggleOption("imports"),title:"Edges from imports / requires / @import"}),s(bi,{get icon(){return s(Ne,{name:"file-text",size:"small",class:"text-icon-weak"})},label:"Link edges",get active(){return e.options.links},onClick:()=>e.onToggleOption("links"),title:"Edges from markdown and wiki-links"}),s(bi,{get icon(){return s(En,{type:"op",size:14,get color(){return Ce(()=>!!e.options.ops)()?Xc.op:"var(--text-weaker)"}})},label:"Ops",get active(){return e.options.ops},onClick:()=>e.onToggleOption("ops"),title:"Include recent causal-stream ops"})]}})]}}),null),ie(b=>{var m=`${e.width}px`,$={"text-text-strong bg-surface-raised-base":e.selectedType===null,"text-text-weak hover:text-text-base hover:bg-surface-raised-base/30":e.selectedType!==null},w=e.selectedType===null;return m!==b.e&&Je(h,"width",b.e=m),b.t=bt(p,$,b.t),w!==b.a&&ue(p,"aria-pressed",b.a=w),b},{e:void 0,t:void 0,a:void 0}),h})()}function ds(e){return(()=>{var t=X$(),n=t.firstChild,r=n.firstChild;return gt(n,"click",e.onToggle,!0),d(n,s(Ne,{name:"chevron-right",size:"small",class:"text-icon-weak transition-transform",get style(){return{transform:e.open?"rotate(90deg)":"rotate(0deg)"}}}),r),d(r,()=>e.label),d(t,s(M,{get when(){return e.right},get children(){var i=Y$();return d(i,()=>e.right),i}}),null),ie(i=>{var o={"mt-3 pt-2 border-t border-border-weaker-base":!!e.topBorder},a=e.open;return i.e=bt(t,o,i.e),a!==i.t&&ue(n,"aria-expanded",i.t=a),i},{e:void 0,t:void 0}),t})()}function pc(e){const t=()=>e.theme.color;return(()=>{var n=Z$(),r=n.firstChild,i=r.nextSibling;return gt(n,"click",e.onClick,!0),d(n,s(En,{get type(){return e.type},size:14,get color(){return Ce(()=>!!e.active)()?t():"var(--text-weaker)"},get icon(){return e.theme.icon}}),r),d(r,()=>e.theme.label),d(i,()=>e.count),ie(o=>{var a={"text-text-strong bg-surface-raised-base":e.active,"text-text-weak hover:text-text-base hover:bg-surface-raised-base/30":!e.active},c=e.active,l=e.active?{"background-color":`color-mix(in oklab, ${t()} 18%, transparent)`,color:`color-mix(in oklab, ${t()} 90%, var(--text-base))`}:{"background-color":"var(--surface-raised-base)",color:"var(--text-weaker)"};return o.e=bt(n,a,o.e),c!==o.t&&ue(n,"aria-pressed",o.t=c),o.a=tr(i,l,o.a),o},{e:void 0,t:void 0,a:void 0}),n})()}function bi(e){return(()=>{var t=Q$(),n=t.firstChild,r=n.nextSibling;return gt(t,"click",e.onClick,!0),d(t,()=>e.icon,n),d(n,()=>e.label),ie(i=>{var o={"text-text-strong":e.active,"text-text-weak hover:text-text-base hover:bg-surface-raised-base/30":!e.active},a=e.active,c=e.title,l=!!e.active,u=!e.active;return i.e=bt(t,o,i.e),a!==i.t&&ue(t,"aria-pressed",i.t=a),c!==i.a&&ue(t,"title",i.a=c),l!==i.o&&r.classList.toggle("bg-text-strong",i.o=l),u!==i.i&&r.classList.toggle("bg-border-base",i.i=u),i},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),t})()}Mt(["click"]);var ik=k('<button class="text-text-weaker hover:text-text-base"title=Clear>'),sk=k("<pre class=db-json-view>"),ok=k('<div class="h-full overflow-y-auto px-3 py-2 flex flex-col gap-1">'),ak=k('<div class="flex flex-col h-full min-h-0"><div class="shrink-0 flex items-center gap-2 px-3 py-2 border-b border-border-weaker-base"><div class="flex items-center gap-1.5 flex-1 min-w-0 px-2 py-1 rounded-md bg-surface-raised-base/40"><input type=text class="flex-1 min-w-0 bg-transparent border-0 outline-0 text-12-regular text-text-base placeholder:text-text-weaker"placeholder="Filter… key:value"></div><div class="shrink-0 flex items-center gap-0.5 p-0.5 rounded-md bg-surface-raised-base/40"></div></div><div class="flex-1 min-h-0 overflow-hidden">'),lk=k('<button class="flex items-center gap-1 px-2 py-1 rounded text-11-medium transition-colors">'),ck=k('<div class="h-full flex items-center justify-center text-12-regular text-text-weaker">No records'),dk=k('<button class="w-full flex items-center gap-2 px-2.5 py-2 rounded-md text-left text-12-regular text-text-weak hover:text-text-base hover:bg-surface-raised-base/40 transition-colors"><span class="font-mono text-text-base truncate flex-1"></span><span class="px-1.5 py-[1px] rounded-full text-10-regular tabular-nums shrink-0"style=background-color:var(--surface-raised-base)>');function uk(e){const t=e.trim();if(!t)return{};const n=t.match(/^([a-zA-Z_][\w-]*)\s*[:=]\s*(.+)$/);return n?{attribute:n[1],value:n[2].trim()}:{value:t}}const fk=[{id:"list",label:"List",icon:"list"},{id:"json",label:"JSON-LD",icon:"braces"}];function gk(e){const t=Vs(),n=qs(),[r,i]=De("list"),[o,a]=De(""),c=_(()=>e.type?t.entities.filter(f=>ba(f.type,e.type)):t.entities),l=_(()=>{const f=uk(o()),h=c();if(!f.value&&!f.attribute)return h;const p=f.value?.toLowerCase();if(!f.attribute&&p)return h.filter(v=>v.id.toLowerCase().includes(p)||Gn(v.type).includes(p)||t.facts.some(b=>b.e===v.id&&(b.a.toLowerCase().includes(p)||String(b.v).toLowerCase().includes(p))));const x=f.attribute?.toLowerCase();return h.filter(v=>t.facts.some(b=>b.e===v.id&&(!x||b.a.toLowerCase().includes(x))&&(!p||String(b.v).toLowerCase().includes(p))))}),u=f=>e.theme?.(f)??{label:f,color:Or(f),icon:f},g=_(()=>JSON.stringify({"@context":{"@vocab":"https://trellis.local/store#"},"@graph":l().map(f=>{const h={"@id":f.id,"@type":f.type};for(const p of t.facts.filter(x=>x.e===f.id)){const x=h[p.a];x===void 0?h[p.a]=p.v:h[p.a]=Array.isArray(x)?[...x,p.v]:[x,p.v]}return h})},null,2));return(()=>{var f=ak(),h=f.firstChild,p=h.firstChild,x=p.firstChild,v=p.nextSibling,b=h.nextSibling;return d(p,s(Ne,{name:"search",size:"small",class:"text-icon-weak shrink-0"}),x),x.$$input=m=>a(m.currentTarget.value),d(p,s(M,{get when(){return o()},get children(){var m=ik();return m.$$click=()=>a(""),d(m,s(Ne,{name:"x",size:"small"})),m}}),null),d(v,s(ze,{each:fk,children:m=>(()=>{var $=lk();return $.$$click=()=>i(m.id),d($,s(Ne,{get name(){return m.icon},size:"small"}),null),d($,()=>m.label,null),ie(w=>{var y={"bg-surface-raised-base text-text-strong":r()===m.id,"text-text-weak hover:text-text-base":r()!==m.id},S=r()===m.id;return w.e=bt($,y,w.e),S!==w.t&&ue($,"aria-pressed",w.t=S),w},{e:void 0,t:void 0}),$})()})),d(b,s(Qt,{get children(){return[s(Ve,{get when(){return r()==="json"},get children(){var m=sk();return d(m,g),m}}),s(Ve,{get when(){return r()==="list"},get children(){return s(M,{get when(){return l().length>0},get fallback(){return(()=>{var m=ck();return m.firstChild,d(m,(()=>{var $=Ce(()=>!!e.type);return()=>$()?` of type ${e.type}`:""})(),null),m})()},get children(){var m=ok();return d(m,s(ze,{get each(){return l()},children:$=>{const w=u($.type);return(()=>{var y=dk(),S=y.firstChild,C=S.nextSibling;return y.$$click=()=>{t.select($.id),n.push($.id,$.type)},d(y,s(En,{get type(){return $.type},size:14,class:"shrink-0",get color(){return w.color},get icon(){return w.icon}}),S),d(S,()=>$.id),d(C,()=>w.label),ie(A=>Je(C,"color",w.color)),y})()}})),m}})}})]}})),ie(()=>x.value=o()),f})()}Mt(["input","click"]);var mk=k('<div class="h-full w-full bg-background-base"><svg class="w-full h-full"preserveAspectRatio="xMidYMid meet"style=touch-action:none>'),hk=k('<div class="h-full flex items-center justify-center text-12-regular text-text-weaker">No relationships to render'),pk=k('<svg><g><line stroke=var(--border-base) stroke-width=1.25></line><g><rect x=-58 y=-12 width=116 height=24 rx=6 fill=var(--surface-raised-base) stroke=var(--border-weaker-base)></rect><text x=0 y=1 text-anchor=middle dominant-baseline=middle fill=var(--text-base) font-size=11 font-family="ui-monospace, monospace"></text><text x=0 y=20 text-anchor=middle dominant-baseline=hanging fill=var(--text-weaker) font-size=9></svg>',!1,!0,!1),vk=k('<svg><text text-anchor=end fill=var(--text-weaker) font-size=10 font-family="ui-monospace, monospace"></svg>',!1,!0,!1),xk=k("<svg><g><rect x=0 y=0 rx=8 fill=var(--surface-raised-base)></rect><rect x=0 y=0 height=4 rx=2></rect><text text-anchor=middle dominant-baseline=middle fill=var(--text-strong) font-size=13 font-weight=600></svg>",!1,!0,!1);const qo=160,Ho=64,yi=220;function bk(e){const t=()=>e.type==="all",n=_(()=>{const f=new Map;for(const h of e.links){const p=e.typeOf(h.e1),x=e.typeOf(h.e2),v=p===e.type,b=x===e.type;if(!v&&!b)continue;const m=v?x:p,$=v?"out":"in",w=`${m}|${h.a}|${$}`,y=f.get(w);y?y.count++:f.set(w,{key:w,type:m,relation:h.a,direction:$,count:1})}return Array.from(f.values()).sort((h,p)=>p.count-h.count)}),r=_(()=>{const f=new Map;for(const h of e.links){const p=e.typeOf(h.e1),x=e.typeOf(h.e2),v=`${p}|${h.a}|${x}`,b=f.get(v);b?b.count++:f.set(v,{key:v,source:p,target:x,relation:h.a,count:1})}return Array.from(f.values()).sort((h,p)=>p.count-h.count)}),i=_(()=>[...new Set(r().flatMap(f=>[f.source,f.target]))].sort()),o=()=>t()?r().length:n().length,a=_(()=>{const f=t()?i().length:o();if(f===0)return[];const h=[];for(let p=0;p<f;p++){const x=2*Math.PI*p/f-Math.PI/2;h.push({x:Math.cos(x)*yi,y:Math.sin(x)*yi,n:n()[p]})}return h}),c=_(()=>{const f=Math.max(qo,Ho)+32,h=yi+f;return`${-h} ${-h} ${h*2} ${h*2}`}),l=f=>e.theme?.(f)??{label:f,color:Or(f),icon:f},u=()=>l(e.type).color,g=_(()=>{const f=i().length,h=new Map;for(let p=0;p<f;p++){const x=2*Math.PI*p/f-Math.PI/2;h.set(i()[p],{x:Math.cos(x)*yi,y:Math.sin(x)*yi})}return h});return s(M,{get when(){return o()>0},get fallback(){return hk()},get children(){var f=mk(),h=f.firstChild;return d(h,s(M,{get when(){return t()},get fallback(){return[s(ze,{get each(){return a()},children:p=>{const x=p.n.direction==="out",v=p.x,b=p.y,m=v/2,$=b/2;return s(vc,{x1:0,y1:0,x2:v,y2:b,mx:m,my:$,get label(){return`${x?"→ ":"← "}${p.n.relation}`},get count(){return p.n.count},dashed:!x})}}),s(ze,{get each(){return a()},children:p=>s(ko,{get x(){return p.x},get y(){return p.y},get type(){return l(p.n.type).label},get count(){return p.n.count},get accent(){return l(p.n.type).color}})}),s(ko,{x:0,y:0,get type(){return l(e.type).label},count:void 0,get accent(){return u()},center:!0})]},get children(){return[s(ze,{get each(){return r()},children:p=>{const x=g().get(p.source)??{x:0,y:0},v=g().get(p.target)??{x:0,y:0};return s(vc,{get x1(){return x.x},get y1(){return x.y},get x2(){return v.x},get y2(){return v.y},get mx(){return(x.x+v.x)/2},get my(){return(x.y+v.y)/2},get label(){return p.relation},get count(){return p.count}})}}),s(ze,{get each(){return i()},children:p=>{const x=g().get(p)??{x:0,y:0},v=r().filter(b=>b.source===p||b.target===p).length;return s(ko,{get x(){return x.x},get y(){return x.y},get type(){return l(p).label},count:v,get accent(){return l(p).color}})}})]}})),ie(()=>ue(h,"viewBox",c())),f}})}function vc(e){const t=e.count>1?"1..*":"1";return(()=>{var n=pk(),r=n.firstChild,i=r.nextSibling,o=i.firstChild,a=o.nextSibling,c=a.nextSibling;return d(a,()=>e.label),d(c,t),ie(l=>{var u=e.x1,g=e.y1,f=e.x2,h=e.y2,p=e.dashed?"4 3":"",x=`translate(${e.mx} ${e.my})`;return u!==l.e&&ue(r,"x1",l.e=u),g!==l.t&&ue(r,"y1",l.t=g),f!==l.a&&ue(r,"x2",l.a=f),h!==l.o&&ue(r,"y2",l.o=h),p!==l.i&&ue(r,"stroke-dasharray",l.i=p),x!==l.n&&ue(i,"transform",l.n=x),l},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),n})()}function ko(e){const t=e.center?qo+20:qo,n=e.center?Ho+12:Ho;return(()=>{var r=xk(),i=r.firstChild,o=i.nextSibling,a=o.nextSibling;return ue(i,"width",t),ue(i,"height",n),ue(o,"width",t),ue(a,"x",t/2),ue(a,"y",n/2),d(a,()=>e.type),d(r,s(M,{get when(){return e.count!==void 0},get children(){var c=vk();return ue(c,"x",t-8),ue(c,"y",n-8),d(c,()=>e.count),c}}),null),ie(c=>{var l=`translate(${e.x-t/2} ${e.y-n/2})`,u=e.center?e.accent:"var(--border-weaker-base)",g=e.center?1.5:1,f=e.accent;return l!==c.e&&ue(r,"transform",c.e=l),u!==c.t&&ue(i,"stroke",c.t=u),g!==c.a&&ue(i,"stroke-width",c.a=g),f!==c.o&&ue(o,"fill",c.o=f),c},{e:void 0,t:void 0,a:void 0,o:void 0}),r})()}var yk=k('<button class="text-text-weaker hover:text-text-base"title=Clear>'),wk=k('<div class="h-full overflow-y-auto"><table class="w-full text-12-regular"><thead class="sticky top-0 bg-background-base text-text-weaker text-10-medium uppercase tracking-wide"><tr><th class="text-left px-3 py-2 font-medium">Source</th><th class="text-left px-3 py-2 font-medium">Relation</th><th class="text-left px-3 py-2 font-medium">Target</th></tr></thead><tbody>'),$k=k("<pre class=db-json-view>"),kk=k('<div class="flex flex-col h-full min-h-0"><div class="shrink-0 flex items-center gap-2 px-3 py-2 border-b border-border-weaker-base"><div class="flex items-center gap-1.5 flex-1 min-w-0 px-2 py-1 rounded-md bg-surface-raised-base/40"><input type=text class="flex-1 min-w-0 bg-transparent border-0 outline-0 text-12-regular text-text-base placeholder:text-text-weaker"placeholder="Filter… source: target: relation:"></div><div class="shrink-0 flex items-center gap-0.5 p-0.5 rounded-md bg-surface-raised-base/40"></div></div><div class="flex-1 min-h-0 overflow-hidden">'),Ck=k('<button class="flex items-center gap-1 px-2 py-1 rounded text-11-medium transition-colors">'),_k=k('<div class="h-full flex items-center justify-center text-12-regular text-text-weaker">'),Sk=k('<tr class="border-t border-border-weaker-base/50 hover:bg-surface-raised-base/30"><td class="px-3 py-1.5 font-mono"><button class="text-text-base hover:underline"></button></td><td class="px-3 py-1.5 text-text-weak"></td><td class="px-3 py-1.5 font-mono"><button class="text-text-base hover:underline">');const Tk=[{id:"erd",label:"ERD",icon:"network"},{id:"list",label:"List",icon:"list"},{id:"json",label:"JSON-LD",icon:"braces"}];async function Ak(e,t,n,r){const i=new URLSearchParams({directory:n,entity:r});try{const o=await e(`${t}/trellis/store/links?${i}`);return o.ok?await o.json()??[]:[]}catch{return[]}}function Dk(e){const t=Vs(),n=Jt(),r=qs(),[i,o]=De("erd"),[a,c]=De(""),l=_(()=>e.type?t.entities.filter(b=>ba(b.type,e.type)):t.entities),u=_(()=>l().map(b=>b.id)),[g]=Jo(u,async b=>{if(b.length===0)return[];const m=await Promise.all(b.map(y=>Ak(n.fetch,n.url,n.directory,y))),$=new Set,w=[];for(const y of m)for(const S of y){const C=`${S.e1}|${S.a}|${S.e2}`;$.has(C)||($.add(C),w.push(S))}return w},{initialValue:[]}),f=b=>Gn(t.entities.find(m=>m.id===b)?.type??"unknown"),h=_(()=>e.type?g.latest??[]:t.links),p=b=>e.theme?.(b)??{label:b,color:Or(b),icon:b},x=_(()=>{const b=h(),m=a().trim().toLowerCase();if(!m)return b;if(m.startsWith("source:")){const $=m.slice(7).trim();return b.filter(w=>w.e1.toLowerCase().includes($))}if(m.startsWith("target:")){const $=m.slice(7).trim();return b.filter(w=>w.e2.toLowerCase().includes($))}if(m.startsWith("relation:")){const $=m.slice(9).trim();return b.filter(w=>w.a.toLowerCase().includes($))}return b.filter($=>$.a.toLowerCase().includes(m)||$.e1.toLowerCase().includes(m)||$.e2.toLowerCase().includes(m))}),v=_(()=>JSON.stringify({"@context":{"@vocab":"https://trellis.local/store#"},"@graph":x().map(b=>({"@id":`${b.e1}#${b.a}#${b.e2}`,"@type":"Relationship",source:b.e1,sourceType:f(b.e1),relation:b.a,target:b.e2,targetType:f(b.e2)}))},null,2));return(()=>{var b=kk(),m=b.firstChild,$=m.firstChild,w=$.firstChild,y=$.nextSibling,S=m.nextSibling;return d($,s(Ne,{name:"search",size:"small",class:"text-icon-weak shrink-0"}),w),w.$$input=C=>c(C.currentTarget.value),d($,s(M,{get when(){return a()},get children(){var C=yk();return C.$$click=()=>c(""),d(C,s(Ne,{name:"x",size:"small"})),C}}),null),d(y,s(ze,{each:Tk,children:C=>(()=>{var A=Ck();return A.$$click=()=>o(C.id),d(A,s(Ne,{get name(){return C.icon},size:"small"}),null),d(A,()=>C.label,null),ie(R=>{var V={"bg-surface-raised-base text-text-strong":i()===C.id,"text-text-weak hover:text-text-base":i()!==C.id},N=i()===C.id;return R.e=bt(A,V,R.e),N!==R.t&&ue(A,"aria-pressed",R.t=N),R},{e:void 0,t:void 0}),A})()})),d(S,s(Qt,{get children(){return[s(Ve,{get when(){return i()==="list"},get children(){return s(M,{get when(){return x().length>0},get fallback(){return(()=>{var C=_k();return d(C,s(M,{get when(){return Ce(()=>!!e.type)()&&g.loading},get fallback(){return["No relationships",Ce(()=>Ce(()=>!!e.type)()?` involve ${e.type}`:"")]},children:"Loading links…"})),C})()},get children(){var C=wk(),A=C.firstChild,R=A.firstChild,V=R.nextSibling;return d(V,s(ze,{get each(){return x()},children:N=>(()=>{var B=Sk(),O=B.firstChild,L=O.firstChild,T=O.nextSibling,E=T.nextSibling,P=E.firstChild;return L.$$click=()=>r.push(N.e1,f(N.e1)),d(L,()=>N.e1),d(T,()=>N.a),P.$$click=()=>r.push(N.e2,f(N.e2)),d(P,()=>N.e2),ie(j=>{var G=p(f(N.e1)).color,q=p(f(N.e2)).color;return G!==j.e&&Je(L,"color",j.e=G),q!==j.t&&Je(P,"color",j.t=q),j},{e:void 0,t:void 0}),B})()})),C}})}}),s(Ve,{get when(){return i()==="json"},get children(){var C=$k();return d(C,v),C}}),s(Ve,{get when(){return i()==="erd"},get children(){return s(bk,{get type(){return e.type??"all"},get links(){return x()},typeOf:f,theme:p})}})]}})),ie(()=>w.value=a()),b})()}Mt(["input","click"]);var Ik=k('<button class="text-text-weaker hover:text-text-base"title=Clear>'),Lk=k("<pre class=db-json-view>"),Mk=k('<div class="h-full overflow-y-auto"><table class="w-full text-12-regular"><thead class="sticky top-0 bg-background-base text-text-weaker text-10-medium uppercase tracking-wide"><tr><th class="text-left px-3 py-2 font-medium">Entity</th><th class="text-left px-3 py-2 font-medium">Attribute</th><th class="text-left px-3 py-2 font-medium">Value</th></tr></thead><tbody>'),Ek=k('<div class="flex flex-col h-full min-h-0"><div class="shrink-0 flex items-center gap-2 px-3 py-2 border-b border-border-weaker-base"><div class="flex items-center gap-1.5 flex-1 min-w-0 px-2 py-1 rounded-md bg-surface-raised-base/40"><input type=text class="flex-1 min-w-0 bg-transparent border-0 outline-0 text-12-regular text-text-base placeholder:text-text-weaker"placeholder="Filter… entity: attr: value:"></div><div class="shrink-0 flex items-center gap-0.5 p-0.5 rounded-md bg-surface-raised-base/40"></div></div><div class="flex-1 min-h-0 overflow-hidden">'),Pk=k('<button class="flex items-center gap-1 px-2 py-1 rounded text-11-medium transition-colors">'),Rk=k('<div class="h-full flex items-center justify-center text-12-regular text-text-weaker">No facts'),Fk=k('<tr class="border-t border-border-weaker-base/50 hover:bg-surface-raised-base/30"><td class="px-3 py-1.5 font-mono max-w-[24rem]"><button class="text-text-base hover:underline truncate block max-w-full"></button></td><td class="px-3 py-1.5 text-text-weak font-mono"></td><td class="px-3 py-1.5 text-text-base font-mono max-w-[32rem] truncate">');const zk=[{id:"table",label:"Table",icon:"table"},{id:"json",label:"JSON-LD",icon:"braces"}];function Ok(e){const t=Vs(),n=qs(),[r,i]=De("table"),[o,a]=De(""),c=_(()=>new Map(t.entities.map(p=>[p.id,p.type]))),l=p=>Gn(c().get(p)??"unknown"),u=_(()=>e.type?t.facts.filter(p=>ba(c().get(p.e)??"unknown",e.type)):t.facts),g=_(()=>{const p=o().trim().toLowerCase();if(!p)return u();if(p.startsWith("entity:")){const x=p.slice(7).trim();return u().filter(v=>v.e.toLowerCase().includes(x))}if(p.startsWith("attr:")){const x=p.slice(5).trim();return u().filter(v=>v.a.toLowerCase().includes(x))}if(p.startsWith("value:")){const x=p.slice(6).trim();return u().filter(v=>String(v.v).toLowerCase().includes(x))}return u().filter(x=>x.e.toLowerCase().includes(p)||x.a.toLowerCase().includes(p)||String(x.v).toLowerCase().includes(p))}),f=p=>e.theme?.(p)??{label:p,color:Or(p),icon:p},h=_(()=>JSON.stringify({"@context":{"@vocab":"https://trellis.local/store#"},"@graph":g().map(p=>({"@id":p.e,"@type":l(p.e),[p.a]:p.v}))},null,2));return(()=>{var p=Ek(),x=p.firstChild,v=x.firstChild,b=v.firstChild,m=v.nextSibling,$=x.nextSibling;return d(v,s(Ne,{name:"search",size:"small",class:"text-icon-weak shrink-0"}),b),b.$$input=w=>a(w.currentTarget.value),d(v,s(M,{get when(){return o()},get children(){var w=Ik();return w.$$click=()=>a(""),d(w,s(Ne,{name:"x",size:"small"})),w}}),null),d(m,s(ze,{each:zk,children:w=>(()=>{var y=Pk();return y.$$click=()=>i(w.id),d(y,s(Ne,{get name(){return w.icon},size:"small"}),null),d(y,()=>w.label,null),ie(S=>{var C={"bg-surface-raised-base text-text-strong":r()===w.id,"text-text-weak hover:text-text-base":r()!==w.id},A=r()===w.id;return S.e=bt(y,C,S.e),A!==S.t&&ue(y,"aria-pressed",S.t=A),S},{e:void 0,t:void 0}),y})()})),d($,s(Qt,{get children(){return[s(Ve,{get when(){return r()==="json"},get children(){var w=Lk();return d(w,h),w}}),s(Ve,{get when(){return r()==="table"},get children(){return s(M,{get when(){return g().length>0},get fallback(){return(()=>{var w=Rk();return w.firstChild,d(w,(()=>{var y=Ce(()=>!!e.type);return()=>y()?` for ${e.type}`:""})(),null),w})()},get children(){var w=Mk(),y=w.firstChild,S=y.firstChild,C=S.nextSibling;return d(C,s(ze,{get each(){return g()},children:A=>(()=>{var R=Fk(),V=R.firstChild,N=V.firstChild,B=V.nextSibling,O=B.nextSibling;return N.$$click=()=>n.push(A.e,l(A.e)),d(N,()=>A.e),d(B,()=>A.a),d(O,()=>String(A.v)),ie(L=>Je(N,"color",f(l(A.e)).color)),R})()})),w}})}})]}})),ie(()=>b.value=o()),p})()}Mt(["input","click"]);var Nk=k('<div class="flex-1 flex items-center justify-center text-12-regular text-text-weaker">Loading store…'),Bk=k('<div class="flex-1 min-h-0 flex flex-col"><div class="shrink-0 flex items-center gap-1 px-3 border-b border-border-weaker-base"></div><div class="flex-1 min-h-0 overflow-hidden">'),qk=k('<div class="flex h-full min-h-0 w-full overflow-hidden bg-background-base"><div class="flex-1 min-w-0 min-h-0 flex flex-col"><div class="shrink-0 flex items-center justify-between px-3 h-10 border-b border-border-weaker-base">'),Hk=k('<span class="text-12-medium text-text-weak">All'),jk=k('<div class="flex items-center gap-2 text-12-medium text-text-strong"><span class=capitalize></span><span class="text-text-weaker tabular-nums">'),Wk=k('<span class="text-11-regular text-text-weaker tabular-nums"> entities · <!> facts · <!> links'),Uk=k('<div class="h-full flex items-center justify-center text-12-regular text-text-weaker">Select an entity type to configure'),Gk=k('<button class="flex items-center gap-1.5 px-3 py-2 text-11-medium border-b-2 transition-colors -mb-px">'),Vk=k('<span class="text-11-medium text-text-weaker">Read-only'),Kk=k("<span class=db-create-error style=font-size:0.75rem>Delete?"),Yk=k('<button class="db-action-btn db-action-btn--danger">Yes'),Xk=k("<button class=db-action-btn>No"),Zk=k("<button class=db-action-btn>Add Property"),Qk=k('<button class="db-action-btn db-action-btn--primary">'),Jk=k('<div class=db-schema-editor><div class=db-detail-header><span class=db-detail-id></span><div class=db-detail-header-actions></div></div><div class=db-detail-scroll><div class=db-schema-prop-list><div class=db-schema-meta><div class=db-schema-meta-card><span class=db-field-label>Color</span><div class=db-color-wrap><input type=color class=db-color-input><span class=db-color-hex></span></div></div><div class=db-schema-meta-card><span class=db-field-label>Icon</span><button class=db-icon-pick><span class=truncate></span></button></div><label class="db-schema-meta-card db-schema-meta-card--wide"><span class=db-field-label>Entity description</span><textarea class="db-field-input db-schema-desc"placeholder="Describe what this entity type represents…"></textarea></label></div></div><div class=db-schema-editor-footer>'),eC=k('<button class=db-detail-close title="Delete type">'),tC=k("<span class=db-schema-lock title=Read-only>"),nC=k('<div class=db-schema-prop-row><span class=db-schema-type-icon></span><input class="db-field-input db-field-input--sm"placeholder=key><input class="db-field-input db-field-input--sm"placeholder=label><select class="db-select db-select--sm"></select><label class=db-schema-required><input type=checkbox class=db-checkbox>Req'),rC=k("<option>"),iC=k("<button class=db-detail-close>"),sC=k('<div class=db-schema-options-row><span class=db-field-label> options</span><input class=db-field-input placeholder="comma-separated options">'),oC=k('<div class=db-schema-options-row><span class=db-field-label> formula</span><input class=db-field-input placeholder="{level} * {strength}">'),aC=k('<div class=db-icon-dialog-backdrop><div class=db-icon-dialog><div class=db-icon-dialog-header><div class="text-13-medium text-text-strong">Choose icon</div><button class=db-detail-close title=Close></button></div><div class=db-icon-search><input class=db-field-input placeholder="Search icons…"></div><div class=db-icon-grid>'),lC=k("<button class=db-icon-option><span>");const cC=["text","number","boolean","date","email","url","color","select","multiselect","file","formula"],dC={text:"type",number:"hash",boolean:"toggle-left",date:"calendar",email:"mail",url:"link",color:"palette",select:"list",multiselect:"list-checks",file:"file",formula:"sigma"};function uC(e){if(typeof e!="string")return[];try{return JSON.parse(e)}catch{return[]}}function fC(e){return e.replace(/[_-]+/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/\b\w/g,t=>t.toUpperCase())}function gC(e){return typeof e.v=="boolean"?"boolean":typeof e.v=="number"?"number":/email/i.test(e.a)&&typeof e.v=="string"&&e.v.includes("@")?"email":/url|uri|link/i.test(e.a)&&typeof e.v=="string"&&/^https?:\/\//.test(e.v)?"url":/(date|at)$/i.test(e.a)&&typeof e.v=="string"&&!Number.isNaN(new Date(e.v).getTime())?"date":"text"}function us(e){return typeof e=="string"?e:void 0}function xc(e,t){return e.find(n=>n.key===t)?.default}function bc(e,t,n){return{label:n?.label||e,color:n?.color||xc(t,"color")||hs(e),icon:n?.icon||xc(t,"icon")||vs(e),description:n?.description}}function mC(){const e=Vs(),t=Jt(),[n,r]=De(null),[i,o]=De("graph"),[a,c]=De({hidden:!0,imports:!0,links:!0,ops:!1}),l=_(()=>({includeHidden:a().hidden,includeImports:a().imports,includeLinks:a().links,includeOps:a().ops})),u=L=>c(T=>({...T,[L]:!T[L]})),g=L=>{r(L),o("graph")},[f,h]=et({}),[p,x]=et({}),[v,b]=et({}),m=async()=>{try{const L=e.entities.filter(P=>P.type==="TypeSchema"),T=(await Promise.all(L.map(async P=>{try{const j=await fetch(Zo(t.url,t.directory,`/store/entity/${encodeURIComponent(P.id)}`));if(!j.ok)return;const G=await j.json(),q=G.facts.find(U=>U.a==="props"),z=uC(q?.v),F=ri(P.id.replace(/^schema:/,"")),Z={label:us(G.facts.find(U=>U.a==="label")?.v)||F,description:us(G.facts.find(U=>U.a==="description")?.v),color:us(G.facts.find(U=>U.a==="color")?.v),icon:us(G.facts.find(U=>U.a==="icon")?.v)};return[F,z,Z]}catch{return}}))).filter(P=>P!==void 0);h($n(Object.fromEntries(T.map(P=>[P[0],P[1]]))));const E=Object.fromEntries(T.map(P=>[P[0],P[2]]));x($n(E)),b($n(E))}catch{}},$=_(()=>hw(e.entities,f));xe(()=>{e.entities,e.ready&&m()});const w=_(()=>{const L={};for(const T of e.entities){const E=Gn(T.type);L[E]=(L[E]??0)+1}return L}),y=_(()=>{const L=new Set(Ri);for(const T of Object.keys($()))L.add(T);for(const T of e.entities)Fu(T)&&L.add(Gn(T.type));return Array.from(L).sort()}),S=_(()=>{const L=new Set;for(const T of e.entities)T.type==="TypeSchema"&&L.add(ri(T.id.replace(/^schema:/,"")));return L}),C=_(()=>{const L=new Map;for(const P of e.entities)L.set(P.id,Gn(P.type));const T=new Set,E={};for(const P of e.facts){const j=L.get(P.e);if(!j)continue;const G=`${j}:${P.a}`;T.has(G)||(T.add(G),E[j]=[...E[j]??[],{key:P.a,label:fC(P.a),type:gC(P),required:P.a==="type"}])}return E}),A=_(()=>{const L=n();if(!L)return[];const T=Zl(L);if(T)return T;const E=S().has(L)?f[L]??C()[L]??[]:C()[L]??Ql(L)??$()[L]??[];return Jl(L,E)}),R=_(()=>!!(n()&&Zl(n()))),V=_(()=>{const L={};for(const T of y()){const E=Jl(T,f[T]??Ql(T)??C()[T]??$()[T]??[]);L[T]=bc(T,E,p[T])}return L}),N=L=>V()[Gn(L)]??bc(Gn(L),[]),B=async(L,T)=>{const E=n();if(!E)return;const P=v[E],j=[{e:`schema:${E}`,a:"props",v:JSON.stringify(f[E]??[])},...P?.label?[{e:`schema:${E}`,a:"label",v:P.label}]:[],...P?.description?[{e:`schema:${E}`,a:"description",v:P.description}]:[],...P?.color?[{e:`schema:${E}`,a:"color",v:P.color}]:[],...P?.icon?[{e:`schema:${E}`,a:"icon",v:P.icon}]:[]],G=[{e:`schema:${E}`,a:"type",v:"TypeSchema"},{e:`schema:${E}`,a:"label",v:E},{e:`schema:${E}`,a:"props",v:JSON.stringify(L)},{e:`schema:${E}`,a:"color",v:T.color},{e:`schema:${E}`,a:"icon",v:T.icon},...T.description?[{e:`schema:${E}`,a:"description",v:T.description}]:[]];if(!S().has(E)){await e.assert(G),await m();return}await e.retract(j),await e.assert(G),await m()},O=async()=>{const L=n();if(!L||!S().has(L)){r(null);return}const T=`schema:${L}`;await e.retract([{e:T,a:"type",v:"TypeSchema"},{e:T,a:"label",v:L},{e:T,a:"props",v:JSON.stringify(f[L]??[])},...p[L]?.description?[{e:T,a:"description",v:p[L].description}]:[],...p[L]?.color?[{e:T,a:"color",v:p[L].color}]:[],...p[L]?.icon?[{e:T,a:"icon",v:p[L].icon}]:[]]),await m(),r(null)};return(()=>{var L=qk(),T=L.firstChild,E=T.firstChild;return d(L,s(rk,{width:224,get types(){return y()},get counts(){return w()},systemTypes:Ri,get selectedType(){return n()},onSelectType:g,theme:N,get options(){return Ce(()=>!!n())()?void 0:a()},get onToggleOption(){return n()?void 0:u},get total(){return e.entities.length}}),T),d(E,s(M,{get when(){return n()},get fallback(){return Hk()},children:P=>(()=>{var j=jk(),G=j.firstChild,q=G.nextSibling;return d(j,s(En,{get type(){return P()},size:14,get color(){return N(P()).color},get icon(){return N(P()).icon}}),G),d(G,()=>N(P()).label),d(q,()=>w()[P()]??0),j})()}),null),d(E,s(M,{get when(){return e.stats},children:P=>(()=>{var j=Wk(),G=j.firstChild,q=G.nextSibling,z=q.nextSibling,F=z.nextSibling;return F.nextSibling,d(j,()=>e.entities.length,G),d(j,()=>P().totalFacts,q),d(j,()=>P().totalLinks,F),j})()}),null),d(T,s(M,{get when(){return!e.ready},get children(){return Nk()}}),null),d(T,s(M,{get when(){return e.ready},get children(){var P=Bk(),j=P.firstChild,G=j.nextSibling;return d(j,s(wi,{label:"Graph",icon:"git-branch",get active(){return i()==="graph"},onClick:()=>o("graph")}),null),d(j,s(wi,{label:"Records",icon:"table",get active(){return i()==="records"},onClick:()=>o("records")}),null),d(j,s(M,{get when(){return n()},get children(){return s(wi,{label:"Configure",icon:"sliders",get active(){return i()==="configure"},onClick:()=>o("configure")})}}),null),d(j,s(wi,{label:"Facts",icon:"list",get active(){return i()==="facts"},onClick:()=>o("facts")}),null),d(j,s(wi,{label:"Relationships",icon:"network",get active(){return i()==="relationships"},onClick:()=>o("relationships")}),null),d(G,s(Qt,{get children(){return[s(Ve,{get when(){return i()==="records"},get children(){return s(gk,{get type(){return n()??void 0},theme:N})}}),s(Ve,{get when(){return i()==="configure"},get children(){return s(M,{get when(){return n()},get fallback(){return Uk()},children:q=>s(hC,{get name(){return q()},get defs(){return A()},get meta(){return N(q())},get defined(){return S().has(q())},get readonly(){return R()},onSave:B,onDraft:z=>x(q(),z),onDelete:O})})}}),s(Ve,{get when(){return i()==="graph"},get children(){return s(M,{get when(){return n()},get fallback(){return s(fc,{hideSidebar:!0,get options(){return l()},get themes(){return V()},get revision(){return e.revision},get highlightIds(){return e.fresh},onOptionsChange:q=>c({hidden:q.includeHidden,imports:q.includeImports,links:q.includeLinks,ops:q.includeOps})})},children:q=>s(fc,{hideSidebar:!0,get themes(){return V()},get revision(){return e.revision},get highlightIds(){return e.fresh},get scopedTypes(){return[...new Set(e.entities.filter(z=>Gn(z.type)===q()).map(z=>mw(z.type)))]}})})}}),s(Ve,{get when(){return i()==="facts"},get children(){return s(Ok,{get type(){return n()??void 0},theme:N})}}),s(Ve,{get when(){return i()==="relationships"},get children(){return s(Dk,{get type(){return n()??void 0},theme:N})}})]}})),P}}),null),L})()}function wi(e){return(()=>{var t=Gk();return gt(t,"click",e.onClick,!0),d(t,s(Ne,{get name(){return e.icon},size:"small"}),null),d(t,()=>e.label,null),ie(n=>bt(t,{"text-text-strong border-text-strong":e.active,"text-text-weak hover:text-text-base border-transparent":!e.active},n)),t})()}function hC(e){const[t,n]=et([]),[r,i]=et({label:"",color:"#000000",icon:"thing"}),[o,a]=De(!1),[c,l]=De(!1),[u,g]=De(!1);xe(()=>{n($n(e.defs.map(m=>({...m}))))}),xe(()=>{i($n({...e.meta}))});const f=_(()=>t.map((m,$)=>({row:m,idx:$})).filter(m=>m.row.key!=="color"&&m.row.key!=="icon")),h=()=>n(t.length,{key:"",label:"",type:"text"}),p=m=>n($=>$.filter((w,y)=>y!==m)),x=(m,$)=>{const w=t.findIndex(y=>y.key===m);w>=0&&n(w,"default",$)},v=m=>{const $={...r,...m};i($n($)),e.onDraft?.($),m.color&&x("color",m.color),m.icon&&x("icon",m.icon)},b=async()=>{if(!e.readonly){a(!0);try{await e.onSave(t.filter(m=>m.key.trim()),r)}finally{a(!1)}}};return(()=>{var m=Jk(),$=m.firstChild,w=$.firstChild,y=w.nextSibling,S=$.nextSibling,C=S.firstChild,A=C.firstChild,R=A.firstChild,V=R.firstChild,N=V.nextSibling,B=N.firstChild,O=B.nextSibling,L=R.nextSibling,T=L.firstChild,E=T.nextSibling,P=E.firstChild,j=L.nextSibling,G=j.firstChild,q=G.nextSibling,z=C.nextSibling;return d(w,()=>e.name),d(y,s(M,{get when(){return e.readonly},get children(){return Vk()}}),null),d(y,s(M,{get when(){return Ce(()=>!!e.defined)()&&!e.readonly},get children(){return s(M,{get when(){return c()},get fallback(){return(()=>{var F=eC();return F.$$click=()=>l(!0),d(F,s(Ne,{name:"trash-2",size:"small"})),F})()},get children(){return[Kk(),(()=>{var F=Yk();return F.$$click=()=>{a(!0),e.onDelete()},ie(()=>F.disabled=o()),F})(),(()=>{var F=Xk();return F.$$click=()=>l(!1),F})()]}})}}),null),B.$$input=F=>v({color:F.currentTarget.value}),d(O,()=>r.color||"#000000"),E.$$click=()=>g(!0),d(E,s(En,{get type(){return e.name},get color(){return r.color},get icon(){return r.icon},size:16}),P),d(P,()=>r.icon),d(E,s(Ne,{name:"chevron-down",size:"small"}),null),q.$$input=F=>v({description:F.currentTarget.value}),d(C,s(ze,{get each(){return f()},children:F=>(()=>{var Z=nC(),U=Z.firstChild,se=U.nextSibling,he=se.nextSibling,ee=he.nextSibling,oe=ee.nextSibling,ae=oe.firstChild;return d(U,s(Ne,{get name(){return dC[F.row.type]},size:"small"})),se.$$input=fe=>n(F.idx,"key",fe.currentTarget.value),he.$$input=fe=>n(F.idx,"label",fe.currentTarget.value),ee.addEventListener("change",fe=>n(F.idx,"type",fe.currentTarget.value)),d(ee,s(ze,{each:cC,children:fe=>(()=>{var $e=rC();return $e.value=fe,d($e,fe),$e})()})),ae.addEventListener("change",fe=>n(F.idx,"required",fe.currentTarget.checked)),d(Z,s(M,{get when(){return e.readonly},get fallback(){return(()=>{var fe=iC();return fe.$$click=()=>p(F.idx),d(fe,s(Ne,{name:"x",size:"small"})),fe})()},get children(){var fe=tC();return d(fe,s(Ne,{name:"lock",size:"small"})),fe}}),null),ie(fe=>{var $e=!!e.readonly,Me=F.row.type,Q=e.readonly,ne=e.readonly,re=e.readonly,H=e.readonly;return $e!==fe.e&&Z.classList.toggle("db-schema-prop-row--readonly",fe.e=$e),Me!==fe.t&&ue(U,"title",fe.t=Me),Q!==fe.a&&(se.disabled=fe.a=Q),ne!==fe.o&&(he.disabled=fe.o=ne),re!==fe.i&&(ee.disabled=fe.i=re),H!==fe.n&&(ae.disabled=fe.n=H),fe},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),ie(()=>se.value=F.row.key),ie(()=>he.value=F.row.label),ie(()=>ee.value=F.row.type),ie(()=>ae.checked=F.row.required??!1),Z})()}),null),d(C,s(ze,{get each(){return f()},children:F=>s(M,{get when(){return F.row.type==="select"||F.row.type==="multiselect"},get children(){var Z=sC(),U=Z.firstChild,se=U.firstChild,he=U.nextSibling;return d(U,()=>F.row.key||"?",se),he.$$input=ee=>n(F.idx,"options",ee.currentTarget.value.split(",").map(oe=>oe.trim()).filter(Boolean)),ie(()=>he.disabled=e.readonly),ie(()=>he.value=(F.row.options??[]).join(", ")),Z}})}),null),d(C,s(ze,{get each(){return f()},children:F=>s(M,{get when(){return F.row.type==="formula"},get children(){var Z=oC(),U=Z.firstChild,se=U.firstChild,he=U.nextSibling;return d(U,()=>F.row.key||"?",se),he.$$input=ee=>n(F.idx,"formula",ee.currentTarget.value),ie(()=>he.disabled=e.readonly),ie(()=>he.value=F.row.formula??""),Z}})}),null),d(z,s(M,{get when(){return!e.readonly},get children(){return[(()=>{var F=Zk(),Z=F.firstChild;return F.$$click=h,d(F,s(Ne,{name:"plus",size:"small"}),Z),F})(),(()=>{var F=Qk();return F.$$click=()=>void b(),d(F,()=>o()?"Saving…":"Save"),ie(()=>F.disabled=o()),F})()]}})),d(m,s(pC,{get open(){return u()},get value(){return r.icon},get color(){return r.color},get type(){return e.name},onClose:()=>g(!1),onSelect:F=>{v({icon:F}),g(!1)}}),null),ie(F=>{var Z=e.readonly,U=e.readonly,se=e.readonly;return Z!==F.e&&(B.disabled=F.e=Z),U!==F.t&&(E.disabled=F.t=U),se!==F.a&&(q.disabled=F.a=se),F},{e:void 0,t:void 0,a:void 0}),ie(()=>B.value=r.color||"#000000"),ie(()=>q.value=r.description??""),m})()}function pC(e){const[t,n]=De(""),r=_(()=>{const i=t().trim().toLowerCase();return i?ps.filter(o=>o.includes(i)):ps});return s(M,{get when(){return e.open},get children(){var i=aC(),o=i.firstChild,a=o.firstChild,c=a.firstChild,l=c.nextSibling,u=a.nextSibling,g=u.firstChild,f=u.nextSibling;return gt(i,"click",e.onClose,!0),o.$$click=h=>h.stopPropagation(),gt(l,"click",e.onClose,!0),d(l,s(Ne,{name:"x",size:"small"})),d(u,s(Ne,{name:"search",size:"small",class:"text-icon-weak"}),g),g.$$input=h=>n(h.currentTarget.value),d(f,s(ze,{get each(){return r()},children:h=>(()=>{var p=lC(),x=p.firstChild;return p.$$click=()=>e.onSelect(h),ue(p,"title",h),d(p,s(En,{get type(){return e.type},icon:h,get color(){return e.color},size:18}),x),d(x,h),ie(()=>p.classList.toggle("db-icon-option--active",e.value===h)),p})()})),ie(()=>g.value=t()),i}})}Mt(["click","input"]);const vC=e=>{if(!(e.scrollWidth<=e.prevScrollWidth)){if(!e.prevContextOpen&&e.contextOpen)return 0;if(!(e.scrollWidth<=e.clientWidth))return e.scrollWidth-e.clientWidth}},xC=e=>{let t,n=e.el.scrollWidth,r=e.contextOpen();const i=()=>{const l=e.el.scrollWidth,u=e.el.clientWidth,g=e.contextOpen(),f=vC({prevScrollWidth:n,scrollWidth:l,clientWidth:u,prevContextOpen:r,contextOpen:g});f!==void 0&&e.el.scrollTo({left:f,behavior:"smooth"}),n=l,r=g},o=()=>{t!==void 0&&cancelAnimationFrame(t),t=requestAnimationFrame(()=>{t=void 0,i()})},a=l=>{Math.abs(l.deltaY)<=Math.abs(l.deltaX)||(e.el.scrollLeft+=l.deltaY>0?50:-50,l.preventDefault())};e.el.addEventListener("wheel",a,{passive:!1});const c=new MutationObserver(o);return c.observe(e.el,{childList:!0}),()=>{e.el.removeEventListener("wheel",a),c.disconnect(),t!==void 0&&cancelAnimationFrame(t)}};var bC=k("<div>"),yC=k('<div class="relative overflow-hidden pb-0 h-full">'),wC=k('<div class="h-full min-h-0 flex items-center justify-center bg-black"><video controls class="max-h-full max-w-full">'),$C=k('<div class="h-full min-h-0 flex items-center justify-center bg-background-stronger px-6"><audio controls preload=metadata class="w-full max-w-xl">'),kC=k('<div class="h-full min-h-0 flex items-center justify-center bg-background-stronger overflow-auto p-4"><img class="max-h-full max-w-full object-contain">'),Co=k('<div class="px-6 py-4 text-text-weak">...'),CC=k('<div class="px-6 py-4 text-text-weak">');const _C=e=>!!e&&/\.(mp4|m4v|webm|ogv|mov|mkv|avi|flv|wmv|3gp|3g2)$/i.test(e),SC=e=>!!e&&/\.(png|jpe?g|gif|webp|svg|ico|bmp|avif|apng|jxl)$/i.test(e),TC=e=>!!e&&/\.(mp3|wav|ogg|oga|opus|flac|aac|m4a|weba|wma|aif|aiff|mid|midi)$/i.test(e),AC=e=>!!e&&/\.(xlsx?|xlsm)$/i.test(e),DC=e=>!!e&&/\.(obj|mtl|gltf|glb|bin|dds)$/i.test(e),IC=Zc(()=>un(()=>import("./xlsx-editor-D4RVmOqB.js"),__vite__mapDeps([14,1,2,15]))),LC=Zc(()=>un(()=>import("./model-viewer-DDGWhTxL.js"),__vite__mapDeps([16,1,2])));function MC(e){return(()=>{var t=bC();return t.$$click=n=>n.stopPropagation(),t.$$mousedown=n=>n.stopPropagation(),d(t,s(ht,{gutter:4,placement:"bottom-end",get children(){return[s(ht.Trigger,{as:pt,icon:"dot-grid",variant:"ghost",size:"small",class:"size-6 rounded-md",get"aria-label"(){return e.moreLabel}}),s(ht.Portal,{get children(){return s(ht.Content,{get children(){return[s(ht.Item,{get onSelect(){return e.onEdit},get children(){return s(ht.ItemLabel,{get children(){return e.editLabel}})}}),s(ht.Item,{get onSelect(){return e.onDelete},get children(){return s(ht.ItemLabel,{get children(){return e.deleteLabel}})}})]}})}})]}})),t})()}function EC(e){const t=In(),n=Jt(),r=Ko(),i=At(),o=zr(),a=An(),c=Qo(),l=ai(),{sessionKey:u,tabs:g,view:f}=ir(),h=ci({tabs:g,pathFromTab:t.pathFromTab,normalizeTab:Q=>Q.startsWith("file://")?t.tab(Q):Q}).activeFileTab;let p,x,v,b,m=[],$=null;const w={register:Q=>{$=Q}},y=_(()=>t.pathFromTab(e.tab)),S=_(()=>{const Q=y();if(Q)return t.get(Q)}),C=_(()=>S()?.content?.content??""),A=_(()=>{const Q=y();return Q?t.text(Q)??"":""}),R=_(()=>vg(C())),V=_(()=>{const Q=S()?.content;return Q?.type==="text"&&Q.encoding!=="base64"}),N=_(()=>{const Q=y();return Q?t.ready()?t.selectedLines(Q)??null:Nc(u())?.files[Q]??null:null}),B=(Q,ne)=>Os(Q,{start:ne.startLine,end:ne.endLine}),O=Q=>{const ne=ni(Q.selection),re=Q.preview??(()=>{if(Q.file===y())return B(C(),ne);const Y=t.get(Q.file)?.content?.content;if(Y)return B(Y,ne)})(),H=r.add({file:Q.file,selection:Q.selection,comment:Q.comment});o.context.add({type:"file",path:Q.file,selection:ne,comment:Q.comment,commentID:H.id,commentOrigin:Q.origin,preview:re})},L=Q=>{r.update(Q.file,Q.id,Q.comment);const ne=Q.file===y()?B(C(),ni(Q.selection)):void 0;o.context.updateComment(Q.file,Q.id,{comment:Q.comment,...ne?{preview:ne}:{}})},T=Q=>{r.remove(Q.file,Q.id),o.context.removeComment(Q.file,Q.id)},E=_(()=>{const Q=y();return Q?r.list(Q):[]}),P=_(()=>E().map(Q=>Q.selection)),[j,G]=et({openedComment:null,commenting:null,selected:null}),q=Q=>{const ne=y();ne&&t.setSelectedLines(ne,Q?ti(Q):null)},z=()=>j.selected??N(),F=Iu({comments:E,label:i.t("ui.lineComment.submit"),draftKey:()=>y()??e.tab,state:{opened:()=>j.openedComment,setOpened:Q=>G("openedComment",Q),selected:()=>j.selected,setSelected:Q=>G("selected",Q),commenting:()=>j.commenting,setCommenting:Q=>G("commenting",Q),syncSelected:q,hoverSelected:q},getHoverSelectedRange:z,cancelDraftOnCommentToggle:!0,clearSelectionOnSelectionEndNull:!0,onSubmit:({comment:Q,selection:ne})=>{const re=y();re&&O({file:re,selection:ne,comment:Q,origin:"file"})},onUpdate:({id:Q,comment:ne,selection:re})=>{const H=y();H&&L({id:Q,file:H,selection:re,comment:ne})},onDelete:Q=>{const ne=y();ne&&T({id:Q.id,file:ne})},editSubmitLabel:i.t("common.save"),renderCommentActions:(Q,ne)=>s(MC,{get moreLabel(){return i.t("common.moreOptions")},get editLabel(){return i.t("common.edit")},get deleteLabel(){return i.t("common.delete")},get onEdit(){return ne.edit},get onDelete(){return ne.remove}})});xe(()=>{if(typeof window>"u")return;const Q=ne=>{h()===e.tab&&(!(ne.metaKey||ne.ctrlKey)||ne.altKey||ne.shiftKey||ne.key.toLowerCase()==="f"&&(ne.preventDefault(),ne.stopPropagation(),$?.focus()))};window.addEventListener("keydown",Q,{capture:!0}),rt(()=>window.removeEventListener("keydown",Q,{capture:!0}))}),xe(ft(y,()=>{F.note.reset()},{defer:!0})),xe(()=>{const Q=r.focus(),ne=y();if(!Q||!ne||Q.file!==ne||h()!==e.tab)return;const re=E().find(H=>H.id===Q.id);re&&(F.note.openComment(re.id,re.selection,{cancelDraft:!0}),requestAnimationFrame(()=>r.clearFocus()))});const Z=()=>{const Q=p;if(!Q)return[];const ne=Q.querySelector("diffs-container");if(!(ne instanceof HTMLElement))return[];const re=ne.shadowRoot;return re?Array.from(re.querySelectorAll("[data-code]")).filter(H=>H instanceof HTMLElement&&H.clientWidth>0):[]},U=Q=>{b=Q,x===void 0&&(x=requestAnimationFrame(()=>{x=void 0;const ne=b;b=void 0,ne&&f().setScroll(e.tab,ne)}))},se=Q=>{const ne=p;if(!ne)return;const re=Q.currentTarget;re instanceof HTMLElement&&U({x:re.scrollLeft,y:ne.scrollTop})},he=()=>{const Q=Z();if(!(Q.length===m.length&&Q.every((ne,re)=>ne===m[re]))){for(const ne of m)ne.removeEventListener("scroll",se);m=Q;for(const ne of m)ne.addEventListener("scroll",se)}},ee=()=>{const Q=p;if(!Q)return;const ne=f().scroll(e.tab);if(ne){if(he(),m.length>0)for(const re of m)re.scrollLeft!==ne.x&&(re.scrollLeft=ne.x);Q.scrollTop!==ne.y&&(Q.scrollTop=ne.y),!(m.length>0)&&Q.scrollLeft!==ne.x&&(Q.scrollLeft=ne.x)}},oe=()=>{v===void 0&&(v=requestAnimationFrame(()=>{v=void 0,ee()}))},ae=Q=>{m.length===0&&he(),U({x:m[0]?.scrollLeft??Q.currentTarget.scrollLeft,y:Q.currentTarget.scrollTop})};let fe={loaded:!1,ready:!1,active:!1};xe(()=>{const Q=!!S()?.loaded,ne=t.ready(),re=h()===e.tab,H=Q&&!fe.loaded||ne&&!fe.ready||re&&Q&&!fe.active;fe={loaded:Q,ready:ne,active:re},H&&oe()}),rt(()=>{for(const Q of m)Q.removeEventListener("scroll",se);x!==void 0&&cancelAnimationFrame(x),v!==void 0&&cancelAnimationFrame(v)});const $e=Q=>(()=>{var ne=yC();return d(ne,s(Kn,{component:l,mode:"text",get file(){return{name:y()??"",contents:Q,cacheKey:R()}},enableLineSelection:!0,enableHoverUtility:!0,get selectedLines(){return z()},get commentedLines(){return P()},onRendered:()=>{oe()},get annotations(){return F.annotations()},get renderAnnotation(){return F.renderAnnotation},get renderHoverUtility(){return F.renderHoverUtility},onLineSelected:re=>{F.onLineSelected(re)},get onLineNumberSelectionEnd(){return F.onLineNumberSelectionEnd},onLineSelectionEnd:re=>{F.onLineSelectionEnd(re)},search:w,class:"select-text",get media(){return{mode:"auto",path:y(),current:S()?.content,readFile:re=>n.client.file.read({path:re}).then(H=>H.data).catch(()=>{}),onLoad:oe,onError:re=>{re.kind==="svg"&&at({variant:"error",title:i.t("toast.file.loadFailed.title")})}}}})),ne})(),Me=()=>{const Q=y();Q&&t.save(Q).catch(ne=>{at({variant:"error",title:i.t("common.requestFailed"),description:pr(ne,i.t)})})};return s(ln.Content,{get value(){return e.tab},class:"mt-0 relative h-full",get children(){return s(Qt,{get children(){return[s(Ve,{get when(){return Ce(()=>!!(S()?.loaded&&AC(y())))()&&y()},children:Q=>s(Ra,{get fallback(){return(()=>{var ne=Co(),re=ne.firstChild;return d(ne,()=>i.t("common.loading"),re),ne})()},get children(){return s(IC,{get path(){return Q()},get active(){return h()===e.tab}})}})}),s(Ve,{get when(){return Ce(()=>!!(S()?.loaded&&DC(y())))()&&y()},children:Q=>s(Ra,{get fallback(){return(()=>{var ne=Co(),re=ne.firstChild;return d(ne,()=>i.t("common.loading"),re),ne})()},get children(){return s(LC,{get path(){return Q()},get active(){return h()===e.tab}})}})}),s(Ve,{get when(){return Ce(()=>!!(S()?.loaded&&V()))()&&y()},children:Q=>s(Kc,{get path(){return Q()},get state(){return S()},get value(){return A()},get active(){return h()===e.tab},onChange:ne=>t.setDraft(Q(),ne),onSave:Me,onMode:ne=>t.setMode(Q(),ne),mention:{search:ne=>Yc({query:ne,file:t,sync:a,trellis:c}),fetch:async(ne,re)=>{if(re==="file")return await t.load(ne),t.text(ne)},navigate:ne=>{if(ne.type==="file"){const re=t.tab(ne.id);t.load(ne.id),g().open(re),g().setActive(re)}},onCreate:async ne=>{try{await n.client.file.write({fileWriteInput:{path:ne,content:"",format:!1}});const re=ne.includes("/")?ne.slice(0,ne.lastIndexOf("/")):"";return await t.tree.refresh(re),re&&t.tree.expand(re),at({variant:"success",title:`Created ${ne}`}),ne}catch(re){const H=re instanceof Error?re.message:String(re);at({variant:"error",title:"Create failed",description:H});return}},onCreateEntity:async ne=>{try{const re=ne.name.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),H=`${ne.type.toLowerCase()}:${re}`,Y=n.directory,ge=n.url,te=await n.fetch(`${ge}/trellis/store/assert?directory=${encodeURIComponent(Y)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({facts:[{e:H,a:"type",v:ne.type},{e:H,a:"name",v:ne.name},{e:H,a:"color",v:hs(ne.type)},{e:H,a:"icon",v:vs(ne.type)}]})});if(!te.ok)throw new Error(`Store assert failed: ${te.status}`);return window.dispatchEvent(new CustomEvent("trellis-store-changed",{detail:{quiet:!0}})),at({variant:"success",title:`Created ${ne.type}: ${ne.name}`}),H}catch(re){const H=re instanceof Error?re.message:String(re);at({variant:"error",title:"Entity create failed",description:H});return}}}})}),s(Ve,{get when(){return Ce(()=>!!S()?.loaded)()&&_C(y())},get children(){var Q=wC(),ne=Q.firstChild;return ie(()=>ue(ne,"src",no(n.url,y(),n.directory))),Q}}),s(Ve,{get when(){return Ce(()=>!!S()?.loaded)()&&TC(y())},get children(){var Q=$C(),ne=Q.firstChild;return ie(()=>ue(ne,"src",no(n.url,y(),n.directory))),Q}}),s(Ve,{get when(){return Ce(()=>!!S()?.loaded)()&&SC(y())},get children(){var Q=kC(),ne=Q.firstChild;return ie(re=>{var H=no(n.url,y(),n.directory),Y=y();return H!==re.e&&ue(ne,"src",re.e=H),Y!==re.t&&ue(ne,"alt",re.t=Y),re},{e:void 0,t:void 0}),Q}}),s(Ve,{get when(){return S()?.loaded},get children(){return s(Hs,{class:"h-full",viewportRef:Q=>{p=Q,ee()},onScroll:ae,get children(){return $e(C())}})}}),s(Ve,{get when(){return S()?.loading},get children(){var Q=Co(),ne=Q.firstChild;return d(Q,()=>i.t("common.loading"),ne),Q}}),s(Ve,{get when(){return S()?.error},children:Q=>(()=>{var ne=CC();return d(ne,Q),ne})()})]}})}})}Mt(["mousedown","click"]);var PC=k('<svg viewBox="0 0 800 800"fill=none xmlns=http://www.w3.org/2000/svg><path d="M373.362 226.643C388.087 211.919 411.96 211.919 426.684 226.643L573.37 373.324C588.094 388.047 588.094 411.92 573.37 426.644L426.684 573.324C411.96 588.048 388.087 588.048 373.362 573.324L226.677 426.644C211.952 411.92 211.952 388.047 226.677 373.324L373.362 226.643Z"fill=currentColor></path><path d="M586.658 513.282C594.02 505.921 605.956 505.921 613.318 513.282L686.659 586.621C694.021 593.983 694.021 605.919 686.659 613.28L613.318 686.619C605.956 693.981 594.02 693.981 586.658 686.619L513.317 613.28C505.955 605.919 505.955 593.983 513.317 586.621L586.658 513.282Z"fill=currentColor></path><path d="M286.501 586.454C293.957 593.909 293.957 605.997 286.501 613.453L213.5 686.452C206.044 693.907 193.956 693.907 186.5 686.452L113.499 613.453C106.043 605.997 106.043 593.909 113.499 586.454L186.5 513.455C193.956 506 206.044 506 213.5 513.455L286.501 586.454Z"fill=currentColor></path><path d="M406.524 93.4982C402.934 97.088 397.113 97.088 393.523 93.4982L356.523 56.499C352.933 52.9092 352.933 47.089 356.523 43.4992L393.523 6.50002C397.113 2.91025 402.934 2.91025 406.524 6.50003L443.524 43.4992C447.114 47.089 447.114 52.9092 443.524 56.499L406.524 93.4982Z"fill=currentColor></path><path d="M186.502 113.498C193.958 106.042 206.046 106.042 213.502 113.498L286.503 186.496C293.959 193.952 293.959 206.04 286.503 213.496L213.502 286.494C206.046 293.95 193.958 293.95 186.502 286.494L113.501 213.496C106.045 206.04 106.045 193.952 113.501 186.496L186.502 113.498Z"fill=currentColor></path><path d="M686.499 186.483C693.955 193.939 693.955 206.027 686.499 213.482L613.498 286.481C606.042 293.937 593.954 293.937 586.498 286.481L513.497 213.482C506.041 206.027 506.041 193.939 513.497 186.483L586.498 113.484C593.954 106.029 606.042 106.029 613.498 113.484L686.499 186.483Z"fill=currentColor></path><path d="M356.689 756.666C353.007 752.985 353.007 747.017 356.689 743.336L393.359 706.667C397.04 702.986 403.008 702.986 406.689 706.667L443.359 743.336C447.041 747.017 447.041 752.985 443.359 756.666L406.689 793.335C403.008 797.016 397.04 797.016 393.359 793.335L356.689 756.666Z"fill=currentColor>'),RC=k('<span class="absolute -top-0.5 -right-0.5 min-w-[14px] h-[14px] flex items-center justify-center text-[9px] font-bold rounded-full px-1"style="background:rgb(239, 68, 68);color:white">'),FC=k('<button class="flex items-center justify-center size-9 rounded-md transition-colors">'),zC=k("<div class=relative>"),OC=k('<div class="h-full flex flex-col"><div class="h-6 shrink-0"aria-hidden></div><div class="flex-1 pb-64 flex items-center justify-center text-center"><div class="text-12-regular text-text-weak">'),NC=k('<div class="w-12 shrink-0 flex flex-col items-center py-2 gap-2">'),$i=k('<div class="flex-1 min-h-0 overflow-hidden contain-strict animate-in fade-in slide-in-from-right-4 duration-200">'),ki=k('<button class="flex items-center justify-center size-5 sm:size-6 rounded-md text-icon-weaker hover:text-icon-weak hover:bg-surface-raised-base/30 transition-colors">'),BC=k("<div>"),qC=k('<div class="flex items-center gap-2"><div>'),HC=k('<div class="flex items-center gap-2.5 px-2">'),jC=k("<div class=flex-1 aria-hidden>"),WC=k('<div class="bg-background-stronger h-full shrink-0 sticky right-0 z-10 flex items-center justify-center pr-3">'),UC=k('<div class="shrink-0 flex items-center border-b border-border-weaker-base"><div id=file-explorer-toggle class="flex items-center px-0 h-fit shrink-0 rotate-180 ml-3 mr-3">'),GC=k('<div class="relative flex-1 min-h-0 overflow-hidden"><div class="h-full flex flex-col items-center justify-center text-center gap-6"><div class="text-14-regular text-text-weak max-w-56">'),VC=k('<div class="relative pt-2 flex-1 min-h-0 overflow-hidden">'),KC=k('<div class="flex h-full w-full min-w-0 overflow-hidden gap-2 p-2 rounded-[16px] border border-border-base/50 bg-surface-raised-base/25"><aside id=review-panel class="relative min-w-0 min-h-0 flex-1 flex overflow-hidden bg-background-base rounded-xl border border-border-weaker-base! active:border-[#ff0000]"><div class="size-full min-w-0 h-full bg-surface-raised-base/40 flex flex-col"><div><div id=file-tree-panel class="relative min-w-0 h-full shrink-0 overflow-hidden"><div class="h-full flex flex-col overflow-hidden group/filetree border-r border-border-base/30"><div class="shrink-0 flex items-center justify-between gap-0.5 px-2 sm:px-3 h-10 sm:h-12 border-b border-border-weaker-base"><span class="text-xs sm:text-sm font-medium text-text-weak pl-1 sm:pl-1.5 opacity-80 truncate">Explorer</span><div class="flex gap-0.5 sm:gap-1 flex-shrink-0"></div></div><div class="flex-1 overflow-auto px-3 py-0"data-scope=filetree></div></div></div><div class="relative min-w-0 h-full flex-1 overflow-hidden ">'),YC=k("<div data-component=tabs-drag-preview>");const XC=e=>(()=>{var t=PC();return ie(n=>bt(t,{[e.class??""]:!!e.class},n)),t})(),_o=[{id:"graph",label:"Graph",tab:"graph",icon:()=>s(kg,{class:"size-[18px]"})},{id:"plan",label:"Plan",tab:"plan",icon:()=>s(Cg,{class:"size-[18px]"})},{id:"browser",label:"Browser",tab:"browser",icon:()=>s(_i,{class:"size-[18px]"})},{id:"code",label:"Code",tab:"code",icon:()=>s(_g,{class:"size-[18px]"})},{id:"review",label:"Review",tab:"review",icon:()=>s(Sg,{class:"size-[18px]"})},{id:"explore",label:"Explore",tab:"explore",icon:()=>s(Tg,{class:"size-[18px]"})}];function ZC(e){const t=Es(e.item.id);return(()=>{var n=zC(),r=t.ref;return typeof r=="function"?mt(r,n):t.ref=n,d(n,s(on,{placement:"right",get value(){return e.item.label},get children(){var i=FC();return Yn(i,Ke({get classList(){return{"bg-surface-raised-base text-text-strong":e.active,"text-text-weak hover:text-text-base hover:bg-surface-raised-base/50":!e.active}},get onClick(){return e.onClick},get"aria-label"(){return e.item.label}},()=>t.dragActivators),!1,!0),d(i,()=>e.item.icon(),null),d(i,s(M,{get when(){return Ce(()=>!!(e.item.id==="review"&&e.reviewCount))()&&e.reviewCount>0},get children(){var o=RC();return d(o,(()=>{var a=Ce(()=>e.reviewCount>9);return()=>a()?"9+":e.reviewCount})()),o}}),null),i}})),ie(()=>n.classList.toggle("opacity-50",!!t.isActiveDraggable)),n})()}function QC(e){const t=rr(),n=An(),r=In(),i=At(),o=Er(),a=zn(),c=Hy({onFileCreated:Ae=>O(r.tab(Ae)),onFileDeleted:(Ae,_e)=>{const Le=g().all();for(const ke of Le){const Ge=r.pathFromTab(ke);if(!Ge)continue;(_e==="dir"?Ge===Ae||Ge.startsWith(Ae+"/"):Ge===Ae)&&g().close(ke)}}}),{params:l,sessionKey:u,tabs:g,view:f}=ir(),h=Qc("(min-width: 768px)"),p=_(()=>h()&&f().reviewPanel.opened()),x=_(()=>h()&&t.fileTree.opened()),v=_(()=>p()||x()),b=_(()=>h()),m=_(()=>v()?"calc(100%)":"0px"),$=_(()=>l.id?n.session.get(l.id):void 0),w=_(()=>l.id?n.data.session_diff[l.id]??[]:[]),y=_(()=>Math.max($()?.summary?.files??0,w().length)),S=_(()=>y()>0),C=_(()=>w().map(Ae=>Ae.file)),A=_(()=>{const Ae=(ke,Ge)=>ke?ke===Ge?ke:"mix":Ge,_e=ke=>ke.replaceAll("\\\\","/").replace(/\/+$/,""),Le=new Map;for(const ke of w()){const Ge=_e(ke.file),vt=ke.status==="added"?"add":ke.status==="deleted"?"del":"mix";Le.set(Ge,vt);const Rt=Ge.split("/");for(const[Pt]of Rt.slice(0,-1).entries()){const St=Rt.slice(0,Pt+1).join("/");St&&Le.set(St,Ae(Le.get(St),vt))}}return Le}),R=Ae=>(()=>{var _e=OC(),Le=_e.firstChild,ke=Le.nextSibling,Ge=ke.firstChild;return d(Ge,Ae),_e})(),V=_(()=>r.tree.state("")?.loaded?r.tree.children("").length===0:!1),N=Ae=>Ae.startsWith("file://")?r.tab(Ae):Ae,B=()=>{f().reviewPanel.opened()||f().reviewPanel.open()},O=qh({normalizeTab:N,openTab:g().open,pathFromTab:r.pathFromTab,loadFile:r.load,openReviewPanel:B,setActive:g().setActive}),L=Ae=>{const _e=Ae.path,Le=r.tab(_e);if(oe.clickTimeout!==void 0&&(clearTimeout(oe.clickTimeout),ae("clickTimeout",void 0),oe.pendingFile===_e)){O(Le),ae("pendingFile",void 0);return}ae("pendingFile",_e),ae("clickTimeout",window.setTimeout(()=>{const ke=G();ke&&ke!=="context"&&ke!=="empty"&&g().close(ke),O(Le),ae("clickTimeout",void 0),ae("pendingFile",void 0)},300))},T=ci({tabs:g,pathFromTab:r.pathFromTab,normalizeTab:N,review:b,hasReview:S}),E=T.contextOpen,P=T.openedTabs,j=T.activeTab;T.activeTopTab;const G=T.activeFileTab,q=_(()=>{const Ae=G();if(Ae)return r.pathFromTab(Ae)}),[z,F]=Wo(),Z=_(()=>{const Ae=z.view;return Ae==="graph"?"graph":Ae==="plan"?"plan":Ae==="preview"||Ae==="browser"?"browser":Ae==="code"?"code":Ae==="data"?"graph":Ae==="explore"?"explore":Ae==="review"?"review":"graph"}),U=()=>Z();_(()=>U()==="code"?U():"graph");const se=_(()=>x()&&Z()==="code"?`${t.fileTree.width()}px`:"0px"),he=()=>t.fileTree.tab(),ee=()=>{he()==="changes"&&t.fileTree.setTab("all")},[oe,ae]=et({activeDraggable:void 0,clickTimeout:void 0,pendingFile:void 0}),fe=Ae=>{const _e=r.tree.children(Ae),Le=[];for(const ke of _e)ke.type==="file"?Le.push(ke):ke.type==="directory"&&Le.push(...fe(ke.path));return Le},$e=Ae=>{if((Ae.metaKey||Ae.ctrlKey)&&Ae.key==="Delete"){const vt=q();vt&&(Ae.preventDefault(),c.deleteFile(vt));return}if(Z()!=="code"||!x()||Ae.key!=="ArrowUp"&&Ae.key!=="ArrowDown"||!q())return;Ae.preventDefault(),Ae.stopPropagation();const _e=fe("");if(_e.length===0)return;const Le=_e.findIndex(vt=>vt.path===q());let ke;Ae.key==="ArrowUp"?ke=Le<=0?_e.length-1:Le-1:ke=Le>=_e.length-1?0:Le+1;const Ge=_e[ke];Ge&&L(Ge)};Xt(()=>window.addEventListener("keydown",$e)),rt(()=>window.removeEventListener("keydown",$e));const Me=()=>_o.map(Ae=>Ae.id),[Q,ne,,re]=mr(hr.global("session.rail.order",["rail.order.v1"]),et({order:Me()})),H=_(()=>{const Ae=Q.order,_e=_o.filter(Le=>!Ae.includes(Le.id)).map(Le=>Le.id);return[...Ae,..._e]}),Y=_(()=>H().map(_e=>_o.find(Le=>Le.id===_e)).filter(_e=>!!_e)),ge=Ae=>{const _e=ys(Ae);_e&&ae("activeDraggable",_e)},te=Ae=>{const{draggable:_e,droppable:Le}=Ae;if(!_e||!Le)return;const ke=H(),Ge=ke.indexOf(_e.id.toString()),vt=ke.indexOf(Le.id.toString());Ge===-1||vt===-1||Ge===vt||ne("order",gs(Rt=>{const[Pt]=Rt.splice(Ge,1);Rt.splice(vt,0,Pt)}))},Re=()=>{ae("activeDraggable",void 0)},Te=Ae=>{const _e=ys(Ae);_e&&ae("activeDraggable",_e)},me=Ae=>{const{draggable:_e,droppable:Le}=Ae;if(!_e||!Le)return;const ke=g().all(),Ge=$d(ke,_e.id.toString(),Le.id.toString());Ge!==void 0&&g().move(_e.id.toString(),Ge)},tt=()=>{ae("activeDraggable",void 0)};return xe(()=>{r.ready()&&Bc(u(),{files:g().all().reduce((Ae,_e)=>{const Le=r.pathFromTab(_e);if(!Le)return Ae;const ke=r.selectedLines(Le);return Ae[Le]=ke&&typeof ke=="object"&&"start"in ke&&"end"in ke?ke:null,Ae},{})})}),s(M,{get when(){return h()},get children(){return s(xg,{get children(){var Ae=KC(),_e=Ae.firstChild,Le=_e.firstChild,ke=Le.firstChild,Ge=ke.firstChild,vt=Ge.firstChild,Rt=vt.firstChild,Pt=Rt.firstChild,St=Pt.nextSibling,Tt=Rt.nextSibling,Ut=Ge.nextSibling;return d(Ae,s(Li,{onDragStart:ge,onDragEnd:Re,onDragOver:te,collisionDetector:xs,get children(){return[s(Mi,{}),s(bg,{}),(()=>{var ye=NC();return d(ye,s(bs,{get ids(){return H()},get children(){return s(ze,{get each(){return Y()},children:Ze=>{const Pe=Ze.id==="code";return s(ZC,{item:Ze,get active(){return Z()===Ze.tab},onClick:()=>{if(F({view:Ze.tab}),Pe){const Ft=P()[0];Ft?g().setActive(Ft):E()?g().setActive("context"):g().setActive("empty")}},get reviewCount(){return Ce(()=>Ze.id==="review")()?y():void 0}})}})}})),ye})()]}}),_e),d(Le,s(M,{get when(){return Z()==="plan"},get children(){var ye=$i();return d(ye,()=>e.planPanel()),ye}}),ke),d(Le,s(M,{get when(){return Z()==="explore"},get children(){var ye=$i();return d(ye,()=>e.explorePanel()),ye}}),ke),d(Le,s(M,{get when(){return Z()==="graph"},get children(){var ye=$i();return d(ye,s(cw,{get children(){return s(mC,{})}})),ye}}),ke),d(Le,s(M,{get when(){return Z()==="browser"},get children(){var ye=$i();return d(ye,s(ow,{})),ye}}),ke),d(Le,s(M,{get when(){return Ce(()=>Z()==="review")()&&b()},get children(){var ye=$i();return d(ye,()=>e.reviewPanel()),ye}}),ke),d(St,s(on,{get value(){return i.t("session.fileTree.newFile")},placement:"bottom",gutter:6,get children(){var ye=ki();return ye.$$click=()=>{un(()=>Promise.resolve().then(()=>Vl),void 0).then(Ze=>{a.show(()=>s(Ze.DialogNewFileEntry,{kind:"file",baseDir:"",onCreated:Pe=>O(r.tab(Pe))}))})},d(ye,s(Fa,{class:"size-3 sm:size-3.5 opacity-70"})),ie(()=>ue(ye,"aria-label",i.t("session.fileTree.newFile"))),ye}}),null),d(St,s(on,{get value(){return i.t("session.fileTree.newFolder")},placement:"bottom",gutter:6,get children(){var ye=ki();return ye.$$click=()=>{un(()=>Promise.resolve().then(()=>Vl),void 0).then(Ze=>{a.show(()=>s(Ze.DialogNewFileEntry,{kind:"folder",baseDir:""}))})},d(ye,s(yg,{class:"size-3 sm:size-3.5 opacity-70"})),ie(()=>ue(ye,"aria-label",i.t("session.fileTree.newFolder"))),ye}}),null),d(St,s(on,{get value(){return i.t("session.fileTree.expandAll")},placement:"bottom",gutter:6,get children(){var ye=ki();return ye.$$click=()=>{const Ze=Pe=>{for(const Be of r.tree.children(Pe))Be.type==="directory"&&(r.tree.expand(Be.path),Ze(Be.path))};Ze("")},d(ye,s(wg,{class:"size-3 sm:size-3.5 opacity-70"})),ie(()=>ue(ye,"aria-label",i.t("session.fileTree.expandAll"))),ye}}),null),d(St,s(on,{get value(){return i.t("session.fileTree.collapseAll")},placement:"bottom",gutter:6,get children(){var ye=ki();return ye.$$click=()=>{const Ze=Pe=>{for(const Be of r.tree.children(Pe))Be.type==="directory"&&(Ze(Be.path),r.tree.collapse(Be.path))};Ze("")},d(ye,s($g,{class:"size-3 sm:size-3.5 opacity-70"})),ie(()=>ue(ye,"aria-label",i.t("session.fileTree.collapseAll"))),ye}}),null),d(St,s(on,{get value(){return i.t("session.fileTree.refresh")},placement:"bottom",gutter:6,get children(){var ye=ki();return ye.$$click=()=>r.tree.refresh(""),d(ye,s(jc,{class:"size-3 sm:size-3.5 opacity-70"})),ie(()=>ue(ye,"aria-label",i.t("session.fileTree.refresh"))),ye}}),null),Tt.$$contextmenu=ye=>{ye.preventDefault(),c.showRoot(ye)},d(Tt,s(Qt,{get children(){return[s(Ve,{get when(){return V()},get children(){return R(i.t("session.files.empty"))}}),s(Ve,{when:!0,get children(){return s(Pu,{path:"",class:"pt-3",get active(){return q()},get modified(){return C()},get kinds(){return A()},onFileClick:L,onNodeContextMenu:(ye,Ze)=>c.showNode(ye,Ze)})}})]}})),d(vt,s(jy,{ctrl:c}),null),d(Ge,s(M,{get when(){return x()},get children(){var ye=BC();return ye.$$pointerdown=()=>e.size.start(),d(ye,s(Oi,{direction:"horizontal",get size(){return t.fileTree.width()},min:200,max:480,onResize:Ze=>{e.size.touch(),t.fileTree.resize(Ze)}})),ye}}),null),d(Ut,s(Li,{onDragStart:Te,onDragEnd:tt,onDragOver:me,collisionDetector:xs,get children(){return[s(Mi,{}),s(ea,{}),s(ln,{get value(){return j()},onChange:O,class:"h-full flex flex-col",get children(){return[(()=>{var ye=UC(),Ze=ye.firstChild;return Ze.$$click=Pe=>Pe.stopPropagation(),Ze.$$mousedown=Pe=>Pe.stopPropagation(),d(Ze,s(Cn,{get title(){return i.t("command.fileTree.toggle")},get keybind(){return o.keybind("fileTree.toggle")},get children(){return s(pt,{get icon(){return t.fileTree.opened()?"file-tree-active":"file-tree"},variant:"ghost",class:"!rounded-md size-6 rotate-180",get classList(){return{"text-icon-strong":t.fileTree.opened(),"text-icon-weak":!t.fileTree.opened()}},onClick:Pe=>{Pe.stopPropagation(),t.fileTree.toggle()},get"aria-label"(){return i.t("command.fileTree.toggle")},get"aria-expanded"(){return t.fileTree.opened()},"aria-controls":"file-tree-panel"})}})),d(ye,s(ln.List,{class:"px-0! gap-4 w-full",ref:Pe=>{const Be=xC({el:Pe,contextOpen:E});rt(Be)},get children(){return[s(M,{get when(){return E()},get children(){var Pe=HC();return d(Pe,s(ln.Trigger,{value:"context",get closeButton(){return s(Cn,{get title(){return i.t("common.closeTab")},get keybind(){return o.keybind("tab.close")},placement:"bottom",gutter:10,get children(){return s(pt,{icon:"close-small",variant:"ghost",class:"h-5 w-5",onClick:()=>g().close("context"),get"aria-label"(){return i.t("common.closeTab")}})}})},hideCloseButton:!0,onMiddleClick:()=>g().close("context"),get children(){var Be=qC(),Ft=Be.firstChild;return d(Be,s(wu,{variant:"indicator"}),Ft),d(Ft,()=>i.t("session.tab.context")),Be}})),Pe}}),s(bs,{get ids(){return P()},get children(){return s(ze,{get each(){return P()},children:Pe=>s(Fh,{tab:Pe,get onTabClose(){return g().close}})})}}),jC(),(()=>{var Pe=WC();return d(Pe,s(Cn,{get title(){return i.t("command.file.open")},get keybind(){return o.keybind("file.open")},class:"flex items-center",get children(){return s(pt,{icon:"plus-small",variant:"ghost",iconSize:"large",class:"!rounded-md",onClick:()=>{un(()=>import("./dialog-select-file-Bl3u-ykG.js"),__vite__mapDeps([17,1,2,5,11,12,8,13])).then(Be=>{a.show(()=>s(Be.DialogSelectFile,{mode:"files",onOpenFile:ee}))})},get"aria-label"(){return i.t("command.file.open")}})}})),Pe})()]}}),null),ye})(),s(ln.Content,{value:"empty",class:"flex flex-col flex-1 min-h-0 overflow-hidden contain-strict",get children(){return s(M,{get when(){return j()==="empty"},get children(){var ye=GC(),Ze=ye.firstChild,Pe=Ze.firstChild;return d(Ze,s(XC,{class:"w-14 opacity-10"}),Pe),d(Pe,()=>i.t("session.files.selectToOpen")),d(Ze,s(ot,{variant:"secondary",size:"small",onClick:()=>{o.trigger("file.new")},get children(){return[s(Fa,{class:"size-4 mr-2"}),Ce(()=>i.t("command.file.new"))]}}),null),ye}})}}),s(M,{get when(){return E()},get children(){return s(ln.Content,{value:"context",class:"flex flex-col flex-1 min-h-0 overflow-hidden contain-strict",get children(){return s(M,{get when(){return j()==="context"},get children(){var ye=VC();return d(ye,s(Lh,{})),ye}})}})}}),s(M,{get when(){return G()},keyed:!0,children:ye=>s(EC,{tab:ye})})]}}),s(ta,{get children(){return s(M,{get when(){return oe.activeDraggable},keyed:!0,children:ye=>{const Ze=r.pathFromTab(ye);return(()=>{var Pe=YC();return d(Pe,s(M,{when:Ze,children:Be=>s(wd,{active:!0,get path(){return Be()}})})),Pe})()}})}})]}})),ie(ye=>{var Ze=i.t("session.panel.reviewAndFiles"),Pe=!v(),Be=!v(),Ft={"pointer-events-none":!v(),"transition-[width] duration-[240ms] ease-[cubic-bezier(0.22,1,0.36,1)] will-change-[width] motion-reduce:transition-none":!e.size.active()&&!e.reviewSnap},qt=m(),Nt=`flex-1 min-h-0 flex overflow-hidden ${Z()!=="code"?"hidden":""}`,Gt=!x(),Ht=!x(),Ot={"pointer-events-none":!x(),"transition-[width] duration-200 ease-[cubic-bezier(0.22,1,0.36,1)] will-change-[width] motion-reduce:transition-none":!e.size.active()},$t=se();return Ze!==ye.e&&ue(_e,"aria-label",ye.e=Ze),Pe!==ye.t&&ue(_e,"aria-hidden",ye.t=Pe),Be!==ye.a&&(_e.inert=ye.a=Be),ye.o=bt(_e,Ft,ye.o),qt!==ye.i&&Je(_e,"width",ye.i=qt),Nt!==ye.n&&zt(ke,ye.n=Nt),Gt!==ye.s&&ue(Ge,"aria-hidden",ye.s=Gt),Ht!==ye.h&&(Ge.inert=ye.h=Ht),ye.r=bt(Ge,Ot,ye.r),$t!==ye.d&&Je(Ge,"width",ye.d=$t),ye},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0}),Ae}})}})}Mt(["click","contextmenu","pointerdown","mousedown"]);const yc=e=>{const t=e.title??"",n=e.titleNumber??0,r=Number.isFinite(n)&&n>0&&Ac(t,n);return t&&!r?t:n>0?e.t("terminal.title.numbered",{number:n}):t||e.t("terminal.title")};var JC=k('<div class="h-full flex items-center px-3 gap-1.5 text-text-base text-[12px]"><span> Terminals'),e5=k('<span class="text-text-weak text-[12px] pl-2 pr-1">New terminal'),t5=k('<div class="h-full flex items-center justify-center">'),n5=k('<div class="flex-1 min-w-0 flex items-center px-2"><span class="text-12-regular text-text-weak truncate">'),r5=k('<div class="flex-1 min-h-0 relative p-3">'),i5=k('<div class="pt-3 rounded-xl flex flex-col"><div id=terminal-tab-bar class="shrink-0 flex items-center bg-background-stronger border border-border-weak-base overflow-hidden"></div><div id=terminal-panel role=region class="relative w-full shrink-0 overflow-hidden bg-background-stronger rounded-b-xl"><div class="absolute inset-x-0 top-0 flex flex-col"><div class="hidden md:block">'),s5=k('<div class="h-10 flex items-center gap-2 px-2 flex-1 overflow-hidden pointer-events-none"><div class=flex-1></div><div class="text-text-weak pr-2">'),o5=k('<div class="px-2 py-1 rounded-md bg-surface-base text-14-regular text-text-weak truncate max-w-40">'),a5=k('<div class="relative p-1 h-10 flex items-center bg-background-stronger text-14-regular">'),l5=k('<div class="flex-1 flex items-center justify-center text-text-weak">'),wc=k('<div class="absolute inset-0">');function c5(){const e=[120,240],t=rr(),n=Rr(),r=At(),i=Er(),{params:o,view:a}=ir(),c=_(()=>a().terminal.opened()),l=kd(),u=_(()=>t.terminal.height()),g=()=>a().terminal.close();let f;const[h,p]=et({autoCreated:!1,activeDraggable:void 0,view:typeof window>"u"?1e3:window.visualViewport?.height??window.innerHeight}),x=()=>h.view*.6,v=()=>Math.min(u(),x());Xt(()=>{if(typeof window>"u")return;const A=()=>p("view",window.visualViewport?.height??window.innerHeight),R=window.visualViewport;A(),window.addEventListener("resize",A),R?.addEventListener("resize",A),rt(()=>{window.removeEventListener("resize",A),R?.removeEventListener("resize",A)})}),xe(()=>{if(!c()){p("autoCreated",!1);return}!n.ready()||n.all().length!==0||h.autoCreated||(n.new(),p("autoCreated",!0))}),xe(ft(()=>n.all().length,(A,R)=>{R===void 0||R<=0||A!==0||c()&&g()}));const b=A=>{const R=_d(A);R.focus(e.length+1),Zr(A);const V=requestAnimationFrame(()=>{R.step(),c()&&n.active()===A&&Zr(A)}),N=e.map(B=>window.setTimeout(()=>{R.step(),c()&&n.active()===A&&Zr(A)},B));return()=>{R.focus(0),cancelAnimationFrame(V);for(const B of N)clearTimeout(B)}};xe(ft(()=>[c(),n.active()],([A,R])=>{if(!A||!R)return;const V=b(R);rt(V)})),xe(()=>{if(c())return;const A=document.activeElement;A instanceof HTMLElement&&f?.contains(A)&&A.blur()}),xe(()=>{const A=o.dir;A&&n.ready()&&(r.locale(),Ag(A,n.all().map(R=>yc({title:R.title,titleNumber:R.titleNumber,t:r.t}))))});const m=_(()=>{const A=o.dir;return A?Dg(A)??[]:[]}),$=n.all,w=_(()=>$().map(A=>A.id)),y=A=>{const R=ys(A);R&&p("activeDraggable",R)},S=A=>{const{draggable:R,droppable:V}=A;if(!R||!V)return;const N=n.all(),B=N.findIndex(L=>L.id===R.id.toString()),O=N.findIndex(L=>L.id===V.id.toString());B!==-1&&O!==-1&&B!==O&&n.move(R.id.toString(),O)},C=()=>{p("activeDraggable",void 0);const A=n.active();A&&requestAnimationFrame(()=>{n.active()===A&&Zr(A)})};return s(M,{get when(){return c()},get children(){var A=i5(),R=A.firstChild,V=R.nextSibling,N=V.firstChild,B=N.firstChild;d(R,s(M,{get when(){return n.ready()},get fallback(){return(()=>{var L=s5(),T=L.firstChild,E=T.nextSibling;return d(L,s(ze,{get each(){return m()},children:P=>(()=>{var j=o5();return d(j,P),j})()}),T),d(E,()=>r.t("common.loading"),null),d(E,()=>r.t("common.loading.ellipsis"),null),L})()},get children(){return s(Li,{onDragStart:y,onDragEnd:C,onDragOver:S,collisionDetector:xs,get children(){return[s(Mi,{}),s(ea,{}),s(ln,{get value(){return n.active()},onChange:L=>n.open(L),class:"!h-10 flex-1 min-w-0",get children(){return s(ln.List,{class:"h-10 px-0! gap-0!",get children(){return[s(M,{get when(){return n.paneTree()},get fallback(){return s(bs,{get ids(){return w()},get children(){return s(ze,{get each(){return $()},children:L=>s(Uh,{terminal:L,onClose:g})})}})},get children(){var L=JC(),T=L.firstChild,E=T.firstChild;return d(L,s(Ne,{name:"square-split-horizontal",class:"w-4 h-4 shrink-0"}),T),d(T,()=>$().length,E),L}}),(()=>{var L=t5();return d(L,s(M,{get when(){return n.all().length===0},get children(){return e5()}}),null),d(L,s(Cn,{get title(){return r.t("command.terminal.new")},get keybind(){return i.keybind("terminal.new")},class:"flex items-center",get children(){return s(pt,{icon:"plus-small",variant:"ghost",iconSize:"large",get onClick(){return n.new},get"aria-label"(){return r.t("command.terminal.new")}})}}),null),L})()]}})}}),s(ta,{get children(){return s(M,{get when(){return h.activeDraggable},keyed:!0,children:L=>s(M,{get when(){return $().find(T=>T.id===L)},children:T=>(()=>{var E=a5();return d(E,()=>yc({title:T().title,titleNumber:T().titleNumber,t:r.t})),E})()})})}})]}})}}),null),d(R,s(M,{get when(){return Za()},get children(){var L=n5(),T=L.firstChild;return d(T,Za),L}}),null),d(R,s(Cn,{get title(){return r.t("command.terminal.split.horizontal")},get keybind(){return i.keybind("terminal.split.horizontal")},placement:"top",class:"flex items-center shrink-0",get children(){return s(pt,{icon:"terminal-split",variant:"ghost",onClick:()=>{const L=n.focusedPane()??n.active();L&&(a().terminal.open(),n.split(L,"h"))},get"aria-label"(){return r.t("command.terminal.split.horizontal")}})}}),null),d(R,s(Cn,{get title(){return r.t("command.terminal.toggle")},get keybind(){return i.keybind("terminal.toggle")},placement:"top",class:"flex items-center shrink-0 px-2 mr-2",get children(){return s(pt,{get icon(){return c()?"chevron-down":"chevron-up"},variant:"ghost",onClick:()=>a().terminal.toggle(),get"aria-label"(){return r.t("command.terminal.toggle")},get"aria-expanded"(){return c()},"aria-controls":"terminal-panel"})}}),null);var O=f;return typeof O=="function"?mt(O,V):f=V,B.$$pointerdown=()=>l.start(),d(B,s(Oi,{direction:"vertical",get size(){return v()},min:100,get max(){return x()},collapseThreshold:50,onResize:L=>{l.touch(),t.terminal.resize(L)},onCollapse:g})),d(N,s(M,{get when(){return n.ready()},get fallback(){return(()=>{var L=l5();return d(L,()=>r.t("terminal.loading")),L})()},get children(){var L=r5();return d(L,s(M,{get when(){return n.paneTree()},get fallback(){return s(M,{get when(){return n.active()},keyed:!0,children:T=>{const E=n.bind();return s(M,{get when(){return $().find(P=>P.id===T)},children:P=>(()=>{var j=wc();return ue(j,"id",`terminal-wrapper-${T}`),d(j,s(Sd,{get pty(){return P()},get autoFocus(){return c()},clearOnConnect:!0,onConnect:()=>E.trim(T),get onCleanup(){return E.update},onConnectError:()=>E.clone(T)})),j})()})}})},children:T=>{const E=n.bind();return(()=>{var P=wc();return d(P,s(Eo,{get node(){return T()},get opened(){return c()},clearOnConnect:!0,onConnect:j=>E.trim(j),get onCleanup(){return E.update},onConnectError:j=>E.clone(j)})),P})()}})),L}}),null),ie(L=>{var T=!c(),E=!!c(),P=r.t("terminal.title"),j=!c(),G=!c(),q={"border-x border-b border-border-weak-base":c(),"transition-[height] duration-200 ease-[cubic-bezier(0.22,1,0.36,1)] will-change-[height] motion-reduce:transition-none":!l.active()},z=c()?`${v()}px`:"0px",F=!c(),Z=`${v()}px`;return T!==L.e&&R.classList.toggle("rounded-xl",L.e=T),E!==L.t&&R.classList.toggle("rounded-t-xl",L.t=E),P!==L.a&&ue(V,"aria-label",L.a=P),j!==L.o&&ue(V,"aria-hidden",L.o=j),G!==L.i&&(V.inert=L.i=G),L.n=bt(V,q,L.n),z!==L.s&&Je(V,"height",L.s=z),F!==L.h&&N.classList.toggle("pointer-events-none",L.h=F),Z!==L.r&&Je(N,"height",L.r=Z),L},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0}),A}})}Mt(["pointerdown"]);function d5(e){const t=e.indexOf("?");if(t===-1)return;const n=new URLSearchParams(e.slice(t+1)),r=Number(n.get("start")),i=Number(n.get("end"));if(!(!Number.isFinite(r)||!Number.isFinite(i)))return{startLine:r,endLine:i,startChar:0,endChar:0}}function u5(e){return e.filter(n=>n.type==="text").filter(n=>!n.synthetic&&!n.ignored).reduce((n,r)=>!n||r.text.length>n.text.length?r:n,void 0)}function Yu(e,t){const r=u5(e)?.text??"",i=t?.directory,o=t?.attachmentName??"attachment",a=v=>{if(!i)return v;const b=i.endsWith("/")?i:i+"/";if(v.startsWith(b))return v.slice(b.length);if(v.startsWith(i)){const m=v.slice(i.length);return m.startsWith("/")?m.slice(1):m}return v},c=[],l=[];for(const v of e){if(v.type==="file"){const b=v,m=b.source?.text;if(m){const $=m.value,w=m.start,y=m.end;let S=$;$.startsWith("@")&&(S=$.slice(1)),!$.startsWith("@")&&b.source&&"path"in b.source&&(S=b.source.path),c.push({type:"file",start:w,end:y,value:$,path:a(S),selection:d5(b.url)});continue}b.url.startsWith("data:")&&l.push({type:"image",id:b.id,filename:b.filename??o,mime:b.mime,dataUrl:b.url})}if(v.type==="agent"){const b=v,m=b.source;if(!m)continue;c.push({type:"agent",start:m.start,end:m.end,value:m.value,name:b.name})}}c.sort((v,b)=>v.start!==b.start?v.start-b.start:v.end-b.end);const u=[];let g=0,f=0;const h=v=>{v&&(u.push({type:"text",content:v,start:g,end:g+v.length}),g+=v.length)},p=v=>{const b=v.value,m={type:"file",path:v.path,content:b,start:g,end:g+b.length,selection:v.selection};u.push(m),g+=b.length},x=v=>{const b=v.value,m={type:"agent",name:v.name,content:b,start:g,end:g+b.length};u.push(m),g+=b.length};for(const v of c){if(v.start<0||v.end<v.start)continue;const b=v.value;if(!b)continue;const m=v.end>r.length||v.start<f||r.slice(v.start,v.end)!==b,$=m?r.indexOf(b,f):v.start;if($===-1)continue;const w=m?$+b.length:v.end;h(r.slice(f,$)),v.type==="file"&&p(v),v.type==="agent"&&x(v),f=w}return h(r.slice(f)),u.length===0&&u.push({type:"text",content:"",start:0,end:0}),l.length===0?u:[...u,...l]}const Un=e=>t=>({...t,category:e}),f5=e=>{const t=Er(),n=zn(),r=In(),i=At(),o=Pr(),a=Ps(),c=zr(),l=Jt(),u=An(),g=Rr(),f=rr(),h=Sr(),{params:p,tabs:x,view:v}=ir(),b=()=>{const H=p.id;if(H)return u.session.get(H)},m=()=>{const H=p.id;return H?Math.max(b()?.summary?.files??0,(u.data.session_diff[H]??[]).length)>0:!1},$=H=>H.startsWith("file://")?r.tab(H):H,w=ci({tabs:x,pathFromTab:r.pathFromTab,normalizeTab:$,review:e.review,hasReview:m}),y=w.openedTabs,S=w.activeFileTab,C=w.closableTab,A={type:"idle"},R=()=>u.data.session_status[p.id??""]??A,V=()=>{const H=p.id;return H?u.data.message[H]??[]:[]},N=()=>V().filter(H=>H.role==="user"),B=()=>{const H=b()?.revert?.messageID;return H?N().filter(Y=>Y.id<H):N()},O=()=>{f.fileTree.tab()==="changes"&&f.fileTree.setTab("all")},L=(H,Y)=>{const ge=r.text(H);if(ge)return Os(ge,{start:Y.startLine,end:Y.endLine})},T=()=>{const H=S();if(H)return r.pathFromTab(H)},E=H=>{const Y=S();if(!Y)return;const ge=y(),te=ge.indexOf(Y);if(te===-1)return;const Re=ge[te+H];Re&&x().setActive(Re)},P=async H=>{if(!H)return!1;try{return await r.save(H)?(Xi(i.t("common.save")),!0):!1}catch(Y){return at({variant:"error",title:i.t("common.requestFailed"),description:pr(Y,i.t)}),!1}},j=async()=>{try{return await r.saveAll()?(Xi(i.t("command.file.saveAll")),!0):!1}catch(H){return at({variant:"error",title:i.t("common.requestFailed"),description:pr(H,i.t)}),!1}},G=(H,Y)=>{const ge=L(H,Y);c.context.add({type:"file",path:H,selection:Y,preview:ge})},q=()=>{const H=S();if(!H)return!1;const Y=r.pathFromTab(H);return Y?r.selectedLines(Y)!=null:!1},z=e.navigateMessageByOffset,F=e.setActiveMessage,Z=e.focusInput,U=Un(i.t("command.category.session")),se=Un(i.t("command.category.file")),he=Un(i.t("command.category.context")),ee=Un(i.t("command.category.view")),oe=Un(i.t("command.category.editor")),ae=Un(i.t("command.category.terminal")),fe=Un(i.t("command.category.model")),$e=Un(i.t("command.category.mcp")),Me=Un(i.t("command.category.agent")),Q=Un(i.t("command.category.permissions")),ne=Un(i.t("command.category.ai")),re=()=>{const H=p.id;return H?a.isAutoAccepting(H,l.directory):a.isAutoAcceptingDirectory(l.directory)};t.register("session",()=>{const H=u.data.config.share==="disabled"?[]:[U({id:"session.share",title:b()?.share?.url?i.t("session.share.copy.copyLink"):i.t("command.session.share"),description:b()?.share?.url?i.t("toast.session.share.success.description"):i.t("command.session.share.description"),slash:"share",disabled:!p.id,onSelect:async()=>{if(!p.id)return;const Y=Te=>{const me=typeof document>"u"?void 0:document.body;if(me){const Ae=document.createElement("textarea");Ae.value=Te,Ae.setAttribute("readonly",""),Ae.style.position="fixed",Ae.style.opacity="0",Ae.style.pointerEvents="none",me.appendChild(Ae),Ae.select();const _e=document.execCommand("copy");if(me.removeChild(Ae),_e)return Promise.resolve(!0)}const tt=typeof navigator>"u"?void 0:navigator.clipboard;return tt?.writeText?tt.writeText(Te).then(()=>!0,()=>!1):Promise.resolve(!1)},ge=async(Te,me)=>{if(!await Y(Te)){at({title:i.t("toast.session.share.copyFailed.title"),variant:"error"});return}Xi(me?i.t("session.share.copy.copied"):i.t("toast.session.share.success.title"))},te=b()?.share?.url;if(te){await ge(te,!0);return}const Re=await l.client.session.share({sessionID:p.id}).then(Te=>Te.data?.share?.url).catch(()=>{});if(!Re){at({title:i.t("toast.session.share.failed.title"),description:i.t("toast.session.share.failed.description"),variant:"error"});return}await ge(Re,!1)}}),U({id:"session.unshare",title:i.t("command.session.unshare"),description:i.t("command.session.unshare.description"),slash:"unshare",disabled:!p.id||!b()?.share?.url,onSelect:async()=>{p.id&&await l.client.session.unshare({sessionID:p.id}).then(()=>at({title:i.t("toast.session.unshare.success.title"),description:i.t("toast.session.unshare.success.description"),variant:"success"})).catch(()=>at({title:i.t("toast.session.unshare.failed.title"),description:i.t("toast.session.unshare.failed.description"),variant:"error"}))}})];return[U({id:"session.new",title:i.t("command.session.new"),keybind:"mod+shift+s",slash:"new",onSelect:()=>h(`/${p.dir}/session?new=1`)}),se({id:"file.open",title:i.t("command.file.open"),description:i.t("palette.search.placeholder"),keybind:"alt+space,mod+p",slash:"open",onSelect:()=>{un(()=>import("./dialog-select-file-Bl3u-ykG.js"),__vite__mapDeps([17,1,2,5,11,12,8,13])).then(Y=>{n.show(()=>s(Y.DialogSelectFile,{onOpenFile:O}))})}}),se({id:"tab.close",title:i.t("command.tab.close"),keybind:"mod+w,alt+x,ctrl+x",disabled:!C(),onSelect:()=>{const Y=C();Y&&x().close(Y)}}),se({id:"tab.previous",title:"Previous tab",keybind:"alt+arrowleft",disabled:!S(),onSelect:()=>{E(-1)}}),se({id:"tab.next",title:"Next tab",keybind:"alt+arrowright",disabled:!S(),onSelect:()=>{E(1)}}),se({id:"file.save",title:i.t("command.file.save"),keybind:"mod+s",disabled:!T(),onSelect:()=>void P(T())}),se({id:"file.saveAll",title:i.t("command.file.saveAll"),keybind:"mod+shift+s",onSelect:()=>void j()}),se({id:"file.new",title:i.t("command.file.new"),keybind:"mod+n",onSelect:()=>{}}),se({id:"folder.new",title:i.t("command.folder.new"),keybind:"mod+alt+n",onSelect:()=>{}}),oe({id:"editor.format",title:i.t("command.editor.format"),keybind:"alt+f",onSelect:()=>{}}),oe({id:"editor.quickFix",title:i.t("command.editor.quickFix"),keybind:"alt+q",onSelect:()=>{}}),oe({id:"editor.find",title:i.t("command.editor.find"),keybind:"mod+f",onSelect:()=>{}}),oe({id:"editor.replace",title:i.t("command.editor.replace"),keybind:"mod+alt+f",onSelect:()=>{}}),oe({id:"editor.gotoLine",title:i.t("command.editor.gotoLine"),keybind:"mod+g",onSelect:()=>{}}),oe({id:"editor.foldAll",title:i.t("command.editor.foldAll"),keybind:"mod+shift+j",onSelect:()=>{}}),oe({id:"editor.unfoldAll",title:i.t("command.editor.unfoldAll"),keybind:"mod+shift+h",onSelect:()=>{}}),oe({id:"editor.selectToBracket",title:i.t("command.editor.selectToBracket"),keybind:"alt+shift+]",onSelect:()=>{}}),oe({id:"editor.smartSelect.expand",title:i.t("command.editor.smartSelect.expand"),keybind:"mod+shift+arrowright",onSelect:()=>{}}),oe({id:"editor.smartSelect.shrink",title:i.t("command.editor.smartSelect.shrink"),keybind:"mod+shift+arrowleft",onSelect:()=>{}}),oe({id:"editor.commentLine",title:i.t("command.editor.commentLine"),keybind:"mod+/",onSelect:()=>{}}),oe({id:"editor.deleteLines",title:i.t("command.editor.deleteLines"),keybind:"mod+shift+k",onSelect:()=>{}}),oe({id:"editor.copyFilePath",title:i.t("command.editor.copyFilePath"),keybind:"mod+shift+c",onSelect:()=>{const Y=S();if(!Y)return;const ge=r.pathFromTab(Y);ge&&(navigator.clipboard.writeText(ge),Xi(`${i.t("session.header.open.copyPath")}: ${ge}`))}}),ne({id:"ai.quickChat",title:i.t("command.ai.quickChat"),keybind:"alt+`",onSelect:()=>{}}),ne({id:"ai.sidePane",title:i.t("command.ai.sidePane"),keybind:"shift+alt+l",onSelect:()=>f.session.toggle()}),ne({id:"ai.insertSelection",title:i.t("command.ai.insertSelection"),keybind:"mod+alt+l",onSelect:()=>{if(!q())return;const Y=S();if(!Y)return;const ge=r.pathFromTab(Y);if(!ge)return;const te=r.selectedLines(ge);te&&G(ge,ni(te))}}),ne({id:"ai.toggleModel",title:i.t("command.ai.toggleModel"),keybind:"mod+alt+/",onSelect:()=>{}}),ne({id:"ai.openSettings",title:i.t("command.ai.openSettings"),keybind:"mod+alt+,",onSelect:()=>{un(()=>import("./dialog-settings-BuGykryo.js"),__vite__mapDeps([18,1,2,11,12,5,6,9,8,7])).then(Y=>{n.show(()=>s(Y.DialogSettings,{tab:"models"}))})}}),ne({id:"ai.openGlobalRules",title:i.t("command.ai.openGlobalRules"),keybind:"mod+alt+,",onSelect:()=>{}}),ne({id:"ai.toggleModelSelector",title:i.t("command.ai.toggleModelSelector"),keybind:"alt+'",onSelect:()=>{}}),ne({id:"ai.switchToNextModel",title:i.t("command.ai.switchToNextModel"),keybind:"mod+alt+/",onSelect:()=>{}}),ne({id:"ai.openMcpMarketplace",title:i.t("command.ai.openMcpMarketplace"),keybind:"ctrl+m",onSelect:()=>{}}),ne({id:"ai.cascadeView",title:i.t("command.ai.cascadeView"),keybind:"mod+alt+space",onSelect:()=>{}}),se({id:"file.findInFiles",title:i.t("command.file.findInFiles"),keybind:"mod+shift+f",onSelect:()=>{}}),se({id:"tab.moveLeft",title:i.t("command.tab.moveLeft"),keybind:"mod+alt+arrowleft,alt+,",onSelect:()=>{const Y=x().active();if(!Y)return;const te=x().all().indexOf(Y);te>0&&x().move(Y,te-1)}}),se({id:"tab.moveRight",title:i.t("command.tab.moveRight"),keybind:"mod+alt+arrowright,alt+.",onSelect:()=>{const Y=x().active();if(!Y)return;const ge=x().all(),te=ge.indexOf(Y);te<ge.length-1&&x().move(Y,te+1)}}),he({id:"context.addSelection",title:i.t("command.context.addSelection"),description:i.t("command.context.addSelection.description"),keybind:"mod+shift+l",disabled:!q(),onSelect:()=>{const Y=S();if(!Y)return;const ge=r.pathFromTab(Y);if(!ge)return;const te=r.selectedLines(ge);if(!te){at({title:i.t("toast.context.noLineSelection.title"),description:i.t("toast.context.noLineSelection.description")});return}G(ge,ni(te))}}),ee({id:"terminal.toggle",title:i.t("command.terminal.toggle"),keybind:"ctrl+`,ctrl+i",slash:"terminal",onSelect:()=>v().terminal.toggle()}),ee({id:"review.toggle",title:i.t("command.review.toggle"),keybind:"mod+shift+r",onSelect:()=>v().reviewPanel.toggle()}),ee({id:"fileTree.toggle",title:i.t("command.fileTree.toggle"),keybind:"mod+\\",onSelect:()=>f.fileTree.toggle()}),ee({id:"input.focus",title:i.t("command.input.focus"),keybind:"ctrl+l",onSelect:Z}),ae({id:"terminal.new",title:i.t("command.terminal.new"),description:i.t("command.terminal.new.description"),keybind:"ctrl+alt+t",onSelect:()=>{g.all().length>0&&g.new(),v().terminal.open()}}),ae({id:"terminal.split.horizontal",title:i.t("command.terminal.split.horizontal"),keybind:"mod+/",onSelect:()=>{const Y=g.focusedPane()??g.active();Y&&(v().terminal.open(),g.split(Y,"h"))}}),ae({id:"terminal.split.vertical",title:i.t("command.terminal.split.vertical"),keybind:"ctrl+alt+-",onSelect:()=>{const Y=g.focusedPane()??g.active();Y&&(v().terminal.open(),g.split(Y,"v"))}}),ae({id:"terminal.pane.close",title:i.t("command.terminal.pane.close"),keybind:"ctrl+alt+w",onSelect:()=>{const Y=g.focusedPane()??g.active();if(!Y)return;g.paneTree()&&g.unsplit(Y)}}),U({id:"message.previous",title:i.t("command.message.previous"),description:i.t("command.message.previous.description"),keybind:"mod+alt+[",disabled:!p.id,onSelect:()=>z(-1)}),U({id:"message.next",title:i.t("command.message.next"),description:i.t("command.message.next.description"),keybind:"mod+alt+]",disabled:!p.id,onSelect:()=>z(1)}),fe({id:"model.choose",title:i.t("command.model.choose"),description:i.t("command.model.choose.description"),keybind:"mod+'",slash:"model",onSelect:()=>{un(()=>Promise.resolve().then(()=>ip),void 0).then(Y=>{n.show(()=>s(Y.DialogSelectModel,{get model(){return o.model}}))})}}),$e({id:"mcp.toggle",title:i.t("command.mcp.toggle"),description:i.t("command.mcp.toggle.description"),keybind:"mod+;",slash:"mcp",onSelect:()=>{un(()=>import("./dialog-select-mcp-CNXlry4I.js"),__vite__mapDeps([19,1,2,5,6])).then(Y=>{n.show(()=>s(Y.DialogSelectMcp,{}))})}}),Me({id:"agent.cycle",title:i.t("command.agent.cycle"),description:i.t("command.agent.cycle.description"),keybind:"mod+.",slash:"agent",onSelect:()=>o.agent.move(1)}),Me({id:"agent.cycle.reverse",title:i.t("command.agent.cycle.reverse"),description:i.t("command.agent.cycle.reverse.description"),keybind:"shift+mod+.",onSelect:()=>o.agent.move(-1)}),fe({id:"model.variant.cycle",title:i.t("command.model.variant.cycle"),description:i.t("command.model.variant.cycle.description"),keybind:"shift+mod+d",onSelect:()=>o.model.variant.cycle()}),Q({id:"permissions.autoaccept",title:re()?i.t("command.permissions.autoaccept.disable"):i.t("command.permissions.autoaccept.enable"),keybind:"mod+shift+a",disabled:!1,onSelect:()=>{const Y=p.id;Y?a.toggleAutoAccept(Y,l.directory):a.toggleAutoAcceptDirectory(l.directory);const ge=Y?a.isAutoAccepting(Y,l.directory):a.isAutoAcceptingDirectory(l.directory);at({title:ge?i.t("toast.permissions.autoaccept.on.title"):i.t("toast.permissions.autoaccept.off.title"),description:ge?i.t("toast.permissions.autoaccept.on.description"):i.t("toast.permissions.autoaccept.off.description")})}}),U({id:"session.undo",title:i.t("command.session.undo"),description:i.t("command.session.undo.description"),slash:"undo",disabled:!p.id||B().length===0,onSelect:async()=>{const Y=p.id;if(!Y)return;R().type!=="idle"&&await l.client.session.abort({sessionID:Y}).catch(()=>{});const ge=b()?.revert?.messageID,te=Ci(N(),me=>!ge||me.id<ge);if(!te)return;await l.client.session.revert({sessionID:Y,messageID:te.id});const Re=u.data.part[te.id];if(Re){const me=Yu(Re,{directory:l.directory});c.set(me)}const Te=Ci(N(),me=>me.id<te.id);F(Te)}}),U({id:"session.redo",title:i.t("command.session.redo"),description:i.t("command.session.redo.description"),slash:"redo",disabled:!p.id||!b()?.revert?.messageID,onSelect:async()=>{const Y=p.id;if(!Y)return;const ge=b()?.revert?.messageID;if(!ge)return;const te=N().find(Te=>Te.id>ge);if(!te){await l.client.session.unrevert({sessionID:Y}),c.reset();const Te=Ci(N(),me=>me.id>=ge);F(Te);return}await l.client.session.revert({sessionID:Y,messageID:te.id});const Re=Ci(N(),Te=>Te.id<te.id);F(Re)}}),U({id:"session.compact",title:i.t("command.session.compact"),description:i.t("command.session.compact.description"),slash:"compact",disabled:!p.id||B().length===0,onSelect:async()=>{const Y=p.id;if(!Y)return;const ge=o.model.current();if(!ge){at({title:i.t("toast.model.none.title"),description:i.t("toast.model.none.description")});return}await l.client.session.summarize({sessionID:Y,modelID:ge.id,providerID:ge.provider.id})}}),U({id:"session.fork",title:i.t("command.session.fork"),description:i.t("command.session.fork.description"),slash:"fork",disabled:!p.id||B().length===0,onSelect:()=>{un(()=>import("./dialog-fork-B_U9B5sC.js"),__vite__mapDeps([20,1,2,5,11,12,8,13])).then(Y=>{n.show(()=>s(Y.DialogFork,{}))})}}),...H]})},So=e=>{const n=(e.startsWith("#")?e.slice(1):e).match(/^message-(.+)$/);if(n)return n[1]},g5=e=>{const t=_(()=>e.visibleUserMessages()),n=_(()=>new Map(t().map(m=>[m.id,m]))),r=_(()=>new Map(t().map((m,$)=>[m.id,$])));let i="",o=!1;const a=qc(),c=Sr(),l=new Set,u=m=>{const $=requestAnimationFrame(()=>{l.delete($),m()});l.add($)},g=()=>{for(const m of l)cancelAnimationFrame(m);l.clear()},f=()=>{g(),e.consumePendingMessage(e.sessionKey()),e.pendingMessage()&&e.setPendingMessage(void 0),a.hash&&(o=!0,c(a.pathname+a.search,{replace:!0}))},h=m=>{const $=`#${e.anchor(m)}`;a.hash!==$&&(o=!1,c(a.pathname+a.search+$,{replace:!0}))},p=(m,$)=>{const w=e.scroller();if(!w)return!1;const y=m.getBoundingClientRect(),S=w.getBoundingClientRect(),C=w.querySelector("[data-session-title]"),A=C instanceof HTMLElement?C.offsetHeight:0,R=Math.max(0,y.top-S.top+w.scrollTop-A);return w.scrollTo({top:R,behavior:$}),!0},x=(m,$,w=4)=>{const y=document.getElementById(e.anchor(m));return y?p(y,$):(w<=0||u(()=>{x(m,$,w-1)}),!1)},v=(m,$="smooth")=>{g(),e.currentMessageId()!==m.id&&e.setActiveMessage(m);const w=r().get(m.id)??-1;if(w!==-1&&w<e.turnStart()){e.setTurnStart(w),u(()=>{x(m.id,$)}),h(m.id);return}if(x(m.id,$)){h(m.id);return}h(m.id)},b=m=>{const $=a.hash.slice(1);if(!$){e.autoScroll.forceScrollToBottom();const C=e.scroller();C&&e.scheduleScrollState(C);return}const w=So($);if(w){e.autoScroll.pause();const C=n().get(w);if(C){v(C,m);return}return}const y=document.getElementById($);if(y){e.autoScroll.pause(),p(y,m);return}e.autoScroll.forceScrollToBottom();const S=e.scroller();S&&e.scheduleScrollState(S)};return xe(()=>{a.hash||(o=!1),!(!e.sessionID()||!e.messagesReady())&&(g(),u(()=>b("auto")))}),xe(()=>{if(!e.sessionID()||!e.messagesReady())return;t(),e.turnStart();let m=e.pendingMessage();if(!m){const y=e.sessionKey();if(i!==y){i=y;const S=e.consumePendingMessage(y);S&&(e.setPendingMessage(S),m=S)}}if(!m&&!o&&(m=So(a.hash)),!m)return;const $=e.pendingMessage()===m,w=n().get(m);w&&($&&e.setPendingMessage(void 0),!(e.currentMessageId()===m&&!$)&&(e.autoScroll.pause(),g(),u(()=>v(w,"auto"))))}),xe(()=>{const m=e.sessionID();if(!m||!e.messagesReady())return;t();let $=e.pendingMessage();!$&&!o&&($=So(a.hash)),$&&(n().has($)||!e.historyMore()||e.historyLoading()||e.loadMore(m))}),Xt(()=>{typeof window<"u"&&"scrollRestoration"in window.history&&(window.history.scrollRestoration="manual")}),rt(g),{clearMessageHash:f,scrollToMessage:v,applyHash:b}};var m5=k('<div class="h-full pb-64 -mt-4 flex flex-col items-center justify-center text-center gap-6"><div class="text-14-regular text-text-weak max-w-56">'),h5=k("<div>"),p5=k('<div><div class="flex flex-col gap-3"><div class="text-14-medium text-text-strong"></div><div class="text-14-regular text-text-base max-w-md"style=line-height:var(--line-height-normal)>'),v5=k('<div><div class="text-14-regular text-text-weak max-w-56">'),x5=k('<div class="flex flex-col h-full overflow-hidden bg-background-stronger contain-strict"><div class="relative pt-2 flex-1 min-h-0 overflow-hidden">'),b5=k('<div class="flex-1 h-full flex items-center justify-center text-text-weaker text-12-regular">Deployment info coming soon'),$c=k('<span class="max-w-[160px] truncate">'),y5=k('<div class="h-full flex items-center">'),w5=k('<div class="absolute left-0 top-0 bottom-0 z-10 -translate-x-1/2">'),$5=k('<div class="flex items-center px-2 h-full bg-transparent rounded-t-xl">'),k5=k('<div class="ml-3 border-l border-border-weaker-base rounded-xl"><div id=chat-panel class="@container relative shrink-0 flex flex-col h-full min-h-0 bg-background-stronger rounded-xl border border-border-weaker-base"><div class="flex-1 min-h-0 overflow-hidden">'),C5=k('<div class="relative bg-transparent size-full overflow-hidden flex flex-col"><div class="flex-1 min-h-0 flex flex-col md:flex-row bg-transparent"><div class="flex-1 min-w-0 min-h-0 flex flex-col">'),_5=k('<div data-component=tabs-drag-preview class="h-full flex items-center">'),S5=k('<div class="mx-4 mb-2 px-3 py-1.5 rounded-lg border border-border-warning/40 bg-surface-warning/10 flex items-center gap-2"><div class="size-2 rounded-full bg-text-warning animate-pulse"></div><span class="text-12-medium text-text-warning">Plan Mode Active</span><div class=flex-1>'),T5=k('<div class="px-4 pb-3 flex flex-col gap-1.5 border-t border-border-warning/20 pt-2">'),A5=k('<div class="px-4 pb-3 flex items-center gap-2 border-t border-border-warning/20 pt-2"><input type=text placeholder="Rejection reason (optional)..."class="flex-1 px-2 py-1 rounded-md bg-background-base border border-border-base text-13-regular text-text-base placeholder:text-text-weaker outline-none focus:border-border-strong-base">'),D5=k('<div class="mx-4 mb-2 rounded-xl border border-border-warning/50 bg-surface-warning/5 overflow-hidden"><div class="px-4 py-3 flex items-center gap-3"><div class="flex-1 min-w-0"><div class="text-13-medium text-text-strong"></div><div class="text-11-regular text-text-weak"> operation'),I5=k("<span class=text-text-weak>"),L5=k('<span class="text-text-weak font-mono">'),M5=k('<span class="text-text-weaker truncate flex-1">'),E5=k('<div class="flex items-center gap-2 px-2 py-1 rounded-md bg-background-base/50 text-12-regular"><span class="text-text-info font-mono">');const jo=[],kc=[],P5=new Set(["write","edit","apply_patch"]);function Cc(e){if(e.type!=="tool"||!P5.has(e.tool)||e.state.status!=="completed")return;const t=e.state.metadata??{},n=e.state.input??{};if(e.tool==="apply_patch"){const r=t.files;return Array.isArray(r)?r.flatMap(o=>{if(typeof o!="object"||!o)return[];if(("type"in o&&typeof o.type=="string"?o.type:void 0)==="delete")return[];const c="relativePath"in o&&typeof o.relativePath=="string"?o.relativePath:void 0,l="movePath"in o&&typeof o.movePath=="string"?o.movePath:void 0,u="filePath"in o&&typeof o.filePath=="string"?o.filePath:void 0,g=c??l??u;return g?[g]:[]}).at(-1):void 0}if(typeof n.filePath=="string")return n.filePath;if(typeof t.filepath=="string")return t.filepath}function R5(e){const[c,l]=et({turnID:void 0,turnStart:0,prefetchUntil:0,prefetchNoGrowth:0}),u=$=>$>10?$-10:0,g=_(()=>{const $=e.sessionID(),w=e.visibleUserMessages().length;return!$||w<=0?0:c.turnID!==$?u(w):c.turnStart<=0?0:c.turnStart>=w?u(w):c.turnStart}),f=$=>{const w=e.sessionID(),y=$>0?$:0;if(!w){l({turnID:void 0,turnStart:y});return}l({turnID:w,turnStart:y})},h=_(()=>{const $=e.visibleUserMessages(),w=g();return w<=0?$:$.slice(w)},jo,{equals:Ir}),p=$=>{const w=e.scroller();if(!w){$();return}const y=w.scrollTop,S=w.scrollHeight;$(),requestAnimationFrame(()=>{const C=w.scrollHeight-S;C&&(w.scrollTop=y+C)})},x=()=>{const $=g();if($<=0)return;const w=$-8,y=w>0?w:0;p(()=>f(y))},v=async()=>{const $=e.sessionID();if(!$)return;const w=g(),y=e.visibleUserMessages().length;let S=e.loaded();if(w>0&&f(0),!e.historyMore()||e.historyLoading())return;let C=y,A=0;for(;;){if(await e.loadMore($),e.sessionID()!==$)return;C=e.visibleUserMessages().length;const N=e.loaded(),B=N-S;if(A+=B,S=N,C>y||B<=0||!e.historyMore())break}if(A<=0||(c.prefetchNoGrowth&&l("prefetchNoGrowth",0),C-y<=0)||g()!==0)return;const V=Math.min(C,y+8);f(Math.max(0,C-V))},b=async $=>{const w=e.sessionID();if(!w||!e.historyMore()||e.historyLoading())return;if($?.prefetch){const T=Date.now();if(c.prefetchUntil>T||c.prefetchNoGrowth>=2)return;l("prefetchUntil",T+400)}const y=g(),S=e.visibleUserMessages().length,C=y<=0?S:h().length;let A=e.loaded(),R=0,V=0;for(;;){if(await e.loadMore(w),e.sessionID()!==w)return;const T=e.loaded(),E=T-A;if(R+=E,A=T,V=e.visibleUserMessages().length-S,V>0||E<=0||$?.prefetch||!e.historyMore())break}const N=e.visibleUserMessages().length;if($?.prefetch?l("prefetchNoGrowth",R>0?0:c.prefetchNoGrowth+1):R>0&&c.prefetchNoGrowth&&l("prefetchNoGrowth",0),R<=0||V<=0)return;if($?.prefetch){const T=g();p(()=>f(T+V));return}if(g()!==y)return;const B=h().length,O=Math.max(C,B),L=Math.min(N,O+8);p(()=>f(Math.max(0,N-L)))},m=()=>{if(!e.userScrolled())return;const $=e.scroller();if(!$||$.scrollTop>=200)return;const w=g();if(w>0){w<=16&&b({prefetch:!0}),x();return}b()};return xe(ft(e.sessionID,()=>{l({prefetchUntil:0,prefetchNoGrowth:0})},{defer:!0})),xe(ft(()=>[e.sessionID(),e.messagesReady()],([$,w])=>{!$||!w||f(u(e.visibleUserMessages().length))},{defer:!0})),{turnStart:g,setTurnStart:f,renderedUserMessages:h,loadAndReveal:v,onScrollerScroll:m}}function F5(){const e=As(),t=rr(),n=Pr(),r=In(),i=An(),o=zn(),a=At(),c=Jt(),l=Vo(),u=zr(),g=Ko(),f=Rr();Er();const h=Sr(),[p,x]=Wo(),{params:v,sessionKey:b,tabs:m,view:$}=ir(),w=_(()=>n.agent.current()?.name==="plan");xe(ft(()=>w(),(D,W)=>{D&&!W&&m().setActive("plan")},{defer:!0})),xe(()=>{Mn(()=>u.ready())&&(u.ready(),Mn(()=>{if(v.id||!u.ready())return;const D=p.prompt;D&&(u.set([{type:"text",content:D,start:0,end:D.length}],D.length),x({...p,prompt:void 0}))}))});const[y,S]=et({pendingMessage:void 0,reviewSnap:!1,scrollGesture:0,scroll:{overflow:!1,bottom:!0}}),C=v2(),A=_(()=>v.dir??""),R=_(()=>t.tabs(A)),[V,N]=et({creating:!1,activeDraggable:void 0}),[B,O,,L]=mr(hr.global("session-order",["session-order.v1"]),et({})),[T,E,,P]=mr(hr.global("session-open",["session-open.v1"]),et({})),j=_(()=>v.dir??"");xe(()=>{const D=j();D&&L()&&P()&&T[D]===void 0&&E(D,B[D]??(v.id?[v.id]:[]))}),xe(ft(()=>v.id,(D,W)=>{if(!D||W)return;const le=t.handoff.tabs();if(!le)return;if(Date.now()-le.at>6e4){t.handoff.clearTabs();return}if(le.id!==D||(t.handoff.clearTabs(),le.dir!==(v.dir??"")))return;const we=R().tabs();if(we.all.length===0&&!we.active)return;const Fe=m().tabs();if(Fe.all.length>0||Fe.active)return;const st=ne(we.all),Xe=we.active?Q(we.active):void 0;m().setAll(st),m().setActive(Xe&&st.includes(Xe)?Xe:st[0]),R().setAll([]),R().setActive(void 0)},{defer:!0}));const G=_(()=>(i.data.session??[]).filter(D=>!D.time?.archived&&!D.parentID).sort((D,W)=>(W.time.updated??W.time.created)-(D.time.updated??D.time.created))),q=_(()=>{const D=B[j()],W=G(),le=new Map(W.map(st=>[st.id,st])),we=D?.length?[...D.flatMap(st=>{const Xe=le.get(st);return Xe?(le.delete(st),[Xe]):[]}),...le.values()]:W,Fe=new Set(T[j()]??[]);return v.id&&Fe.add(v.id),Fe.size===0?[]:we.filter(st=>Fe.has(st.id))}),z=(D,W)=>{if(!L()||!P())return;const le=j();le&&(O(le,we=>{const Fe=we??[];return!W&&Fe.includes(D)?Fe:[D,...Fe.filter(st=>st!==D)]}),E(le,we=>{const Fe=we??[];return Fe.includes(D)?Fe:[...Fe,D]}))},F=(D,W)=>{if(!L())return;const le=j();if(!le)return;const we=q().map(Xe=>Xe.id),Fe=we.indexOf(D);if(Fe===-1||Fe===W)return;const st=we.slice();st.splice(W,0,st.splice(Fe,1)[0]),O(le,st)},Z=D=>{if(!P())return;const W=j();if(!W)return;const le=q().map(Xe=>Xe.id),we=le.indexOf(D),Fe=le.filter(Xe=>Xe!==D);if(E(W,Xe=>(Xe??[]).filter(It=>It!==D)),v.id!==D)return;const st=Fe[we-1]??Fe[we];if(st){h(`/${W}/session/${st}`);return}n.session.reset(),u.reset(),h(`/${W}/session`)},U=D=>{const W=ys(D);W&&N("activeDraggable",W)},se=D=>{const{draggable:W,droppable:le}=D;if(!W||!le)return;const we=$d(q().map(Fe=>Fe.id),W.id.toString(),le.id.toString());we!==void 0&&F(W.id.toString(),we)},he=()=>{N("activeDraggable",void 0)};xe(ft(()=>v.id,D=>{D&&z(D)},{defer:!0}));const ee=Qc("(min-width: 768px)"),oe=kd();let ae;xe(()=>{const D=ae;if(!D)return;const W=t.session.opened();ee()&&W&&requestAnimationFrame(()=>{ei(D,{opacity:[0,1],x:[20,0]},{type:"spring",stiffness:400,damping:30})})});const fe=_(()=>ee()&&$().reviewPanel.opened()),$e=_(()=>ee()&&t.fileTree.opened()),Me=_(()=>ee()&&!fe());function Q(D){return D.startsWith("file://")?r.tab(D):D}function ne(D){const W=new Set,le=[];for(const we of D){const Fe=Q(we);W.has(Fe)||(W.add(Fe),le.push(Fe))}return le}const re=()=>{$().reviewPanel.opened()||$().reviewPanel.open()},H=_(()=>v.id?i.session.get(v.id):void 0),Y=_(()=>v.id?i.data.session_diff[v.id]??[]:[]),ge=_(()=>Math.max(H()?.summary?.files??0,Y().length)),te=_(()=>ge()>0),Re=_(()=>ee()),Te=ci({tabs:m,pathFromTab:r.pathFromTab,normalizeTab:Q,review:Re,hasReview:te});Te.contextOpen,Te.openedTabs;const me=Te.activeTab,tt=Te.activeFileTab,Ae=_(()=>H()?.revert?.messageID),_e=_(()=>v.id?i.data.message[v.id]??[]:[]),Le=_(()=>{const D=v.id;return D?i.data.message[D]!==void 0:!0}),ke=_(()=>{const D=v.id;return D?i.session.history.more(D):!1}),Ge=_(()=>{const D=v.id;return D?i.session.history.loading(D):!1}),vt=_(()=>_e().filter(D=>D.role==="user"),jo,{equals:Ir}),Rt=_(()=>{const D=Ae();return D?vt().filter(W=>W.id<D):vt()},jo,{equals:Ir}),Pt=_(()=>Rt().at(-1));let St="",Tt=0,Ut=new Set;xe(ft(()=>[b(),Le()],([D,W])=>{if(D!==St&&(St=D,Tt=0,Ut=new Set),!(!W||Tt)){for(const le of _e())for(const we of i.data.part[le.id]??[])Cc(we)&&Ut.add(we.id);Tt=Date.now()}},{defer:!0})),xe(()=>{const D=tt();if(!D)return;const W=r.pathFromTab(D);W&&r.load(W)}),xe(()=>{if(!Tt)return;let D;for(const le of _e())for(const we of i.data.part[le.id]??[]){if(Ut.has(we.id))continue;Ut.add(we.id);const Fe=Cc(we);if(!Fe||we.type!=="tool")continue;const st="time"in we.state&&"end"in we.state.time?we.state.time.end:void 0;typeof st=="number"&&st<Tt||(D=Fe)}if(!D)return;r.load(D);const W=p.view;if(W==="code"){re();const le=r.tab(D);m().open(le),m().setActive(le);return}No.request(`file:${D}`),W!=="graph"&&x({...p,view:"graph"})}),xe(()=>{const D=c.event.listen(W=>{if(W.name!=="ui.navigate")return;const le=W.details.properties;le.sessionID&&le.sessionID!==v.id||sn(()=>{if(le.tab==="preview"&&re(),le.tab&&x({...p,view:le.tab}),le.filePath){const we=r.tab(le.filePath);m().open(we),m().setActive(we),le.tab!=="preview"&&p.view!=="preview"&&x({...p,view:void 0}),r.load(le.filePath)}})});rt(D)}),xe(()=>{const D=W=>{W.detail?.url&&x({...p,view:"browser"})};window.addEventListener(za,D),rt(()=>window.removeEventListener(za,D))}),xe(ft(()=>Pt()?.id,()=>{const D=Pt();D&&cy(n,D)})),xe(ft(()=>[b(),ee()?$e()||fe()&&me()==="review":ye.mobileTab==="changes"],([D,W])=>{if(Ot!==void 0&&cancelAnimationFrame(Ot),$t!==void 0&&window.clearTimeout($t),Ot=void 0,$t=void 0,!W)return;const le=v.id;le&&Mn(()=>i.data.session_diff[le]!==void 0)&&(Ot=requestAnimationFrame(()=>{Ot=void 0,$t=window.setTimeout(()=>{$t=void 0,b()===D&&i.session.diff(le,{force:!0})},0)}))},{defer:!0}));const[ye,Ze]=et({messageId:void 0,mobileTab:"session",changes:"session",newSessionWorktree:"main",deferRender:!1}),[Pe,Be]=mr(hr.workspace(c.directory,"followup",["followup.v1"]),et({items:{},failed:{},paused:{},edit:{}}));Oa(D=>{const W=b();return W!==D&&(Ze("deferRender",!0),requestAnimationFrame(()=>{setTimeout(()=>Ze("deferRender",!1),0)})),W},b());let Ft,qt,Nt,Gt,Ht,Ot,$t;Oa(D=>{const W=fe();return D===void 0||D===W||(Ft!==void 0&&cancelAnimationFrame(Ft),S("reviewSnap",!0),Ft=requestAnimationFrame(()=>{Ft=void 0,S("reviewSnap",!1)})),W},fe());const nn=_(()=>Pt()?.summary?.diffs??[]),en=_(()=>ye.changes==="session"?Y():nn()),Wt=_(()=>{if(ye.newSessionWorktree==="create")return"create";const D=i.project;return D&&c.directory!==D.worktree?c.directory:"main"}),Pn=D=>{ar=pn,Ze("messageId",D?.id)},an=D=>`message-${D}`,Zn=()=>{const D=Vt;if(!D)return ye.messageId;const W=D.getBoundingClientRect(),le=W.top+100,we=[...D.querySelectorAll("[data-message-id]")].map(It=>{const yr=It.dataset.messageId;if(!yr)return;const fi=It.getBoundingClientRect();return{id:yr,top:fi.top,bottom:fi.bottom}}).filter(It=>!!It),Fe=we.filter(It=>It.bottom>W.top&&It.top<W.bottom),st=Fe.find(It=>It.top<=le&&It.bottom>=le);if(st)return st.id;const Xe=[...Fe].sort((It,yr)=>{const fi=Math.abs(It.top-le),Aa=Math.abs(yr.top-le);return fi!==Aa?fi-Aa:It.top-yr.top})[0];return Xe?Xe.id:we.filter(It=>It.top<=le).at(-1)?.id??we[0]?.id??ye.messageId};function wn(D){const W=Rt();if(W.length===0)return;const le=ye.messageId&&ar===pn?ye.messageId:Zn(),we=le?W.findIndex(Xe=>Xe.id===le):W.length,st=(we===-1?W.length:we)+D;if(!(st<0||st>W.length)){if(st===W.length){xr();return}Ye.pause(),pf(W[st],"auto")}}const Ln=_(()=>{const D=v.id;return!D||!te()?!0:i.data.session_diff[D]!==void 0}),sr=_(()=>{const D=i.project;return D&&!D.vcs?"session.review.noVcs":i.data.config.snapshot===!1?"session.review.noSnapshot":"session.review.empty"});function Nn(D){const W=e.data.project;i.set("project",D.id);const le=W.findIndex(Fe=>Fe.id===D.id);if(le>=0){e.set("project",W.map((Fe,st)=>st===le?{...Fe,...D}:Fe));return}const we=W.findIndex(Fe=>Fe.id>D.id);if(we>=0){e.set("project",[...W.slice(0,we),D,...W.slice(we)]);return}e.set("project",[...W,D])}const dn=gr(()=>({mutationFn:()=>c.client.project.initGit(),onSuccess:D=>{D.data&&Nn(D.data)},onError:D=>{at({variant:"error",title:a.t("common.requestFailed"),description:pr(D,a.t)})}}));function Qn(){dn.isPending||dn.mutate()}let hn,Jn,tn=0,Vt,or,pn=0,ar=0;const Bn=250,qn=D=>{const W=Vt;if(!W)return;const we=(D instanceof Element?D:void 0)?.closest("[data-scrollable]");we&&we!==W||S("scrollGesture",Date.now())},er=()=>Date.now()-y.scrollGesture<Bn;xe(ft([()=>c.directory,()=>v.id],([,D])=>{if(qt!==void 0&&cancelAnimationFrame(qt),Nt!==void 0&&window.clearTimeout(Nt),qt=void 0,Nt=void 0,!D)return;const le=Mn(()=>i.data.message[D]!==void 0)?(()=>{const we=Ig(c.directory,D);return we?Date.now()-we.at>Lg:!0})():!1;Mn(()=>{i.session.sync(D)}),qt=requestAnimationFrame(()=>{qt=void 0,Nt=window.setTimeout(()=>{Nt=void 0,v.id===D&&Mn(()=>{le&&i.session.sync(D,{force:!0})})},0)})})),xe(ft(()=>{const D=v.id;return[c.directory,D,D?i.data.session_status[D]?.type??"idle":"idle",D?C.blocked():!1]},([D,W,le,we])=>{if(Gt!==void 0&&cancelAnimationFrame(Gt),Ht!==void 0&&window.clearTimeout(Ht),Gt=void 0,Ht=void 0,!W||le==="idle"&&!we)return;const Fe=Mn(()=>i.data.todo[W]!==void 0||e.data.session_todo[W]!==void 0);Gt=requestAnimationFrame(()=>{Gt=void 0,Ht=window.setTimeout(()=>{Ht=void 0,!(c.directory!==D||v.id!==W)&&Mn(()=>{i.session.todo(W,Fe?{force:!0}:void 0)})},0)})},{defer:!0})),xe(ft(()=>Rt().at(-1)?.id,(D,W)=>{D&&W&&D>W&&Ze("messageId",void 0)},{defer:!0})),xe(ft(b,()=>{Ze("messageId",void 0),Ze("changes","session"),S("pendingMessage",void 0)},{defer:!0})),xe(ft(()=>v.dir,D=>{D&&Ze("newSessionWorktree","main")},{defer:!0}));const Hn=(D,W)=>{const le=r.get(D)?.content?.content;if(le)return Os(le,{start:W.startLine,end:W.endLine})},Dr=D=>{const W=ni(D.selection),le=D.preview??Hn(D.file,W),we=g.add({file:D.file,selection:D.selection,comment:D.comment});u.context.add({type:"file",path:D.file,selection:W,comment:D.comment,commentID:we.id,commentOrigin:D.origin,preview:le})},vr=D=>{g.update(D.file,D.id,D.comment),u.context.updateComment(D.file,D.id,{comment:D.comment,...D.preview?{preview:D.preview}:{}})},K=D=>{g.remove(D.file,D.id),u.context.removeComment(D.file,D.id)},pe=_(()=>({moreLabel:a.t("common.moreOptions"),editLabel:a.t("common.edit"),deleteLabel:a.t("common.delete"),saveLabel:a.t("common.save")})),qe=D=>D instanceof HTMLElement?/^(INPUT|TEXTAREA|SELECT|BUTTON)$/.test(D.tagName)||D.isContentEditable:!1,J=()=>{let D=document.activeElement;for(;D instanceof HTMLElement&&D.shadowRoot?.activeElement;)D=D.shadowRoot.activeElement;return D instanceof HTMLElement?D:void 0},de=D=>{const W=D.composedPath(),le=W.find(st=>st instanceof HTMLElement),we=J();if(!(W.some(st=>st instanceof HTMLElement&&st.closest("[data-prevent-autofocus]")!==null)||qe(le))){if(we){const st=we.closest("[data-prevent-autofocus]"),Xe=qe(we);if(st||Xe)return}if(!o.active){if(we===hn){D.key==="Escape"&&hn?.blur();return}if($().terminal.opened()){const st=f.active();if(st&&Nh(D)&&Zr(st))return}if(D.key==="PageUp"||D.key==="PageDown"||D.key==="Home"||D.key==="End"){qn();return}if(D.key.length===1&&D.key!=="Unidentified"&&!(D.ctrlKey||D.metaKey)){if(C.blocked())return;hn?.focus()}}}},Ie=_(()=>!ee()&&ye.mobileTab==="changes"),Ee=()=>t.fileTree.tab(),je=D=>t.fileTree.setTab(D),[Ue,lt]=et({reviewScroll:void 0,pendingDiff:void 0,activeDiff:void 0});xe(ft(b,()=>{lt({reviewScroll:void 0,pendingDiff:void 0,activeDiff:void 0})},{defer:!0}));const xt=()=>{Ee()==="changes"&&je("all")};f5({navigateMessageByOffset:wn,setActiveMessage:Pn,focusInput:()=>hn?.focus(),review:Re});const dt=Bh({showAllFiles:xt,tabForPath:r.tab,openTab:m().open,setActive:m().setActive,loadFile:r.load}),Qe=[...["session","turn"]],it=()=>te()?s($s,{options:Qe,get current(){return ye.changes},label:D=>D==="session"?a.t("ui.sessionReview.title"):a.t("ui.sessionReview.title.lastTurn"),onSelect:D=>D&&Ze("changes",D),variant:"ghost",size:"small",valueClass:"text-14-medium"}):null,wt=()=>(()=>{var D=m5(),W=D.firstChild;return d(W,()=>a.t("session.review.noChanges")),D})(),be=D=>ye.changes==="turn"?wt():te()&&!Ln()?(()=>{var W=h5();return d(W,()=>a.t("session.review.loadingChanges")),ie(()=>zt(W,D.loadingClass)),W})():sr()==="session.review.noVcs"?(()=>{var W=p5(),le=W.firstChild,we=le.firstChild,Fe=we.nextSibling;return d(we,()=>a.t("session.review.noVcs.createGit.title")),d(Fe,()=>a.t("session.review.noVcs.createGit.description")),d(W,s(ot,{size:"large",get disabled(){return dn.isPending},onClick:Qn,get children(){return Ce(()=>!!dn.isPending)()?a.t("session.review.noVcs.createGit.actionLoading"):a.t("session.review.noVcs.createGit.action")}}),null),ie(()=>zt(W,D.emptyClass)),W})():(()=>{var W=v5(),le=W.firstChild;return d(le,()=>a.t(sr())),ie(()=>zt(W,D.emptyClass)),W})(),ct=D=>s(M,{get when(){return!ye.deferRender},get children(){return s(ly,{get title(){return it()},get empty(){return be(D)},diffs:en,view:$,get diffStyle(){return D.diffStyle},get onDiffStyleChange(){return D.onDiffStyleChange},onScrollRef:W=>lt("reviewScroll",W),get focusedFile(){return Ue.activeDiff},onLineComment:W=>Dr({...W,origin:"review"}),onLineCommentUpdate:vr,onLineCommentDelete:K,get lineCommentActions(){return pe()},get comments(){return g.all()},get focusedComment(){return g.focus()},get onFocusedCommentChange(){return g.setFocus},onViewFile:dt,get classes(){return D.classes}})}}),I=()=>(()=>{var D=x5(),W=D.firstChild;return d(W,()=>ct({diffStyle:t.review.diffStyle(),onDiffStyleChange:t.review.setDiffStyle,loadingClass:"px-6 py-4 text-text-weak",emptyClass:"h-full pb-64 -mt-4 flex flex-col items-center justify-center text-center gap-6"})),D})(),X=_(()=>v.id?i.data.todo[v.id]:void 0);xe(()=>{w()&&v.id&&i.session.todo(v.id)});const ce=()=>s(W$,{}),Se=()=>s(U$,{get todos(){return X()}}),He=()=>s(G$,{}),nt=()=>b5();xe(ft(tt,D=>{D&&Ee()==="changes"&&xt()},{defer:!0}));const ut=D=>{const W=Ms(D);if(W)return`session-review-diff-${W}`},Ct=D=>{const W=Ue.reviewScroll;if(!W)return;const le=ut(D);if(!le)return;const we=document.getElementById(le);if(!(we instanceof HTMLElement)||!W.contains(we))return;const Fe=we.getBoundingClientRect(),st=W.getBoundingClientRect();return Fe.top-st.top+W.scrollTop},Dt=D=>{const W=Ue.reviewScroll;if(!W)return!1;const le=Ct(D);return le===void 0?!1:($().setScroll("review",{x:W.scrollLeft,y:le}),W.scrollTo({top:le,behavior:"auto"}),!0)},We=D=>{re(),$().review.openPath(D),lt({activeDiff:D,pendingDiff:D})};xe(()=>{const D=Ue.pendingDiff;if(!D||!Ue.reviewScroll||!Ln())return;const W=le=>{if(Ue.pendingDiff!==D)return;if(le>60){lt("pendingDiff",void 0);return}const we=Ue.reviewScroll;if(!we){requestAnimationFrame(()=>W(le+1));return}if(!Dt(D)){requestAnimationFrame(()=>W(le+1));return}const Fe=Ct(D);if(Fe===void 0){requestAnimationFrame(()=>W(le+1));return}if(Math.abs(we.scrollTop-Fe)<=1){lt("pendingDiff",void 0);return}requestAnimationFrame(()=>W(le+1))};requestAnimationFrame(()=>W(0))}),xe(()=>{const D=v.id;!D||!(ee()?$e()||fe()&&me()==="review":ye.mobileTab==="changes")||i.data.session_diff[D]===void 0&&i.status!=="loading"&&i.session.diff(D)}),xe(ft(()=>[b(),ee()?$e()||fe()&&me()==="review":ye.mobileTab==="changes"],([D,W])=>{if(Ot!==void 0&&cancelAnimationFrame(Ot),$t!==void 0&&window.clearTimeout($t),Ot=void 0,$t=void 0,!W)return;const le=v.id;le&&Mn(()=>i.data.session_diff[le]!==void 0)&&(Ot=requestAnimationFrame(()=>{Ot=void 0,$t=window.setTimeout(()=>{$t=void 0,b()===D&&i.session.diff(le,{force:!0})},0)}))},{defer:!0}));let yt;xe(()=>{const D=c.directory;if(!ee()||!t.fileTree.opened()||i.status==="loading")return;Ee();const W=yt!==D;yt=D,W?r.tree.refresh(""):r.tree.list("")}),xe(ft(()=>c.directory,()=>{const D=tt();if(!D)return;const W=r.pathFromTab(D);W&&r.load(W,{force:!0})},{defer:!0}));const Ye=ld({working:()=>!0,overflowAnchor:"dynamic"});let fn,Bt,Kt;const jn=D=>{const W=D.scrollHeight-D.clientHeight,le=W>1,we=!le||D.scrollTop>=W-2;y.scroll.overflow===le&&y.scroll.bottom===we||S("scroll",{overflow:le,bottom:we})},lr=D=>{Bt=D,fn===void 0&&(fn=requestAnimationFrame(()=>{fn=void 0;const W=Bt;Bt=void 0,W&&jn(W)}))},xr=()=>{Ze("messageId",void 0),Ye.forceScrollToBottom(),Sa();const D=Vt;D&&lr(D)};xe(ft(Ye.userScrolled,D=>{D||(Ze("messageId",void 0),Sa())},{defer:!0}));let br=()=>{};const Bi=D=>{Vt=D,Ye.scrollRef(D),D&&(lr(D),br())},Xu=()=>{pn+=1};ws(()=>or,()=>{const D=Vt;D&&lr(D),br()});const cr=R5({sessionID:()=>v.id,messagesReady:Le,loaded:()=>_e().length,visibleUserMessages:Rt,historyMore:ke,historyLoading:Ge,loadMore:D=>i.session.history.loadMore(D),userScrolled:Ye.userScrolled,scroller:()=>Vt});br=()=>{Kt===void 0&&(Kt=requestAnimationFrame(()=>{if(Kt=void 0,!v.id||!Le()||Ye.userScrolled()||Ge())return;const D=Vt;D&&(D.scrollHeight>D.clientHeight+1||cr.turnStart()<=0&&!ke()||cr.loadAndReveal())}))},xe(ft(()=>[v.id,Le(),cr.turnStart(),ke(),Ge(),Ye.userScrolled(),Rt().length],([D,W,le,we,Fe,st])=>{!D||!W||Fe||st||le<=0&&!we||br()},{defer:!0}));const Ys=D=>Yu(i.data.part[D]??[],{directory:c.directory,attachmentName:a.t("common.attachment")}),Zu=D=>{const W=Ys(D).map(le=>le.type==="image"?`[image:${le.filename}]`:le.content).join("").replace(/\s+/g," ").trim();return W||`[${a.t("common.attachment")}]`},Xs=D=>{at({variant:"error",title:a.t("common.requestFailed"),description:pr(D,a.t)})},Zs=D=>i.set("session",W=>{const le=W.findIndex(Fe=>Fe.id===D.id);if(le<0)return[...W,D].sort((Fe,st)=>Fe.id<st.id?-1:Fe.id>st.id?1:0);const we=W.slice();return we[le]=D,we}),qi=(D,W)=>i.set("session",le=>{const we=le.findIndex(st=>st.id===D);if(we<0)return le;const Fe=le.slice();return Fe[we]={...Fe[we],revert:W},Fe}),Hi=D=>(i.data.session_status[D]??{type:"idle"}).type!=="idle"?!0:(i.data.message[D]??[]).some(W=>W.role==="assistant"&&typeof W.time.completed!="number"),Qs=_(()=>{const D=v.id;return D?Pe.items[D]??kc:kc}),Qu=_(()=>{const D=v.id;if(D)return Pe.edit[D]}),ji=gr(()=>({mutationFn:async D=>{const W=(Pe.items[D.sessionID]??[]).find(we=>we.id===D.id);!W||(D.manual&&Be("paused",D.sessionID,void 0),Be("failed",D.sessionID,void 0),!await Md({client:c.client,sync:i,globalSync:e,draft:W,optimisticBusy:W.sessionDirectory===c.directory}).catch(we=>(Be("failed",D.sessionID,D.id),Xs(we),!1)))||(Be("items",D.sessionID,we=>(we??[]).filter(Fe=>Fe.id!==D.id)),D.manual&&xr())}})),Wi=D=>ji.isPending&&ji.variables?.sessionID===D,Ju=_(()=>{const D=v.id;if(D&&Wi(D))return ji.variables?.id}),ef=_(()=>{const D=v.id;return D?l.general.followup()==="queue"&&Hi(D)&&!C.blocked():!1}),tf=D=>{const W=D.prompt.map(le=>le.type==="image"?`[image:${le.filename}]`:le.type==="file"?`[file:${le.path}]`:le.type==="agent"?`@${le.name}`:le.content).join("").split(/\r?\n/).map(le=>le.trim()).find(le=>!!le);return W||`[${a.t("common.attachment")}]`},nf=D=>{Be("items",D.sessionID,W=>[...W??[],{id:kn.ascending("message"),...D}]),Be("failed",D.sessionID,void 0),Be("paused",D.sessionID,void 0)},rf=_(()=>Qs().map(D=>({id:D.id,text:tf(D)}))),wa=(D,W,le)=>!(Pe.items[D]??[]).find(Fe=>Fe.id===W)||Wi(D)?Promise.resolve():ji.mutateAsync({sessionID:D,id:W,manual:le?.manual}),sf=D=>{const W=v.id;if(!W||Wi(W))return;const le=Qs().find(we=>we.id===D);le&&(Be("items",W,we=>(we??[]).filter(Fe=>Fe.id!==D)),Be("failed",W,we=>we===D?void 0:we),Be("edit",W,{id:le.id,prompt:le.prompt,context:le.context}))},of=()=>{const D=v.id;D&&Be("edit",D,void 0)},Js=D=>Hi(D)?c.client.session.abort({sessionID:D}).catch(()=>{}):Promise.resolve(),$a=gr(()=>({mutationFn:async D=>{const W=u.current().slice(),le=H()?.revert,we=Ys(D.messageID);sn(()=>{qi(D.sessionID,{messageID:D.messageID}),u.set(we)}),await Js(D.sessionID).then(()=>c.client.session.revert(D)).then(Fe=>{Fe.data&&Zs(Fe.data)}).catch(Fe=>{sn(()=>{qi(D.sessionID,le),u.set(W)}),Xs(Fe)})}})),Ui=gr(()=>({mutationFn:async D=>{const W=v.id;if(!W)return;const le=vt().find(Xe=>Xe.id>D),we=u.current().slice(),Fe=H()?.revert;sn(()=>{if(qi(W,le?{messageID:le.id}:void 0),le){u.set(Ys(le.id));return}u.reset()}),await(le?Js(W).then(()=>c.client.session.revert({sessionID:W,messageID:le.id})):Js(W).then(()=>c.client.session.unrevert({sessionID:W}))).then(Xe=>{Xe.data&&Zs(Xe.data)}).catch(Xe=>{sn(()=>{qi(W,Fe),u.set(we)}),Xs(Xe)})}})),Gi=_(()=>$a.isPending||Ui.isPending),af=_(()=>Ui.isPending?Ui.variables:void 0),ka=D=>{if(!Gi())return $a.mutateAsync(D)},lf=D=>{if(!(!v.id||Gi()))return Ui.mutateAsync(D)},Ca=_(()=>{const D=Ae();return D?vt().filter(W=>W.id>=D).map(W=>({id:W.id,text:Zu(W.id)})):[]}),cf={revert:ka},[df,uf]=De(void 0),_a=_(()=>{const D=v.id;return D?Hi(D)?[]:nn():[]}),ff=_(()=>{if(_a().length===0)return!1;const W=Pt();return W?df()!==W.id:!1}),gf=()=>{const D=Pt()?.id;D&&uf(D)},mf=()=>{const D=v.id;if(!D)return;const W=Pt()?.id;W&&ka({sessionID:D,messageID:W})},hf=()=>{x({...p,view:"review"})};xe(()=>{const D=v.id;if(!D)return;const W=Qs()[0];W&&(Wi(D)||Pe.failed[D]!==W.id&&(Pe.paused[D]||C.blocked()||Hi(D)||wa(D,W.id)))}),ws(()=>Jn,({height:D})=>{const W=Math.ceil(D);if(W===tn)return;const le=Vt,we=W-tn,Fe=le?!Ye.userScrolled()||le.scrollHeight-le.clientHeight-le.scrollTop<10+Math.max(0,we):!1;tn=W,Fe&&Ye.forceScrollToBottom(),le&&lr(le),br()});const{clearMessageHash:Sa,scrollToMessage:pf}=g5({sessionKey:b,sessionID:()=>v.id,messagesReady:Le,visibleUserMessages:Rt,historyMore:ke,historyLoading:Ge,loadMore:D=>i.session.history.loadMore(D),turnStart:cr.turnStart,currentMessageId:()=>ye.messageId,pendingMessage:()=>y.pendingMessage,setPendingMessage:D=>S("pendingMessage",D),setActiveMessage:Pn,setTurnStart:cr.setTurnStart,autoScroll:Ye,scroller:()=>Vt,anchor:an,scheduleScrollState:lr,consumePendingMessage:t.pendingMessage.consume});xe(ft(()=>v.id,D=>{D||requestAnimationFrame(()=>hn?.focus())})),Xt(()=>{document.addEventListener("keydown",de)}),rt(()=>{document.removeEventListener("keydown",de),Ft!==void 0&&cancelAnimationFrame(Ft),qt!==void 0&&cancelAnimationFrame(qt),Nt!==void 0&&window.clearTimeout(Nt),Gt!==void 0&&cancelAnimationFrame(Gt),Ht!==void 0&&window.clearTimeout(Ht),Ot!==void 0&&cancelAnimationFrame(Ot),$t!==void 0&&window.clearTimeout($t),fn!==void 0&&cancelAnimationFrame(fn),Kt!==void 0&&cancelAnimationFrame(Kt)}),xe(()=>{const D=p.new,W=v.dir;if(D!=="1"||v.id||V.creating||!W)return;const le={...p,new:void 0};N("creating",!0),c.client.session.create().then(we=>we.data??void 0).then(we=>{we&&(v.id||v.dir!==W||(Zs(we),z(we.id,!0),n.session.promote(c.directory,we.id),h(`/${W}/session/${we.id}`,{replace:!0})))}).catch(we=>{at({variant:"error",title:a.t("prompt.toast.sessionCreateFailed.title"),description:pr(we,a.t)})}).finally(()=>{N("creating",!1),!(v.dir!==W||p.new!=="1")&&x(le)})});function Ta(D){return(()=>{var W=$c();return d(W,()=>D.session.title||D.session.id.slice(0,8)),W})()}function vf(D){const W=Es(D.session.id);return(()=>{var le=y5();return mt(W,le,()=>!0),d(le,s(ln.Trigger,{get value(){return D.session.id},get closeButton(){return s(on,{placement:"bottom",get value(){return a.t("common.closeTab")},get children(){return s(pt,{icon:"close-small",variant:"ghost",class:"h-5 w-5",onClick:we=>{we.stopPropagation(),Z(D.session.id)},get"aria-label"(){return a.t("common.closeTab")}})}})},hideCloseButton:!0,onMiddleClick:()=>Z(D.session.id),get children(){return s(Ta,{get session(){return D.session}})}})),ie(()=>le.classList.toggle("opacity-0",!!W.isActiveDraggable)),le})()}return(()=>{var D=C5(),W=D.firstChild,le=W.firstChild;return d(D,s(rh,{}),W),d(W,s(M,{get when(){return Ce(()=>!ee())()&&!!v.id},get children(){return s(ln,{get value(){return ye.mobileTab},class:"h-auto",get children(){return s(ln.List,{get children(){return[s(ln.Trigger,{value:"session",class:"!w-1/2 !max-w-none",classes:{button:"w-full"},onClick:()=>Ze("mobileTab","session"),get children(){return a.t("session.tab.session")}}),s(ln.Trigger,{value:"changes",class:"!w-1/2 !max-w-none !border-r-0",classes:{button:"w-full"},onClick:()=>Ze("mobileTab","changes"),get children(){return Ce(()=>!!te())()?a.t("session.review.filesChanged",{count:ge()}):a.t("session.review.change.other")}})]}})}})}}),le),d(le,s(QC,{reviewPanel:I,homePanel:ce,planPanel:Se,explorePanel:He,shipPanel:nt,get activeDiff(){return Ue.activeDiff},focusReviewDiff:We,get reviewSnap(){return y.reviewSnap},size:oe}),null),d(le,s(c5,{}),null),d(W,s(M,{get when(){return!ee()||t.session.opened()},get children(){var we=k5(),Fe=we.firstChild,st=Fe.firstChild;return mt(Xe=>{ae=Xe},we),d(Fe,s(M,{get when(){return ee()},get children(){var Xe=w5();return Xe.$$pointerdown=()=>oe.start(),d(Xe,s(Oi,{direction:"horizontal",edge:"start",get size(){return t.session.width()},min:320,get max(){return typeof window>"u"?800:window.innerWidth*.6},onResize:It=>{oe.touch(),t.session.resize(It)}})),Xe}}),st),d(Fe,s(M,{get when(){return Ce(()=>!!ee())()&&(q().length>0||!v.id)},get children(){return s(Li,{onDragStart:U,onDragEnd:he,onDragOver:se,collisionDetector:xs,get children(){return[s(Mi,{}),s(ea,{}),s(ln,{class:"h-auto",get value(){return v.id??"new"},onChange:Xe=>h(Xe==="new"?`/${v.dir}/session`:`/${v.dir}/session/${Xe}`),variant:"normal",get children(){return s(ln.List,{get children(){return[s(bs,{get ids(){return q().map(Xe=>Xe.id)},get children(){return s(ze,{get each(){return q()},children:Xe=>s(vf,{session:Xe})})}}),s(M,{get when(){return!v.id},get children(){return s(ln.Trigger,{value:"new",get children(){var Xe=$c();return d(Xe,()=>a.t("command.session.new")),Xe}})}}),(()=>{var Xe=$5();return Xe.$$click=It=>{It.stopPropagation()},Xe.$$mousedown=It=>{It.stopPropagation()},d(Xe,s(pt,{icon:"plus-small",variant:"ghost",iconSize:"large",class:"!rounded-md",onClick:It=>{if(It.stopPropagation(),!v.id){n.session.reset(),u.reset(),h(`/${v.dir}/session?new=1&t=${Date.now()}`,{replace:!0});return}h(`/${v.dir}/session?new=1`)},get"aria-label"(){return a.t("command.session.new")}})),Xe})()]}})}}),s(ta,{get children(){return s(M,{get when(){return V.activeDraggable},keyed:!0,children:Xe=>s(M,{get when(){return q().find(It=>It.id===Xe)},keyed:!0,children:It=>(()=>{var yr=_5();return d(yr,s(Ta,{session:It})),yr})()})})}})]}})}}),st),d(st,s(Qt,{get children(){return[s(Ve,{get when(){return v.id},get children(){return s(M,{get when(){return Le()},get children(){return s(xb,{get mobileChanges(){return Ie()},get mobileFallback(){return ct({diffStyle:"unified",classes:{root:"pb-8",header:"px-4",container:"px-4"},loadingClass:"px-4 py-4 text-text-weak",emptyClass:"h-full pb-64 -mt-4 flex flex-col items-center justify-center text-center gap-6"})},actions:cf,get scroll(){return y.scroll},onResumeScroll:xr,setScrollRef:Bi,onScheduleScrollState:lr,get onAutoScrollHandleScroll(){return Ye.handleScroll},onMarkScrollGesture:qn,hasScrollGesture:er,onUserScroll:Xu,get onTurnBackfillScroll(){return cr.onScrollerScroll},get onAutoScrollInteraction(){return Ye.handleInteraction},get centered(){return Me()},setContentRef:Xe=>{or=Xe,Ye.contentRef(Xe);const It=Vt;It&&lr(It)},get turnStart(){return cr.turnStart()},get historyMore(){return ke()},get historyLoading(){return Ge()},onLoadEarlier:()=>{cr.loadAndReveal()},get renderedUserMessages(){return cr.renderedUserMessages()},anchor:an})}})}}),s(Ve,{when:!0,get children(){return s(Kh,{get worktree(){return Wt()}})}})]}})),d(Fe,s(z5,{}),null),d(Fe,s(h2,{state:C,get ready(){return Ce(()=>!ye.deferRender)()&&Le()},get centered(){return Me()},inputRef:Xe=>{hn=Xe},get newSessionWorktree(){return Wt()},onNewSessionWorktreeReset:()=>Ze("newSessionWorktree","main"),onSubmit:()=>{g.clear(),xr()},onResponseSubmit:xr,get followup(){return Ce(()=>!!v.id)()?{queue:ef,items:rf(),sending:Ju(),edit:Qu(),onQueue:nf,onAbort:()=>{const Xe=v.id;Xe&&Be("paused",Xe,!0)},onSend:Xe=>{wa(v.id,Xe,{manual:!0})},onEdit:sf,onEditLoaded:of}:void 0},get revert(){return Ce(()=>Ca().length>0)()?{items:Ca(),restoring:af(),disabled:Gi(),onRestore:lf}:void 0},get changes(){return Ce(()=>!!ff())()?{files:_a(),rejecting:Gi(),onAccept:gf,onReject:mf,onReview:hf}:void 0},setPromptDockRef:Xe=>{Jn=Xe}}),null),ie(Xe=>Je(Fe,"width",ee()?`${t.session.width()}px`:"100%")),we}}),null),D})()}function z5(){const e=Qo(),[t,n]=De(!1),[r,i]=De(!1),[o,a]=De(""),[c,l]=De(!1),u=_(()=>e?.pendingPlan),g=_(()=>e?.planMode??!1),f=async()=>{l(!0),await e?.approvePlan(),l(!1),at({title:"Plan approved",variant:"success"})},h=async()=>{l(!0),await e?.rejectPlan(o()||void 0),l(!1),i(!1),a(""),at({title:"Plan rejected",variant:"default"})},p=async()=>{l(!0),await e?.cancelPlan(),l(!1)};return[s(M,{get when(){return Ce(()=>!!g())()&&!u()},get children(){var x=S5(),v=x.firstChild,b=v.nextSibling;return b.nextSibling,d(x,s(ot,{size:"small",variant:"ghost",onClick:p,get disabled(){return c()},children:"Cancel"}),null),x}}),s(M,{get when(){return u()?.status==="submitted"},children:x=>{const v=()=>u();return(()=>{var b=D5(),m=b.firstChild,$=m.firstChild,w=$.firstChild,y=w.nextSibling,S=y.firstChild;return d(m,s(Ne,{name:"alert-triangle",size:"small",class:"text-text-warning shrink-0"}),$),d(w,()=>v().title),d(y,()=>v().operations.length,S),d(y,()=>v().operations.length!==1?"s":"",null),d(y,(()=>{var C=Ce(()=>!!v().submittedAt);return()=>C()?` • submitted ${O5(v().submittedAt)}`:""})(),null),d(m,s(ot,{size:"small",variant:"ghost",onClick:()=>n(!t()),get children(){return t()?"Hide":"Details"}}),null),d(m,s(ot,{size:"small",variant:"ghost",onClick:f,get disabled(){return c()},children:"Approve"}),null),d(m,s(ot,{size:"small",variant:"ghost",onClick:()=>i(!0),get disabled(){return c()},children:"Reject"}),null),d(b,s(M,{get when(){return t()},get children(){var C=T5();return d(C,s(ze,{get each(){return v().operations},children:A=>(()=>{var R=E5(),V=R.firstChild;return d(V,()=>A.kind),d(R,s(M,{get when(){return A.entityType},get children(){var N=I5();return d(N,()=>A.entityType),N}}),null),d(R,s(M,{get when(){return A.entityId},get children(){var N=L5();return d(N,()=>A.entityId),N}}),null),d(R,s(M,{get when(){return A.description},get children(){var N=M5();return d(N,()=>A.description),N}}),null),R})()})),C}}),null),d(b,s(M,{get when(){return r()},get children(){var C=A5(),A=C.firstChild;return A.$$keydown=R=>R.key==="Enter"&&h(),A.$$input=R=>a(R.currentTarget.value),d(C,s(ot,{size:"small",variant:"ghost",onClick:h,get disabled(){return c()},children:"Confirm"}),null),d(C,s(pt,{icon:"close-small",variant:"ghost",onClick:()=>i(!1)}),null),ie(()=>A.value=o()),C}}),null),b})()}})]}function O5(e){const t=Date.now()-new Date(e).getTime();return t<6e4?"just now":t<36e5?`${Math.floor(t/6e4)}m ago`:t<864e5?`${Math.floor(t/36e5)}h ago`:`${Math.floor(t/864e5)}d ago`}Mt(["pointerdown","mousedown","click","input","keydown"]);const U5=Object.freeze(Object.defineProperty({__proto__:null,default:F5},Symbol.toStringTag,{value:"Module"}));export{ep as M,ci as c,Yu as e,U5 as s};
|