dimcode 0.0.13-beta.1 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/assets/gui/200.html +12 -0
  2. package/assets/gui/404.html +12 -0
  3. package/assets/gui/_nuxt/B4BeXTM8.js +1 -0
  4. package/assets/gui/_nuxt/BTTJEMKv.js +42 -0
  5. package/assets/gui/_nuxt/CBflTB_3.js +1 -0
  6. package/assets/gui/_nuxt/Cd_MtzEZ.js +957 -0
  7. package/assets/gui/_nuxt/DLcXGJ1M.js +261 -0
  8. package/assets/gui/_nuxt/DTsXV384.js +2 -0
  9. package/assets/gui/_nuxt/DlAUqK2U.js +1 -0
  10. package/assets/gui/_nuxt/DzShUmTH.js +1 -0
  11. package/assets/gui/_nuxt/KaTeX_AMS-Regular.BQhdFMY1.woff2 +0 -0
  12. package/assets/gui/_nuxt/KaTeX_AMS-Regular.DMm9YOAa.woff +0 -0
  13. package/assets/gui/_nuxt/KaTeX_AMS-Regular.DRggAlZN.ttf +0 -0
  14. package/assets/gui/_nuxt/KaTeX_Caligraphic-Bold.ATXxdsX0.ttf +0 -0
  15. package/assets/gui/_nuxt/KaTeX_Caligraphic-Bold.BEiXGLvX.woff +0 -0
  16. package/assets/gui/_nuxt/KaTeX_Caligraphic-Bold.Dq_IR9rO.woff2 +0 -0
  17. package/assets/gui/_nuxt/KaTeX_Caligraphic-Regular.CTRA-rTL.woff +0 -0
  18. package/assets/gui/_nuxt/KaTeX_Caligraphic-Regular.Di6jR-x-.woff2 +0 -0
  19. package/assets/gui/_nuxt/KaTeX_Caligraphic-Regular.wX97UBjC.ttf +0 -0
  20. package/assets/gui/_nuxt/KaTeX_Fraktur-Bold.BdnERNNW.ttf +0 -0
  21. package/assets/gui/_nuxt/KaTeX_Fraktur-Bold.BsDP51OF.woff +0 -0
  22. package/assets/gui/_nuxt/KaTeX_Fraktur-Bold.CL6g_b3V.woff2 +0 -0
  23. package/assets/gui/_nuxt/KaTeX_Fraktur-Regular.CB_wures.ttf +0 -0
  24. package/assets/gui/_nuxt/KaTeX_Fraktur-Regular.CTYiF6lA.woff2 +0 -0
  25. package/assets/gui/_nuxt/KaTeX_Fraktur-Regular.Dxdc4cR9.woff +0 -0
  26. package/assets/gui/_nuxt/KaTeX_Main-Bold.Cx986IdX.woff2 +0 -0
  27. package/assets/gui/_nuxt/KaTeX_Main-Bold.Jm3AIy58.woff +0 -0
  28. package/assets/gui/_nuxt/KaTeX_Main-Bold.waoOVXN0.ttf +0 -0
  29. package/assets/gui/_nuxt/KaTeX_Main-BoldItalic.DxDJ3AOS.woff2 +0 -0
  30. package/assets/gui/_nuxt/KaTeX_Main-BoldItalic.DzxPMmG6.ttf +0 -0
  31. package/assets/gui/_nuxt/KaTeX_Main-BoldItalic.SpSLRI95.woff +0 -0
  32. package/assets/gui/_nuxt/KaTeX_Main-Italic.3WenGoN9.ttf +0 -0
  33. package/assets/gui/_nuxt/KaTeX_Main-Italic.BMLOBm91.woff +0 -0
  34. package/assets/gui/_nuxt/KaTeX_Main-Italic.NWA7e6Wa.woff2 +0 -0
  35. package/assets/gui/_nuxt/KaTeX_Main-Regular.B22Nviop.woff2 +0 -0
  36. package/assets/gui/_nuxt/KaTeX_Main-Regular.Dr94JaBh.woff +0 -0
  37. package/assets/gui/_nuxt/KaTeX_Main-Regular.ypZvNtVU.ttf +0 -0
  38. package/assets/gui/_nuxt/KaTeX_Math-BoldItalic.B3XSjfu4.ttf +0 -0
  39. package/assets/gui/_nuxt/KaTeX_Math-BoldItalic.CZnvNsCZ.woff2 +0 -0
  40. package/assets/gui/_nuxt/KaTeX_Math-BoldItalic.iY-2wyZ7.woff +0 -0
  41. package/assets/gui/_nuxt/KaTeX_Math-Italic.DA0__PXp.woff +0 -0
  42. package/assets/gui/_nuxt/KaTeX_Math-Italic.flOr_0UB.ttf +0 -0
  43. package/assets/gui/_nuxt/KaTeX_Math-Italic.t53AETM-.woff2 +0 -0
  44. package/assets/gui/_nuxt/KaTeX_SansSerif-Bold.CFMepnvq.ttf +0 -0
  45. package/assets/gui/_nuxt/KaTeX_SansSerif-Bold.D1sUS0GD.woff2 +0 -0
  46. package/assets/gui/_nuxt/KaTeX_SansSerif-Bold.DbIhKOiC.woff +0 -0
  47. package/assets/gui/_nuxt/KaTeX_SansSerif-Italic.C3H0VqGB.woff2 +0 -0
  48. package/assets/gui/_nuxt/KaTeX_SansSerif-Italic.DN2j7dab.woff +0 -0
  49. package/assets/gui/_nuxt/KaTeX_SansSerif-Italic.YYjJ1zSn.ttf +0 -0
  50. package/assets/gui/_nuxt/KaTeX_SansSerif-Regular.BNo7hRIc.ttf +0 -0
  51. package/assets/gui/_nuxt/KaTeX_SansSerif-Regular.CS6fqUqJ.woff +0 -0
  52. package/assets/gui/_nuxt/KaTeX_SansSerif-Regular.DDBCnlJ7.woff2 +0 -0
  53. package/assets/gui/_nuxt/KaTeX_Script-Regular.C5JkGWo-.ttf +0 -0
  54. package/assets/gui/_nuxt/KaTeX_Script-Regular.D3wIWfF6.woff2 +0 -0
  55. package/assets/gui/_nuxt/KaTeX_Script-Regular.D5yQViql.woff +0 -0
  56. package/assets/gui/_nuxt/KaTeX_Size1-Regular.C195tn64.woff +0 -0
  57. package/assets/gui/_nuxt/KaTeX_Size1-Regular.Dbsnue_I.ttf +0 -0
  58. package/assets/gui/_nuxt/KaTeX_Size1-Regular.mCD8mA8B.woff2 +0 -0
  59. package/assets/gui/_nuxt/KaTeX_Size2-Regular.B7gKUWhC.ttf +0 -0
  60. package/assets/gui/_nuxt/KaTeX_Size2-Regular.Dy4dx90m.woff2 +0 -0
  61. package/assets/gui/_nuxt/KaTeX_Size2-Regular.oD1tc_U0.woff +0 -0
  62. package/assets/gui/_nuxt/KaTeX_Size3-Regular.CTq5MqoE.woff +0 -0
  63. package/assets/gui/_nuxt/KaTeX_Size3-Regular.DgpXs0kz.ttf +0 -0
  64. package/assets/gui/_nuxt/KaTeX_Size4-Regular.BF-4gkZK.woff +0 -0
  65. package/assets/gui/_nuxt/KaTeX_Size4-Regular.DWFBv043.ttf +0 -0
  66. package/assets/gui/_nuxt/KaTeX_Size4-Regular.Dl5lxZxV.woff2 +0 -0
  67. package/assets/gui/_nuxt/KaTeX_Typewriter-Regular.C0xS9mPB.woff +0 -0
  68. package/assets/gui/_nuxt/KaTeX_Typewriter-Regular.CO6r4hn1.woff2 +0 -0
  69. package/assets/gui/_nuxt/KaTeX_Typewriter-Regular.D3Ib7_Hf.ttf +0 -0
  70. package/assets/gui/_nuxt/ULB_ug-y.js +2511 -0
  71. package/assets/gui/_nuxt/_baseUniq-BP57Elhf.js +1 -0
  72. package/assets/gui/_nuxt/arc-Y1WZXZUo.js +1 -0
  73. package/assets/gui/_nuxt/architectureDiagram-VXUJARFQ-aO7Rb24c.js +36 -0
  74. package/assets/gui/_nuxt/blockDiagram-VD42YOAC-B3uFbaWi.js +122 -0
  75. package/assets/gui/_nuxt/builds/latest.json +1 -0
  76. package/assets/gui/_nuxt/builds/meta/23cb514b-b517-423e-9289-35684b02b352.json +1 -0
  77. package/assets/gui/_nuxt/c4Diagram-YG6GDRKO-DHJl7yiB.js +10 -0
  78. package/assets/gui/_nuxt/channel-DpNic2cF.js +1 -0
  79. package/assets/gui/_nuxt/chunk-4BX2VUAB-CWm83ERH.js +1 -0
  80. package/assets/gui/_nuxt/chunk-55IACEB6-Du_n8jC4.js +1 -0
  81. package/assets/gui/_nuxt/chunk-B4BG7PRW-BTzCu0pf.js +165 -0
  82. package/assets/gui/_nuxt/chunk-DI55MBZ5-DBddr-cr.js +220 -0
  83. package/assets/gui/_nuxt/chunk-FMBD7UC4-8fDVfHv2.js +15 -0
  84. package/assets/gui/_nuxt/chunk-QN33PNHL-CR7hsK0L.js +1 -0
  85. package/assets/gui/_nuxt/chunk-QZHKN3VN-DaFYAnGP.js +1 -0
  86. package/assets/gui/_nuxt/chunk-TZMSLE5B-BjCFOyRb.js +1 -0
  87. package/assets/gui/_nuxt/classDiagram-2ON5EDUG-CqyEtcjO.js +1 -0
  88. package/assets/gui/_nuxt/classDiagram-v2-WZHVMYZB-CqyEtcjO.js +1 -0
  89. package/assets/gui/_nuxt/clone-DCFnqWq9.js +1 -0
  90. package/assets/gui/_nuxt/cose-bilkent-S5V4N54A-CA9LZ8Zj.js +1 -0
  91. package/assets/gui/_nuxt/css.worker-BL6kSyU1.js +93 -0
  92. package/assets/gui/_nuxt/cytoscape.esm-5J0xJHOV.js +321 -0
  93. package/assets/gui/_nuxt/dagre-6UL2VRFP-CBQSftkS.js +4 -0
  94. package/assets/gui/_nuxt/defaultLocale-CCNgq9ws.js +1 -0
  95. package/assets/gui/_nuxt/diagram-PSM6KHXK-DsTyKY6m.js +24 -0
  96. package/assets/gui/_nuxt/diagram-QEK2KX5R-D9APFlGs.js +43 -0
  97. package/assets/gui/_nuxt/diagram-S2PKOQOG-IKVKLS18.js +24 -0
  98. package/assets/gui/_nuxt/editor.worker-BDzEcYpU.js +26 -0
  99. package/assets/gui/_nuxt/entry.CEtVlF9V.css +1 -0
  100. package/assets/gui/_nuxt/erDiagram-Q2GNP2WA-CH15dTWb.js +60 -0
  101. package/assets/gui/_nuxt/error-404.DF6r4GP7.css +1 -0
  102. package/assets/gui/_nuxt/error-500.Bo5pzFPU.css +1 -0
  103. package/assets/gui/_nuxt/flowDiagram-NV44I4VS-zt5vccS4.js +162 -0
  104. package/assets/gui/_nuxt/ganttDiagram-JELNMOA3-DvD26RKf.js +267 -0
  105. package/assets/gui/_nuxt/gitGraphDiagram-NY62KEGX-BEF64eCN.js +65 -0
  106. package/assets/gui/_nuxt/graph-CvZayWR8.js +1 -0
  107. package/assets/gui/_nuxt/html.worker-BJUDQ4P_.js +470 -0
  108. package/assets/gui/_nuxt/index.BGLZpmxK.css +1 -0
  109. package/assets/gui/_nuxt/infoDiagram-WHAUD3N6-BqqPKCej.js +2 -0
  110. package/assets/gui/_nuxt/init-Gi6I4Gst.js +1 -0
  111. package/assets/gui/_nuxt/journeyDiagram-XKPGCS4Q-D37U2RLk.js +139 -0
  112. package/assets/gui/_nuxt/json.worker-CbPvaBPT.js +58 -0
  113. package/assets/gui/_nuxt/kanban-definition-3W4ZIXB7-o0rG_onk.js +89 -0
  114. package/assets/gui/_nuxt/katex-XbL3y5x-.js +261 -0
  115. package/assets/gui/_nuxt/layout-BVt2QQzT.js +1 -0
  116. package/assets/gui/_nuxt/linear-CjtgffNP.js +1 -0
  117. package/assets/gui/_nuxt/min-CuqY3rK3.js +1 -0
  118. package/assets/gui/_nuxt/mindmap-definition-VGOIOE7T-4BDFzlaj.js +68 -0
  119. package/assets/gui/_nuxt/ordinal-Cboi1Yqb.js +1 -0
  120. package/assets/gui/_nuxt/pieDiagram-ADFJNKIX-DOY587kc.js +30 -0
  121. package/assets/gui/_nuxt/quadrantDiagram-AYHSOK5B-C0uhckN3.js +7 -0
  122. package/assets/gui/_nuxt/requirementDiagram-UZGBJVZJ-D0pHyv4t.js +64 -0
  123. package/assets/gui/_nuxt/sankeyDiagram-TZEHDZUN-B9uFH2wG.js +10 -0
  124. package/assets/gui/_nuxt/sequenceDiagram-WL72ISMW-CmLKcFaQ.js +145 -0
  125. package/assets/gui/_nuxt/stateDiagram-FKZM4ZOC-DXLM32ee.js +1 -0
  126. package/assets/gui/_nuxt/stateDiagram-v2-4FDKWEC3-Bwg-9iwU.js +1 -0
  127. package/assets/gui/_nuxt/timeline-definition-IT6M3QCI-Bz55IcKP.js +61 -0
  128. package/assets/gui/_nuxt/treemap-KMMF4GRG-D3QBlffy.js +128 -0
  129. package/assets/gui/_nuxt/ts.worker-BkEcNiLV.js +67718 -0
  130. package/assets/gui/_nuxt/vendor-katex.ltkKqWhd.css +1 -0
  131. package/assets/gui/_nuxt/vendor-markstream.D6yyxftE.css +1 -0
  132. package/assets/gui/_nuxt/xychartDiagram-PRI3JC2R-CPU3Crx9.js +7 -0
  133. package/assets/gui/favicon.ico +0 -0
  134. package/assets/gui/index.html +12 -0
  135. package/assets/gui/robots.txt +2 -0
  136. package/dist/cli.mjs +751 -749
  137. package/package.json +2 -2
