dimcode 0.0.6-beta.16 → 0.0.6-beta.18
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/gui/200.html +1 -1
- package/assets/gui/404.html +1 -1
- package/assets/gui/_nuxt/{DWWz4ndF.js → 2Qzd_Ca9.js} +1 -1
- package/assets/gui/_nuxt/{CtCaJz7N.js → 7O5Wx6cj.js} +1 -1
- package/assets/gui/_nuxt/{Bfj_mN6E.js → B1YsImAc.js} +1 -1
- package/assets/gui/_nuxt/{CjvcAzGt.js → B67UevNi.js} +1 -1
- package/assets/gui/_nuxt/{E7Ix3tcC.js → B76wJsuz.js} +4 -4
- package/assets/gui/_nuxt/B9dLxgtz.js +1 -0
- package/assets/gui/_nuxt/{B45VLnWj.js → BG-Fnb8M.js} +1 -1
- package/assets/gui/_nuxt/{D55D-gSq.js → BGN3790G.js} +1 -1
- package/assets/gui/_nuxt/{BoWMK5wq.js → BHPQDUOX.js} +1 -1
- package/assets/gui/_nuxt/{BvNUcNrD.js → BJ3XRzph.js} +1 -1
- package/assets/gui/_nuxt/{CC3G6jyE.js → BKN_KsLR.js} +1 -1
- package/assets/gui/_nuxt/{C7_OZRS0.js → BMCUX85Z.js} +1 -1
- package/assets/gui/_nuxt/{BNUt2BvU.js → BPEyVuf9.js} +1 -1
- package/assets/gui/_nuxt/{BSycTytT.js → BQAb9Gct.js} +1 -1
- package/assets/gui/_nuxt/{BGGDiT67.js → BQM3HhCB.js} +1 -1
- package/assets/gui/_nuxt/{Btu8KrP7.js → BR25j4ym.js} +1 -1
- package/assets/gui/_nuxt/{DqPo_RUe.js → BXUF3ore.js} +1 -1
- package/assets/gui/_nuxt/{tOohp15w.js → BbMz82_m.js} +1 -1
- package/assets/gui/_nuxt/BilgByQm.js +1 -0
- package/assets/gui/_nuxt/{grRL7Kp3.js → BnQpCUC2.js} +1 -1
- package/assets/gui/_nuxt/{ddcTOw__.js → Bt208WzD.js} +1 -1
- package/assets/gui/_nuxt/{D8IUtoH8.js → C-GR8ZLR.js} +1 -1
- package/assets/gui/_nuxt/{B1-PJYWH.js → CBj6Oq7V.js} +1 -1
- package/assets/gui/_nuxt/{fKF2Z4TD.js → CKuE4d1k.js} +1 -1
- package/assets/gui/_nuxt/{BxFaOjBs.js → CLEcNpS2.js} +1 -1
- package/assets/gui/_nuxt/{Bs7Gutnx.js → CLNwOIRk.js} +1 -1
- package/assets/gui/_nuxt/{B5FXSUaH.js → CMyEBEvE.js} +1 -1
- package/assets/gui/_nuxt/{CJ7-Mf84.js → CRuKKxxq.js} +1 -1
- package/assets/gui/_nuxt/{BW7XEYaa.js → CUFj2BAo.js} +1 -1
- package/assets/gui/_nuxt/{CwjAQDXm.js → Ckedut7g.js} +1 -1
- package/assets/gui/_nuxt/{B8Q-DreI.js → ClQRAdic.js} +1 -1
- package/assets/gui/_nuxt/{Cnj9yY3A.js → CrS2rTyy.js} +1 -1
- package/assets/gui/_nuxt/{BHTMZHSU.js → Cz3XJyk5.js} +1 -1
- package/assets/gui/_nuxt/{Bip_u-4G.js → D2hcr4_r.js} +1 -1
- package/assets/gui/_nuxt/{Br6oVHoE.js → D506BcAF.js} +1 -1
- package/assets/gui/_nuxt/{CS7inUdO.js → D7qX5RZ4.js} +1 -1
- package/assets/gui/_nuxt/{D_tP9lCL.js → DB1-EkWb.js} +1 -1
- package/assets/gui/_nuxt/DVG99gEH.js +1 -0
- package/assets/gui/_nuxt/{DHZk-SFG.js → DVPCgNgm.js} +1 -1
- package/assets/gui/_nuxt/{CWFL75Vj.js → DWQ6_Er_.js} +1 -1
- package/assets/gui/_nuxt/{CZ2S79GP.js → DYGhUEaq.js} +1 -1
- package/assets/gui/_nuxt/{DvsG7qqb.js → Di5aYcjk.js} +1 -1
- package/assets/gui/_nuxt/DsZep3Vf.js +1 -0
- package/assets/gui/_nuxt/DxxIAdQB.js +1 -0
- package/assets/gui/_nuxt/{Dsaurf6B.js → JmhQklzR.js} +1 -1
- package/assets/gui/_nuxt/{CUe0quIq.js → KrV2bgTl.js} +1 -1
- package/assets/gui/_nuxt/{gtxKAzOr.js → MEV93UZR.js} +1 -1
- package/assets/gui/_nuxt/{D-2RxthJ.js → R-Nv9Egc.js} +1 -1
- package/assets/gui/_nuxt/{DQp5YEVQ.js → SQ76gUou.js} +1 -1
- package/assets/gui/_nuxt/{DQhFQpbT.js → WJKbLlux.js} +1 -1
- package/assets/gui/_nuxt/builds/latest.json +1 -1
- package/assets/gui/_nuxt/builds/meta/30d8adb6-910b-4374-8976-e8af28495fcb.json +1 -0
- package/assets/gui/_nuxt/entry.CEh5zj0I.css +1 -0
- package/assets/gui/_nuxt/icXYpVU5.js +15 -0
- package/assets/gui/_nuxt/index.CeD9Flb2.css +1 -0
- package/assets/gui/_nuxt/{Rl4On6n0.js → l0JjtVdl.js} +1 -1
- package/assets/gui/_nuxt/{Bt5qFGQZ.js → ngwXbtwe.js} +1 -1
- package/assets/gui/_nuxt/{D5mZhIOc.js → rQaLixXQ.js} +4 -4
- package/assets/gui/_nuxt/{CMOpjdPV.js → wX2DnGni.js} +1 -1
- package/assets/gui/index.html +1 -1
- package/dist/cli.mjs +583 -583
- package/package.json +1 -1
- package/assets/gui/_nuxt/BjnVA5ld.js +0 -1
- package/assets/gui/_nuxt/Bp8rDhST.js +0 -1
- package/assets/gui/_nuxt/C3xSkDls.js +0 -15
- package/assets/gui/_nuxt/DAV6AwhM.js +0 -1
- package/assets/gui/_nuxt/DKD3OJCW.js +0 -1
- package/assets/gui/_nuxt/DtUiEJUF.js +0 -1
- package/assets/gui/_nuxt/builds/meta/22b40a7e-8eee-4501-b316-2c22cfdaea8b.json +0 -1
- package/assets/gui/_nuxt/entry.DIMbkOYy.css +0 -1
- package/assets/gui/_nuxt/index.BudxHvB3.css +0 -1
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as r}from"./BHTMZHSU.js";var e=4;function a(o){return r(o,e)}export{a as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{V as a,W as n}from"./D5mZhIOc.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import{d as be,r as E,f as R,m as J,j as I,n as l,H as z,ah as Qe,O as ge,J as ye,ai as Ae,aj as js,q as Bs,S as zs,C as Y,E as U,y as ae,p as Oe,ag as Te,z as Ne,a5 as An,l as rs,P as Mn,ak as Is,R as Le,o as Rn,g as Tn,w as Re}from"./E7Ix3tcC.js";import{_ as En}from"./DlAUqK2U.js";const _n={class:"flex items-center justify-between mb-3"},On={class:"space-y-3 text-sm text-text-primary-light dark:text-text-primary-dark"},Pn={key:0,class:"rounded-md border border-border-light dark:border-border-dark bg-gray-50 dark:bg-gray-800/50 p-3"},Un={class:"flex items-center gap-2 text-xs font-semibold"},Dn={key:0,class:"text-text-secondary-light dark:text-text-secondary-dark"},Nn={class:"block text-[10px] text-text-secondary-light dark:text-text-secondary-dark mt-2"},jn={class:"mt-2 text-xs whitespace-pre-wrap"},Bn={key:1,class:"text-text-secondary-light dark:text-text-secondary-dark"},zn={key:2,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark"},Ln={class:"mt-4 flex flex-wrap gap-2 justify-end"},Qn=["disabled"],qn=["disabled"],Fn=["disabled"],Wn=be({__name:"ApprovalDialog",props:{open:{type:Boolean},activeApproval:{},approvalCount:{},busy:{type:Boolean},toolApprovalsMode:{}},emits:["reject","approve","approve-all"],setup(e,{expose:t}){const s=E(null);return t({dialogEl:s}),(r,n)=>e.open?(I(),R("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/40 backdrop-blur-sm px-4",role:"presentation",onClick:n[6]||(n[6]=o=>r.$emit("reject"))},[l("div",{ref_key:"dialogEl",ref:s,class:"w-full max-w-lg rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark shadow-lg p-5",role:"dialog","aria-modal":"true",tabindex:"0",onClick:n[4]||(n[4]=ge(()=>{},["stop"])),onKeydown:n[5]||(n[5]=Qe(ge(o=>r.$emit("reject"),["stop","prevent"]),["escape"]))},[l("div",_n,[n[8]||(n[8]=l("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark"}," Tool approval ",-1)),l("button",{class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",type:"button",onClick:n[0]||(n[0]=o=>r.$emit("reject"))},[...n[7]||(n[7]=[l("span",{class:"material-icons-outlined text-base"},"close",-1)])])]),l("div",On,[n[9]||(n[9]=l("p",{class:"text-text-secondary-light dark:text-text-secondary-dark"}," Approve the tool call to let the agent continue. ",-1)),e.activeApproval?(I(),R("div",Pn,[l("div",Un,[l("span",null,z(e.activeApproval.toolName),1),e.approvalCount>1?(I(),R("span",Dn," ("+z(e.approvalCount)+" pending) ",1)):J("",!0)]),l("code",Nn," Call ID: "+z(e.activeApproval.toolCallId),1),l("pre",jn,z(e.activeApproval.args),1)])):(I(),R("p",Bn,"No pending approvals.")),e.toolApprovalsMode==="all"?(I(),R("p",zn," Auto-approve is enabled. Future tool calls will run without prompts. ")):J("",!0)]),l("div",Ln,[l("button",{class:"text-xs px-3 py-1.5 rounded border border-border-light dark:border-border-dark",type:"button",disabled:e.busy,onClick:n[1]||(n[1]=o=>r.$emit("reject"))}," Reject ",8,Qn),l("button",{class:"text-xs px-3 py-1.5 rounded bg-primary text-primary-foreground",type:"button",disabled:e.busy,onClick:n[2]||(n[2]=o=>r.$emit("approve"))}," Approve ",8,qn),l("button",{class:"text-xs px-3 py-1.5 rounded bg-red-500 text-white",type:"button",disabled:e.busy,onClick:n[3]||(n[3]=o=>r.$emit("approve-all"))}," Approve all ",8,Fn)])],544)])):J("",!0)}}),Vn=Object.assign(Wn,{__name:"ApprovalDialog"}),Gn={class:"flex items-center justify-between mb-3"},Jn={class:"space-y-4"},Hn={key:0,class:"space-y-4"},Kn={class:"flex items-start gap-2 mb-3"},Yn={class:"inline-flex items-center rounded bg-gray-100 dark:bg-gray-800 px-2 py-0.5 text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},Xn={class:"text-sm text-text-primary-light dark:text-text-primary-dark"},Zn={class:"space-y-2"},eo=["type","name","checked","onChange"],to={class:"font-medium"},so={class:"text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},ro={key:0,class:"space-y-2"},no={class:"flex items-start gap-2 text-xs text-text-primary-light dark:text-text-primary-dark"},oo=["type","name","checked","onChange"],ao={class:"font-medium"},lo=["value","onInput"],io={key:1,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark"},co={class:"mt-4 flex justify-end gap-2"},uo=["disabled"],mo=["disabled"],fo=be({__name:"AskUserDialog",props:{open:{type:Boolean},questions:{},selections:{},otherInputs:{},otherLabel:{},busy:{type:Boolean},isSelected:{type:Function}},emits:["cancel","submit","option-change","update:otherInputs"],setup(e,{expose:t}){const s=E(null);return t({dialogEl:s}),(r,n)=>e.open?(I(),R("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/40 backdrop-blur-sm px-4",role:"presentation",onClick:n[5]||(n[5]=o=>r.$emit("cancel"))},[l("div",{ref_key:"dialogEl",ref:s,class:"w-full max-w-2xl rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark shadow-lg p-5",role:"dialog","aria-modal":"true",tabindex:"0",onClick:n[3]||(n[3]=ge(()=>{},["stop"])),onKeydown:n[4]||(n[4]=Qe(ge(o=>r.$emit("cancel"),["stop","prevent"]),["escape"]))},[l("div",Gn,[n[7]||(n[7]=l("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark"}," Answer questions ",-1)),l("button",{class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",type:"button",onClick:n[0]||(n[0]=o=>r.$emit("cancel"))},[...n[6]||(n[6]=[l("span",{class:"material-icons-outlined text-base"},"close",-1)])])]),l("div",Jn,[n[9]||(n[9]=l("p",{class:"text-xs text-text-secondary-light dark:text-text-secondary-dark"}," Provide answers to let the agent continue. ",-1)),e.questions.length?(I(),R("div",Hn,[(I(!0),R(ye,null,Ae(e.questions,(o,a)=>(I(),R("div",{key:`ask-${a}`,class:"rounded-md border border-border-light dark:border-border-dark p-3"},[l("div",Kn,[l("span",Yn,z(o.header),1),l("p",Xn,z(o.question),1)]),l("div",Zn,[(I(!0),R(ye,null,Ae(o.options||[],g=>(I(),R("label",{key:g.label,class:"flex items-start gap-2 text-xs text-text-primary-light dark:text-text-primary-dark"},[l("input",{type:o.multiSelect?"checkbox":"radio",name:`ask-${a}`,checked:e.isSelected(a,g.label),class:"mt-1 h-3 w-3",onChange:i=>r.$emit("option-change",a,g.label,i)},null,40,eo),l("div",null,[l("div",to,z(g.label),1),l("div",so,z(g.description),1)])]))),128)),o.multiSelect?J("",!0):(I(),R("div",ro,[l("label",no,[l("input",{type:o.multiSelect?"checkbox":"radio",name:`ask-${a}`,checked:e.isSelected(a,e.otherLabel),class:"mt-1 h-3 w-3",onChange:g=>r.$emit("option-change",a,e.otherLabel,g)},null,40,oo),l("div",null,[l("div",ao,z(e.otherLabel),1),n[8]||(n[8]=l("div",{class:"text-[10px] text-text-secondary-light dark:text-text-secondary-dark"}," Provide a custom answer ",-1))])]),e.isSelected(a,e.otherLabel)?(I(),R("input",{key:0,value:e.otherInputs[a]||"",class:"w-full rounded-md border border-border-light dark:border-border-dark bg-transparent px-2 py-1 text-xs text-text-primary-light dark:text-text-primary-dark",type:"text",placeholder:"Type your answer",onInput:g=>r.$emit("update:otherInputs",{...e.otherInputs,[a]:g.target.value})},null,40,lo)):J("",!0)]))])]))),128))])):(I(),R("p",io,"No questions available."))]),l("div",co,[l("button",{class:"text-xs px-3 py-1.5 rounded border border-border-light dark:border-border-dark",type:"button",disabled:e.busy,onClick:n[1]||(n[1]=o=>r.$emit("cancel"))}," Cancel ",8,uo),l("button",{class:"text-xs px-3 py-1.5 rounded bg-primary text-primary-foreground",type:"button",disabled:e.busy,onClick:n[2]||(n[2]=o=>r.$emit("submit"))}," Submit ",8,mo)])],544)])):J("",!0)}}),po=Object.assign(fo,{__name:"AskUserDialog"});function Ls(e){var t,s,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var n=e.length;for(t=0;t<n;t++)e[t]&&(s=Ls(e[t]))&&(r&&(r+=" "),r+=s)}else for(s in e)e[s]&&(r&&(r+=" "),r+=s);return r}function Qs(){for(var e,t,s=0,r="",n=arguments.length;s<n;s++)(e=arguments[s])&&(t=Ls(e))&&(r&&(r+=" "),r+=t);return r}const As=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Ms=Qs,go=(e,t)=>s=>{var r;if(t?.variants==null)return Ms(e,s?.class,s?.className);const{variants:n,defaultVariants:o}=t,a=Object.keys(n).map(w=>{const A=s?.[w],M=o?.[w];if(A===null)return null;const b=As(A)||As(M);return n[w][b]}),g=s&&Object.entries(s).reduce((w,A)=>{let[M,b]=A;return b===void 0||(w[M]=b),w},{}),i=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((w,A)=>{let{class:M,className:b,...c}=A;return Object.entries(c).every(p=>{let[v,m]=p;return Array.isArray(m)?m.includes({...o,...g}[v]):{...o,...g}[v]===m})?[...w,M,b]:w},[]);return Ms(e,a,i,s?.class,s?.className)},vo=(e,t)=>{const s=new Array(e.length+t.length);for(let r=0;r<e.length;r++)s[r]=e[r];for(let r=0;r<t.length;r++)s[e.length+r]=t[r];return s},ho=(e,t)=>({classGroupId:e,validator:t}),qs=(e=new Map,t=null,s)=>({nextPart:e,validators:t,classGroupId:s}),Dt="-",Rs=[],yo="arbitrary..",bo=e=>{const t=ko(e),{conflictingClassGroups:s,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return xo(a);const g=a.split(Dt),i=g[0]===""&&g.length>1?1:0;return Fs(g,i,t)},getConflictingClassGroupIds:(a,g)=>{if(g){const i=r[a],w=s[a];return i?w?vo(w,i):i:w||Rs}return s[a]||Rs}}},Fs=(e,t,s)=>{if(e.length-t===0)return s.classGroupId;const n=e[t],o=s.nextPart.get(n);if(o){const w=Fs(e,t+1,o);if(w)return w}const a=s.validators;if(a===null)return;const g=t===0?e.join(Dt):e.slice(t).join(Dt),i=a.length;for(let w=0;w<i;w++){const A=a[w];if(A.validator(g))return A.classGroupId}},xo=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),s=t.indexOf(":"),r=t.slice(0,s);return r?yo+r:void 0})(),ko=e=>{const{theme:t,classGroups:s}=e;return wo(s,t)},wo=(e,t)=>{const s=qs();for(const r in e){const n=e[r];ns(n,s,r,t)}return s},ns=(e,t,s,r)=>{const n=e.length;for(let o=0;o<n;o++){const a=e[o];So(a,t,s,r)}},So=(e,t,s,r)=>{if(typeof e=="string"){Co(e,t,s);return}if(typeof e=="function"){$o(e,t,s,r);return}Io(e,t,s,r)},Co=(e,t,s)=>{const r=e===""?t:Ws(t,e);r.classGroupId=s},$o=(e,t,s,r)=>{if(Ao(e)){ns(e(r),t,s,r);return}t.validators===null&&(t.validators=[]),t.validators.push(ho(s,e))},Io=(e,t,s,r)=>{const n=Object.entries(e),o=n.length;for(let a=0;a<o;a++){const[g,i]=n[a];ns(i,Ws(t,g),s,r)}},Ws=(e,t)=>{let s=e;const r=t.split(Dt),n=r.length;for(let o=0;o<n;o++){const a=r[o];let g=s.nextPart.get(a);g||(g=qs(),s.nextPart.set(a,g)),s=g}return s},Ao=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Mo=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,s=Object.create(null),r=Object.create(null);const n=(o,a)=>{s[o]=a,t++,t>e&&(t=0,r=s,s=Object.create(null))};return{get(o){let a=s[o];if(a!==void 0)return a;if((a=r[o])!==void 0)return n(o,a),a},set(o,a){o in s?s[o]=a:n(o,a)}}},es="!",Ts=":",Ro=[],Es=(e,t,s,r,n)=>({modifiers:e,hasImportantModifier:t,baseClassName:s,maybePostfixModifierPosition:r,isExternal:n}),To=e=>{const{prefix:t,experimentalParseClassName:s}=e;let r=n=>{const o=[];let a=0,g=0,i=0,w;const A=n.length;for(let v=0;v<A;v++){const m=n[v];if(a===0&&g===0){if(m===Ts){o.push(n.slice(i,v)),i=v+1;continue}if(m==="/"){w=v;continue}}m==="["?a++:m==="]"?a--:m==="("?g++:m===")"&&g--}const M=o.length===0?n:n.slice(i);let b=M,c=!1;M.endsWith(es)?(b=M.slice(0,-1),c=!0):M.startsWith(es)&&(b=M.slice(1),c=!0);const p=w&&w>i?w-i:void 0;return Es(o,c,b,p)};if(t){const n=t+Ts,o=r;r=a=>a.startsWith(n)?o(a.slice(n.length)):Es(Ro,!1,a,void 0,!0)}if(s){const n=r;r=o=>s({className:o,parseClassName:n})}return r},Eo=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((s,r)=>{t.set(s,1e6+r)}),s=>{const r=[];let n=[];for(let o=0;o<s.length;o++){const a=s[o],g=a[0]==="[",i=t.has(a);g||i?(n.length>0&&(n.sort(),r.push(...n),n=[]),r.push(a)):n.push(a)}return n.length>0&&(n.sort(),r.push(...n)),r}},_o=e=>({cache:Mo(e.cacheSize),parseClassName:To(e),sortModifiers:Eo(e),...bo(e)}),Oo=/\s+/,Po=(e,t)=>{const{parseClassName:s,getClassGroupId:r,getConflictingClassGroupIds:n,sortModifiers:o}=t,a=[],g=e.trim().split(Oo);let i="";for(let w=g.length-1;w>=0;w-=1){const A=g[w],{isExternal:M,modifiers:b,hasImportantModifier:c,baseClassName:p,maybePostfixModifierPosition:v}=s(A);if(M){i=A+(i.length>0?" "+i:i);continue}let m=!!v,O=r(m?p.substring(0,v):p);if(!O){if(!m){i=A+(i.length>0?" "+i:i);continue}if(O=r(p),!O){i=A+(i.length>0?" "+i:i);continue}m=!1}const T=b.length===0?"":b.length===1?b[0]:o(b).join(":"),x=c?T+es:T,h=x+O;if(a.indexOf(h)>-1)continue;a.push(h);const S=n(O,m);for(let y=0;y<S.length;++y){const C=S[y];a.push(x+C)}i=A+(i.length>0?" "+i:i)}return i},Uo=(...e)=>{let t=0,s,r,n="";for(;t<e.length;)(s=e[t++])&&(r=Vs(s))&&(n&&(n+=" "),n+=r);return n},Vs=e=>{if(typeof e=="string")return e;let t,s="";for(let r=0;r<e.length;r++)e[r]&&(t=Vs(e[r]))&&(s&&(s+=" "),s+=t);return s},Do=(e,...t)=>{let s,r,n,o;const a=i=>{const w=t.reduce((A,M)=>M(A),e());return s=_o(w),r=s.cache.get,n=s.cache.set,o=g,g(i)},g=i=>{const w=r(i);if(w)return w;const A=Po(i,s);return n(i,A),A};return o=a,(...i)=>o(Uo(...i))},No=[],me=e=>{const t=s=>s[e]||No;return t.isThemeGetter=!0,t},Gs=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Js=/^\((?:(\w[\w-]*):)?(.+)\)$/i,jo=/^\d+\/\d+$/,Bo=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,zo=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Lo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Qo=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,qo=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,nt=e=>jo.test(e),G=e=>!!e&&!Number.isNaN(Number(e)),ze=e=>!!e&&Number.isInteger(Number(e)),Ht=e=>e.endsWith("%")&&G(e.slice(0,-1)),Ue=e=>Bo.test(e),Fo=()=>!0,Wo=e=>zo.test(e)&&!Lo.test(e),Hs=()=>!1,Vo=e=>Qo.test(e),Go=e=>qo.test(e),Jo=e=>!j(e)&&!B(e),Ho=e=>at(e,Xs,Hs),j=e=>Gs.test(e),Ve=e=>at(e,Zs,Wo),Kt=e=>at(e,ea,G),_s=e=>at(e,Ks,Hs),Ko=e=>at(e,Ys,Go),Et=e=>at(e,er,Vo),B=e=>Js.test(e),pt=e=>lt(e,Zs),Yo=e=>lt(e,ta),Os=e=>lt(e,Ks),Xo=e=>lt(e,Xs),Zo=e=>lt(e,Ys),_t=e=>lt(e,er,!0),at=(e,t,s)=>{const r=Gs.exec(e);return r?r[1]?t(r[1]):s(r[2]):!1},lt=(e,t,s=!1)=>{const r=Js.exec(e);return r?r[1]?t(r[1]):s:!1},Ks=e=>e==="position"||e==="percentage",Ys=e=>e==="image"||e==="url",Xs=e=>e==="length"||e==="size"||e==="bg-size",Zs=e=>e==="length",ea=e=>e==="number",ta=e=>e==="family-name",er=e=>e==="shadow",sa=()=>{const e=me("color"),t=me("font"),s=me("text"),r=me("font-weight"),n=me("tracking"),o=me("leading"),a=me("breakpoint"),g=me("container"),i=me("spacing"),w=me("radius"),A=me("shadow"),M=me("inset-shadow"),b=me("text-shadow"),c=me("drop-shadow"),p=me("blur"),v=me("perspective"),m=me("aspect"),O=me("ease"),T=me("animate"),x=()=>["auto","avoid","all","avoid-page","page","left","right","column"],h=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],S=()=>[...h(),B,j],y=()=>["auto","hidden","clip","visible","scroll"],C=()=>["auto","contain","none"],k=()=>[B,j,i],P=()=>[nt,"full","auto",...k()],F=()=>[ze,"none","subgrid",B,j],W=()=>["auto",{span:["full",ze,B,j]},ze,B,j],K=()=>[ze,"auto",B,j],ne=()=>["auto","min","max","fr",B,j],ke=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],re=()=>["start","end","center","stretch","center-safe","end-safe"],ce=()=>["auto",...k()],ve=()=>[nt,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...k()],L=()=>[e,B,j],he=()=>[...h(),Os,_s,{position:[B,j]}],je=()=>["no-repeat",{repeat:["","x","y","space","round"]}],se=()=>["auto","cover","contain",Xo,Ho,{size:[B,j]}],_=()=>[Ht,pt,Ve],fe=()=>["","none","full",w,B,j],xe=()=>["",G,pt,Ve],He=()=>["solid","dashed","dotted","double"],de=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],H=()=>[G,Ht,Os,_s],we=()=>["","none",p,B,j],Ke=()=>["none",G,B,j],Ye=()=>["none",G,B,j],ct=()=>[G,B,j],Xe=()=>[nt,"full",...k()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Ue],breakpoint:[Ue],color:[Fo],container:[Ue],"drop-shadow":[Ue],ease:["in","out","in-out"],font:[Jo],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Ue],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Ue],shadow:[Ue],spacing:["px",G],text:[Ue],"text-shadow":[Ue],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",nt,j,B,m]}],container:["container"],columns:[{columns:[G,j,B,g]}],"break-after":[{"break-after":x()}],"break-before":[{"break-before":x()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:S()}],overflow:[{overflow:y()}],"overflow-x":[{"overflow-x":y()}],"overflow-y":[{"overflow-y":y()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:P()}],"inset-x":[{"inset-x":P()}],"inset-y":[{"inset-y":P()}],start:[{start:P()}],end:[{end:P()}],top:[{top:P()}],right:[{right:P()}],bottom:[{bottom:P()}],left:[{left:P()}],visibility:["visible","invisible","collapse"],z:[{z:[ze,"auto",B,j]}],basis:[{basis:[nt,"full","auto",g,...k()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[G,nt,"auto","initial","none",j]}],grow:[{grow:["",G,B,j]}],shrink:[{shrink:["",G,B,j]}],order:[{order:[ze,"first","last","none",B,j]}],"grid-cols":[{"grid-cols":F()}],"col-start-end":[{col:W()}],"col-start":[{"col-start":K()}],"col-end":[{"col-end":K()}],"grid-rows":[{"grid-rows":F()}],"row-start-end":[{row:W()}],"row-start":[{"row-start":K()}],"row-end":[{"row-end":K()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":ne()}],"auto-rows":[{"auto-rows":ne()}],gap:[{gap:k()}],"gap-x":[{"gap-x":k()}],"gap-y":[{"gap-y":k()}],"justify-content":[{justify:[...ke(),"normal"]}],"justify-items":[{"justify-items":[...re(),"normal"]}],"justify-self":[{"justify-self":["auto",...re()]}],"align-content":[{content:["normal",...ke()]}],"align-items":[{items:[...re(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...re(),{baseline:["","last"]}]}],"place-content":[{"place-content":ke()}],"place-items":[{"place-items":[...re(),"baseline"]}],"place-self":[{"place-self":["auto",...re()]}],p:[{p:k()}],px:[{px:k()}],py:[{py:k()}],ps:[{ps:k()}],pe:[{pe:k()}],pt:[{pt:k()}],pr:[{pr:k()}],pb:[{pb:k()}],pl:[{pl:k()}],m:[{m:ce()}],mx:[{mx:ce()}],my:[{my:ce()}],ms:[{ms:ce()}],me:[{me:ce()}],mt:[{mt:ce()}],mr:[{mr:ce()}],mb:[{mb:ce()}],ml:[{ml:ce()}],"space-x":[{"space-x":k()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":k()}],"space-y-reverse":["space-y-reverse"],size:[{size:ve()}],w:[{w:[g,"screen",...ve()]}],"min-w":[{"min-w":[g,"screen","none",...ve()]}],"max-w":[{"max-w":[g,"screen","none","prose",{screen:[a]},...ve()]}],h:[{h:["screen","lh",...ve()]}],"min-h":[{"min-h":["screen","lh","none",...ve()]}],"max-h":[{"max-h":["screen","lh",...ve()]}],"font-size":[{text:["base",s,pt,Ve]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,B,Kt]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Ht,j]}],"font-family":[{font:[Yo,j,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[n,B,j]}],"line-clamp":[{"line-clamp":[G,"none",B,Kt]}],leading:[{leading:[o,...k()]}],"list-image":[{"list-image":["none",B,j]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",B,j]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:L()}],"text-color":[{text:L()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...He(),"wavy"]}],"text-decoration-thickness":[{decoration:[G,"from-font","auto",B,Ve]}],"text-decoration-color":[{decoration:L()}],"underline-offset":[{"underline-offset":[G,"auto",B,j]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:k()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",B,j]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",B,j]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:he()}],"bg-repeat":[{bg:je()}],"bg-size":[{bg:se()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},ze,B,j],radial:["",B,j],conic:[ze,B,j]},Zo,Ko]}],"bg-color":[{bg:L()}],"gradient-from-pos":[{from:_()}],"gradient-via-pos":[{via:_()}],"gradient-to-pos":[{to:_()}],"gradient-from":[{from:L()}],"gradient-via":[{via:L()}],"gradient-to":[{to:L()}],rounded:[{rounded:fe()}],"rounded-s":[{"rounded-s":fe()}],"rounded-e":[{"rounded-e":fe()}],"rounded-t":[{"rounded-t":fe()}],"rounded-r":[{"rounded-r":fe()}],"rounded-b":[{"rounded-b":fe()}],"rounded-l":[{"rounded-l":fe()}],"rounded-ss":[{"rounded-ss":fe()}],"rounded-se":[{"rounded-se":fe()}],"rounded-ee":[{"rounded-ee":fe()}],"rounded-es":[{"rounded-es":fe()}],"rounded-tl":[{"rounded-tl":fe()}],"rounded-tr":[{"rounded-tr":fe()}],"rounded-br":[{"rounded-br":fe()}],"rounded-bl":[{"rounded-bl":fe()}],"border-w":[{border:xe()}],"border-w-x":[{"border-x":xe()}],"border-w-y":[{"border-y":xe()}],"border-w-s":[{"border-s":xe()}],"border-w-e":[{"border-e":xe()}],"border-w-t":[{"border-t":xe()}],"border-w-r":[{"border-r":xe()}],"border-w-b":[{"border-b":xe()}],"border-w-l":[{"border-l":xe()}],"divide-x":[{"divide-x":xe()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":xe()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...He(),"hidden","none"]}],"divide-style":[{divide:[...He(),"hidden","none"]}],"border-color":[{border:L()}],"border-color-x":[{"border-x":L()}],"border-color-y":[{"border-y":L()}],"border-color-s":[{"border-s":L()}],"border-color-e":[{"border-e":L()}],"border-color-t":[{"border-t":L()}],"border-color-r":[{"border-r":L()}],"border-color-b":[{"border-b":L()}],"border-color-l":[{"border-l":L()}],"divide-color":[{divide:L()}],"outline-style":[{outline:[...He(),"none","hidden"]}],"outline-offset":[{"outline-offset":[G,B,j]}],"outline-w":[{outline:["",G,pt,Ve]}],"outline-color":[{outline:L()}],shadow:[{shadow:["","none",A,_t,Et]}],"shadow-color":[{shadow:L()}],"inset-shadow":[{"inset-shadow":["none",M,_t,Et]}],"inset-shadow-color":[{"inset-shadow":L()}],"ring-w":[{ring:xe()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:L()}],"ring-offset-w":[{"ring-offset":[G,Ve]}],"ring-offset-color":[{"ring-offset":L()}],"inset-ring-w":[{"inset-ring":xe()}],"inset-ring-color":[{"inset-ring":L()}],"text-shadow":[{"text-shadow":["none",b,_t,Et]}],"text-shadow-color":[{"text-shadow":L()}],opacity:[{opacity:[G,B,j]}],"mix-blend":[{"mix-blend":[...de(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":de()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[G]}],"mask-image-linear-from-pos":[{"mask-linear-from":H()}],"mask-image-linear-to-pos":[{"mask-linear-to":H()}],"mask-image-linear-from-color":[{"mask-linear-from":L()}],"mask-image-linear-to-color":[{"mask-linear-to":L()}],"mask-image-t-from-pos":[{"mask-t-from":H()}],"mask-image-t-to-pos":[{"mask-t-to":H()}],"mask-image-t-from-color":[{"mask-t-from":L()}],"mask-image-t-to-color":[{"mask-t-to":L()}],"mask-image-r-from-pos":[{"mask-r-from":H()}],"mask-image-r-to-pos":[{"mask-r-to":H()}],"mask-image-r-from-color":[{"mask-r-from":L()}],"mask-image-r-to-color":[{"mask-r-to":L()}],"mask-image-b-from-pos":[{"mask-b-from":H()}],"mask-image-b-to-pos":[{"mask-b-to":H()}],"mask-image-b-from-color":[{"mask-b-from":L()}],"mask-image-b-to-color":[{"mask-b-to":L()}],"mask-image-l-from-pos":[{"mask-l-from":H()}],"mask-image-l-to-pos":[{"mask-l-to":H()}],"mask-image-l-from-color":[{"mask-l-from":L()}],"mask-image-l-to-color":[{"mask-l-to":L()}],"mask-image-x-from-pos":[{"mask-x-from":H()}],"mask-image-x-to-pos":[{"mask-x-to":H()}],"mask-image-x-from-color":[{"mask-x-from":L()}],"mask-image-x-to-color":[{"mask-x-to":L()}],"mask-image-y-from-pos":[{"mask-y-from":H()}],"mask-image-y-to-pos":[{"mask-y-to":H()}],"mask-image-y-from-color":[{"mask-y-from":L()}],"mask-image-y-to-color":[{"mask-y-to":L()}],"mask-image-radial":[{"mask-radial":[B,j]}],"mask-image-radial-from-pos":[{"mask-radial-from":H()}],"mask-image-radial-to-pos":[{"mask-radial-to":H()}],"mask-image-radial-from-color":[{"mask-radial-from":L()}],"mask-image-radial-to-color":[{"mask-radial-to":L()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":h()}],"mask-image-conic-pos":[{"mask-conic":[G]}],"mask-image-conic-from-pos":[{"mask-conic-from":H()}],"mask-image-conic-to-pos":[{"mask-conic-to":H()}],"mask-image-conic-from-color":[{"mask-conic-from":L()}],"mask-image-conic-to-color":[{"mask-conic-to":L()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:he()}],"mask-repeat":[{mask:je()}],"mask-size":[{mask:se()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",B,j]}],filter:[{filter:["","none",B,j]}],blur:[{blur:we()}],brightness:[{brightness:[G,B,j]}],contrast:[{contrast:[G,B,j]}],"drop-shadow":[{"drop-shadow":["","none",c,_t,Et]}],"drop-shadow-color":[{"drop-shadow":L()}],grayscale:[{grayscale:["",G,B,j]}],"hue-rotate":[{"hue-rotate":[G,B,j]}],invert:[{invert:["",G,B,j]}],saturate:[{saturate:[G,B,j]}],sepia:[{sepia:["",G,B,j]}],"backdrop-filter":[{"backdrop-filter":["","none",B,j]}],"backdrop-blur":[{"backdrop-blur":we()}],"backdrop-brightness":[{"backdrop-brightness":[G,B,j]}],"backdrop-contrast":[{"backdrop-contrast":[G,B,j]}],"backdrop-grayscale":[{"backdrop-grayscale":["",G,B,j]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[G,B,j]}],"backdrop-invert":[{"backdrop-invert":["",G,B,j]}],"backdrop-opacity":[{"backdrop-opacity":[G,B,j]}],"backdrop-saturate":[{"backdrop-saturate":[G,B,j]}],"backdrop-sepia":[{"backdrop-sepia":["",G,B,j]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":k()}],"border-spacing-x":[{"border-spacing-x":k()}],"border-spacing-y":[{"border-spacing-y":k()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",B,j]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[G,"initial",B,j]}],ease:[{ease:["linear","initial",O,B,j]}],delay:[{delay:[G,B,j]}],animate:[{animate:["none",T,B,j]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[v,B,j]}],"perspective-origin":[{"perspective-origin":S()}],rotate:[{rotate:Ke()}],"rotate-x":[{"rotate-x":Ke()}],"rotate-y":[{"rotate-y":Ke()}],"rotate-z":[{"rotate-z":Ke()}],scale:[{scale:Ye()}],"scale-x":[{"scale-x":Ye()}],"scale-y":[{"scale-y":Ye()}],"scale-z":[{"scale-z":Ye()}],"scale-3d":["scale-3d"],skew:[{skew:ct()}],"skew-x":[{"skew-x":ct()}],"skew-y":[{"skew-y":ct()}],transform:[{transform:[B,j,"","none","gpu","cpu"]}],"transform-origin":[{origin:S()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Xe()}],"translate-x":[{"translate-x":Xe()}],"translate-y":[{"translate-y":Xe()}],"translate-z":[{"translate-z":Xe()}],"translate-none":["translate-none"],accent:[{accent:L()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:L()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",B,j]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":k()}],"scroll-mx":[{"scroll-mx":k()}],"scroll-my":[{"scroll-my":k()}],"scroll-ms":[{"scroll-ms":k()}],"scroll-me":[{"scroll-me":k()}],"scroll-mt":[{"scroll-mt":k()}],"scroll-mr":[{"scroll-mr":k()}],"scroll-mb":[{"scroll-mb":k()}],"scroll-ml":[{"scroll-ml":k()}],"scroll-p":[{"scroll-p":k()}],"scroll-px":[{"scroll-px":k()}],"scroll-py":[{"scroll-py":k()}],"scroll-ps":[{"scroll-ps":k()}],"scroll-pe":[{"scroll-pe":k()}],"scroll-pt":[{"scroll-pt":k()}],"scroll-pr":[{"scroll-pr":k()}],"scroll-pb":[{"scroll-pb":k()}],"scroll-pl":[{"scroll-pl":k()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",B,j]}],fill:[{fill:["none",...L()]}],"stroke-w":[{stroke:[G,pt,Ve,Kt]}],stroke:[{stroke:["none",...L()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},ra=Do(sa);function tr(...e){return ra(Qs(e))}const na=be({inheritAttrs:!1,__name:"Button",props:{variant:{default:"default"},size:{default:"default"},class:{default:""}},setup(e){const t=go("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background-light transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90 shadow-sm",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90 shadow-sm",outline:"border border-border-light dark:border-border-dark bg-transparent hover:bg-gray-100 dark:hover:bg-gray-800 text-text-primary-light dark:text-text-primary-dark",secondary:"bg-gray-100 dark:bg-gray-800 text-text-primary-light dark:text-text-primary-dark hover:bg-gray-200 dark:hover:bg-gray-700",ghost:"hover:bg-gray-100 dark:hover:bg-gray-800 text-text-secondary-light dark:text-text-secondary-dark hover:text-text-primary-light dark:hover:text-text-primary-dark",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),s=e,r=js(),n=Y(()=>tr(t({variant:s.variant,size:s.size}),s.class));return(o,a)=>(I(),R("button",zs(U(r),{class:n.value}),[Bs(o.$slots,"default")],16))}}),De=Object.assign(na,{__name:"UiButton"}),oa=be({inheritAttrs:!1,__name:"Card",props:{class:{default:""}},setup(e){const t=e,s=js(),r=Y(()=>tr("rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark text-text-primary-light dark:text-text-primary-dark shadow-sm",t.class));return(n,o)=>(I(),R("div",zs(U(s),{class:r.value}),[Bs(n.$slots,"default")],16))}}),aa=Object.assign(oa,{__name:"UiCard"}),la={key:0,class:"absolute left-0 bottom-10 w-44 rounded-md border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark shadow-lg p-1 z-30"},ia=be({__name:"ApprovalsMenu",props:{open:{type:Boolean},mode:{}},emits:["toggle","select"],setup(e,{expose:t}){const s=e,r=Y(()=>s.mode==="all"?"Always allow":"Auto"),n=E(null);return t({menuEl:n}),(o,a)=>(I(),R("div",{ref_key:"menuEl",ref:n,class:"relative"},[ae(De,{variant:"secondary",size:"sm",class:"h-8 gap-1.5 text-xs font-medium border border-gray-200 dark:border-gray-700 text-text-secondary-light dark:text-text-secondary-dark",type:"button",onClick:a[0]||(a[0]=g=>o.$emit("toggle"))},{default:Oe(()=>[a[3]||(a[3]=l("span",{class:"material-icons-outlined text-[14px]"},"shield",-1)),Te(" "+z(r.value)+" ",1),a[4]||(a[4]=l("span",{class:"material-icons-outlined text-xs"},"expand_more",-1))]),_:1}),e.open?(I(),R("div",la,[l("button",{class:Ne(["w-full text-left px-2 py-1.5 text-xs rounded hover:bg-gray-100 dark:hover:bg-gray-800 text-text-primary-light dark:text-text-primary-dark flex items-center gap-2",e.mode==="auto"?"font-semibold":""]),type:"button",onClick:a[1]||(a[1]=g=>o.$emit("select","auto"))},[...a[5]||(a[5]=[l("span",{class:"material-icons-outlined text-[14px]"},"tune",-1),Te(" Auto ",-1)])],2),l("button",{class:Ne(["w-full text-left px-2 py-1.5 text-xs rounded hover:bg-gray-100 dark:hover:bg-gray-800 text-text-primary-light dark:text-text-primary-dark flex items-center gap-2",e.mode==="all"?"font-semibold":""]),type:"button",onClick:a[2]||(a[2]=g=>o.$emit("select","all"))},[...a[6]||(a[6]=[l("span",{class:"material-icons-outlined text-[14px]"},"verified",-1),Te(" Always allow ",-1)])],2)])):J("",!0)],512))}}),ca=Object.assign(ia,{__name:"ApprovalsMenu"}),da={key:0,class:"absolute left-0 bottom-10 w-40 rounded-md border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark shadow-lg p-1 z-30"},ua=["disabled"],ma=be({__name:"ComposerMenu",props:{open:{type:Boolean},uploadsEnabled:{type:Boolean},debugUi:{type:Boolean}},emits:["toggle","add-file","quick-action"],setup(e,{expose:t}){const s=E(null);return t({menuEl:s}),(r,n)=>(I(),R("div",{ref_key:"menuEl",ref:s,class:"relative"},[ae(De,{variant:"ghost",size:"icon",class:"h-8 w-8 text-text-secondary-light dark:text-text-secondary-dark",type:"button",onClick:n[0]||(n[0]=o=>r.$emit("toggle"))},{default:Oe(()=>[...n[3]||(n[3]=[l("span",{class:"material-icons-outlined text-lg"},"add",-1)])]),_:1}),e.open?(I(),R("div",da,[l("button",{class:"w-full text-left px-2 py-1.5 text-xs rounded hover:bg-gray-100 dark:hover:bg-gray-800 text-text-primary-light dark:text-text-primary-dark disabled:opacity-50",type:"button",disabled:!e.uploadsEnabled,onClick:n[1]||(n[1]=o=>r.$emit("add-file"))}," Add file ",8,ua),e.debugUi?(I(),R("button",{key:0,class:"w-full text-left px-2 py-1.5 text-xs rounded hover:bg-gray-100 dark:hover:bg-gray-800 text-text-primary-light dark:text-text-primary-dark",type:"button",onClick:n[2]||(n[2]=o=>r.$emit("quick-action","Health check"))}," Health check ")):J("",!0)])):J("",!0)],512))}}),fa=Object.assign(ma,{__name:"ComposerMenu"}),pa={key:0,class:"absolute left-0 bottom-10 w-36 rounded-md border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark shadow-lg p-1 z-30"},ga=["onClick"],va=be({__name:"ModeMenu",props:{open:{type:Boolean},modeLabel:{},modeOptions:{}},emits:["toggle","select-mode"],setup(e,{expose:t}){const s=E(null);return t({menuEl:s}),(r,n)=>(I(),R("div",{ref_key:"menuEl",ref:s,class:"relative"},[ae(De,{variant:"secondary",size:"sm",class:"h-8 gap-1.5 text-xs font-medium border border-gray-200 dark:border-gray-700 text-text-secondary-light dark:text-text-secondary-dark",type:"button",onClick:n[0]||(n[0]=o=>r.$emit("toggle"))},{default:Oe(()=>[Te(z(e.modeLabel)+" ",1),n[1]||(n[1]=l("span",{class:"material-icons-outlined text-xs"},"expand_more",-1))]),_:1}),e.open?(I(),R("div",pa,[(I(!0),R(ye,null,Ae(e.modeOptions,o=>(I(),R("button",{key:o,class:"w-full text-left px-2 py-1.5 text-xs rounded hover:bg-gray-100 dark:hover:bg-gray-800 text-text-primary-light dark:text-text-primary-dark",type:"button",onClick:a=>r.$emit("select-mode",o)},z(o),9,ga))),128))])):J("",!0)],512))}}),ha=Object.assign(va,{__name:"ModeMenu"}),ya={class:"absolute bottom-0 left-0 right-0 p-6 flex justify-center bg-gradient-to-t from-background-light via-background-light to-transparent dark:from-background-dark dark:via-background-dark pointer-events-none z-20"},ba={key:0,class:"mb-3 grid gap-2"},xa=["src","alt"],ka={class:"flex-1 min-w-0"},wa={class:"text-xs font-medium text-text-primary-light dark:text-text-primary-dark truncate"},Sa={class:"text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},Ca=["value","placeholder"],$a={key:1,class:"mt-2 text-[10px] text-text-secondary-light dark:text-text-secondary-dark space-y-1"},Ia={key:0},Aa={key:1},Ma={key:2},Ra={key:2,class:"mt-2 flex items-center justify-between gap-2 text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},Ta={class:"flex items-center gap-2"},Ea=["checked"],_a={key:0},Oa={class:"flex items-center justify-between mt-3"},Pa={class:"flex items-center gap-2"},Ua={key:0,class:"flex items-center gap-2 text-xs text-text-secondary-light dark:text-text-secondary-dark"},Da=["checked"],Na={key:0,class:"text-center mt-2"},ja={class:"text-[10px] text-red-500"},Ba={key:1,class:"text-center mt-2"},za=be({__name:"ChatComposer",props:{modelValue:{},placeholder:{},attachments:{},uploadsEnabled:{type:Boolean},imagesEnabled:{type:Boolean},attachmentsBase64:{type:Boolean},attachmentNote:{},composerMenuOpen:{type:Boolean},modeMenuOpen:{type:Boolean},modeLabel:{},modeOptions:{},approvalsMenuOpen:{type:Boolean},toolApprovalsMode:{},useStreamingQuery:{type:Boolean},debugUi:{type:Boolean},sendLabel:{},sendDisabled:{type:Boolean},queryError:{},streamQueryError:{}},emits:["update:modelValue","update:attachmentsBase64","update:useStreamingQuery","drop","paste","compositionstart","compositionend","enter","remove-attachment","toggle-composer-menu","toggle-mode-menu","toggle-approvals-menu","set-approvals","add-file","quick-action","select-mode","send","file-pick"],setup(e,{expose:t}){const s=E(null),r=E(null);return t({filePickerRef:s,approvalsMenuComponent:r}),(n,o)=>(I(),R("div",ya,[l("div",{class:"w-full max-w-3xl pointer-events-auto",onDragover:o[15]||(o[15]=ge(()=>{},["prevent"])),onDrop:o[16]||(o[16]=ge(a=>n.$emit("drop",a),["prevent"]))},[ae(aa,{class:"p-3 shadow-soft dark:shadow-none bg-surface-light dark:bg-surface-dark border-border-light dark:border-border-dark"},{default:Oe(()=>[e.attachments.length?(I(),R("div",ba,[(I(!0),R(ye,null,Ae(e.attachments,a=>(I(),R("div",{key:a.id,class:"flex items-center gap-3 rounded-md border border-border-light dark:border-border-dark p-2"},[a.mime.startsWith("image/")?(I(),R("img",{key:0,src:a.localUrl,alt:a.name,class:"h-10 w-10 rounded object-cover"},null,8,xa)):J("",!0),l("div",ka,[l("div",wa,z(a.name),1),l("div",Sa,z(a.status),1)]),ae(De,{variant:"ghost",size:"sm",class:"h-7 px-2 text-xs",type:"button",onClick:g=>n.$emit("remove-attachment",a.id)},{default:Oe(()=>[...o[18]||(o[18]=[Te(" Remove ",-1)])]),_:1},8,["onClick"])]))),128))])):J("",!0),l("textarea",{value:e.modelValue,class:"w-full resize-none border-none bg-transparent text-sm text-text-primary-light dark:text-text-primary-dark placeholder:text-text-secondary-light dark:placeholder:text-text-secondary-dark focus-visible:outline-none focus-visible:ring-0 py-2",rows:"2",placeholder:e.placeholder,onInput:o[0]||(o[0]=a=>n.$emit("update:modelValue",a.target.value)),onPaste:o[1]||(o[1]=a=>n.$emit("paste",a)),onCompositionstart:o[2]||(o[2]=a=>n.$emit("compositionstart")),onCompositionend:o[3]||(o[3]=a=>n.$emit("compositionend")),onKeydown:o[4]||(o[4]=Qe(ge(a=>n.$emit("enter",a),["exact"]),["enter"]))},null,40,Ca),e.attachments.length?(I(),R("div",$a,[e.uploadsEnabled?e.imagesEnabled?(I(),R("span",Aa,"Model reports image support; attachments will be sent with metadata.")):(I(),R("span",Ma,"Model does not support images; attachments will be summarized in text.")):(I(),R("span",Ia,"Uploads disabled by server."))])):J("",!0),e.attachments.length?(I(),R("div",Ra,[l("label",Ta,[l("input",{checked:e.attachmentsBase64,type:"checkbox",class:"h-3 w-3",onChange:o[5]||(o[5]=a=>n.$emit("update:attachmentsBase64",a.target.checked))},null,40,Ea),o[19]||(o[19]=Te(" Include base64 when images are unsupported (large) ",-1))]),e.attachmentNote?(I(),R("span",_a,z(e.attachmentNote),1)):J("",!0)])):J("",!0),l("div",Oa,[l("div",Pa,[ae(fa,{open:e.composerMenuOpen,"uploads-enabled":e.uploadsEnabled,"debug-ui":e.debugUi,onToggle:o[6]||(o[6]=a=>n.$emit("toggle-composer-menu")),onAddFile:o[7]||(o[7]=a=>n.$emit("add-file")),onQuickAction:o[8]||(o[8]=a=>n.$emit("quick-action",a))},null,8,["open","uploads-enabled","debug-ui"]),ae(ha,{open:e.modeMenuOpen,"mode-label":e.modeLabel,"mode-options":e.modeOptions,onToggle:o[9]||(o[9]=a=>n.$emit("toggle-mode-menu")),onSelectMode:o[10]||(o[10]=a=>n.$emit("select-mode",a))},null,8,["open","mode-label","mode-options"]),ae(ca,{ref_key:"approvalsMenuComponent",ref:r,open:e.approvalsMenuOpen,mode:e.toolApprovalsMode,onToggle:o[11]||(o[11]=a=>n.$emit("toggle-approvals-menu")),onSelect:o[12]||(o[12]=a=>n.$emit("set-approvals",a))},null,8,["open","mode"]),e.debugUi?(I(),R("label",Ua,[l("input",{checked:e.useStreamingQuery,type:"checkbox",class:"h-3 w-3",onChange:o[13]||(o[13]=a=>n.$emit("update:useStreamingQuery",a.target.checked))},null,40,Da),o[20]||(o[20]=l("span",null,"Streaming",-1))])):J("",!0)]),ae(De,{type:"button",disabled:e.sendDisabled,class:"h-8 px-4 text-xs",onClick:o[14]||(o[14]=a=>n.$emit("send"))},{default:Oe(()=>[Te(z(e.sendLabel),1)]),_:1},8,["disabled"])])]),_:1}),e.queryError||e.streamQueryError?(I(),R("div",Na,[l("p",ja,z(e.queryError||e.streamQueryError),1)])):(I(),R("div",Ba,[...o[21]||(o[21]=[l("p",{class:"text-[10px] text-text-secondary-light dark:text-text-secondary-dark"}," AI can make mistakes. Please review code. ",-1)])]))],32),l("input",{ref_key:"filePickerRef",ref:s,class:"hidden",type:"file",accept:"*/*",multiple:"",onChange:o[17]||(o[17]=a=>n.$emit("file-pick",a))},null,544)]))}}),La=Object.assign(za,{__name:"ChatComposer"}),Qa={class:"h-14 border-b border-border-light dark:border-border-dark flex items-center justify-between px-6 bg-background-light dark:bg-background-dark z-10 flex-shrink-0"},qa={class:"flex items-center gap-3 overflow-hidden"},Fa={class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark whitespace-nowrap truncate"},Wa={key:0,class:"hidden md:inline-flex items-center rounded text-[10px] border border-gray-200 dark:border-gray-700 text-text-secondary-light dark:text-text-secondary-dark font-mono px-2 py-0.5"},Va={class:"flex items-center gap-3 text-xs text-text-secondary-light dark:text-text-secondary-dark"},Ga={class:"hidden sm:inline"},Ja=["title"],Ha={class:"material-icons-outlined text-base"},Ka=be({__name:"ChatHeader",props:{activeSessionTitle:{},activeSessionSummary:{},activeSessionCwdLabel:{},chatHeaderStats:{},darkMode:{type:Boolean}},emits:["reconnect","toggle-theme"],setup(e){return(t,s)=>(I(),R("header",Qa,[l("div",qa,[l("h1",Fa,z(e.activeSessionTitle||"New thread"),1),e.activeSessionCwdLabel?(I(),R("span",Wa,z(e.activeSessionCwdLabel),1)):J("",!0)]),l("div",Va,[l("span",Ga,z(e.chatHeaderStats),1),l("button",{class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary transition-colors",type:"button",title:e.darkMode?"Switch to light mode":"Switch to dark mode",onClick:s[0]||(s[0]=r=>t.$emit("toggle-theme"))},[l("span",Ha,z(e.darkMode?"light_mode":"dark_mode"),1)],8,Ja),l("button",{class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary transition-colors",type:"button",onClick:s[1]||(s[1]=r=>t.$emit("reconnect"))},[...s[2]||(s[2]=[l("span",{class:"material-icons-outlined text-base"},"refresh",-1)])])])]))}}),Ya=Object.assign(Ka,{__name:"ChatHeader"}),Xa={class:"message-renderer"},Za={key:1,class:"empty-message"},el=be({__name:"MessageRenderer",props:{content:{},emptyText:{default:"No content"}},setup(e){const t=e,s=Y(()=>t.content?.trim()||"");return(r,n)=>{const o=An("MarkdownRender");return I(),R("div",Xa,[s.value?(I(),rs(o,{key:0,content:s.value,"max-live-nodes":0,"batch-rendering":{renderBatchSize:16,renderBatchDelay:8},"enable-mermaid":!0,"enable-katex":!0},null,8,["content"])):(I(),R("div",Za,z(e.emptyText),1))])}}}),tl=Object.assign(En(el,[["__scopeId","data-v-ebde76cd"]]),{__name:"MessageRenderer"});function ts(e){if(!e)return"unknown";const t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toLocaleString()}function Ps(e){const t=e.updatedAt;if(t==null)return 0;if(typeof t=="number")return Number.isFinite(t)?t:0;const s=Date.parse(String(t));return Number.isNaN(s)?0:s}function sl(e){const t=e.updatedAt;if(!t)return"—";const s=typeof t=="number"?t:Date.parse(String(t));if(Number.isNaN(s))return"—";const r=Date.now()-s;if(!Number.isFinite(r))return"—";const n=Math.max(0,Math.floor(r/1e3));if(n<60)return"now";const o=Math.floor(n/60);if(o<60)return`${o}m`;const a=Math.floor(o/60);return a<24?`${a}h`:`${Math.floor(a/24)}d`}function Us(e){if(!e)return"—";const t=Number(e);return Number.isFinite(t)&&t>0?new Date(t).toLocaleString():ts(e)}function rl(e){return e.ts?e.ts:e.receivedAt??""}function nl(e){const t=e.payload??e.raw,s=typeof t=="string"?t:JSON.stringify(t,null,2);return s?s.length>600?`${s.slice(0,600)}...`:s:"No payload"}function ol(e){if(!e||Object.keys(e).length===0)return"No arguments";if("_raw"in e&&Object.keys(e).length===1)return String(e._raw??"");try{return JSON.stringify(e,null,2)}catch{return String(e)}}function al(e,t){const s=i=>{if(i==null)return"";if(typeof i=="string")return i;if(Array.isArray(i))return i.map(s).join("");if(i!=null&&typeof i=="object"&&!Array.isArray(i)){const w=i.text;if(typeof w=="string")return w;try{return JSON.stringify(i)}catch{return String(i)}}return String(i)},r=i=>{const w=i.trim();if(!w||!w.startsWith("{")&&!w.startsWith("["))return i;try{return JSON.stringify(JSON.parse(w),null,2)}catch{return i}},n=(i,w)=>{const A=String(i??"").split(`
|
|
2
|
-
`);return A.length<=w?i:`${A.slice(0,w).join(`
|
|
3
|
-
`)}
|
|
4
|
-
... (${A.length-w} more lines)`},o=s(e);if(!o)return"No output";const a=r(o);return String(t??"").toLowerCase()==="read"?n(a,24):a}function Ot(e){return e?typeof e.result=="string"?e.result:e.result?JSON.stringify(e.result,null,2):e.error?String(e.error):JSON.stringify(e,null,2):"No response"}function qe(){return typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`msg-${Math.random().toString(36).slice(2,8)}`}function ss(e){const t=String(e??"").replace(/\r/g,"");if(!t)return[];const s=t.split("```"),r=[];for(let n=0;n<s.length;n+=1){const o=s[n];if(n%2===1){const a=o.split(`
|
|
5
|
-
`),g=(a.shift()??"").trim(),i=a.join(`
|
|
6
|
-
`).replace(/\n$/,"");r.push({type:"code",content:i,language:g||void 0})}else o.trim()&&r.push({type:"text",content:o.trim()})}return r}function te(e){const t=String(e??"");return{type:"markdown",raw:t,blocks:ss(t)}}function pe(e,t,s,r,n){const o=t.length?t:[te("")];return{id:n??qe(),role:e,parts:o,ts:s??new Date().toISOString(),meta:r}}function ll(e,t){if(e.type!=="tool_call"||String(e.name??"").toLowerCase()!=="askuserquestion"||!e.callId)return!0;const s=t.find(r=>r.type==="tool_result"&&r.callId===e.callId);return s?s.status==="error":!0}const il={key:0,class:"h-8 w-8 rounded-full bg-indigo-100 dark:bg-indigo-900 flex items-center justify-center text-indigo-600 dark:text-indigo-300 shadow-sm mt-0.5"},cl={key:1,class:"flex-shrink-0 w-8 h-8 rounded-lg bg-primary flex items-center justify-center text-white shadow-glow mt-0.5"},dl={class:"max-w-[80%]"},ul={class:"space-y-3"},ml={key:0},fl={key:1},pl=["open"],gl={class:"cursor-pointer text-xs font-semibold text-text-secondary-light dark:text-text-secondary-dark"},vl={class:"mt-2 text-xs whitespace-pre-wrap"},hl={key:2},yl=["open"],bl={class:"cursor-pointer text-xs font-semibold text-text-secondary-light dark:text-text-secondary-dark"},xl={class:"mt-2 text-xs whitespace-pre-wrap"},kl={key:3},wl=["open"],Sl={class:"cursor-pointer text-xs font-semibold text-text-secondary-light dark:text-text-secondary-dark"},Cl={class:"mt-2 text-xs whitespace-pre-wrap"},$l={key:0,class:"mt-2 text-xs whitespace-pre-wrap"},Il={key:4},Al={class:"grid gap-2"},Ml=["src","alt"],Rl={class:"flex flex-col"},Tl={class:"text-xs font-medium text-text-primary-light dark:text-text-primary-dark"},El={key:0,class:"text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},_l={key:0,class:"mt-2 text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},Ol=be({__name:"ChatMessages",props:{messages:{}},setup(e,{expose:t}){const s=E(null);return t({messagesRef:s}),(r,n)=>(I(),R("div",{ref_key:"messagesRef",ref:s,class:"space-y-6"},[(I(!0),R(ye,null,Ae(e.messages,o=>(I(),R("div",{key:o.id,class:Ne(["flex gap-4",o.role==="user"?"flex-row-reverse":""])},[o.role==="user"?(I(),R("div",il,[...n[0]||(n[0]=[l("span",{class:"material-icons-outlined text-sm"},"person",-1)])])):(I(),R("div",cl,[...n[1]||(n[1]=[l("span",{class:"material-icons-outlined text-sm"},"auto_awesome",-1)])])),l("div",dl,[l("div",{class:Ne(["px-5 py-3.5 rounded-2xl text-sm leading-relaxed shadow-sm w-fit",o.role==="user"?"bg-gray-100 dark:bg-gray-800 text-text-primary-light dark:text-text-primary-dark rounded-tr-sm":"bg-surface-light dark:bg-surface-dark border border-border-light dark:border-border-dark text-text-primary-light dark:text-text-primary-dark"])},[l("div",ul,[(I(!0),R(ye,null,Ae(o.parts,(a,g)=>(I(),R(ye,{key:`${o.id}-${a.type}-${g}`},[a.type==="markdown"?(I(),R("div",ml,[ae(tl,{content:a.raw},null,8,["content"])])):a.type==="thinking"?(I(),R("div",fl,[l("details",{open:!a.collapsed,class:"rounded-md border border-border-light dark:border-border-dark p-3 bg-gray-50 dark:bg-gray-800/50"},[l("summary",gl,z(a.title),1),l("pre",vl,z(a.content),1)],8,pl)])):a.type==="tool_call"?(I(),R("div",hl,[l("details",{open:U(ll)(a,o.parts),class:"rounded-md border border-border-light dark:border-border-dark p-3 bg-gray-50 dark:bg-gray-800/50"},[l("summary",bl," Tool call: "+z(a.name),1),l("pre",xl,z(a.args),1)],8,yl)])):a.type==="tool_result"?(I(),R("div",kl,[l("details",{open:a.status==="error",class:"rounded-md border border-border-light dark:border-border-dark p-3 bg-gray-50 dark:bg-gray-800/50"},[l("summary",Sl," Tool result: "+z(a.name||"tool")+" · "+z(a.status),1),l("pre",Cl,z(a.output),1),a.structured?(I(),R("pre",$l,z(a.structured),1)):J("",!0)],8,wl)])):a.type==="attachments"?(I(),R("div",Il,[l("div",Al,[(I(!0),R(ye,null,Ae(a.items,(i,w)=>(I(),R("div",{key:`${o.id}-${g}-${w}`,class:"flex items-center gap-3 rounded-md border border-border-light dark:border-border-dark p-2 bg-white/60 dark:bg-white/5"},[i.kind==="image"&&i.url?(I(),R("img",{key:0,src:i.url,alt:i.label,class:"h-10 w-10 rounded object-cover"},null,8,Ml)):J("",!0),l("div",Rl,[l("span",Tl,z(i.label),1),i.meta?(I(),R("span",El,z(i.meta),1)):J("",!0)])]))),128))])])):J("",!0)],64))),128))])],2),U(Us)(o.ts)!=="—"?(I(),R("div",_l,z(U(Us)(o.ts)),1)):J("",!0)])],2))),128))],512))}}),Pl=Object.assign(Ol,{__name:"ChatMessages"});function Ul(e){return`${e.type}-${e.id??e.receivedAt}`}function Dl(e){return e&&typeof e=="object"?e:null}function ot(e){if(!e)return null;const t=e.sessionId??e.session_id;return typeof t=="string"&&t.trim()?t:null}function gt(e){if(!e)return null;const t=e.runId??e.run_id;return typeof t=="string"&&t.trim()?t:null}function Je(e){const t=Dl(e.payload);return t?("payload"in t&&t.payload&&typeof t.payload=="object"?t.payload:null)??t:null}function Yt(e){return gt(Je(e))}function _e(e){if(!e)return null;const t=typeof e.toolCallId=="string"?e.toolCallId:typeof e.tool_call_id=="string"?e.tool_call_id:typeof e.call_id=="string"?e.call_id:typeof e.callId=="string"?e.callId:typeof e.id=="string"?e.id:"";if(t&&t.trim())return t.trim();const r=(Array.isArray(e.tool_calls)?e.tool_calls:[])[0];return r&&typeof r.id=="string"&&r.id.trim()?r.id.trim():null}function Nt(e){if(!e)return null;const t=e.toolName??e.tool_name??e.name;if(typeof t=="string"&&t.trim())return t.trim();const s=e.function??e.tool;if(s&&typeof s=="object"){const o=s.name;return typeof o=="string"&&o.trim()?o.trim():null}const n=(Array.isArray(e.tool_calls)?e.tool_calls:[])[0];return n?.function?.name?String(n.function.name):null}function jt(e){if(!e)return{args:"",delta:""};const t=typeof e.argsTextDelta=="string"?e.argsTextDelta:typeof e.args_text_delta=="string"?e.args_text_delta:typeof e.argsDelta=="string"?e.argsDelta:"";let r=typeof e.argsText=="string"?e.argsText:typeof e.args_text=="string"?e.args_text:typeof e.args=="string"?e.args:"";if(!r){const a=(Array.isArray(e.tool_calls)?e.tool_calls:[])[0];if(a?.function?.arguments!=null){const g=a.function.arguments;if(typeof g=="string")r=g;else try{r=JSON.stringify(g,null,2)}catch{r=String(g)}}}const n=typeof e.originalEventType=="string"?e.originalEventType:"";return r&&(n==="tool_call_end"||!t)?{args:r,delta:""}:t?{args:t,delta:t}:{args:r,delta:""}}const Nl={class:"space-y-4"},jl={class:"rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark p-4 shadow-sm"},Bl={key:0,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark"},zl={key:1,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark"},Ll={key:2,class:"space-y-3"},Ql={class:"grid grid-cols-2 gap-2 text-xs"},ql={class:"text-text-secondary-light dark:text-text-secondary-dark"},Fl={class:"text-text-primary-light dark:text-text-primary-dark font-medium"},Wl={class:"flex flex-wrap gap-2"},Vl={class:"rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark p-4 shadow-sm"},Gl={class:"grid grid-cols-2 gap-2 text-xs"},Jl={class:"text-text-secondary-light dark:text-text-secondary-dark"},Hl={class:"rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark p-4 shadow-sm"},Kl={class:"text-xs text-text-secondary-light dark:text-text-secondary-dark mb-2"},Yl={class:"space-y-2 max-h-64 overflow-y-auto pr-1"},Xl={class:"flex items-center justify-between text-xs text-text-secondary-light dark:text-text-secondary-dark"},Zl={class:"font-medium text-text-primary-light dark:text-text-primary-dark"},ei={class:"mt-1"},ti={class:"mt-2 text-[10px] whitespace-pre-wrap"},si={key:0,class:"rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark p-4 shadow-sm"},ri={class:"text-xs text-text-secondary-light dark:text-text-secondary-dark mb-2"},ni={class:"mt-2 text-[10px] whitespace-pre-wrap"},oi=be({__name:"DebugPanel",props:{statusLoading:{type:Boolean},statusError:{},statusRows:{},capabilities:{},events:{},snapshotLabel:{},snapshotContent:{}},emits:["refresh","reconnect","capabilities","copy-origin"],setup(e){return(t,s)=>(I(),R("aside",Nl,[l("article",jl,[s[4]||(s[4]=l("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark mb-2"},"Status Snapshot",-1)),e.statusLoading?(I(),R("p",Bl," Loading /status snapshot... ")):e.statusError?(I(),R("p",zl,z(e.statusError),1)):(I(),R("div",Ll,[l("div",Ql,[(I(!0),R(ye,null,Ae(e.statusRows,r=>(I(),R("div",{key:r.label,class:"flex flex-col"},[l("span",ql,z(r.label),1),l("span",Fl,z(r.value),1)]))),128))]),l("div",Wl,[l("button",{class:"text-xs px-3 py-1 rounded border border-border-light dark:border-border-dark hover:border-primary",type:"button",onClick:s[0]||(s[0]=r=>t.$emit("refresh"))}," Refresh "),l("button",{class:"text-xs px-3 py-1 rounded border border-border-light dark:border-border-dark hover:border-primary",type:"button",onClick:s[1]||(s[1]=r=>t.$emit("reconnect"))}," Reconnect "),l("button",{class:"text-xs px-3 py-1 rounded border border-border-light dark:border-border-dark hover:border-primary",type:"button",onClick:s[2]||(s[2]=r=>t.$emit("capabilities"))}," Capabilities "),l("button",{class:"text-xs px-3 py-1 rounded border border-border-light dark:border-border-dark hover:border-primary",type:"button",onClick:s[3]||(s[3]=r=>t.$emit("copy-origin"))}," Copy origin ")])]))]),l("article",Vl,[s[5]||(s[5]=l("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark mb-2"},"Capabilities",-1)),l("div",Gl,[(I(!0),R(ye,null,Ae(e.capabilities,r=>(I(),R("div",{key:r.key,class:"flex items-center justify-between rounded border border-border-light dark:border-border-dark px-2 py-1"},[l("span",Jl,z(r.label),1),l("span",{class:Ne(r.enabled?"text-emerald-500":"text-red-500")},z(r.enabled?"Yes":"No"),3)]))),128))])]),l("article",Hl,[s[7]||(s[7]=l("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark mb-2"},"Event Stream",-1)),l("p",Kl," Most recent "+z(e.events.length)+" events ",1),l("div",Yl,[(I(!0),R(ye,null,Ae(e.events,r=>(I(),R("div",{key:U(Ul)(r),class:"rounded border border-border-light dark:border-border-dark p-2"},[l("div",Xl,[l("span",Zl,z(r.type),1),l("span",null,z(U(rl)(r)),1)]),l("details",ei,[s[6]||(s[6]=l("summary",{class:"cursor-pointer text-[11px] text-text-secondary-light dark:text-text-secondary-dark"}," Payload ",-1)),l("pre",ti,z(U(nl)(r)),1)])]))),128))])]),e.snapshotLabel?(I(),R("article",si,[s[9]||(s[9]=l("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark mb-2"},"Session Snapshot",-1)),l("p",ri,z(e.snapshotLabel),1),l("details",null,[s[8]||(s[8]=l("summary",{class:"cursor-pointer text-[11px] text-text-secondary-light dark:text-text-secondary-dark"}," Snapshot data ",-1)),l("pre",ni,z(e.snapshotContent),1)])])):J("",!0)]))}}),ai=Object.assign(oi,{__name:"DebugPanel"}),li=["onKeydown"],ii={class:"text-sm text-text-primary-light dark:text-text-primary-dark"},ci={class:"mt-4 flex justify-end gap-2"},di=["disabled"],ui=["disabled"],mi=be({__name:"DeleteDialog",props:{open:{type:Boolean},target:{},busy:{type:Boolean}},emits:["close","confirm"],setup(e,{expose:t,emit:s}){const r=s,n=E(null);function o(){r("close")}function a(){r("confirm")}return t({dialogEl:n}),(g,i)=>e.open?(I(),R("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/40 backdrop-blur-sm px-4",role:"presentation",onClick:o},[l("div",{ref_key:"dialogEl",ref:n,class:"w-full max-w-md rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark shadow-lg p-5",role:"dialog","aria-modal":"true",tabindex:"0",onClick:i[0]||(i[0]=ge(()=>{},["stop"])),onKeydown:[Qe(ge(o,["stop","prevent"]),["escape"]),Qe(ge(a,["stop","prevent"]),["enter"])]},[l("div",{class:"flex items-center justify-between mb-3"},[i[2]||(i[2]=l("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark"}," Delete session ",-1)),l("button",{class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",type:"button",onClick:o},[...i[1]||(i[1]=[l("span",{class:"material-icons-outlined text-base"},"close",-1)])])]),l("p",ii,[i[3]||(i[3]=Te(" This will permanently delete ",-1)),l("strong",null,z(e.target?.title||"this session"),1),i[4]||(i[4]=Te(" and its history. ",-1))]),l("div",ci,[l("button",{class:"text-xs px-3 py-1.5 rounded border border-border-light dark:border-border-dark",type:"button",disabled:e.busy,onClick:o}," Cancel ",8,di),l("button",{class:"text-xs px-3 py-1.5 rounded bg-red-500 text-white",type:"button",disabled:e.busy,onClick:a},z(e.busy?"Deleting…":"Delete"),9,ui)])],40,li)])):J("",!0)}}),fi=Object.assign(mi,{__name:"DeleteDialog"}),pi={class:"w-64 flex-shrink-0 bg-sidebar-light dark:bg-sidebar-dark border-r border-border-light dark:border-border-dark flex flex-col h-full transition-colors duration-200 overflow-x-hidden"},gi={class:"px-2 pt-4 space-y-0.5 mb-4"},vi={class:"flex items-center justify-between mb-4"},hi={class:"space-y-1 max-h-60 overflow-y-auto"},yi=["onClick"],bi={class:"min-w-0"},xi={class:"font-medium truncate"},ki={key:0,class:"text-[11px] text-text-secondary-light dark:text-text-secondary-dark truncate mt-0.5"},wi={class:"mt-4 flex justify-end"},Si={class:"flex-1 overflow-y-auto overflow-x-hidden px-2 space-y-1"},Ci={key:0,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark px-2 py-2"},$i={key:1,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark px-2 py-2"},Ii={class:"w-full rounded-md px-2 py-2 flex items-center gap-2 text-sm text-text-primary-light dark:text-text-primary-dark bg-gray-100/60 dark:bg-gray-800/50 group/folder"},Ai=["onClick"],Mi={class:"font-normal truncate"},Ri=["onClick"],Ti={key:0,class:"space-y-0.5 mt-1 overflow-x-hidden"},Ei=["onClick"],_i={class:"flex-1 min-w-0 truncate font-normal"},Oi={key:0,class:"absolute right-2 top-1/2 -translate-y-1/2 flex items-center gap-2 opacity-0 group-hover:opacity-100 transition-opacity duration-150"},Pi=["onClick"],Ui=["onClick"],Di=["value","onKeydown"],Ni={class:"mt-2 flex gap-2"},ji=["onClick"],Bi=["onClick"],zi={key:2,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark px-2 py-2"},Li={key:0,class:"px-3 pb-3 border-t border-border-light dark:border-border-dark pt-3"},Qi={class:"space-y-2"},qi=["onClick"],Fi={class:"font-medium"},Wi={class:"block text-[10px] text-text-secondary-light dark:text-text-secondary-dark mt-1"},Vi={class:"p-3 border-t border-border-light dark:border-border-dark"},Gi={class:"flex items-center justify-between text-[11px] text-text-secondary-light dark:text-text-secondary-dark"},Xt=10,Ji=be({__name:"SessionSidebar",props:{sessions:{},sessionsLoading:{type:Boolean},sessionsError:{},activeSessionId:{},editingSessionId:{},renameDraft:{},sessionNote:{},canManageSessions:{type:Boolean},debugUi:{type:Boolean},commandItems:{},lastUpdatedLabel:{},sessionCountLabel:{},activeSessionCwdLabel:{}},emits:["refresh","create","select","rename","delete","update:renameDraft","apply-rename","cancel-rename","copy-command"],setup(e){const t=e,s=E(!1),r=Y(()=>{const b=new Map;for(const c of t.sessions){const p=String(c.cwd??"").trim(),v=p||"__workspace__";b.has(v)||b.set(v,n(p))}return[...b.entries()].map(([c,p])=>({cwd:c==="__workspace__"?"":c,name:p})).sort((c,p)=>c.name.localeCompare(p.name))});function n(b){const c=String(b??"").trim();if(!c)return"workspace";const p=c.split(/[/\\]/).filter(Boolean);return p.length?p[p.length-1]??"workspace":"workspace"}const o=Y(()=>{const b=new Map;for(const c of t.sessions){const p=String(c.cwd??"").trim(),v=n(p),m=p||"__workspace__";b.has(m)||b.set(m,{folderName:v,sessions:[]}),b.get(m).sessions.push(c)}return[...b.entries()].map(([c,p])=>({key:c,...p})).sort((c,p)=>c.folderName.localeCompare(p.folderName))}),a=Is({}),g=Is({});function i(b){return a[b]!==!1}function w(b){a[b]=!i(b)}function A(b){return g[b.key]||b.sessions.length<=Xt?b.sessions:b.sessions.slice(0,Xt)}function M(b){return b.sessions.length>Xt}return(b,c)=>(I(),R("aside",pi,[l("nav",gi,[ae(De,{variant:"ghost",class:"w-full justify-start px-2 gap-2 text-text-secondary-light dark:text-text-secondary-dark hover:text-text-primary-light dark:hover:text-text-primary-dark text-sm",onClick:c[0]||(c[0]=p=>r.value.length>1?s.value=!0:b.$emit("create"))},{default:Oe(()=>[...c[11]||(c[11]=[l("span",{class:"material-icons-outlined text-[18px] shrink-0"},"edit",-1),l("span",{class:"font-normal truncate"}," New thread",-1)])]),_:1}),ae(De,{variant:"ghost",class:"w-full justify-start px-2 gap-2 text-text-secondary-light dark:text-text-secondary-dark hover:text-text-primary-light dark:hover:text-text-primary-dark text-sm",disabled:e.sessionsLoading,onClick:c[1]||(c[1]=p=>b.$emit("refresh"))},{default:Oe(()=>[...c[12]||(c[12]=[l("span",{class:"material-icons-outlined text-[18px] shrink-0"},"refresh",-1),l("span",{class:"font-normal truncate"},"Refresh",-1)])]),_:1},8,["disabled"])]),(I(),rs(Mn,{to:"body"},[s.value?(I(),R("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/40 backdrop-blur-sm px-4",role:"presentation",onClick:c[6]||(c[6]=p=>s.value=!1)},[l("div",{class:"w-full max-w-sm rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark shadow-lg p-5",role:"dialog","aria-modal":"true",tabindex:"0",onClick:c[4]||(c[4]=ge(()=>{},["stop"])),onKeydown:c[5]||(c[5]=Qe(ge(p=>s.value=!1,["stop","prevent"]),["escape"]))},[l("div",vi,[c[14]||(c[14]=l("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark"}," Choose workspace ",-1)),l("button",{class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",type:"button",onClick:c[2]||(c[2]=p=>s.value=!1)},[...c[13]||(c[13]=[l("span",{class:"material-icons-outlined text-base"},"close",-1)])])]),c[16]||(c[16]=l("p",{class:"text-xs text-text-secondary-light dark:text-text-secondary-dark mb-3"}," Select a workspace folder to create the new thread in. ",-1)),l("div",hi,[(I(!0),R(ye,null,Ae(r.value,p=>(I(),R("button",{key:p.cwd,type:"button",class:"w-full text-left rounded-md px-3 py-2.5 text-[13px] text-text-primary-light dark:text-text-primary-dark hover:bg-gray-100 dark:hover:bg-gray-800/60 flex items-center gap-3 transition-colors",onClick:v=>{s.value=!1,b.$emit("create",p.cwd)}},[c[15]||(c[15]=l("span",{class:"material-icons-outlined text-[18px] text-text-secondary-light dark:text-text-secondary-dark"},"folder",-1)),l("div",bi,[l("div",xi,z(p.name),1),p.cwd?(I(),R("div",ki,z(p.cwd),1)):J("",!0)])],8,yi))),128))]),l("div",wi,[l("button",{class:"text-xs px-3 py-1.5 rounded border border-border-light dark:border-border-dark text-text-primary-light dark:text-text-primary-dark",type:"button",onClick:c[3]||(c[3]=p=>s.value=!1)}," Cancel ")])],32)])):J("",!0)])),c[25]||(c[25]=l("div",{class:"px-4 py-2 flex items-center justify-between"},[l("span",{class:"text-[11px] font-semibold text-text-secondary-light dark:text-text-secondary-dark tracking-widest uppercase"}," Threads ")],-1)),l("div",Si,[e.sessionsError?(I(),R("p",Ci," Sessions unavailable: "+z(e.sessionsError),1)):e.sessions.length?J("",!0):(I(),R("p",$i,z(e.sessionsLoading?"Loading sessions…":"No sessions yet. Create one to start."),1)),(I(!0),R(ye,null,Ae(o.value,p=>(I(),R(ye,{key:p.key},[l("div",Ii,[l("button",{type:"button",class:"flex items-center gap-2 flex-1 min-w-0",onClick:v=>w(p.key)},[l("span",{class:Ne(["material-icons-outlined text-[18px] shrink-0",i(p.key)?"text-primary":"text-text-secondary-light dark:text-text-secondary-dark"])},z(i(p.key)?"folder_open":"folder"),3),l("span",Mi,z(p.folderName),1)],8,Ai),l("button",{type:"button",class:"shrink-0 w-5 h-5 flex items-center justify-center rounded text-text-secondary-light dark:text-text-secondary-dark hover:text-primary opacity-0 group-hover/folder:opacity-100 transition-opacity",title:"New thread in this folder",onClick:ge(v=>b.$emit("create",p.key==="__workspace__"?"":p.key),["stop"])},[...c[17]||(c[17]=[l("span",{class:"material-icons-outlined text-[16px]"},"add",-1)])],8,Ri)]),i(p.key)?(I(),R("div",Ti,[(I(!0),R(ye,null,Ae(A(p),v=>(I(),R("div",{key:v.id,class:"group relative max-w-full"},[l("button",{type:"button",class:Ne(["w-full min-w-0 text-left rounded-md pl-9 pr-2 py-1.5 transition-colors text-[13px] leading-snug flex items-center gap-3",v.id===e.activeSessionId?"bg-primary text-primary-foreground shadow-soft":"text-text-primary-light dark:text-text-primary-dark hover:bg-gray-100 dark:hover:bg-gray-800/60"]),onClick:m=>b.$emit("select",v.id)},[l("span",_i,z(v.title||"Untitled"),1),l("span",{class:Ne(["shrink-0 text-[11px] text-text-secondary-light dark:text-text-secondary-dark whitespace-nowrap group-hover:opacity-0 transition-opacity",v.id===e.activeSessionId?"text-primary-foreground/80":""])},z(U(sl)(v)),3)],10,Ei),e.canManageSessions&&e.editingSessionId!==v.id?(I(),R("div",Oi,[l("button",{class:"h-6 w-6 rounded-md flex items-center justify-center bg-gray-100 dark:bg-gray-800 text-text-secondary-light dark:text-text-secondary-dark hover:text-primary border border-border-light dark:border-border-dark",type:"button",onClick:ge(m=>b.$emit("rename",v),["stop"])},[...c[18]||(c[18]=[l("span",{class:"material-icons-outlined text-[12px]"},"edit",-1)])],8,Pi),l("button",{class:"h-6 w-6 rounded-md flex items-center justify-center bg-gray-100 dark:bg-gray-800 text-red-500 hover:text-red-600 border border-border-light dark:border-border-dark",type:"button",onClick:ge(m=>b.$emit("delete",v),["stop"])},[...c[19]||(c[19]=[l("span",{class:"material-icons-outlined text-[12px]"},"delete",-1)])],8,Ui)])):J("",!0),e.editingSessionId===v.id?(I(),R("div",{key:1,class:"mt-2 rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark p-2",onClick:c[10]||(c[10]=ge(()=>{},["stop"]))},[l("input",{value:e.renameDraft,class:"w-full rounded-md border border-border-light dark:border-border-dark bg-transparent px-2 py-1 text-xs text-text-primary-light dark:text-text-primary-dark",type:"text",placeholder:"New session title",onInput:c[7]||(c[7]=m=>b.$emit("update:renameDraft",m.target.value)),onKeydown:[Qe(ge(m=>b.$emit("apply-rename",v),["prevent"]),["enter"]),c[8]||(c[8]=Qe(ge(m=>b.$emit("cancel-rename"),["prevent"]),["escape"]))]},null,40,Di),l("div",Ni,[ae(De,{size:"sm",class:"h-7 px-3",onClick:m=>b.$emit("apply-rename",v)},{default:Oe(()=>[...c[20]||(c[20]=[Te(" Save ",-1)])]),_:1},8,["onClick"]),ae(De,{variant:"ghost",size:"sm",class:"h-7 px-3",onClick:c[9]||(c[9]=m=>b.$emit("cancel-rename"))},{default:Oe(()=>[...c[21]||(c[21]=[Te(" Cancel ",-1)])]),_:1})])])):J("",!0)]))),128)),M(p)&&!g[p.key]?(I(),R("button",{key:0,type:"button",class:"w-full rounded-md px-2 py-1.5 text-[13px] text-text-secondary-light dark:text-text-secondary-dark hover:text-primary hover:bg-gray-100 dark:hover:bg-gray-800/60 transition-colors flex items-center justify-center gap-1",onClick:v=>g[p.key]=!0},[...c[22]||(c[22]=[l("span",null,"Show more",-1),l("span",{class:"material-icons-outlined text-[14px]"},"expand_more",-1)])],8,ji)):J("",!0),M(p)&&g[p.key]?(I(),R("button",{key:1,type:"button",class:"w-full rounded-md px-2 py-1.5 text-[13px] text-text-secondary-light dark:text-text-secondary-dark hover:text-primary hover:bg-gray-100 dark:hover:bg-gray-800/60 transition-colors flex items-center justify-center gap-1",onClick:v=>g[p.key]=!1},[...c[23]||(c[23]=[l("span",null,"Show less",-1),l("span",{class:"material-icons-outlined text-[14px]"},"expand_less",-1)])],8,Bi)):J("",!0)])):J("",!0)],64))),128)),e.sessionNote?(I(),R("p",zi,z(e.sessionNote),1)):J("",!0)]),e.debugUi?(I(),R("div",Li,[c[24]||(c[24]=l("div",{class:"text-xs font-semibold text-text-secondary-light dark:text-text-secondary-dark mb-2"}," Command & Config ",-1)),l("div",Qi,[(I(!0),R(ye,null,Ae(e.commandItems,p=>(I(),R("button",{key:p.label,class:"w-full text-left rounded-md border border-border-light dark:border-border-dark px-2 py-2 text-[11px] text-text-primary-light dark:text-text-primary-dark hover:border-primary",type:"button",onClick:v=>b.$emit("copy-command",p.command,p.label)},[l("div",Fi,z(p.label),1),l("code",Wi,z(p.command),1)],8,qi))),128))])])):J("",!0),l("div",Vi,[l("div",Gi,[l("span",null,z(e.lastUpdatedLabel),1),l("span",null,z(e.sessionCountLabel),1)])])]))}}),Hi=Object.assign(Ji,{__name:"SessionSidebar"}),Ki=be({__name:"Toast",props:{visible:{type:Boolean},message:{},kind:{}},emits:["close"],setup(e,{emit:t}){const s=t;function r(){s("close")}return(n,o)=>e.visible?(I(),R("div",{key:0,class:Ne(["fixed bottom-4 right-4 z-50 rounded-md border px-3 py-2 text-xs shadow-lg cursor-pointer transition-colors",e.kind==="success"?"bg-emerald-50 border-emerald-500 text-emerald-700 dark:bg-emerald-500/10 dark:text-emerald-300":e.kind==="error"?"bg-red-50 border-red-500 text-red-700 dark:bg-red-500/10 dark:text-red-300":"bg-surface-light border-border-light text-text-primary-light dark:bg-surface-dark dark:border-border-dark dark:text-text-primary-dark"]),role:"alert",onClick:r},z(e.message),3)):J("",!0)}}),Yi=Object.assign(Ki,{__name:"Toast"}),Pt="Other";function Xi(){const e=E(!1),t=E([]),s=E({}),r=E({}),n=E(null),o=E(null),a=E(null),g=E(!1),i=E(null);function w(y){const C={},k={};for(let P=0;P<y.length;P+=1){const F=String(P),W=y[P];if(W?.multiSelect)C[F]=[];else{const K=W?.options?.[0]?.label;C[F]=K?[String(K)]:[]}k[F]=""}s.value=C,r.value=k}function A(y,C){return(s.value[String(y)]??[]).includes(C)}function M(y,C,k){const P=String(y);if(t.value[y]?.multiSelect){const W=new Set(s.value[P]??[]);k?W.add(C):W.delete(C),s.value={...s.value,[P]:Array.from(W)};return}k&&(s.value={...s.value,[P]:[C]})}function b(y,C,k){const P=k.target;M(y,C,!!P?.checked)}function c(){const y={};for(let C=0;C<t.value.length;C+=1){const k=String(C),P=t.value[C],F=s.value[k]??[],W=(r.value[k]??"").trim();if(P?.multiSelect){const K=F.filter(ne=>ne!==Pt);F.includes(Pt)&&W&&K.push(W),y[k]=K}else{const K=F[0]??"";y[k]=K===Pt?W:K}}return y}function p(y){if(!Array.isArray(y))return[];const C=[];for(const k of y){if(!k||typeof k!="object")continue;const P=typeof k.question=="string"?k.question:"",W=(typeof k.header=="string"?k.header:"")||"Question",ne=(Array.isArray(k.options)?k.options:[]).map(re=>({label:typeof re?.label=="string"?re.label:"",description:typeof re?.description=="string"?re.description:""})).filter(re=>re.label||re.description),ke=typeof k.multiSelect=="boolean"?k.multiSelect:typeof k.multi_select=="boolean"?k.multi_select:!1;(P||ne.length)&&C.push({question:P,header:W,options:ne,multiSelect:ke})}return C}function v(y){if(!y)return[];try{const C=JSON.parse(y);return p(C?.questions)}catch{return[]}}function m(y,C){const k=y.get(C);if(!k)return{toolCallId:"",questions:[]};for(const[P,F]of k.toolCalls){if(String(F.name??"").toLowerCase()!=="askuserquestion")continue;const W=v(F.args);return{toolCallId:String(P??""),questions:W}}return{toolCallId:"",questions:[]}}function O(y,C){const k=new Map,P=[];for(const F of y){const W=Je(F);if(!W)continue;const K=gt(W);if(!K||K!==C||F.type!=="tool.call")continue;const ne=_e(W);if(!ne)continue;const ke=Nt(W),{args:re,delta:ce}=jt(W),ve=!ce;k.has(ne)||P.push(ne);const L=k.get(ne)??{name:ke,args:""};k.set(ne,{name:L.name||ke,args:ve?re:`${L.args}${re}`})}for(const F of P){const W=k.get(F);if(!W||String(W.name??"").toLowerCase()!=="askuserquestion")continue;const K=v(W.args);return{toolCallId:F,questions:K}}return{toolCallId:"",questions:[]}}function T(y,C,k={}){const P=_e(y)??"";let F=p(y?.questions),W=P;if(!F.length||!W){const K=k.events&&k.streamRuns?O(k.events,C):k.streamRuns?m(k.streamRuns,C):{toolCallId:"",questions:[]};W||(W=K.toolCallId),F.length||(F=K.questions)}return{toolCallId:W,questions:F}}function x(y,C){for(let k=y.length-1;k>=0;k-=1){const P=y[k];if(P.type!=="requires_action")continue;const F=Je(P);if(!F)continue;const W=gt(F);if(!W||W!==C)continue;if(String(F?.kind??F?.action_kind??"")==="ask_user")return F}return null}function h(y,C,k,P){if(!C||!y.length){console.warn("AskUser required but questions are missing.");return}e.value&&a.value===P||(t.value=y,n.value=C,o.value=k,a.value=P,w(y),e.value=!0)}function S(y){g.value||(e.value=!1,t.value=[],s.value={},r.value={},n.value=null,o.value=null,a.value=null,y&&y())}return{ASK_USER_OTHER_LABEL:Pt,askUserDialogOpen:e,askUserQuestions:t,askUserSelections:s,askUserOtherInputs:r,askUserToolCallId:n,askUserSessionId:o,askUserRunId:a,askUserBusy:g,askUserDialogEl:i,initAskUserState:w,isAskUserSelected:A,updateAskUserSelection:M,onAskUserOptionChange:b,buildAskUserAnswers:c,normalizeAskUserQuestions:p,parseAskUserQuestionsFromArgs:v,findAskUserFromStreamRun:m,findAskUserFromEvents:O,resolveAskUserPayload:T,findAskUserRequiresActionPayload:x,openAskUserDialog:h,closeAskUserDialog:S}}function sr(e){const t=String(e??"").trim();return t?t.replace(/\/+$/,""):""}function rr(e,t,s){const r=sr(e),n=t.startsWith("/")?t:`/${t}`,o=`${r}${n}`;if(!s)return o;const a=o.includes("?")?"&":"?";return`${o}${a}cursor=${encodeURIComponent(s)}`}function Zi(){if(typeof window>"u")return"";try{const e=new URLSearchParams(window.location.search);return String(e.get("token")??"").trim()}catch{return""}}function nr(e,t,s){const r=String(s?.token??"").trim(),n=String(s?.cursor??"").trim(),o=rr(e,t,n||void 0);if(!r)return o;const a=o.includes("?")?"&":"?";return`${o}${a}token=${encodeURIComponent(r)}`}function Ut(e){const t=String(e??"").trim();if(!t)return null;try{return JSON.parse(t)}catch{return t}}async function Ee(e,t,s,r){const n=nr(e,t,r),o=await fetch(n,{credentials:"same-origin",headers:{"content-type":"application/json",...s?.headers??{}},...s}),a=await o.text(),g=Ut(a);if(!o.ok){const i=typeof g=="string"?g:JSON.stringify(g);throw new Error(`Request failed (${o.status}): ${i||o.statusText}`)}return g}function it(e="",t){const s=sr(e),r=String(Zi()).trim();async function n(v){return Ee(s,"/status",{method:"GET",signal:v},{token:r})}async function o(v,m,O,T){return Ee(s,"/query",{method:"POST",body:JSON.stringify({query:v,input:v,attachments:m,attachmentsBase64:O,toolContext:T?.toolContext,resume:T?.resume})})}async function a(v,m,O,T,x){return Ee(s,"/query",{method:"POST",body:JSON.stringify({query:v,input:v,sessionId:m,attachments:O,attachmentsBase64:T,toolContext:x?.toolContext,resume:x?.resume})})}async function g(){const v=await Ee(s,"/sessions",{method:"GET"},{token:r});return Array.isArray(v.sessions)?v.sessions:[]}async function i(v){return(await Ee(s,`/sessions/${encodeURIComponent(v)}`,{method:"GET"},{token:r})).session??null}async function w(v){const m=v?JSON.stringify({cwd:v}):void 0;return Ee(s,"/sessions",{method:"POST",body:m},{token:r})}async function A(v,m){return Ee(s,`/sessions/${encodeURIComponent(v)}/rename`,{method:"POST",body:JSON.stringify({title:m})})}async function M(v){return Ee(s,`/sessions/${encodeURIComponent(v)}`,{method:"DELETE"},{token:r})}async function b(){const v=await Ee(s,"/modes",{method:"GET"});return{currentMode:v.currentMode??"agent",availableModes:v.availableModes??[]}}async function c(v){const m=await Ee(s,"/modes/set",{method:"POST",body:JSON.stringify({mode:v})});return{currentMode:m.currentMode??"agent",availableModes:m.availableModes??[]}}async function p(v,m){const O=rr(s,"/query/stream"),T=await fetch(O,{method:"POST",credentials:"same-origin",headers:{"content-type":"application/json",accept:"text/event-stream"},body:JSON.stringify({query:v,input:v,sessionId:m.sessionId,attachments:m.attachments,attachmentsBase64:m.attachmentsBase64,toolContext:m.toolContext,resume:m.resume})});if(!T.ok){const P=await T.text(),F=Ut(P),W=typeof F=="string"?F:JSON.stringify(F);throw new Error(`Request failed (${T.status}): ${W||T.statusText}`)}if(!T.body)throw new Error("Response body is null");const x=T.body.getReader(),h=new TextDecoder;let S="",y=!1,C=!1;return(async()=>{try{let P={};for(;!y;){const{done:F,value:W}=await x.read();if(F)break;S+=h.decode(W,{stream:!0});const K=S.split(`
|
|
7
|
-
`);S=K.pop()||"";for(const ne of K){if(ne.startsWith(":"))continue;if(!ne.trim()){if(P.data){const ve=P.data,L=Ut(ve);if(L&&typeof L=="object"){const he=L,je=P.type||String(he.type||"message"),se={id:P.id??(he.id?String(he.id):void 0),type:je,ts:he.ts?String(he.ts):void 0,seq:typeof he.seq=="number"?he.seq:void 0,payload:he.payload,raw:ve,receivedAt:new Date().toISOString()};if(m.onEvent(se),je==="query.result"&&he.payload&&m.onComplete)m.onComplete(he.payload);else if(je==="query.error"&&he.payload&&m.onError){const _=he.payload;m.onError(new Error(_.error||"Query failed"))}}}P={};continue}const ke=ne.match(/^id:\s*(.*)$/),re=ne.match(/^event:\s*(.*)$/),ce=ne.match(/^data:\s*(.*)$/);ke?P.id=ke[1]:re?P.type=re[1]:ce&&(P.data=(P.data||"")+ce[1])}}}catch(P){!y&&m.onError&&m.onError(P instanceof Error?P:new Error(String(P)))}finally{if(!C)try{x.releaseLock(),C=!0}catch{}}})(),()=>{if(y=!0,!C)try{x.cancel(),x.releaseLock(),C=!0}catch{}}}return{fetchStatus:n,runQuery:o,runQueryWithSession:a,runQueryStream:p,fetchSessions:g,fetchSession:i,createSession:w,renameSession:A,deleteSession:M,fetchModes:b,setMode:c,uploadFile:async v=>{const m=nr(s,"/upload",{token:r}),O=new FormData;O.append("file",v);const T=await fetch(m,{method:"POST",body:O,credentials:"same-origin"}),x=await T.text(),h=Ut(x);if(!T.ok||!h?.file)throw new Error(h?.error||`Upload failed (${T.status})`);return h.file}}}function ec(e){const t=E([]),s=E(""),r=E(!1),n=E(null),o=E(!1),a=E(null),g=it();function i(h){try{URL.revokeObjectURL(h)}catch{}}function w(h){const S=t.value,y=S.find(C=>C.id===h);y?.localUrl&&i(y.localUrl),t.value=S.filter(C=>C.id!==h),t.value.length||(s.value="",r.value=!1)}function A(){for(const h of t.value)h.localUrl&&i(h.localUrl);t.value=[],s.value="",r.value=!1}async function M(h){h.status="uploading",h.error=void 0;try{const S=await g.uploadFile(h.file);h.remote={...S,name:S.name||h.name,mime:S.mime||h.mime,size:S.size||h.size,kind:h.mime.startsWith("image/")?"image":"file"},h.status="ready"}catch(S){h.status="error",h.error=S instanceof Error?S.message:String(S)}}async function b(h){if(!e.value){s.value="Uploads are disabled by the server.";return}s.value="";for(const S of h){const y=qe(),C={id:y,file:S,name:S.name||`attachment-${y.slice(0,6)}`,mime:S.type||"application/octet-stream",size:S.size,localUrl:URL.createObjectURL(S),status:"pending"};t.value=[...t.value,C],C.uploadPromise=M(C),C.uploadPromise}}function c(h){const S=h.clipboardData?.items;if(!S||!S.length)return;const y=[];for(const C of S)if(C.kind==="file"){const k=C.getAsFile();k&&y.push(k)}y.length&&(h.clipboardData?.getData("text")||h.preventDefault(),b(y))}function p(h){const S=h.dataTransfer?.files;if(!S||!S.length)return;const y=Array.from(S);y.length&&b(y)}function v(h){const S=h.target;if(!S?.files)return;const y=Array.from(S.files);S.value="",y.length&&b(y)}function m(){n.value?.click()}function O(){o.value=!1,m()}function T(){o.value=!o.value}async function x(){const h=t.value.filter(C=>C.status==="pending"&&!C.uploadPromise);for(const C of h)C.uploadPromise=M(C);const S=t.value.map(C=>C.uploadPromise).filter(C=>!!C);S.length&&await Promise.all(S);const y=t.value.filter(C=>C.status==="error");return y.length?(s.value=y[0]?.error??"Attachment upload failed.",[]):t.value.filter(C=>C.status==="ready"&&C.remote).map(C=>({...C.remote,name:C.remote?.name||C.name,mime:C.remote?.mime||C.mime,size:C.remote?.size||C.size,kind:C.remote?.kind||(C.mime.startsWith("image/")?"image":"file")}))}return{attachments:t,attachmentNote:s,attachmentsBase64:r,filePicker:n,composerMenuOpen:o,composerMenuEl:a,removeAttachment:w,clearAttachments:A,handlePaste:c,handleDrop:p,handleFilePick:v,openFilePicker:m,handleAddFile:O,toggleComposerMenu:T,ensureUploadsReady:x}}function tc(){const e=E(!1),t=E(null),s=E(!1),r=E(null);function n(a){t.value={id:a.id,title:a.title},e.value=!0}function o(){s.value||(e.value=!1,t.value=null)}return{deleteDialogOpen:e,deleteTarget:t,deleteBusy:s,deleteDialogEl:r,openDeleteDialog:n,closeDeleteDialog:o}}function sc(){const e=new Set(["Connected. Select a session and continue the conversation here.","Session is empty. Start chatting to add messages.","Chat cleared. Start a new conversation."]),t=E([{id:"welcome",role:"system",parts:[te("Connected. Select a session and continue the conversation here.")],ts:new Date().toISOString()}]),s=E(null),r=Y(()=>g(t.value));function n(x){if(x.role!=="system"||x.parts.length!==1)return!1;const h=x.parts[0];if(!h||h.type!=="markdown")return!1;const S=String(h.raw??"").trim();return e.has(S)}function o(x){return x.filter(h=>!n(h))}function a(){t.value=o(t.value)}function g(x){const h=[];for(const S of x){if(S.role!=="assistant"){h.push(S);continue}const y=h[h.length-1];if(!y||y.role!=="assistant"){h.push(S);continue}h[h.length-1]={...y,parts:[...y.parts,...S.parts],ts:S.ts||y.ts,meta:S.meta}}return h}function i(x,h){a(),t.value=[...t.value,pe(x,[te(h)])]}function w(x,h){if(!x)return;const S=typeof h=="string"?h:h&&typeof h=="object"&&"result"in h?String(h.result):JSON.stringify(h,null,2);t.value=t.value.map(y=>y.id!==x?y:{...y,parts:[te(S)],meta:void 0})}function A(x,h){a();const S=[];h.length&&S.push({type:"attachments",items:h}),x.trim()&&S.push(te(x)),t.value=[...t.value,pe("user",S)]}function M(x){if(!x)return;const h=()=>x?typeof x.result=="string"?x.result:x.result?JSON.stringify(x.result,null,2):x.error?String(x.error):JSON.stringify(x,null,2):"No response",S=t.value[t.value.length-1];(!S||S.role!=="assistant")&&i("assistant",h())}function b(){t.value=[pe("system",[te("Chat cleared. Start a new conversation.")])]}function c(x){t.value=x}async function p(x){await Le(),await Le();const h=x??s.value;h&&(h.scrollTop=h.scrollHeight)}function v(x,h){if(!x)return;const S=h?`Waiting for approval: ${h}`:"Waiting for approval",y="Waiting for approval";t.value=t.value.map(C=>{if(C.id!==x)return C;const k=C.parts??[],P=k.length>0&&k[0]?.type==="markdown"&&String(k[0].raw??"").startsWith(y)?[te(S),...k.slice(1)]:[te(S),...k];return{...C,parts:P,meta:void 0}})}function m(x){if(!x)return;const h="Waiting for your answers",S="Waiting for your answers";t.value=t.value.map(y=>{if(y.id!==x)return y;const C=y.parts??[],k=C.length>0&&C[0]?.type==="markdown"&&String(C[0].raw??"").startsWith(S)?[te(h),...C.slice(1)]:[te(h),...C];return{...y,parts:k,meta:void 0}})}function O(x){if(!x)return;const h="Waiting for approval";t.value=t.value.map(S=>{if(S.id!==x)return S;const y=S.parts??[];return y.length>0&&y[0]?.type==="markdown"&&String(y[0].raw??"").startsWith(h)?{...S,parts:y.slice(1)}:S})}function T(x){if(!x)return;const h="Waiting for your answers";t.value=t.value.map(S=>{if(S.id!==x)return S;const y=S.parts??[];return y.length>0&&y[0]?.type==="markdown"&&String(y[0].raw??"").startsWith(h)?{...S,parts:y.slice(1)}:S})}return{chatMessages:t,chatMessagesRef:s,renderMessages:r,mergeAssistantTurns:g,appendMessage:i,updateStreamingMessageFinal:w,appendUserMessageWithAttachments:A,ensureAssistantReply:M,clearChat:b,setChatMessages:c,removeSystemPlaceholders:a,scrollChatToBottom:p,markMessageAwaitingApproval:v,markMessageAwaitingAnswers:m,clearMessageAwaitingApproval:O,clearMessageAwaitingAnswers:T}}function rc(){const e=E("agent"),t=E(!1),s=E(null),r=it(),n=Y(()=>e.value.toUpperCase()),o=Y(()=>["agent","plan"]),a=Y(()=>`Message (${e.value.toUpperCase()} mode)...`);async function g(){try{const A=await r.fetchModes();e.value=A.currentMode}catch(A){console.error("Failed to fetch mode:",A)}}async function i(A){t.value=!1;try{const M=await r.setMode(A);e.value=M.currentMode}catch(M){console.error("Failed to set mode:",M),e.value=A}}function w(){t.value=!t.value}return{mode:e,modeMenuOpen:t,modeMenuEl:s,modeLabel:n,modeOptions:o,composerPlaceholder:a,fetchCurrentMode:g,setMode:i,toggleModeMenu:w}}function nc(){const e=E(""),t=E(!1),s=E(null),r=E(null),n=E(null),o=it();async function a(i,w,A,M,b){const c=(i??e.value).trim(),p=Array.isArray(A)&&A.length>0,v=!!b?.resume;if(!c&&!p&&!v){s.value="Query cannot be empty.";return}t.value=!0,s.value=null;try{r.value=w?await o.runQueryWithSession(c,w,A,M,b):await o.runQuery(c,A,M,b),n.value=new Date().toISOString()}catch(m){s.value=m instanceof Error?m.message:String(m),r.value=null}finally{t.value=!1}}function g(i){e.value=i}return{input:e,loading:t,error:s,response:r,lastRunAt:n,run:a,setInput:g}}function oc(){const e=E(""),t=E(!1),s=E(null),r=E(null),n=E([]),o=E(null),a=it();let g=null;async function i(b,c,p,v,m){const O=(b??e.value).trim(),T=Array.isArray(p)&&p.length>0,x=!!m?.resume;if(!O&&!T&&!x){s.value="Query cannot be empty.";return}g&&(g(),g=null),t.value=!0,s.value=null,n.value=[],r.value=null;try{g=await a.runQueryStream(O,{sessionId:c,attachments:p,attachmentsBase64:v,toolContext:m?.toolContext,resume:m?.resume,onEvent:h=>{n.value=[...n.value,h]},onComplete:h=>{r.value=h,t.value=!1,o.value=new Date().toISOString()},onError:h=>{s.value=h.message,t.value=!1}})}catch(h){s.value=h instanceof Error?h.message:String(h),t.value=!1}}function w(){g&&(g(),g=null,t.value=!1)}function A(b){e.value=b}function M(){n.value=[]}return{input:e,loading:t,error:s,response:r,events:n,lastRunAt:o,run:i,stop:w,setInput:A,clearEvents:M}}function ac(){const e=E(null),t=E(!1),s=E(null),r=E(null),n=it();async function o(){t.value=!0,s.value=null;try{e.value=await n.fetchStatus(),r.value=new Date().toISOString()}catch(a){s.value=a instanceof Error?a.message:String(a)}finally{t.value=!1}}return{status:e,loading:t,error:s,lastUpdated:r,refresh:o}}function lc(e){const t=E(""),s=E([]),r=E(null),n=E(""),o=E(""),a=E(""),g=Y(()=>[...e.sessionsError.value?s.value.length?s.value:[{id:"local",title:"Main Session",summary:"Local-only session",updatedAt:void 0}]:e.remoteSessions.value].sort((x,h)=>{const S=Ps(x),y=Ps(h);if(S!==y)return y-S;const C=String(x.title??""),k=String(h.title??""),P=C.localeCompare(k);return P!==0?P:String(x.id??"").localeCompare(String(h.id??""))})),i=Y(()=>!e.sessionsError.value),w=Y(()=>{const T=g.value.find(h=>h.id===t.value);if(T?.title)return T.title;const x=String(r.value?.state?.title??"").trim();return x||(g.value[0]?.title??"Main")}),A=Y(()=>{if(!(!t.value||t.value==="local"))return t.value}),M=Y(()=>{const T=g.value.find(x=>x.id===t.value);return T&&"summary"in T&&T.summary?T.summary:"Shared CLI session"}),b=Y(()=>{const x=g.value.find(y=>y.id===t.value)?.cwd,h=r.value?.metadata?.cwd??r.value?.state?.context?.cwd;return String(x??h??"").trim()||"—"});function c(T){e.sessionsError.value||(n.value=T.id,o.value=T.title,a.value="")}function p(){n.value="",o.value=""}async function v(T){if(e.sessionsError.value)return;const x=o.value.trim();if(!x){a.value="Title cannot be empty.";return}if(await e.renameRemoteSession(T.id,x),e.sessionsError.value){a.value=`Rename failed: ${e.sessionsError.value}`;return}if(a.value=`Renamed session to: ${x}`,T.id===t.value){const h=await e.fetchSession(T.id);h&&(r.value=h)}n.value="",o.value=""}async function m(T,x,h,S){const y=x??t.value;if(!y||y==="local")return!1;const C=T===void 0?await e.fetchSession(y):T;return C?(r.value=C,t.value=y,!0):(r.value=null,!1)}async function O(T){if(!e.sessionsError.value){const S=await e.createRemoteSession(T);await e.refreshSessions();const y=S?.session?.id??S?.id;return y?(t.value=String(y),String(y)):null}const x=qe(),h={id:x,title:`Local ${x.slice(0,6)}`,updatedAt:Date.now()};return s.value=[h,...s.value],t.value=x,x}return{activeSessionId:t,localSessions:s,sessionSnapshot:r,editingSessionId:n,renameDraft:o,sessionNote:a,sessions:g,canManageSessions:i,activeSessionTitle:w,activeSessionQueryId:A,activeSessionSummary:M,activeSessionCwdLabel:b,startRename:c,cancelRename:p,applyRename:v,refreshActiveSession:m,createSession:O}}function ic(){const e=E([]),t=E(!1),s=E(!1),r=E(null),n=it();async function o(){t.value=!0,r.value=null;try{e.value=await n.fetchSessions()}catch(A){r.value=A instanceof Error?A.message:String(A),e.value=[]}finally{t.value=!1}}async function a(A){t.value=!0,r.value=null;try{const M=await n.createSession(A);return await o(),M}catch(M){r.value=M instanceof Error?M.message:String(M)}finally{t.value=!1}}async function g(A){s.value=!0,r.value=null;try{return await n.fetchSession(A)}catch(M){return r.value=M instanceof Error?M.message:String(M),null}finally{s.value=!1}}async function i(A,M){t.value=!0,r.value=null;try{const b=await n.renameSession(A,M);return await o(),b}catch(b){r.value=b instanceof Error?b.message:String(b)}finally{t.value=!1}}async function w(A){t.value=!0,r.value=null;try{await n.deleteSession(A),await o()}catch(M){r.value=M instanceof Error?M.message:String(M)}finally{t.value=!1}}return{sessions:e,loading:t,sessionLoading:s,error:r,refresh:o,create:a,fetchSession:g,rename:i,destroy:w}}function cc(){const e=E(null),t=E(null),s=new Map,r=new Set,n=E(null),o=E(!1),a=E(!1),g=E(null),i=E(!0);function w(c,p,v){const m=s.get(c);if(m)return m;if(p&&v.activeSessionId.value&&v.activeSessionId.value!=="local"&&v.activeSessionId.value!==p)return null;p&&(!v.activeSessionId.value||v.activeSessionId.value==="local")&&(v.activeSessionId.value=p);const O=v.createMessage("assistant",[v.buildMarkdownPart("")],new Date().toISOString(),"streaming");v.chatMessages.value=[...v.chatMessages.value,O];const T={runId:c,sessionId:p??void 0,messageId:O.id,textSegments:[],activeTextSegmentIndex:-1,hasDelta:!1,thinkingBlocks:[],activeThinkingIndex:-1,eventIndex:0,toolCalls:new Map,toolResults:new Map};return s.set(c,T),e.value=c,T}function A(c,p){const v=[],m=[];for(let O=0;O<c.thinkingBlocks.length;O+=1){const T=c.thinkingBlocks[O];m.push({kind:"thinking",order:T.order,index:O})}if(c.hasDelta)for(let O=0;O<c.textSegments.length;O+=1){const T=c.textSegments[O];T&&T.content&&m.push({kind:"text",order:T.order,segmentIndex:O})}for(const[O,T]of c.toolCalls)m.push({kind:"tool_call",order:T.order,callId:O});for(const[O,T]of c.toolResults)m.push({kind:"tool_result",order:T.order,callId:O});m.sort((O,T)=>O.order-T.order);for(const O of m){if(O.kind==="thinking"){const x=c.thinkingBlocks[O.index];if(!x)continue;v.push({type:"thinking",title:"Thinking",collapsed:!0,content:x.content});continue}if(O.kind==="text"){const x=c.textSegments[O.segmentIndex];if(!x)continue;v.push({type:"markdown",raw:x.content,blocks:ss(x.content)});continue}if(O.kind==="tool_call"){const x=c.toolCalls.get(O.callId);if(!x)continue;v.push({type:"tool_call",name:x.name,args:x.args||"No arguments",callId:O.callId});continue}const T=c.toolResults.get(O.callId);T&&v.push({type:"tool_result",name:T.name,output:T.output||"No output",status:T.status,callId:O.callId,structured:T.structured})}if(v.length===0){const O="Thinking…";v.push({type:"markdown",raw:O,blocks:ss(O)})}p.chatMessages.value=p.chatMessages.value.map(O=>O.id!==c.messageId?O:{...O,parts:v,meta:"streaming"})}function M(c,p){const v=s.get(c);v&&(s.delete(c),e.value===c&&(e.value=null),p.chatMessages.value=p.chatMessages.value.map(m=>m.id!==v.messageId?m:{...m,meta:void 0}))}function b(c){r.clear(),n.value=null,o.value=!1,a.value=!1,c.clearStreamQueryEvents();const p=qe();g.value=p,c.chatMessages.value=[...c.chatMessages.value,c.createMessage("assistant",[c.buildMarkdownPart("Thinking...")],new Date().toISOString(),"streaming",p)]}return{activeStreamRunId:e,lastStreamEventId:t,streamRuns:s,streamQueryRunIds:r,activeStreamQueryRunId:n,streamQueryHasDelta:o,streamQueryPaused:a,currentStreamMessageId:g,useStreamingQuery:i,ensureStreamRun:w,updateStreamMessage:A,finalizeStreamRun:M,beginStreamQueryMessage:b}}let Ge;function dc(){const e=E(""),t=E("info"),s=E(!1);function r(){s.value=!1,Ge&&(clearTimeout(Ge),Ge=void 0)}function n(o,a="info",g=2200){e.value=o,t.value=a,s.value=!0,Ge&&clearTimeout(Ge),Ge=globalThis.setTimeout(()=>{s.value=!1,Ge=void 0},g)}return{toastMessage:e,toastKind:t,toastVisible:s,showToast:n,hideToast:r}}const Ds="goatchain:tool-approvals";function uc(){const e=E("auto"),t=E(!1),s=E([]),r=E(null),n=E(null),o=E(!1),a=E(null),g=Y(()=>s.value[0]??null),i=Y(()=>s.value.length);function w(){if(!(typeof window>"u"))try{const m=window.localStorage.getItem(Ds);e.value=m==="all"?"all":"auto"}catch{e.value="auto"}}function A(m){if(!(typeof window>"u"))try{window.localStorage.setItem(Ds,m)}catch{}}function M(m,O){const T={};if((O||e.value==="all")&&(T.autoApprove=!0),m&&Object.keys(m).length>0&&(T.decisions=m),!!Object.keys(T).length)return{approval:T}}function b(m,O){const T=new Map,x=[],h=new Set;for(const S of m){const y=Je(S);if(!y)continue;const C=gt(y);if(!(!C||C!==O)){if(S.type==="tool.call"){const k=_e(y);if(!k)continue;const P=Nt(y),{args:F,delta:W}=jt(y),K=!W;T.has(k)||x.push(k);const ne=T.get(k)??{name:P,args:""};T.set(k,{name:ne.name||P,args:K?F:`${ne.args}${F}`});continue}if(S.type==="tool.result"){const k=_e(y);k&&h.add(k)}}}return x.filter(S=>!h.has(S)).map(S=>{const y=T.get(S);return{toolCallId:S,toolName:y?.name||"tool",args:y?.args||"No arguments"}})}function c(m,O){const T=m.get(O);if(!T)return[];const x=[];for(const[h,S]of T.toolCalls)T.toolResults.has(h)||x.push({toolCallId:h,toolName:S.name,args:S.args||"No arguments"});return x}function p(m,O,T){if(!O){console.warn("Approval required but session id is missing.");return}if(!(t.value&&n.value===T)){if(!m.length){console.warn("Approval required but no tool calls were found.");return}if(e.value==="all"){s.value=[],r.value=O,n.value=T;return}s.value=m,r.value=O,n.value=T,t.value=!0}}function v(m){o.value||(t.value=!1,s.value=[],r.value=null,n.value=null,m&&m())}return{toolApprovalsMode:e,approvalDialogOpen:t,approvalRequests:s,approvalSessionId:r,approvalRunId:n,approvalBusy:o,approvalDialogEl:a,activeApproval:g,approvalCount:i,loadToolApprovalsMode:w,persistToolApprovalsMode:A,buildToolContext:M,collectPendingApprovalsFromEvents:b,collectPendingApprovalsFromRun:c,openApprovalDialog:p,closeApprovalDialog:v}}function Bt(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function mc(e){if(Bt(e))return e;if(typeof e=="string"){const t=e.trim();if(!t)return{};try{const s=JSON.parse(t);return Bt(s)?s:{_raw:e}}catch{return{_raw:e}}}return{}}function Zt(e){const t=e?.context?.messages,s=Array.isArray(t)?t:[];if(!s.length)return[pe("system",[te("Session is empty. Start chatting to add messages.")])];const r=[],n=new Map,o=new Map;for(const a of s){const g=String(a?.role??""),i=String(a?.createdAt??a?.createdAtMs??a?.created_at??"");if(g==="user"){const{text:w,attachments:A}=Ns(a?.content),M=vc(w),b=[];M.focusFiles?.length&&b.push({type:"attachments",items:M.focusFiles.map(c=>({id:qe(),kind:"path",label:c}))}),A.length&&b.push({type:"attachments",items:A}),M.content.trim()&&b.push(te(M.content)),r.push(pe("user",b,i));continue}if(g==="assistant"){const w=[],A=or(a?.reasoning_content).trim();A&&w.push({type:"thinking",title:"Thinking",collapsed:!0,content:A});const{text:M,attachments:b}=Ns(a?.content);M.trim()&&w.push(te(M)),b.length&&w.push({type:"attachments",items:b});const c=Array.isArray(a?.tool_calls)?a.tool_calls:[];for(const p of c){const v=String(p?.id??"").trim(),m=String(p?.function?.name??"tool"),O=mc(p?.function?.arguments);v&&(n.set(v,r.length),o.set(v,m)),w.push({type:"tool_call",name:m,args:ol(O),callId:v||void 0})}r.push(pe("assistant",w,i));continue}if(g==="tool"){const w=String(a?.tool_call_id??"").trim(),A=w?o.get(w):void 0,M=al(a?.content,A);let b;if(a?.structuredContent)try{b=JSON.stringify(a.structuredContent,null,2)}catch{b=String(a.structuredContent)}const c={type:"tool_result",name:A,output:M,status:a?.isError?"error":"success",callId:w||void 0,structured:b},p=w?n.get(w):void 0;if(p!=null&&r[p]){const v=r[p];r[p]={...v,parts:[...v.parts,c]}}else r.push(pe("assistant",[c],i))}}return r.length?r:[pe("system",[te("Session is empty. Start chatting to add messages.")])]}function or(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(or).join("");if(Bt(e)){const t=e.text;if(typeof t=="string")return t;try{return JSON.stringify(e)}catch{return String(e)}}return String(e)}function Ns(e){const t=[],s=[],r=i=>{i&&t.push(i)},n=i=>{i&&s.push(i)},o=i=>{if(i==null)return;if(typeof i=="string"){r(i);return}if(Array.isArray(i)){for(const A of i)o(A);return}if(!Bt(i)){r(String(i));return}const w=String(i.type??"").toLowerCase();if(typeof i.text=="string"&&r(String(i.text)),w.includes("image")){const A=fc(i);n({id:qe(),kind:"image",label:i.name??"image",url:A??void 0,meta:A?void 0:"Image payload"});return}if(w.includes("file")){const{label:A,url:M,meta:b}=pc(i);n({id:qe(),kind:"file",label:A,url:M,meta:b});return}"text"in i||r(JSON.stringify(i))};o(e);const a=t.join(""),g=gc(a);return{text:g.text,attachments:[...s,...g.attachments]}}function fc(e){const t=e.image_url;if(typeof t=="string")return t;if(t&&typeof t=="object"&&typeof t.url=="string")return t.url;if(typeof e.url=="string")return e.url;const s=e.source;if(s&&typeof s=="object"){if(typeof s.url=="string")return s.url;if(typeof s.data=="string")return`data:${String(s.media_type??"image/png")};base64,${s.data}`}return null}function pc(e){const t=e.file,s=String(e.name??e.filename??t?.name??t?.filename??t?.id??"file"),r=typeof e.url=="string"?e.url:typeof t?.url=="string"?t.url:void 0,n=e.size??t?.size,o=e.mime_type??t?.mime_type??t?.type,a=[];return o&&a.push(String(o)),n&&a.push(`${n} bytes`),{label:s,url:r,meta:a.length?a.join(" · "):void 0}}function gc(e){let t=String(e??"");const s=[],r=/\[attachment_base64\][\s\S]*?\[\/attachment_base64\]/gi;t=t.replace(r,"").trim();const n=/\[attachments\]([\s\S]*?)\[\/attachments\]/i,o=t.match(n);if(o){const g=(o[1]??"").split(`
|
|
8
|
-
`);for(const i of g){const w=i.trim();if(!w.startsWith("-"))continue;const M=w.replace(/^-+\s*/,"").match(/^(.*?)\s*\(([^,]+),\s*([^)]+)\)\s*(.+)?$/);if(!M)continue;const b=M[1]?.trim()||"attachment",c=M[2]?.trim()||"",p=M[3]?.trim()||"",v=M[4]?.trim()||void 0,m=c.startsWith("image/")||v&&/\.(png|jpe?g|gif|webp|svg)$/i.test(v)?"image":"file";s.push({id:qe(),kind:m,label:b,url:v,meta:[c,p].filter(Boolean).join(" · ")})}t=t.replace(n,"").trim()}return{text:t,attachments:s}}function vc(e){const t=String(e??"").replace(/\r/g,"");if(!t)return{content:""};const s=t.split(`
|
|
9
|
-
`),r=String(s[0]??"").trim();if(r!=="[focus_files]"&&r!=="[user_focus_files]"){const g=(A=>{const M=String(A??"");if(!M)return null;const b=[];let c=0;for(;c<M.length;){for(;c<M.length&&(M[c]===" "||M[c]===" "||M[c]===`
|
|
10
|
-
`);)c+=1;const v=M.slice(c).match(/^\[([^\]]*)\]\(((?:\\\)|[^)])+)\)/);if(!v)break;let m=String(v[2]??"").trim();if(m.startsWith("<")&&m.endsWith(">")&&(m=m.slice(1,-1)),m=m.replace(/\\\)/g,")").trim(),!(m.startsWith("/")||/^[A-Z]:[\\/]/i.test(m)))break;m&&b.push(m),c+=v[0].length}if(!b.length)return null;let p=M.slice(c);return p=p.replace(/^[ \t]+/g,""),p.startsWith(`
|
|
11
|
-
|
|
12
|
-
`)?p=p.slice(2):(p.startsWith(`
|
|
13
|
-
`)||p.startsWith(" "))&&(p=p.slice(1)),{content:p,focusFiles:b}})(t);if(g)return g;const i=[];let w=0;for(;w<s.length;w+=1){const A=String(s[w]??"");if(!A.trim())break;const M=A.match(/^\s*\[([^\]]*)\]\((.+)\)\s*$/);if(!M)break;let b=String(M[2]??"").trim();if(b.startsWith("<")&&b.endsWith(">")&&(b=b.slice(1,-1)),b=b.replace(/\\\)/g,")").trim(),!(b.startsWith("/")||/^[A-Z]:[\\/]/i.test(b)))break;b&&i.push(b)}if(!i.length)return{content:t};for(;w<s.length&&!String(s[w]??"").trim();)w+=1;return{content:s.slice(w).join(`
|
|
14
|
-
`),focusFiles:i}}const n=[];let o=1;for(;o<s.length;o+=1){const a=String(s[o]??"");if(!a.trim())break;const g=a.match(/^\s*-\s*\[[^\]]*\]\((.+)\)\s*$/);if(!g)break;let i=String(g[1]??"").trim();i.startsWith("<")&&i.endsWith(">")&&(i=i.slice(1,-1)),i=i.replace(/\\\)/g,")").trim(),i&&n.push(i)}if(!n.length)return{content:t};for(;o<s.length&&!String(s[o]??"").trim();)o+=1;return{content:s.slice(o).join(`
|
|
15
|
-
`),focusFiles:n}}const hc={class:"h-full"},yc={class:"flex h-full w-full bg-background-light dark:bg-background-dark transition-colors duration-200"},bc={class:"flex-1 flex flex-col h-full relative bg-background-light dark:bg-background-dark overflow-hidden"},xc="AskUserTool.execute() was called without answers.",Sc=be({__name:"index",setup(e){function t(){if(typeof window>"u")return!1;const d=localStorage.getItem("goatchain-theme");return d==="dark"?!0:d==="light"?!1:window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches}const s=E(t());function r(d){typeof document>"u"||(document.documentElement.classList.toggle("dark",d),localStorage.setItem("goatchain-theme",d?"dark":"light"))}const{status:n,loading:o,error:a,lastUpdated:g,refresh:i}=ac(),w=E([]),A=E(null),M=d=>{},{loading:b,error:c,response:p,run:v}=nc(),{loading:m,error:O,response:T,events:x,run:h,stop:S,clearEvents:y}=oc(),{sessions:C,loading:k,error:P,refresh:F,create:W,fetchSession:K,rename:ne,destroy:ke}=ic(),re=E(!1),ce=E("");let ve=null;const L=dc(),he=tc(),je=rc(),se=sc(),_=cc(),fe=Y(()=>!!n.value?.capabilities?.uploads),xe=Y(()=>!!n.value?.capabilities?.images),He=ec(fe),de=lc({remoteSessions:C,sessionsError:P,fetchSession:K,renameRemoteSession:ne,destroyRemoteSession:ke,createRemoteSession:W,refreshSessions:F,snapshotToChatMessages:Zt}),H=Xi(),we=uc(),Ke=Y(()=>n.value?.serverVersion??"unknown"),Ye=Y(()=>ce.value||"pending"),ct=Y(()=>g.value?`Updated ${ts(g.value)}`:"Status pending"),Xe=Y(()=>P.value?"Sessions offline":`${de.sessions.value.length} sessions`),ar=Y(()=>{const d=n.value;return[{label:"Origin",value:Ye.value},{label:"Protocol",value:d?.protocolVersion??"unknown"},{label:"Server",value:Ke.value},{label:"Started",value:ts(d?.startedAt)},{label:"PID",value:d?.pid?String(d.pid):"unknown"},{label:"Port",value:d?.port?String(d.port):"unknown"},{label:"Cursor",value:d?.cursor?String(d.cursor):"—"}]}),lr=Y(()=>A.value?"received from event stream":n.value?.snapshot?"received from /status":""),ir=Y(()=>{const d=A.value??n.value?.snapshot;return d?typeof d=="string"?d:JSON.stringify(d,null,2):""}),cr=Y(()=>{const d=n.value?.capabilities??{},f=Object.entries(d),$={uploads:"Uploads",images:"Image preview",tools:"Tool calls",auth:"Auth required"};return f.map(([D,u])=>({key:D,label:$[D]??D,enabled:!!u})).sort((D,u)=>D.key.localeCompare(u.key))}),dr=Y(()=>{const d=de.sessionSnapshot.value,f=Number(d?.context?.messageCount??se.chatMessages.value.filter(ee=>ee.role!=="system").length)||0,$=d?.stats?.usage??{},D=Number($.promptTokens??$.prompt_tokens??0)||0,u=Number($.completionTokens??$.completion_tokens??0)||0,Q=Number($.totalTokens??$.total_tokens??0)||0||D+u;return[`${f} messages`,`${Q} tokens`].join(" · ")}),ur=Y(()=>[{label:"Start server",command:"dim server --open"},{label:"Start with token",command:"dim server --token <token> --open"},{label:"Check version",command:"dim version"},{label:"Config file",command:"cat ~/.dimcode/config.json"},{label:"Tools file",command:"cat ~/.dimcode/tools.json"}]),{showToast:le,hideToast:os,toastMessage:mr,toastKind:fr,toastVisible:pr}=L,{deleteDialogOpen:as,deleteTarget:zt,deleteBusy:vt,deleteDialogEl:gr,openDeleteDialog:vr,closeDeleteDialog:ls}=he,{modeMenuOpen:is,modeMenuEl:cs,modeLabel:hr,modeOptions:yr,composerPlaceholder:br,fetchCurrentMode:xr,setMode:kr,toggleModeMenu:wr}=je,{attachments:Lt,attachmentNote:Sr,attachmentsBase64:ht,composerMenuOpen:ds,composerMenuEl:us,removeAttachment:Cr,clearAttachments:Ze,handlePaste:$r,handleDrop:Ir,handleFilePick:Ar,handleAddFile:Mr,toggleComposerMenu:Rr,ensureUploadsReady:Tr}=He,{ASK_USER_OTHER_LABEL:Er,askUserDialogOpen:yt,askUserQuestions:_r,askUserSelections:Or,askUserOtherInputs:ms,askUserBusy:Qt,isAskUserSelected:Pr,onAskUserOptionChange:Ur,buildAskUserAnswers:Dr,openAskUserDialog:bt,closeAskUserDialog:xt}=H,{toolApprovalsMode:et,approvalDialogOpen:Fe,approvalRequests:Nr,approvalBusy:qt,activeApproval:Ft,approvalCount:jr,loadToolApprovalsMode:Br,persistToolApprovalsMode:fs,buildToolContext:kt,openApprovalDialog:zr,closeApprovalDialog:dt}=we,{chatMessages:Pe,renderMessages:Lr,appendMessage:tt,updateStreamingMessageFinal:Qr,appendUserMessageWithAttachments:qr,ensureAssistantReply:ps,clearChat:Fr,setChatMessages:gs,scrollChatToBottom:wt,markMessageAwaitingApproval:Wr,markMessageAwaitingAnswers:Vr,clearMessageAwaitingApproval:Gr,clearMessageAwaitingAnswers:Jr}=se,{activeSessionId:ue,editingSessionId:Hr,renameDraft:vs,sessionNote:St,sessions:Wt,canManageSessions:Kr,activeSessionTitle:Yr,activeSessionQueryId:Vt,activeSessionSummary:Xr,activeSessionCwdLabel:hs,startRename:Zr,cancelRename:en,applyRename:tn,refreshActiveSession:ut,createSession:sn}=de,Ct=E(""),Gt=E(!1),mt=E(!1),$t=E(null),It=E(null);function At(d,f){d&&($t.value=d,Wr(d,f))}function rn(){$t.value&&(Gr($t.value),$t.value=null)}function st(d){d&&(It.value=d,Vr(d))}function nn(){It.value&&(Jr(It.value),It.value=null)}const on=E(null),ys=E(null),bs=E(null),xs=E(null),Me=E(null),an=Y(()=>_.activeStreamRunId.value?"Running":m.value?"Streaming...":b.value?"Sending":"Send"),ln=Y(()=>b.value||m.value||!!_.activeStreamRunId.value||Fe.value||qt.value||yt.value||Qt.value);function ks(d,f,$){return!!($&&d==="AskUserQuestion"&&f.includes(xc))}function cn(d){mt.value=!1,et.value!==d&&(et.value=d,fs(d),le(d==="all"?"Tool approvals set to always allow.":"Tool approvals set to auto (prompt for high-risk tools).","success",2400))}function dn(){if(typeof window>"u")return!1;const d=new URLSearchParams(window.location.search);if(!d.has("debug"))return!1;const f=String(d.get("debug")??"").trim().toLowerCase();return!f||f==="1"||f==="true"||f==="yes"}function rt(){Fr(),Ze()}function Mt(d,f,$){if(!f){le("Approval required but session id is missing.","error",2600);return}if(!d.length){le("Approval required but no tool calls were found.","error",2600);return}if(et.value==="all"){we.approvalRequests.value=[],we.approvalSessionId.value=f,we.approvalRunId.value=$;const D={};for(const u of d)D[u.toolCallId]={approved:!0};Tt(D,{autoApprove:!0});return}zr(d,f,$)}async function un(){if(P.value||!zt.value||vt.value)return;vt.value=!0;const d=zt.value;if(await ke(d.id),vt.value=!1,P.value){St.value=`Delete failed: ${P.value}`;return}if(St.value=`Deleted session: ${d.title}`,ue.value===d.id){const f=C.value.filter($=>$.id!==d.id);f.length?await Rt(f[0].id):(ue.value="",de.sessionSnapshot.value=null,rt())}ls()}async function Rt(d){if(m.value&&S(),dt(()=>{_.streamQueryPaused.value=!1}),xt(()=>{_.streamQueryPaused.value=!1}),_.streamQueryPaused.value=!1,ue.value=d,St.value="",Ze(),_.currentStreamMessageId.value=null,d==="local"){de.sessionSnapshot.value=null,rt(),await wt(Me.value);return}const f=await K(d);if(await ut(f)&&de.sessionSnapshot.value){const D=Zt(de.sessionSnapshot.value);D.length>0?gs(D):rt()}else rt();await wt(Me.value)}async function mn(d){const f=await sn(d);if(P.value){rt();return}f&&await Rt(f)}async function ws(){if(Fe.value||qt.value||yt.value||Qt.value){le("Resolve the pending prompt before sending a new message.","info",2400);return}const d=Ct.value.trim(),f=Lt.value.length>0;if(!d&&!f)return;const $=f?await Tr():[];if(!(f&&!$.length)){if(f){const D=Lt.value.map(u=>({id:u.id,kind:u.mime.startsWith("image/")?"image":"file",label:u.name,url:u.localUrl,meta:u.status==="ready"?void 0:u.status}));qr(d,D)}else tt("user",d);if(Ct.value="",_.useStreamingQuery.value){_.beginStreamQueryMessage({clearStreamQueryEvents:y,createMessage:pe,buildMarkdownPart:te,chatMessages:se.chatMessages});const D=kt();h(d,Vt.value,$,ht.value,{toolContext:D})}else{await v(d,Vt.value,$,ht.value,{toolContext:kt()});const D=p.value?.sessionId;if(D&&D!==ue.value&&(ue.value=D),c.value){tt("assistant",`Error: ${c.value}`);return}c.value||Ze(),!P.value&&D?(await F(),await ut(void 0,D)?ps(p.value||{}):tt("assistant",Ot(p.value||{}))):tt("assistant",Ot(p.value||{}))}}}function fn(d){d.isComposing||Gt.value||(d.preventDefault(),ws())}function pn(){Gt.value=!0}function gn(){Gt.value=!1}function vn(){mt.value=!mt.value}async function hn(){await i(),a.value||M(n.value?.cursor)}async function Ss(){if(!m.value)if(ue.value&&ue.value!=="local")try{const d=await K(ue.value);if(await ut(d)&&de.sessionSnapshot.value){const $=Zt(de.sessionSnapshot.value);$.length>0?gs($):rt(),await wt(Me.value),le("Session refreshed","success")}else le("Failed to refresh session","error",2600)}catch(d){le(`Refresh failed: ${d}`,"error",2600)}else M(n.value?.cursor)}async function Cs(d){await v(d,Vt.value,void 0,void 0,{toolContext:kt()});const f=p.value?.sessionId;if(f&&f!==ue.value&&(ue.value=f),c.value){le(`Quick action failed: ${c.value}`,"error",2600);return}!P.value&&f?(await F(),await ut(void 0,f)?ps(p.value||{}):tt("assistant",Ot(p.value||{}))):tt("assistant",Ot(p.value||{})),le(`Ran quick query: ${d}`,"success")}async function yn(){if(!ce.value)return le("Origin not available yet.","error");try{await navigator.clipboard.writeText(ce.value),le("Origin copied to clipboard.","success")}catch{le("Clipboard unavailable. Copy manually.","error")}}async function bn(d,f){try{await navigator.clipboard.writeText(d),le(`Copied: ${f}`,"success")}catch{le("Clipboard unavailable. Copy manually.","error")}}async function Tt(d,f){const $=we.approvalSessionId.value??ue.value;if(!$||$==="local"){le("Cannot resume approvals without a session id.","error",2600);return}rn(),we.approvalBusy.value=!0;try{const D=kt(d,f?.autoApprove);m.value&&S(),_.beginStreamQueryMessage({clearStreamQueryEvents:y,createMessage:pe,buildMarkdownPart:te,chatMessages:se.chatMessages}),await h("",$,void 0,void 0,{resume:!0,toolContext:D})}catch(D){const u=D instanceof Error?D.message:String(D);le(`Resume failed: ${u}`,"error",2600)}finally{we.approvalBusy.value=!1}}async function $s(d,f,$){const D=H.askUserSessionId.value??ue.value;if(!D||D==="local"){le("Cannot resume AskUser without a session id.","error",2600);return}nn(),H.askUserBusy.value=!0;try{const u={answers:Object.keys(f).length?{[d]:f}:{}};$&&(u.rejected={[d]:$});const N={askUser:u};m.value&&S(),_.beginStreamQueryMessage({clearStreamQueryEvents:y,createMessage:pe,buildMarkdownPart:te,chatMessages:se.chatMessages}),await h("",D,void 0,void 0,{resume:!0,toolContext:N})}catch(u){const N=u instanceof Error?u.message:String(u);le(`Resume failed: ${N}`,"error",2600)}finally{H.askUserBusy.value=!1}}async function xn(){const d=H.askUserToolCallId.value;if(!d){le("AskUser tool call id is missing.","error",2600);return}const f=Dr();await $s(d,f),xt(()=>{_.streamQueryPaused.value=!1})}async function kn(){const d=H.askUserToolCallId.value;if(!d){xt(()=>{_.streamQueryPaused.value=!1});return}await $s(d,{},"User cancelled the question"),xt(()=>{_.streamQueryPaused.value=!1})}async function wn(){const d=Ft.value;if(!d)return;Fe.value=!1;const f={[d.toolCallId]:{approved:!0}};await Tt(f),dt(()=>{_.streamQueryPaused.value=!1})}async function Sn(){const d=Nr.value;if(!d.length)return;et.value="all",fs("all");const f={};for(const $ of d)f[$.toolCallId]={approved:!0};Fe.value=!1,await Tt(f,{autoApprove:!0}),dt(()=>{_.streamQueryPaused.value=!1}),le("Tool approvals set to always allow.","success",2400)}async function Cn(){const d=Ft.value;if(!d){dt(()=>{_.streamQueryPaused.value=!1});return}Fe.value=!1;const f={[d.toolCallId]:{approved:!1}};await Tt(f),dt(()=>{_.streamQueryPaused.value=!1})}function $n(d){const f=Je(d),$=gt(f),D=ot(f);if($&&!(D&&ue.value&&ue.value!=="local"&&ue.value!==D)){if(d.type==="thinking_start"){const u=_.ensureStreamRun($,D,{activeSessionId:de.activeSessionId,chatMessages:se.chatMessages,createMessage:pe,buildMarkdownPart:te});if(!u)return;u.activeTextSegmentIndex=-1,u.eventIndex+=1,u.activeThinkingIndex=u.thinkingBlocks.length,u.thinkingBlocks.push({content:"",order:u.eventIndex}),_.updateStreamMessage(u,{chatMessages:se.chatMessages});return}if(d.type==="thinking_delta"){const u=_.ensureStreamRun($,D,{activeSessionId:de.activeSessionId,chatMessages:se.chatMessages,createMessage:pe,buildMarkdownPart:te});if(!u)return;u.activeTextSegmentIndex=-1;const N=typeof f?.delta=="string"?f.delta:"";if(N){u.activeThinkingIndex<0&&(u.eventIndex+=1,u.activeThinkingIndex=u.thinkingBlocks.length,u.thinkingBlocks.push({content:"",order:u.eventIndex}));const Q=u.activeThinkingIndex,V=u.thinkingBlocks[Q];V&&(V.content=`${V.content??""}${N}`)}_.updateStreamMessage(u,{chatMessages:se.chatMessages});return}if(d.type==="thinking_end"){const u=_.ensureStreamRun($,D,{activeSessionId:de.activeSessionId,chatMessages:se.chatMessages,createMessage:pe,buildMarkdownPart:te});if(!u)return;u.activeTextSegmentIndex=-1;const N=typeof f?.content=="string"?f.content:"";if(N)if(u.activeThinkingIndex<0)u.eventIndex+=1,u.activeThinkingIndex=u.thinkingBlocks.length,u.thinkingBlocks.push({content:N,order:u.eventIndex});else{const Q=u.activeThinkingIndex,V=u.thinkingBlocks[Q];V&&(V.content=N)}u.activeThinkingIndex=-1,_.updateStreamMessage(u,{chatMessages:se.chatMessages});return}if(d.type==="message.delta"){const u=_.ensureStreamRun($,D,{activeSessionId:de.activeSessionId,chatMessages:se.chatMessages,createMessage:pe,buildMarkdownPart:te});if(!u)return;const N=String(f?.delta??"");if(N)if(u.hasDelta=!0,u.activeTextSegmentIndex>=0){const Q=u.textSegments[u.activeTextSegmentIndex];Q&&(Q.content+=N)}else u.eventIndex+=1,u.activeTextSegmentIndex=u.textSegments.length,u.textSegments.push({content:N,order:u.eventIndex});_.updateStreamMessage(u,{chatMessages:se.chatMessages});return}if(d.type==="tool.call"){const u=_.ensureStreamRun($,D,{activeSessionId:de.activeSessionId,chatMessages:se.chatMessages,createMessage:pe,buildMarkdownPart:te});if(!u)return;u.activeTextSegmentIndex=-1;const N=_e(f);if(!N)return;const Q=Nt(f)||"",{args:V,delta:ee}=jt(f);u.toolCalls.get(N)||(u.eventIndex+=1,u.toolCalls.set(N,{name:Q,args:ee?`${ee}`:V,order:u.eventIndex}));const q=u.toolCalls.get(N);q&&(!q.name&&Q&&(q.name=Q),ee?q.args=`${q.args??""}${ee}`:q.args||(q.args=V)),_.updateStreamMessage(u,{chatMessages:se.chatMessages});return}if(d.type==="tool.output"){const u=_.ensureStreamRun($,D,{activeSessionId:de.activeSessionId,chatMessages:se.chatMessages,createMessage:pe,buildMarkdownPart:te});if(!u)return;u.activeTextSegmentIndex=-1;const Q=(_e(f)??"")||"tool",V=typeof f?.delta=="string"?f.delta:"",ee=u.toolResults.get(Q);ee?u.toolResults.set(Q,{name:ee.name,output:`${ee.output??""}${V}`,status:ee.status??"success",structured:ee.structured,order:ee.order}):(u.eventIndex+=1,u.toolResults.set(Q,{name:u.toolCalls.get(Q)?.name,output:V,status:"success",structured:ee?.structured,order:u.eventIndex})),_.updateStreamMessage(u,{chatMessages:se.chatMessages});return}if(d.type==="tool.result"){const u=_.streamRuns.get($);if(!u)return;u.activeTextSegmentIndex=-1;const N=_e(f);if(!N)return;const Q=String(f?.output??""),V=!!(f?.isError??f?.error),ee=V?"error":"success",Se=u.toolCalls.get(N)?.name;if(ks(Se,Q,V))return;const q=u.toolResults.get(N||"tool");q||(u.eventIndex+=1),u.toolResults.set(N||"tool",{name:Se,output:Q||q?.output||"",status:ee,structured:f?.structuredContent?JSON.stringify(f.structuredContent):q?.structured,order:q?.order??u.eventIndex}),_.updateStreamMessage(u,{chatMessages:se.chatMessages});return}if(d.type==="run.status"){const u=typeof f?.status=="string"?f.status:"",N=typeof f?.stopReason=="string"?f.stopReason:"";if(u==="started"||u==="running"){_.ensureStreamRun($,D,{activeSessionId:de.activeSessionId,chatMessages:se.chatMessages,createMessage:pe,buildMarkdownPart:te});return}if(u==="completed"||u==="done"||u==="error"){if(N==="approval_required"){if(H.askUserRunId.value===$){const Se=_.streamRuns.get($);Se&&st(Se.messageId),_.finalizeStreamRun($,{chatMessages:se.chatMessages});return}const Q=_.streamRuns.get($),V=we.collectPendingApprovalsFromRun(_.streamRuns,$),ee=V[0]?.toolName;Q&&At(Q.messageId,ee),Mt(V,D??null,$)}_.finalizeStreamRun($,{chatMessages:se.chatMessages});return}return}if(d.type==="requires_action"){const u=String(f?.kind??f?.action_kind??"");if(u==="ask_user"){const N=H.resolveAskUserPayload(f,$,{events:w.value,streamRuns:_.streamRuns}),Q=_.streamRuns.get($);Q&&st(Q.messageId),N.questions.length&&bt(N.questions,N.toolCallId,D||null,$);return}if(u==="tool_approval"||u==="tool_approvals"){const N=_.streamRuns.get($),Q=we.collectPendingApprovalsFromRun(_.streamRuns,$),V=Q[0]?.toolName;N&&At(N.messageId,V),Mt(Q,D??null,$)}}}}function In(d){if(!_.useStreamingQuery.value||!m.value||!d.length)return null;const f=[];let $=-1;const D=[];let u=null;const N=new Map,Q=new Map,V=new Map,ee=[],Se=new Set,q=_.activeStreamQueryRunId.value;let X=0;const Ce=ie=>{Se.has(ie)||(Se.add(ie),ee.push(ie))};for(const ie of d){const Be=Yt(ie);if(q&&Be&&Be!==q)continue;const oe=Je(ie);if(oe){if(ie.type==="thinking_start"){$=-1,X+=1,u=D.length,D.push({content:"",order:X});continue}if(ie.type==="thinking_delta"){$=-1;const Z=typeof oe.delta=="string"?oe.delta:"";if(Z){(u==null||u<0)&&(X+=1,u=D.length,D.push({content:"",order:X}));const Ie=D[u];Ie&&(Ie.content=`${Ie.content??""}${Z}`)}continue}if(ie.type==="thinking_end"){$=-1;const Z=typeof oe.content=="string"?oe.content:"";if(Z)if(u==null||u<0)X+=1,D.push({content:Z,order:X});else{const $e=D[u];$e&&($e.content=Z)}u=null;continue}if(ie.type==="message.delta"){const Z=typeof oe.delta=="string"?oe.delta:"";if(Z)if($>=0){const $e=f[$];$e&&($e.content+=Z)}else X+=1,$=f.length,f.push({content:Z,order:X});continue}if(ie.type==="tool.call"){$=-1,X+=1;const Z=_e(oe)??`call-${ee.length}`,$e=Nt(oe)||"tool",{args:Ie,delta:Jt}=jt(oe),ft=!Jt;Ce(Z);const We=N.get(Z)??{name:$e,args:"",order:X};N.set(Z,{name:We.name||$e,args:ft?Ie:`${We.args}${Ie}`,order:We.order});continue}if(ie.type==="tool.output"){$=-1,X+=1;const Z=_e(oe)??"tool";Ce(Z);const $e=typeof oe.delta=="string"?oe.delta:"",Ie=Q.get(Z);V.has(Z)||V.set(Z,X),Q.set(Z,{name:Ie?.name??N.get(Z)?.name,output:`${Ie?.output??""}${$e}`,status:Ie?.status??"success",structured:Ie?.structured});continue}if(ie.type==="tool.result"){$=-1,X+=1;const Z=_e(oe)??"tool";Ce(Z);const $e=String(oe.output??""),Ie=!!(oe.isError??oe.error),Jt=N.get(Z)?.name;if(ks(Jt,$e,Ie))continue;let ft;if(oe.structuredContent)try{ft=JSON.stringify(oe.structuredContent)}catch{ft=String(oe.structuredContent)}V.has(Z)||V.set(Z,X);const We=Q.get(Z);Q.set(Z,{name:N.get(Z)?.name??We?.name,output:$e||We?.output||"",status:Ie?"error":"success",structured:ft??We?.structured})}}}return{textSegments:f,toolCalls:ee.map(ie=>{const Be=N.get(ie);return Be?{...Be,callId:ie}:null}).filter(Boolean),toolResults:ee.map(ie=>{const Be=Q.get(ie),oe=V.get(ie);return Be&&oe!=null?{...Be,callId:ie,order:oe}:null}).filter(Boolean),thinkingBlocks:D}}return Rn(async()=>{typeof window<"u"&&(ce.value=window.location.origin),re.value=dn(),Br(),await Promise.all([i(),F(),xr()]),!ue.value&&Wt.value.length>0&&await Rt(Wt.value[0].id),a.value||M(n.value?.cursor),ve=d=>{const f=d.target;us.value&&!us.value.contains(f)&&(ds.value=!1),cs.value&&!cs.value.contains(f)&&(is.value=!1);const $=ys.value?.approvalsMenuComponent?.menuEl;$&&!$.contains(f)&&(mt.value=!1)},window.addEventListener("mousedown",ve)}),Tn(()=>{ve&&window.removeEventListener("mousedown",ve),S(),Ze(),os()}),Re(n,d=>{d?.snapshot&&!A.value&&(A.value=d.snapshot)}),Re(s,d=>{r(d)},{immediate:!0}),Re(w,d=>{const f=d[0];if(!f)return;const $=f.id||`${f.type}-${f.receivedAt}`;if(_.lastStreamEventId.value===$)return;_.lastStreamEventId.value=$;const D=Yt(f);D&&_.streamQueryRunIds.has(D)||_.useStreamingQuery.value&&m.value&&_.currentStreamMessageId.value&&["run.status","message.delta","thinking_start","thinking_delta","thinking_end","tool.call","tool.output","tool.result","requires_action"].includes(f.type)||$n(f)}),Re(as,d=>{d&&Le(()=>gr.value?.focus())}),Re(Fe,d=>{d&&Le(()=>bs.value?.dialogEl?.focus())}),Re(yt,d=>{d&&Le(()=>xs.value?.dialogEl?.focus())}),Re(()=>Pe.value.length,async()=>{await Le(),await wt(Me.value)}),Re(()=>_.activeStreamRunId.value,async()=>{await Le(),Me.value&&(Me.value.scrollTop=Me.value.scrollHeight)}),Re(m,async(d,f)=>{if(d||!f)return;const $=_.currentStreamMessageId.value;if(!$)return;if(_.streamQueryPaused.value){Pe.value=Pe.value.map(N=>N.id!==$?N:{...N,meta:void 0}),_.currentStreamMessageId.value=null,Ze();return}const D=T.value?.runId;if(D&&typeof D=="string"&&(_.streamQueryRunIds.add(D),_.activeStreamQueryRunId.value||(_.activeStreamQueryRunId.value=D)),O.value){Pe.value=Pe.value.map(N=>N.id!==$?N:{...N,parts:[te(`Error: ${O.value||"Unknown error"}`)],meta:void 0}),_.currentStreamMessageId.value=null;return}!_.streamQueryHasDelta.value&&T.value&&Qr($,T.value),Pe.value=Pe.value.map(N=>N.id!==$?N:{...N,meta:void 0});const u=T.value?.sessionId;u&&u!==ue.value&&(ue.value=u),Ze(),!P.value&&u&&(await F(),await ut(void 0,u)),_.currentStreamMessageId.value=null}),Re(x,()=>{if(!_.useStreamingQuery.value||!_.currentStreamMessageId.value)return;const d=x.value[x.value.length-1],f=d?Yt(d):null,$=d?Je(d):null;f&&(_.streamQueryRunIds.add(f),_.activeStreamQueryRunId.value||(_.activeStreamQueryRunId.value=f));const D=f??_.activeStreamQueryRunId.value;if(D){const N=H.findAskUserRequiresActionPayload(x.value,D);if(N){const Q=H.resolveAskUserPayload(N,D,{events:x.value});_.streamQueryPaused.value=!0,st(_.currentStreamMessageId.value),bt(Q.questions,Q.toolCallId,ot(N),D);return}}if(d?.type==="message.delta"&&typeof $?.delta=="string"&&$.delta&&(_.streamQueryHasDelta.value=!0),d?.type==="requires_action"&&f){const N=String($?.kind??$?.action_kind??"");if(N==="ask_user"){const Q=H.resolveAskUserPayload($,f,{events:x.value});_.streamQueryPaused.value=!0,st(_.currentStreamMessageId.value),bt(Q.questions,Q.toolCallId,ot($),f);return}if(N==="tool_approval"||N==="tool_approvals"){_.streamQueryPaused.value=!0;const Q=ot($),V=we.collectPendingApprovalsFromEvents(x.value,f);At(_.currentStreamMessageId.value,V[0]?.toolName),Mt(V,Q,f);return}}if(d?.type==="run.status"&&(typeof $?.stopReason=="string"?$.stopReason:"")==="approval_required"&&f){const Q=H.findAskUserRequiresActionPayload(x.value,f);if(Q){const Se=H.resolveAskUserPayload(Q,f,{events:x.value});_.streamQueryPaused.value=!0,st(_.currentStreamMessageId.value),bt(Se.questions,Se.toolCallId,ot(Q),f);return}if(H.askUserRunId.value===f){st(_.currentStreamMessageId.value),_.streamQueryPaused.value=!0;return}_.streamQueryPaused.value=!0;const V=ot($),ee=we.collectPendingApprovalsFromEvents(x.value,f);At(_.currentStreamMessageId.value,ee[0]?.toolName),Mt(ee,V,f)}if(_.streamQueryPaused.value)return;const u=In(x.value);u&&(Pe.value=Pe.value.map(N=>{if(N.id!==_.currentStreamMessageId.value)return N;const Q=[],V=[];for(let q=0;q<u.thinkingBlocks.length;q+=1){const X=u.thinkingBlocks[q];V.push({kind:"thinking",order:X.order,index:q})}for(let q=0;q<u.textSegments.length;q+=1){const X=u.textSegments[q];X&&X.content&&V.push({kind:"text",order:X.order,segmentIndex:q})}for(const q of u.toolCalls)q.callId&&V.push({kind:"tool_call",order:q.order,callId:q.callId});for(const q of u.toolResults)q.callId&&V.push({kind:"tool_result",order:q.order,callId:q.callId});V.sort((q,X)=>q.order-X.order);const ee=new Map(u.toolCalls.filter(q=>q.callId).map(q=>[q.callId,q])),Se=new Map(u.toolResults.filter(q=>q.callId).map(q=>[q.callId,q]));for(const q of V){if(q.kind==="thinking"){const Ce=u.thinkingBlocks[q.index];if(!Ce)continue;Q.push({type:"thinking",title:"Thinking",collapsed:!0,content:Ce.content});continue}if(q.kind==="text"){const Ce=u.textSegments[q.segmentIndex];if(!Ce)continue;Q.push(te(Ce.content));continue}if(q.kind==="tool_call"){const Ce=ee.get(q.callId);if(!Ce)continue;Q.push({type:"tool_call",name:Ce.name,args:Ce.args||"No arguments",callId:Ce.callId});continue}const X=Se.get(q.callId);X&&Q.push({type:"tool_result",name:X.name,output:X.output||"No output",status:X.status,callId:X.callId,structured:X.structured})}return Q.length===0&&Q.push(te("Thinking...")),{...N,parts:Q,meta:"streaming"}}))}),Re(()=>x.value.length,async()=>{m.value&&(await Le(),Me.value&&(Me.value.scrollTop=Me.value.scrollHeight))}),(d,f)=>(I(),R("div",hc,[l("main",yc,[ae(Hi,{sessions:U(Wt),"sessions-loading":U(k),"sessions-error":U(P),"active-session-id":U(ue),"editing-session-id":U(Hr),"rename-draft":U(vs),"session-note":U(St),"can-manage-sessions":U(Kr),"debug-ui":re.value,"command-items":ur.value,"last-updated-label":ct.value,"session-count-label":Xe.value,"active-session-cwd-label":U(hs),onRefresh:U(F),onCreate:mn,onSelect:Rt,onRename:U(Zr),onDelete:U(vr),"onUpdate:renameDraft":f[0]||(f[0]=$=>{vs.value=$}),onApplyRename:U(tn),onCancelRename:U(en),onCopyCommand:bn},null,8,["sessions","sessions-loading","sessions-error","active-session-id","editing-session-id","rename-draft","session-note","can-manage-sessions","debug-ui","command-items","last-updated-label","session-count-label","active-session-cwd-label","onRefresh","onRename","onDelete","onApplyRename","onCancelRename"]),l("section",bc,[ae(Ya,{"active-session-title":U(Yr),"active-session-summary":U(Xr),"active-session-cwd-label":U(hs),"chat-header-stats":dr.value,"dark-mode":s.value,onReconnect:Ss,onToggleTheme:f[1]||(f[1]=$=>s.value=!s.value)},null,8,["active-session-title","active-session-summary","active-session-cwd-label","chat-header-stats","dark-mode"]),l("div",{ref_key:"chatScrollContainer",ref:Me,class:"flex-1 overflow-y-auto p-6 md:px-20 lg:px-32 xl:px-48 pb-48 md:pb-56"},[ae(Pl,{ref_key:"chatMessagesComponent",ref:on,messages:U(Lr)},null,8,["messages"]),re.value?(I(),rs(ai,{key:0,class:"mt-10","status-loading":U(o),"status-error":U(a),"status-rows":ar.value,capabilities:cr.value,events:w.value,"snapshot-label":lr.value,"snapshot-content":ir.value,onRefresh:hn,onReconnect:Ss,onCapabilities:f[2]||(f[2]=$=>Cs("List capabilities")),onCopyOrigin:yn},null,8,["status-loading","status-error","status-rows","capabilities","events","snapshot-label","snapshot-content"])):J("",!0)],512),ae(La,{ref_key:"chatComposerComponent",ref:ys,modelValue:Ct.value,"onUpdate:modelValue":f[3]||(f[3]=$=>Ct.value=$),placeholder:U(br),attachments:U(Lt),"uploads-enabled":fe.value,"images-enabled":xe.value,"attachments-base64":U(ht),"attachment-note":U(Sr),"composer-menu-open":U(ds),"mode-menu-open":U(is),"mode-label":U(hr),"mode-options":U(yr),"approvals-menu-open":mt.value,"tool-approvals-mode":U(et),"use-streaming-query":U(_).useStreamingQuery.value,"debug-ui":re.value,"send-label":an.value,"send-disabled":ln.value,"query-error":U(c),"stream-query-error":U(O),"onUpdate:attachmentsBase64":f[4]||(f[4]=$=>{ht.value=$}),"onUpdate:useStreamingQuery":f[5]||(f[5]=$=>{U(_).useStreamingQuery.value=$}),onDrop:U(Ir),onPaste:U($r),onCompositionstart:pn,onCompositionend:gn,onEnter:fn,onRemoveAttachment:U(Cr),onToggleComposerMenu:U(Rr),onToggleModeMenu:U(wr),onToggleApprovalsMenu:vn,onSetApprovals:cn,onAddFile:U(Mr),onQuickAction:Cs,onSelectMode:f[6]||(f[6]=$=>{U(kr)($)}),onSend:ws,onFilePick:U(Ar)},null,8,["modelValue","placeholder","attachments","uploads-enabled","images-enabled","attachments-base64","attachment-note","composer-menu-open","mode-menu-open","mode-label","mode-options","approvals-menu-open","tool-approvals-mode","use-streaming-query","debug-ui","send-label","send-disabled","query-error","stream-query-error","onDrop","onPaste","onRemoveAttachment","onToggleComposerMenu","onToggleModeMenu","onAddFile","onFilePick"])])]),ae(Yi,{visible:U(pr),message:U(mr),kind:U(fr),onClose:U(os)},null,8,["visible","message","kind","onClose"]),ae(Vn,{ref_key:"approvalDialogComponent",ref:bs,open:U(Fe),"active-approval":U(Ft),"approval-count":U(jr),busy:U(qt),"tool-approvals-mode":U(et),onReject:Cn,onApprove:wn,onApproveAll:Sn},null,8,["open","active-approval","approval-count","busy","tool-approvals-mode"]),ae(po,{ref_key:"askUserDialogComponent",ref:xs,open:U(yt),questions:U(_r),selections:U(Or),"other-inputs":U(ms),"other-label":U(Er),busy:U(Qt),"is-selected":U(Pr),onCancel:kn,onSubmit:xn,onOptionChange:U(Ur),"onUpdate:otherInputs":f[7]||(f[7]=$=>{ms.value=$})},null,8,["open","questions","selections","other-inputs","other-label","busy","is-selected","onOptionChange"]),ae(fi,{open:U(as),target:U(zt),busy:U(vt),onClose:U(ls),onConfirm:un},null,8,["open","target","busy","onClose"])]))}});export{Sc as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./Btu8KrP7.js";import{_ as i}from"./D5mZhIOc.js";import"./BSycTytT.js";import"./D8IUtoH8.js";import"./B8Q-DreI.js";import"./E7Ix3tcC.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./Btu8KrP7.js";import{_ as i}from"./D5mZhIOc.js";import"./BSycTytT.js";import"./D8IUtoH8.js";import"./B8Q-DreI.js";import"./E7Ix3tcC.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as e,b as r,a,S as s}from"./B5FXSUaH.js";import{_ as i}from"./D5mZhIOc.js";import"./D8IUtoH8.js";import"./B8Q-DreI.js";import"./E7Ix3tcC.js";var p={parser:a,get db(){return new s(2)},renderer:r,styles:e,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{p as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"id":"22b40a7e-8eee-4501-b316-2c22cfdaea8b","timestamp":1770376787654,"prerendered":[]}
|