@@ -0,0 +1,42 @@
1
+ import{f as he,r as T,c as u,g as U,o as c,a as s,F as re,h as ve,i as Le,j as ue,t as E,k as jn,l as Ln,m as Dn,n as z,p as q,b as ee,w as we,d as ge,q as Y,s as Ha,v as xt,x as Ka,y as Xa,T as ar,z as ir,A as Me,B as Un,C as rt,D as nt,E as Ya,G as Bn,H as bn,I as Or,J as Za}from"./Cd_MtzEZ.js";import{_ as yt}from"./DlAUqK2U.js";const eo={class:"flex items-center justify-between mb-3"},to={class:"space-y-4"},ro={key:0,class:"space-y-4"},no={class:"flex items-start gap-2 mb-3"},so={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"},ao={class:"text-sm text-text-primary-light dark:text-text-primary-dark"},oo={class:"space-y-2"},io=["type","name","checked","onChange"],lo={class:"font-medium"},co={class:"text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},uo={key:0,class:"space-y-2"},mo={class:"flex items-start gap-2 text-xs text-text-primary-light dark:text-text-primary-dark"},fo=["type","name","checked","onChange"],po={class:"font-medium"},go=["value","onInput"],xo={key:1,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark"},yo={class:"mt-4 flex justify-end gap-2"},vo=["disabled"],ho=["disabled"],bo=he({__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:r}){const t=T(null);return r({dialogEl:t}),(n,a)=>e.open?(c(),u("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:a[5]||(a[5]=o=>n.$emit("cancel"))},[s("div",{ref_key:"dialogEl",ref:t,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:a[3]||(a[3]=ue(()=>{},["stop"])),onKeydown:a[4]||(a[4]=Le(ue(o=>n.$emit("cancel"),["stop","prevent"]),["escape"]))},[s("div",eo,[a[7]||(a[7]=s("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark"}," Answer questions ",-1)),s("button",{class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",type:"button",onClick:a[0]||(a[0]=o=>n.$emit("cancel"))},[...a[6]||(a[6]=[s("span",{class:"material-icons-outlined text-base"},"close",-1)])])]),s("div",to,[a[9]||(a[9]=s("p",{class:"text-xs text-text-secondary-light dark:text-text-secondary-dark"}," Provide answers to let the agent continue. ",-1)),e.questions.length?(c(),u("div",ro,[(c(!0),u(re,null,ve(e.questions,(o,i)=>(c(),u("div",{key:`ask-${i}`,class:"rounded-md border border-border-light dark:border-border-dark p-3"},[s("div",no,[s("span",so,E(o.header),1),s("p",ao,E(o.question),1)]),s("div",oo,[(c(!0),u(re,null,ve(o.options||[],d=>(c(),u("label",{key:d.label,class:"flex items-start gap-2 text-xs text-text-primary-light dark:text-text-primary-dark"},[s("input",{type:o.multiSelect?"checkbox":"radio",name:`ask-${i}`,checked:e.isSelected(i,d.label),class:"mt-1 h-3 w-3",onChange:m=>n.$emit("option-change",i,d.label,m)},null,40,io),s("div",null,[s("div",lo,E(d.label),1),s("div",co,E(d.description),1)])]))),128)),o.multiSelect?U("",!0):(c(),u("div",uo,[s("label",mo,[s("input",{type:o.multiSelect?"checkbox":"radio",name:`ask-${i}`,checked:e.isSelected(i,e.otherLabel),class:"mt-1 h-3 w-3",onChange:d=>n.$emit("option-change",i,e.otherLabel,d)},null,40,fo),s("div",null,[s("div",po,E(e.otherLabel),1),a[8]||(a[8]=s("div",{class:"text-[10px] text-text-secondary-light dark:text-text-secondary-dark"}," Provide a custom answer ",-1))])]),e.isSelected(i,e.otherLabel)?(c(),u("input",{key:0,value:e.otherInputs[i]||"",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:d=>n.$emit("update:otherInputs",{...e.otherInputs,[i]:d.target.value})},null,40,go)):U("",!0)]))])]))),128))])):(c(),u("p",xo,"No questions available."))]),s("div",yo,[s("button",{class:"text-xs px-3 py-1.5 rounded border border-border-light dark:border-border-dark",type:"button",disabled:e.busy,onClick:a[1]||(a[1]=o=>n.$emit("cancel"))}," Cancel ",8,vo),s("button",{class:"text-xs px-3 py-1.5 rounded bg-primary text-primary-foreground",type:"button",disabled:e.busy,onClick:a[2]||(a[2]=o=>n.$emit("submit"))}," Submit ",8,ho)])],544)])):U("",!0)}}),ko=Object.assign(bo,{__name:"AskUserDialog"});function zn(e){var r,t,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(r=0;r<a;r++)e[r]&&(t=zn(e[r]))&&(n&&(n+=" "),n+=t)}else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function Fn(){for(var e,r,t=0,n="",a=arguments.length;t<a;t++)(e=arguments[t])&&(r=zn(e))&&(n&&(n+=" "),n+=r);return n}const kn=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,wn=Fn,wo=(e,r)=>t=>{var n;if(r?.variants==null)return wn(e,t?.class,t?.className);const{variants:a,defaultVariants:o}=r,i=Object.keys(a).map(A=>{const I=t?.[A],M=o?.[A];if(I===null)return null;const P=kn(I)||kn(M);return a[A][P]}),d=t&&Object.entries(t).reduce((A,I)=>{let[M,P]=I;return P===void 0||(A[M]=P),A},{}),m=r==null||(n=r.compoundVariants)===null||n===void 0?void 0:n.reduce((A,I)=>{let{class:M,className:P,..._}=I;return Object.entries(_).every(D=>{let[w,l]=D;return Array.isArray(l)?l.includes({...o,...d}[w]):{...o,...d}[w]===l})?[...A,M,P]:A},[]);return wn(e,i,m,t?.class,t?.className)},So=(e,r)=>{const t=new Array(e.length+r.length);for(let n=0;n<e.length;n++)t[n]=e[n];for(let n=0;n<r.length;n++)t[e.length+n]=r[n];return t},Co=(e,r)=>({classGroupId:e,validator:r}),Wn=(e=new Map,r=null,t)=>({nextPart:e,validators:r,classGroupId:t}),lr="-",Sn=[],$o="arbitrary..",Ao=e=>{const r=Mo(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return Io(i);const d=i.split(lr),m=d[0]===""&&d.length>1?1:0;return qn(d,m,r)},getConflictingClassGroupIds:(i,d)=>{if(d){const m=n[i],A=t[i];return m?A?So(A,m):m:A||Sn}return t[i]||Sn}}},qn=(e,r,t)=>{if(e.length-r===0)return t.classGroupId;const a=e[r],o=t.nextPart.get(a);if(o){const A=qn(e,r+1,o);if(A)return A}const i=t.validators;if(i===null)return;const d=r===0?e.join(lr):e.slice(r).join(lr),m=i.length;for(let A=0;A<m;A++){const I=i[A];if(I.validator(d))return I.classGroupId}},Io=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const r=e.slice(1,-1),t=r.indexOf(":"),n=r.slice(0,t);return n?$o+n:void 0})(),Mo=e=>{const{theme:r,classGroups:t}=e;return To(t,r)},To=(e,r)=>{const t=Wn();for(const n in e){const a=e[n];Dr(a,t,n,r)}return t},Dr=(e,r,t,n)=>{const a=e.length;for(let o=0;o<a;o++){const i=e[o];Ro(i,r,t,n)}},Ro=(e,r,t,n)=>{if(typeof e=="string"){Eo(e,r,t);return}if(typeof e=="function"){_o(e,r,t,n);return}Oo(e,r,t,n)},Eo=(e,r,t)=>{const n=e===""?r:Qn(r,e);n.classGroupId=t},_o=(e,r,t,n)=>{if(No(e)){Dr(e(n),r,t,n);return}r.validators===null&&(r.validators=[]),r.validators.push(Co(t,e))},Oo=(e,r,t,n)=>{const a=Object.entries(e),o=a.length;for(let i=0;i<o;i++){const[d,m]=a[i];Dr(m,Qn(r,d),t,n)}},Qn=(e,r)=>{let t=e;const n=r.split(lr),a=n.length;for(let o=0;o<a;o++){const i=n[o];let d=t.nextPart.get(i);d||(d=Wn(),t.nextPart.set(i,d)),t=d}return t},No=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Po=e=>{if(e<1)return{get:()=>{},set:()=>{}};let r=0,t=Object.create(null),n=Object.create(null);const a=(o,i)=>{t[o]=i,r++,r>e&&(r=0,n=t,t=Object.create(null))};return{get(o){let i=t[o];if(i!==void 0)return i;if((i=n[o])!==void 0)return a(o,i),i},set(o,i){o in t?t[o]=i:a(o,i)}}},Nr="!",Cn=":",jo=[],$n=(e,r,t,n,a)=>({modifiers:e,hasImportantModifier:r,baseClassName:t,maybePostfixModifierPosition:n,isExternal:a}),Lo=e=>{const{prefix:r,experimentalParseClassName:t}=e;let n=a=>{const o=[];let i=0,d=0,m=0,A;const I=a.length;for(let w=0;w<I;w++){const l=a[w];if(i===0&&d===0){if(l===Cn){o.push(a.slice(m,w)),m=w+1;continue}if(l==="/"){A=w;continue}}l==="["?i++:l==="]"?i--:l==="("?d++:l===")"&&d--}const M=o.length===0?a:a.slice(m);let P=M,_=!1;M.endsWith(Nr)?(P=M.slice(0,-1),_=!0):M.startsWith(Nr)&&(P=M.slice(1),_=!0);const D=A&&A>m?A-m:void 0;return $n(o,_,P,D)};if(r){const a=r+Cn,o=n;n=i=>i.startsWith(a)?o(i.slice(a.length)):$n(jo,!1,i,void 0,!0)}if(t){const a=n;n=o=>t({className:o,parseClassName:a})}return n},Do=e=>{const r=new Map;return e.orderSensitiveModifiers.forEach((t,n)=>{r.set(t,1e6+n)}),t=>{const n=[];let a=[];for(let o=0;o<t.length;o++){const i=t[o],d=i[0]==="[",m=r.has(i);d||m?(a.length>0&&(a.sort(),n.push(...a),a=[]),n.push(i)):a.push(i)}return a.length>0&&(a.sort(),n.push(...a)),n}},Uo=e=>({cache:Po(e.cacheSize),parseClassName:Lo(e),sortModifiers:Do(e),...Ao(e)}),Bo=/\s+/,zo=(e,r)=>{const{parseClassName:t,getClassGroupId:n,getConflictingClassGroupIds:a,sortModifiers:o}=r,i=[],d=e.trim().split(Bo);let m="";for(let A=d.length-1;A>=0;A-=1){const I=d[A],{isExternal:M,modifiers:P,hasImportantModifier:_,baseClassName:D,maybePostfixModifierPosition:w}=t(I);if(M){m=I+(m.length>0?" "+m:m);continue}let l=!!w,g=n(l?D.substring(0,w):D);if(!g){if(!l){m=I+(m.length>0?" "+m:m);continue}if(g=n(D),!g){m=I+(m.length>0?" "+m:m);continue}l=!1}const O=P.length===0?"":P.length===1?P[0]:o(P).join(":"),b=_?O+Nr:O,h=b+g;if(i.indexOf(h)>-1)continue;i.push(h);const v=a(g,l);for(let $=0;$<v.length;++$){const F=v[$];i.push(b+F)}m=I+(m.length>0?" "+m:m)}return m},Fo=(...e)=>{let r=0,t,n,a="";for(;r<e.length;)(t=e[r++])&&(n=Vn(t))&&(a&&(a+=" "),a+=n);return a},Vn=e=>{if(typeof e=="string")return e;let r,t="";for(let n=0;n<e.length;n++)e[n]&&(r=Vn(e[n]))&&(t&&(t+=" "),t+=r);return t},Wo=(e,...r)=>{let t,n,a,o;const i=m=>{const A=r.reduce((I,M)=>M(I),e());return t=Uo(A),n=t.cache.get,a=t.cache.set,o=d,d(m)},d=m=>{const A=n(m);if(A)return A;const I=zo(m,t);return a(m,I),I};return o=i,(...m)=>o(Fo(...m))},qo=[],be=e=>{const r=t=>t[e]||qo;return r.isThemeGetter=!0,r},Gn=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Jn=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Qo=/^\d+\/\d+$/,Vo=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Go=/\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$/,Jo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Ho=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ko=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,gt=e=>Qo.test(e),Z=e=>!!e&&!Number.isNaN(Number(e)),Je=e=>!!e&&Number.isInteger(Number(e)),Ir=e=>e.endsWith("%")&&Z(e.slice(0,-1)),Qe=e=>Vo.test(e),Xo=()=>!0,Yo=e=>Go.test(e)&&!Jo.test(e),Hn=()=>!1,Zo=e=>Ho.test(e),ei=e=>Ko.test(e),ti=e=>!G(e)&&!J(e),ri=e=>vt(e,Yn,Hn),G=e=>Gn.test(e),et=e=>vt(e,Zn,Yo),Mr=e=>vt(e,ii,Z),An=e=>vt(e,Kn,Hn),ni=e=>vt(e,Xn,ei),er=e=>vt(e,es,Zo),J=e=>Jn.test(e),Rt=e=>ht(e,Zn),si=e=>ht(e,li),In=e=>ht(e,Kn),ai=e=>ht(e,Yn),oi=e=>ht(e,Xn),tr=e=>ht(e,es,!0),vt=(e,r,t)=>{const n=Gn.exec(e);return n?n[1]?r(n[1]):t(n[2]):!1},ht=(e,r,t=!1)=>{const n=Jn.exec(e);return n?n[1]?r(n[1]):t:!1},Kn=e=>e==="position"||e==="percentage",Xn=e=>e==="image"||e==="url",Yn=e=>e==="length"||e==="size"||e==="bg-size",Zn=e=>e==="length",ii=e=>e==="number",li=e=>e==="family-name",es=e=>e==="shadow",di=()=>{const e=be("color"),r=be("font"),t=be("text"),n=be("font-weight"),a=be("tracking"),o=be("leading"),i=be("breakpoint"),d=be("container"),m=be("spacing"),A=be("radius"),I=be("shadow"),M=be("inset-shadow"),P=be("text-shadow"),_=be("drop-shadow"),D=be("blur"),w=be("perspective"),l=be("aspect"),g=be("ease"),O=be("animate"),b=()=>["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"],v=()=>[...h(),J,G],$=()=>["auto","hidden","clip","visible","scroll"],F=()=>["auto","contain","none"],x=()=>[J,G,m],f=()=>[gt,"full","auto",...x()],C=()=>[Je,"none","subgrid",J,G],N=()=>["auto",{span:["full",Je,J,G]},Je,J,G],k=()=>[Je,"auto",J,G],Q=()=>["auto","min","max","fr",J,G],ne=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],te=()=>["start","end","center","stretch","center-safe","end-safe"],le=()=>["auto",...x()],Se=()=>[gt,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...x()],j=()=>[e,J,G],R=()=>[...h(),In,An,{position:[J,G]}],L=()=>["no-repeat",{repeat:["","x","y","space","round"]}],H=()=>["auto","cover","contain",ai,ri,{size:[J,G]}],de=()=>[Ir,Rt,et],oe=()=>["","none","full",A,J,G],me=()=>["",Z,Rt,et],Ee=()=>["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"],ce=()=>[Z,Ir,In,An],Ne=()=>["","none",D,J,G],pe=()=>["none",Z,J,G],_e=()=>["none",Z,J,G],Ce=()=>[Z,J,G],We=()=>[gt,"full",...x()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Qe],breakpoint:[Qe],color:[Xo],container:[Qe],"drop-shadow":[Qe],ease:["in","out","in-out"],font:[ti],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Qe],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Qe],shadow:[Qe],spacing:["px",Z],text:[Qe],"text-shadow":[Qe],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",gt,G,J,l]}],container:["container"],columns:[{columns:[Z,G,J,d]}],"break-after":[{"break-after":b()}],"break-before":[{"break-before":b()}],"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:v()}],overflow:[{overflow:$()}],"overflow-x":[{"overflow-x":$()}],"overflow-y":[{"overflow-y":$()}],overscroll:[{overscroll:F()}],"overscroll-x":[{"overscroll-x":F()}],"overscroll-y":[{"overscroll-y":F()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:f()}],"inset-x":[{"inset-x":f()}],"inset-y":[{"inset-y":f()}],start:[{start:f()}],end:[{end:f()}],top:[{top:f()}],right:[{right:f()}],bottom:[{bottom:f()}],left:[{left:f()}],visibility:["visible","invisible","collapse"],z:[{z:[Je,"auto",J,G]}],basis:[{basis:[gt,"full","auto",d,...x()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Z,gt,"auto","initial","none",G]}],grow:[{grow:["",Z,J,G]}],shrink:[{shrink:["",Z,J,G]}],order:[{order:[Je,"first","last","none",J,G]}],"grid-cols":[{"grid-cols":C()}],"col-start-end":[{col:N()}],"col-start":[{"col-start":k()}],"col-end":[{"col-end":k()}],"grid-rows":[{"grid-rows":C()}],"row-start-end":[{row:N()}],"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":Q()}],"auto-rows":[{"auto-rows":Q()}],gap:[{gap:x()}],"gap-x":[{"gap-x":x()}],"gap-y":[{"gap-y":x()}],"justify-content":[{justify:[...ne(),"normal"]}],"justify-items":[{"justify-items":[...te(),"normal"]}],"justify-self":[{"justify-self":["auto",...te()]}],"align-content":[{content:["normal",...ne()]}],"align-items":[{items:[...te(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...te(),{baseline:["","last"]}]}],"place-content":[{"place-content":ne()}],"place-items":[{"place-items":[...te(),"baseline"]}],"place-self":[{"place-self":["auto",...te()]}],p:[{p:x()}],px:[{px:x()}],py:[{py:x()}],ps:[{ps:x()}],pe:[{pe:x()}],pt:[{pt:x()}],pr:[{pr:x()}],pb:[{pb:x()}],pl:[{pl:x()}],m:[{m:le()}],mx:[{mx:le()}],my:[{my:le()}],ms:[{ms:le()}],me:[{me:le()}],mt:[{mt:le()}],mr:[{mr:le()}],mb:[{mb:le()}],ml:[{ml:le()}],"space-x":[{"space-x":x()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":x()}],"space-y-reverse":["space-y-reverse"],size:[{size:Se()}],w:[{w:[d,"screen",...Se()]}],"min-w":[{"min-w":[d,"screen","none",...Se()]}],"max-w":[{"max-w":[d,"screen","none","prose",{screen:[i]},...Se()]}],h:[{h:["screen","lh",...Se()]}],"min-h":[{"min-h":["screen","lh","none",...Se()]}],"max-h":[{"max-h":["screen","lh",...Se()]}],"font-size":[{text:["base",t,Rt,et]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,J,Mr]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Ir,G]}],"font-family":[{font:[si,G,r]}],"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:[a,J,G]}],"line-clamp":[{"line-clamp":[Z,"none",J,Mr]}],leading:[{leading:[o,...x()]}],"list-image":[{"list-image":["none",J,G]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",J,G]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:j()}],"text-color":[{text:j()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Ee(),"wavy"]}],"text-decoration-thickness":[{decoration:[Z,"from-font","auto",J,et]}],"text-decoration-color":[{decoration:j()}],"underline-offset":[{"underline-offset":[Z,"auto",J,G]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:x()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",J,G]}],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",J,G]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:R()}],"bg-repeat":[{bg:L()}],"bg-size":[{bg:H()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Je,J,G],radial:["",J,G],conic:[Je,J,G]},oi,ni]}],"bg-color":[{bg:j()}],"gradient-from-pos":[{from:de()}],"gradient-via-pos":[{via:de()}],"gradient-to-pos":[{to:de()}],"gradient-from":[{from:j()}],"gradient-via":[{via:j()}],"gradient-to":[{to:j()}],rounded:[{rounded:oe()}],"rounded-s":[{"rounded-s":oe()}],"rounded-e":[{"rounded-e":oe()}],"rounded-t":[{"rounded-t":oe()}],"rounded-r":[{"rounded-r":oe()}],"rounded-b":[{"rounded-b":oe()}],"rounded-l":[{"rounded-l":oe()}],"rounded-ss":[{"rounded-ss":oe()}],"rounded-se":[{"rounded-se":oe()}],"rounded-ee":[{"rounded-ee":oe()}],"rounded-es":[{"rounded-es":oe()}],"rounded-tl":[{"rounded-tl":oe()}],"rounded-tr":[{"rounded-tr":oe()}],"rounded-br":[{"rounded-br":oe()}],"rounded-bl":[{"rounded-bl":oe()}],"border-w":[{border:me()}],"border-w-x":[{"border-x":me()}],"border-w-y":[{"border-y":me()}],"border-w-s":[{"border-s":me()}],"border-w-e":[{"border-e":me()}],"border-w-t":[{"border-t":me()}],"border-w-r":[{"border-r":me()}],"border-w-b":[{"border-b":me()}],"border-w-l":[{"border-l":me()}],"divide-x":[{"divide-x":me()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":me()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Ee(),"hidden","none"]}],"divide-style":[{divide:[...Ee(),"hidden","none"]}],"border-color":[{border:j()}],"border-color-x":[{"border-x":j()}],"border-color-y":[{"border-y":j()}],"border-color-s":[{"border-s":j()}],"border-color-e":[{"border-e":j()}],"border-color-t":[{"border-t":j()}],"border-color-r":[{"border-r":j()}],"border-color-b":[{"border-b":j()}],"border-color-l":[{"border-l":j()}],"divide-color":[{divide:j()}],"outline-style":[{outline:[...Ee(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Z,J,G]}],"outline-w":[{outline:["",Z,Rt,et]}],"outline-color":[{outline:j()}],shadow:[{shadow:["","none",I,tr,er]}],"shadow-color":[{shadow:j()}],"inset-shadow":[{"inset-shadow":["none",M,tr,er]}],"inset-shadow-color":[{"inset-shadow":j()}],"ring-w":[{ring:me()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:j()}],"ring-offset-w":[{"ring-offset":[Z,et]}],"ring-offset-color":[{"ring-offset":j()}],"inset-ring-w":[{"inset-ring":me()}],"inset-ring-color":[{"inset-ring":j()}],"text-shadow":[{"text-shadow":["none",P,tr,er]}],"text-shadow-color":[{"text-shadow":j()}],opacity:[{opacity:[Z,J,G]}],"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":[Z]}],"mask-image-linear-from-pos":[{"mask-linear-from":ce()}],"mask-image-linear-to-pos":[{"mask-linear-to":ce()}],"mask-image-linear-from-color":[{"mask-linear-from":j()}],"mask-image-linear-to-color":[{"mask-linear-to":j()}],"mask-image-t-from-pos":[{"mask-t-from":ce()}],"mask-image-t-to-pos":[{"mask-t-to":ce()}],"mask-image-t-from-color":[{"mask-t-from":j()}],"mask-image-t-to-color":[{"mask-t-to":j()}],"mask-image-r-from-pos":[{"mask-r-from":ce()}],"mask-image-r-to-pos":[{"mask-r-to":ce()}],"mask-image-r-from-color":[{"mask-r-from":j()}],"mask-image-r-to-color":[{"mask-r-to":j()}],"mask-image-b-from-pos":[{"mask-b-from":ce()}],"mask-image-b-to-pos":[{"mask-b-to":ce()}],"mask-image-b-from-color":[{"mask-b-from":j()}],"mask-image-b-to-color":[{"mask-b-to":j()}],"mask-image-l-from-pos":[{"mask-l-from":ce()}],"mask-image-l-to-pos":[{"mask-l-to":ce()}],"mask-image-l-from-color":[{"mask-l-from":j()}],"mask-image-l-to-color":[{"mask-l-to":j()}],"mask-image-x-from-pos":[{"mask-x-from":ce()}],"mask-image-x-to-pos":[{"mask-x-to":ce()}],"mask-image-x-from-color":[{"mask-x-from":j()}],"mask-image-x-to-color":[{"mask-x-to":j()}],"mask-image-y-from-pos":[{"mask-y-from":ce()}],"mask-image-y-to-pos":[{"mask-y-to":ce()}],"mask-image-y-from-color":[{"mask-y-from":j()}],"mask-image-y-to-color":[{"mask-y-to":j()}],"mask-image-radial":[{"mask-radial":[J,G]}],"mask-image-radial-from-pos":[{"mask-radial-from":ce()}],"mask-image-radial-to-pos":[{"mask-radial-to":ce()}],"mask-image-radial-from-color":[{"mask-radial-from":j()}],"mask-image-radial-to-color":[{"mask-radial-to":j()}],"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":[Z]}],"mask-image-conic-from-pos":[{"mask-conic-from":ce()}],"mask-image-conic-to-pos":[{"mask-conic-to":ce()}],"mask-image-conic-from-color":[{"mask-conic-from":j()}],"mask-image-conic-to-color":[{"mask-conic-to":j()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:R()}],"mask-repeat":[{mask:L()}],"mask-size":[{mask:H()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",J,G]}],filter:[{filter:["","none",J,G]}],blur:[{blur:Ne()}],brightness:[{brightness:[Z,J,G]}],contrast:[{contrast:[Z,J,G]}],"drop-shadow":[{"drop-shadow":["","none",_,tr,er]}],"drop-shadow-color":[{"drop-shadow":j()}],grayscale:[{grayscale:["",Z,J,G]}],"hue-rotate":[{"hue-rotate":[Z,J,G]}],invert:[{invert:["",Z,J,G]}],saturate:[{saturate:[Z,J,G]}],sepia:[{sepia:["",Z,J,G]}],"backdrop-filter":[{"backdrop-filter":["","none",J,G]}],"backdrop-blur":[{"backdrop-blur":Ne()}],"backdrop-brightness":[{"backdrop-brightness":[Z,J,G]}],"backdrop-contrast":[{"backdrop-contrast":[Z,J,G]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Z,J,G]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Z,J,G]}],"backdrop-invert":[{"backdrop-invert":["",Z,J,G]}],"backdrop-opacity":[{"backdrop-opacity":[Z,J,G]}],"backdrop-saturate":[{"backdrop-saturate":[Z,J,G]}],"backdrop-sepia":[{"backdrop-sepia":["",Z,J,G]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":x()}],"border-spacing-x":[{"border-spacing-x":x()}],"border-spacing-y":[{"border-spacing-y":x()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",J,G]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Z,"initial",J,G]}],ease:[{ease:["linear","initial",g,J,G]}],delay:[{delay:[Z,J,G]}],animate:[{animate:["none",O,J,G]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,J,G]}],"perspective-origin":[{"perspective-origin":v()}],rotate:[{rotate:pe()}],"rotate-x":[{"rotate-x":pe()}],"rotate-y":[{"rotate-y":pe()}],"rotate-z":[{"rotate-z":pe()}],scale:[{scale:_e()}],"scale-x":[{"scale-x":_e()}],"scale-y":[{"scale-y":_e()}],"scale-z":[{"scale-z":_e()}],"scale-3d":["scale-3d"],skew:[{skew:Ce()}],"skew-x":[{"skew-x":Ce()}],"skew-y":[{"skew-y":Ce()}],transform:[{transform:[J,G,"","none","gpu","cpu"]}],"transform-origin":[{origin:v()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:We()}],"translate-x":[{"translate-x":We()}],"translate-y":[{"translate-y":We()}],"translate-z":[{"translate-z":We()}],"translate-none":["translate-none"],accent:[{accent:j()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:j()}],"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",J,G]}],"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":x()}],"scroll-mx":[{"scroll-mx":x()}],"scroll-my":[{"scroll-my":x()}],"scroll-ms":[{"scroll-ms":x()}],"scroll-me":[{"scroll-me":x()}],"scroll-mt":[{"scroll-mt":x()}],"scroll-mr":[{"scroll-mr":x()}],"scroll-mb":[{"scroll-mb":x()}],"scroll-ml":[{"scroll-ml":x()}],"scroll-p":[{"scroll-p":x()}],"scroll-px":[{"scroll-px":x()}],"scroll-py":[{"scroll-py":x()}],"scroll-ps":[{"scroll-ps":x()}],"scroll-pe":[{"scroll-pe":x()}],"scroll-pt":[{"scroll-pt":x()}],"scroll-pr":[{"scroll-pr":x()}],"scroll-pb":[{"scroll-pb":x()}],"scroll-pl":[{"scroll-pl":x()}],"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",J,G]}],fill:[{fill:["none",...j()]}],"stroke-w":[{stroke:[Z,Rt,et,Mr]}],stroke:[{stroke:["none",...j()]}],"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"]}},ci=Wo(di);function ts(...e){return ci(Fn(e))}const ui=he({inheritAttrs:!1,__name:"Button",props:{variant:{default:"default"},size:{default:"default"},class:{default:""}},setup(e){const r=wo("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"}}),t=e,n=jn(),a=z(()=>ts(r({variant:t.variant,size:t.size}),t.class));return(o,i)=>(c(),u("button",Dn(q(n),{class:a.value}),[Ln(o.$slots,"default")],16))}}),Fe=Object.assign(ui,{__name:"UiButton"}),mi=he({inheritAttrs:!1,__name:"Card",props:{class:{default:""}},setup(e){const r=e,t=jn(),n=z(()=>ts("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",r.class));return(a,o)=>(c(),u("div",Dn(q(t),{class:n.value}),[Ln(a.$slots,"default")],16))}}),fi=Object.assign(mi,{__name:"UiCard"}),pi={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"},gi=he({__name:"ApprovalsMenu",props:{open:{type:Boolean},mode:{}},emits:["toggle","select"],setup(e,{expose:r}){const t=e,n=z(()=>t.mode==="all"?"Always allow":"Auto"),a=T(null);return r({menuEl:a}),(o,i)=>(c(),u("div",{ref_key:"menuEl",ref:a,class:"relative"},[ee(Fe,{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:i[0]||(i[0]=d=>o.$emit("toggle"))},{default:we(()=>[i[3]||(i[3]=s("span",{class:"material-icons-outlined text-[14px]"},"shield",-1)),ge(" "+E(n.value)+" ",1),i[4]||(i[4]=s("span",{class:"material-icons-outlined text-xs"},"expand_more",-1))]),_:1}),e.open?(c(),u("div",pi,[s("button",{class:Y(["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:i[1]||(i[1]=d=>o.$emit("select","auto"))},[...i[5]||(i[5]=[s("span",{class:"material-icons-outlined text-[14px]"},"tune",-1),ge(" Auto ",-1)])],2),s("button",{class:Y(["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:i[2]||(i[2]=d=>o.$emit("select","all"))},[...i[6]||(i[6]=[s("span",{class:"material-icons-outlined text-[14px]"},"verified",-1),ge(" Always allow ",-1)])],2)])):U("",!0)],512))}}),xi=Object.assign(gi,{__name:"ApprovalsMenu"}),yi={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"},vi=["disabled"],hi=he({__name:"ComposerMenu",props:{open:{type:Boolean},uploadsEnabled:{type:Boolean},debugUi:{type:Boolean}},emits:["toggle","add-file","quick-action"],setup(e,{expose:r}){const t=T(null);return r({menuEl:t}),(n,a)=>(c(),u("div",{ref_key:"menuEl",ref:t,class:"relative"},[ee(Fe,{variant:"ghost",size:"icon",class:"h-8 w-8 text-text-secondary-light dark:text-text-secondary-dark",type:"button",onClick:a[0]||(a[0]=o=>n.$emit("toggle"))},{default:we(()=>[...a[3]||(a[3]=[s("span",{class:"material-icons-outlined text-lg"},"add",-1)])]),_:1}),e.open?(c(),u("div",yi,[s("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:a[1]||(a[1]=o=>n.$emit("add-file"))}," Add file ",8,vi),e.debugUi?(c(),u("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:a[2]||(a[2]=o=>n.$emit("quick-action","Health check"))}," Health check ")):U("",!0)])):U("",!0)],512))}}),bi=Object.assign(hi,{__name:"ComposerMenu"}),ki={class:"material-icons-outlined text-[14px]"},wi={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"},Si=["onClick"],Ci={class:"inline-flex items-center gap-2"},$i={class:"material-icons-outlined text-[14px]"},Ai={key:0,class:"material-icons-outlined text-[14px] text-primary"},Ii=he({__name:"ModeMenu",props:{open:{type:Boolean},modeIcon:{},modeLabel:{},modeOptions:{},activeMode:{}},emits:["toggle","select-mode"],setup(e,{expose:r}){const t=T(null);return r({menuEl:t}),(n,a)=>(c(),u("div",{ref_key:"menuEl",ref:t,class:"relative"},[ee(Fe,{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]=o=>n.$emit("toggle"))},{default:we(()=>[s("span",ki,E(e.modeIcon),1),ge(" "+E(e.modeLabel)+" ",1),a[1]||(a[1]=s("span",{class:"material-icons-outlined text-xs"},"expand_more",-1))]),_:1}),e.open?(c(),u("div",wi,[(c(!0),u(re,null,ve(e.modeOptions,o=>(c(),u("button",{key:o.id,class:Y(["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 justify-between gap-2",o.id===e.activeMode?"bg-gray-100 dark:bg-gray-800/70":""]),type:"button",onClick:i=>n.$emit("select-mode",o.id)},[s("span",Ci,[s("span",$i,E(o.icon),1),s("span",null,E(o.label),1)]),o.id===e.activeMode?(c(),u("span",Ai," check ")):U("",!0)],10,Si))),128))])):U("",!0)],512))}}),Mi=Object.assign(Ii,{__name:"ModeMenu"}),Ti={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"},Ri={key:0,class:"mb-3 grid gap-2"},Ei={class:"flex items-center gap-2.5"},_i={class:"h-11 w-11 shrink-0 overflow-hidden rounded-md border border-border-light/80 dark:border-border-dark/80 bg-gray-100 dark:bg-gray-800/60"},Oi=["src","alt"],Ni={key:1,class:"h-full w-full flex items-center justify-center text-text-secondary-light dark:text-text-secondary-dark"},Pi={class:"material-icons-outlined text-[19px]"},ji={class:"min-w-0 flex-1"},Li={class:"flex items-center gap-1.5"},Di={class:"truncate text-xs font-medium text-text-primary-light dark:text-text-primary-dark"},Ui={class:"inline-flex shrink-0 items-center rounded-full border border-border-light dark:border-border-dark bg-white/75 dark:bg-gray-900/55 px-1.5 py-0.5 text-[9px] font-semibold uppercase tracking-wide text-text-secondary-light dark:text-text-secondary-dark"},Bi={class:"mt-0.5 truncate text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},zi={key:0,class:"mt-2 h-1.5 overflow-hidden rounded-full bg-gray-200 dark:bg-gray-800/80"},Fi={key:1,class:"mt-1.5 text-[10px] text-red-500"},Wi=["value","placeholder","onKeydown"],qi={key:1,class:"mt-2 text-[10px] text-text-secondary-light dark:text-text-secondary-dark space-y-1"},Qi={key:0},Vi={key:1},Gi={key:2},Ji={key:2,class:"mt-2 flex items-center justify-between gap-2 text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},Hi={class:"flex items-center gap-2"},Ki=["checked"],Xi={key:0},Yi={class:"flex items-center justify-between mt-3"},Zi={class:"flex items-center gap-2"},el={class:"flex items-center gap-1.5 flex-wrap"},tl=["title"],rl={key:1,class:"flex items-center gap-2 text-xs text-text-secondary-light dark:text-text-secondary-dark"},nl=["checked"],sl={key:0,class:"material-icons-outlined text-[14px] mr-1"},al={key:0,class:"text-center mt-2"},ol={class:"text-[10px] text-red-500"},il={key:1,class:"text-center mt-2"},ll=he({__name:"ChatComposer",props:{modelValue:{},placeholder:{},attachments:{},uploadsEnabled:{type:Boolean},imagesEnabled:{type:Boolean},attachmentsBase64:{type:Boolean},attachmentNote:{},composerMenuOpen:{type:Boolean},modeMenuOpen:{type:Boolean},modeIcon:{},modeLabel:{},modeOptions:{},activeMode:{},approvalsMenuOpen:{type:Boolean},toolApprovalsMode:{},useStreamingQuery:{type:Boolean},debugUi:{type:Boolean},sendLabel:{},sendDisabled:{type:Boolean},sendIsStop:{type:Boolean},queryError:{},streamQueryError:{},activeSkillNames:{}},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","stop","file-pick","open-skills"],setup(e,{expose:r,emit:t}){const n=e,a=t,o=T(null),i=T(null);function d(w){const l=Number(w||0);if(!Number.isFinite(l)||l<=0)return"0 B";if(l<1024)return`${l} B`;const g=l/1024;if(g<1024)return`${g.toFixed(g>=100?0:1)} KB`;const O=g/1024;return`${O.toFixed(O>=100?0:1)} MB`}function m(w){const l=String(w??"").toLowerCase();return l.startsWith("image/")?"image":l.includes("pdf")?"picture_as_pdf":l.includes("json")||l.includes("xml")||l.includes("javascript")||l.includes("typescript")?"data_object":l.startsWith("text/")?"description":"attach_file"}function A(w){return String(w??"").toLowerCase().startsWith("image/")?"image":"file"}function I(w){return w==="ready"?"bg-emerald-100 text-emerald-700 dark:bg-emerald-900/35 dark:text-emerald-300":w==="error"?"bg-rose-100 text-rose-700 dark:bg-rose-900/35 dark:text-rose-300":w==="uploading"?"bg-sky-100 text-sky-700 dark:bg-sky-900/35 dark:text-sky-300":"bg-gray-100 text-gray-700 dark:bg-gray-800/80 dark:text-gray-300"}function M(w){const l=[d(w.size)];return w.remote?.url&&l.push(w.remote.url),l.join(" · ")}function P(){if(n.sendIsStop){a("stop");return}a("send")}function _(){n.sendIsStop&&a("stop")}function D(){o.value?.click(),a("add-file")}return r({filePickerRef:o,approvalsMenuComponent:i}),(w,l)=>(c(),u("div",Ti,[s("div",{class:"w-full max-w-3xl pointer-events-auto",onDragover:l[14]||(l[14]=ue(()=>{},["prevent"])),onDrop:l[15]||(l[15]=ue(g=>w.$emit("drop",g),["prevent"]))},[ee(fi,{class:"p-3 shadow-soft dark:shadow-none bg-surface-light dark:bg-surface-dark border-border-light dark:border-border-dark"},{default:we(()=>[e.attachments.length?(c(),u("div",Ri,[(c(!0),u(re,null,ve(e.attachments,g=>(c(),u("div",{key:g.id,class:"rounded-lg border border-border-light dark:border-border-dark bg-white/65 dark:bg-gray-900/35 px-2.5 py-2"},[s("div",Ei,[s("div",_i,[g.mime.startsWith("image/")?(c(),u("img",{key:0,src:g.localUrl,alt:g.name,class:"h-full w-full object-cover",loading:"lazy",decoding:"async"},null,8,Oi)):(c(),u("div",Ni,[s("span",Pi,E(m(g.mime)),1)]))]),s("div",ji,[s("div",Li,[s("span",Di,E(g.name),1),s("span",Ui,E(A(g.mime)),1)]),s("div",Bi,E(M(g)),1)]),s("span",{class:Y(["inline-flex shrink-0 items-center rounded px-1.5 py-0.5 text-[10px] font-medium",I(g.status)])},E(g.status),3),ee(Fe,{variant:"ghost",size:"sm",class:"h-7 w-7 px-0 text-text-secondary-light dark:text-text-secondary-dark hover:text-destructive",type:"button",title:"Remove attachment",onClick:O=>w.$emit("remove-attachment",g.id)},{default:we(()=>[...l[17]||(l[17]=[s("span",{class:"material-icons-outlined text-[16px]"},"close",-1)])]),_:1},8,["onClick"])]),g.status==="uploading"?(c(),u("div",zi,[...l[18]||(l[18]=[s("div",{class:"h-full w-1/2 animate-pulse rounded-full bg-primary/75"},null,-1)])])):U("",!0),g.status==="error"&&g.error?(c(),u("div",Fi,E(g.error),1)):U("",!0)]))),128))])):U("",!0),s("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:l[0]||(l[0]=g=>w.$emit("update:modelValue",g.target.value)),onPaste:l[1]||(l[1]=g=>w.$emit("paste",g)),onCompositionstart:l[2]||(l[2]=g=>w.$emit("compositionstart")),onCompositionend:l[3]||(l[3]=g=>w.$emit("compositionend")),onKeydown:[l[4]||(l[4]=Le(ue(g=>w.$emit("enter",g),["exact"]),["enter"])),Le(ue(_,["exact","prevent"]),["esc"])]},null,40,Wi),e.attachments.length?(c(),u("div",qi,[e.uploadsEnabled?e.imagesEnabled?(c(),u("span",Vi,"Attachments keep visual preview in GUI and are also sent as markdown refs (`[image](...)` / `[file](...)`).")):(c(),u("span",Gi,"Model does not support images; images are still attached and also sent as markdown refs for context.")):(c(),u("span",Qi,"Uploads disabled by server."))])):U("",!0),e.attachments.length?(c(),u("div",Ji,[s("label",Hi,[s("input",{checked:e.attachmentsBase64,type:"checkbox",class:"h-3 w-3",onChange:l[5]||(l[5]=g=>w.$emit("update:attachmentsBase64",g.target.checked))},null,40,Ki),l[19]||(l[19]=ge(" Include base64 when images are unsupported (large) ",-1))]),e.attachmentNote?(c(),u("span",Xi,E(e.attachmentNote),1)):U("",!0)])):U("",!0),s("div",Yi,[s("div",Zi,[ee(bi,{open:e.composerMenuOpen,"uploads-enabled":e.uploadsEnabled,"debug-ui":e.debugUi,onToggle:l[6]||(l[6]=g=>w.$emit("toggle-composer-menu")),onAddFile:D,onQuickAction:l[7]||(l[7]=g=>w.$emit("quick-action",g))},null,8,["open","uploads-enabled","debug-ui"]),ee(Mi,{open:e.modeMenuOpen,"mode-icon":e.modeIcon,"mode-label":e.modeLabel,"mode-options":e.modeOptions,"active-mode":e.activeMode,onToggle:l[8]||(l[8]=g=>w.$emit("toggle-mode-menu")),onSelectMode:l[9]||(l[9]=g=>w.$emit("select-mode",g))},null,8,["open","mode-icon","mode-label","mode-options","active-mode"]),ee(xi,{ref_key:"approvalsMenuComponent",ref:i,open:e.approvalsMenuOpen,mode:e.toolApprovalsMode,onToggle:l[10]||(l[10]=g=>w.$emit("toggle-approvals-menu")),onSelect:l[11]||(l[11]=g=>w.$emit("set-approvals",g))},null,8,["open","mode"]),e.activeSkillNames.length?(c(),u(re,{key:0},[l[21]||(l[21]=s("span",{class:"w-px h-4 bg-border-light dark:bg-border-dark"},null,-1)),s("div",el,[(c(!0),u(re,null,ve(e.activeSkillNames,g=>(c(),u("button",{key:g,type:"button",class:"inline-flex items-center gap-1 h-6 px-2 rounded-full text-[11px] font-medium bg-primary/10 text-primary hover:bg-primary/20 transition-colors",title:`Active skill: ${g} (click to manage)`,onClick:l[12]||(l[12]=O=>w.$emit("open-skills"))},[l[20]||(l[20]=s("span",{class:"material-icons-outlined text-[12px]"},"bolt",-1)),ge(" "+E(g),1)],8,tl))),128))])],64)):U("",!0),e.debugUi?(c(),u("label",rl,[s("input",{checked:e.useStreamingQuery,type:"checkbox",class:"h-3 w-3",onChange:l[13]||(l[13]=g=>w.$emit("update:useStreamingQuery",g.target.checked))},null,40,nl),l[22]||(l[22]=s("span",null,"Streaming",-1))])):U("",!0)]),ee(Fe,{type:"button",disabled:e.sendDisabled,class:"h-8 px-4 text-xs",onClick:P},{default:we(()=>[e.sendIsStop?(c(),u("span",sl,"stop_circle")):U("",!0),ge(" "+E(e.sendLabel),1)]),_:1},8,["disabled"])])]),_:1}),e.queryError||e.streamQueryError?(c(),u("div",al,[s("p",ol,E(e.queryError||e.streamQueryError),1)])):(c(),u("div",il,[...l[23]||(l[23]=[s("p",{class:"text-[10px] text-text-secondary-light dark:text-text-secondary-dark"}," AI can make mistakes. Please review code. ",-1)])]))],32),s("input",{ref_key:"filePickerRef",ref:o,class:"hidden",type:"file",accept:"*/*",multiple:"",onChange:l[16]||(l[16]=g=>w.$emit("file-pick",g))},null,544)]))}}),dl=Object.assign(ll,{__name:"ChatComposer"}),cl={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"},ul={class:"flex items-center gap-3 overflow-hidden"},ml={class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark whitespace-nowrap truncate"},fl=["title"],pl={class:"flex h-8 items-center gap-1 text-xs text-text-secondary-light dark:text-text-secondary-dark"},gl={class:"hidden md:inline text-[11px] leading-none"},xl=["title"],yl={class:"material-icons-outlined text-base leading-none"},vl=he({__name:"ChatHeader",props:{activeSessionTitle:{},activeSessionSummary:{},chatHeaderStats:{},darkMode:{type:Boolean}},emits:["reconnect","toggle-theme"],setup(e){const r=e,t=z(()=>{const n=r.activeSessionTitle.trim().toLowerCase(),a=r.activeSessionSummary.trim().toLowerCase();return a.length>0&&a!==n});return(n,a)=>(c(),u("header",cl,[s("div",ul,[s("h1",ml,E(e.activeSessionTitle||"New thread"),1),t.value?(c(),u("span",{key:0,class:"hidden xl:inline-flex max-w-[280px] truncate text-[11px] text-text-secondary-light dark:text-text-secondary-dark",title:e.activeSessionSummary},E(e.activeSessionSummary),9,fl)):U("",!0)]),s("div",pl,[s("span",gl,E(e.chatHeaderStats),1),s("button",{class:"h-8 w-8 rounded-md inline-flex items-center justify-center text-text-secondary-light dark:text-text-secondary-dark hover:text-primary hover:bg-gray-100 dark:hover:bg-gray-800/60 transition-colors",type:"button",title:e.darkMode?"Switch to light mode":"Switch to dark mode",onClick:a[0]||(a[0]=o=>n.$emit("toggle-theme"))},[s("span",yl,E(e.darkMode?"light_mode":"dark_mode"),1)],8,xl),s("button",{class:"h-8 w-8 rounded-md inline-flex items-center justify-center text-text-secondary-light dark:text-text-secondary-dark hover:text-primary hover:bg-gray-100 dark:hover:bg-gray-800/60 transition-colors",type:"button",onClick:a[1]||(a[1]=o=>n.$emit("reconnect"))},[...a[2]||(a[2]=[s("span",{class:"material-icons-outlined text-base leading-none"},"refresh",-1)])])])]))}}),hl=Object.assign(vl,{__name:"ChatHeader"}),bl={class:"message-renderer"},kl={key:1,class:"empty-message"},wl=he({__name:"MessageRenderer",props:{content:{},emptyText:{default:"No content"},isDark:{type:Boolean}},setup(e){const r=e,t=z(()=>r.content?.trim()||""),n=z(()=>!!r.isDark);return(a,o)=>{const i=Ha("MarkdownRender");return c(),u("div",bl,[t.value?(c(),xt(i,{key:n.value?"md-dark":"md-light",class:Y(n.value?"dark":""),content:t.value,"is-dark":n.value,"max-live-nodes":0,"batch-rendering":!0,"render-batch-size":16,"render-batch-delay":8,"enable-mermaid":!0,"enable-katex":!0},null,8,["class","content","is-dark"])):(c(),u("div",kl,E(e.emptyText),1))])}}}),Sl=Object.assign(yt(wl,[["__scopeId","data-v-c32aab6f"]]),{__name:"MessageRenderer"}),rs=Object.freeze({readOnly:!0,automaticLayout:!0,scrollBeyondLastLine:!1,minimap:{enabled:!1},wordWrap:"on"}),Cl=Object.freeze({...rs,renderSideBySide:!0,useInlineViewWhenSpaceIsLimited:!0,diffWordWrap:"on"}),$l={class:"tool-code-block markstream-vue min-w-0 w-full max-w-full overflow-hidden"},Al=he({__name:"ToolCodeBlock",props:{node:{},isDark:{type:Boolean,default:!1},diff:{type:Boolean,default:!1}},setup(e){const r=e,t=z(()=>r.diff?Cl:rs),n=Ka({loader:Xa,suspensible:!1});return(a,o)=>(c(),u("div",$l,[ee(q(n),{class:"tool-code-node",node:r.node,"is-dark":r.isDark,loading:!1,stream:!1,"dark-theme":"vitesse-dark","light-theme":"vitesse-light","is-show-preview":!1,"enable-font-size-control":!1,"show-header":!1,"show-copy-button":!1,"show-expand-button":!1,"show-preview-button":!1,"show-font-size-buttons":!1,"monaco-options":t.value,"min-width":0,"max-width":"100%"},null,8,["node","is-dark","monaco-options"])]))}}),Et=Object.assign(yt(Al,[["__scopeId","data-v-510bc205"]]),{__name:"ToolCodeBlock"});function Il(e,r=1200){const t=String(e??"").replace(/\r/g,"").split(`
2
+ `),n=[];let a=0,o=0;const i=d=>{const m=String(d).match(/^@@\s*-(\d+)(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s*@@/);if(!m)return null;const A=Number(m[1]),I=Number(m[2]);return!Number.isFinite(A)||!Number.isFinite(I)?null:{oldStart:A,newStart:I}};for(let d=0;d<t.length&&!(n.length>=r);d+=1){const m=t[d]??"";if(m.startsWith("@@")){const M=i(m);M&&(a=M.oldStart,o=M.newStart),n.push({kind:"hunk",text:m});continue}if(m.startsWith("+++")||m.startsWith("---")||m.startsWith("diff ")||m.startsWith("index ")||m.startsWith("\\")){n.push({kind:"meta",text:m});continue}if(m.startsWith("+")){const M=o>0?o:void 0;n.push({kind:"add",text:m,newNo:M}),o>0&&(o+=1);continue}if(m.startsWith("-")){const M=a>0?a:void 0;n.push({kind:"remove",text:m,oldNo:M}),a>0&&(a+=1);continue}const A=a>0?a:void 0,I=o>0?o:void 0;n.push({kind:"context",text:m,oldNo:A,newNo:I}),a>0&&(a+=1),o>0&&(o+=1)}return n}function Ml(e,r,t=1200){const n=String(e??"").replace(/\r/g,"").split(`
3
+ `),a=String(r??"").replace(/\r/g,"").split(`
4
+ `),o=[{kind:"hunk",text:"@@ @@",oldNo:1,newNo:1}];let i=0,d=0;for(;(i<n.length||d<a.length)&&o.length<t;){const m=n[i],A=a[d];if(m===A){m!=null&&o.push({kind:"context",text:` ${m}`,oldNo:i+1,newNo:d+1}),i+=1,d+=1;continue}const I=n[i+1],M=a[d+1];if(I!=null&&I===A){m!=null&&o.push({kind:"remove",text:`-${m}`,oldNo:i+1}),i+=1;continue}if(M!=null&&m===M){A!=null&&o.push({kind:"add",text:`+${A}`,newNo:d+1}),d+=1;continue}m!=null&&(o.push({kind:"remove",text:`-${m}`,oldNo:i+1}),i+=1),A!=null&&o.length<t&&(o.push({kind:"add",text:`+${A}`,newNo:d+1}),d+=1)}return o}function ns(e){let r=0,t=0;for(const n of e)n.kind==="add"?r+=1:n.kind==="remove"&&(t+=1);return{added:r,removed:t}}function Tl(e,r=3e3){const t=String(e??"").replace(/\r/g,"").split(`
5
+ `),n=[],a=[];let o=0,i=!1;for(const d of t)if(!(d.startsWith("diff ")||d.startsWith("index ")||d.startsWith("---")||d.startsWith("+++")||d.startsWith("@@")||d.startsWith("\\"))){if(o>=r){i=!0;break}if(d.startsWith("+")){a.push(d.slice(1)),o+=1;continue}if(d.startsWith("-")){n.push(d.slice(1)),o+=1;continue}if(d.startsWith(" ")){const m=d.slice(1);n.push(m),a.push(m),o+=1;continue}n.push(d),a.push(d),o+=1}return{original:n.join(`
6
+ `),updated:a.join(`
7
+ `),truncated:i}}const Rl={ts:"typescript",tsx:"tsx",js:"javascript",jsx:"jsx",json:"json",md:"markdown",py:"python",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",css:"css",html:"html",yml:"yaml",yaml:"yaml",sh:"bash",zsh:"bash",toml:"toml",sql:"sql"};function El(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function _l(e){const r=String(e??"").trim();if(!r)return{};try{const t=JSON.parse(r);if(El(t))return t}catch{}return{_raw:e}}function rr(e,r){for(const t of r){const n=e[t];if(typeof n=="string"&&n.trim())return n}return""}function Mn(e,r){for(const t of r){const n=e[t];if(typeof n=="number"&&Number.isFinite(n))return n;if(typeof n=="string"){const a=Number(n);if(Number.isFinite(a))return a}}}function ss(e){const r=String(e??"").trim();if(!r)return"text";const n=(r.split("/").pop()||r).split(".");if(n.length<2)return"text";const a=String(n[n.length-1]??"").toLowerCase();return Rl[a]||a||"text"}function Ol(e,r){const t=String(e??"").trim()||"tool",n=t.toLowerCase(),a=_l(String(r??"")),o=rr(a,["file_path","filePath","path"])||null,i=ss(o),d=rr(a,["old_string","oldString"]),m=rr(a,["new_string","newString"]),A=rr(a,["content","text"]),I=Mn(a,["offset","start","line","line_start"]),M=Mn(a,["limit","count","line_count"]);let P="other";n==="read"?P="read":n==="write"?P="write":n==="edit"&&(P="edit");const _=(()=>{if(P==="read"){const D=[`Read ${o||"file"}`];return typeof I=="number"&&D.push(`offset ${I}`),typeof M=="number"&&D.push(`limit ${M}`),D.join(" · ")}if(P==="write"){const D=A?A.replace(/\r/g,"").split(`
8
+ `).length:0;return`Write ${o||"file"} · ${D} lines`}if(P==="edit"){const D=d?d.replace(/\r/g,"").split(`
9
+ `).length:0,w=m?m.replace(/\r/g,"").split(`
10
+ `).length:0;return`Edit ${o||"file"} · ${D}->${w} lines`}return`${t} tool call`})();return{kind:P,toolName:t,filePath:o,language:i,summary:_,argsObj:a,rawArgs:String(r??""),oldString:d,newString:m,writeContent:A,readOffset:I,readLimit:M}}function Nl(e){const r=n=>{const a=String(n??"").replace(/\r/g,"").split(`
11
+ `);let o=0,i=a.length;return i>0&&/^<file(?:\s[^>]*)?>$/i.test(a[0].trim())&&(o=1),i>o&&/^<\/file>$/i.test(a[i-1].trim())&&(i-=1),a.slice(o,i).map(d=>d.replace(/^\s*\d+\|\s?/,"")).join(`
12
+ `).trimEnd()},t=String(e??"");if(!t.trim())return"";try{const n=JSON.parse(t),a=Array.isArray(n)?n:[n],o=[];for(const i of a)if(i&&typeof i=="object"&&i.type==="text"){const d=r(String(i.text??""));d&&o.push(d)}if(o.length)return o.join(`
13
+ `)}catch{}return r(t)}const Pl={"data-testid":"tool-call-card",class:"tool-call-card min-w-0 max-w-full overflow-hidden rounded-lg border border-border-light dark:border-border-dark bg-surface-light/70 dark:bg-surface-dark/80 p-3"},jl={class:"flex min-w-0 flex-wrap items-center gap-2"},Ll={class:"inline-flex items-center gap-1 rounded-md border border-border-light dark:border-border-dark bg-white/80 dark:bg-gray-900/60 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-text-secondary-light dark:text-text-secondary-dark"},Dl={key:0,class:"inline-flex min-w-0 max-w-full items-center gap-1 rounded-md border border-border-light dark:border-border-dark bg-white/70 dark:bg-gray-900/45 px-2 py-0.5 text-[10px] font-mono text-text-secondary-light dark:text-text-secondary-dark"},Ul={class:"max-w-[min(40rem,60vw)] truncate"},Bl={class:"material-icons-outlined text-[11px]"},zl={class:"inline-flex items-center rounded-md border border-border-light dark:border-border-dark bg-white/70 dark:bg-gray-900/45 px-2 py-0.5 text-[10px] font-mono text-text-secondary-light dark:text-text-secondary-dark"},Fl={key:1,class:"inline-flex items-center rounded-md border border-border-light dark:border-border-dark bg-white/70 dark:bg-gray-900/45 px-2 py-0.5 text-[10px] font-mono text-text-secondary-light dark:text-text-secondary-dark"},Wl={key:2,class:"inline-flex items-center rounded-md border border-border-light dark:border-border-dark bg-white/70 dark:bg-gray-900/45 px-2 py-0.5 text-[10px] font-mono text-text-secondary-light dark:text-text-secondary-dark"},ql={key:3,class:"inline-flex items-center rounded-md border border-border-light dark:border-border-dark bg-white/70 dark:bg-gray-900/45 px-2 py-0.5 text-[10px] font-mono text-text-secondary-light dark:text-text-secondary-dark"},Ql={key:4,class:"inline-flex items-center rounded-md border border-border-light dark:border-border-dark bg-white/70 dark:bg-gray-900/45 px-2 py-0.5 text-[10px] font-mono text-text-secondary-light dark:text-text-secondary-dark"},Vl={key:0,class:"mt-2 break-words text-xs leading-relaxed text-text-secondary-light dark:text-text-secondary-dark"},Gl={key:1,class:"mt-3 min-w-0"},Jl={class:"flex flex-wrap items-center justify-between gap-2 px-0.5"},Hl={class:"material-icons-outlined text-[14px]"},Kl={key:0,class:"inline-flex items-center gap-2"},Xl={key:0},Yl={key:0,class:"mt-2 min-w-0 max-w-full overflow-hidden"},Zl={key:1,class:"mt-2 px-0.5 text-[11px] text-text-secondary-light dark:text-text-secondary-dark"},ed={key:2,class:"mt-3 min-w-0"},td={class:"flex flex-wrap items-center justify-between gap-2 px-0.5"},rd={class:"material-icons-outlined text-[14px]"},nd={key:0,class:"inline-flex items-center gap-2 text-[11px] font-mono"},sd={class:"text-emerald-600 dark:text-emerald-400"},ad={class:"text-rose-600 dark:text-rose-400"},od={key:0},id={key:0,class:"mt-2 min-w-0 max-w-full overflow-hidden"},ld={key:1,class:"mt-2 px-0.5 text-[11px] text-text-secondary-light dark:text-text-secondary-dark"},dd={class:"mt-3 border-t border-border-light dark:border-border-dark pt-2.5"},cd={class:"flex items-center gap-2"},ud={key:0,class:"mt-2 overflow-x-auto rounded-md border border-border-light dark:border-border-dark bg-black/5 dark:bg-black/30 p-2 text-xs whitespace-pre-wrap break-words text-text-primary-light dark:text-text-primary-dark"},md=he({__name:"ToolCallCard",props:{name:{},args:{},callId:{},resultOutput:{},isDark:{type:Boolean,default:!1}},setup(e){const r=e,t=T(!1),n=T(!1),a=T(!1),o=T(!1),i=T("none"),d=z(()=>Ol(r.name,r.args)),m=z(()=>{const x=String(r.callId??"").trim();return x?x.length>10?`${x.slice(0,10)}…`:x:""}),A=z(()=>d.value.kind!=="read"?"":Nl(String(r.resultOutput??""))),I=z(()=>a.value?A.value:""),M=z(()=>a.value?I.value.replace(/\r/g,"").split(`
14
+ `):[]),P=z(()=>M.value.length),_=z(()=>{const x=M.value;return n.value||x.length<=120?x.join(`
15
+ `):x.slice(0,120).join(`
16
+ `)}),D=z(()=>M.value.length>120),w=z(()=>{if(d.value.kind!=="read")return null;const x=_.value;return x?{type:"code_block",language:d.value.language||"text",code:x,raw:x,loading:!1}:null}),l=z(()=>{if(!o.value)return null;const x=d.value;if(x.kind!=="write"&&x.kind!=="edit")return null;const f=x.kind==="edit"?x.oldString:"",C=x.kind==="edit"?x.newString:x.writeContent;if(!f&&!C)return null;const N=[f,C].filter(Boolean).join(`
17
+ `);return{type:"code_block",language:x.language||"text",code:C,raw:N,diff:!0,originalCode:f,updatedCode:C,loading:!1}}),g=z(()=>{if(!o.value)return[];const x=l.value;return x?x.diff?Ml(x.originalCode??"",x.updatedCode??"",2e3):[]:[]}),O=z(()=>o.value?ns(g.value):{added:0,removed:0}),b=z(()=>o.value?g.value.map(x=>x.text).join(`
18
+ `):""),h=z(()=>{if(!t.value)return"";const x=String(r.args??""),f=x.trim();if(!f)return"";try{if(f.startsWith("{")||f.startsWith("["))return JSON.stringify(JSON.parse(f),null,2)}catch{}return x}),v=z(()=>d.value.kind==="other"),$=z(()=>d.value.kind==="write"?"Write preview":"Edit preview");async function F(x,f){const C=String(x??"");if(C)try{await navigator.clipboard.writeText(C),i.value=f,setTimeout(()=>{i.value===f&&(i.value="none")},900)}catch{i.value="none"}}return(x,f)=>(c(),u("div",Pl,[s("div",jl,[s("span",Ll,[f[8]||(f[8]=s("span",{class:"material-icons-outlined text-[12px]"},"build",-1)),ge(" "+E(d.value.toolName),1)]),d.value.filePath?(c(),u("span",Dl,[f[9]||(f[9]=s("span",{class:"material-icons-outlined shrink-0 text-[12px]"},"description",-1)),s("span",Ul,E(d.value.filePath),1),s("button",{type:"button",class:"inline-flex h-4 w-4 shrink-0 items-center justify-center rounded hover:text-primary",title:"Copy path",onClick:f[0]||(f[0]=ue(C=>F(d.value.filePath||"","path"),["stop"]))},[s("span",Bl,E(i.value==="path"?"check":"content_copy"),1)])])):U("",!0),s("span",zl,E(d.value.language),1),d.value.kind==="read"&&a.value&&P.value?(c(),u("span",Fl,E(P.value)+" lines ",1)):U("",!0),d.value.kind==="read"&&typeof d.value.readOffset=="number"?(c(),u("span",Wl," offset "+E(d.value.readOffset),1)):U("",!0),d.value.kind==="read"&&typeof d.value.readLimit=="number"?(c(),u("span",ql," limit "+E(d.value.readLimit),1)):U("",!0),m.value?(c(),u("span",Ql," #"+E(m.value),1)):U("",!0)]),v.value?(c(),u("p",Vl,E(d.value.summary),1)):U("",!0),d.value.kind==="read"?(c(),u("div",Gl,[s("div",Jl,[s("button",{type:"button",class:"inline-flex items-center gap-1.5 text-[11px] font-medium text-text-secondary-light dark:text-text-secondary-dark hover:text-primary transition-colors",onClick:f[1]||(f[1]=C=>a.value=!a.value)},[s("span",Hl,E(a.value?"expand_more":"chevron_right"),1),ge(" "+E(a.value?"Hide read preview":"Show read preview"),1)]),a.value?(c(),u("div",Kl,[I.value?(c(),u("button",{key:0,class:"text-[11px] text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",type:"button",onClick:f[2]||(f[2]=C=>F(I.value,"code"))},E(i.value==="code"?"Copied":"Copy"),1)):U("",!0),D.value?(c(),u("button",{key:1,class:"text-[11px] text-primary hover:underline",type:"button",onClick:f[3]||(f[3]=C=>n.value=!n.value)},E(n.value?"Show less":`Show all (${M.value.length} lines)`),1)):U("",!0)])):U("",!0)]),ee(ar,{name:"tool-section"},{default:we(()=>[a.value?(c(),u("div",Xl,[w.value?(c(),u("div",Yl,[ee(Et,{node:w.value,"is-dark":r.isDark},null,8,["node","is-dark"])])):(c(),u("p",Zl," Waiting for read output… "))])):U("",!0)]),_:1})])):U("",!0),d.value.kind==="write"||d.value.kind==="edit"?(c(),u("div",ed,[s("div",td,[s("button",{type:"button",class:"inline-flex items-center gap-1.5 text-[11px] font-medium text-text-secondary-light dark:text-text-secondary-dark hover:text-primary transition-colors",onClick:f[4]||(f[4]=C=>o.value=!o.value)},[s("span",rd,E(o.value?"expand_more":"chevron_right"),1),ge(" "+E(o.value?`Hide ${$.value.toLowerCase()}`:`Show ${$.value.toLowerCase()}`),1)]),o.value?(c(),u("div",nd,[s("span",sd,"+"+E(O.value.added),1),s("span",ad,"-"+E(O.value.removed),1),b.value?(c(),u("button",{key:0,type:"button",class:"ml-1 text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",onClick:f[5]||(f[5]=C=>F(b.value,"diff"))},E(i.value==="diff"?"Copied":"Copy"),1)):U("",!0)])):U("",!0)]),ee(ar,{name:"tool-section"},{default:we(()=>[o.value?(c(),u("div",od,[l.value?(c(),u("div",id,[ee(Et,{node:l.value,"is-dark":r.isDark,diff:""},null,8,["node","is-dark"])])):(c(),u("div",ld," Waiting for diff input… "))])):U("",!0)]),_:1})])):U("",!0),s("div",dd,[s("div",cd,[s("button",{type:"button",class:"text-[11px] text-text-secondary-light dark:text-text-secondary-dark hover:text-primary transition-colors",onClick:f[6]||(f[6]=C=>t.value=!t.value)},E(t.value?"Hide raw arguments":"View raw arguments"),1),t.value?(c(),u("button",{key:0,type:"button",class:"text-[11px] text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",onClick:f[7]||(f[7]=C=>F(e.args,"raw"))},E(i.value==="raw"?"Copied":"Copy raw"),1)):U("",!0)]),ee(ar,{name:"raw-expand"},{default:we(()=>[t.value?(c(),u("pre",ud,E(h.value),1)):U("",!0)]),_:1})])]))}}),fd=Object.assign(yt(md,[["__scopeId","data-v-f50d20af"]]),{__name:"ToolCallCard"}),pd={"data-testid":"tool-result-card",class:"min-w-0 max-w-full overflow-hidden rounded-lg border border-border-light dark:border-border-dark bg-surface-light/70 dark:bg-surface-dark/80 p-3"},gd={class:"flex min-w-0 items-center gap-2"},xd={class:"material-icons-outlined text-[12px]"},yd={class:"truncate text-[11px] text-text-secondary-light dark:text-text-secondary-dark"},vd={key:0,class:"mt-2 text-[11px] text-text-secondary-light dark:text-text-secondary-dark"},hd={key:1,class:"mt-2 min-w-0 max-w-full overflow-hidden"},bd={key:2,class:"mt-2 text-[11px] text-text-secondary-light dark:text-text-secondary-dark"},kd={class:"mt-2.5 flex flex-wrap items-center gap-3 border-t border-border-light dark:border-border-dark pt-2.5"},wd={key:3,class:"mt-2 min-w-0 max-w-full overflow-hidden rounded-md border border-border-light dark:border-border-dark bg-white/75 dark:bg-gray-900/40"},Sd=he({__name:"ToolResultCard",props:{name:{},output:{},status:{},structured:{},isDark:{type:Boolean,default:!1}},setup(e){const r=e,t=T(!1),n=T(!1),a=T(!1),o=T(!1),i=z(()=>!M.value||a.value||r.status==="error"),d=z(()=>i.value?String(r.output??"").replace(/\r/g,"").split(`
19
+ `):[]),m=z(()=>t.value||d.value.length<=140?d.value.join(`
20
+ `):d.value.slice(0,140).join(`
21
+ `)),A=z(()=>d.value.length>140),I=z(()=>String(r.name??"").trim().toLowerCase()),M=z(()=>r.status==="error"?!1:["read","write","edit"].includes(I.value)),P=z(()=>{if(!i.value)return{language:"text",code:""};const l=m.value;if(!l)return{language:"text",code:""};const g=l.trim();try{if(g.startsWith("{")||g.startsWith("["))return{language:"json",code:JSON.stringify(JSON.parse(g),null,2)}}catch{}return{language:"text",code:l}}),_=z(()=>{const{code:l,language:g}=P.value;return l?{type:"code_block",language:g,code:l,raw:l,loading:!1}:null}),D=z(()=>{if(!n.value)return null;const l=String(r.structured??"");if(!l.trim())return null;let g=l,O="json";try{g=JSON.stringify(JSON.parse(l),null,2)}catch{O="text"}return{type:"code_block",language:O,code:g,raw:g,loading:!1}});async function w(){const l=String(r.output??"");if(l)try{await navigator.clipboard.writeText(l),o.value=!0,setTimeout(()=>{o.value=!1},900)}catch{o.value=!1}}return(l,g)=>(c(),u("div",pd,[s("div",gd,[s("span",{class:Y(["inline-flex items-center gap-1 rounded-md border px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide",e.status==="error"?"border-red-300 dark:border-red-700 text-red-600 dark:text-red-400":"border-emerald-300 dark:border-emerald-700 text-emerald-600 dark:text-emerald-400"])},[s("span",xd,E(e.status==="error"?"error":"check_circle"),1),ge(" "+E(e.status),1)],2),s("span",yd,E(e.name||"tool result"),1)]),M.value&&!a.value?(c(),u("p",vd," Output is available in the tool card preview above. ")):_.value?(c(),u("div",hd,[ee(Et,{node:_.value,"is-dark":r.isDark},null,8,["node","is-dark"])])):(c(),u("div",bd," No output ")),s("div",kd,[M.value?(c(),u("button",{key:0,class:"text-[11px] text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",type:"button",onClick:g[0]||(g[0]=O=>a.value=!a.value)},E(a.value?"Hide output":"View output"),1)):U("",!0),A.value&&(!M.value||a.value)?(c(),u("button",{key:1,class:"text-[11px] text-primary hover:underline",type:"button",onClick:g[1]||(g[1]=O=>t.value=!t.value)},E(t.value?"Show less":`Show all (${d.value.length} lines)`),1)):U("",!0),e.output?(c(),u("button",{key:2,class:"text-[11px] text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",type:"button",onClick:w},E(o.value?"Copied":"Copy output"),1)):U("",!0),e.structured?(c(),u("button",{key:3,class:"text-[11px] text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",type:"button",onClick:g[2]||(g[2]=O=>n.value=!n.value)},E(n.value?"Hide structured data":"View structured data"),1)):U("",!0)]),n.value&&D.value?(c(),u("div",wd,[ee(Et,{node:D.value,"is-dark":r.isDark},null,8,["node","is-dark"])])):U("",!0)]))}}),Cd=Object.assign(Sd,{__name:"ToolResultCard"});function Pr(e){if(!e)return"unknown";const r=Date.parse(e);return Number.isNaN(r)?e:new Date(r).toLocaleString()}function He(e){const r=e.updatedAt;if(r==null)return 0;if(typeof r=="number")return Number.isFinite(r)?r:0;const t=Date.parse(String(r));return Number.isNaN(t)?0:t}function Tn(e){const r=e.updatedAt;if(!r)return"—";const t=typeof r=="number"?r:Date.parse(String(r));if(Number.isNaN(t))return"—";const n=Date.now()-t;if(!Number.isFinite(n))return"—";const a=Math.max(0,Math.floor(n/1e3));if(a<60)return"now";const o=Math.floor(a/60);if(o<60)return`${o}m`;const i=Math.floor(o/60);return i<24?`${i}h`:`${Math.floor(i/24)}d`}function $d(e){return"messageCount"in e&&e.messageCount!=null?`${e.messageCount} msgs`:"summary"in e&&e.summary?e.summary:"idle"}function Rn(e){if(!e)return"—";const r=Number(e);return Number.isFinite(r)&&r>0?new Date(r).toLocaleString():Pr(e)}function Ad(e){return e.ts?e.ts:e.receivedAt??""}function Id(e){const r=e.payload??e.raw,t=typeof r=="string"?r:JSON.stringify(r,null,2);return t?t.length>600?`${t.slice(0,600)}...`:t:"No payload"}function Md(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 Td(e){const r=String(e??"").trim();if(!r||!r.startsWith("{")&&!r.startsWith("["))return null;try{const t=JSON.parse(r),n=[];let a=!1;const o=i=>{if(i==null)return;if(Array.isArray(i)){for(const A of i)o(A);return}if(typeof i!="object")return;const d=i;(typeof d.type=="string"?d.type.toLowerCase():"")==="text"&&typeof d.text=="string"&&(n.push(d.text),a=!0),"content"in d&&o(d.content)};return o(t),a?n.join(""):null}catch{return null}}function jr(e){const r=t=>{if(t==null)return"";if(typeof t=="string"){const n=Td(t);return n??t}if(Array.isArray(t))return t.map(r).join("");if(t!=null&&typeof t=="object"&&!Array.isArray(t)){const n=t.text;if(typeof n=="string")return n;try{return JSON.stringify(t)}catch{return String(t)}}return String(t)};return r(e)}function Rd(e,r){const t=d=>{const m=d.trim();if(!m||!m.startsWith("{")&&!m.startsWith("["))return d;try{return JSON.stringify(JSON.parse(m),null,2)}catch{return d}},n=(d,m)=>{const A=String(d??"").split(`
22
+ `);return A.length<=m?d:`${A.slice(0,m).join(`
23
+ `)}
24
+ ... (${A.length-m} more lines)`},a=jr(e);if(!a)return"No output";const o=t(a);return String(r??"").toLowerCase()==="read"?n(o,24):o}function nr(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"}const Ed={key:0,class:"mb-3 flex items-center justify-center"},_d={key:0,class:"h-8 w-8 rounded-full bg-primary/15 dark:bg-primary/25 flex items-center justify-center text-primary shadow-sm mt-0.5"},Od={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"},Nd={class:"min-w-0 space-y-4"},Pd={key:0,class:"min-w-0"},jd={key:1,class:"min-w-0"},Ld=["open"],Dd={class:"cursor-pointer text-xs font-semibold text-text-secondary-light dark:text-text-secondary-dark inline-flex items-center gap-1"},Ud={class:"mt-2 overflow-x-auto text-xs whitespace-pre-wrap break-words"},Bd={key:2,class:"min-w-0"},zd={key:0,class:"rounded-md border-2 border-primary/60 bg-primary/5 dark:bg-primary/10 p-3"},Fd={class:"flex items-center gap-2"},Wd={class:"text-xs font-semibold text-text-primary-light dark:text-text-primary-dark"},qd={key:0,class:"text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},Qd={class:"mt-3 flex items-center gap-2"},Vd=["disabled","onClick"],Gd=["disabled"],Jd=["disabled","onClick"],Hd={key:3,class:"min-w-0"},Kd={key:4,class:"min-w-0"},Xd={class:"grid gap-2"},Yd={class:"flex items-center gap-3"},Zd={class:"h-12 w-12 shrink-0 overflow-hidden rounded-md border border-border-light/80 dark:border-border-dark/80 bg-gray-100 dark:bg-gray-800/60"},ec=["src","alt"],tc={key:1,class:"h-full w-full flex items-center justify-center text-text-secondary-light dark:text-text-secondary-dark"},rc={class:"material-icons-outlined text-[20px]"},nc={class:"min-w-0 flex-1"},sc={class:"flex items-center gap-1.5"},ac={class:"truncate text-xs font-medium text-text-primary-light dark:text-text-primary-dark"},oc={class:"inline-flex items-center rounded-full border border-border-light dark:border-border-dark bg-white/70 dark:bg-gray-900/55 px-1.5 py-0.5 text-[9px] font-semibold uppercase tracking-wide text-text-secondary-light dark:text-text-secondary-dark"},ic={key:0,class:"mt-0.5 block truncate text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},lc=["href"],dc={key:0,class:"mt-2 text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},Tr=220,cc=he({__name:"ChatMessages",props:{messages:{},pendingApprovals:{},approvalBusy:{type:Boolean},darkMode:{type:Boolean},enableTransitions:{type:Boolean,default:!0}},emits:["approve","reject","approve-all"],setup(e,{expose:r}){const t=e,n=T(Tr),a=z(()=>t.enableTransitions!==!1),o=z(()=>{const l=new Set;if(t.pendingApprovals)for(const g of t.pendingApprovals)l.add(g.toolCallId);return l}),i=z(()=>t.pendingApprovals?.length??0),d=z(()=>Math.max(0,t.messages.length-n.value)),m=z(()=>d.value>0?t.messages.slice(-n.value):t.messages),A=z(()=>{const l=new Map;for(const g of m.value)for(const O of g.parts)O.type!=="tool_result"||!O.callId||l.set(`${g.id}:${O.callId}`,String(O.output??""));return l});function I(l){return l.type!=="tool_call"||!l.callId?!1:o.value.has(l.callId)}function M(l,g){return g?A.value.get(`${l}:${g}`)??"":""}function P(l){const g=String(l??"").toLowerCase();return g==="image"?"image":g==="path"?"description":"attach_file"}function _(l){const g=String(l??"").toLowerCase();return g==="image"?"image":g==="path"?"path":"file"}const D=T(null);function w(){n.value+=Tr}return r({messagesRef:D}),(l,g)=>(c(),u("div",{ref_key:"messagesRef",ref:D,class:"w-full min-w-0"},[d.value>0?(c(),u("div",Ed,[s("button",{type:"button",class:"inline-flex items-center gap-1 rounded-full border border-border-light dark:border-border-dark bg-white/80 dark:bg-gray-900/60 px-3 py-1 text-[11px] text-text-secondary-light dark:text-text-secondary-dark hover:text-primary transition-colors",onClick:w},[g[1]||(g[1]=s("span",{class:"material-icons-outlined text-[13px]"},"history",-1)),ge(" Show "+E(Math.min(d.value,Tr))+" older messages ",1)])])):U("",!0),ee(ir,{name:"message-item",css:a.value,tag:"div",class:"space-y-5 min-w-0"},{default:we(()=>[(c(!0),u(re,null,ve(m.value,O=>(c(),u("div",{key:O.id,class:Y(["flex min-w-0 gap-4",O.role==="user"?"flex-row-reverse":""])},[O.role==="user"?(c(),u("div",_d,[...g[2]||(g[2]=[s("span",{class:"material-icons-outlined text-sm"},"person",-1)])])):(c(),u("div",Od,[...g[3]||(g[3]=[s("span",{class:"material-icons-outlined text-sm"},"auto_awesome",-1)])])),s("div",{class:Y(["min-w-0 max-w-[80%]",O.role==="user"?"flex flex-col items-end":""])},[s("div",{class:Y(["w-full min-w-0 max-w-full overflow-hidden rounded-2xl border px-5 py-3.5 text-sm leading-relaxed shadow-sm transition-colors break-words",O.role==="user"?"rounded-tr-sm border-border-light dark:border-border-dark bg-gray-100 dark:bg-gray-800/80 text-text-primary-light dark:text-text-primary-dark":"border-border-light dark:border-border-dark bg-surface-light/90 dark:bg-surface-dark/90 text-text-primary-light dark:text-text-primary-dark"])},[s("div",Nd,[(c(!0),u(re,null,ve(O.parts,(b,h)=>(c(),u(re,{key:`${O.id}-${b.type}-${h}`},[b.type==="markdown"?(c(),u("div",Pd,[ee(Sl,{content:b.raw,"is-dark":e.darkMode},null,8,["content","is-dark"])])):b.type==="thinking"?(c(),u("div",jd,[s("details",{open:!b.collapsed,class:"rounded-md border border-border-light dark:border-border-dark p-3 bg-gray-50 dark:bg-gray-800/50"},[s("summary",Dd,[g[4]||(g[4]=s("span",{class:"material-icons-outlined text-[14px]"},"psychology",-1)),ge(" "+E(b.title),1)]),s("pre",Ud,E(b.content),1)],8,Ld)])):b.type==="tool_call"?(c(),u("div",Bd,[I(b)?(c(),u("div",zd,[s("div",Fd,[g[5]||(g[5]=s("span",{class:"material-icons-outlined text-sm text-primary"},"gpp_maybe",-1)),s("span",Wd,E(b.name),1),i.value>1?(c(),u("span",qd," ("+E(i.value)+" pending) ",1)):U("",!0)]),g[9]||(g[9]=s("p",{class:"mt-2 text-[11px] text-text-secondary-light dark:text-text-secondary-dark"}," Waiting for your approval to continue. ",-1)),s("div",Qd,[s("button",{class:"text-xs px-3 py-1 rounded-md bg-emerald-600 hover:bg-emerald-700 text-white transition-colors",type:"button",disabled:e.approvalBusy||!b.callId,onClick:v=>l.$emit("approve",b.callId||"")},[...g[6]||(g[6]=[s("span",{class:"flex items-center gap-1"},[s("span",{class:"material-icons-outlined text-[14px]"},"check"),ge(" Allow ")],-1)])],8,Vd),s("button",{class:"text-xs px-3 py-1 rounded-md bg-emerald-800 hover:bg-emerald-900 text-emerald-100 transition-colors",type:"button",disabled:e.approvalBusy,onClick:g[0]||(g[0]=v=>l.$emit("approve-all"))},[...g[7]||(g[7]=[s("span",{class:"flex items-center gap-1"},[s("span",{class:"material-icons-outlined text-[14px]"},"done_all"),ge(" Always Allow ")],-1)])],8,Gd),s("button",{class:"text-xs px-3 py-1 rounded-md border border-red-300 dark:border-red-700 text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/30 transition-colors",type:"button",disabled:e.approvalBusy||!b.callId,onClick:v=>l.$emit("reject",b.callId||"")},[...g[8]||(g[8]=[s("span",{class:"flex items-center gap-1"},[s("span",{class:"material-icons-outlined text-[14px]"},"close"),ge(" Deny ")],-1)])],8,Jd)])])):(c(),xt(fd,{key:1,name:b.name,args:b.args,"call-id":b.callId,"result-output":M(O.id,b.callId),"is-dark":e.darkMode},null,8,["name","args","call-id","result-output","is-dark"]))])):b.type==="tool_result"?(c(),u("div",Hd,[ee(Cd,{name:b.name,output:b.output,status:b.status,structured:b.structured,"is-dark":e.darkMode},null,8,["name","output","status","structured","is-dark"])])):b.type==="attachments"?(c(),u("div",Kd,[s("div",Xd,[(c(!0),u(re,null,ve(b.items,(v,$)=>(c(),u("div",{key:`${O.id}-${h}-${$}`,class:"rounded-md border border-border-light dark:border-border-dark bg-white/60 dark:bg-white/5 p-2"},[s("div",Yd,[s("div",Zd,[v.kind==="image"&&v.url?(c(),u("img",{key:0,src:v.url,alt:v.label,class:"h-full w-full object-cover",loading:"lazy",decoding:"async"},null,8,ec)):(c(),u("div",tc,[s("span",rc,E(P(v.kind)),1)]))]),s("div",nc,[s("div",sc,[s("span",ac,E(v.label),1),s("span",oc,E(_(v.kind)),1)]),v.meta?(c(),u("span",ic,E(v.meta),1)):U("",!0)]),v.url?(c(),u("a",{key:0,href:v.url,target:"_blank",rel:"noopener noreferrer",class:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded border border-border-light dark:border-border-dark text-text-secondary-light dark:text-text-secondary-dark hover:text-primary hover:bg-gray-100 dark:hover:bg-gray-800/60 transition-colors",title:"Open attachment"},[...g[10]||(g[10]=[s("span",{class:"material-icons-outlined text-[14px]"},"open_in_new",-1)])],8,lc)):U("",!0)])]))),128))])])):U("",!0)],64))),128))])],2),q(Rn)(O.ts)!=="—"?(c(),u("div",dc,E(q(Rn)(O.ts)),1)):U("",!0)],2)],2))),128))]),_:1},8,["css"])],512))}}),uc=Object.assign(yt(cc,[["__scopeId","data-v-f56f72cd"]]),{__name:"ChatMessages"}),mc=["title","aria-label"],fc={class:"material-icons-outlined text-[18px]"},pc={key:1,class:"h-[calc(100%-3rem)] flex flex-col"},gc={class:"border-b border-border-light dark:border-border-dark px-3 pt-3 pb-3"},xc={class:"text-[11px] text-text-secondary-light dark:text-text-secondary-dark truncate"},yc={key:0,class:"mt-1 text-[11px] text-text-secondary-light dark:text-text-secondary-dark"},vc={class:"font-mono"},hc={class:"mt-3 inline-flex w-full rounded-md border border-border-light dark:border-border-dark bg-white/75 dark:bg-gray-900/45 p-0.5"},bc={class:"mt-2 flex items-center gap-2 rounded-md border border-border-light dark:border-border-dark bg-white/75 dark:bg-gray-900/45 px-2 py-1.5"},kc=["onKeydown"],wc={class:"text-[10px] font-mono text-text-secondary-light dark:text-text-secondary-dark"},Sc={class:"flex-1 min-h-0 grid grid-rows-[44%_56%]"},Cc={class:"min-h-0 overflow-y-auto border-b border-border-light dark:border-border-dark px-2 py-2"},$c={key:0,class:"text-xs text-red-500 px-2 py-2"},Ac={key:1,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark px-2 py-2"},Ic={key:2,class:"px-2 py-4"},Mc={class:"rounded-md border border-border-light dark:border-border-dark bg-white/65 dark:bg-gray-900/35 px-3 py-6 text-center"},Tc={class:"text-xs font-medium text-text-primary-light dark:text-text-primary-dark"},Rc={class:"mt-1 text-[11px] text-text-secondary-light dark:text-text-secondary-dark"},Ec=["onClick"],_c={class:"font-mono text-[11px] break-all"},Oc={class:"min-h-0 overflow-y-auto px-2 py-2"},Nc={key:0,class:"text-xs text-red-500 px-2 py-2"},Pc={key:1,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark px-2 py-2"},jc={key:2,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark px-2 py-2"},Lc={key:3,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark px-2 py-2"},Dc={key:4},Uc={class:"mb-1.5 flex items-center justify-between gap-2"},Bc={class:"font-mono text-[10px] text-text-secondary-light dark:text-text-secondary-dark truncate"},zc={class:"inline-flex items-center gap-2"},Fc={class:"font-mono text-[10px] text-emerald-600 dark:text-emerald-400"},Wc={class:"font-mono text-[10px] text-rose-600 dark:text-rose-400"},qc={key:0,class:"rounded-md border border-border-light dark:border-border-dark bg-white/70 dark:bg-gray-900/40"},Qc={key:1,class:"rounded-md border border-border-light dark:border-border-dark bg-white/70 dark:bg-gray-900/40 px-2 py-2 text-[11px] text-text-secondary-light dark:text-text-secondary-dark"},Vc={key:2,class:"px-2 py-1 text-[10px] text-text-secondary-light dark:text-text-secondary-dark border-t border-border-light/20 dark:border-border-dark/50"},Gc={class:"mt-1.5 flex items-center justify-end gap-3 text-[10px]"},Jc={key:1,class:"text-emerald-600 dark:text-emerald-400"},Rr=420,Hc=he({__name:"ChangesSidebar",props:{open:{type:Boolean},panelWidth:{},loading:{type:Boolean},error:{},cwd:{},branch:{},activeTab:{},unstagedFiles:{},stagedFiles:{},selectedPath:{},selectedStaged:{type:Boolean},diffPatch:{},diffLoading:{type:Boolean},diffError:{},isDark:{type:Boolean}},emits:["toggle-open","refresh","update:panelWidth","update:activeTab","select-file"],setup(e,{emit:r}){const t=e,n=r,a=T(""),o=z(()=>{const h=t.activeTab==="staged"?t.stagedFiles:t.unstagedFiles,v=a.value.trim().toLowerCase();return v?h.filter($=>String($.path??"").toLowerCase().includes(v)):h}),i=z(()=>t.activeTab==="staged"?t.stagedFiles.length:t.unstagedFiles.length),d=z(()=>Il(t.diffPatch,4e3)),m=z(()=>ns(d.value)),A=T(!1),I=T(!1),M=z(()=>d.value.length>Rr),P=z(()=>Tl(t.diffPatch,A.value?6e3:Rr)),_=z(()=>{if(!t.selectedPath||!t.diffPatch.trim())return null;const h=P.value;return{type:"code_block",language:ss(t.selectedPath)||"text",code:h.updated,raw:h.updated||h.original,diff:!0,originalCode:h.original,updatedCode:h.updated,loading:!1}});let D=null;Me(()=>[t.selectedPath,t.selectedStaged],()=>{A.value=!1,I.value=!1});function w(h,v){return t.selectedPath===h&&t.selectedStaged===v}function l(){return t.open?"Hide changes panel":"Show changes panel"}function g(){a.value=""}async function O(){const h=String(t.diffPatch??"");if(h)try{await navigator.clipboard.writeText(h),I.value=!0,setTimeout(()=>{I.value=!1},900)}catch{}}function b(h){if(!t.open)return;h.preventDefault();const v=F=>{const x=Math.floor(window.innerWidth-F.clientX),f=Math.min(760,Math.max(300,x));n("update:panelWidth",f)},$=()=>{window.removeEventListener("mousemove",v),window.removeEventListener("mouseup",$),D=null};D=$,window.addEventListener("mousemove",v),window.addEventListener("mouseup",$)}return Un(()=>{D?.()}),(h,v)=>(c(),u("aside",{"data-testid":"changes-sidebar",class:"relative h-full border-l border-border-light dark:border-border-dark bg-sidebar-light dark:bg-sidebar-dark transition-[width,colors] duration-300 ease-[cubic-bezier(0.2,0.9,0.2,1)] overflow-hidden",style:Ya({width:e.open?`${e.panelWidth}px`:"48px"})},[e.open?(c(),u("button",{key:0,type:"button",class:"absolute left-0 top-0 z-20 h-full w-1.5 cursor-col-resize bg-transparent hover:bg-primary/20 transition-colors",title:"Drag to resize changes panel",onMousedown:b},null,32)):U("",!0),s("div",{class:Y(["h-12 border-b border-border-light dark:border-border-dark flex items-center px-2",e.open?"justify-between":"justify-center"])},[s("button",{type:"button",class:"h-8 w-8 rounded-md flex items-center justify-center text-text-secondary-light dark:text-text-secondary-dark hover:text-primary hover:bg-gray-100 dark:hover:bg-gray-800/60 transition-colors",title:l(),"aria-label":l(),onClick:v[0]||(v[0]=$=>n("toggle-open"))},[s("span",fc,E(e.open?"keyboard_double_arrow_right":"keyboard_double_arrow_left"),1)],8,mc),e.open?(c(),u(re,{key:0},[v[7]||(v[7]=s("div",{class:"text-xs font-semibold tracking-wide text-text-secondary-light dark:text-text-secondary-dark uppercase"}," Changes ",-1)),s("button",{type:"button",class:"h-8 w-8 rounded-md flex items-center justify-center text-text-secondary-light dark:text-text-secondary-dark hover:text-primary hover:bg-gray-100 dark:hover:bg-gray-800/60 transition-colors",title:"Refresh changes",onClick:v[1]||(v[1]=$=>n("refresh"))},[...v[6]||(v[6]=[s("span",{class:"material-icons-outlined text-[17px]"},"refresh",-1)])])],64)):U("",!0)],2),e.open?(c(),u("div",pc,[s("div",gc,[s("div",xc,E(e.cwd||"No workspace"),1),e.branch?(c(),u("div",yc,[v[8]||(v[8]=ge(" Branch: ",-1)),s("span",vc,E(e.branch),1)])):U("",!0),s("div",hc,[s("button",{type:"button",class:Y(["flex-1 rounded px-2 py-1 text-[11px] transition-colors",e.activeTab==="unstaged"?"bg-primary text-primary-foreground":"text-text-secondary-light dark:text-text-secondary-dark hover:text-text-primary-light dark:hover:text-text-primary-dark"]),onClick:v[2]||(v[2]=$=>n("update:activeTab","unstaged"))}," Unstaged ("+E(e.unstagedFiles.length)+") ",3),s("button",{type:"button",class:Y(["flex-1 rounded px-2 py-1 text-[11px] transition-colors",e.activeTab==="staged"?"bg-primary text-primary-foreground":"text-text-secondary-light dark:text-text-secondary-dark hover:text-text-primary-light dark:hover:text-text-primary-dark"]),onClick:v[3]||(v[3]=$=>n("update:activeTab","staged"))}," Staged ("+E(e.stagedFiles.length)+") ",3)]),s("div",bc,[v[10]||(v[10]=s("span",{class:"material-icons-outlined text-[14px] text-text-secondary-light dark:text-text-secondary-dark"},"search",-1)),rt(s("input",{"onUpdate:modelValue":v[4]||(v[4]=$=>a.value=$),type:"text",class:"w-full bg-transparent text-[11px] text-text-primary-light dark:text-text-primary-dark placeholder:text-text-secondary-light dark:placeholder:text-text-secondary-dark outline-none",placeholder:"Filter changed files...",onKeydown:Le(ue(g,["prevent"]),["escape"])},null,40,kc),[[nt,a.value]]),a.value?(c(),u("button",{key:0,type:"button",class:"h-4 w-4 rounded flex items-center justify-center text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",title:"Clear filter",onClick:g},[...v[9]||(v[9]=[s("span",{class:"material-icons-outlined text-[11px]"},"close",-1)])])):U("",!0),s("span",wc,E(o.value.length)+"/"+E(i.value),1)])]),s("div",Sc,[s("div",Cc,[e.error?(c(),u("p",$c,E(e.error),1)):e.loading?(c(),u("p",Ac,"Loading changes…")):o.value.length?(c(),xt(ir,{key:3,name:"file-item",tag:"div",class:"space-y-1"},{default:we(()=>[(c(!0),u(re,null,ve(o.value,$=>(c(),u("button",{key:`${e.activeTab}-${$.path}`,type:"button",class:Y(["w-full text-left rounded-md border px-2 py-2 text-[12px] transition-[colors,border-color,transform] duration-150 ease-[cubic-bezier(0.2,0.9,0.2,1)] flex items-start gap-2",w($.path,e.activeTab==="staged")?"border-primary/45 bg-primary/15 text-text-primary-light dark:text-text-primary-dark":"border-transparent hover:bg-gray-100 dark:hover:bg-gray-800/60 hover:border-border-light dark:hover:border-border-dark hover:translate-x-[1px] text-text-primary-light dark:text-text-primary-dark"]),onClick:F=>n("select-file",$.path,e.activeTab==="staged")},[s("span",{class:Y(["mt-0.5 inline-flex h-4 min-w-4 items-center justify-center rounded text-[10px] font-semibold",$.status==="A"?"bg-emerald-100 text-emerald-700 dark:bg-emerald-900/40 dark:text-emerald-300":$.status==="D"?"bg-rose-100 text-rose-700 dark:bg-rose-900/40 dark:text-rose-300":"bg-sky-100 text-sky-700 dark:bg-sky-900/40 dark:text-sky-300"])},E($.status),3),s("span",_c,E($.path),1)],10,Ec))),128))]),_:1})):(c(),u("div",Ic,[s("div",Mc,[s("div",Tc,E(a.value?"No matching files":`No ${e.activeTab} changes`),1),s("div",Rc,E(a.value?"Try a different keyword.":"Code changes will appear here."),1)])]))]),s("div",Oc,[e.diffError?(c(),u("p",Nc,E(e.diffError),1)):e.diffLoading?(c(),u("p",Pc,"Loading patch…")):e.selectedPath?d.value.length?(c(),u("div",Dc,[s("div",Uc,[s("span",Bc,E(e.selectedPath),1),s("div",zc,[s("span",Fc,"+"+E(m.value.added),1),s("span",Wc,"-"+E(m.value.removed),1),s("button",{type:"button",class:"text-[10px] text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",onClick:O}," Copy ")])]),_.value?(c(),u("div",qc,[ee(Et,{node:_.value,"is-dark":t.isDark,diff:""},null,8,["node","is-dark"])])):(c(),u("div",Qc," No renderable diff body ")),M.value&&!A.value?(c(),u("div",Vc," Showing first "+E(Rr)+" / "+E(d.value.length)+" lines ",1)):U("",!0),s("div",Gc,[M.value?(c(),u("button",{key:0,type:"button",class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",onClick:v[5]||(v[5]=$=>A.value=!A.value)},E(A.value?"Show less":"Show full patch"),1)):U("",!0),I.value?(c(),u("span",Jc,"Copied")):U("",!0)])])):(c(),u("p",Lc," No patch preview for this file. ")):(c(),u("p",jc," Select a file to preview patch. "))])])])):U("",!0)],4))}}),Kc=Object.assign(yt(Hc,[["__scopeId","data-v-b4658027"]]),{__name:"ChangesSidebar"});function Xc(e){return`${e.type}-${e.id??e.receivedAt}`}function Yc(e){return e&&typeof e=="object"?e:null}function En(e){if(!e)return null;const r=e.sessionId??e.session_id;return typeof r=="string"&&r.trim()?r:null}function _t(e){if(!e)return null;const r=e.runId??e.run_id;return typeof r=="string"&&r.trim()?r:null}function Ot(e){const r=Yc(e.payload);return r?("payload"in r&&r.payload&&typeof r.payload=="object"?r.payload:null)??r:null}function Zc(e){return _t(Ot(e))}function st(e){if(!e)return null;const r=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(r&&r.trim())return r.trim();const n=(Array.isArray(e.tool_calls)?e.tool_calls:[])[0];return n&&typeof n.id=="string"&&n.id.trim()?n.id.trim():null}function Ur(e){if(!e)return null;const r=e.toolName??e.tool_name??e.name;if(typeof r=="string"&&r.trim())return r.trim();const t=e.function??e.tool;if(t&&typeof t=="object"){const o=t.name;return typeof o=="string"&&o.trim()?o.trim():null}const a=(Array.isArray(e.tool_calls)?e.tool_calls:[])[0];return a?.function?.name?String(a.function.name):null}function Br(e){if(!e)return{args:"",delta:""};const r=typeof e.argsTextDelta=="string"?e.argsTextDelta:typeof e.args_text_delta=="string"?e.args_text_delta:typeof e.argsDelta=="string"?e.argsDelta:"";let n=typeof e.argsText=="string"?e.argsText:typeof e.args_text=="string"?e.args_text:typeof e.args=="string"?e.args:"";if(!n){const i=(Array.isArray(e.tool_calls)?e.tool_calls:[])[0];if(i?.function?.arguments!=null){const d=i.function.arguments;if(typeof d=="string")n=d;else try{n=JSON.stringify(d,null,2)}catch{n=String(d)}}}const a=typeof e.originalEventType=="string"?e.originalEventType:"";return n&&(a==="tool_call_end"||!r)?{args:n,delta:""}:r?{args:r,delta:r}:{args:n,delta:""}}const eu={class:"space-y-4"},tu={class:"rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark p-4 shadow-sm"},ru={key:0,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark"},nu={key:1,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark"},su={key:2,class:"space-y-3"},au={class:"grid grid-cols-2 gap-2 text-xs"},ou={class:"text-text-secondary-light dark:text-text-secondary-dark"},iu={class:"text-text-primary-light dark:text-text-primary-dark font-medium"},lu={class:"flex flex-wrap gap-2"},du={class:"rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark p-4 shadow-sm"},cu={class:"grid grid-cols-2 gap-2 text-xs"},uu={class:"text-text-secondary-light dark:text-text-secondary-dark"},mu={class:"rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark p-4 shadow-sm"},fu={class:"text-xs text-text-secondary-light dark:text-text-secondary-dark mb-2"},pu={class:"space-y-2 max-h-64 overflow-y-auto pr-1"},gu={class:"flex items-center justify-between text-xs text-text-secondary-light dark:text-text-secondary-dark"},xu={class:"font-medium text-text-primary-light dark:text-text-primary-dark"},yu={class:"mt-1"},vu={class:"mt-2 text-[10px] whitespace-pre-wrap"},hu={key:0,class:"rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark p-4 shadow-sm"},bu={class:"text-xs text-text-secondary-light dark:text-text-secondary-dark mb-2"},ku={class:"mt-2 text-[10px] whitespace-pre-wrap"},wu=he({__name:"DebugPanel",props:{statusLoading:{type:Boolean},statusError:{},statusRows:{},capabilities:{},events:{},snapshotLabel:{},snapshotContent:{}},emits:["refresh","reconnect","capabilities","copy-origin"],setup(e){return(r,t)=>(c(),u("aside",eu,[s("article",tu,[t[4]||(t[4]=s("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark mb-2"},"Status Snapshot",-1)),e.statusLoading?(c(),u("p",ru," Loading /status snapshot... ")):e.statusError?(c(),u("p",nu,E(e.statusError),1)):(c(),u("div",su,[s("div",au,[(c(!0),u(re,null,ve(e.statusRows,n=>(c(),u("div",{key:n.label,class:"flex flex-col"},[s("span",ou,E(n.label),1),s("span",iu,E(n.value),1)]))),128))]),s("div",lu,[s("button",{class:"text-xs px-3 py-1 rounded border border-border-light dark:border-border-dark hover:border-primary",type:"button",onClick:t[0]||(t[0]=n=>r.$emit("refresh"))}," Refresh "),s("button",{class:"text-xs px-3 py-1 rounded border border-border-light dark:border-border-dark hover:border-primary",type:"button",onClick:t[1]||(t[1]=n=>r.$emit("reconnect"))}," Reconnect "),s("button",{class:"text-xs px-3 py-1 rounded border border-border-light dark:border-border-dark hover:border-primary",type:"button",onClick:t[2]||(t[2]=n=>r.$emit("capabilities"))}," Capabilities "),s("button",{class:"text-xs px-3 py-1 rounded border border-border-light dark:border-border-dark hover:border-primary",type:"button",onClick:t[3]||(t[3]=n=>r.$emit("copy-origin"))}," Copy origin ")])]))]),s("article",du,[t[5]||(t[5]=s("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark mb-2"},"Capabilities",-1)),s("div",cu,[(c(!0),u(re,null,ve(e.capabilities,n=>(c(),u("div",{key:n.key,class:"flex items-center justify-between rounded border border-border-light dark:border-border-dark px-2 py-1"},[s("span",uu,E(n.label),1),s("span",{class:Y(n.enabled?"text-emerald-500":"text-red-500")},E(n.enabled?"Yes":"No"),3)]))),128))])]),s("article",mu,[t[7]||(t[7]=s("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark mb-2"},"Event Stream",-1)),s("p",fu," Most recent "+E(e.events.length)+" events ",1),s("div",pu,[(c(!0),u(re,null,ve(e.events,n=>(c(),u("div",{key:q(Xc)(n),class:"rounded border border-border-light dark:border-border-dark p-2"},[s("div",gu,[s("span",xu,E(n.type),1),s("span",null,E(q(Ad)(n)),1)]),s("details",yu,[t[6]||(t[6]=s("summary",{class:"cursor-pointer text-[11px] text-text-secondary-light dark:text-text-secondary-dark"}," Payload ",-1)),s("pre",vu,E(q(Id)(n)),1)])]))),128))])]),e.snapshotLabel?(c(),u("article",hu,[t[9]||(t[9]=s("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark mb-2"},"Session Snapshot",-1)),s("p",bu,E(e.snapshotLabel),1),s("details",null,[t[8]||(t[8]=s("summary",{class:"cursor-pointer text-[11px] text-text-secondary-light dark:text-text-secondary-dark"}," Snapshot data ",-1)),s("pre",ku,E(e.snapshotContent),1)])])):U("",!0)]))}}),Su=Object.assign(wu,{__name:"DebugPanel"}),Cu=["onKeydown"],$u={class:"text-sm text-text-primary-light dark:text-text-primary-dark"},Au={class:"mt-4 flex justify-end gap-2"},Iu=["disabled"],Mu=["disabled"],Tu=he({__name:"DeleteDialog",props:{open:{type:Boolean},target:{},busy:{type:Boolean}},emits:["close","confirm"],setup(e,{expose:r,emit:t}){const n=t,a=T(null);function o(){n("close")}function i(){n("confirm")}return r({dialogEl:a}),(d,m)=>e.open?(c(),u("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},[s("div",{ref_key:"dialogEl",ref:a,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:m[0]||(m[0]=ue(()=>{},["stop"])),onKeydown:[Le(ue(o,["stop","prevent"]),["escape"]),Le(ue(i,["stop","prevent"]),["enter"])]},[s("div",{class:"flex items-center justify-between mb-3"},[m[2]||(m[2]=s("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark"}," Delete session ",-1)),s("button",{class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",type:"button",onClick:o},[...m[1]||(m[1]=[s("span",{class:"material-icons-outlined text-base"},"close",-1)])])]),s("p",$u,[m[3]||(m[3]=ge(" This will permanently delete ",-1)),s("strong",null,E(e.target?.title||"this session"),1),m[4]||(m[4]=ge(" and its history. ",-1))]),s("div",Au,[s("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,Iu),s("button",{class:"text-xs px-3 py-1.5 rounded bg-red-500 text-white",type:"button",disabled:e.busy,onClick:i},E(e.busy?"Deleting…":"Delete"),9,Mu)])],40,Cu)])):U("",!0)}}),Ru=Object.assign(Tu,{__name:"DeleteDialog"}),Eu=["title","aria-label"],_u={class:"material-icons-outlined text-[18px]"},Ou={key:0,class:"inline-flex items-center gap-1.5 text-[11px] font-semibold text-text-secondary-light dark:text-text-secondary-dark tracking-widest uppercase"},Nu={class:"rounded border border-border-light dark:border-border-dark px-1 py-0 font-mono text-[9px] tracking-normal"},Pu={key:0,class:"font-normal truncate"},ju={key:0,class:"font-normal truncate"},Lu={key:0,class:"font-normal truncate"},Du={class:"flex items-center justify-between mb-4"},Uu={class:"space-y-1 max-h-60 overflow-y-auto"},Bu=["onClick"],zu={class:"min-w-0"},Fu={class:"font-medium truncate"},Wu={key:0,class:"text-[11px] text-text-secondary-light dark:text-text-secondary-dark truncate mt-0.5"},qu={class:"mt-4 flex justify-end"},Qu={class:"flex-1 overflow-y-auto overflow-x-hidden px-2 space-y-2"},Vu=["title","onClick"],Gu={key:1,class:"material-icons-outlined text-[16px]"},Ju={key:0,class:"mx-auto my-1 h-px w-6 bg-border-light dark:bg-border-dark"},Hu=["title","onClick"],Ku={key:1},Xu={class:"rounded-md border border-border-light dark:border-border-dark bg-white/70 dark:bg-gray-900/40 px-2 py-2 flex items-center gap-2"},Yu=["onKeydown"],Zu={key:0,class:"space-y-1"},em={class:"px-2 pt-1 pb-0.5 flex items-center justify-between"},tm={class:"text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},rm=["onClick"],nm={class:"flex-1 min-w-0 truncate font-normal"},sm={class:"shrink-0 text-[10px] opacity-70"},am=["onClick"],om={key:2,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark px-2 py-2"},im={key:3,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark px-2 py-2"},lm={key:4,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark px-2 py-2"},dm=["aria-expanded","onClick"],cm={class:"font-normal truncate"},um={key:0,class:"shrink-0 inline-flex items-center gap-0.5 text-[10px] font-mono text-text-secondary-light dark:text-text-secondary-dark opacity-70"},mm=["title","aria-label","onClick"],fm={class:"material-icons-outlined text-[14px]"},pm=["onClick"],gm={key:0,class:"space-y-0.5 mt-1 overflow-x-hidden"},xm=["onClick"],ym={class:"flex-1 min-w-0 truncate font-normal"},vm={key:0,class:"absolute right-2 top-1/2 -translate-y-1/2 flex items-center gap-2 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 focus-within:opacity-100 transition-opacity duration-150"},hm=["title","aria-label","onClick"],bm=["onClick"],km=["onClick"],wm=["value","onKeydown"],Sm={class:"mt-2 flex gap-2"},Cm=["onClick"],$m=["onClick"],Am={key:6,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark px-2 py-2"},Im={key:0,class:"px-3 pb-3 border-t border-border-light dark:border-border-dark pt-3"},Mm={class:"space-y-2"},Tm=["onClick"],Rm={class:"font-medium"},Em={class:"block text-[10px] text-text-secondary-light dark:text-text-secondary-dark mt-1"},_n=10,Er=40,_m=he({__name:"SessionSidebar",props:{sessions:{},sessionsLoading:{type:Boolean},sessionsError:{},activeSessionId:{},editingSessionId:{},renameDraft:{},sessionNote:{},canManageSessions:{type:Boolean},debugUi:{type:Boolean},commandItems:{},lastUpdatedLabel:{},sessionCountLabel:{},activeSessionCwdLabel:{},pinnedSessionIds:{},runningSessionIds:{},sidebarCollapsed:{type:Boolean}},emits:["refresh","create","select","rename","delete","pin","unpin","toggle-sidebar","update:renameDraft","apply-rename","cancel-rename","copy-command","openSkills"],setup(e,{emit:r}){const t=e,n=r,a=T(!1),o=T(""),i=T(Er),d=z(()=>{const j=new Map;for(const R of t.sessions){const L=String(R.cwd??"").trim(),H=L||"__workspace__";j.has(H)||j.set(H,m(L))}return[...j.entries()].map(([R,L])=>({cwd:R==="__workspace__"?"":R,name:L})).sort((R,L)=>R.name.localeCompare(L.name))});function m(j){const R=String(j??"").trim();if(!R)return"workspace";const L=R.split(/[/\\]/).filter(Boolean);return L.length?L[L.length-1]??"workspace":"workspace"}const A=z(()=>new Set((t.pinnedSessionIds??[]).map(j=>String(j)))),I=z(()=>new Set((t.runningSessionIds??[]).map(j=>String(j)))),M=z(()=>o.value.trim().toLowerCase());function P(j){const R=M.value;if(!R)return!0;const L=String(j?.title??"").toLowerCase(),H=String(j?.cwd??"").toLowerCase(),de=String(j?.summary??"").toLowerCase();return L.includes(R)||H.includes(R)||de.includes(R)}const _=z(()=>[...t.sessions.filter(R=>{const L=String(R.id??"").trim();return L&&A.value.has(L)&&P(R)})].sort((R,L)=>He(L)-He(R))),D=z(()=>[...t.sessions.filter(R=>{const L=String(R.id??"").trim();return L&&!A.value.has(L)&&P(R)})].sort((R,L)=>He(L)-He(R)).slice(0,10)),w=z(()=>{const j=new Map;for(const L of t.sessions){const H=String(L.cwd??"").trim(),de=m(H),oe=H||"__workspace__";if(!j.has(oe)){const me=String(L.gitBranch??"").trim();j.set(oe,{folderName:de,gitBranch:me,sessions:[]})}j.get(oe).sessions.push(L)}return[...j.entries()].map(([L,H])=>({key:L,folderName:H.folderName,gitBranch:H.gitBranch,sessions:[...H.sessions].sort((de,oe)=>He(oe)-He(de))})).sort((L,H)=>L.folderName.localeCompare(H.folderName))}),l=z(()=>M.value?w.value.map(j=>({...j,sessions:j.sessions.filter(P)})).filter(j=>j.sessions.length>0):w.value),g=z(()=>M.value?0:Math.max(0,l.value.length-i.value)),O=z(()=>g.value>0?l.value.slice(0,i.value):l.value),b=z(()=>{let j=0;for(const R of l.value)j+=R.sessions.length;return j}),h=bn({}),v=bn({});function $(j){return h[j]!==!1}function F(j){h[j]=!$(j)}function x(j){const R=String(j?.id??"").trim();return!!R&&A.value.has(R)}function f(j){const R=String(j?.id??"").trim();return!!R&&I.value.has(R)}function C(j){x(j)?n("unpin",j):n("pin",j)}const N=z(()=>{const j=new Map;for(const R of l.value){const L=R.sessions,H=L.length>_n,de=v[R.key]||!H?L:L.slice(0,_n);j.set(R.key,{displayed:de,hasMore:H})}return j});function k(j){return N.value.get(j.key)?.displayed??j.sessions}function Q(j){return N.value.get(j.key)?.hasMore??!1}function ne(){return t.sidebarCollapsed?"Expand sidebar":"Collapse sidebar"}function te(j){const R=String(j?.title??"").trim();return R?(R[0]??"#").toUpperCase():"#"}function le(){o.value=""}function Se(){i.value+=Er}return(j,R)=>(c(),u("aside",{"data-testid":"session-sidebar",class:Y(["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",e.sidebarCollapsed?"w-16":"w-72"])},[s("div",{class:Y(["px-2 pt-3 pb-2 flex items-center",e.sidebarCollapsed?"justify-center":"justify-between"])},[s("button",{class:"h-8 w-8 rounded-md flex items-center justify-center text-text-secondary-light dark:text-text-secondary-dark hover:text-primary hover:bg-gray-100 dark:hover:bg-gray-800/60 transition-all",type:"button",title:ne(),"aria-label":ne(),onClick:R[0]||(R[0]=L=>n("toggle-sidebar"))},[s("span",_u,E(e.sidebarCollapsed?"keyboard_double_arrow_right":"keyboard_double_arrow_left"),1)],8,Eu),e.sidebarCollapsed?U("",!0):(c(),u("span",Ou,[R[14]||(R[14]=s("span",null,"Threads",-1)),s("span",Nu,E(b.value),1)]))],2),s("nav",{class:Y(["px-2 space-y-0.5 mb-3",e.sidebarCollapsed?"items-center flex flex-col":""])},[ee(Fe,{variant:"ghost",class:Y(["gap-2 text-sm",e.sidebarCollapsed?"h-9 w-9 px-0 justify-center text-text-secondary-light dark:text-text-secondary-dark":"w-full justify-start px-2 text-text-secondary-light dark:text-text-secondary-dark hover:text-text-primary-light dark:hover:text-text-primary-dark"]),title:e.sidebarCollapsed?"New thread":void 0,onClick:R[1]||(R[1]=L=>d.value.length>1?a.value=!0:n("create"))},{default:we(()=>[R[15]||(R[15]=s("span",{class:"material-icons-outlined text-[18px] shrink-0"},"edit",-1)),e.sidebarCollapsed?U("",!0):(c(),u("span",Pu,"New thread"))]),_:1},8,["class","title"]),ee(Fe,{variant:"ghost",class:Y(["gap-2 text-sm",e.sidebarCollapsed?"h-9 w-9 px-0 justify-center text-text-secondary-light dark:text-text-secondary-dark":"w-full justify-start px-2 text-text-secondary-light dark:text-text-secondary-dark hover:text-text-primary-light dark:hover:text-text-primary-dark"]),title:e.sidebarCollapsed?"Skills":void 0,onClick:R[2]||(R[2]=L=>n("openSkills"))},{default:we(()=>[R[16]||(R[16]=s("span",{class:"material-icons-outlined text-[18px] shrink-0"},"psychology",-1)),e.sidebarCollapsed?U("",!0):(c(),u("span",ju,"Skills"))]),_:1},8,["class","title"]),ee(Fe,{variant:"ghost",class:Y(["gap-2 text-sm",e.sidebarCollapsed?"h-9 w-9 px-0 justify-center text-text-secondary-light dark:text-text-secondary-dark":"w-full justify-start px-2 text-text-secondary-light dark:text-text-secondary-dark hover:text-text-primary-light dark:hover:text-text-primary-dark"]),disabled:e.sessionsLoading,title:e.sidebarCollapsed?"Refresh":void 0,onClick:R[3]||(R[3]=L=>n("refresh"))},{default:we(()=>[R[17]||(R[17]=s("span",{class:"material-icons-outlined text-[18px] shrink-0"},"refresh",-1)),e.sidebarCollapsed?U("",!0):(c(),u("span",Lu,"Refresh"))]),_:1},8,["class","disabled","title"])],2),(c(),xt(Bn,{to:"body"},[a.value?(c(),u("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:R[8]||(R[8]=L=>a.value=!1)},[s("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:R[6]||(R[6]=ue(()=>{},["stop"])),onKeydown:R[7]||(R[7]=Le(ue(L=>a.value=!1,["stop","prevent"]),["escape"]))},[s("div",Du,[R[19]||(R[19]=s("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark"}," Choose workspace ",-1)),s("button",{class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",type:"button",onClick:R[4]||(R[4]=L=>a.value=!1)},[...R[18]||(R[18]=[s("span",{class:"material-icons-outlined text-base"},"close",-1)])])]),R[21]||(R[21]=s("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)),s("div",Uu,[(c(!0),u(re,null,ve(d.value,L=>(c(),u("button",{key:L.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:H=>{a.value=!1,n("create",L.cwd)}},[R[20]||(R[20]=s("span",{class:"material-icons-outlined text-[18px] text-text-secondary-light dark:text-text-secondary-dark"},"folder",-1)),s("div",zu,[s("div",Fu,E(L.name),1),L.cwd?(c(),u("div",Wu,E(L.cwd),1)):U("",!0)])],8,Bu))),128))]),s("div",qu,[s("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:R[5]||(R[5]=L=>a.value=!1)}," Cancel ")])],32)])):U("",!0)])),s("div",Qu,[e.sidebarCollapsed?(c(),u(re,{key:0},[(c(!0),u(re,null,ve(_.value.slice(0,8),L=>(c(),u("button",{key:`collapsed-pin-${L.id}`,type:"button",class:"mx-auto h-9 w-9 rounded-md border border-primary/40 flex items-center justify-center text-primary bg-primary/10 hover:bg-primary/20 transition-colors",title:L.title||"Pinned session",onClick:H=>n("select",L.id)},[f(L)?(c(),u("span",{key:0,class:Y(["session-spinner h-4 w-4",L.id===e.activeSessionId?"border-primary-foreground/75 border-t-primary-foreground":"border-primary/45 border-t-primary"])},null,2)):(c(),u("span",Gu,"push_pin"))],8,Vu))),128)),_.value.length&&D.value.length?(c(),u("div",Ju)):U("",!0),(c(!0),u(re,null,ve(D.value,L=>(c(),u("button",{key:`collapsed-recent-${L.id}`,type:"button",class:Y(["mx-auto h-9 w-9 rounded-md border border-border-light dark:border-border-dark flex items-center justify-center text-[11px] font-semibold font-mono transition-colors",L.id===e.activeSessionId?"bg-primary text-primary-foreground border-primary/60":"text-text-secondary-light dark:text-text-secondary-dark hover:text-text-primary-light dark:hover:text-text-primary-dark hover:bg-gray-100 dark:hover:bg-gray-800/60"]),title:L.title||"Session",onClick:H=>n("select",L.id)},[f(L)?(c(),u("span",{key:0,class:Y(["session-spinner h-4 w-4",L.id===e.activeSessionId?"border-primary-foreground/75 border-t-primary-foreground":"border-border-light dark:border-border-dark border-t-primary"])},null,2)):(c(),u("span",Ku,E(te(L)),1))],10,Hu))),128))],64)):(c(),u(re,{key:1},[s("div",Xu,[R[23]||(R[23]=s("span",{class:"material-icons-outlined text-[14px] text-text-secondary-light dark:text-text-secondary-dark"},"search",-1)),rt(s("input",{"onUpdate:modelValue":R[9]||(R[9]=L=>o.value=L),type:"text",class:"w-full bg-transparent text-[12px] text-text-primary-light dark:text-text-primary-dark placeholder:text-text-secondary-light dark:placeholder:text-text-secondary-dark outline-none",placeholder:"Filter threads...",onKeydown:Le(ue(le,["prevent"]),["escape"])},null,40,Yu),[[nt,o.value]]),o.value?(c(),u("button",{key:0,type:"button",class:"h-5 w-5 rounded flex items-center justify-center text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",title:"Clear filter",onClick:le},[...R[22]||(R[22]=[s("span",{class:"material-icons-outlined text-[13px]"},"close",-1)])])):U("",!0)]),_.value.length?(c(),u("div",Zu,[s("div",em,[R[24]||(R[24]=s("span",{class:"text-[10px] font-semibold tracking-widest uppercase text-text-secondary-light dark:text-text-secondary-dark"}," Pins ",-1)),s("span",tm,E(_.value.length),1)]),ee(ir,{name:"session-item",tag:"div",class:"space-y-0.5"},{default:we(()=>[(c(!0),u(re,null,ve(_.value,L=>(c(),u("div",{key:`pin-${L.id}`,class:"group relative"},[s("button",{type:"button",class:Y(["w-full min-w-0 text-left rounded-md border pl-2 pr-2 py-1.5 transition-[transform,colors,border-color] duration-150 ease-[cubic-bezier(0.2,0.9,0.2,1)] text-[13px] leading-snug flex items-center gap-2",L.id===e.activeSessionId?"bg-primary text-primary-foreground shadow-soft border-primary/55":"border-transparent text-text-primary-light dark:text-text-primary-dark hover:bg-gray-100 dark:hover:bg-gray-800/60 hover:border-border-light dark:hover:border-border-dark hover:translate-x-[1px]"]),onClick:H=>n("select",L.id)},[f(L)?(c(),u("span",{key:0,class:Y(["session-spinner h-3.5 w-3.5 shrink-0",L.id===e.activeSessionId?"border-primary-foreground/70 border-t-primary-foreground":"border-primary/45 border-t-primary"])},null,2)):(c(),u("span",{key:1,class:Y(["material-icons-outlined text-[14px] shrink-0",L.id===e.activeSessionId?"text-primary-foreground/80":"text-primary"])}," push_pin ",2)),s("span",nm,E(L.title||"Untitled"),1),s("span",sm,E(q(Tn)(L)),1)],10,rm),s("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 h-6 w-6 rounded-md border border-border-light dark:border-border-dark bg-white/80 dark:bg-gray-900/70 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 focus:opacity-100 flex items-center justify-center text-text-secondary-light dark:text-text-secondary-dark hover:text-primary hover:bg-gray-100 dark:hover:bg-gray-800/80 transition-all",title:"Unpin","aria-label":"Unpin session",onClick:ue(H=>n("unpin",L),["stop"])},[...R[25]||(R[25]=[s("span",{class:"material-icons-outlined text-[13px]"},"close",-1)])],8,am)]))),128))]),_:1})])):U("",!0)],64)),e.sessionsError&&!e.sidebarCollapsed?(c(),u("p",om," Sessions unavailable: "+E(e.sessionsError),1)):!e.sessions.length&&!e.sidebarCollapsed?(c(),u("p",im,E(e.sessionsLoading?"Loading sessions…":"No sessions yet. Create one to start."),1)):!e.sidebarCollapsed&&o.value&&!_.value.length&&!l.value.length?(c(),u("p",lm,' No threads match "'+E(o.value)+'". ',1)):U("",!0),(c(!0),u(re,null,ve(O.value,L=>(c(),u(re,{key:L.key},[s("div",{class:Y(["w-full rounded-md border border-border-light dark:border-border-dark px-2 py-2 flex items-center gap-2 text-sm text-text-primary-light dark:text-text-primary-dark bg-white/60 dark:bg-gray-900/35 group/folder",e.sidebarCollapsed?"justify-center":""])},[s("button",{type:"button",class:"flex items-center gap-2 flex-1 min-w-0","aria-expanded":String($(L.key)),onClick:H=>F(L.key)},[s("span",{class:Y(["material-icons-outlined text-[18px] shrink-0",$(L.key)?"text-primary":"text-text-secondary-light dark:text-text-secondary-dark"])},E($(L.key)?"folder_open":"folder"),3),e.sidebarCollapsed?U("",!0):(c(),u(re,{key:0},[s("span",cm,E(L.folderName),1),L.gitBranch?(c(),u("span",um,[R[26]||(R[26]=s("svg",{class:"w-2.5 h-2.5",viewBox:"0 0 16 16",fill:"currentColor"},[s("path",{"fill-rule":"evenodd",d:"M11.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5zm-2.25.75a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.492 2.492 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25zM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5zM3.5 3.25a.75.75 0 1 1 1.5 0 .75.75 0 0 1-1.5 0z"})],-1)),ge(" "+E(L.gitBranch),1)])):U("",!0)],64))],8,dm),e.sidebarCollapsed?U("",!0):(c(),u(re,{key:0},[s("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 hover:bg-gray-100 dark:hover:bg-gray-800/70 opacity-0 group-hover/folder:opacity-100 group-focus-within/folder:opacity-100 focus:opacity-100 transition-opacity",title:$(L.key)?"Collapse":"Expand","aria-label":$(L.key)?"Collapse folder":"Expand folder",onClick:ue(H=>F(L.key),["stop"])},[s("span",fm,E($(L.key)?"expand_less":"expand_more"),1)],8,mm),s("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 hover:bg-gray-100 dark:hover:bg-gray-800/70 opacity-0 group-hover/folder:opacity-100 group-focus-within/folder:opacity-100 focus:opacity-100 transition-opacity",title:"New thread in this folder","aria-label":"Create thread in folder",onClick:ue(H=>n("create",L.key==="__workspace__"?"":L.key),["stop"])},[...R[27]||(R[27]=[s("span",{class:"material-icons-outlined text-[16px]"},"add",-1)])],8,pm)],64))],2),ee(ar,{name:"folder-collapse"},{default:we(()=>[$(L.key)&&!e.sidebarCollapsed?(c(),u("div",gm,[ee(ir,{name:"session-item",tag:"div",class:"space-y-0.5"},{default:we(()=>[(c(!0),u(re,null,ve(k(L),H=>(c(),u("div",{key:H.id,class:"group relative max-w-full"},[s("button",{type:"button",class:Y(["w-full min-w-0 text-left rounded-md border pl-9 pr-2 py-1.5 transition-[transform,colors,border-color] duration-150 ease-[cubic-bezier(0.2,0.9,0.2,1)] text-[13px] leading-snug flex items-center gap-3",H.id===e.activeSessionId?"bg-primary text-primary-foreground shadow-soft border-primary/55":"border-transparent text-text-primary-light dark:text-text-primary-dark hover:bg-gray-100 dark:hover:bg-gray-800/60 hover:border-border-light dark:hover:border-border-dark hover:translate-x-[1px]"]),onClick:de=>n("select",H.id)},[f(H)?(c(),u("span",{key:0,class:Y(["session-spinner h-3.5 w-3.5 shrink-0",H.id===e.activeSessionId?"border-primary-foreground/70 border-t-primary-foreground":"border-border-light dark:border-border-dark border-t-primary"])},null,2)):U("",!0),s("span",ym,E(H.title||"Untitled"),1),s("span",{class:Y(["shrink-0 text-[11px] text-text-secondary-light dark:text-text-secondary-dark whitespace-nowrap group-hover:opacity-0 transition-opacity",H.id===e.activeSessionId?"text-primary-foreground/80":""])},E(q(Tn)(H)),3)],10,xm),e.editingSessionId!==H.id?(c(),u("div",vm,[s("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",title:x(H)?"Unpin session":"Pin session","aria-label":x(H)?"Unpin session":"Pin session",type:"button",onClick:ue(de=>C(H),["stop"])},[s("span",{class:Y(["material-icons-outlined text-[12px]",x(H)?"text-primary":""])},"push_pin",2)],8,hm),e.canManageSessions?(c(),u("button",{key:0,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","aria-label":"Rename session",type:"button",onClick:ue(de=>n("rename",H),["stop"])},[...R[28]||(R[28]=[s("span",{class:"material-icons-outlined text-[12px]"},"edit",-1)])],8,bm)):U("",!0),e.canManageSessions?(c(),u("button",{key:1,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","aria-label":"Delete session",type:"button",onClick:ue(de=>n("delete",H),["stop"])},[...R[29]||(R[29]=[s("span",{class:"material-icons-outlined text-[12px]"},"delete",-1)])],8,km)):U("",!0)])):U("",!0),e.editingSessionId===H.id?(c(),u("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:R[13]||(R[13]=ue(()=>{},["stop"]))},[s("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:R[10]||(R[10]=de=>n("update:renameDraft",de.target.value)),onKeydown:[Le(ue(de=>n("apply-rename",H),["prevent"]),["enter"]),R[11]||(R[11]=Le(ue(de=>n("cancel-rename"),["prevent"]),["escape"]))]},null,40,wm),s("div",Sm,[ee(Fe,{size:"sm",class:"h-7 px-3",onClick:de=>n("apply-rename",H)},{default:we(()=>[...R[30]||(R[30]=[ge(" Save ",-1)])]),_:1},8,["onClick"]),ee(Fe,{variant:"ghost",size:"sm",class:"h-7 px-3",onClick:R[12]||(R[12]=de=>n("cancel-rename"))},{default:we(()=>[...R[31]||(R[31]=[ge(" Cancel ",-1)])]),_:1})])])):U("",!0)]))),128))]),_:2},1024),Q(L)&&!v[L.key]?(c(),u("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:H=>v[L.key]=!0},[...R[32]||(R[32]=[s("span",null,"Show more",-1),s("span",{class:"material-icons-outlined text-[14px]"},"expand_more",-1)])],8,Cm)):U("",!0),Q(L)&&v[L.key]?(c(),u("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:H=>v[L.key]=!1},[...R[33]||(R[33]=[s("span",null,"Show less",-1),s("span",{class:"material-icons-outlined text-[14px]"},"expand_less",-1)])],8,$m)):U("",!0)])):U("",!0)]),_:2},1024)],64))),128)),g.value>0&&!e.sidebarCollapsed?(c(),u("button",{key:5,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:Se},[s("span",null,"Show "+E(Math.min(g.value,Er))+" more folders",1),R[34]||(R[34]=s("span",{class:"material-icons-outlined text-[14px]"},"expand_more",-1))])):U("",!0),e.sessionNote&&!e.sidebarCollapsed?(c(),u("p",Am,E(e.sessionNote),1)):U("",!0)]),e.debugUi&&!e.sidebarCollapsed?(c(),u("div",Im,[R[35]||(R[35]=s("div",{class:"text-xs font-semibold text-text-secondary-light dark:text-text-secondary-dark mb-2"}," Command & Config ",-1)),s("div",Mm,[(c(!0),u(re,null,ve(e.commandItems,L=>(c(),u("button",{key:L.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:H=>n("copy-command",L.command,L.label)},[s("div",Rm,E(L.label),1),s("code",Em,E(L.command),1)],8,Tm))),128))])])):U("",!0),s("div",{class:Y(["p-3 border-t border-border-light dark:border-border-dark",e.sidebarCollapsed?"text-center":""])},[s("div",{class:Y(["text-[11px] text-text-secondary-light dark:text-text-secondary-dark",e.sidebarCollapsed?"space-y-1":"flex items-center justify-between"])},[s("span",null,E(e.sidebarCollapsed?q($d)({summary:"threads"}):e.lastUpdatedLabel),1),s("span",null,E(e.sessionCountLabel),1)],2)],2)],2))}}),Om=Object.assign(yt(_m,[["__scopeId","data-v-31d3e037"]]),{__name:"SessionSidebar"}),Nm={class:"flex items-center justify-between p-5 pb-3"},Pm={class:"flex items-center gap-2"},jm={key:0,class:"inline-flex items-center justify-center min-w-[20px] h-5 px-1.5 rounded-full text-[11px] font-medium bg-primary/10 text-primary"},Lm={class:"flex items-center gap-2"},Dm={class:"flex-1 overflow-y-auto px-5 pb-5"},Um={key:0,class:"text-xs text-red-500 mb-3"},Bm={key:1,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark py-6 text-center"},zm={key:2,class:"py-8 text-center"},Fm={key:3,class:"space-y-1"},Wm=["title","onClick"],qm={class:"material-icons-outlined text-[14px]"},Qm=["onClick"],Vm={class:"flex items-center gap-2"},Gm={class:"font-medium truncate"},Jm={key:0,class:"shrink-0 text-[10px] px-1.5 py-0.5 rounded-full font-medium bg-primary/15 text-primary"},Hm={class:"text-xs text-text-secondary-light dark:text-text-secondary-dark mt-0.5 truncate"},Km=["onClick"],Xm={class:"flex items-center justify-between p-5 pb-3"},Ym={class:"flex items-center gap-2"},Zm={class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark truncate"},ef={class:"flex-1 overflow-y-auto px-5 pb-5"},tf={key:0,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark py-6 text-center"},rf={key:1,class:"text-xs text-red-500 mb-3"},nf={class:"text-[11px] text-text-secondary-light dark:text-text-secondary-dark mb-3 truncate font-mono"},sf={class:"mb-3"},af={key:1,class:"text-xs text-text-primary-light dark:text-text-primary-dark"},of={class:"mb-4"},lf={key:1,class:"w-full rounded-md border border-border-light dark:border-border-dark bg-gray-50 dark:bg-gray-800/50 px-3 py-2 text-xs text-text-primary-light dark:text-text-primary-dark font-mono whitespace-pre-wrap max-h-[300px] overflow-y-auto"},df={class:"flex-1 min-w-0"},cf={class:"text-xs font-medium text-text-primary-light dark:text-text-primary-dark"},uf={class:"text-[11px] text-text-secondary-light dark:text-text-secondary-dark"},mf={class:"flex items-center justify-between gap-2"},ff=["disabled"],pf={class:"flex gap-2"},gf=["disabled"],xf={class:"flex items-center justify-between p-5 pb-3"},yf={class:"flex-1 overflow-y-auto px-5 pb-5"},vf={key:0,class:"text-xs text-red-500 mb-3"},hf={class:"mb-3"},bf={key:0,class:"text-[11px] text-red-500 mt-1"},kf={class:"mb-3"},wf={class:"mb-4"},Sf={class:"flex justify-end gap-2"},Cf=["disabled"],$f=he({__name:"SkillsDialog",props:{open:{type:Boolean},skills:{},loading:{type:Boolean},detailLoading:{type:Boolean},error:{},selectedSkill:{},activeSkillNames:{}},emits:["close","fetch-skills","fetch-detail","create-skill","update-skill","delete-skill","toggle-activation"],setup(e,{emit:r}){const t=e,n=r,a=T("list"),o=T(""),i=T(""),d=T(""),m=T(""),A=T(""),I=T(!1),M=T(""),P=/^[a-z0-9]([a-z0-9_-]*[a-z0-9])?$/i,_=z(()=>o.value.trim()&&i.value.trim()&&P.test(o.value.trim())),D=z(()=>t.selectedSkill?t.selectedSkill.fullPath.includes("/.agents/skills/"):!1),w=z(()=>t.selectedSkill?t.activeSkillNames.has(t.selectedSkill.name):!1);function l(N){return t.activeSkillNames.has(N)}function g(N,k){N.stopPropagation(),n("toggle-activation",k)}Me(()=>t.open,N=>{N&&(a.value="list",I.value=!1,n("fetch-skills"))}),Me(()=>t.selectedSkill,N=>{N&&(m.value=N.description,A.value=N.content)});function O(N){I.value=!1,n("fetch-detail",N.name),a.value="detail"}function b(){o.value="",i.value="",d.value="",M.value="",a.value="create"}function h(){a.value="list",I.value=!1}function v(){const N=o.value.trim();return N?P.test(N)?(M.value="",!0):(M.value="Use lowercase letters, numbers, hyphens, and underscores",!1):(M.value="Name is required",!1)}function $(){v()&&i.value.trim()&&(n("create-skill",o.value.trim(),i.value.trim(),d.value),a.value="list")}function F(){t.selectedSkill&&(m.value=t.selectedSkill.description,A.value=t.selectedSkill.content,I.value=!0)}function x(){t.selectedSkill&&(m.value=t.selectedSkill.description,A.value=t.selectedSkill.content),I.value=!1}function f(){t.selectedSkill&&(n("update-skill",t.selectedSkill.name,m.value.trim(),A.value),I.value=!1)}function C(){t.selectedSkill&&(n("delete-skill",t.selectedSkill.name),a.value="list")}return(N,k)=>(c(),xt(Bn,{to:"body"},[e.open?(c(),u("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:k[11]||(k[11]=Q=>N.$emit("close"))},[s("div",{class:"w-full max-w-lg max-h-[80vh] rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark shadow-lg flex flex-col",role:"dialog","aria-modal":"true",tabindex:"0",onClick:k[9]||(k[9]=ue(()=>{},["stop"])),onKeydown:k[10]||(k[10]=Le(ue(Q=>N.$emit("close"),["stop","prevent"]),["escape"]))},[a.value==="list"?(c(),u(re,{key:0},[s("div",Nm,[s("div",Pm,[k[12]||(k[12]=s("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark"}," Skills ",-1)),e.skills.length?(c(),u("span",jm,E(e.skills.length),1)):U("",!0)]),s("div",Lm,[s("button",{class:"text-xs px-3 py-1.5 rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",type:"button",onClick:b}," Create "),s("button",{class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",type:"button",onClick:k[0]||(k[0]=Q=>N.$emit("close"))},[...k[13]||(k[13]=[s("span",{class:"material-icons-outlined text-base"},"close",-1)])])])]),s("div",Dm,[e.error?(c(),u("p",Um,E(e.error),1)):U("",!0),e.loading&&!e.skills.length?(c(),u("div",Bm," Loading skills... ")):e.skills.length?(c(),u("div",Fm,[(c(!0),u(re,null,ve(e.skills,Q=>(c(),u("div",{key:Q.name,class:Y(["w-full 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-start gap-3 transition-colors",l(Q.name)?"bg-primary/5 dark:bg-primary/10":""])},[s("button",{type:"button",class:Y(["mt-0.5 shrink-0 w-5 h-5 flex items-center justify-center rounded-full transition-colors",l(Q.name)?"bg-primary text-primary-foreground":"bg-gray-200 dark:bg-gray-700 text-text-secondary-light dark:text-text-secondary-dark hover:bg-primary/30 dark:hover:bg-primary/30"]),title:l(Q.name)?"Deactivate skill":"Activate skill",onClick:ne=>g(ne,Q.name)},[s("span",qm,E((l(Q.name),"bolt")),1)],10,Wm),s("button",{type:"button",class:"min-w-0 flex-1 text-left",onClick:ne=>O(Q)},[s("div",Vm,[s("span",Gm,E(Q.name),1),s("span",{class:Y(["shrink-0 text-[10px] px-1.5 py-0.5 rounded-full font-medium",Q.source==="global"?"bg-blue-100 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400":"bg-green-100 dark:bg-green-900/30 text-green-600 dark:text-green-400"])},E(Q.source),3),l(Q.name)?(c(),u("span",Jm," active ")):U("",!0)]),s("p",Hm,E(Q.description),1)],8,Qm),s("span",{class:"material-icons-outlined text-[16px] text-text-secondary-light dark:text-text-secondary-dark mt-0.5 shrink-0 cursor-pointer",onClick:ne=>O(Q)},"chevron_right",8,Km)],2))),128))])):(c(),u("div",zm,[...k[14]||(k[14]=[s("span",{class:"material-icons-outlined text-3xl text-text-secondary-light dark:text-text-secondary-dark mb-2 block"},"psychology",-1),s("p",{class:"text-sm text-text-secondary-light dark:text-text-secondary-dark"}," No skills found ",-1),s("p",{class:"text-xs text-text-secondary-light dark:text-text-secondary-dark mt-1"}," Create a skill to get started, or add SKILL.md files to ~/.agents/skills/ ",-1)])]))])],64)):U("",!0),a.value==="detail"?(c(),u(re,{key:1},[s("div",Xm,[s("div",Ym,[s("button",{class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",type:"button",onClick:h},[...k[15]||(k[15]=[s("span",{class:"material-icons-outlined text-base"},"arrow_back",-1)])]),s("h3",Zm,E(e.selectedSkill?.name??"Skill"),1),e.selectedSkill?(c(),u("span",{key:0,class:Y(["shrink-0 text-[10px] px-1.5 py-0.5 rounded-full font-medium",e.selectedSkill.source==="global"?"bg-blue-100 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400":"bg-green-100 dark:bg-green-900/30 text-green-600 dark:text-green-400"])},E(e.selectedSkill.source),3)):U("",!0)]),s("button",{class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",type:"button",onClick:k[1]||(k[1]=Q=>N.$emit("close"))},[...k[16]||(k[16]=[s("span",{class:"material-icons-outlined text-base"},"close",-1)])])]),s("div",ef,[e.detailLoading?(c(),u("div",tf," Loading skill... ")):U("",!0),e.error?(c(),u("p",rf,E(e.error),1)):U("",!0),e.selectedSkill&&!e.detailLoading?(c(),u(re,{key:2},[s("p",nf,E(e.selectedSkill.fullPath),1),s("div",sf,[k[17]||(k[17]=s("label",{class:"block text-xs font-medium text-text-secondary-light dark:text-text-secondary-dark mb-1"}," Description ",-1)),I.value?rt((c(),u("input",{key:0,"onUpdate:modelValue":k[2]||(k[2]=Q=>m.value=Q),class:"w-full rounded-md border border-border-light dark:border-border-dark bg-transparent px-2 py-1.5 text-xs text-text-primary-light dark:text-text-primary-dark",type:"text",placeholder:"Skill description"},null,512)),[[nt,m.value]]):(c(),u("p",af,E(e.selectedSkill.description),1))]),s("div",of,[k[18]||(k[18]=s("label",{class:"block text-xs font-medium text-text-secondary-light dark:text-text-secondary-dark mb-1"}," Content ",-1)),I.value?rt((c(),u("textarea",{key:0,"onUpdate:modelValue":k[3]||(k[3]=Q=>A.value=Q),class:"w-full rounded-md border border-border-light dark:border-border-dark bg-transparent px-3 py-2 text-xs text-text-primary-light dark:text-text-primary-dark font-mono resize-y min-h-[200px]",rows:"12",placeholder:"Skill instructions..."},null,512)),[[nt,A.value]]):(c(),u("pre",lf,E(e.selectedSkill.content||"(empty)"),1))]),I.value?U("",!0):(c(),u("div",{key:0,class:Y(["mb-4 flex items-center gap-3 rounded-md border px-3 py-2.5 transition-colors",w.value?"border-primary/40 bg-primary/5 dark:bg-primary/10":"border-border-light dark:border-border-dark"])},[s("span",{class:Y(["material-icons-outlined text-[18px]",w.value?"text-primary":"text-text-secondary-light dark:text-text-secondary-dark"])}," bolt ",2),s("div",df,[s("p",cf,E(w.value?"Skill is active":"Skill is inactive"),1),s("p",uf,E(w.value?"This skill will be applied to all messages in this session.":"Activate to force this skill on every message."),1)]),s("button",{type:"button",class:Y(["text-xs px-3 py-1.5 rounded transition-colors shrink-0",w.value?"border border-primary/40 text-primary hover:bg-primary/10":"bg-primary text-primary-foreground hover:bg-primary/90"]),onClick:k[4]||(k[4]=Q=>N.$emit("toggle-activation",e.selectedSkill.name))},E(w.value?"Deactivate":"Activate"),3)],2)),s("div",mf,[s("div",null,[D.value&&!I.value?(c(),u("button",{key:0,class:"text-xs px-3 py-1.5 rounded border border-red-300 dark:border-red-700 text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20 transition-colors",type:"button",disabled:e.loading,onClick:C}," Delete ",8,ff)):U("",!0)]),s("div",pf,[I.value?(c(),u(re,{key:0},[s("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 hover:bg-gray-50 dark:hover:bg-gray-800/60 transition-colors",type:"button",onClick:x}," Cancel "),s("button",{class:"text-xs px-3 py-1.5 rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",type:"button",disabled:e.loading,onClick:f}," Save ",8,gf)],64)):(c(),u("button",{key:1,class:"text-xs px-3 py-1.5 rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",type:"button",onClick:F}," Edit "))])])],64)):U("",!0)])],64)):U("",!0),a.value==="create"?(c(),u(re,{key:2},[s("div",xf,[s("div",{class:"flex items-center gap-2"},[s("button",{class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",type:"button",onClick:h},[...k[19]||(k[19]=[s("span",{class:"material-icons-outlined text-base"},"arrow_back",-1)])]),k[20]||(k[20]=s("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark"}," Create Skill ",-1))]),s("button",{class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",type:"button",onClick:k[5]||(k[5]=Q=>N.$emit("close"))},[...k[21]||(k[21]=[s("span",{class:"material-icons-outlined text-base"},"close",-1)])])]),s("div",yf,[k[25]||(k[25]=s("p",{class:"text-xs text-text-secondary-light dark:text-text-secondary-dark mb-4"}," Skills will be saved to ~/.agents/skills/ ",-1)),e.error?(c(),u("p",vf,E(e.error),1)):U("",!0),s("div",hf,[k[22]||(k[22]=s("label",{class:"block text-xs font-medium text-text-secondary-light dark:text-text-secondary-dark mb-1"}," Name ",-1)),rt(s("input",{"onUpdate:modelValue":k[6]||(k[6]=Q=>o.value=Q),class:"w-full rounded-md border border-border-light dark:border-border-dark bg-transparent px-2 py-1.5 text-xs text-text-primary-light dark:text-text-primary-dark",type:"text",placeholder:"my-skill",onBlur:v},null,544),[[nt,o.value]]),M.value?(c(),u("p",bf,E(M.value),1)):U("",!0)]),s("div",kf,[k[23]||(k[23]=s("label",{class:"block text-xs font-medium text-text-secondary-light dark:text-text-secondary-dark mb-1"}," Description ",-1)),rt(s("input",{"onUpdate:modelValue":k[7]||(k[7]=Q=>i.value=Q),class:"w-full rounded-md border border-border-light dark:border-border-dark bg-transparent px-2 py-1.5 text-xs text-text-primary-light dark:text-text-primary-dark",type:"text",placeholder:"What this skill does..."},null,512),[[nt,i.value]])]),s("div",wf,[k[24]||(k[24]=s("label",{class:"block text-xs font-medium text-text-secondary-light dark:text-text-secondary-dark mb-1"}," Content ",-1)),rt(s("textarea",{"onUpdate:modelValue":k[8]||(k[8]=Q=>d.value=Q),class:"w-full rounded-md border border-border-light dark:border-border-dark bg-transparent px-3 py-2 text-xs text-text-primary-light dark:text-text-primary-dark font-mono resize-y min-h-[160px]",rows:"10",placeholder:`# Skill Instructions
25
+
26
+ Describe the skill behavior here...`},null,512),[[nt,d.value]])]),s("div",Sf,[s("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 hover:bg-gray-50 dark:hover:bg-gray-800/60 transition-colors",type:"button",onClick:h}," Cancel "),s("button",{class:"text-xs px-3 py-1.5 rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors disabled:opacity-50",type:"button",disabled:!_.value||e.loading,onClick:$}," Create ",8,Cf)])])],64)):U("",!0)],32)])):U("",!0)]))}}),Af=Object.assign($f,{__name:"SkillsDialog"}),If=he({__name:"Toast",props:{visible:{type:Boolean},message:{},kind:{}},emits:["close"],setup(e,{emit:r}){const t=r;function n(){t("close")}return(a,o)=>e.visible?(c(),u("div",{key:0,class:Y(["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:n},E(e.message),3)):U("",!0)}}),Mf=Object.assign(If,{__name:"Toast"}),sr="Other";function Tf(){const e=T(!1),r=T([]),t=T({}),n=T({}),a=T(null),o=T(null),i=T(null),d=T(!1),m=T(null);function A($){const F={},x={};for(let f=0;f<$.length;f+=1){const C=String(f),N=$[f];if(N?.multiSelect)F[C]=[];else{const k=N?.options?.[0]?.label;F[C]=k?[String(k)]:[]}x[C]=""}t.value=F,n.value=x}function I($,F){return(t.value[String($)]??[]).includes(F)}function M($,F,x){const f=String($);if(r.value[$]?.multiSelect){const N=new Set(t.value[f]??[]);x?N.add(F):N.delete(F),t.value={...t.value,[f]:Array.from(N)};return}x&&(t.value={...t.value,[f]:[F]})}function P($,F,x){const f=x.target;M($,F,!!f?.checked)}function _(){const $={};for(let F=0;F<r.value.length;F+=1){const x=String(F),f=r.value[F],C=t.value[x]??[],N=(n.value[x]??"").trim();if(f?.multiSelect){const k=C.filter(Q=>Q!==sr);C.includes(sr)&&N&&k.push(N),$[x]=k}else{const k=C[0]??"";$[x]=k===sr?N:k}}return $}function D($){if(!Array.isArray($))return[];const F=[];for(const x of $){if(!x||typeof x!="object")continue;const f=typeof x.question=="string"?x.question:"",N=(typeof x.header=="string"?x.header:"")||"Question",Q=(Array.isArray(x.options)?x.options:[]).map(te=>({label:typeof te?.label=="string"?te.label:"",description:typeof te?.description=="string"?te.description:""})).filter(te=>te.label||te.description),ne=typeof x.multiSelect=="boolean"?x.multiSelect:typeof x.multi_select=="boolean"?x.multi_select:!1;(f||Q.length)&&F.push({question:f,header:N,options:Q,multiSelect:ne})}return F}function w($){if(!$)return[];try{const F=JSON.parse($);return D(F?.questions)}catch{return[]}}function l($,F){const x=$.get(F);if(!x)return{toolCallId:"",questions:[]};for(const[f,C]of x.toolCalls){if(String(C.name??"").toLowerCase()!=="askuserquestion")continue;const N=w(C.args);return{toolCallId:String(f??""),questions:N}}return{toolCallId:"",questions:[]}}function g($,F){const x=new Map,f=[];for(const C of $){const N=Ot(C);if(!N)continue;const k=_t(N);if(!k||k!==F||C.type!=="tool.call")continue;const Q=st(N);if(!Q)continue;const ne=Ur(N),{args:te,delta:le}=Br(N),Se=!le;x.has(Q)||f.push(Q);const j=x.get(Q)??{name:ne,args:""};x.set(Q,{name:j.name||ne,args:Se?te:`${j.args}${te}`})}for(const C of f){const N=x.get(C);if(!N||String(N.name??"").toLowerCase()!=="askuserquestion")continue;const k=w(N.args);return{toolCallId:C,questions:k}}return{toolCallId:"",questions:[]}}function O($,F,x={}){const f=st($)??"";let C=D($?.questions),N=f;if(!C.length||!N){const k=x.events&&x.streamRuns?g(x.events,F):x.streamRuns?l(x.streamRuns,F):{toolCallId:"",questions:[]};N||(N=k.toolCallId),C.length||(C=k.questions)}return{toolCallId:N,questions:C}}function b($,F){for(let x=$.length-1;x>=0;x-=1){const f=$[x];if(f.type!=="requires_action")continue;const C=Ot(f);if(!C)continue;const N=_t(C);if(!N||N!==F)continue;if(String(C?.kind??C?.action_kind??"")==="ask_user")return C}return null}function h($,F,x,f){if(!F||!$.length){console.warn("AskUser required but questions are missing.");return}e.value&&i.value===f||(r.value=$,a.value=F,o.value=x,i.value=f,A($),e.value=!0)}function v($){d.value||(e.value=!1,r.value=[],t.value={},n.value={},a.value=null,o.value=null,i.value=null,$&&$())}return{ASK_USER_OTHER_LABEL:sr,askUserDialogOpen:e,askUserQuestions:r,askUserSelections:t,askUserOtherInputs:n,askUserToolCallId:a,askUserSessionId:o,askUserRunId:i,askUserBusy:d,askUserDialogEl:m,initAskUserState:A,isAskUserSelected:I,updateAskUserSelection:M,onAskUserOptionChange:P,buildAskUserAnswers:_,normalizeAskUserQuestions:D,parseAskUserQuestionsFromArgs:w,findAskUserFromStreamRun:l,findAskUserFromEvents:g,resolveAskUserPayload:O,findAskUserRequiresActionPayload:b,openAskUserDialog:h,closeAskUserDialog:v}}const Rf=!1;function as(e){const r=String(e??"").trim();return r?r.replace(/\/+$/,""):""}function os(e,r,t){const n=as(e),a=r.startsWith("/")?r:`/${r}`,o=`${n}${a}`;if(!t)return o;const i=o.includes("?")?"&":"?";return`${o}${i}cursor=${encodeURIComponent(t)}`}function Ef(){if(typeof window>"u")return"";try{const e=new URLSearchParams(window.location.search);return String(e.get("token")??"").trim()}catch{return""}}function is(e,r,t){const n=String(t?.token??"").trim(),a=String(t?.cursor??"").trim(),o=os(e,r,a||void 0);if(!n)return o;const i=o.includes("?")?"&":"?";return`${o}${i}token=${encodeURIComponent(n)}`}function or(e){const r=String(e??"").trim();if(!r)return null;try{return JSON.parse(r)}catch{return r}}async function ye(e,r,t,n){const a=is(e,r,n),o=await fetch(a,{credentials:"same-origin",headers:{"content-type":"application/json",...t?.headers??{}},...t}),i=await o.text(),d=or(i);if(!o.ok){const m=typeof d=="string"?d:JSON.stringify(d);throw new Error(`Request failed (${o.status}): ${m||o.statusText}`)}return d}function Ke(e="",r){const t=as(e),n=String(Ef()).trim();async function a(f){return ye(t,"/status",{method:"GET",signal:f},{token:n})}async function o(f,C,N,k){return ye(t,"/query",{method:"POST",signal:k?.signal,body:JSON.stringify({query:f,input:f,attachments:C,attachmentsBase64:N,toolContext:k?.toolContext,resume:k?.resume})})}async function i(f,C,N,k,Q){return ye(t,"/query",{method:"POST",signal:Q?.signal,body:JSON.stringify({query:f,input:f,sessionId:C,attachments:N,attachmentsBase64:k,toolContext:Q?.toolContext,resume:Q?.resume})})}async function d(){const f=await ye(t,"/sessions",{method:"GET"},{token:n});return Array.isArray(f.sessions)?f.sessions:[]}async function m(f){return(await ye(t,`/sessions/${encodeURIComponent(f)}`,{method:"GET"},{token:n})).session??null}async function A(f){const C=f?JSON.stringify({cwd:f}):void 0;return ye(t,"/sessions",{method:"POST",body:C},{token:n})}async function I(f,C){return ye(t,`/sessions/${encodeURIComponent(f)}/rename`,{method:"POST",body:JSON.stringify({title:C})})}async function M(f){return ye(t,`/sessions/${encodeURIComponent(f)}`,{method:"DELETE"},{token:n})}async function P(f){const C=String(f??"").trim(),N=C?`?sessionId=${encodeURIComponent(C)}`:"",k=await ye(t,`/changes${N}`,{method:"GET"},{token:n});return{cwd:String(k.cwd??""),branch:String(k.branch??""),staged:Array.isArray(k.staged)?k.staged:[],unstaged:Array.isArray(k.unstaged)?k.unstaged:[]}}async function _(f,C,N){const k=String(f??"").trim();if(!k)throw new Error("Path is required");const Q=new URLSearchParams({path:k,staged:C?"1":"0"}),ne=String(N??"").trim();ne&&Q.set("sessionId",ne);const te=await ye(t,`/changes/diff?${Q.toString()}`,{method:"GET"},{token:n});return{cwd:String(te.cwd??""),path:String(te.path??k),staged:!!te.staged,patch:String(te.patch??"")}}async function D(){const f=await ye(t,"/modes",{method:"GET"},{token:n});return{currentMode:typeof f?.currentMode=="string"?f.currentMode:"",availableModes:Array.isArray(f?.availableModes)?f.availableModes:[]}}async function w(f){const C=await ye(t,"/modes/set",{method:"POST",body:JSON.stringify({mode:f})},{token:n});return{currentMode:typeof C?.currentMode=="string"?C.currentMode:"",availableModes:Array.isArray(C?.availableModes)?C.availableModes:[]}}async function l(f,C){const N=os(t,"/query/stream"),k=await fetch(N,{method:"POST",credentials:"same-origin",signal:C.signal,headers:{"content-type":"application/json",accept:"text/event-stream"},body:JSON.stringify({query:f,input:f,sessionId:C.sessionId,attachments:C.attachments,attachmentsBase64:C.attachmentsBase64,toolContext:C.toolContext,resume:C.resume})});if(!k.ok){const R=await k.text(),L=or(R),H=typeof L=="string"?L:JSON.stringify(L);throw new Error(`Request failed (${k.status}): ${H||k.statusText}`)}if(!k.body)throw new Error("Response body is null");const Q=k.body.getReader(),ne=new TextDecoder;let te="",le=!1,Se=!1;return(async()=>{try{let R={};for(;!le;){const{done:L,value:H}=await Q.read();if(L)break;te+=ne.decode(H,{stream:!0});const de=te.split(`
27
+ `);te=de.pop()||"";for(const oe of de){if(oe.startsWith(":"))continue;if(!oe.trim()){if(R.data){const ce=R.data,Ne=or(ce);if(Ne&&typeof Ne=="object"){const pe=Ne,_e=R.type||String(pe.type||"message"),Ce={id:R.id??(pe.id?String(pe.id):void 0),type:_e,ts:pe.ts?String(pe.ts):void 0,seq:typeof pe.seq=="number"?pe.seq:void 0,payload:pe.payload,raw:Rf?ce:"",receivedAt:new Date().toISOString()};if(C.onEvent(Ce),_e==="query.result"&&pe.payload&&C.onComplete)C.onComplete(pe.payload);else if(_e==="query.error"&&pe.payload&&C.onError){const We=pe.payload;C.onError(new Error(We.error||"Query failed"))}}}R={};continue}const me=oe.match(/^id:\s*(.*)$/),Ee=oe.match(/^event:\s*(.*)$/),De=oe.match(/^data:\s*(.*)$/);me?R.id=me[1]:Ee?R.type=Ee[1]:De&&(R.data=(R.data||"")+De[1])}}}catch(R){!le&&!C.signal?.aborted&&C.onError&&C.onError(R instanceof Error?R:new Error(String(R)))}finally{if(!Se)try{Q.releaseLock(),Se=!0}catch{}}})(),()=>{if(le=!0,!Se)try{Q.cancel(),Q.releaseLock(),Se=!0}catch{}}}async function g(){const f=await ye(t,"/skills",{method:"GET"},{token:n});return Array.isArray(f.skills)?f.skills:[]}async function O(f){return(await ye(t,`/skills/${encodeURIComponent(f)}`,{method:"GET"},{token:n})).skill??null}async function b(f,C,N){return(await ye(t,"/skills",{method:"POST",body:JSON.stringify({name:f,description:C,content:N})},{token:n})).skill??null}async function h(f,C,N){return(await ye(t,`/skills/${encodeURIComponent(f)}`,{method:"PUT",body:JSON.stringify({description:C,content:N})},{token:n})).skill??null}async function v(f){await ye(t,`/skills/${encodeURIComponent(f)}`,{method:"DELETE"},{token:n})}async function $(){const f=await ye(t,"/skills/active",{method:"GET"},{token:n});return Array.isArray(f.activeSkills)?f.activeSkills:[]}async function F(f){const C=await ye(t,"/skills/activate",{method:"POST",body:JSON.stringify({name:f})},{token:n});return Array.isArray(C.activeSkills)?C.activeSkills:[]}async function x(f){const C=await ye(t,"/skills/deactivate",{method:"POST",body:JSON.stringify({name:f})},{token:n});return Array.isArray(C.activeSkills)?C.activeSkills:[]}return{fetchStatus:a,runQuery:o,runQueryWithSession:i,runQueryStream:l,fetchSessions:d,fetchSession:m,createSession:A,renameSession:I,deleteSession:M,fetchChanges:P,fetchChangeDiff:_,fetchModes:D,setMode:w,fetchSkills:g,fetchSkill:O,createSkill:b,updateSkill:h,deleteSkill:v,fetchActiveSkills:$,activateSkill:F,deactivateSkill:x,uploadFile:async f=>{const C=is(t,"/upload",{token:n}),N=new FormData;N.append("file",f);const k=await fetch(C,{method:"POST",body:N,credentials:"same-origin"}),Q=await k.text(),ne=or(Q);if(!k.ok||!ne?.file)throw new Error(ne?.error||`Upload failed (${k.status})`);return ne.file}}}function Ve(){return typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`msg-${Math.random().toString(36).slice(2,8)}`}function Lr(e){const r=String(e??"").replace(/\r/g,"");if(!r)return[];const t=r.split("```"),n=[];for(let a=0;a<t.length;a+=1){const o=t[a];if(a%2===1){const i=o.split(`
28
+ `),d=(i.shift()??"").trim(),m=i.join(`
29
+ `).replace(/\n$/,"");n.push({type:"code",content:m,language:d||void 0})}else o.trim()&&n.push({type:"text",content:o.trim()})}return n}function ke(e){const r=String(e??"");return{type:"markdown",raw:r,blocks:Lr(r)}}function Oe(e,r,t,n,a){const o=r.length?r:[ke("")];return{id:a??Ve(),role:e,parts:o,ts:t??new Date().toISOString(),meta:n}}function _f(e){const r=T([]),t=T(""),n=T(!1),a=T(null),o=T(!1),i=T(null),d=Ke(),m={"image/png":"png","image/jpeg":"jpg","image/webp":"webp","image/gif":"gif","image/svg+xml":"svg","application/pdf":"pdf","text/plain":"txt"};function A(f){const C=String(f??"").trim();if(!C)return"";const N=C.replace(/\)/g,"\\)");return/\s/.test(N)?`<${N}>`:N}function I(f){return String(f.kind??"").toLowerCase()==="image"||String(f.mime??"").toLowerCase().startsWith("image/")?"image":"file"}function M(f){return f.map(N=>{const k=A(String(N.url??N.name??"").trim());return k?`[${I(N)}](${k})`:""}).filter(Boolean).join(`
30
+ `)}function P(f,C){const N=String(f??"").trim(),k=M(C);return k?N?`${N}
31
+
32
+ ${k}`:k:N}function _(f){try{URL.revokeObjectURL(f)}catch{}}function D(f){const C=r.value,N=C.find(k=>k.id===f);N?.localUrl&&_(N.localUrl),r.value=C.filter(k=>k.id!==f),r.value.length||(t.value="",n.value=!1)}function w(){for(const f of r.value)f.localUrl&&_(f.localUrl);r.value=[],t.value="",n.value=!1}async function l(f){f.status="uploading",f.error=void 0;try{const C=await d.uploadFile(f.file);f.remote={...C,name:C.name||f.name,mime:C.mime||f.mime,size:C.size||f.size,kind:f.mime.startsWith("image/")?"image":"file"},f.status="ready"}catch(C){f.status="error",f.error=C instanceof Error?C.message:String(C)}}async function g(f){if(!e.value){t.value="Uploads are disabled by the server.";return}t.value="";for(const C of f){const N=Ve(),k=C.type||"application/octet-stream",Q=m[k]||"bin",ne=k.startsWith("image/")?`pasted-image-${N.slice(0,6)}.${Q}`:`attachment-${N.slice(0,6)}.${Q}`,te=String(C.name??"").trim()||ne,le={id:N,file:C,name:te,mime:k,size:C.size,localUrl:URL.createObjectURL(C),status:"pending"};r.value=[...r.value,le],le.uploadPromise=l(le),le.uploadPromise}}function O(f){const C=f.clipboardData?.items;if(!C||!C.length)return;const N=[];for(const k of C)if(k.kind==="file"){const Q=k.getAsFile();Q&&N.push(Q)}N.length&&(f.clipboardData?.getData("text")||f.preventDefault(),g(N))}function b(f){const C=f.dataTransfer?.files;if(!C||!C.length)return;const N=Array.from(C);N.length&&g(N)}function h(f){const C=f.target;if(!C?.files)return;const N=Array.from(C.files);C.value="",N.length&&g(N)}function v(){a.value?.click()}function $(){o.value=!1,v()}function F(){o.value=!o.value}async function x(){const f=r.value.filter(k=>k.status==="pending"&&!k.uploadPromise);for(const k of f)k.uploadPromise=l(k);const C=r.value.map(k=>k.uploadPromise).filter(k=>!!k);C.length&&await Promise.all(C);const N=r.value.filter(k=>k.status==="error");return N.length?(t.value=N[0]?.error??"Attachment upload failed.",[]):r.value.filter(k=>k.status==="ready"&&k.remote).map(k=>({...k.remote,name:k.remote?.name||k.name,mime:k.remote?.mime||k.mime,size:k.remote?.size||k.size,kind:k.remote?.kind||(k.mime.startsWith("image/")?"image":"file")}))}return{attachments:r,attachmentNote:t,attachmentsBase64:n,filePicker:a,composerMenuOpen:o,composerMenuEl:i,removeAttachment:D,clearAttachments:w,handlePaste:O,handleDrop:b,handleFilePick:h,openFilePicker:v,handleAddFile:$,toggleComposerMenu:F,ensureUploadsReady:x,buildAttachmentReferenceText:M,buildAttachmentContextInput:P}}function Of(){const e=T(!1),r=T(null),t=T(!1),n=T(null);function a(i){r.value={id:i.id,title:i.title},e.value=!0}function o(){t.value||(e.value=!1,r.value=null)}return{deleteDialogOpen:e,deleteTarget:r,deleteBusy:t,deleteDialogEl:n,openDeleteDialog:a,closeDeleteDialog:o}}function Nf(){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."]),r=T([{id:"welcome",role:"system",parts:[ke("Connected. Select a session and continue the conversation here.")],ts:new Date().toISOString()}]),t=T(null),n=z(()=>d(r.value));function a(b){if(b.role!=="system"||b.parts.length!==1)return!1;const h=b.parts[0];if(!h||h.type!=="markdown")return!1;const v=String(h.raw??"").trim();return e.has(v)}function o(b){return b.filter(h=>!a(h))}function i(){r.value=o(r.value)}function d(b){const h=[];for(const v of b){if(v.role!=="assistant"){h.push(v);continue}const $=h[h.length-1];if(!$||$.role!=="assistant"){h.push(v);continue}h[h.length-1]={...$,parts:[...$.parts,...v.parts],ts:v.ts||$.ts,meta:v.meta}}return h}function m(b,h){i(),r.value=[...r.value,Oe(b,[ke(h)])]}function A(b,h){if(!b)return;const v=typeof h=="string"?h:h&&typeof h=="object"&&"result"in h?String(h.result):JSON.stringify(h,null,2);r.value=r.value.map($=>$.id!==b?$:{...$,parts:[ke(v)],meta:void 0})}function I(b,h){i();const v=[];h.length&&v.push({type:"attachments",items:h}),b.trim()&&v.push(ke(b)),r.value=[...r.value,Oe("user",v)]}function M(b){if(!b)return;const h=()=>b?typeof b.result=="string"?b.result:b.result?JSON.stringify(b.result,null,2):b.error?String(b.error):JSON.stringify(b,null,2):"No response",v=r.value[r.value.length-1];(!v||v.role!=="assistant")&&m("assistant",h())}function P(){r.value=[Oe("system",[ke("Chat cleared. Start a new conversation.")])]}function _(b){r.value=b}async function D(b){await Or();const h=b??t.value;h&&(h.scrollTop=h.scrollHeight)}function w(b,h){if(!b)return;const v=h?`Waiting for approval: ${h}`:"Waiting for approval",$="Waiting for approval";r.value=r.value.map(F=>{if(F.id!==b)return F;const x=F.parts??[],f=x.length>0&&x[0]?.type==="markdown"&&String(x[0].raw??"").startsWith($)?[ke(v),...x.slice(1)]:[ke(v),...x];return{...F,parts:f,meta:void 0}})}function l(b){if(!b)return;const h="Waiting for your answers",v="Waiting for your answers";r.value=r.value.map($=>{if($.id!==b)return $;const F=$.parts??[],x=F.length>0&&F[0]?.type==="markdown"&&String(F[0].raw??"").startsWith(v)?[ke(h),...F.slice(1)]:[ke(h),...F];return{...$,parts:x,meta:void 0}})}function g(b){if(!b)return;const h="Waiting for approval";r.value=r.value.map(v=>{if(v.id!==b)return v;const $=v.parts??[];return $.length>0&&$[0]?.type==="markdown"&&String($[0].raw??"").startsWith(h)?{...v,parts:$.slice(1)}:v})}function O(b){if(!b)return;const h="Waiting for your answers";r.value=r.value.map(v=>{if(v.id!==b)return v;const $=v.parts??[];return $.length>0&&$[0]?.type==="markdown"&&String($[0].raw??"").startsWith(h)?{...v,parts:$.slice(1)}:v})}return{chatMessages:r,chatMessagesRef:t,renderMessages:n,mergeAssistantTurns:d,appendMessage:m,updateStreamingMessageFinal:A,appendUserMessageWithAttachments:I,ensureAssistantReply:M,clearChat:P,setChatMessages:_,removeSystemPlaceholders:i,scrollChatToBottom:D,markMessageAwaitingApproval:w,markMessageAwaitingAnswers:l,clearMessageAwaitingApproval:g,clearMessageAwaitingAnswers:O}}const Pf={agent:{label:"Agent",icon:"smart_toy"},plan:{label:"Plan",icon:"event_note"},debug:{label:"Debug",icon:"bug_report"}},jf=[{id:"agent",name:"Agent",description:""},{id:"plan",name:"Plan",description:""},{id:"debug",name:"Debug",description:""}];function Lf(){const e=T("agent"),r=T([]),t=T(!1),n=T(null),a=Ke(),o=z(()=>{const _=[...r.value],D=new Set(_.map(w=>String(w?.id??"").trim().toLowerCase()).filter(Boolean));for(const w of jf)D.has(w.id)||_.push(w);return _.map(w=>{const l=String(w.id??"").trim().toLowerCase(),g=Pf[l],O=String(w.name??l??"Mode");return{id:l,label:g?.label??O,icon:g?.icon??"tune"}})}),i=z(()=>{const _=String(e.value??"").trim().toLowerCase();return o.value.find(D=>D.id===_)??{id:_||"mode",label:_||"Mode",icon:"tune"}}),d=z(()=>i.value.label.toUpperCase()),m=z(()=>i.value.icon),A=z(()=>`Message (${i.value.label} mode)...`);async function I(){try{const _=await a.fetchModes(),D=String(_.currentMode??"").trim().toLowerCase();D&&(e.value=D),r.value=Array.isArray(_.availableModes)?_.availableModes.map(w=>({id:String(w?.id??"").trim().toLowerCase(),name:String(w?.name??w?.id??"").trim(),description:String(w?.description??"").trim()})).filter(w=>w.id):[]}catch(_){console.error("Failed to fetch mode:",_)}}async function M(_){t.value=!1;const D=String(_??"").trim().toLowerCase();if(D)try{const w=await a.setMode(D),l=String(w.currentMode??"").trim().toLowerCase();e.value=l||D,r.value=Array.isArray(w.availableModes)?w.availableModes.map(g=>({id:String(g?.id??"").trim().toLowerCase(),name:String(g?.name??g?.id??"").trim(),description:String(g?.description??"").trim()})).filter(g=>g.id):r.value}catch(w){console.error("Failed to set mode:",w),e.value=D}}function P(){t.value=!t.value}return{mode:e,modeMenuOpen:t,modeMenuEl:n,modeIcon:m,modeLabel:d,modeOptions:o,composerPlaceholder:A,fetchCurrentMode:I,setMode:M,toggleModeMenu:P}}function Df(){const e=T(""),r=T(!1),t=T(null),n=T(null),a=T(null),o=Ke();let i=null;async function d(I,M,P,_,D){const w=(I??e.value).trim(),l=Array.isArray(P)&&P.length>0,g=!!D?.resume;if(!w&&!l&&!g)return t.value="Query cannot be empty.",!1;i&&i.abort();const O=new AbortController;i=O,r.value=!0,t.value=null;try{return n.value=M?await o.runQueryWithSession(w,M,P,_,{...D,signal:O.signal}):await o.runQuery(w,P,_,{...D,signal:O.signal}),a.value=new Date().toISOString(),!0}catch(b){return O.signal.aborted||b instanceof Error&&b.name==="AbortError"||(t.value=b instanceof Error?b.message:String(b)),n.value=null,!1}finally{i===O&&(i=null),r.value=!1}}function m(){i&&(i.abort(),i=null,r.value=!1)}function A(I){e.value=I}return{input:e,loading:r,error:t,response:n,lastRunAt:a,run:d,stop:m,setInput:A}}const On=1500;function Uf(){const e=T(""),r=T(!1),t=T(null),n=T(null),a=T([]),o=T(0),i=T(null),d=T(null),m=Ke();let A=null,I=null;function M(l){a.value.push(l),a.value.length>On&&a.value.splice(0,a.value.length-On),i.value=l,o.value+=1}async function P(l,g,O,b,h){const v=(l??e.value).trim(),$=Array.isArray(O)&&O.length>0,F=!!h?.resume;if(!v&&!$&&!F){t.value="Query cannot be empty.";return}A&&(A(),A=null),I&&(I.abort(),I=null),r.value=!0,t.value=null,a.value=[],o.value=0,i.value=null,n.value=null;const x=new AbortController;I=x;try{A=await m.runQueryStream(v,{sessionId:g,attachments:O,attachmentsBase64:b,toolContext:h?.toolContext,resume:h?.resume,signal:x.signal,onEvent:f=>{M(f)},onComplete:f=>{n.value=f,r.value=!1,I===x&&(I=null),d.value=new Date().toISOString()},onError:f=>{t.value=f.message,r.value=!1,I===x&&(I=null)}})}catch(f){f instanceof Error&&f.name==="AbortError"||x.signal.aborted||(t.value=f instanceof Error?f.message:String(f)),r.value=!1,I===x&&(I=null)}}function _(){let l=!1;I&&(I.abort(),I=null,l=!0),A&&(A(),A=null,l=!0),l&&(r.value=!1)}function D(l){e.value=l}function w(){a.value=[],i.value=null,o.value=0}return{input:e,loading:r,error:t,response:n,events:a,eventCursor:o,lastEvent:i,lastRunAt:d,run:P,stop:_,setInput:D,clearEvents:w}}function Bf(){const e=T(null),r=T(!1),t=T(null),n=T(null),a=Ke();async function o(){r.value=!0,t.value=null;try{e.value=await a.fetchStatus(),n.value=new Date().toISOString()}catch(i){t.value=i instanceof Error?i.message:String(i)}finally{r.value=!1}}return{status:e,loading:r,error:t,lastUpdated:n,refresh:o}}function zf(e){const r=T(""),t=T([]),n=T(null),a=T(""),o=T(""),i=T(""),d=z(()=>[...e.sessionsError.value?t.value.length?t.value:[{id:"local",title:"Main Session",summary:"Local-only session",updatedAt:void 0}]:e.remoteSessions.value].sort((h,v)=>{const $=He(h),F=He(v);if($!==F)return F-$;const x=String(h.title??""),f=String(v.title??""),C=x.localeCompare(f);return C!==0?C:String(h.id??"").localeCompare(String(v.id??""))})),m=z(()=>!e.sessionsError.value),A=z(()=>{const b=d.value.find(v=>v.id===r.value);if(b?.title)return b.title;const h=String(n.value?.state?.title??"").trim();return h||(d.value[0]?.title??"Main")}),I=z(()=>{if(!(!r.value||r.value==="local"))return r.value}),M=z(()=>{const b=d.value.find(h=>h.id===r.value);return b&&"summary"in b&&b.summary?b.summary:"Shared CLI session"}),P=z(()=>{const h=d.value.find(F=>F.id===r.value)?.cwd,v=n.value?.metadata?.cwd??n.value?.state?.context?.cwd;return String(h??v??"").trim()||"—"}),_=z(()=>d.value.find(h=>h.id===r.value)?.gitBranch??"");function D(b){e.sessionsError.value||(a.value=b.id,o.value=b.title,i.value="")}function w(){a.value="",o.value=""}async function l(b){if(e.sessionsError.value)return;const h=o.value.trim();if(!h){i.value="Title cannot be empty.";return}if(await e.renameRemoteSession(b.id,h),e.sessionsError.value){i.value=`Rename failed: ${e.sessionsError.value}`;return}if(i.value=`Renamed session to: ${h}`,b.id===r.value){const v=await e.fetchSession(b.id);v&&(n.value=v)}a.value="",o.value=""}async function g(b,h,v,$){const F=h??r.value;if(!F||F==="local")return!1;const x=b===void 0?await e.fetchSession(F):b;return x?(n.value=x,r.value=F,!0):(n.value=null,!1)}async function O(b){if(!e.sessionsError.value){const $=await e.createRemoteSession(b);await e.refreshSessions();const F=$?.session?.id??$?.id;return F?(r.value=String(F),String(F)):null}const h=Ve(),v={id:h,title:`Local ${h.slice(0,6)}`,updatedAt:Date.now()};return t.value=[v,...t.value],r.value=h,h}return{activeSessionId:r,localSessions:t,sessionSnapshot:n,editingSessionId:a,renameDraft:o,sessionNote:i,sessions:d,canManageSessions:m,activeSessionTitle:A,activeSessionQueryId:I,activeSessionSummary:M,activeSessionCwdLabel:P,activeSessionGitBranch:_,startRename:D,cancelRename:w,applyRename:l,refreshActiveSession:g,createSession:O}}function Ff(){const e=T([]),r=T(!1),t=T(!1),n=T(null),a=Ke();async function o(){r.value=!0,n.value=null;try{e.value=await a.fetchSessions()}catch(I){n.value=I instanceof Error?I.message:String(I),e.value=[]}finally{r.value=!1}}async function i(I){r.value=!0,n.value=null;try{const M=await a.createSession(I);return await o(),M}catch(M){n.value=M instanceof Error?M.message:String(M)}finally{r.value=!1}}async function d(I){t.value=!0,n.value=null;try{return await a.fetchSession(I)}catch(M){return n.value=M instanceof Error?M.message:String(M),null}finally{t.value=!1}}async function m(I,M){r.value=!0,n.value=null;try{const P=await a.renameSession(I,M);return await o(),P}catch(P){n.value=P instanceof Error?P.message:String(P)}finally{r.value=!1}}async function A(I){r.value=!0,n.value=null;try{await a.deleteSession(I),await o()}catch(M){n.value=M instanceof Error?M.message:String(M)}finally{r.value=!1}}return{sessions:e,loading:r,sessionLoading:t,error:n,refresh:o,create:i,fetchSession:d,rename:m,destroy:A}}function Wf(){const e=T(null),r=T(null),t=new Map,n=new Set,a=T(null),o=T(!1),i=T(!1),d=T(null),m=T(!0);function A(_,D,w,l){const g=t.get(_);if(g)return g;if(D&&w.activeSessionId.value&&w.activeSessionId.value!=="local"&&w.activeSessionId.value!==D)return null;D&&(!w.activeSessionId.value||w.activeSessionId.value==="local")&&(w.activeSessionId.value=D);let b=String(l?.messageId??"").trim(),h=-1;if(b)h=w.chatMessages.value.findIndex($=>$.id===b);else{const $=w.createMessage("assistant",[w.buildMarkdownPart("")],new Date().toISOString(),"streaming");w.chatMessages.value=[...w.chatMessages.value,$],b=$.id,h=w.chatMessages.value.length-1}const v={runId:_,sessionId:D??void 0,messageId:b,messageIndex:h,textSegments:[],activeTextSegmentIndex:-1,hasDelta:!1,thinkingBlocks:[],activeThinkingIndex:-1,eventIndex:0,toolCalls:new Map,toolResults:new Map};return t.set(_,v),e.value=_,v}function I(_,D){const w=[],l=[];for(let h=0;h<_.thinkingBlocks.length;h+=1){const v=_.thinkingBlocks[h];l.push({kind:"thinking",order:v.order,index:h})}if(_.hasDelta)for(let h=0;h<_.textSegments.length;h+=1){const v=_.textSegments[h];v&&v.content&&l.push({kind:"text",order:v.order,segmentIndex:h})}for(const[h,v]of _.toolCalls)l.push({kind:"tool_call",order:v.order,callId:h});for(const[h,v]of _.toolResults)l.push({kind:"tool_result",order:v.order,callId:h});l.sort((h,v)=>h.order-v.order);for(const h of l){if(h.kind==="thinking"){const $=_.thinkingBlocks[h.index];if(!$)continue;w.push({type:"thinking",title:"Thinking",collapsed:!0,content:$.content});continue}if(h.kind==="text"){const $=_.textSegments[h.segmentIndex];if(!$)continue;w.push({type:"markdown",raw:$.content,blocks:Lr($.content)});continue}if(h.kind==="tool_call"){const $=_.toolCalls.get(h.callId);if(!$)continue;w.push({type:"tool_call",name:$.name,args:$.args||"No arguments",callId:h.callId});continue}const v=_.toolResults.get(h.callId);v&&w.push({type:"tool_result",name:v.name,output:v.output||"No output",status:v.status,callId:h.callId,structured:v.structured})}if(w.length===0){const h="Thinking…";w.push({type:"markdown",raw:h,blocks:Lr(h)})}const g=D.chatMessages.value;let O=_.messageIndex;if((O<0||O>=g.length||g[O]?.id!==_.messageId)&&(O=g.findIndex(h=>h.id===_.messageId),_.messageIndex=O),O<0)return;const b=g[O];b&&(g[O]={...b,parts:w,meta:"streaming"})}function M(_,D){const w=t.get(_);if(!w)return;t.delete(_),e.value===_&&(e.value=null);const l=D.chatMessages.value;let g=w.messageIndex;if((g<0||g>=l.length||l[g]?.id!==w.messageId)&&(g=l.findIndex(b=>b.id===w.messageId),w.messageIndex=g),g<0)return;const O=l[g];O&&(l[g]={...O,meta:void 0})}function P(_){n.clear(),a.value=null,o.value=!1,i.value=!1,_.clearStreamQueryEvents();const D=Ve();d.value=D,_.chatMessages.value=[..._.chatMessages.value,_.createMessage("assistant",[_.buildMarkdownPart("Thinking...")],new Date().toISOString(),"streaming",D)]}return{activeStreamRunId:e,lastStreamEventId:r,streamRuns:t,streamQueryRunIds:n,activeStreamQueryRunId:a,streamQueryHasDelta:o,streamQueryPaused:i,currentStreamMessageId:d,useStreamingQuery:m,ensureStreamRun:A,updateStreamMessage:I,finalizeStreamRun:M,beginStreamQueryMessage:P}}function qf(){const e=T([]),r=T(!1),t=T(null),n=T(null),a=T(!1),o=T([]),i=Ke(),d=z(()=>new Set(o.value));function m(O){return d.value.has(O)}async function A(){r.value=!0,t.value=null;try{e.value=await i.fetchSkills(),o.value=await i.fetchActiveSkills()}catch(O){t.value=O instanceof Error?O.message:String(O),e.value=[]}finally{r.value=!1}}async function I(){try{o.value=await i.fetchActiveSkills()}catch{}}async function M(O){t.value=null;try{o.value=await i.activateSkill(O)}catch(b){t.value=b instanceof Error?b.message:String(b)}}async function P(O){t.value=null;try{o.value=await i.deactivateSkill(O)}catch(b){t.value=b instanceof Error?b.message:String(b)}}async function _(O){m(O)?await P(O):await M(O)}async function D(O){a.value=!0,t.value=null;try{n.value=await i.fetchSkill(O)}catch(b){t.value=b instanceof Error?b.message:String(b),n.value=null}finally{a.value=!1}}async function w(O,b,h){r.value=!0,t.value=null;try{await i.createSkill(O,b,h),await A()}catch(v){t.value=v instanceof Error?v.message:String(v)}finally{r.value=!1}}async function l(O,b,h){r.value=!0,t.value=null;try{await i.updateSkill(O,b,h),await A()}catch(v){t.value=v instanceof Error?v.message:String(v)}finally{r.value=!1}}async function g(O){r.value=!0,t.value=null;try{await i.deleteSkill(O),n.value=null,await A()}catch(b){t.value=b instanceof Error?b.message:String(b)}finally{r.value=!1}}return{skills:e,loading:r,detailLoading:a,error:t,selectedSkill:n,activeSkillNames:o,activeSkillSet:d,isSkillActive:m,fetchSkills:A,fetchActiveSkills:I,activateSkill:M,deactivateSkill:P,toggleSkillActivation:_,fetchSkillDetail:D,createSkill:w,updateSkill:l,deleteSkill:g}}let tt;function Qf(){const e=T(""),r=T("info"),t=T(!1);function n(){t.value=!1,tt&&(clearTimeout(tt),tt=void 0)}function a(o,i="info",d=2200){e.value=o,r.value=i,t.value=!0,tt&&clearTimeout(tt),tt=globalThis.setTimeout(()=>{t.value=!1,tt=void 0},d)}return{toastMessage:e,toastKind:r,toastVisible:t,showToast:a,hideToast:n}}const Nn="goatchain:tool-approvals";function Vf(){const e=T("auto"),r=T(!1),t=T([]),n=T(null),a=T(null),o=T(!1),i=T(null),d=z(()=>t.value[0]??null),m=z(()=>t.value.length);function A(){if(!(typeof window>"u"))try{const l=window.localStorage.getItem(Nn);e.value=l==="all"?"all":"auto"}catch{e.value="auto"}}function I(l){if(!(typeof window>"u"))try{window.localStorage.setItem(Nn,l)}catch{}}function M(l,g){const O={};if((g||e.value==="all")&&(O.autoApprove=!0),l&&Object.keys(l).length>0&&(O.decisions=l),!!Object.keys(O).length)return{approval:O}}function P(l,g){const O=new Map,b=[],h=new Set;for(const v of l){const $=Ot(v);if(!$)continue;const F=_t($);if(!(F&&F!==g)){if(v.type==="tool.call"){const x=st($);if(!x)continue;const f=Ur($),{args:C,delta:N}=Br($),k=!N;O.has(x)||b.push(x);const Q=O.get(x)??{name:f,args:""};O.set(x,{name:Q.name||f,args:k?C:`${Q.args}${C}`});continue}if(v.type==="tool.result"){const x=st($);x&&h.add(x)}}}return b.filter(v=>!h.has(v)).map(v=>{const $=O.get(v);return{toolCallId:v,toolName:$?.name||"tool",args:$?.args||"No arguments"}})}function _(l,g){const O=l.get(g);if(!O)return[];const b=[];for(const[h,v]of O.toolCalls)O.toolResults.has(h)||b.push({toolCallId:h,toolName:v.name,args:v.args||"No arguments"});return b}function D(l,g,O){if(!g){console.warn("Approval required but session id is missing.");return}if(!(r.value&&a.value===O)){if(!l.length){console.warn("Approval required but no tool calls were found.");return}if(e.value==="all"){t.value=[],n.value=g,a.value=O;return}t.value=l,n.value=g,a.value=O,r.value=!0}}function w(l){o.value||(r.value=!1,t.value=[],n.value=null,a.value=null,l&&l())}return{toolApprovalsMode:e,approvalDialogOpen:r,approvalRequests:t,approvalSessionId:n,approvalRunId:a,approvalBusy:o,approvalDialogEl:i,activeApproval:d,approvalCount:m,loadToolApprovalsMode:A,persistToolApprovalsMode:I,buildToolContext:M,collectPendingApprovalsFromEvents:P,collectPendingApprovalsFromRun:_,openApprovalDialog:D,closeApprovalDialog:w}}function dr(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function Gf(e){if(dr(e))return e;if(typeof e=="string"){const r=e.trim();if(!r)return{};try{const t=JSON.parse(r);return dr(t)?t:{_raw:e}}catch{return{_raw:e}}}return{}}function _r(e){const r=e?.context?.messages,t=Array.isArray(r)?r:[];if(!t.length)return[Oe("system",[ke("Session is empty. Start chatting to add messages.")])];const n=[],a=new Map,o=new Map;for(const i of t){const d=String(i?.role??""),m=String(i?.createdAt??i?.createdAtMs??i?.created_at??"");if(d==="user"){const{text:A,attachments:I}=Pn(i?.content),M=Xf(A),P=[];M.focusFiles?.length&&P.push({type:"attachments",items:M.focusFiles.map(_=>({id:Ve(),kind:"path",label:_}))}),I.length&&P.push({type:"attachments",items:I}),M.content.trim()&&P.push(ke(M.content)),n.push(Oe("user",P,m));continue}if(d==="assistant"){const A=[],I=ls(i?.reasoning_content).trim();I&&A.push({type:"thinking",title:"Thinking",collapsed:!0,content:I});const{text:M,attachments:P}=Pn(i?.content);M.trim()&&A.push(ke(M)),P.length&&A.push({type:"attachments",items:P});const _=Array.isArray(i?.tool_calls)?i.tool_calls:[];for(const D of _){const w=String(D?.id??"").trim(),l=String(D?.function?.name??"tool"),g=Gf(D?.function?.arguments);w&&(a.set(w,n.length),o.set(w,l)),A.push({type:"tool_call",name:l,args:Md(g),callId:w||void 0})}n.push(Oe("assistant",A,m));continue}if(d==="tool"){const A=String(i?.tool_call_id??"").trim(),I=A?o.get(A):void 0,M=Rd(i?.content,I);let P;if(i?.structuredContent)try{P=JSON.stringify(i.structuredContent,null,2)}catch{P=String(i.structuredContent)}const _={type:"tool_result",name:I,output:M,status:i?.isError?"error":"success",callId:A||void 0,structured:P},D=A?a.get(A):void 0;if(D!=null&&n[D]){const w=n[D];n[D]={...w,parts:[...w.parts,_]}}else n.push(Oe("assistant",[_],m))}}return n.length?n:[Oe("system",[ke("Session is empty. Start chatting to add messages.")])]}function ls(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(ls).join("");if(dr(e)){const r=e.text;if(typeof r=="string")return r;try{return JSON.stringify(e)}catch{return String(e)}}return String(e)}function Pn(e){const r=[],t=[],n=m=>{m&&r.push(m)},a=m=>{m&&t.push(m)},o=m=>{if(m==null)return;if(typeof m=="string"){n(m);return}if(Array.isArray(m)){for(const I of m)o(I);return}if(!dr(m)){n(String(m));return}const A=String(m.type??"").toLowerCase();if(typeof m.text=="string"&&n(String(m.text)),A.includes("image")){const I=Jf(m);a({id:Ve(),kind:"image",label:m.name??"image",url:I??void 0,meta:I?void 0:"Image payload"});return}if(A.includes("file")){const{label:I,url:M,meta:P}=Hf(m);a({id:Ve(),kind:"file",label:I,url:M,meta:P});return}"text"in m||n(JSON.stringify(m))};o(e);const i=r.join(""),d=Kf(i);return{text:d.text,attachments:[...t,...d.attachments]}}function Jf(e){const r=e.image_url;if(typeof r=="string")return r;if(r&&typeof r=="object"&&typeof r.url=="string")return r.url;if(typeof e.url=="string")return e.url;const t=e.source;if(t&&typeof t=="object"){if(typeof t.url=="string")return t.url;if(typeof t.data=="string")return`data:${String(t.media_type??"image/png")};base64,${t.data}`}return null}function Hf(e){const r=e.file,t=String(e.name??e.filename??r?.name??r?.filename??r?.id??"file"),n=typeof e.url=="string"?e.url:typeof r?.url=="string"?r.url:void 0,a=e.size??r?.size,o=e.mime_type??r?.mime_type??r?.type,i=[];return o&&i.push(String(o)),a&&i.push(`${a} bytes`),{label:t,url:n,meta:i.length?i.join(" · "):void 0}}function Kf(e){let r=String(e??"");const t=[],n=/\[attachment_base64\][\s\S]*?\[\/attachment_base64\]/gi;r=r.replace(n,"").trim();const a=/\[attachments\]([\s\S]*?)\[\/attachments\]/i,o=r.match(a);if(o){const A=(o[1]??"").split(`
33
+ `);for(const I of A){const M=I.trim();if(!M.startsWith("-"))continue;const _=M.replace(/^-+\s*/,"").match(/^(.*?)\s*\(([^,]+),\s*([^)]+)\)\s*(.+)?$/);if(!_)continue;const D=_[1]?.trim()||"attachment",w=_[2]?.trim()||"",l=_[3]?.trim()||"",g=_[4]?.trim()||void 0,O=w.startsWith("image/")||g&&/\.(png|jpe?g|gif|webp|svg)$/i.test(g)?"image":"file";t.push({id:Ve(),kind:O,label:D,url:g,meta:[w,l].filter(Boolean).join(" · ")})}r=r.replace(a,"").trim()}const i=r.split(`
34
+ `),d=[];for(const m of i){const I=m.trim().match(/^-?\s*\[(image|file)\]\((.+)\)\s*$/i);if(!I){d.push(m);continue}const M=String(I[1]??"").toLowerCase();let P=String(I[2]??"").trim();if(P.startsWith("<")&&P.endsWith(">")&&(P=P.slice(1,-1).trim()),P=P.replace(/\\\)/g,")"),!P){d.push(m);continue}t.push({id:Ve(),kind:M==="image"?"image":"file",label:M,url:P,meta:P})}return r=d.join(`
35
+ `).trim(),{text:r,attachments:t}}function Xf(e){const r=String(e??"").replace(/\r/g,"");if(!r)return{content:""};const t=r.split(`
36
+ `),n=String(t[0]??"").trim();if(n!=="[focus_files]"&&n!=="[user_focus_files]"){const d=(I=>{const M=String(I??"");if(!M)return null;const P=[];let _=0;for(;_<M.length;){for(;_<M.length&&(M[_]===" "||M[_]===" "||M[_]===`
37
+ `);)_+=1;const w=M.slice(_).match(/^\[([^\]]*)\]\(((?:\\\)|[^)])+)\)/);if(!w)break;let l=String(w[2]??"").trim();if(l.startsWith("<")&&l.endsWith(">")&&(l=l.slice(1,-1)),l=l.replace(/\\\)/g,")").trim(),!(l.startsWith("/")||/^[A-Z]:[\\/]/i.test(l)))break;l&&P.push(l),_+=w[0].length}if(!P.length)return null;let D=M.slice(_);return D=D.replace(/^[ \t]+/g,""),D.startsWith(`
38
+
39
+ `)?D=D.slice(2):(D.startsWith(`
40
+ `)||D.startsWith(" "))&&(D=D.slice(1)),{content:D,focusFiles:P}})(r);if(d)return d;const m=[];let A=0;for(;A<t.length;A+=1){const I=String(t[A]??"");if(!I.trim())break;const M=I.match(/^\s*\[([^\]]*)\]\((.+)\)\s*$/);if(!M)break;let P=String(M[2]??"").trim();if(P.startsWith("<")&&P.endsWith(">")&&(P=P.slice(1,-1)),P=P.replace(/\\\)/g,")").trim(),!(P.startsWith("/")||/^[A-Z]:[\\/]/i.test(P)))break;P&&m.push(P)}if(!m.length)return{content:r};for(;A<t.length&&!String(t[A]??"").trim();)A+=1;return{content:t.slice(A).join(`
41
+ `),focusFiles:m}}const a=[];let o=1;for(;o<t.length;o+=1){const i=String(t[o]??"");if(!i.trim())break;const d=i.match(/^\s*-\s*\[[^\]]*\]\((.+)\)\s*$/);if(!d)break;let m=String(d[1]??"").trim();m.startsWith("<")&&m.endsWith(">")&&(m=m.slice(1,-1)),m=m.replace(/\\\)/g,")").trim(),m&&a.push(m)}if(!a.length)return{content:r};for(;o<t.length&&!String(t[o]??"").trim();)o+=1;return{content:t.slice(o).join(`
42
+ `),focusFiles:a}}const Yf={class:"h-full"},Zf={class:"flex h-full w-full bg-background-light dark:bg-background-dark transition-colors duration-200"},ep={class:"flex-1 min-w-0 flex flex-col h-full relative bg-background-light dark:bg-background-dark overflow-hidden"},tp="AskUserTool.execute() was called without answers.",sp=he({__name:"index",setup(e){function r(){if(typeof window>"u")return!1;const p=localStorage.getItem("goatchain-theme");return p==="dark"?!0:p==="light"?!1:window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches}const t=T(r());function n(p){typeof document>"u"||(document.documentElement.classList.toggle("dark",p),localStorage.setItem("goatchain-theme",p?"dark":"light"))}const a={pinnedSessionIds:"goatchain-gui:pinned-session-ids",sidebarCollapsed:"goatchain-gui:sidebar-collapsed",changesPanelOpen:"goatchain-gui:changes-panel-open",changesPanelWidth:"goatchain-gui:changes-panel-width"};function o(p,y){if(typeof window>"u")return y;const S=window.localStorage.getItem(p);return S==="1"||S==="true"?!0:S==="0"||S==="false"?!1:y}function i(p,y){typeof window>"u"||window.localStorage.setItem(p,y?"1":"0")}function d(p,y,S,B){if(typeof window>"u")return y;const K=window.localStorage.getItem(p),X=Number(K);return Number.isFinite(X)?Math.min(B,Math.max(S,Math.floor(X))):y}function m(p,y){typeof window>"u"||window.localStorage.setItem(p,String(Math.floor(y)))}function A(){if(typeof window>"u")return[];try{const p=window.localStorage.getItem(a.pinnedSessionIds);if(!p)return[];const y=JSON.parse(p);return Array.isArray(y)?y.map(S=>String(S??"").trim()).filter(Boolean):[]}catch{return[]}}function I(p){if(!(typeof window>"u"))try{const y=[...new Set(p.map(S=>String(S??"").trim()).filter(Boolean))];window.localStorage.setItem(a.pinnedSessionIds,JSON.stringify(y))}catch{}}const{status:M,loading:P,error:_,lastUpdated:D,refresh:w}=Bf(),l=T([]),g=T(null),O=p=>{},{loading:b,error:h,response:v,run:$,stop:F}=Df(),{loading:x,error:f,response:C,events:N,eventCursor:k,run:Q,stop:ne,clearEvents:te}=Uf(),{sessions:le,loading:Se,error:j,refresh:R,create:L,fetchSession:H,rename:de,destroy:oe}=Ff(),me=T(!1),Ee=T("");let De=null,ce=null;const Ne=T(o(a.sidebarCollapsed,!1)),pe=T(o(a.changesPanelOpen,!0)),_e=T(d(a.changesPanelWidth,360,300,760)),Ce=T(A()),We=Ke(),cr=T(!1),ur=T(null),zr=T(""),Fr=T(""),bt=T([]),kt=T([]),at=T("unstaged"),ot=T(""),mr=T(!1),wt=T(""),fr=T(!1),Nt=T(null),pr=T(!1),gr=T(!1),ds=Qf(),cs=Of(),us=Lf(),Re=Nf(),V=Wf(),Wr=z(()=>!!M.value?.capabilities?.uploads),ms=z(()=>!!M.value?.capabilities?.images),fs=_f(Wr),Ue=zf({remoteSessions:le,sessionsError:j,fetchSession:H,renameRemoteSession:de,destroyRemoteSession:oe,createRemoteSession:L,refreshSessions:R,snapshotToChatMessages:_r}),Be=Tf(),Pe=Vf(),Te=qf(),Pt=T(!1),ps=z(()=>M.value?.serverVersion??"unknown"),gs=z(()=>Ee.value||"pending"),xs=z(()=>D.value?`Updated ${Pr(D.value)}`:"Status pending"),ys=z(()=>j.value?"Sessions offline":`${Ue.sessions.value.length} sessions`),vs=z(()=>{const p=M.value;return[{label:"Origin",value:gs.value},{label:"Protocol",value:p?.protocolVersion??"unknown"},{label:"Server",value:ps.value},{label:"Started",value:Pr(p?.startedAt)},{label:"PID",value:p?.pid?String(p.pid):"unknown"},{label:"Port",value:p?.port?String(p.port):"unknown"},{label:"Cursor",value:p?.cursor?String(p.cursor):"—"}]}),hs=z(()=>g.value?"received from event stream":M.value?.snapshot?"received from /status":""),bs=z(()=>{const p=g.value??M.value?.snapshot;return p?typeof p=="string"?p:JSON.stringify(p,null,2):""}),ks=z(()=>{const p=M.value?.capabilities??{},y=Object.entries(p),S={uploads:"Uploads",images:"Image preview",tools:"Tool calls",auth:"Auth required"};return y.map(([B,K])=>({key:B,label:S[B]??B,enabled:!!K})).sort((B,K)=>B.key.localeCompare(K.key))}),ws=z(()=>{const p=Ue.sessionSnapshot.value,y=Number(p?.context?.messageCount??Re.chatMessages.value.filter(Zt=>Zt.role!=="system").length)||0,S=p?.stats?.usage??{},B=Number(S.promptTokens??S.prompt_tokens??0)||0,K=Number(S.completionTokens??S.completion_tokens??0)||0,$e=Number(S.totalTokens??S.total_tokens??0)||0||B+K;return[`${y} messages`,`${$e} tokens`].join(" · ")}),Ss=z(()=>[{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:fe,hideToast:qr,toastMessage:Cs,toastKind:$s,toastVisible:As}=ds,{deleteDialogOpen:Qr,deleteTarget:xr,deleteBusy:jt,deleteDialogEl:Is,openDeleteDialog:Ms,closeDeleteDialog:Vr}=cs,{mode:Ts,modeMenuOpen:Gr,modeMenuEl:Jr,modeIcon:Rs,modeLabel:Es,modeOptions:_s,composerPlaceholder:Os,fetchCurrentMode:Ns,setMode:Ps,toggleModeMenu:js}=us,{attachments:yr,attachmentNote:Ls,attachmentsBase64:Lt,composerMenuOpen:vr,composerMenuEl:Hr,removeAttachment:Ds,clearAttachments:it,handlePaste:Us,handleDrop:Bs,handleFilePick:zs,toggleComposerMenu:Fs,ensureUploadsReady:Ws,buildAttachmentContextInput:qs}=fs,{ASK_USER_OTHER_LABEL:Qs,askUserDialogOpen:Dt,askUserQuestions:Vs,askUserSelections:Gs,askUserOtherInputs:Kr,askUserBusy:hr,isAskUserSelected:Js,onAskUserOptionChange:Hs,buildAskUserAnswers:Ks,openAskUserDialog:Xr,closeAskUserDialog:Ut}=Be,{toolApprovalsMode:St,approvalDialogOpen:lt,approvalRequests:Bt,approvalBusy:br,loadToolApprovalsMode:Xs,persistToolApprovalsMode:Yr,buildToolContext:zt,openApprovalDialog:Ys,closeApprovalDialog:Ct}=Pe,{chatMessages:Zr,renderMessages:Zs,appendMessage:dt,updateStreamingMessageFinal:ea,appendUserMessageWithAttachments:ta,ensureAssistantReply:en,clearChat:ra,setChatMessages:tn,markMessageAwaitingApproval:na,markMessageAwaitingAnswers:sa,clearMessageAwaitingApproval:aa,clearMessageAwaitingAnswers:oa}=Re,{activeSessionId:ie,editingSessionId:ia,renameDraft:rn,sessionNote:Ft,sessions:$t,canManageSessions:la,activeSessionTitle:da,activeSessionQueryId:kr,activeSessionSummary:ca,activeSessionCwdLabel:ua,startRename:ma,cancelRename:fa,applyRename:pa,refreshActiveSession:At,createSession:ga}=Ue,Wt=T(""),wr=T(!1),It=T(!1),qt=T(null),Qt=T(null);function nn(p,y){p&&(qt.value=p,na(p,y))}function xa(){qt.value&&(aa(qt.value),qt.value=null)}function Sr(p){p&&(Qt.value=p,sa(p))}function ya(){Qt.value&&(oa(Qt.value),Qt.value=null)}const va=T(null),sn=T(null),an=T(null),Xe=T(null),Vt=T(!0),ct=T(0),Gt=T(!0),je=[];let ut=null,qe=null,Mt=null,Ye=null,mt=!1;function ha(p){return p.scrollHeight-p.scrollTop-p.clientHeight<=96}function Cr(){const p=Xe.value;if(!p){Vt.value=!0;return}Vt.value=ha(p)}function ze(p=!1){const y=Xe.value;if(y&&(p&&(mt=!0),!(!mt&&!Vt.value)&&ut==null)){if(typeof window>"u"){y.scrollTop=y.scrollHeight,mt=!1;return}ut=window.requestAnimationFrame(()=>{ut=null;const S=Xe.value;if(!S){mt=!1;return}(mt||Vt.value)&&(S.scrollTop=S.scrollHeight),mt=!1,Cr()})}}function Jt(){if(Gt.value=!1,typeof window>"u"){Gt.value=!0;return}Ye!=null&&window.cancelAnimationFrame(Ye),Ye=window.requestAnimationFrame(()=>{Ye=null,Gt.value=!0})}function on(){if(!V.useStreamingQuery.value||!V.currentStreamMessageId.value){je.length=0;return}if(!je.length)return;const p=je.splice(0,je.length),y=new Set,S=N.value;for(const B of p)if(hn(B,{source:"stream-query",sourceEvents:S,streamMessageId:V.currentStreamMessageId.value,deferRender:!0,dirtyRunIds:y}),V.streamQueryPaused.value){je.length=0;break}for(const B of y){const K=V.streamRuns.get(B);K&&V.updateStreamMessage(K,{chatMessages:Re.chatMessages})}ze()}function ba(){if(qe==null){if(typeof window>"u"){on();return}qe=window.requestAnimationFrame(()=>{qe=null,on()})}}function $r(p,y){const S=String(p??"").trim();if(!S)return;const B=Zr.value,K=B.findIndex($e=>$e.id===S);if(K<0)return;const X=B[K];X&&(B[K]=y(X))}function ln(){Ne.value=!Ne.value,i(a.sidebarCollapsed,Ne.value)}function dn(){pe.value=!pe.value,i(a.changesPanelOpen,pe.value)}function ka(p){const y=Math.min(760,Math.max(300,Math.floor(Number(p)||360)));y!==_e.value&&(_e.value=y,m(a.changesPanelWidth,y))}function wa(p){const y=p.target;if(!y)return!1;const S=String(y.tagName??"").toLowerCase();return S==="input"||S==="textarea"||S==="select"?!0:y.isContentEditable}function cn(){const p=new Set($t.value.map(S=>String(S?.id??"").trim()).filter(Boolean)),y=Ce.value.filter(S=>p.has(String(S)));y.length!==Ce.value.length&&(Ce.value=y,I(y))}function Sa(p){const y=String(p?.id??"").trim();y&&(Ce.value.includes(y)||(Ce.value=[y,...Ce.value],I(Ce.value),fe(`Pinned: ${p?.title||y}`,"success",1800)))}function Ca(p){const y=String(p?.id??"").trim();if(!y)return;const S=Ce.value.filter(B=>B!==y);S.length!==Ce.value.length&&(Ce.value=S,I(S),fe(`Unpinned: ${p?.title||y}`,"success",1600))}function Ar(){const y=(at.value==="staged"?kt.value:bt.value)[0];if(!y){ot.value="",wt.value="",Nt.value=null;return}un(y.path,at.value==="staged")}async function ft(){if(pr.value){gr.value=!0;return}pr.value=!0;const p=ie.value&&ie.value!=="local"?ie.value:void 0;cr.value=!0,ur.value=null;try{const y=await We.fetchChanges(p);zr.value=y.cwd,Fr.value=y.branch,bt.value=y.unstaged,kt.value=y.staged;const S=mr.value?kt.value:bt.value;ot.value&&S.some(K=>K.path===ot.value)||Ar()}catch(y){ur.value=y instanceof Error?y.message:String(y),bt.value=[],kt.value=[],ot.value="",wt.value=""}finally{cr.value=!1,pr.value=!1,gr.value&&(gr.value=!1,ft())}}async function $a(){await R(),await ft()}async function un(p,y){const S=String(p??"").trim();if(S){ot.value=S,mr.value=y,fr.value=!0,Nt.value=null;try{const B=ie.value&&ie.value!=="local"?ie.value:void 0,K=await We.fetchChangeDiff(S,y,B);wt.value=K.patch}catch(B){wt.value="",Nt.value=B instanceof Error?B.message:String(B)}finally{fr.value=!1}}}function Aa(p){at.value!==p&&(at.value=p,Ar())}const mn=z(()=>b.value||x.value),Ia=z(()=>{const p=String(ie.value??"").trim();return!p||p==="local"||!mn.value?[]:[p]}),Ht=z(()=>mn.value),Ma=z(()=>Ht.value?"Stop":"Send"),Ta=z(()=>Ht.value?!1:lt.value||br.value||Dt.value||hr.value);function Ra(p,y,S){return!!(S&&p==="AskUserQuestion"&&y.includes(tp))}function Ea(p){It.value=!1,St.value!==p&&(St.value=p,Yr(p),fe(p==="all"?"Tool approvals set to always allow.":"Tool approvals set to auto (prompt for high-risk tools).","success",2400))}function _a(){if(typeof window>"u")return!1;const p=new URLSearchParams(window.location.search);if(!p.has("debug"))return!1;const y=String(p.get("debug")??"").trim().toLowerCase();return!y||y==="1"||y==="true"||y==="yes"}function pt(){ra(),it()}function fn(){let p=!1;x.value&&(ne(),p=!0),b.value&&(F(),p=!0),p&&fe("Stopped current response.","info",1600)}function pn(p,y,S){const B=y||ie.value||null;if(!B||B==="local"){fe("Approval required but session id is missing.","error",2600);return}if(!p.length){fe("Approval required but no tool calls were found.","error",2600);return}if(St.value==="all"){Pe.approvalRequests.value=[],Pe.approvalSessionId.value=B,Pe.approvalRunId.value=S;const K={};for(const X of p)K[X.toolCallId]={approved:!0};Xt(K,{autoApprove:!0});return}Ys(p,B,S)}async function Oa(){if(j.value||!xr.value||jt.value)return;jt.value=!0;const p=xr.value;if(await oe(p.id),jt.value=!1,j.value){Ft.value=`Delete failed: ${j.value}`;return}if(Ft.value=`Deleted session: ${p.title}`,ie.value===p.id){const y=le.value.filter(S=>S.id!==p.id);y.length?await Kt(y[0].id):(ie.value="",Ue.sessionSnapshot.value=null,pt())}Vr()}async function Kt(p){if(b.value&&F(),x.value&&ne(),Ct(()=>{V.streamQueryPaused.value=!1}),Ut(()=>{V.streamQueryPaused.value=!1}),V.streamQueryPaused.value=!1,ie.value=p,Ft.value="",it(),V.currentStreamMessageId.value=null,p==="local"){Ue.sessionSnapshot.value=null,Jt(),pt(),ze(!0);return}const y=await H(p);if(await At(y)&&Ue.sessionSnapshot.value){const B=_r(Ue.sessionSnapshot.value);Jt(),B.length>0?tn(B):pt()}else Jt(),pt();ze(!0)}async function Na(p){const y=await ga(p);if(j.value){pt();return}y&&await Kt(y)}async function gn(){if(lt.value||br.value||Dt.value||hr.value){fe("Resolve the pending prompt before sending a new message.","info",2400);return}const p=Wt.value.trim(),y=yr.value.length>0;if(!p&&!y)return;const S=y?await Ws():[];if(y&&!S.length)return;if(y){const K=yr.value.map(X=>({id:X.id,kind:X.mime.startsWith("image/")?"image":"file",label:X.name,url:X.localUrl,meta:[X.remote?.url?`path: ${X.remote.url}`:"",X.status==="ready"?"ready":X.status].filter(Boolean).join(" · ")}));ta(p,K)}else dt("user",p);Wt.value="";const B=y?qs(p,S):p;if(V.useStreamingQuery.value){V.beginStreamQueryMessage({clearStreamQueryEvents:te,createMessage:Oe,buildMarkdownPart:ke,chatMessages:Re.chatMessages});const K=zt();Q(B,kr.value,S,Lt.value,{toolContext:K})}else{if(!await $(B,kr.value,S,Lt.value,{toolContext:zt()})&&!h.value)return;const X=v.value?.sessionId;if(X&&X!==ie.value&&(ie.value=X),h.value){dt("assistant",`Error: ${h.value}`);return}h.value||it(),!j.value&&X?(await R(),await At(void 0,X)?en(v.value||{}):dt("assistant",nr(v.value||{}))):dt("assistant",nr(v.value||{}))}}function Pa(p){if(!(p.isComposing||wr.value)){if(p.preventDefault(),Ht.value){fn();return}gn()}}function ja(){wr.value=!0}function La(){wr.value=!1}function Da(){It.value=!It.value}async function Ua(){await w(),_.value||O(M.value?.cursor)}async function xn(){if(!(x.value||b.value))if(ie.value&&ie.value!=="local")try{const p=await H(ie.value);if(await At(p)&&Ue.sessionSnapshot.value){const S=_r(Ue.sessionSnapshot.value);Jt(),S.length>0?tn(S):pt(),ze(!0),fe("Session refreshed","success")}else fe("Failed to refresh session","error",2600)}catch(p){fe(`Refresh failed: ${p}`,"error",2600)}else O(M.value?.cursor)}async function yn(p){if(!await $(p,kr.value,void 0,void 0,{toolContext:zt()})&&!h.value)return;const S=v.value?.sessionId;if(S&&S!==ie.value&&(ie.value=S),h.value){fe(`Quick action failed: ${h.value}`,"error",2600);return}!j.value&&S?(await R(),await At(void 0,S)?en(v.value||{}):dt("assistant",nr(v.value||{}))):dt("assistant",nr(v.value||{})),fe(`Ran quick query: ${p}`,"success")}async function Ba(){if(!Ee.value)return fe("Origin not available yet.","error");try{await navigator.clipboard.writeText(Ee.value),fe("Origin copied to clipboard.","success")}catch{fe("Clipboard unavailable. Copy manually.","error")}}async function za(p,y){try{await navigator.clipboard.writeText(p),fe(`Copied: ${y}`,"success")}catch{fe("Clipboard unavailable. Copy manually.","error")}}async function Xt(p,y){const S=Pe.approvalSessionId.value??ie.value;if(!S||S==="local"){fe("Cannot resume approvals without a session id.","error",2600);return}xa(),Pe.approvalBusy.value=!0;try{const B=zt(p,y?.autoApprove);x.value&&ne(),V.beginStreamQueryMessage({clearStreamQueryEvents:te,createMessage:Oe,buildMarkdownPart:ke,chatMessages:Re.chatMessages}),await Q("",S,void 0,void 0,{resume:!0,toolContext:B})}catch(B){const K=B instanceof Error?B.message:String(B);fe(`Resume failed: ${K}`,"error",2600)}finally{Pe.approvalBusy.value=!1}}async function vn(p,y,S){const B=Be.askUserSessionId.value??ie.value;if(!B||B==="local"){fe("Cannot resume AskUser without a session id.","error",2600);return}ya(),Be.askUserBusy.value=!0;try{const K={answers:Object.keys(y).length?{[p]:y}:{}};S&&(K.rejected={[p]:S});const X={askUser:K};x.value&&ne(),V.beginStreamQueryMessage({clearStreamQueryEvents:te,createMessage:Oe,buildMarkdownPart:ke,chatMessages:Re.chatMessages}),await Q("",B,void 0,void 0,{resume:!0,toolContext:X})}catch(K){const X=K instanceof Error?K.message:String(K);fe(`Resume failed: ${X}`,"error",2600)}finally{Be.askUserBusy.value=!1}}async function Fa(){const p=Be.askUserToolCallId.value;if(!p){fe("AskUser tool call id is missing.","error",2600);return}const y=Ks();await vn(p,y),Ut(()=>{V.streamQueryPaused.value=!1})}async function Wa(){const p=Be.askUserToolCallId.value;if(!p){Ut(()=>{V.streamQueryPaused.value=!1});return}await vn(p,{},"User cancelled the question"),Ut(()=>{V.streamQueryPaused.value=!1})}async function qa(){const p=Bt.value;if(!p.length)return;St.value="all",Yr("all");const y={};for(const S of p)y[S.toolCallId]={approved:!0};lt.value=!1,await Xt(y,{autoApprove:!0}),Ct(()=>{V.streamQueryPaused.value=!1}),fe("Tool approvals set to always allow.","success",2400)}async function Qa(p){const y=Bt.value.find(B=>B.toolCallId===p);if(!y)return;lt.value=!1;const S={[y.toolCallId]:{approved:!0}};await Xt(S),Ct(()=>{V.streamQueryPaused.value=!1})}async function Va(p){const y=Bt.value.find(B=>B.toolCallId===p);if(!y){Ct(()=>{V.streamQueryPaused.value=!1});return}lt.value=!1;const S={[y.toolCallId]:{approved:!1}};await Xt(S),Ct(()=>{V.streamQueryPaused.value=!1})}function hn(p,y={}){const S=Ot(p),B=_t(S),K=En(S);if(!B||K&&ie.value&&ie.value!=="local"&&ie.value!==K)return;const X=y.source??"events",$e=y.sourceEvents??l.value,Yt=!!y.deferRender;X==="stream-query"&&(V.streamQueryRunIds.add(B),V.activeStreamQueryRunId.value||(V.activeStreamQueryRunId.value=B));const Zt=X==="stream-query"?String(y.streamMessageId??V.currentStreamMessageId.value??"").trim():"",Ze=()=>V.ensureStreamRun(B,K,{activeSessionId:Ue.activeSessionId,chatMessages:Re.chatMessages,createMessage:Oe,buildMarkdownPart:ke},Zt?{messageId:Zt}:void 0),Ga=y.dirtyRunIds,Ge=(W,se=!1)=>{if(W){if(Yt&&!se){Ga?.add(W.runId);return}V.updateStreamMessage(W,{chatMessages:Re.chatMessages})}};if(p.type==="thinking_start"){const W=Ze();if(!W)return;W.activeTextSegmentIndex=-1,W.eventIndex+=1,W.activeThinkingIndex=W.thinkingBlocks.length,W.thinkingBlocks.push({content:"",order:W.eventIndex}),Ge(W);return}if(p.type==="thinking_delta"){const W=Ze();if(!W)return;W.activeTextSegmentIndex=-1;const se=typeof S?.delta=="string"?S.delta:"";if(se){W.activeThinkingIndex<0&&(W.eventIndex+=1,W.activeThinkingIndex=W.thinkingBlocks.length,W.thinkingBlocks.push({content:"",order:W.eventIndex}));const ae=W.activeThinkingIndex,xe=W.thinkingBlocks[ae];xe&&(xe.content=`${xe.content??""}${se}`)}Ge(W);return}if(p.type==="thinking_end"){const W=Ze();if(!W)return;W.activeTextSegmentIndex=-1;const se=typeof S?.content=="string"?S.content:"";if(se)if(W.activeThinkingIndex<0)W.eventIndex+=1,W.activeThinkingIndex=W.thinkingBlocks.length,W.thinkingBlocks.push({content:se,order:W.eventIndex});else{const ae=W.activeThinkingIndex,xe=W.thinkingBlocks[ae];xe&&(xe.content=se)}W.activeThinkingIndex=-1,Ge(W);return}if(p.type==="message.delta"){const W=Ze();if(!W)return;const se=String(S?.delta??"");if(se)if(W.hasDelta=!0,X==="stream-query"&&(V.streamQueryHasDelta.value=!0),W.activeTextSegmentIndex>=0){const ae=W.textSegments[W.activeTextSegmentIndex];ae&&(ae.content+=se)}else W.eventIndex+=1,W.activeTextSegmentIndex=W.textSegments.length,W.textSegments.push({content:se,order:W.eventIndex});Ge(W);return}if(p.type==="tool.call"){const W=Ze();if(!W)return;W.activeTextSegmentIndex=-1;const se=st(S);if(!se)return;const ae=Ur(S)||"",{args:xe,delta:Ae}=Br(S);W.toolCalls.get(se)||(W.eventIndex+=1,W.toolCalls.set(se,{name:ae,args:Ae?`${Ae}`:xe,order:W.eventIndex}));const Ie=W.toolCalls.get(se);Ie&&(!Ie.name&&ae&&(Ie.name=ae),Ae?Ie.args=`${Ie.args??""}${Ae}`:Ie.args||(Ie.args=xe)),Ge(W);return}if(p.type==="tool.output"){const W=Ze();if(!W)return;W.activeTextSegmentIndex=-1;const ae=(st(S)??"")||"tool",xe=typeof S?.delta=="string"?S.delta:"",Ae=W.toolResults.get(ae);Ae?W.toolResults.set(ae,{name:Ae.name,output:`${Ae.output??""}${xe}`,status:Ae.status??"success",structured:Ae.structured,order:Ae.order}):(W.eventIndex+=1,W.toolResults.set(ae,{name:W.toolCalls.get(ae)?.name,output:xe,status:"success",structured:void 0,order:W.eventIndex})),Ge(W);return}if(p.type==="tool.result"){const W=V.streamRuns.get(B);if(!W)return;W.activeTextSegmentIndex=-1;const se=st(S);if(!se)return;const ae=jr(S?.output),xe=!!(S?.isError??S?.error),Ae=xe?"error":"success",Tt=W.toolCalls.get(se)?.name;if(Ra(Tt,ae,xe))return;const Ie=W.toolResults.get(se||"tool"),Ja=ae||Ie?.output||"";Ie||(W.eventIndex+=1),W.toolResults.set(se||"tool",{name:Tt,output:jr(Ja),status:Ae,structured:S?.structuredContent?JSON.stringify(S.structuredContent):Ie?.structured,order:Ie?.order??W.eventIndex}),Ge(W);return}if(p.type==="run.status"){const W=typeof S?.status=="string"?S.status:"",se=typeof S?.stopReason=="string"?S.stopReason:"";if(W==="started"||W==="running"){Ze();return}if(W==="completed"||W==="done"||W==="error"){const ae=V.streamRuns.get(B);if(Ge(ae,!0),se==="approval_required"){X==="stream-query"&&(V.streamQueryPaused.value=!0);const xe=Be.findAskUserRequiresActionPayload($e,B);if(xe){const Ie=Be.resolveAskUserPayload(xe,B,{events:$e,streamRuns:V.streamRuns});ae&&Sr(ae.messageId),Ie.questions.length&&Xr(Ie.questions,Ie.toolCallId,En(xe)??K??null,B),V.finalizeStreamRun(B,{chatMessages:Re.chatMessages});return}if(Be.askUserRunId.value===B){ae&&Sr(ae.messageId),V.finalizeStreamRun(B,{chatMessages:Re.chatMessages});return}const Ae=X==="stream-query"?Pe.collectPendingApprovalsFromEvents($e,B):Pe.collectPendingApprovalsFromRun(V.streamRuns,B),Tt=Ae[0]?.toolName;ae&&nn(ae.messageId,Tt),pn(Ae,K??null,B)}V.finalizeStreamRun(B,{chatMessages:Re.chatMessages});return}return}if(p.type==="requires_action"){const W=String(S?.kind??S?.action_kind??"");if(W==="ask_user"){X==="stream-query"&&(V.streamQueryPaused.value=!0);const se=Be.resolveAskUserPayload(S,B,{events:$e,streamRuns:V.streamRuns}),ae=V.streamRuns.get(B);ae&&Sr(ae.messageId),se.questions.length&&Xr(se.questions,se.toolCallId,K||null,B);return}if(W==="tool_approval"||W==="tool_approvals"){X==="stream-query"&&(V.streamQueryPaused.value=!0);const se=V.streamRuns.get(B),ae=X==="stream-query"?Pe.collectPendingApprovalsFromEvents($e,B):Pe.collectPendingApprovalsFromRun(V.streamRuns,B),xe=ae[0]?.toolName;se&&nn(se.messageId,xe),pn(ae,K??null,B)}}}return Za(async()=>{typeof window<"u"&&(Ee.value=window.location.origin),me.value=_a(),Xs(),await Promise.all([w(),R(),Ns(),Te.fetchActiveSkills()]),cn(),!ie.value&&$t.value.length>0&&await Kt($t.value[0].id),await ft(),_.value||O(M.value?.cursor),De=p=>{const y=p.target;Hr.value&&!Hr.value.contains(y)&&(vr.value=!1),Jr.value&&!Jr.value.contains(y)&&(Gr.value=!1);const S=sn.value?.approvalsMenuComponent?.menuEl;S&&!S.contains(y)&&(It.value=!1)},window.addEventListener("mousedown",De),ce=p=>{if(!(wa(p)||!(p.metaKey||p.ctrlKey))){if(p.key.toLowerCase()==="b"){p.preventDefault(),ln();return}p.key==="\\"&&(p.preventDefault(),dn())}},window.addEventListener("keydown",ce),Mt=()=>{Cr()},Xe.value?.addEventListener("scroll",Mt,{passive:!0}),Cr()}),Un(()=>{De&&window.removeEventListener("mousedown",De),ce&&window.removeEventListener("keydown",ce),F(),ne(),it(),qr(),Mt&&Xe.value&&Xe.value.removeEventListener("scroll",Mt),Mt=null,ut!=null&&typeof window<"u"&&(window.cancelAnimationFrame(ut),ut=null),qe!=null&&typeof window<"u"&&(window.cancelAnimationFrame(qe),qe=null),Ye!=null&&typeof window<"u"&&(window.cancelAnimationFrame(Ye),Ye=null),je.length=0}),Me(M,p=>{p?.snapshot&&!g.value&&(g.value=p.snapshot)}),Me(t,p=>{n(p)},{immediate:!0}),Me(()=>$t.value.map(p=>String(p?.id??"").trim()).join("|"),()=>{cn()}),Me(()=>ie.value,()=>{ft()}),Me(()=>at.value,()=>{Ar()}),Me([()=>b.value,()=>x.value],([p,y],[S,B])=>{(S&&!p||B&&!y)&&ft()}),Me(l,p=>{const y=p[p.length-1];if(!y)return;const S=y.id||`${y.type}-${y.receivedAt}`;if(V.lastStreamEventId.value===S)return;V.lastStreamEventId.value=S;const B=Zc(y);B&&V.streamQueryRunIds.has(B)||V.useStreamingQuery.value&&x.value&&V.currentStreamMessageId.value&&["run.status","message.delta","thinking_start","thinking_delta","thinking_end","tool.call","tool.output","tool.result","requires_action"].includes(y.type)||hn(y,{source:"events",sourceEvents:p})}),Me(Qr,p=>{p&&Or(()=>Is.value?.focus())}),Me(Dt,p=>{p&&Or(()=>an.value?.dialogEl?.focus())}),Me(()=>Zr.value.length,()=>{ze()}),Me(()=>V.activeStreamRunId.value,()=>{ze()}),Me(x,async(p,y)=>{if(p&&!y){ct.value=0,je.length=0,qe!=null&&typeof window<"u"&&(window.cancelAnimationFrame(qe),qe=null),V.streamQueryHasDelta.value=!1,ze(!0);return}if(p||!y)return;const S=V.currentStreamMessageId.value;if(!S)return;if(V.streamQueryPaused.value){$r(S,$e=>({...$e,meta:void 0})),V.currentStreamMessageId.value=null,ct.value=k.value,je.length=0,it(),ze(!0);return}const B=C.value?.runId;if(B&&typeof B=="string"&&(V.streamQueryRunIds.add(B),V.activeStreamQueryRunId.value||(V.activeStreamQueryRunId.value=B)),f.value){const $e=V.activeStreamQueryRunId.value;$e&&V.finalizeStreamRun($e,{chatMessages:Re.chatMessages}),$r(S,Yt=>({...Yt,parts:[ke(`Error: ${f.value||"Unknown error"}`)],meta:void 0})),V.currentStreamMessageId.value=null,ct.value=k.value,je.length=0,ze(!0);return}!V.streamQueryHasDelta.value&&C.value&&ea(S,C.value);const K=V.activeStreamQueryRunId.value;K&&V.finalizeStreamRun(K,{chatMessages:Re.chatMessages}),$r(S,$e=>({...$e,meta:void 0}));const X=C.value?.sessionId;X&&X!==ie.value&&(ie.value=X),it(),!j.value&&X&&(await R(),await At(void 0,X)),V.currentStreamMessageId.value=null,ct.value=k.value,je.length=0,ze(!0)}),Me(k,p=>{if(!V.useStreamingQuery.value||!V.currentStreamMessageId.value)return;const y=N.value,S=ct.value,B=Math.max(0,p-S);if(!B)return;const K=B>=y.length?y:y.slice(y.length-B);for(const X of K)je.push(X);ct.value=p,ba()}),(p,y)=>(c(),u("div",Yf,[s("main",Zf,[ee(Om,{sessions:q($t),"sessions-loading":q(Se),"sessions-error":q(j),"active-session-id":q(ie),"editing-session-id":q(ia),"rename-draft":q(rn),"session-note":q(Ft),"can-manage-sessions":q(la),"debug-ui":me.value,"command-items":Ss.value,"last-updated-label":xs.value,"session-count-label":ys.value,"active-session-cwd-label":q(ua),"pinned-session-ids":Ce.value,"running-session-ids":Ia.value,"sidebar-collapsed":Ne.value,onToggleSidebar:ln,onRefresh:$a,onCreate:Na,onSelect:Kt,onRename:q(ma),onDelete:q(Ms),onPin:Sa,onUnpin:Ca,"onUpdate:renameDraft":y[0]||(y[0]=S=>{rn.value=S}),onApplyRename:q(pa),onCancelRename:q(fa),onCopyCommand:za,onOpenSkills:y[1]||(y[1]=S=>Pt.value=!0)},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","pinned-session-ids","running-session-ids","sidebar-collapsed","onRename","onDelete","onApplyRename","onCancelRename"]),s("section",ep,[ee(hl,{"active-session-title":q(da),"active-session-summary":q(ca),"chat-header-stats":ws.value,"dark-mode":t.value,onReconnect:xn,onToggleTheme:y[2]||(y[2]=S=>t.value=!t.value)},null,8,["active-session-title","active-session-summary","chat-header-stats","dark-mode"]),s("div",{ref_key:"chatScrollContainer",ref:Xe,class:"flex-1 min-w-0 overflow-x-hidden overflow-y-auto p-6 md:px-20 lg:px-32 xl:px-48 pb-48 md:pb-56"},[ee(uc,{ref_key:"chatMessagesComponent",ref:va,class:"w-full min-w-0",messages:q(Zs),"dark-mode":t.value,"enable-transitions":Gt.value,"pending-approvals":q(lt)?q(Bt):[],"approval-busy":q(br),onApprove:Qa,onReject:Va,onApproveAll:qa},null,8,["messages","dark-mode","enable-transitions","pending-approvals","approval-busy"]),me.value?(c(),xt(Su,{key:0,class:"mt-10","status-loading":q(P),"status-error":q(_),"status-rows":vs.value,capabilities:ks.value,events:l.value,"snapshot-label":hs.value,"snapshot-content":bs.value,onRefresh:Ua,onReconnect:xn,onCapabilities:y[3]||(y[3]=S=>yn("List capabilities")),onCopyOrigin:Ba},null,8,["status-loading","status-error","status-rows","capabilities","events","snapshot-label","snapshot-content"])):U("",!0)],512),ee(dl,{ref_key:"chatComposerComponent",ref:sn,modelValue:Wt.value,"onUpdate:modelValue":y[4]||(y[4]=S=>Wt.value=S),placeholder:q(Os),attachments:q(yr),"uploads-enabled":Wr.value,"images-enabled":ms.value,"attachments-base64":q(Lt),"attachment-note":q(Ls),"composer-menu-open":q(vr),"mode-menu-open":q(Gr),"mode-icon":q(Rs),"mode-label":q(Es),"mode-options":q(_s),"active-mode":q(Ts),"approvals-menu-open":It.value,"tool-approvals-mode":q(St),"use-streaming-query":q(V).useStreamingQuery.value,"debug-ui":me.value,"send-label":Ma.value,"send-disabled":Ta.value,"send-is-stop":Ht.value,"query-error":q(h),"stream-query-error":q(f),"active-skill-names":q(Te).activeSkillNames.value,onOpenSkills:y[5]||(y[5]=S=>Pt.value=!0),"onUpdate:attachmentsBase64":y[6]||(y[6]=S=>{Lt.value=S}),"onUpdate:useStreamingQuery":y[7]||(y[7]=S=>{q(V).useStreamingQuery.value=S}),onDrop:q(Bs),onPaste:q(Us),onCompositionstart:ja,onCompositionend:La,onEnter:Pa,onRemoveAttachment:q(Ds),onToggleComposerMenu:q(Fs),onToggleModeMenu:q(js),onToggleApprovalsMenu:Da,onSetApprovals:Ea,onAddFile:y[8]||(y[8]=S=>vr.value=!1),onQuickAction:yn,onSelectMode:y[9]||(y[9]=S=>{q(Ps)(S)}),onSend:gn,onStop:fn,onFilePick:q(zs)},null,8,["modelValue","placeholder","attachments","uploads-enabled","images-enabled","attachments-base64","attachment-note","composer-menu-open","mode-menu-open","mode-icon","mode-label","mode-options","active-mode","approvals-menu-open","tool-approvals-mode","use-streaming-query","debug-ui","send-label","send-disabled","send-is-stop","query-error","stream-query-error","active-skill-names","onDrop","onPaste","onRemoveAttachment","onToggleComposerMenu","onToggleModeMenu","onFilePick"])]),ee(Kc,{open:pe.value,"panel-width":_e.value,"is-dark":t.value,loading:cr.value,error:ur.value,cwd:zr.value,branch:Fr.value,"active-tab":at.value,"unstaged-files":bt.value,"staged-files":kt.value,"selected-path":ot.value,"selected-staged":mr.value,"diff-patch":wt.value,"diff-loading":fr.value,"diff-error":Nt.value,onToggleOpen:dn,"onUpdate:panelWidth":ka,onRefresh:ft,"onUpdate:activeTab":Aa,onSelectFile:un},null,8,["open","panel-width","is-dark","loading","error","cwd","branch","active-tab","unstaged-files","staged-files","selected-path","selected-staged","diff-patch","diff-loading","diff-error"])]),ee(Mf,{visible:q(As),message:q(Cs),kind:q($s),onClose:q(qr)},null,8,["visible","message","kind","onClose"]),ee(ko,{ref_key:"askUserDialogComponent",ref:an,open:q(Dt),questions:q(Vs),selections:q(Gs),"other-inputs":q(Kr),"other-label":q(Qs),busy:q(hr),"is-selected":q(Js),onCancel:Wa,onSubmit:Fa,onOptionChange:q(Hs),"onUpdate:otherInputs":y[10]||(y[10]=S=>{Kr.value=S})},null,8,["open","questions","selections","other-inputs","other-label","busy","is-selected","onOptionChange"]),ee(Ru,{open:q(Qr),target:q(xr),busy:q(jt),onClose:q(Vr),onConfirm:Oa},null,8,["open","target","busy","onClose"]),ee(Af,{open:Pt.value,skills:q(Te).skills.value,loading:q(Te).loading.value,"detail-loading":q(Te).detailLoading.value,error:q(Te).error.value,"selected-skill":q(Te).selectedSkill.value,"active-skill-names":q(Te).activeSkillSet.value,onClose:y[11]||(y[11]=S=>Pt.value=!1),onFetchSkills:y[12]||(y[12]=S=>q(Te).fetchSkills()),onFetchDetail:y[13]||(y[13]=S=>q(Te).fetchSkillDetail(S)),onCreateSkill:y[14]||(y[14]=(S,B,K)=>q(Te).createSkill(S,B,K)),onUpdateSkill:y[15]||(y[15]=(S,B,K)=>q(Te).updateSkill(S,B,K)),onDeleteSkill:y[16]||(y[16]=S=>q(Te).deleteSkill(S)),onToggleActivation:y[17]||(y[17]=S=>q(Te).toggleSkillActivation(S))},null,8,["open","skills","loading","detail-loading","error","selected-skill","active-skill-names"])]))}});export{sp as default};