dimcode 0.0.6-beta.12 → 0.0.6-beta.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 (82) hide show
  1. package/assets/gui/200.html +1 -1
  2. package/assets/gui/404.html +1 -1
  3. package/assets/gui/_nuxt/{vp7V_yoz.js → B1-PJYWH.js} +1 -1
  4. package/assets/gui/_nuxt/{B7HD8AVl.js → B45VLnWj.js} +1 -1
  5. package/assets/gui/_nuxt/{8aOojt4c.js → B5FXSUaH.js} +1 -1
  6. package/assets/gui/_nuxt/{DnQfmNyQ.js → B8Q-DreI.js} +1 -1
  7. package/assets/gui/_nuxt/{p_ICMfZU.js → BGGDiT67.js} +1 -1
  8. package/assets/gui/_nuxt/{DxluJqXT.js → BHTMZHSU.js} +1 -1
  9. package/assets/gui/_nuxt/{D4dMqe9s.js → BNUt2BvU.js} +1 -1
  10. package/assets/gui/_nuxt/{Dj1xw3tM.js → BSycTytT.js} +1 -1
  11. package/assets/gui/_nuxt/{CVP1z2kv.js → BW7XEYaa.js} +1 -1
  12. package/assets/gui/_nuxt/{CAme3Fxh.js → Bfj_mN6E.js} +1 -1
  13. package/assets/gui/_nuxt/{KIJvCToJ.js → Bip_u-4G.js} +1 -1
  14. package/assets/gui/_nuxt/BjnVA5ld.js +1 -0
  15. package/assets/gui/_nuxt/{Bgjyjj_Q.js → BoWMK5wq.js} +1 -1
  16. package/assets/gui/_nuxt/Bp8rDhST.js +1 -0
  17. package/assets/gui/_nuxt/{gBBiMBPJ.js → Br6oVHoE.js} +3 -3
  18. package/assets/gui/_nuxt/{BM2h07xU.js → Bs7Gutnx.js} +1 -1
  19. package/assets/gui/_nuxt/{D_wE_VQF.js → Bt5qFGQZ.js} +1 -1
  20. package/assets/gui/_nuxt/{CxE7cVCo.js → Btu8KrP7.js} +1 -1
  21. package/assets/gui/_nuxt/{DFS1qZ1O.js → BvNUcNrD.js} +2 -2
  22. package/assets/gui/_nuxt/{BPVjZi5d.js → BxFaOjBs.js} +1 -1
  23. package/assets/gui/_nuxt/C3xSkDls.js +15 -0
  24. package/assets/gui/_nuxt/C7_OZRS0.js +1 -0
  25. package/assets/gui/_nuxt/{wJQJMAkQ.js → CC3G6jyE.js} +1 -1
  26. package/assets/gui/_nuxt/{BqEoqvC-.js → CJ7-Mf84.js} +1 -1
  27. package/assets/gui/_nuxt/{CpnBu6h_.js → CMOpjdPV.js} +1 -1
  28. package/assets/gui/_nuxt/{Dq1qE73E.js → CS7inUdO.js} +1 -1
  29. package/assets/gui/_nuxt/{D9MU2mrz.js → CUe0quIq.js} +1 -1
  30. package/assets/gui/_nuxt/{BPztHYF7.js → CWFL75Vj.js} +1 -1
  31. package/assets/gui/_nuxt/{CAuva6j7.js → CZ2S79GP.js} +1 -1
  32. package/assets/gui/_nuxt/{Be50z1my.js → CjvcAzGt.js} +1 -1
  33. package/assets/gui/_nuxt/{CUqTiK5D.js → Cnj9yY3A.js} +1 -1
  34. package/assets/gui/_nuxt/{BAc2FnCt.js → CtCaJz7N.js} +1 -1
  35. package/assets/gui/_nuxt/{uMdp84a3.js → CwjAQDXm.js} +1 -1
  36. package/assets/gui/_nuxt/{CUkJduai.js → D-2RxthJ.js} +1 -1
  37. package/assets/gui/_nuxt/{CQ2d2Y8u.js → D55D-gSq.js} +2 -2
  38. package/assets/gui/_nuxt/{BhmAmx9l.js → D5mZhIOc.js} +69 -69
  39. package/assets/gui/_nuxt/{CfcSxu_H.js → D8IUtoH8.js} +1 -1
  40. package/assets/gui/_nuxt/DAV6AwhM.js +1 -0
  41. package/assets/gui/_nuxt/{ORwv0lZH.js → DHZk-SFG.js} +2 -2
  42. package/assets/gui/_nuxt/DKD3OJCW.js +1 -0
  43. package/assets/gui/_nuxt/{D9DbHqny.js → DQhFQpbT.js} +1 -1
  44. package/assets/gui/_nuxt/{BeK8_ssh.js → DQp5YEVQ.js} +1 -1
  45. package/assets/gui/_nuxt/{C_agIDCF.js → DWWz4ndF.js} +1 -1
  46. package/assets/gui/_nuxt/{Ls_DMybU.js → D_tP9lCL.js} +1 -1
  47. package/assets/gui/_nuxt/{C7y8YcFo.js → DqPo_RUe.js} +3 -3
  48. package/assets/gui/_nuxt/Dsaurf6B.js +4 -0
  49. package/assets/gui/_nuxt/DtUiEJUF.js +1 -0
  50. package/assets/gui/_nuxt/{CJlKAu71.js → DvsG7qqb.js} +1 -1
  51. package/assets/gui/_nuxt/{DpZYRxI5.js → E7Ix3tcC.js} +37 -37
  52. package/assets/gui/_nuxt/{CnD4h6yP.js → Rl4On6n0.js} +2 -2
  53. package/assets/gui/_nuxt/{DhXJpUyf.js → XbL3y5x-.js} +1 -1
  54. package/assets/gui/_nuxt/builds/latest.json +1 -1
  55. package/assets/gui/_nuxt/builds/meta/a2e13936-b4de-41a5-b95a-4af89fcab88a.json +1 -0
  56. package/assets/gui/_nuxt/{Dow1_wBM.js → ddcTOw__.js} +1 -1
  57. package/assets/gui/_nuxt/entry.DIMbkOYy.css +1 -0
  58. package/assets/gui/_nuxt/error-404.DF6r4GP7.css +1 -0
  59. package/assets/gui/_nuxt/error-500.Bo5pzFPU.css +1 -0
  60. package/assets/gui/_nuxt/{BInTq0GU.js → fKF2Z4TD.js} +1 -1
  61. package/assets/gui/_nuxt/{CMWA289k.js → grRL7Kp3.js} +4 -4
  62. package/assets/gui/_nuxt/{Cg8xUD7v.js → gtxKAzOr.js} +1 -1
  63. package/assets/gui/_nuxt/{0OuYuFdd.js → kTUG9xEK.js} +1 -1
  64. package/assets/gui/_nuxt/{CrbZGhCE.js → tOohp15w.js} +1 -1
  65. package/assets/gui/index.html +1 -1
  66. package/assets/native/build.zig +16 -0
  67. package/assets/native/src/lib.zig +23 -0
  68. package/dist/cli.mjs +954 -952
  69. package/dist/models/aihubmix.json +19523 -0
  70. package/package.json +2 -2
  71. package/assets/gui/_nuxt/BHYi2vsY.js +0 -1
  72. package/assets/gui/_nuxt/BZDo2VM_.js +0 -1
  73. package/assets/gui/_nuxt/BfJMBsjM.js +0 -4
  74. package/assets/gui/_nuxt/ClSDL2YO.js +0 -1
  75. package/assets/gui/_nuxt/DFavkkde.js +0 -15
  76. package/assets/gui/_nuxt/DuCT_U5Q.js +0 -1
  77. package/assets/gui/_nuxt/P3nlUD3z.js +0 -1
  78. package/assets/gui/_nuxt/builds/meta/cecb4fd8-68ea-430e-beb5-870957f3d8cf.json +0 -1
  79. package/assets/gui/_nuxt/entry.Co3CW4ar.css +0 -1
  80. package/assets/gui/_nuxt/error-404.BAwq3L4-.css +0 -1
  81. package/assets/gui/_nuxt/error-500.DFXMopWe.css +0 -1
  82. package/assets/gui/_nuxt/vJah6lOS.js +0 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dimcode",
3
3
  "type": "module",
4
- "version": "0.0.6-beta.12",
4
+ "version": "0.0.6-beta.13",
5
5
  "description": "Dim Code CLI built on dreams",
6
6
  "exports": {
7
7
  ".": {
@@ -27,7 +27,7 @@
27
27
  ],
28
28
  "scripts": {
29
29
  "build": "bun run build.mjs",
30
- "build:npm": "bun run scripts/build-gui-assets.mjs && tsdown",
30
+ "build:npm": "bun run scripts/build-gui-assets.mjs && tsdown && bun run scripts/copy-provider-models.mjs",
31
31
  "build:binary": "bun run build.mjs --binary",
32
32
  "build:binary:macos": "bun run build.mjs --binary --target=bun-darwin-arm64",
33
33
  "build:binary:macos-x64": "bun run build.mjs --binary --target=bun-darwin-x64",
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./CxE7cVCo.js";import{_ as i}from"./BhmAmx9l.js";import"./Dj1xw3tM.js";import"./CfcSxu_H.js";import"./DnQfmNyQ.js";import"./DpZYRxI5.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1 +0,0 @@
1
- import{b as r}from"./DxluJqXT.js";var e=4;function a(o){return r(o,e)}export{a as c};
@@ -1,4 +0,0 @@
1
- import{e as $t,d as At,A as Ft,c as Ht,w as V,f as Rt,o as Nt,C as Xt,g,j as w,z as y,r as Je,l as r,D as h,F as xe,p as Q,H as xt,k as _t,v as Yt,S as kt,U as bt,m as Vt,y as Zt,n as qt,O as Ut,T as It,P as Wt,q as d,J as ee,L as Mt,M as Gt,R as A,V as Kt,W as Jt,X as Qt}from"./DpZYRxI5.js";import{e as el}from"./DvJDa2y1.js";var tl=Object.defineProperty,ll=Object.defineProperties,nl=Object.getOwnPropertyDescriptors,Tt=Object.getOwnPropertySymbols,rl=Object.prototype.hasOwnProperty,ol=Object.prototype.propertyIsEnumerable,Ct=($,P,M)=>P in $?tl($,P,{enumerable:!0,configurable:!0,writable:!0,value:M}):$[P]=M,Qe=($,P)=>{for(var M in P||(P={}))rl.call(P,M)&&Ct($,M,P[M]);if(Tt)for(var M of Tt(P))ol.call(P,M)&&Ct($,M,P[M]);return $},D=($,P,M)=>new Promise((ke,o)=>{var ne=F=>{try{j(M.next(F))}catch(re){o(re)}},be=F=>{try{j(M.throw(F))}catch(re){o(re)}},j=F=>F.done?ke(F.value):Promise.resolve(F.value).then(ne,be);j((M=M.apply($,P)).next())});const al={key:0},il={key:1,class:"flex items-center gap-x-2 overflow-hidden"},ul=["src"],sl={key:2},cl={class:"flex items-center gap-x-1"},dl={class:"flex items-center gap-x-1"},vl={key:4},ml={key:5,class:"flex items-center gap-x-1"},fl=["aria-pressed"],hl={key:0,xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":"true",role:"img",width:"1em",height:"1em",viewBox:"0 0 24 24",class:"w-3 h-3"},gl={key:1,xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":"true",role:"img",width:"1em",height:"1em",viewBox:"0 0 24 24",class:"w-3 h-3"},pl=["disabled"],wl=["disabled"],yl={key:0,xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":"true",role:"img",width:"0.75rem",height:"0.75rem",viewBox:"0 0 24 24"},xl={key:1,xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":"true",role:"img",width:"0.75rem",height:"0.75rem",viewBox:"0 0 24 24"},kl={key:1,class:"relative"},bl={key:0,class:"absolute top-2 right-2 z-10 rounded-lg"},Ml={class:"flex items-center gap-2 backdrop-blur rounded-lg"},Tl={class:"markstream-vue"},Cl={class:"absolute top-6 right-6 z-50 flex items-center gap-2"},et=$t(At({__name:"MermaidBlockNode",props:{node:{},maxHeight:{default:"500px"},loading:{type:Boolean,default:!0},isDark:{type:Boolean},workerTimeoutMs:{default:1400},parseTimeoutMs:{default:1800},renderTimeoutMs:{default:2500},fullRenderTimeoutMs:{default:4e3},showHeader:{type:Boolean,default:!0},showModeToggle:{type:Boolean,default:!0},showCopyButton:{type:Boolean,default:!0},showExportButton:{type:Boolean,default:!0},showFullscreenButton:{type:Boolean,default:!0},showCollapseButton:{type:Boolean,default:!0},showZoomControls:{type:Boolean,default:!0},enableWheelZoom:{type:Boolean,default:!1},isStrict:{type:Boolean,default:!1}},emits:["copy","export","openModal","toggleMode"],setup($,{emit:P}){var M,ke;const o=$,ne=P,be={USE_PROFILES:{svg:!0},FORBID_TAGS:["script"],FORBID_ATTR:[/^on/i],ADD_TAGS:["style"],ADD_ATTR:["style"],SAFE_FOR_TEMPLATES:!0},j=d(!1),F=ee(()=>o.isStrict?"strict":"loose"),re=ee(()=>({startOnLoad:!1,securityLevel:F.value,dompurifyConfig:F.value==="strict"?be:void 0,flowchart:F.value==="strict"?{htmlLabels:!1}:void 0})),Dt=[/javascript:/i,/expression\s*\(/i,/url\s*\(\s*javascript:/i,/@import/i],Bt=/^(?:https?:|mailto:|tel:|#|\/|data:image\/(?:png|gif|jpe?g|webp);)/i;function St(t){if(!t)return"";const e=t.trim();return Bt.test(e)?e:""}function Me(t){if(t)try{t.replaceChildren()}catch{t.innerHTML=""}}function oe(t,e){if(!t)return"";if(F.value==="strict")return(function(l,n){if(!l)return"";try{l.replaceChildren()}catch{l.innerHTML=""}const c=(function(a){if(typeof window>"u"||typeof DOMParser>"u"||!a)return null;const s=a.replace(/["']\s*javascript:/gi,"#").replace(/\bjavascript:/gi,"#").replace(/["']\s*vbscript:/gi,"#").replace(/\bvbscript:/gi,"#").replace(/\bdata:text\/html/gi,"#"),i=new DOMParser().parseFromString(s,"image/svg+xml").documentElement;if(!i||i.nodeName.toLowerCase()!=="svg")return null;const m=i;return(function(v){const p=new Set(["script"]),L=[v,...Array.from(v.querySelectorAll("*"))];for(const C of L){if(p.has(C.tagName.toLowerCase())){C.remove();continue}const Y=Array.from(C.attributes);for(const N of Y){const b=N.name;if(/^on/i.test(b))C.removeAttribute(b);else{if(b==="style"&&N.value){const k=N.value;if(Dt.some(Ye=>Ye.test(k))){C.removeAttribute(b);continue}}if((b==="href"||b==="xlink:href")&&N.value){const k=St(N.value);if(!k){C.removeAttribute(b);continue}k!==N.value&&C.setAttribute(b,k)}}}}})(m),m})(n);return c?(l.appendChild(c),l.innerHTML):""})(t,e);try{t.replaceChildren()}catch{t.innerHTML=""}if(e)try{t.insertAdjacentHTML("afterbegin",e)}catch{t.innerHTML=e}return t.innerHTML}const{t:f}=Ft();function Te(){return D(this,null,function*(){try{const t=yield Qt();return j.value=!!t,t}catch(t){throw j.value=!1,t}})}typeof window<"u"&&D(null,null,function*(){var t;try{const e=yield Te();if(!e)return;(t=e?.initialize)==null||t.call(e,Qe({},re.value))}catch(e){j.value=!1,console.warn("[markstream-vue] Failed to initialize mermaid renderer. Call enableMermaid() to configure a loader.",e)}});const Ce=d(!1),Z=d(!1),q=d(),u=d(),ae=d(),De=d(null),Et=Ht(),me=d(null),ie=d(typeof window>"u"),tt=d(),R=ee(()=>o.node.code.replace(/\]::([^:])/g,"]:::$1").replace(/:::subgraphNode$/gm,"::subgraphNode")),x=d(1),O=d(0),z=d(0),Be=d(!1),Se=d({x:0,y:0}),S=d(!1),Ee=d(!1),W=d(!1),Pe=d(null),je=d(0),Ve=d(!1);let fe=null,he=null,ge=0;const lt=(M=globalThis.requestIdleCallback)!=null?M:(t,e)=>setTimeout(()=>t({didTimeout:!0}),16),ue=(function(){let t=null;return(...e)=>{t&&clearTimeout(t),t=setTimeout(()=>(()=>{lt(()=>{wt()},{timeout:500})})(...e),300)}})();function pe(){he!=null&&(globalThis.clearTimeout(he),he=null)}function nt(t=600){if(typeof globalThis>"u")return;const e=Math.max(0,t);pe(),he=globalThis.setTimeout(()=>{he=null,o.loading||W.value||!ie.value?nt(Math.min(1200,Math.max(300,1.2*e))):ue()},e)}const G=d("360px");let se=null;const B=d(!1),te=d(!1),K=d({}),rt=d(null),we=d(""),Ze=d(0);let H=null;const U=d(!1),le=d({zoom:1,translateX:0,translateY:0,containerHeight:"360px"}),ot=ee(()=>o.enableWheelZoom?{wheel:jt}:{}),I=ee(()=>{var t,e,l,n;return{worker:(t=o.workerTimeoutMs)!=null?t:1400,parse:(e=o.parseTimeoutMs)!=null?e:1800,render:(l=o.renderTimeoutMs)!=null?l:2500,fullRender:(n=o.fullRenderTimeoutMs)!=null?n:4e3}}),Pt=(ke=globalThis.cancelIdleCallback)!=null?ke:t=>clearTimeout(t);let ce=null,Oe=null,de=!1,ye=800,X=null,ze=0,qe=!0,Le=0;function $e(t,e){const l=e?.timeoutMs,n=e?.signal;if(n?.aborted)return Promise.reject(new DOMException("Aborted","AbortError"));let c=null,a=!1,s=null;return new Promise((i,m)=>{const v=()=>{c!=null&&clearTimeout(c),s&&n&&n.removeEventListener("abort",s)};l&&l>0&&(c=globalThis.setTimeout(()=>{a||(a=!0,v(),m(new Error("Operation timed out")))},l)),n&&(s=()=>{a||(a=!0,v(),m(new DOMException("Aborted","AbortError")))},n.addEventListener("abort",s)),t().then(p=>{a||(a=!0,v(),i(p))}).catch(p=>{a||(a=!0,v(),m(p))})})}function at(t){if(typeof document>"u"||!u.value)return;const e=document.createElement("div");e.className="text-red-500 p-4",e.textContent="Failed to render diagram: ";const l=document.createElement("span");l.textContent=t instanceof Error?t.message:"Unknown error",e.appendChild(l),Me(u.value),u.value.appendChild(e),G.value="360px",U.value=!0,_()}function it(t){return!t||t.disabled}function E(t,e,l="top"){if(it(t.currentTarget))return;const n=t,c=n?.clientX!=null&&n?.clientY!=null?{x:n.clientX,y:n.clientY}:void 0;Mt(t.currentTarget,e,l,!1,c,o.isDark)}function T(){Gt()}function ut(t){if(it(t.currentTarget))return;const e=Ce.value?f("common.copied")||"Copied":f("common.copy")||"Copy",l=t,n=l?.clientX!=null&&l?.clientY!=null?{x:l.clientX,y:l.clientY}:void 0;Mt(t.currentTarget,e,"top",!1,n,o.isDark)}function st(t,e){const l=`%%{init: {"theme": "${e==="dark"?"dark":"default"}"}}%%
2
- `;return t.trimStart().startsWith("%%{")?t:l+t}function ct(){return qe&&!S.value&&!B.value&&!U.value}function dt(t){const e=t.split(/\r?\n/);for(;e.length>0;){const l=e[e.length-1].trimEnd();if(l!==""){if(!(/^[-=~>|<\s]+$/.test(l.trim())||/(?:--|==|~~|->|<-|-\||-\)|-x|o-|\|-|\.-)\s*$/.test(l)||/[-|><]$/.test(l)||/(?:graph|flowchart|sequenceDiagram|classDiagram|stateDiagram|erDiagram|gantt)\s*$/i.test(l)))break;e.pop()}else e.pop()}return e.join(`
3
- `)}function Ae(t,e,l){return D(this,null,function*(){var n;try{return yield Jt(t,e,(n=l?.timeoutMs)!=null?n:I.value.worker)}catch{return yield(function(a,s,i){return D(this,null,function*(){var m,v;const p=yield Te();if(!p)return;const L=p,C=st(a,s);if(typeof L.parse=="function")return yield $e(()=>L.parse(C),{timeoutMs:(m=i?.timeoutMs)!=null?m:I.value.parse,signal:i?.signal}),!0;const Y=`mermaid-parse-${Math.random().toString(36).slice(2,9)}`;return yield $e(()=>p.render(Y,C),{timeoutMs:(v=i?.timeoutMs)!=null?v:I.value.render,signal:i?.signal}),!0})})(t,e,l)}})}typeof window<"u"&&V(()=>q.value,t=>{var e;if((e=me.value)==null||e.destroy(),me.value=null,!t)return void(ie.value=!1);const l=Et(t,{rootMargin:"400px"});me.value=l,ie.value=l.isVisible.value,l.whenVisible.then(()=>{ie.value=!0})},{immediate:!0}),Rt(()=>{var t;(t=me.value)==null||t.destroy(),me.value=null});const Fe=ee(()=>S.value||W.value||Z.value);function Ue(t){if(!q.value||!u.value)return;const e=u.value.querySelector("svg");if(!e)return;let l=0,n=0;const c=e.getAttribute("viewBox"),a=e.getAttribute("width"),s=e.getAttribute("height");if(c){const i=c.split(" ");i.length===4&&(l=Number.parseFloat(i[2]),n=Number.parseFloat(i[3]))}if(l&&n||a&&s&&(l=Number.parseFloat(a),n=Number.parseFloat(s)),Number.isNaN(l)||Number.isNaN(n)||l<=0||n<=0)try{const i=e.getBBox();i&&i.width>0&&i.height>0&&(l=i.width,n=i.height)}catch(i){return void console.error("Failed to get SVG BBox:",i)}if(l>0&&n>0){const i=n/l;let m=(t??q.value.clientWidth)*i;m>n&&(m=n),G.value=`${m}px`}}const J=d(!1),Ie=ee(()=>({transform:`translate(${O.value}px, ${z.value}px) scale(${x.value})`}));function vt(t){t.key==="Escape"&&J.value&&We()}function We(){if(J.value=!1,ae.value&&Me(ae.value),De.value=null,typeof document<"u")try{document.body.style.overflow=""}catch{}if(typeof window<"u")try{window.removeEventListener("keydown",vt)}catch{}}function mt(){x.value<3&&(x.value+=.1)}function ft(){x.value>.5&&(x.value-=.1)}function ht(){x.value=1,O.value=0,z.value=0}function He(t){Be.value=!0,t instanceof MouseEvent?Se.value={x:t.clientX-O.value,y:t.clientY-z.value}:Se.value={x:t.touches[0].clientX-O.value,y:t.touches[0].clientY-z.value}}function Re(t){if(!Be.value)return;let e,l;t instanceof MouseEvent?(e=t.clientX,l=t.clientY):(e=t.touches[0].clientX,l=t.touches[0].clientY),O.value=e-Se.value.x,z.value=l-Se.value.y}function ve(){Be.value=!1}function jt(t){if(o.enableWheelZoom&&(t.ctrlKey||t.metaKey)){if(t.preventDefault(),!q.value)return;const e=q.value.getBoundingClientRect(),l=t.clientX-e.left,n=t.clientY-e.top,c=l-e.width/2,a=n-e.height/2,s=(c-O.value)/x.value,i=(a-z.value)/x.value,m=.01,v=-t.deltaY*m,p=Math.min(Math.max(x.value+v,.5),3);p!==x.value&&(O.value=c-s*p,z.value=a-i*p,x.value=p)}}function Ot(){return D(this,null,function*(){try{const t=R.value,e={payload:{type:"copy",text:t},defaultPrevented:!1,preventDefault(){this.defaultPrevented=!0}};if(ne("copy",e),e.defaultPrevented)return;typeof navigator<"u"&&navigator.clipboard&&typeof navigator.clipboard.writeText=="function"&&(yield navigator.clipboard.writeText(t)),Ce.value=!0,setTimeout(()=>{Ce.value=!1},1e3)}catch(t){console.error("Failed to copy:",t)}})}function zt(){var t;const e=(t=u.value)==null?void 0:t.querySelector("svg");if(!e)return void console.error("SVG element not found");const l=new XMLSerializer().serializeToString(e),n={payload:{type:"export"},defaultPrevented:!1,preventDefault(){this.defaultPrevented=!0},svgElement:e,svgString:l};ne("export",n),n.defaultPrevented||(function(c,a=null){D(this,null,function*(){try{const s=a??new XMLSerializer().serializeToString(c),i=new Blob([s],{type:"image/svg+xml;charset=utf-8"}),m=URL.createObjectURL(i);if(typeof document<"u"){const v=document.createElement("a");v.href=m,v.download=`mermaid-diagram-${Date.now()}.svg`;try{document.body.appendChild(v),v.click(),document.body.removeChild(v)}catch{}URL.revokeObjectURL(m)}}catch(s){console.error("Failed to export SVG:",s)}})})(e,l)}function Lt(){var t,e;const l=(e=(t=u.value)==null?void 0:t.querySelector("svg"))!=null?e:null,n=l?new XMLSerializer().serializeToString(l):null,c={payload:{type:"open-modal"},defaultPrevented:!1,preventDefault(){this.defaultPrevented=!0},svgElement:l,svgString:n};ne("openModal",c),c.defaultPrevented||(function(){if(J.value=!0,typeof document<"u")try{document.body.style.overflow="hidden"}catch{}if(typeof window<"u")try{window.addEventListener("keydown",vt)}catch{}A(()=>{if(q.value&&ae.value){const a=q.value.cloneNode(!0);a.classList.add("fullscreen");const s=a.querySelector("[data-mermaid-wrapper]");s&&(De.value=s,s.style.transform=Ie.value.transform),Me(ae.value),ae.value.appendChild(a)}})})()}function gt(t){const e={payload:{type:"toggle-mode",target:t},defaultPrevented:!1,preventDefault(){this.defaultPrevented=!0}};ne("toggleMode",t,e),e.defaultPrevented||pt(t)}function pt(t){return D(this,null,function*(){const e=tt.value;if(!e)return Ee.value=!0,void(S.value=t==="source");const l=e.getBoundingClientRect().height;e.style.height=`${l}px`,e.style.overflow="hidden",Ee.value=!0,S.value=t==="source",yield A();const n=e.scrollHeight;e.style.transition="height 180ms ease",e.offsetHeight,e.style.height=`${n}px`;const c=()=>{e.style.transition="",e.style.height="",e.style.overflow="",e.removeEventListener("transitionend",a)};function a(){c()}e.addEventListener("transitionend",a),setTimeout(()=>c(),220)})}function Ne(){return D(this,null,function*(){return W.value?Pe.value:u.value||(yield A(),u.value)?(W.value=!0,Pe.value=D(null,null,function*(){var t,e,l;u.value&&(u.value.style.opacity="0");try{const n=yield Te();if(!n)return;const c=`mermaid-${Date.now()}-${Math.random().toString(36).substring(2,11)}`;B.value||te.value||(t=n.initialize)==null||t.call(n,(e=Qe({},re.value),l={dompurifyConfig:Qe({},be)},ll(e,nl(l))));const a=(function(m,v=R.value){const p=v,L=`%%{init: {"theme": "${m==="dark"?"dark":"default"}"}}%%
4
- `;return p.trim().startsWith("%%{")?p:L+p})(o.isDark?"dark":"light"),s=yield $e(()=>n.render(c,a),{timeoutMs:I.value.fullRender}),i=s?.svg;if(u.value){const m=oe(u.value,i);B.value||te.value||(Ue(),B.value=!0,le.value={zoom:x.value,translateX:O.value,translateY:z.value,containerHeight:G.value});const v=o.isDark?"dark":"light";m&&(K.value[v]=m),te.value&&(te.value=!1),U.value=!1,ge=0,pe()}}catch(n){const c=(function(s){const i=typeof s=="string"?s:typeof s?.message=="string"?s.message:"";return typeof i=="string"&&/timed out/i.test(i)})(n),a=ge+1;c&&a<=3?(ge=a,nt(Math.min(1200,600*a))):(ge=0,pe(),console.error("Failed to render mermaid diagram:",n),o.loading===!1&&at(n))}finally{yield A(),u.value&&(u.value.style.opacity="1"),W.value=!1,Pe.value=null}}),Pe.value):void console.warn("Mermaid container not ready")})}function wt(){return D(this,null,function*(){var t,e;const l=Date.now(),n=++Ze.value;H&&H.abort(),H=new AbortController;const c=H.signal,a=o.isDark?"dark":"light",s=R.value,i=s.replace(/\s+/g,"");if(!s.trim())return u.value&&Me(u.value),rt.value=null,we.value="",void(U.value=!1);if(i===we.value)return;try{const v=yield(function(L,C,Y){return D(this,null,function*(){var N;try{if(yield Ae(L,C,Y))return{fullOk:!0,prefixOk:!1}}catch(k){if(k?.name==="AbortError")throw k}let b=dt(L);if(b&&b.trim()&&b!==L)try{try{const k=yield Kt(L,C,(N=Y?.timeoutMs)!=null?N:I.value.worker);k&&k.trim()&&(b=k)}catch{}if(yield Ae(b,C,Y))return{fullOk:!1,prefixOk:!0,prefix:b}}catch(k){if(k?.name==="AbortError")throw k}return{fullOk:!1,prefixOk:!1}})})(s,a,{signal:c,timeoutMs:I.value.worker});if(v.fullOk)return yield Ne(),void(Ze.value===n&&(rt.value=(e=(t=u.value)==null?void 0:t.innerHTML)!=null?e:null,we.value=i,U.value=!1));const p=ze&&l<=ze;if(v.prefixOk&&v.prefix&&ct()&&!p)return void(yield(function(L){return D(this,null,function*(){if(ct()&&(u.value||(yield A(),u.value))&&!W.value){W.value=!0;try{const C=yield Te();if(!C)return;const Y=`mermaid-partial-${Date.now()}-${Math.random().toString(36).slice(2,9)}`,N=o.isDark?"dark":"light",b=dt(L),k=st(b&&b.trim()?b:L,N);u.value&&(u.value.style.opacity="0");const Ye=yield $e(()=>C.render(Y,k),{timeoutMs:I.value.render}),yt=Ye?.svg;u.value&&yt&&(oe(u.value,yt),Ue())}catch{}finally{yield A(),u.value&&(u.value.style.opacity="1"),W.value=!1}}})})(v.prefix))}catch(v){if(v?.name==="AbortError")return}if(Ze.value!==n||U.value)return;const m=K.value[a];m&&u.value&&oe(u.value,m)})}function _(){de&&(de=!1,ye=800,qe=!1,X&&(X.abort(),X=null),ce&&(globalThis.clearTimeout(ce),ce=null),Oe&&(Pt(Oe),Oe=null),ze=Date.now())}function Xe(){if(_(),H){try{H.abort()}catch{}H=null}if(X){try{X.abort()}catch{}X=null}pe(),ge=0}function Ge(t=800){de&&(Le>=12?_():(ce&&globalThis.clearTimeout(ce),ce=globalThis.setTimeout(()=>{Oe=lt(()=>D(null,null,function*(){if(!de)return;if(S.value||B.value)return void _();const e=o.isDark?"dark":"light",l=R.value;if(!l.trim())return o.loading===!1?void _():void Ge(ye);if(Le++,Le>12)_();else{X&&X.abort(),X=new AbortController;try{if((yield Ae(l,e,{signal:X.signal,timeoutMs:I.value.worker}))&&(yield Ne(),B.value))return void _()}catch{}ye=Math.min(Math.floor(1.5*ye),4e3),Ge(ye)}}),{timeout:500})},t)))}function Ke(){de||S.value||B.value||(de=!0,ze=0,qe=!0,Le=0,Ge(500))}V(Ie,t=>{J.value&&De.value&&(De.value.style.transform=t.transform)},{immediate:!0}),V(()=>R.value,()=>{B.value=!1,K.value={},ue(),!S.value&&j.value&&Ke(),(function(){if(!S.value||!j.value)return;const t=R.value.length;t!==je.value&&(Ve.value=!0,je.value=t,fe&&clearTimeout(fe),fe=setTimeout(()=>{Ve.value&&S.value&&R.value.trim()&&(Ve.value=!1,pt("preview"))},500))})()}),V(()=>o.isDark,()=>D(null,null,function*(){if(!B.value||U.value)return;const t=o.isDark?"dark":"light",e=K.value[t];if(e)return void(u.value&&oe(u.value,e));const l={zoom:x.value,translateX:O.value,translateY:z.value,containerHeight:G.value},n=x.value!==1||O.value!==0||z.value!==0;te.value=!0,n&&(x.value=1,O.value=0,z.value=0,yield A()),yield Ne(),n&&(yield A(),x.value=l.zoom,O.value=l.translateX,z.value=l.translateY,G.value=l.containerHeight,le.value=l)})),V(()=>S.value,t=>D(null,null,function*(){if(t)_(),B.value&&(le.value={zoom:x.value,translateX:O.value,translateY:z.value,containerHeight:G.value});else{if(U.value)return;const e=o.isDark?"dark":"light";if(B.value&&K.value[e])return yield A(),u.value&&oe(u.value,K.value[e]),x.value=le.value.zoom,O.value=le.value.translateX,z.value=le.value.translateY,void(G.value=le.value.containerHeight);if(yield A(),!j.value)return;yield wt(),Ke()}})),V(()=>o.loading,(t,e)=>D(null,null,function*(){if(e===!0&&t===!1){const l=R.value.trim();if(!l)return Xe();const n=o.isDark?"dark":"light",c=l.replace(/\s+/g,"");if(B.value&&c===we.value)return yield A(),u.value&&!u.value.querySelector("svg")&&K.value[n]&&oe(u.value,K.value[n]),void Xe();try{yield Ae(l,n,{timeoutMs:I.value.worker}),yield Ne(),we.value=c,U.value=!1,Xe()}catch(a){Xe(),at(a)}}})),V(q,t=>{se&&se.disconnect(),!t||B.value||te.value||(se=new ResizeObserver(e=>{e&&e.length>0&&!B.value&&!te.value&&el(()=>{Ue(e[0].contentRect.width)})}),se.observe(t))},{immediate:!0}),Nt(()=>D(null,null,function*(){yield A(),Ee.value||(S.value=!j.value),ie.value&&(ue(),je.value=R.value.length)})),V(()=>j.value,t=>{Ee.value||(S.value=!t)}),V(()=>ie.value,t=>{t&&(B.value||(ue(),je.value=R.value.length),o.loading||B.value||ue())},{immediate:!1}),Xt(()=>{fe&&clearTimeout(fe),se&&se.disconnect(),H&&(H.abort(),H=null),_(),pe()}),V(()=>Z.value,t=>D(null,null,function*(){t?(_(),H&&H.abort()):B.value||(yield A(),ue(),S.value||Ke())}),{immediate:!1});const _e=ee(()=>o.isDark?"mermaid-action-btn p-2 text-xs rounded text-gray-400 hover:bg-gray-700 hover:text-gray-200":"mermaid-action-btn p-2 text-xs rounded text-gray-600 hover:bg-gray-200 hover:text-gray-700");return(t,e)=>(g(),w("div",{class:y(["my-4 rounded-lg border overflow-hidden shadow-sm",[o.isDark?"border-gray-700/30":"border-gray-200",{"is-rendering":o.loading}]])},[o.showHeader?(g(),w("div",{key:0,class:y(["mermaid-block-header flex justify-between items-center px-4 py-2.5 border-b",o.isDark?"bg-gray-800 border-gray-700/30":"bg-gray-50 border-gray-200"])},[t.$slots["header-left"]?(g(),w("div",al,[Je(t.$slots,"header-left",{},void 0,!0)])):(g(),w("div",il,[r("img",{src:h("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20width='16'%20height='16'%3e%3cpath%20fill='none'%20stroke='%23ca9ee6'%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M1.5%202.5c0%206%202.25%205.75%204%207%20.83.67%201.17%202%201%204h3c-.17-2%20.17-3.33%201-4%201.75-1.25%204-1%204-7C12%202.5%2010%203%208%207%206%203%204%202.5%201.5%202.5'%20/%3e%3c/svg%3e"),class:"w-4 h-4 my-0",alt:"Mermaid"},null,8,ul),r("span",{class:y(["text-sm font-medium font-mono truncate",o.isDark?"text-gray-400":"text-gray-600"])},"Mermaid",2)])),t.$slots["header-center"]?(g(),w("div",sl,[Je(t.$slots,"header-center",{},void 0,!0)])):o.showModeToggle&&j.value?(g(),w("div",{key:3,class:y(["flex items-center gap-x-1 rounded-md p-0.5",o.isDark?"bg-gray-700":"bg-gray-100"])},[r("button",{class:y(["px-2.5 py-1 text-xs rounded transition-colors",[S.value?o.isDark?"text-gray-400 hover:text-gray-200":"text-gray-500 hover:text-gray-700":o.isDark?"bg-gray-600 text-gray-200 shadow-sm":"bg-white text-gray-700 shadow-sm"]]),onClick:e[0]||(e[0]=()=>gt("preview")),onMouseenter:e[1]||(e[1]=l=>E(l,h(f)("common.preview")||"Preview")),onFocus:e[2]||(e[2]=l=>E(l,h(f)("common.preview")||"Preview")),onMouseleave:T,onBlur:T},[r("div",cl,[e[21]||(e[21]=r("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":"true",role:"img",width:"1em",height:"1em",viewBox:"0 0 24 24",class:"w-3 h-3"},[r("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[r("path",{d:"M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0"}),r("circle",{cx:"12",cy:"12",r:"3"})])],-1)),r("span",null,xe(h(f)("common.preview")||"Preview"),1)])],34),r("button",{class:y(["px-2.5 py-1 text-xs rounded transition-colors",[S.value?o.isDark?"bg-gray-600 text-gray-200 shadow-sm":"bg-white text-gray-700 shadow-sm":o.isDark?"text-gray-400 hover:text-gray-200":"text-gray-500 hover:text-gray-700"]]),onClick:e[3]||(e[3]=()=>gt("source")),onMouseenter:e[4]||(e[4]=l=>E(l,h(f)("common.source")||"Source")),onFocus:e[5]||(e[5]=l=>E(l,h(f)("common.source")||"Source")),onMouseleave:T,onBlur:T},[r("div",dl,[e[22]||(e[22]=r("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":"true",role:"img",width:"1em",height:"1em",viewBox:"0 0 24 24",class:"w-3 h-3"},[r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m16 18l6-6l-6-6M8 6l-6 6l6 6"})],-1)),r("span",null,xe(h(f)("common.source")||"Source"),1)])],34)],2)):Q("",!0),t.$slots["header-right"]?(g(),w("div",vl,[Je(t.$slots,"header-right",{},void 0,!0)])):(g(),w("div",ml,[o.showCollapseButton?(g(),w("button",{key:0,class:y(_e.value),"aria-pressed":Z.value,onClick:e[6]||(e[6]=l=>Z.value=!Z.value),onMouseenter:e[7]||(e[7]=l=>E(l,Z.value?h(f)("common.expand")||"Expand":h(f)("common.collapse")||"Collapse")),onFocus:e[8]||(e[8]=l=>E(l,Z.value?h(f)("common.expand")||"Expand":h(f)("common.collapse")||"Collapse")),onMouseleave:T,onBlur:T},[(g(),w("svg",{style:xt({rotate:Z.value?"0deg":"90deg"}),xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":"true",role:"img",width:"1em",height:"1em",viewBox:"0 0 24 24",class:"w-3 h-3"},[...e[23]||(e[23]=[r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m9 18l6-6l-6-6"},null,-1)])],4))],42,fl)):Q("",!0),o.showCopyButton?(g(),w("button",{key:1,class:y(_e.value),onClick:Ot,onMouseenter:e[9]||(e[9]=l=>ut(l)),onFocus:e[10]||(e[10]=l=>ut(l)),onMouseleave:T,onBlur:T},[Ce.value?(g(),w("svg",gl,[...e[25]||(e[25]=[r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M20 6L9 17l-5-5"},null,-1)])])):(g(),w("svg",hl,[...e[24]||(e[24]=[r("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[r("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),r("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])]))],34)):Q("",!0),o.showExportButton&&j.value?(g(),w("button",{key:2,class:y(`${_e.value} ${Fe.value?"opacity-50 cursor-not-allowed":""}`),disabled:Fe.value,onClick:zt,onMouseenter:e[11]||(e[11]=l=>E(l,h(f)("common.export")||"Export")),onFocus:e[12]||(e[12]=l=>E(l,h(f)("common.export")||"Export")),onMouseleave:T,onBlur:T},[...e[26]||(e[26]=[r("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":"true",role:"img",width:"1em",height:"1em",viewBox:"0 0 24 24",class:"w-3 h-3"},[r("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[r("path",{d:"M12 15V3m9 12v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),r("path",{d:"m7 10l5 5l5-5"})])],-1)])],42,pl)):Q("",!0),o.showFullscreenButton&&j.value?(g(),w("button",{key:3,class:y(`${_e.value} ${Fe.value?"opacity-50 cursor-not-allowed":""}`),disabled:Fe.value,onClick:Lt,onMouseenter:e[13]||(e[13]=l=>E(l,J.value?h(f)("common.minimize")||"Minimize":h(f)("common.open")||"Open")),onFocus:e[14]||(e[14]=l=>E(l,J.value?h(f)("common.minimize")||"Minimize":h(f)("common.open")||"Open")),onMouseleave:T,onBlur:T},[J.value?(g(),w("svg",xl,[...e[28]||(e[28]=[r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m14 10l7-7m-1 7h-6V4M3 21l7-7m-6 0h6v6"},null,-1)])])):(g(),w("svg",yl,[...e[27]||(e[27]=[r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 3h6v6m0-6l-7 7M3 21l7-7m-1 7H3v-6"},null,-1)])]))],42,wl)):Q("",!0)]))],2)):Q("",!0),_t(r("div",{ref_key:"modeContainerRef",ref:tt},[S.value?(g(),w("div",{key:0,class:y(["p-4",o.isDark?"bg-gray-900":"bg-gray-50"])},[r("pre",{class:y(["text-sm font-mono whitespace-pre-wrap",o.isDark?"text-gray-300":"text-gray-700"])},xe(R.value),3)],2)):(g(),w("div",kl,[o.showZoomControls?(g(),w("div",bl,[r("div",Ml,[r("button",{class:y(["p-2 text-xs rounded transition-colors",[o.isDark?"text-gray-400 hover:bg-gray-700":"text-gray-600 hover:bg-gray-200"]]),onClick:mt,onMouseenter:e[15]||(e[15]=l=>E(l,h(f)("common.zoomIn")||"Zoom in")),onFocus:e[16]||(e[16]=l=>E(l,h(f)("common.zoomIn")||"Zoom in")),onMouseleave:T,onBlur:T},[...e[29]||(e[29]=[r("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":"true",role:"img",width:"1em",height:"1em",viewBox:"0 0 24 24",class:"w-3 h-3"},[r("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[r("circle",{cx:"11",cy:"11",r:"8"}),r("path",{d:"m21 21l-4.35-4.35M11 8v6m-3-3h6"})])],-1)])],34),r("button",{class:y(["p-2 text-xs rounded transition-colors",[o.isDark?"text-gray-400 hover:bg-gray-700":"text-gray-600 hover:bg-gray-200"]]),onClick:ft,onMouseenter:e[17]||(e[17]=l=>E(l,h(f)("common.zoomOut")||"Zoom out")),onFocus:e[18]||(e[18]=l=>E(l,h(f)("common.zoomOut")||"Zoom out")),onMouseleave:T,onBlur:T},[...e[30]||(e[30]=[r("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":"true",role:"img",width:"1em",height:"1em",viewBox:"0 0 24 24",class:"w-3 h-3"},[r("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[r("circle",{cx:"11",cy:"11",r:"8"}),r("path",{d:"m21 21l-4.35-4.35M8 11h6"})])],-1)])],34),r("button",{class:y(["p-2 text-xs rounded transition-colors",[o.isDark?"text-gray-400 hover:bg-gray-700":"text-gray-600 hover:bg-gray-200"]]),onClick:ht,onMouseenter:e[19]||(e[19]=l=>E(l,h(f)("common.resetZoom")||"Reset zoom")),onFocus:e[20]||(e[20]=l=>E(l,h(f)("common.resetZoom")||"Reset zoom")),onMouseleave:T,onBlur:T},xe(Math.round(100*x.value))+"% ",35)])])):Q("",!0),r("div",kt({ref_key:"mermaidContainer",ref:q,class:["min-h-[360px] relative transition-all duration-100 overflow-hidden block",o.isDark?"bg-gray-900":"bg-gray-50"],style:{height:G.value}},bt(ot.value),{onMousedown:He,onMousemove:Re,onMouseup:ve,onMouseleave:ve,onTouchstartPassive:He,onTouchmovePassive:Re,onTouchendPassive:ve}),[r("div",{"data-mermaid-wrapper":"",class:y(["absolute inset-0 cursor-grab",{"cursor-grabbing":Be.value}]),style:xt(Ie.value)},[r("div",{ref_key:"mermaidContent",ref:u,class:"_mermaid w-full text-center flex items-center justify-center min-h-full"},null,512)],6)],16),(g(),Vt(Wt,{to:"body"},[r("div",Tl,[Zt(It,{name:"mermaid-dialog",appear:""},{default:qt(()=>[J.value?(g(),w("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/70 p-4",onClick:Ut(We,["self"])},[r("div",{class:y(["dialog-panel relative w-full h-full max-w-full max-h-full rounded shadow-lg overflow-hidden",o.isDark?"bg-gray-900":"bg-white"])},[r("div",Cl,[r("button",{class:y(["p-2 text-xs rounded transition-colors",[o.isDark?"text-gray-400 hover:bg-gray-700":"text-gray-600 hover:bg-gray-200"]]),onClick:mt},[...e[31]||(e[31]=[r("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":"true",role:"img",width:"1em",height:"1em",viewBox:"0 0 24 24",class:"w-3 h-3"},[r("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[r("circle",{cx:"11",cy:"11",r:"8"}),r("path",{d:"m21 21l-4.35-4.35M11 8v6m-3-3h6"})])],-1)])],2),r("button",{class:y(["p-2 text-xs rounded transition-colors",[o.isDark?"text-gray-400 hover:bg-gray-700":"text-gray-600 hover:bg-gray-200"]]),onClick:ft},[...e[32]||(e[32]=[r("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":"true",role:"img",width:"1em",height:"1em",viewBox:"0 0 24 24",class:"w-3 h-3"},[r("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[r("circle",{cx:"11",cy:"11",r:"8"}),r("path",{d:"m21 21l-4.35-4.35M8 11h6"})])],-1)])],2),r("button",{class:y(["p-2 text-xs rounded transition-colors",[o.isDark?"text-gray-400 hover:bg-gray-700":"text-gray-600 hover:bg-gray-200"]]),onClick:ht},xe(Math.round(100*x.value))+"% ",3),r("button",{class:y(["inline-flex items-center justify-center p-2 rounded transition-colors",[o.isDark?"text-gray-400 hover:bg-gray-700":"text-gray-600 hover:bg-gray-200"]]),onClick:We},[...e[33]||(e[33]=[r("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":"true",role:"img",width:"1em",height:"1em",viewBox:"0 0 24 24",class:"w-3 h-3"},[r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M18 6L6 18M6 6l12 12"})],-1)])],2)]),r("div",kt({ref_key:"modalContent",ref:ae,class:"w-full h-full flex items-center justify-center p-4 overflow-hidden"},bt(ot.value,!0),{onMousedown:He,onMousemove:Re,onMouseup:ve,onMouseleave:ve,onTouchstartPassive:He,onTouchmovePassive:Re,onTouchendPassive:ve}),null,16)],2)])):Q("",!0)]),_:1})])]))]))],512),[[Yt,!Z.value]])],2))}}),[["__scopeId","data-v-2ff46cc8"]]);et.install=$=>{$.component(et.__name,et)};export{et as default};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./CxE7cVCo.js";import{_ as i}from"./BhmAmx9l.js";import"./Dj1xw3tM.js";import"./CfcSxu_H.js";import"./DnQfmNyQ.js";import"./DpZYRxI5.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1,15 +0,0 @@
1
- import{d as ye,g as $,j as R,l as i,F as z,p as H,ah as Je,O as he,q as I,I as Ce,ai as Ie,aj as Os,r as _s,S as Ds,D as O,J as Y,y as oe,n as Ee,ag as $e,a4 as Cn,m as Ns,z as Ve,R as ze,o as $n,f as In,w as Te}from"./DpZYRxI5.js";import{_ as An}from"./DlAUqK2U.js";const Mn={class:"flex items-center justify-between mb-3"},Rn={class:"space-y-3 text-sm text-text-primary-light dark:text-text-primary-dark"},Tn={key:0,class:"rounded-md border border-border-light dark:border-border-dark bg-gray-50 dark:bg-gray-800/50 p-3"},En={class:"flex items-center gap-2 text-xs font-semibold"},Pn={key:0,class:"text-text-secondary-light dark:text-text-secondary-dark"},Un={class:"block text-[10px] text-text-secondary-light dark:text-text-secondary-dark mt-2"},On={class:"mt-2 text-xs whitespace-pre-wrap"},_n={key:1,class:"text-text-secondary-light dark:text-text-secondary-dark"},Dn={key:2,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark"},Nn={class:"mt-4 flex flex-wrap gap-2 justify-end"},jn=["disabled"],Bn=["disabled"],zn=["disabled"],Ln=ye({__name:"ApprovalDialog",props:{open:{type:Boolean},activeApproval:{},approvalCount:{},busy:{type:Boolean},toolApprovalsMode:{}},emits:["reject","approve","approve-all"],setup(e,{expose:t}){const s=I(null);return t({dialogEl:s}),(r,n)=>e.open?($(),R("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/40 backdrop-blur-sm px-4",role:"presentation",onClick:n[6]||(n[6]=o=>r.$emit("reject"))},[i("div",{ref_key:"dialogEl",ref:s,class:"w-full max-w-lg rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark shadow-lg p-5",role:"dialog","aria-modal":"true",tabindex:"0",onClick:n[4]||(n[4]=he(()=>{},["stop"])),onKeydown:n[5]||(n[5]=Je(he(o=>r.$emit("reject"),["stop","prevent"]),["escape"]))},[i("div",Mn,[n[8]||(n[8]=i("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark"}," Tool approval ",-1)),i("button",{class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",type:"button",onClick:n[0]||(n[0]=o=>r.$emit("reject"))},[...n[7]||(n[7]=[i("span",{class:"material-icons-outlined text-base"},"close",-1)])])]),i("div",Rn,[n[9]||(n[9]=i("p",{class:"text-text-secondary-light dark:text-text-secondary-dark"}," Approve the tool call to let the agent continue. ",-1)),e.activeApproval?($(),R("div",Tn,[i("div",En,[i("span",null,z(e.activeApproval.toolName),1),e.approvalCount>1?($(),R("span",Pn," ("+z(e.approvalCount)+" pending) ",1)):H("",!0)]),i("code",Un," Call ID: "+z(e.activeApproval.toolCallId),1),i("pre",On,z(e.activeApproval.args),1)])):($(),R("p",_n,"No pending approvals.")),e.toolApprovalsMode==="all"?($(),R("p",Dn," Auto-approve is enabled. Future tool calls will run without prompts. ")):H("",!0)]),i("div",Nn,[i("button",{class:"text-xs px-3 py-1.5 rounded border border-border-light dark:border-border-dark",type:"button",disabled:e.busy,onClick:n[1]||(n[1]=o=>r.$emit("reject"))}," Reject ",8,jn),i("button",{class:"text-xs px-3 py-1.5 rounded bg-primary text-primary-foreground",type:"button",disabled:e.busy,onClick:n[2]||(n[2]=o=>r.$emit("approve"))}," Approve ",8,Bn),i("button",{class:"text-xs px-3 py-1.5 rounded bg-red-500 text-white",type:"button",disabled:e.busy,onClick:n[3]||(n[3]=o=>r.$emit("approve-all"))}," Approve all ",8,zn)])],544)])):H("",!0)}}),Qn=Object.assign(Ln,{__name:"ApprovalDialog"}),qn={class:"flex items-center justify-between mb-3"},Fn={class:"space-y-4"},Wn={key:0,class:"space-y-4"},Vn={class:"flex items-start gap-2 mb-3"},Gn={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"},Jn={class:"text-sm text-text-primary-light dark:text-text-primary-dark"},Hn={class:"space-y-2"},Kn=["type","name","checked","onChange"],Yn={class:"font-medium"},Xn={class:"text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},Zn={key:0,class:"space-y-2"},eo={class:"flex items-start gap-2 text-xs text-text-primary-light dark:text-text-primary-dark"},to=["type","name","checked","onChange"],so={class:"font-medium"},ro=["value","onInput"],no={key:1,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark"},oo={class:"mt-4 flex justify-end gap-2"},ao=["disabled"],lo=["disabled"],io=ye({__name:"AskUserDialog",props:{open:{type:Boolean},questions:{},selections:{},otherInputs:{},otherLabel:{},busy:{type:Boolean},isSelected:{type:Function}},emits:["cancel","submit","option-change","update:otherInputs"],setup(e,{expose:t}){const s=I(null);return t({dialogEl:s}),(r,n)=>e.open?($(),R("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/40 backdrop-blur-sm px-4",role:"presentation",onClick:n[5]||(n[5]=o=>r.$emit("cancel"))},[i("div",{ref_key:"dialogEl",ref:s,class:"w-full max-w-2xl rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark shadow-lg p-5",role:"dialog","aria-modal":"true",tabindex:"0",onClick:n[3]||(n[3]=he(()=>{},["stop"])),onKeydown:n[4]||(n[4]=Je(he(o=>r.$emit("cancel"),["stop","prevent"]),["escape"]))},[i("div",qn,[n[7]||(n[7]=i("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark"}," Answer questions ",-1)),i("button",{class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",type:"button",onClick:n[0]||(n[0]=o=>r.$emit("cancel"))},[...n[6]||(n[6]=[i("span",{class:"material-icons-outlined text-base"},"close",-1)])])]),i("div",Fn,[n[9]||(n[9]=i("p",{class:"text-xs text-text-secondary-light dark:text-text-secondary-dark"}," Provide answers to let the agent continue. ",-1)),e.questions.length?($(),R("div",Wn,[($(!0),R(Ce,null,Ie(e.questions,(o,l)=>($(),R("div",{key:`ask-${l}`,class:"rounded-md border border-border-light dark:border-border-dark p-3"},[i("div",Vn,[i("span",Gn,z(o.header),1),i("p",Jn,z(o.question),1)]),i("div",Hn,[($(!0),R(Ce,null,Ie(o.options||[],d=>($(),R("label",{key:d.label,class:"flex items-start gap-2 text-xs text-text-primary-light dark:text-text-primary-dark"},[i("input",{type:o.multiSelect?"checkbox":"radio",name:`ask-${l}`,checked:e.isSelected(l,d.label),class:"mt-1 h-3 w-3",onChange:a=>r.$emit("option-change",l,d.label,a)},null,40,Kn),i("div",null,[i("div",Yn,z(d.label),1),i("div",Xn,z(d.description),1)])]))),128)),o.multiSelect?H("",!0):($(),R("div",Zn,[i("label",eo,[i("input",{type:o.multiSelect?"checkbox":"radio",name:`ask-${l}`,checked:e.isSelected(l,e.otherLabel),class:"mt-1 h-3 w-3",onChange:d=>r.$emit("option-change",l,e.otherLabel,d)},null,40,to),i("div",null,[i("div",so,z(e.otherLabel),1),n[8]||(n[8]=i("div",{class:"text-[10px] text-text-secondary-light dark:text-text-secondary-dark"}," Provide a custom answer ",-1))])]),e.isSelected(l,e.otherLabel)?($(),R("input",{key:0,value:e.otherInputs[l]||"",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=>r.$emit("update:otherInputs",{...e.otherInputs,[l]:d.target.value})},null,40,ro)):H("",!0)]))])]))),128))])):($(),R("p",no,"No questions available."))]),i("div",oo,[i("button",{class:"text-xs px-3 py-1.5 rounded border border-border-light dark:border-border-dark",type:"button",disabled:e.busy,onClick:n[1]||(n[1]=o=>r.$emit("cancel"))}," Cancel ",8,ao),i("button",{class:"text-xs px-3 py-1.5 rounded bg-primary text-primary-foreground",type:"button",disabled:e.busy,onClick:n[2]||(n[2]=o=>r.$emit("submit"))}," Submit ",8,lo)])],544)])):H("",!0)}}),co=Object.assign(io,{__name:"AskUserDialog"});function js(e){var t,s,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var n=e.length;for(t=0;t<n;t++)e[t]&&(s=js(e[t]))&&(r&&(r+=" "),r+=s)}else for(s in e)e[s]&&(r&&(r+=" "),r+=s);return r}function Bs(){for(var e,t,s=0,r="",n=arguments.length;s<n;s++)(e=arguments[s])&&(t=js(e))&&(r&&(r+=" "),r+=t);return r}const Ss=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Cs=Bs,uo=(e,t)=>s=>{var r;if(t?.variants==null)return Cs(e,s?.class,s?.className);const{variants:n,defaultVariants:o}=t,l=Object.keys(n).map(u=>{const b=s?.[u],A=o?.[u];if(b===null)return null;const E=Ss(b)||Ss(A);return n[u][E]}),d=s&&Object.entries(s).reduce((u,b)=>{let[A,E]=b;return E===void 0||(u[A]=E),u},{}),a=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((u,b)=>{let{class:A,className:E,...T}=b;return Object.entries(T).every(P=>{let[C,g]=P;return Array.isArray(g)?g.includes({...o,...d}[C]):{...o,...d}[C]===g})?[...u,A,E]:u},[]);return Cs(e,l,a,s?.class,s?.className)},mo=(e,t)=>{const s=new Array(e.length+t.length);for(let r=0;r<e.length;r++)s[r]=e[r];for(let r=0;r<t.length;r++)s[e.length+r]=t[r];return s},fo=(e,t)=>({classGroupId:e,validator:t}),zs=(e=new Map,t=null,s)=>({nextPart:e,validators:t,classGroupId:s}),_t="-",$s=[],po="arbitrary..",go=e=>{const t=ho(e),{conflictingClassGroups:s,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:l=>{if(l.startsWith("[")&&l.endsWith("]"))return vo(l);const d=l.split(_t),a=d[0]===""&&d.length>1?1:0;return Ls(d,a,t)},getConflictingClassGroupIds:(l,d)=>{if(d){const a=r[l],u=s[l];return a?u?mo(u,a):a:u||$s}return s[l]||$s}}},Ls=(e,t,s)=>{if(e.length-t===0)return s.classGroupId;const n=e[t],o=s.nextPart.get(n);if(o){const u=Ls(e,t+1,o);if(u)return u}const l=s.validators;if(l===null)return;const d=t===0?e.join(_t):e.slice(t).join(_t),a=l.length;for(let u=0;u<a;u++){const b=l[u];if(b.validator(d))return b.classGroupId}},vo=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),s=t.indexOf(":"),r=t.slice(0,s);return r?po+r:void 0})(),ho=e=>{const{theme:t,classGroups:s}=e;return yo(s,t)},yo=(e,t)=>{const s=zs();for(const r in e){const n=e[r];ss(n,s,r,t)}return s},ss=(e,t,s,r)=>{const n=e.length;for(let o=0;o<n;o++){const l=e[o];bo(l,t,s,r)}},bo=(e,t,s,r)=>{if(typeof e=="string"){xo(e,t,s);return}if(typeof e=="function"){ko(e,t,s,r);return}wo(e,t,s,r)},xo=(e,t,s)=>{const r=e===""?t:Qs(t,e);r.classGroupId=s},ko=(e,t,s,r)=>{if(So(e)){ss(e(r),t,s,r);return}t.validators===null&&(t.validators=[]),t.validators.push(fo(s,e))},wo=(e,t,s,r)=>{const n=Object.entries(e),o=n.length;for(let l=0;l<o;l++){const[d,a]=n[l];ss(a,Qs(t,d),s,r)}},Qs=(e,t)=>{let s=e;const r=t.split(_t),n=r.length;for(let o=0;o<n;o++){const l=r[o];let d=s.nextPart.get(l);d||(d=zs(),s.nextPart.set(l,d)),s=d}return s},So=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Co=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,s=Object.create(null),r=Object.create(null);const n=(o,l)=>{s[o]=l,t++,t>e&&(t=0,r=s,s=Object.create(null))};return{get(o){let l=s[o];if(l!==void 0)return l;if((l=r[o])!==void 0)return n(o,l),l},set(o,l){o in s?s[o]=l:n(o,l)}}},Zt="!",Is=":",$o=[],As=(e,t,s,r,n)=>({modifiers:e,hasImportantModifier:t,baseClassName:s,maybePostfixModifierPosition:r,isExternal:n}),Io=e=>{const{prefix:t,experimentalParseClassName:s}=e;let r=n=>{const o=[];let l=0,d=0,a=0,u;const b=n.length;for(let C=0;C<b;C++){const g=n[C];if(l===0&&d===0){if(g===Is){o.push(n.slice(a,C)),a=C+1;continue}if(g==="/"){u=C;continue}}g==="["?l++:g==="]"?l--:g==="("?d++:g===")"&&d--}const A=o.length===0?n:n.slice(a);let E=A,T=!1;A.endsWith(Zt)?(E=A.slice(0,-1),T=!0):A.startsWith(Zt)&&(E=A.slice(1),T=!0);const P=u&&u>a?u-a:void 0;return As(o,T,E,P)};if(t){const n=t+Is,o=r;r=l=>l.startsWith(n)?o(l.slice(n.length)):As($o,!1,l,void 0,!0)}if(s){const n=r;r=o=>s({className:o,parseClassName:n})}return r},Ao=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((s,r)=>{t.set(s,1e6+r)}),s=>{const r=[];let n=[];for(let o=0;o<s.length;o++){const l=s[o],d=l[0]==="[",a=t.has(l);d||a?(n.length>0&&(n.sort(),r.push(...n),n=[]),r.push(l)):n.push(l)}return n.length>0&&(n.sort(),r.push(...n)),r}},Mo=e=>({cache:Co(e.cacheSize),parseClassName:Io(e),sortModifiers:Ao(e),...go(e)}),Ro=/\s+/,To=(e,t)=>{const{parseClassName:s,getClassGroupId:r,getConflictingClassGroupIds:n,sortModifiers:o}=t,l=[],d=e.trim().split(Ro);let a="";for(let u=d.length-1;u>=0;u-=1){const b=d[u],{isExternal:A,modifiers:E,hasImportantModifier:T,baseClassName:P,maybePostfixModifierPosition:C}=s(b);if(A){a=b+(a.length>0?" "+a:a);continue}let g=!!C,Q=r(g?P.substring(0,C):P);if(!Q){if(!g){a=b+(a.length>0?" "+a:a);continue}if(Q=r(P),!Q){a=b+(a.length>0?" "+a:a);continue}g=!1}const x=E.length===0?"":E.length===1?E[0]:o(E).join(":"),h=T?x+Zt:x,m=h+Q;if(l.indexOf(m)>-1)continue;l.push(m);const k=n(Q,g);for(let v=0;v<k.length;++v){const w=k[v];l.push(h+w)}a=b+(a.length>0?" "+a:a)}return a},Eo=(...e)=>{let t=0,s,r,n="";for(;t<e.length;)(s=e[t++])&&(r=qs(s))&&(n&&(n+=" "),n+=r);return n},qs=e=>{if(typeof e=="string")return e;let t,s="";for(let r=0;r<e.length;r++)e[r]&&(t=qs(e[r]))&&(s&&(s+=" "),s+=t);return s},Po=(e,...t)=>{let s,r,n,o;const l=a=>{const u=t.reduce((b,A)=>A(b),e());return s=Mo(u),r=s.cache.get,n=s.cache.set,o=d,d(a)},d=a=>{const u=r(a);if(u)return u;const b=To(a,s);return n(a,b),b};return o=l,(...a)=>o(Eo(...a))},Uo=[],ue=e=>{const t=s=>s[e]||Uo;return t.isThemeGetter=!0,t},Fs=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Ws=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Oo=/^\d+\/\d+$/,_o=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Do=/\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$/,No=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,jo=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Bo=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,nt=e=>Oo.test(e),V=e=>!!e&&!Number.isNaN(Number(e)),Be=e=>!!e&&Number.isInteger(Number(e)),Jt=e=>e.endsWith("%")&&V(e.slice(0,-1)),De=e=>_o.test(e),zo=()=>!0,Lo=e=>Do.test(e)&&!No.test(e),Vs=()=>!1,Qo=e=>jo.test(e),qo=e=>Bo.test(e),Fo=e=>!N(e)&&!j(e),Wo=e=>at(e,Hs,Vs),N=e=>Fs.test(e),Fe=e=>at(e,Ks,Lo),Ht=e=>at(e,Ko,V),Ms=e=>at(e,Gs,Vs),Vo=e=>at(e,Js,qo),Tt=e=>at(e,Ys,Qo),j=e=>Ws.test(e),ft=e=>lt(e,Ks),Go=e=>lt(e,Yo),Rs=e=>lt(e,Gs),Jo=e=>lt(e,Hs),Ho=e=>lt(e,Js),Et=e=>lt(e,Ys,!0),at=(e,t,s)=>{const r=Fs.exec(e);return r?r[1]?t(r[1]):s(r[2]):!1},lt=(e,t,s=!1)=>{const r=Ws.exec(e);return r?r[1]?t(r[1]):s:!1},Gs=e=>e==="position"||e==="percentage",Js=e=>e==="image"||e==="url",Hs=e=>e==="length"||e==="size"||e==="bg-size",Ks=e=>e==="length",Ko=e=>e==="number",Yo=e=>e==="family-name",Ys=e=>e==="shadow",Xo=()=>{const e=ue("color"),t=ue("font"),s=ue("text"),r=ue("font-weight"),n=ue("tracking"),o=ue("leading"),l=ue("breakpoint"),d=ue("container"),a=ue("spacing"),u=ue("radius"),b=ue("shadow"),A=ue("inset-shadow"),E=ue("text-shadow"),T=ue("drop-shadow"),P=ue("blur"),C=ue("perspective"),g=ue("aspect"),Q=ue("ease"),x=ue("animate"),h=()=>["auto","avoid","all","avoid-page","page","left","right","column"],m=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],k=()=>[...m(),j,N],v=()=>["auto","hidden","clip","visible","scroll"],w=()=>["auto","contain","none"],y=()=>[j,N,a],U=()=>[nt,"full","auto",...y()],F=()=>[Be,"none","subgrid",j,N],W=()=>["auto",{span:["full",Be,j,N]},Be,j,N],K=()=>[Be,"auto",j,N],re=()=>["auto","min","max","fr",j,N],be=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],se=()=>["start","end","center","stretch","center-safe","end-safe"],ie=()=>["auto",...y()],pe=()=>[nt,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...y()],L=()=>[e,j,N],ge=()=>[...m(),Rs,Ms,{position:[j,N]}],Ne=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ee=()=>["auto","cover","contain",Jo,Wo,{size:[j,N]}],M=()=>[Jt,ft,Fe],me=()=>["","none","full",u,j,N],ve=()=>["",V,ft,Fe],He=()=>["solid","dashed","dotted","double"],ce=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],J=()=>[V,Jt,Rs,Ms],xe=()=>["","none",P,j,N],Ke=()=>["none",V,j,N],Ye=()=>["none",V,j,N],ct=()=>[V,j,N],Xe=()=>[nt,"full",...y()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[De],breakpoint:[De],color:[zo],container:[De],"drop-shadow":[De],ease:["in","out","in-out"],font:[Fo],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[De],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[De],shadow:[De],spacing:["px",V],text:[De],"text-shadow":[De],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",nt,N,j,g]}],container:["container"],columns:[{columns:[V,N,j,d]}],"break-after":[{"break-after":h()}],"break-before":[{"break-before":h()}],"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:k()}],overflow:[{overflow:v()}],"overflow-x":[{"overflow-x":v()}],"overflow-y":[{"overflow-y":v()}],overscroll:[{overscroll:w()}],"overscroll-x":[{"overscroll-x":w()}],"overscroll-y":[{"overscroll-y":w()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:U()}],"inset-x":[{"inset-x":U()}],"inset-y":[{"inset-y":U()}],start:[{start:U()}],end:[{end:U()}],top:[{top:U()}],right:[{right:U()}],bottom:[{bottom:U()}],left:[{left:U()}],visibility:["visible","invisible","collapse"],z:[{z:[Be,"auto",j,N]}],basis:[{basis:[nt,"full","auto",d,...y()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[V,nt,"auto","initial","none",N]}],grow:[{grow:["",V,j,N]}],shrink:[{shrink:["",V,j,N]}],order:[{order:[Be,"first","last","none",j,N]}],"grid-cols":[{"grid-cols":F()}],"col-start-end":[{col:W()}],"col-start":[{"col-start":K()}],"col-end":[{"col-end":K()}],"grid-rows":[{"grid-rows":F()}],"row-start-end":[{row:W()}],"row-start":[{"row-start":K()}],"row-end":[{"row-end":K()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":re()}],"auto-rows":[{"auto-rows":re()}],gap:[{gap:y()}],"gap-x":[{"gap-x":y()}],"gap-y":[{"gap-y":y()}],"justify-content":[{justify:[...be(),"normal"]}],"justify-items":[{"justify-items":[...se(),"normal"]}],"justify-self":[{"justify-self":["auto",...se()]}],"align-content":[{content:["normal",...be()]}],"align-items":[{items:[...se(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...se(),{baseline:["","last"]}]}],"place-content":[{"place-content":be()}],"place-items":[{"place-items":[...se(),"baseline"]}],"place-self":[{"place-self":["auto",...se()]}],p:[{p:y()}],px:[{px:y()}],py:[{py:y()}],ps:[{ps:y()}],pe:[{pe:y()}],pt:[{pt:y()}],pr:[{pr:y()}],pb:[{pb:y()}],pl:[{pl:y()}],m:[{m:ie()}],mx:[{mx:ie()}],my:[{my:ie()}],ms:[{ms:ie()}],me:[{me:ie()}],mt:[{mt:ie()}],mr:[{mr:ie()}],mb:[{mb:ie()}],ml:[{ml:ie()}],"space-x":[{"space-x":y()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":y()}],"space-y-reverse":["space-y-reverse"],size:[{size:pe()}],w:[{w:[d,"screen",...pe()]}],"min-w":[{"min-w":[d,"screen","none",...pe()]}],"max-w":[{"max-w":[d,"screen","none","prose",{screen:[l]},...pe()]}],h:[{h:["screen","lh",...pe()]}],"min-h":[{"min-h":["screen","lh","none",...pe()]}],"max-h":[{"max-h":["screen","lh",...pe()]}],"font-size":[{text:["base",s,ft,Fe]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,j,Ht]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Jt,N]}],"font-family":[{font:[Go,N,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[n,j,N]}],"line-clamp":[{"line-clamp":[V,"none",j,Ht]}],leading:[{leading:[o,...y()]}],"list-image":[{"list-image":["none",j,N]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",j,N]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:L()}],"text-color":[{text:L()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...He(),"wavy"]}],"text-decoration-thickness":[{decoration:[V,"from-font","auto",j,Fe]}],"text-decoration-color":[{decoration:L()}],"underline-offset":[{"underline-offset":[V,"auto",j,N]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:y()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",j,N]}],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,N]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ge()}],"bg-repeat":[{bg:Ne()}],"bg-size":[{bg:ee()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Be,j,N],radial:["",j,N],conic:[Be,j,N]},Ho,Vo]}],"bg-color":[{bg:L()}],"gradient-from-pos":[{from:M()}],"gradient-via-pos":[{via:M()}],"gradient-to-pos":[{to:M()}],"gradient-from":[{from:L()}],"gradient-via":[{via:L()}],"gradient-to":[{to:L()}],rounded:[{rounded:me()}],"rounded-s":[{"rounded-s":me()}],"rounded-e":[{"rounded-e":me()}],"rounded-t":[{"rounded-t":me()}],"rounded-r":[{"rounded-r":me()}],"rounded-b":[{"rounded-b":me()}],"rounded-l":[{"rounded-l":me()}],"rounded-ss":[{"rounded-ss":me()}],"rounded-se":[{"rounded-se":me()}],"rounded-ee":[{"rounded-ee":me()}],"rounded-es":[{"rounded-es":me()}],"rounded-tl":[{"rounded-tl":me()}],"rounded-tr":[{"rounded-tr":me()}],"rounded-br":[{"rounded-br":me()}],"rounded-bl":[{"rounded-bl":me()}],"border-w":[{border:ve()}],"border-w-x":[{"border-x":ve()}],"border-w-y":[{"border-y":ve()}],"border-w-s":[{"border-s":ve()}],"border-w-e":[{"border-e":ve()}],"border-w-t":[{"border-t":ve()}],"border-w-r":[{"border-r":ve()}],"border-w-b":[{"border-b":ve()}],"border-w-l":[{"border-l":ve()}],"divide-x":[{"divide-x":ve()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ve()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...He(),"hidden","none"]}],"divide-style":[{divide:[...He(),"hidden","none"]}],"border-color":[{border:L()}],"border-color-x":[{"border-x":L()}],"border-color-y":[{"border-y":L()}],"border-color-s":[{"border-s":L()}],"border-color-e":[{"border-e":L()}],"border-color-t":[{"border-t":L()}],"border-color-r":[{"border-r":L()}],"border-color-b":[{"border-b":L()}],"border-color-l":[{"border-l":L()}],"divide-color":[{divide:L()}],"outline-style":[{outline:[...He(),"none","hidden"]}],"outline-offset":[{"outline-offset":[V,j,N]}],"outline-w":[{outline:["",V,ft,Fe]}],"outline-color":[{outline:L()}],shadow:[{shadow:["","none",b,Et,Tt]}],"shadow-color":[{shadow:L()}],"inset-shadow":[{"inset-shadow":["none",A,Et,Tt]}],"inset-shadow-color":[{"inset-shadow":L()}],"ring-w":[{ring:ve()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:L()}],"ring-offset-w":[{"ring-offset":[V,Fe]}],"ring-offset-color":[{"ring-offset":L()}],"inset-ring-w":[{"inset-ring":ve()}],"inset-ring-color":[{"inset-ring":L()}],"text-shadow":[{"text-shadow":["none",E,Et,Tt]}],"text-shadow-color":[{"text-shadow":L()}],opacity:[{opacity:[V,j,N]}],"mix-blend":[{"mix-blend":[...ce(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ce()}],"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":[V]}],"mask-image-linear-from-pos":[{"mask-linear-from":J()}],"mask-image-linear-to-pos":[{"mask-linear-to":J()}],"mask-image-linear-from-color":[{"mask-linear-from":L()}],"mask-image-linear-to-color":[{"mask-linear-to":L()}],"mask-image-t-from-pos":[{"mask-t-from":J()}],"mask-image-t-to-pos":[{"mask-t-to":J()}],"mask-image-t-from-color":[{"mask-t-from":L()}],"mask-image-t-to-color":[{"mask-t-to":L()}],"mask-image-r-from-pos":[{"mask-r-from":J()}],"mask-image-r-to-pos":[{"mask-r-to":J()}],"mask-image-r-from-color":[{"mask-r-from":L()}],"mask-image-r-to-color":[{"mask-r-to":L()}],"mask-image-b-from-pos":[{"mask-b-from":J()}],"mask-image-b-to-pos":[{"mask-b-to":J()}],"mask-image-b-from-color":[{"mask-b-from":L()}],"mask-image-b-to-color":[{"mask-b-to":L()}],"mask-image-l-from-pos":[{"mask-l-from":J()}],"mask-image-l-to-pos":[{"mask-l-to":J()}],"mask-image-l-from-color":[{"mask-l-from":L()}],"mask-image-l-to-color":[{"mask-l-to":L()}],"mask-image-x-from-pos":[{"mask-x-from":J()}],"mask-image-x-to-pos":[{"mask-x-to":J()}],"mask-image-x-from-color":[{"mask-x-from":L()}],"mask-image-x-to-color":[{"mask-x-to":L()}],"mask-image-y-from-pos":[{"mask-y-from":J()}],"mask-image-y-to-pos":[{"mask-y-to":J()}],"mask-image-y-from-color":[{"mask-y-from":L()}],"mask-image-y-to-color":[{"mask-y-to":L()}],"mask-image-radial":[{"mask-radial":[j,N]}],"mask-image-radial-from-pos":[{"mask-radial-from":J()}],"mask-image-radial-to-pos":[{"mask-radial-to":J()}],"mask-image-radial-from-color":[{"mask-radial-from":L()}],"mask-image-radial-to-color":[{"mask-radial-to":L()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":m()}],"mask-image-conic-pos":[{"mask-conic":[V]}],"mask-image-conic-from-pos":[{"mask-conic-from":J()}],"mask-image-conic-to-pos":[{"mask-conic-to":J()}],"mask-image-conic-from-color":[{"mask-conic-from":L()}],"mask-image-conic-to-color":[{"mask-conic-to":L()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ge()}],"mask-repeat":[{mask:Ne()}],"mask-size":[{mask:ee()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",j,N]}],filter:[{filter:["","none",j,N]}],blur:[{blur:xe()}],brightness:[{brightness:[V,j,N]}],contrast:[{contrast:[V,j,N]}],"drop-shadow":[{"drop-shadow":["","none",T,Et,Tt]}],"drop-shadow-color":[{"drop-shadow":L()}],grayscale:[{grayscale:["",V,j,N]}],"hue-rotate":[{"hue-rotate":[V,j,N]}],invert:[{invert:["",V,j,N]}],saturate:[{saturate:[V,j,N]}],sepia:[{sepia:["",V,j,N]}],"backdrop-filter":[{"backdrop-filter":["","none",j,N]}],"backdrop-blur":[{"backdrop-blur":xe()}],"backdrop-brightness":[{"backdrop-brightness":[V,j,N]}],"backdrop-contrast":[{"backdrop-contrast":[V,j,N]}],"backdrop-grayscale":[{"backdrop-grayscale":["",V,j,N]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[V,j,N]}],"backdrop-invert":[{"backdrop-invert":["",V,j,N]}],"backdrop-opacity":[{"backdrop-opacity":[V,j,N]}],"backdrop-saturate":[{"backdrop-saturate":[V,j,N]}],"backdrop-sepia":[{"backdrop-sepia":["",V,j,N]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":y()}],"border-spacing-x":[{"border-spacing-x":y()}],"border-spacing-y":[{"border-spacing-y":y()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",j,N]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[V,"initial",j,N]}],ease:[{ease:["linear","initial",Q,j,N]}],delay:[{delay:[V,j,N]}],animate:[{animate:["none",x,j,N]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[C,j,N]}],"perspective-origin":[{"perspective-origin":k()}],rotate:[{rotate:Ke()}],"rotate-x":[{"rotate-x":Ke()}],"rotate-y":[{"rotate-y":Ke()}],"rotate-z":[{"rotate-z":Ke()}],scale:[{scale:Ye()}],"scale-x":[{"scale-x":Ye()}],"scale-y":[{"scale-y":Ye()}],"scale-z":[{"scale-z":Ye()}],"scale-3d":["scale-3d"],skew:[{skew:ct()}],"skew-x":[{"skew-x":ct()}],"skew-y":[{"skew-y":ct()}],transform:[{transform:[j,N,"","none","gpu","cpu"]}],"transform-origin":[{origin:k()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Xe()}],"translate-x":[{"translate-x":Xe()}],"translate-y":[{"translate-y":Xe()}],"translate-z":[{"translate-z":Xe()}],"translate-none":["translate-none"],accent:[{accent:L()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:L()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",j,N]}],"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":y()}],"scroll-mx":[{"scroll-mx":y()}],"scroll-my":[{"scroll-my":y()}],"scroll-ms":[{"scroll-ms":y()}],"scroll-me":[{"scroll-me":y()}],"scroll-mt":[{"scroll-mt":y()}],"scroll-mr":[{"scroll-mr":y()}],"scroll-mb":[{"scroll-mb":y()}],"scroll-ml":[{"scroll-ml":y()}],"scroll-p":[{"scroll-p":y()}],"scroll-px":[{"scroll-px":y()}],"scroll-py":[{"scroll-py":y()}],"scroll-ps":[{"scroll-ps":y()}],"scroll-pe":[{"scroll-pe":y()}],"scroll-pt":[{"scroll-pt":y()}],"scroll-pr":[{"scroll-pr":y()}],"scroll-pb":[{"scroll-pb":y()}],"scroll-pl":[{"scroll-pl":y()}],"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,N]}],fill:[{fill:["none",...L()]}],"stroke-w":[{stroke:[V,ft,Fe,Ht]}],stroke:[{stroke:["none",...L()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},Zo=Po(Xo);function Xs(...e){return Zo(Bs(e))}const ea=ye({inheritAttrs:!1,__name:"Button",props:{variant:{default:"default"},size:{default:"default"},class:{default:""}},setup(e){const t=uo("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background-light transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90 shadow-sm",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90 shadow-sm",outline:"border border-border-light dark:border-border-dark bg-transparent hover:bg-gray-100 dark:hover:bg-gray-800 text-text-primary-light dark:text-text-primary-dark",secondary:"bg-gray-100 dark:bg-gray-800 text-text-primary-light dark:text-text-primary-dark hover:bg-gray-200 dark:hover:bg-gray-700",ghost:"hover:bg-gray-100 dark:hover:bg-gray-800 text-text-secondary-light dark:text-text-secondary-dark hover:text-text-primary-light dark:hover:text-text-primary-dark",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),s=e,r=Os(),n=Y(()=>Xs(t({variant:s.variant,size:s.size}),s.class));return(o,l)=>($(),R("button",Ds(O(r),{class:n.value}),[_s(o.$slots,"default")],16))}}),Ue=Object.assign(ea,{__name:"UiButton"}),ta=ye({inheritAttrs:!1,__name:"Card",props:{class:{default:""}},setup(e){const t=e,s=Os(),r=Y(()=>Xs("rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark text-text-primary-light dark:text-text-primary-dark shadow-sm",t.class));return(n,o)=>($(),R("div",Ds(O(s),{class:r.value}),[_s(n.$slots,"default")],16))}}),sa=Object.assign(ta,{__name:"UiCard"}),ra={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"},na=["disabled"],oa=ye({__name:"ComposerMenu",props:{open:{type:Boolean},uploadsEnabled:{type:Boolean},debugUi:{type:Boolean}},emits:["toggle","add-file","quick-action"],setup(e,{expose:t}){const s=I(null);return t({menuEl:s}),(r,n)=>($(),R("div",{ref_key:"menuEl",ref:s,class:"relative"},[oe(Ue,{variant:"ghost",size:"icon",class:"h-8 w-8 text-text-secondary-light dark:text-text-secondary-dark",type:"button",onClick:n[0]||(n[0]=o=>r.$emit("toggle"))},{default:Ee(()=>[...n[3]||(n[3]=[i("span",{class:"material-icons-outlined text-lg"},"add",-1)])]),_:1}),e.open?($(),R("div",ra,[i("button",{class:"w-full text-left px-2 py-1.5 text-xs rounded hover:bg-gray-100 dark:hover:bg-gray-800 text-text-primary-light dark:text-text-primary-dark disabled:opacity-50",type:"button",disabled:!e.uploadsEnabled,onClick:n[1]||(n[1]=o=>r.$emit("add-file"))}," Add file ",8,na),e.debugUi?($(),R("button",{key:0,class:"w-full text-left px-2 py-1.5 text-xs rounded hover:bg-gray-100 dark:hover:bg-gray-800 text-text-primary-light dark:text-text-primary-dark",type:"button",onClick:n[2]||(n[2]=o=>r.$emit("quick-action","Health check"))}," Health check ")):H("",!0)])):H("",!0)],512))}}),aa=Object.assign(oa,{__name:"ComposerMenu"}),la={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"},ia=["onClick"],ca=ye({__name:"ModeMenu",props:{open:{type:Boolean},modeLabel:{},modeOptions:{}},emits:["toggle","select-mode"],setup(e,{expose:t}){const s=I(null);return t({menuEl:s}),(r,n)=>($(),R("div",{ref_key:"menuEl",ref:s,class:"relative"},[oe(Ue,{variant:"secondary",size:"sm",class:"h-8 gap-1.5 text-xs font-medium border border-gray-200 dark:border-gray-700 text-text-secondary-light dark:text-text-secondary-dark",type:"button",onClick:n[0]||(n[0]=o=>r.$emit("toggle"))},{default:Ee(()=>[$e(z(e.modeLabel)+" ",1),n[1]||(n[1]=i("span",{class:"material-icons-outlined text-xs"},"expand_more",-1))]),_:1}),e.open?($(),R("div",la,[($(!0),R(Ce,null,Ie(e.modeOptions,o=>($(),R("button",{key:o,class:"w-full text-left px-2 py-1.5 text-xs rounded hover:bg-gray-100 dark:hover:bg-gray-800 text-text-primary-light dark:text-text-primary-dark",type:"button",onClick:l=>r.$emit("select-mode",o)},z(o),9,ia))),128))])):H("",!0)],512))}}),da=Object.assign(ca,{__name:"ModeMenu"}),ua={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"},ma={key:0,class:"mb-3 grid gap-2"},fa=["src","alt"],pa={class:"flex-1 min-w-0"},ga={class:"text-xs font-medium text-text-primary-light dark:text-text-primary-dark truncate"},va={class:"text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},ha=["value","placeholder"],ya={key:1,class:"mt-2 text-[10px] text-text-secondary-light dark:text-text-secondary-dark space-y-1"},ba={key:0},xa={key:1},ka={key:2},wa={key:2,class:"mt-2 flex items-center justify-between gap-2 text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},Sa={class:"flex items-center gap-2"},Ca=["checked"],$a={key:0},Ia={class:"flex items-center justify-between mt-3"},Aa={class:"flex items-center gap-2"},Ma={key:0,class:"flex items-center gap-2 text-xs text-text-secondary-light dark:text-text-secondary-dark"},Ra=["checked"],Ta={key:0,class:"text-center mt-2"},Ea={class:"text-[10px] text-red-500"},Pa={key:1,class:"text-center mt-2"},Ua=ye({__name:"ChatComposer",props:{modelValue:{},placeholder:{},attachments:{},uploadsEnabled:{type:Boolean},imagesEnabled:{type:Boolean},attachmentsBase64:{type:Boolean},attachmentNote:{},composerMenuOpen:{type:Boolean},modeMenuOpen:{type:Boolean},modeLabel:{},modeOptions:{},useStreamingQuery:{type:Boolean},debugUi:{type:Boolean},sendLabel:{},sendDisabled:{type:Boolean},queryError:{},streamQueryError:{}},emits:["update:modelValue","update:attachmentsBase64","update:useStreamingQuery","drop","paste","compositionstart","compositionend","enter","remove-attachment","toggle-composer-menu","toggle-mode-menu","add-file","quick-action","select-mode","send","file-pick"],setup(e,{expose:t}){const s=I(null);return t({filePickerRef:s}),(r,n)=>($(),R("div",ua,[i("div",{class:"w-full max-w-3xl pointer-events-auto",onDragover:n[13]||(n[13]=he(()=>{},["prevent"])),onDrop:n[14]||(n[14]=he(o=>r.$emit("drop",o),["prevent"]))},[oe(sa,{class:"p-3 shadow-soft dark:shadow-none bg-surface-light dark:bg-surface-dark border-border-light dark:border-border-dark"},{default:Ee(()=>[e.attachments.length?($(),R("div",ma,[($(!0),R(Ce,null,Ie(e.attachments,o=>($(),R("div",{key:o.id,class:"flex items-center gap-3 rounded-md border border-border-light dark:border-border-dark p-2"},[o.mime.startsWith("image/")?($(),R("img",{key:0,src:o.localUrl,alt:o.name,class:"h-10 w-10 rounded object-cover"},null,8,fa)):H("",!0),i("div",pa,[i("div",ga,z(o.name),1),i("div",va,z(o.status),1)]),oe(Ue,{variant:"ghost",size:"sm",class:"h-7 px-2 text-xs",type:"button",onClick:l=>r.$emit("remove-attachment",o.id)},{default:Ee(()=>[...n[16]||(n[16]=[$e(" Remove ",-1)])]),_:1},8,["onClick"])]))),128))])):H("",!0),i("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:n[0]||(n[0]=o=>r.$emit("update:modelValue",o.target.value)),onPaste:n[1]||(n[1]=o=>r.$emit("paste",o)),onCompositionstart:n[2]||(n[2]=o=>r.$emit("compositionstart")),onCompositionend:n[3]||(n[3]=o=>r.$emit("compositionend")),onKeydown:n[4]||(n[4]=Je(he(o=>r.$emit("enter",o),["exact"]),["enter"]))},null,40,ha),e.attachments.length?($(),R("div",ya,[e.uploadsEnabled?e.imagesEnabled?($(),R("span",xa,"Model reports image support; attachments will be sent with metadata.")):($(),R("span",ka,"Model does not support images; attachments will be summarized in text.")):($(),R("span",ba,"Uploads disabled by server."))])):H("",!0),e.attachments.length?($(),R("div",wa,[i("label",Sa,[i("input",{checked:e.attachmentsBase64,type:"checkbox",class:"h-3 w-3",onChange:n[5]||(n[5]=o=>r.$emit("update:attachmentsBase64",o.target.checked))},null,40,Ca),n[17]||(n[17]=$e(" Include base64 when images are unsupported (large) ",-1))]),e.attachmentNote?($(),R("span",$a,z(e.attachmentNote),1)):H("",!0)])):H("",!0),i("div",Ia,[i("div",Aa,[oe(aa,{open:e.composerMenuOpen,"uploads-enabled":e.uploadsEnabled,"debug-ui":e.debugUi,onToggle:n[6]||(n[6]=o=>r.$emit("toggle-composer-menu")),onAddFile:n[7]||(n[7]=o=>r.$emit("add-file")),onQuickAction:n[8]||(n[8]=o=>r.$emit("quick-action",o))},null,8,["open","uploads-enabled","debug-ui"]),oe(da,{open:e.modeMenuOpen,"mode-label":e.modeLabel,"mode-options":e.modeOptions,onToggle:n[9]||(n[9]=o=>r.$emit("toggle-mode-menu")),onSelectMode:n[10]||(n[10]=o=>r.$emit("select-mode",o))},null,8,["open","mode-label","mode-options"]),e.debugUi?($(),R("label",Ma,[i("input",{checked:e.useStreamingQuery,type:"checkbox",class:"h-3 w-3",onChange:n[11]||(n[11]=o=>r.$emit("update:useStreamingQuery",o.target.checked))},null,40,Ra),n[18]||(n[18]=i("span",null,"Streaming",-1))])):H("",!0)]),oe(Ue,{type:"button",disabled:e.sendDisabled,class:"h-8 px-4 text-xs",onClick:n[12]||(n[12]=o=>r.$emit("send"))},{default:Ee(()=>[$e(z(e.sendLabel),1)]),_:1},8,["disabled"])])]),_:1}),e.queryError||e.streamQueryError?($(),R("div",Ta,[i("p",Ea,z(e.queryError||e.streamQueryError),1)])):($(),R("div",Pa,[...n[19]||(n[19]=[i("p",{class:"text-[10px] text-text-secondary-light dark:text-text-secondary-dark"}," AI can make mistakes. Please review code. ",-1)])]))],32),i("input",{ref_key:"filePickerRef",ref:s,class:"hidden",type:"file",accept:"*/*",multiple:"",onChange:n[15]||(n[15]=o=>r.$emit("file-pick",o))},null,544)]))}}),Oa=Object.assign(Ua,{__name:"ChatComposer"}),_a={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"},Da={class:"flex items-center gap-3 overflow-hidden"},Na={class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark whitespace-nowrap truncate"},ja={key:0,class:"hidden md:inline-flex items-center rounded text-[10px] border border-gray-200 dark:border-gray-700 text-text-secondary-light dark:text-text-secondary-dark font-mono px-2 py-0.5"},Ba={class:"flex items-center gap-3 text-xs text-text-secondary-light dark:text-text-secondary-dark"},za={class:"hidden sm:inline"},La=["title"],Qa={class:"material-icons-outlined text-base"},qa=ye({__name:"ChatHeader",props:{activeSessionTitle:{},activeSessionSummary:{},activeSessionCwdLabel:{},chatHeaderStats:{},darkMode:{type:Boolean}},emits:["reconnect","toggle-theme"],setup(e){return(t,s)=>($(),R("header",_a,[i("div",Da,[i("h1",Na,z(e.activeSessionTitle||"New thread"),1),e.activeSessionCwdLabel?($(),R("span",ja,z(e.activeSessionCwdLabel),1)):H("",!0)]),i("div",Ba,[i("span",za,z(e.chatHeaderStats),1),i("button",{class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary transition-colors",type:"button",title:e.darkMode?"Switch to light mode":"Switch to dark mode",onClick:s[0]||(s[0]=r=>t.$emit("toggle-theme"))},[i("span",Qa,z(e.darkMode?"light_mode":"dark_mode"),1)],8,La),i("button",{class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary transition-colors",type:"button",onClick:s[1]||(s[1]=r=>t.$emit("reconnect"))},[...s[2]||(s[2]=[i("span",{class:"material-icons-outlined text-base"},"refresh",-1)])])])]))}}),Fa=Object.assign(qa,{__name:"ChatHeader"}),Wa={class:"message-renderer"},Va={key:1,class:"empty-message"},Ga=ye({__name:"MessageRenderer",props:{content:{},emptyText:{default:"No content"}},setup(e){const t=e,s=Y(()=>t.content?.trim()||"");return(r,n)=>{const o=Cn("MarkdownRender");return $(),R("div",Wa,[s.value?($(),Ns(o,{key:0,content:s.value,"max-live-nodes":0,"batch-rendering":{renderBatchSize:16,renderBatchDelay:8},"enable-mermaid":!0,"enable-katex":!0},null,8,["content"])):($(),R("div",Va,z(e.emptyText),1))])}}}),Ja=Object.assign(An(Ga,[["__scopeId","data-v-ebde76cd"]]),{__name:"MessageRenderer"});function es(e){if(!e)return"unknown";const t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toLocaleString()}function Ts(e){const t=e.updatedAt;if(t==null)return 0;if(typeof t=="number")return Number.isFinite(t)?t:0;const s=Date.parse(String(t));return Number.isNaN(s)?0:s}function Ha(e){const t=e.updatedAt;if(!t)return"—";const s=typeof t=="number"?t:Date.parse(String(t));if(Number.isNaN(s))return"—";const r=Date.now()-s;if(!Number.isFinite(r))return"—";const n=Math.max(0,Math.floor(r/1e3));if(n<60)return"now";const o=Math.floor(n/60);if(o<60)return`${o}m`;const l=Math.floor(o/60);return l<24?`${l}h`:`${Math.floor(l/24)}d`}function Es(e){if(!e)return"—";const t=Number(e);return Number.isFinite(t)&&t>0?new Date(t).toLocaleString():es(e)}function Ka(e){return e.ts?e.ts:e.receivedAt??""}function Ya(e){const t=e.payload??e.raw,s=typeof t=="string"?t:JSON.stringify(t,null,2);return s?s.length>600?`${s.slice(0,600)}...`:s:"No payload"}function Xa(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 Za(e,t){const s=a=>{if(a==null)return"";if(typeof a=="string")return a;if(Array.isArray(a))return a.map(s).join("");if(a!=null&&typeof a=="object"&&!Array.isArray(a)){const u=a.text;if(typeof u=="string")return u;try{return JSON.stringify(a)}catch{return String(a)}}return String(a)},r=a=>{const u=a.trim();if(!u||!u.startsWith("{")&&!u.startsWith("["))return a;try{return JSON.stringify(JSON.parse(u),null,2)}catch{return a}},n=(a,u)=>{const b=String(a??"").split(`
2
- `);return b.length<=u?a:`${b.slice(0,u).join(`
3
- `)}
4
- ... (${b.length-u} more lines)`},o=s(e);if(!o)return"No output";const l=r(o);return String(t??"").toLowerCase()==="read"?n(l,24):l}function Pt(e){return e?typeof e.result=="string"?e.result:e.result?JSON.stringify(e.result,null,2):e.error?String(e.error):JSON.stringify(e,null,2):"No response"}function Le(){return typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`msg-${Math.random().toString(36).slice(2,8)}`}function ts(e){const t=String(e??"").replace(/\r/g,"");if(!t)return[];const s=t.split("```"),r=[];for(let n=0;n<s.length;n+=1){const o=s[n];if(n%2===1){const l=o.split(`
5
- `),d=(l.shift()??"").trim(),a=l.join(`
6
- `).replace(/\n$/,"");r.push({type:"code",content:a,language:d||void 0})}else o.trim()&&r.push({type:"text",content:o.trim()})}return r}function Z(e){const t=String(e??"");return{type:"markdown",raw:t,blocks:ts(t)}}function fe(e,t,s,r,n){const o=t.length?t:[Z("")];return{id:n??Le(),role:e,parts:o,ts:s??new Date().toISOString(),meta:r}}function el(e,t){if(e.type!=="tool_call"||String(e.name??"").toLowerCase()!=="askuserquestion"||!e.callId)return!0;const s=t.find(r=>r.type==="tool_result"&&r.callId===e.callId);return s?s.status==="error":!0}const tl={key:0,class:"h-8 w-8 rounded-full bg-indigo-100 dark:bg-indigo-900 flex items-center justify-center text-indigo-600 dark:text-indigo-300 shadow-sm mt-0.5"},sl={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"},rl={class:"max-w-[80%]"},nl={class:"space-y-3"},ol={key:0},al={key:1},ll=["open"],il={class:"cursor-pointer text-xs font-semibold text-text-secondary-light dark:text-text-secondary-dark"},cl={class:"mt-2 text-xs whitespace-pre-wrap"},dl={key:2},ul=["open"],ml={class:"cursor-pointer text-xs font-semibold text-text-secondary-light dark:text-text-secondary-dark"},fl={class:"mt-2 text-xs whitespace-pre-wrap"},pl={key:3},gl=["open"],vl={class:"cursor-pointer text-xs font-semibold text-text-secondary-light dark:text-text-secondary-dark"},hl={class:"mt-2 text-xs whitespace-pre-wrap"},yl={key:0,class:"mt-2 text-xs whitespace-pre-wrap"},bl={key:4},xl={class:"grid gap-2"},kl=["src","alt"],wl={class:"flex flex-col"},Sl={class:"text-xs font-medium text-text-primary-light dark:text-text-primary-dark"},Cl={key:0,class:"text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},$l={key:0,class:"mt-2 text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},Il=ye({__name:"ChatMessages",props:{messages:{}},setup(e,{expose:t}){const s=I(null);return t({messagesRef:s}),(r,n)=>($(),R("div",{ref_key:"messagesRef",ref:s,class:"space-y-6"},[($(!0),R(Ce,null,Ie(e.messages,o=>($(),R("div",{key:o.id,class:Ve(["flex gap-4",o.role==="user"?"flex-row-reverse":""])},[o.role==="user"?($(),R("div",tl,[...n[0]||(n[0]=[i("span",{class:"material-icons-outlined text-sm"},"person",-1)])])):($(),R("div",sl,[...n[1]||(n[1]=[i("span",{class:"material-icons-outlined text-sm"},"auto_awesome",-1)])])),i("div",rl,[i("div",{class:Ve(["px-5 py-3.5 rounded-2xl text-sm leading-relaxed shadow-sm w-fit",o.role==="user"?"bg-gray-100 dark:bg-gray-800 text-text-primary-light dark:text-text-primary-dark rounded-tr-sm":"bg-surface-light dark:bg-surface-dark border border-border-light dark:border-border-dark text-text-primary-light dark:text-text-primary-dark"])},[i("div",nl,[($(!0),R(Ce,null,Ie(o.parts,(l,d)=>($(),R(Ce,{key:`${o.id}-${l.type}-${d}`},[l.type==="markdown"?($(),R("div",ol,[oe(Ja,{content:l.raw},null,8,["content"])])):l.type==="thinking"?($(),R("div",al,[i("details",{open:!l.collapsed,class:"rounded-md border border-border-light dark:border-border-dark p-3 bg-gray-50 dark:bg-gray-800/50"},[i("summary",il,z(l.title),1),i("pre",cl,z(l.content),1)],8,ll)])):l.type==="tool_call"?($(),R("div",dl,[i("details",{open:O(el)(l,o.parts),class:"rounded-md border border-border-light dark:border-border-dark p-3 bg-gray-50 dark:bg-gray-800/50"},[i("summary",ml," Tool call: "+z(l.name),1),i("pre",fl,z(l.args),1)],8,ul)])):l.type==="tool_result"?($(),R("div",pl,[i("details",{open:l.status==="error",class:"rounded-md border border-border-light dark:border-border-dark p-3 bg-gray-50 dark:bg-gray-800/50"},[i("summary",vl," Tool result: "+z(l.name||"tool")+" · "+z(l.status),1),i("pre",hl,z(l.output),1),l.structured?($(),R("pre",yl,z(l.structured),1)):H("",!0)],8,gl)])):l.type==="attachments"?($(),R("div",bl,[i("div",xl,[($(!0),R(Ce,null,Ie(l.items,(a,u)=>($(),R("div",{key:`${o.id}-${d}-${u}`,class:"flex items-center gap-3 rounded-md border border-border-light dark:border-border-dark p-2 bg-white/60 dark:bg-white/5"},[a.kind==="image"&&a.url?($(),R("img",{key:0,src:a.url,alt:a.label,class:"h-10 w-10 rounded object-cover"},null,8,kl)):H("",!0),i("div",wl,[i("span",Sl,z(a.label),1),a.meta?($(),R("span",Cl,z(a.meta),1)):H("",!0)])]))),128))])])):H("",!0)],64))),128))])],2),O(Es)(o.ts)!=="—"?($(),R("div",$l,z(O(Es)(o.ts)),1)):H("",!0)])],2))),128))],512))}}),Al=Object.assign(Il,{__name:"ChatMessages"});function Ml(e){return`${e.type}-${e.id??e.receivedAt}`}function Rl(e){return e&&typeof e=="object"?e:null}function ot(e){if(!e)return null;const t=e.sessionId??e.session_id;return typeof t=="string"&&t.trim()?t:null}function pt(e){if(!e)return null;const t=e.runId??e.run_id;return typeof t=="string"&&t.trim()?t:null}function Ge(e){const t=Rl(e.payload);return t?("payload"in t&&t.payload&&typeof t.payload=="object"?t.payload:null)??t:null}function Kt(e){return pt(Ge(e))}function Oe(e){if(!e)return null;const t=typeof e.toolCallId=="string"?e.toolCallId:typeof e.tool_call_id=="string"?e.tool_call_id:typeof e.call_id=="string"?e.call_id:typeof e.callId=="string"?e.callId:typeof e.id=="string"?e.id:"";if(t&&t.trim())return t.trim();const r=(Array.isArray(e.tool_calls)?e.tool_calls:[])[0];return r&&typeof r.id=="string"&&r.id.trim()?r.id.trim():null}function Dt(e){if(!e)return null;const t=e.toolName??e.tool_name??e.name;if(typeof t=="string"&&t.trim())return t.trim();const s=e.function??e.tool;if(s&&typeof s=="object"){const o=s.name;return typeof o=="string"&&o.trim()?o.trim():null}const n=(Array.isArray(e.tool_calls)?e.tool_calls:[])[0];return n?.function?.name?String(n.function.name):null}function Nt(e){if(!e)return{args:"",delta:""};const t=typeof e.argsTextDelta=="string"?e.argsTextDelta:typeof e.args_text_delta=="string"?e.args_text_delta:typeof e.argsDelta=="string"?e.argsDelta:"";let r=typeof e.argsText=="string"?e.argsText:typeof e.args_text=="string"?e.args_text:typeof e.args=="string"?e.args:"";if(!r){const l=(Array.isArray(e.tool_calls)?e.tool_calls:[])[0];if(l?.function?.arguments!=null){const d=l.function.arguments;if(typeof d=="string")r=d;else try{r=JSON.stringify(d,null,2)}catch{r=String(d)}}}const n=typeof e.originalEventType=="string"?e.originalEventType:"";return r&&(n==="tool_call_end"||!t)?{args:r,delta:""}:t?{args:t,delta:t}:{args:r,delta:""}}const Tl={class:"space-y-4"},El={class:"rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark p-4 shadow-sm"},Pl={key:0,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark"},Ul={key:1,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark"},Ol={key:2,class:"space-y-3"},_l={class:"grid grid-cols-2 gap-2 text-xs"},Dl={class:"text-text-secondary-light dark:text-text-secondary-dark"},Nl={class:"text-text-primary-light dark:text-text-primary-dark font-medium"},jl={class:"flex flex-wrap gap-2"},Bl={class:"rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark p-4 shadow-sm"},zl={class:"grid grid-cols-2 gap-2 text-xs"},Ll={class:"text-text-secondary-light dark:text-text-secondary-dark"},Ql={class:"rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark p-4 shadow-sm"},ql={class:"text-xs text-text-secondary-light dark:text-text-secondary-dark mb-2"},Fl={class:"space-y-2 max-h-64 overflow-y-auto pr-1"},Wl={class:"flex items-center justify-between text-xs text-text-secondary-light dark:text-text-secondary-dark"},Vl={class:"font-medium text-text-primary-light dark:text-text-primary-dark"},Gl={class:"mt-1"},Jl={class:"mt-2 text-[10px] whitespace-pre-wrap"},Hl={key:0,class:"rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark p-4 shadow-sm"},Kl={class:"text-xs text-text-secondary-light dark:text-text-secondary-dark mb-2"},Yl={class:"mt-2 text-[10px] whitespace-pre-wrap"},Xl=ye({__name:"DebugPanel",props:{statusLoading:{type:Boolean},statusError:{},statusRows:{},capabilities:{},events:{},snapshotLabel:{},snapshotContent:{}},emits:["refresh","reconnect","capabilities","copy-origin"],setup(e){return(t,s)=>($(),R("aside",Tl,[i("article",El,[s[4]||(s[4]=i("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark mb-2"},"Status Snapshot",-1)),e.statusLoading?($(),R("p",Pl," Loading /status snapshot... ")):e.statusError?($(),R("p",Ul,z(e.statusError),1)):($(),R("div",Ol,[i("div",_l,[($(!0),R(Ce,null,Ie(e.statusRows,r=>($(),R("div",{key:r.label,class:"flex flex-col"},[i("span",Dl,z(r.label),1),i("span",Nl,z(r.value),1)]))),128))]),i("div",jl,[i("button",{class:"text-xs px-3 py-1 rounded border border-border-light dark:border-border-dark hover:border-primary",type:"button",onClick:s[0]||(s[0]=r=>t.$emit("refresh"))}," Refresh "),i("button",{class:"text-xs px-3 py-1 rounded border border-border-light dark:border-border-dark hover:border-primary",type:"button",onClick:s[1]||(s[1]=r=>t.$emit("reconnect"))}," Reconnect "),i("button",{class:"text-xs px-3 py-1 rounded border border-border-light dark:border-border-dark hover:border-primary",type:"button",onClick:s[2]||(s[2]=r=>t.$emit("capabilities"))}," Capabilities "),i("button",{class:"text-xs px-3 py-1 rounded border border-border-light dark:border-border-dark hover:border-primary",type:"button",onClick:s[3]||(s[3]=r=>t.$emit("copy-origin"))}," Copy origin ")])]))]),i("article",Bl,[s[5]||(s[5]=i("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark mb-2"},"Capabilities",-1)),i("div",zl,[($(!0),R(Ce,null,Ie(e.capabilities,r=>($(),R("div",{key:r.key,class:"flex items-center justify-between rounded border border-border-light dark:border-border-dark px-2 py-1"},[i("span",Ll,z(r.label),1),i("span",{class:Ve(r.enabled?"text-emerald-500":"text-red-500")},z(r.enabled?"Yes":"No"),3)]))),128))])]),i("article",Ql,[s[7]||(s[7]=i("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark mb-2"},"Event Stream",-1)),i("p",ql," Most recent "+z(e.events.length)+" events ",1),i("div",Fl,[($(!0),R(Ce,null,Ie(e.events,r=>($(),R("div",{key:O(Ml)(r),class:"rounded border border-border-light dark:border-border-dark p-2"},[i("div",Wl,[i("span",Vl,z(r.type),1),i("span",null,z(O(Ka)(r)),1)]),i("details",Gl,[s[6]||(s[6]=i("summary",{class:"cursor-pointer text-[11px] text-text-secondary-light dark:text-text-secondary-dark"}," Payload ",-1)),i("pre",Jl,z(O(Ya)(r)),1)])]))),128))])]),e.snapshotLabel?($(),R("article",Hl,[s[9]||(s[9]=i("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark mb-2"},"Session Snapshot",-1)),i("p",Kl,z(e.snapshotLabel),1),i("details",null,[s[8]||(s[8]=i("summary",{class:"cursor-pointer text-[11px] text-text-secondary-light dark:text-text-secondary-dark"}," Snapshot data ",-1)),i("pre",Yl,z(e.snapshotContent),1)])])):H("",!0)]))}}),Zl=Object.assign(Xl,{__name:"DebugPanel"}),ei=["onKeydown"],ti={class:"text-sm text-text-primary-light dark:text-text-primary-dark"},si={class:"mt-4 flex justify-end gap-2"},ri=["disabled"],ni=["disabled"],oi=ye({__name:"DeleteDialog",props:{open:{type:Boolean},target:{},busy:{type:Boolean}},emits:["close","confirm"],setup(e,{expose:t,emit:s}){const r=s,n=I(null);function o(){r("close")}function l(){r("confirm")}return t({dialogEl:n}),(d,a)=>e.open?($(),R("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/40 backdrop-blur-sm px-4",role:"presentation",onClick:o},[i("div",{ref_key:"dialogEl",ref:n,class:"w-full max-w-md rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark shadow-lg p-5",role:"dialog","aria-modal":"true",tabindex:"0",onClick:a[0]||(a[0]=he(()=>{},["stop"])),onKeydown:[Je(he(o,["stop","prevent"]),["escape"]),Je(he(l,["stop","prevent"]),["enter"])]},[i("div",{class:"flex items-center justify-between mb-3"},[a[2]||(a[2]=i("h3",{class:"text-sm font-semibold text-text-primary-light dark:text-text-primary-dark"}," Delete session ",-1)),i("button",{class:"text-text-secondary-light dark:text-text-secondary-dark hover:text-primary",type:"button",onClick:o},[...a[1]||(a[1]=[i("span",{class:"material-icons-outlined text-base"},"close",-1)])])]),i("p",ti,[a[3]||(a[3]=$e(" This will permanently delete ",-1)),i("strong",null,z(e.target?.title||"this session"),1),a[4]||(a[4]=$e(" and its history. ",-1))]),i("div",si,[i("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,ri),i("button",{class:"text-xs px-3 py-1.5 rounded bg-red-500 text-white",type:"button",disabled:e.busy,onClick:l},z(e.busy?"Deleting…":"Delete"),9,ni)])],40,ei)])):H("",!0)}}),ai=Object.assign(oi,{__name:"DeleteDialog"}),li={class:"w-64 flex-shrink-0 bg-sidebar-light dark:bg-sidebar-dark border-r border-border-light dark:border-border-dark flex flex-col h-full transition-colors duration-200 overflow-x-hidden"},ii={class:"px-2 pt-4 space-y-1 mb-4"},ci={class:"flex-1 overflow-y-auto overflow-x-hidden px-2 space-y-1"},di={class:"w-5 h-5 flex items-center justify-center text-[16px]"},ui={class:"font-normal truncate"},mi={key:0,class:"space-y-0.5 mt-1 overflow-x-hidden"},fi={key:0,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark px-2 py-2"},pi={key:1,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark px-2 py-2"},gi=["onClick"],vi={class:"flex-1 min-w-0 truncate font-normal"},hi={key:0,class:"absolute right-2 top-1/2 -translate-y-1/2 flex items-center gap-2 opacity-0 group-hover:opacity-100 transition-opacity duration-150"},yi=["onClick"],bi=["onClick"],xi=["value","onKeydown"],ki={class:"mt-2 flex gap-2"},wi={key:4,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark px-2 py-2"},Si={class:"px-3 py-3 border-t border-border-light dark:border-border-dark"},Ci={class:"flex gap-2"},$i={key:0,class:"px-3 pb-3"},Ii={class:"space-y-2"},Ai=["onClick"],Mi={class:"font-medium"},Ri={class:"block text-[10px] text-text-secondary-light dark:text-text-secondary-dark mt-1"},Ti={class:"p-3 border-t border-border-light dark:border-border-dark"},Ei={class:"flex items-center justify-between text-[11px] text-text-secondary-light dark:text-text-secondary-dark"},Yt=10,Pi=ye({__name:"SessionSidebar",props:{sessions:{},sessionsLoading:{type:Boolean},sessionsError:{},activeSessionId:{},editingSessionId:{},renameDraft:{},sessionNote:{},canManageSessions:{type:Boolean},debugUi:{type:Boolean},commandItems:{},lastUpdatedLabel:{},sessionCountLabel:{},toolApprovalsMode:{},activeSessionCwdLabel:{}},emits:["refresh","create","select","rename","delete","update:renameDraft","apply-rename","cancel-rename","copy-command","set-approvals"],setup(e){const t=e,s=I(!0),r=I(!1),n=Y(()=>{const d=String(t.activeSessionCwdLabel??"").trim();if(!d)return"workspace";const a=d.split(/[/\\]/).filter(Boolean);return a.length?a[a.length-1]:"workspace"}),o=Y(()=>r.value||t.sessions.length<=Yt?t.sessions:t.sessions.slice(0,Yt)),l=Y(()=>t.sessions.length>Yt);return(d,a)=>($(),R("aside",li,[i("nav",ii,[oe(Ue,{variant:"ghost",class:"w-full justify-start text-text-secondary-light dark:text-text-secondary-dark hover:text-text-primary-light dark:hover:text-text-primary-dark text-sm",onClick:a[0]||(a[0]=u=>d.$emit("create"))},{default:Ee(()=>[...a[11]||(a[11]=[i("span",{class:"material-icons-outlined text-lg mr-2"},"edit",-1),$e(" New thread ",-1)])]),_:1}),oe(Ue,{variant:"ghost",class:"w-full justify-start text-text-secondary-light dark:text-text-secondary-dark hover:text-text-primary-light dark:hover:text-text-primary-dark text-sm",disabled:e.sessionsLoading,onClick:a[1]||(a[1]=u=>d.$emit("refresh"))},{default:Ee(()=>[...a[12]||(a[12]=[i("span",{class:"material-icons-outlined text-lg mr-2"},"refresh",-1),$e(" Refresh ",-1)])]),_:1},8,["disabled"])]),a[24]||(a[24]=i("div",{class:"px-4 py-2 flex items-center justify-between"},[i("span",{class:"text-xs font-semibold text-text-secondary-light dark:text-text-secondary-dark tracking-wider"}," THREADS ")],-1)),i("div",ci,[i("button",{type:"button",class:"w-full rounded-lg px-2 py-2 flex items-center gap-2 text-sm text-text-primary-light dark:text-text-primary-dark bg-gray-100/80 dark:bg-gray-800/70",onClick:a[2]||(a[2]=u=>s.value=!s.value)},[i("div",di,[i("span",{class:Ve(["material-icons-outlined",s.value?"text-primary":"text-text-primary-light dark:text-text-primary-dark"])},z(s.value?"folder_open":"folder"),3)]),i("span",ui,z(n.value),1)]),s.value?($(),R("div",mi,[e.sessionsError?($(),R("p",fi," Sessions unavailable: "+z(e.sessionsError),1)):e.sessions.length?H("",!0):($(),R("p",pi,z(e.sessionsLoading?"Loading sessions…":"No sessions yet. Create one to start."),1)),($(!0),R(Ce,null,Ie(o.value,u=>($(),R("div",{key:u.id,class:"group relative max-w-full"},[i("button",{type:"button",class:Ve(["w-full min-w-0 text-left rounded-md pl-9 pr-2 py-1.5 transition-colors text-[13px] leading-snug flex items-center gap-3",u.id===e.activeSessionId?"bg-primary text-primary-foreground shadow-soft":"text-text-primary-light dark:text-text-primary-dark hover:bg-gray-100 dark:hover:bg-gray-800/60"]),onClick:b=>d.$emit("select",u.id)},[i("span",vi,z(u.title||"Untitled"),1),i("span",{class:Ve(["shrink-0 text-[11px] text-text-secondary-light dark:text-text-secondary-dark whitespace-nowrap group-hover:opacity-0 transition-opacity",u.id===e.activeSessionId?"text-primary-foreground/80":""])},z(O(Ha)(u)),3)],10,gi),e.canManageSessions&&e.editingSessionId!==u.id?($(),R("div",hi,[i("button",{class:"h-6 w-6 rounded-md flex items-center justify-center bg-gray-100 dark:bg-gray-800 text-text-secondary-light dark:text-text-secondary-dark hover:text-primary border border-border-light dark:border-border-dark",type:"button",onClick:he(b=>d.$emit("rename",u),["stop"])},[...a[13]||(a[13]=[i("span",{class:"material-icons-outlined text-[12px]"},"edit",-1)])],8,yi),i("button",{class:"h-6 w-6 rounded-md flex items-center justify-center bg-gray-100 dark:bg-gray-800 text-red-500 hover:text-red-600 border border-border-light dark:border-border-dark",type:"button",onClick:he(b=>d.$emit("delete",u),["stop"])},[...a[14]||(a[14]=[i("span",{class:"material-icons-outlined text-[12px]"},"delete",-1)])],8,bi)])):H("",!0),e.editingSessionId===u.id?($(),R("div",{key:1,class:"mt-2 rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark p-2",onClick:a[6]||(a[6]=he(()=>{},["stop"]))},[i("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:a[3]||(a[3]=b=>d.$emit("update:renameDraft",b.target.value)),onKeydown:[Je(he(b=>d.$emit("apply-rename",u),["prevent"]),["enter"]),a[4]||(a[4]=Je(he(b=>d.$emit("cancel-rename"),["prevent"]),["escape"]))]},null,40,xi),i("div",ki,[oe(Ue,{size:"sm",class:"h-7 px-3",onClick:b=>d.$emit("apply-rename",u)},{default:Ee(()=>[...a[15]||(a[15]=[$e(" Save ",-1)])]),_:1},8,["onClick"]),oe(Ue,{variant:"ghost",size:"sm",class:"h-7 px-3",onClick:a[5]||(a[5]=b=>d.$emit("cancel-rename"))},{default:Ee(()=>[...a[16]||(a[16]=[$e(" Cancel ",-1)])]),_:1})])])):H("",!0)]))),128)),l.value&&!r.value?($(),R("button",{key:2,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:a[7]||(a[7]=u=>r.value=!0)},[...a[17]||(a[17]=[i("span",null,"Show more",-1),i("span",{class:"material-icons-outlined text-[14px]"},"expand_more",-1)])])):H("",!0),l.value&&r.value?($(),R("button",{key:3,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:a[8]||(a[8]=u=>r.value=!1)},[...a[18]||(a[18]=[i("span",null,"Show less",-1),i("span",{class:"material-icons-outlined text-[14px]"},"expand_less",-1)])])):H("",!0),e.sessionNote?($(),R("p",wi,z(e.sessionNote),1)):H("",!0)])):H("",!0)]),i("div",Si,[a[21]||(a[21]=i("div",{class:"text-xs font-semibold text-text-secondary-light dark:text-text-secondary-dark mb-2"}," Tool approvals ",-1)),a[22]||(a[22]=i("p",{class:"text-[11px] text-text-secondary-light dark:text-text-secondary-dark mb-2"}," Auto prompts for high-risk tools. Always allow skips prompts. ",-1)),i("div",Ci,[oe(Ue,{size:"sm",variant:e.toolApprovalsMode==="auto"?"default":"secondary",class:"h-7 px-3 text-[11px]",onClick:a[9]||(a[9]=u=>d.$emit("set-approvals","auto"))},{default:Ee(()=>[...a[19]||(a[19]=[$e(" Auto ",-1)])]),_:1},8,["variant"]),oe(Ue,{size:"sm",variant:e.toolApprovalsMode==="all"?"default":"secondary",class:"h-7 px-3 text-[11px]",onClick:a[10]||(a[10]=u=>d.$emit("set-approvals","all"))},{default:Ee(()=>[...a[20]||(a[20]=[$e(" Always allow ",-1)])]),_:1},8,["variant"])])]),e.debugUi?($(),R("div",$i,[a[23]||(a[23]=i("div",{class:"text-xs font-semibold text-text-secondary-light dark:text-text-secondary-dark mb-2"}," Command & Config ",-1)),i("div",Ii,[($(!0),R(Ce,null,Ie(e.commandItems,u=>($(),R("button",{key:u.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:b=>d.$emit("copy-command",u.command,u.label)},[i("div",Mi,z(u.label),1),i("code",Ri,z(u.command),1)],8,Ai))),128))])])):H("",!0),i("div",Ti,[i("div",Ei,[i("span",null,z(e.lastUpdatedLabel),1),i("span",null,z(e.sessionCountLabel),1)])])]))}}),Ui=Object.assign(Pi,{__name:"SessionSidebar"}),Oi=ye({__name:"Toast",props:{visible:{type:Boolean},message:{},kind:{}},emits:["close"],setup(e,{emit:t}){const s=t;function r(){s("close")}return(n,o)=>e.visible?($(),R("div",{key:0,class:Ve(["fixed bottom-4 right-4 z-50 rounded-md border px-3 py-2 text-xs shadow-lg cursor-pointer transition-colors",e.kind==="success"?"bg-emerald-50 border-emerald-500 text-emerald-700 dark:bg-emerald-500/10 dark:text-emerald-300":e.kind==="error"?"bg-red-50 border-red-500 text-red-700 dark:bg-red-500/10 dark:text-red-300":"bg-surface-light border-border-light text-text-primary-light dark:bg-surface-dark dark:border-border-dark dark:text-text-primary-dark"]),role:"alert",onClick:r},z(e.message),3)):H("",!0)}}),_i=Object.assign(Oi,{__name:"Toast"}),Ut="Other";function Di(){const e=I(!1),t=I([]),s=I({}),r=I({}),n=I(null),o=I(null),l=I(null),d=I(!1),a=I(null);function u(v){const w={},y={};for(let U=0;U<v.length;U+=1){const F=String(U),W=v[U];if(W?.multiSelect)w[F]=[];else{const K=W?.options?.[0]?.label;w[F]=K?[String(K)]:[]}y[F]=""}s.value=w,r.value=y}function b(v,w){return(s.value[String(v)]??[]).includes(w)}function A(v,w,y){const U=String(v);if(t.value[v]?.multiSelect){const W=new Set(s.value[U]??[]);y?W.add(w):W.delete(w),s.value={...s.value,[U]:Array.from(W)};return}y&&(s.value={...s.value,[U]:[w]})}function E(v,w,y){const U=y.target;A(v,w,!!U?.checked)}function T(){const v={};for(let w=0;w<t.value.length;w+=1){const y=String(w),U=t.value[w],F=s.value[y]??[],W=(r.value[y]??"").trim();if(U?.multiSelect){const K=F.filter(re=>re!==Ut);F.includes(Ut)&&W&&K.push(W),v[y]=K}else{const K=F[0]??"";v[y]=K===Ut?W:K}}return v}function P(v){if(!Array.isArray(v))return[];const w=[];for(const y of v){if(!y||typeof y!="object")continue;const U=typeof y.question=="string"?y.question:"",W=(typeof y.header=="string"?y.header:"")||"Question",re=(Array.isArray(y.options)?y.options:[]).map(se=>({label:typeof se?.label=="string"?se.label:"",description:typeof se?.description=="string"?se.description:""})).filter(se=>se.label||se.description),be=typeof y.multiSelect=="boolean"?y.multiSelect:typeof y.multi_select=="boolean"?y.multi_select:!1;(U||re.length)&&w.push({question:U,header:W,options:re,multiSelect:be})}return w}function C(v){if(!v)return[];try{const w=JSON.parse(v);return P(w?.questions)}catch{return[]}}function g(v,w){const y=v.get(w);if(!y)return{toolCallId:"",questions:[]};for(const[U,F]of y.toolCalls){if(String(F.name??"").toLowerCase()!=="askuserquestion")continue;const W=C(F.args);return{toolCallId:String(U??""),questions:W}}return{toolCallId:"",questions:[]}}function Q(v,w){const y=new Map,U=[];for(const F of v){const W=Ge(F);if(!W)continue;const K=pt(W);if(!K||K!==w||F.type!=="tool.call")continue;const re=Oe(W);if(!re)continue;const be=Dt(W),{args:se,delta:ie}=Nt(W),pe=!ie;y.has(re)||U.push(re);const L=y.get(re)??{name:be,args:""};y.set(re,{name:L.name||be,args:pe?se:`${L.args}${se}`})}for(const F of U){const W=y.get(F);if(!W||String(W.name??"").toLowerCase()!=="askuserquestion")continue;const K=C(W.args);return{toolCallId:F,questions:K}}return{toolCallId:"",questions:[]}}function x(v,w,y={}){const U=Oe(v)??"";let F=P(v?.questions),W=U;if(!F.length||!W){const K=y.events&&y.streamRuns?Q(y.events,w):y.streamRuns?g(y.streamRuns,w):{toolCallId:"",questions:[]};W||(W=K.toolCallId),F.length||(F=K.questions)}return{toolCallId:W,questions:F}}function h(v,w){for(let y=v.length-1;y>=0;y-=1){const U=v[y];if(U.type!=="requires_action")continue;const F=Ge(U);if(!F)continue;const W=pt(F);if(!W||W!==w)continue;if(String(F?.kind??F?.action_kind??"")==="ask_user")return F}return null}function m(v,w,y,U){if(!w||!v.length){console.warn("AskUser required but questions are missing.");return}e.value&&l.value===U||(t.value=v,n.value=w,o.value=y,l.value=U,u(v),e.value=!0)}function k(v){d.value||(e.value=!1,t.value=[],s.value={},r.value={},n.value=null,o.value=null,l.value=null,v&&v())}return{ASK_USER_OTHER_LABEL:Ut,askUserDialogOpen:e,askUserQuestions:t,askUserSelections:s,askUserOtherInputs:r,askUserToolCallId:n,askUserSessionId:o,askUserRunId:l,askUserBusy:d,askUserDialogEl:a,initAskUserState:u,isAskUserSelected:b,updateAskUserSelection:A,onAskUserOptionChange:E,buildAskUserAnswers:T,normalizeAskUserQuestions:P,parseAskUserQuestionsFromArgs:C,findAskUserFromStreamRun:g,findAskUserFromEvents:Q,resolveAskUserPayload:x,findAskUserRequiresActionPayload:h,openAskUserDialog:m,closeAskUserDialog:k}}function Zs(e){const t=String(e??"").trim();return t?t.replace(/\/+$/,""):""}function er(e,t,s){const r=Zs(e),n=t.startsWith("/")?t:`/${t}`,o=`${r}${n}`;if(!s)return o;const l=o.includes("?")?"&":"?";return`${o}${l}cursor=${encodeURIComponent(s)}`}function Ni(){if(typeof window>"u")return"";try{const e=new URLSearchParams(window.location.search);return String(e.get("token")??"").trim()}catch{return""}}function tr(e,t,s){const r=String(s?.token??"").trim(),n=String(s?.cursor??"").trim(),o=er(e,t,n||void 0);if(!r)return o;const l=o.includes("?")?"&":"?";return`${o}${l}token=${encodeURIComponent(r)}`}function Ot(e){const t=String(e??"").trim();if(!t)return null;try{return JSON.parse(t)}catch{return t}}async function Pe(e,t,s,r){const n=tr(e,t,r),o=await fetch(n,{credentials:"same-origin",headers:{"content-type":"application/json",...s?.headers??{}},...s}),l=await o.text(),d=Ot(l);if(!o.ok){const a=typeof d=="string"?d:JSON.stringify(d);throw new Error(`Request failed (${o.status}): ${a||o.statusText}`)}return d}function it(e="",t){const s=Zs(e),r=String(Ni()).trim();async function n(C){return Pe(s,"/status",{method:"GET",signal:C},{token:r})}async function o(C,g,Q,x){return Pe(s,"/query",{method:"POST",body:JSON.stringify({query:C,input:C,attachments:g,attachmentsBase64:Q,toolContext:x?.toolContext,resume:x?.resume})})}async function l(C,g,Q,x,h){return Pe(s,"/query",{method:"POST",body:JSON.stringify({query:C,input:C,sessionId:g,attachments:Q,attachmentsBase64:x,toolContext:h?.toolContext,resume:h?.resume})})}async function d(){const C=await Pe(s,"/sessions",{method:"GET"},{token:r});return Array.isArray(C.sessions)?C.sessions:[]}async function a(C){return(await Pe(s,`/sessions/${encodeURIComponent(C)}`,{method:"GET"},{token:r})).session??null}async function u(){return Pe(s,"/sessions",{method:"POST"},{token:r})}async function b(C,g){return Pe(s,`/sessions/${encodeURIComponent(C)}/rename`,{method:"POST",body:JSON.stringify({title:g})})}async function A(C){return Pe(s,`/sessions/${encodeURIComponent(C)}`,{method:"DELETE"},{token:r})}async function E(){const C=await Pe(s,"/modes",{method:"GET"});return{currentMode:C.currentMode??"agent",availableModes:C.availableModes??[]}}async function T(C){const g=await Pe(s,"/modes/set",{method:"POST",body:JSON.stringify({mode:C})});return{currentMode:g.currentMode??"agent",availableModes:g.availableModes??[]}}async function P(C,g){const Q=er(s,"/query/stream"),x=await fetch(Q,{method:"POST",credentials:"same-origin",headers:{"content-type":"application/json",accept:"text/event-stream"},body:JSON.stringify({query:C,input:C,sessionId:g.sessionId,attachments:g.attachments,attachmentsBase64:g.attachmentsBase64,toolContext:g.toolContext,resume:g.resume})});if(!x.ok){const U=await x.text(),F=Ot(U),W=typeof F=="string"?F:JSON.stringify(F);throw new Error(`Request failed (${x.status}): ${W||x.statusText}`)}if(!x.body)throw new Error("Response body is null");const h=x.body.getReader(),m=new TextDecoder;let k="",v=!1,w=!1;return(async()=>{try{let U={};for(;!v;){const{done:F,value:W}=await h.read();if(F)break;k+=m.decode(W,{stream:!0});const K=k.split(`
7
- `);k=K.pop()||"";for(const re of K){if(re.startsWith(":"))continue;if(!re.trim()){if(U.data){const pe=U.data,L=Ot(pe);if(L&&typeof L=="object"){const ge=L,Ne=U.type||String(ge.type||"message"),ee={id:U.id??(ge.id?String(ge.id):void 0),type:Ne,ts:ge.ts?String(ge.ts):void 0,seq:typeof ge.seq=="number"?ge.seq:void 0,payload:ge.payload,raw:pe,receivedAt:new Date().toISOString()};if(g.onEvent(ee),Ne==="query.result"&&ge.payload&&g.onComplete)g.onComplete(ge.payload);else if(Ne==="query.error"&&ge.payload&&g.onError){const M=ge.payload;g.onError(new Error(M.error||"Query failed"))}}}U={};continue}const be=re.match(/^id:\s*(.*)$/),se=re.match(/^event:\s*(.*)$/),ie=re.match(/^data:\s*(.*)$/);be?U.id=be[1]:se?U.type=se[1]:ie&&(U.data=(U.data||"")+ie[1])}}}catch(U){!v&&g.onError&&g.onError(U instanceof Error?U:new Error(String(U)))}finally{if(!w)try{h.releaseLock(),w=!0}catch{}}})(),()=>{if(v=!0,!w)try{h.cancel(),h.releaseLock(),w=!0}catch{}}}return{fetchStatus:n,runQuery:o,runQueryWithSession:l,runQueryStream:P,fetchSessions:d,fetchSession:a,createSession:u,renameSession:b,deleteSession:A,fetchModes:E,setMode:T,uploadFile:async C=>{const g=tr(s,"/upload",{token:r}),Q=new FormData;Q.append("file",C);const x=await fetch(g,{method:"POST",body:Q,credentials:"same-origin"}),h=await x.text(),m=Ot(h);if(!x.ok||!m?.file)throw new Error(m?.error||`Upload failed (${x.status})`);return m.file}}}function ji(e){const t=I([]),s=I(""),r=I(!1),n=I(null),o=I(!1),l=I(null),d=it();function a(m){try{URL.revokeObjectURL(m)}catch{}}function u(m){const k=t.value,v=k.find(w=>w.id===m);v?.localUrl&&a(v.localUrl),t.value=k.filter(w=>w.id!==m),t.value.length||(s.value="",r.value=!1)}function b(){for(const m of t.value)m.localUrl&&a(m.localUrl);t.value=[],s.value="",r.value=!1}async function A(m){m.status="uploading",m.error=void 0;try{const k=await d.uploadFile(m.file);m.remote={...k,name:k.name||m.name,mime:k.mime||m.mime,size:k.size||m.size,kind:m.mime.startsWith("image/")?"image":"file"},m.status="ready"}catch(k){m.status="error",m.error=k instanceof Error?k.message:String(k)}}async function E(m){if(!e.value){s.value="Uploads are disabled by the server.";return}s.value="";for(const k of m){const v=Le(),w={id:v,file:k,name:k.name||`attachment-${v.slice(0,6)}`,mime:k.type||"application/octet-stream",size:k.size,localUrl:URL.createObjectURL(k),status:"pending"};t.value=[...t.value,w],w.uploadPromise=A(w),w.uploadPromise}}function T(m){const k=m.clipboardData?.items;if(!k||!k.length)return;const v=[];for(const w of k)if(w.kind==="file"){const y=w.getAsFile();y&&v.push(y)}v.length&&(m.clipboardData?.getData("text")||m.preventDefault(),E(v))}function P(m){const k=m.dataTransfer?.files;if(!k||!k.length)return;const v=Array.from(k);v.length&&E(v)}function C(m){const k=m.target;if(!k?.files)return;const v=Array.from(k.files);k.value="",v.length&&E(v)}function g(){n.value?.click()}function Q(){o.value=!1,g()}function x(){o.value=!o.value}async function h(){const m=t.value.filter(w=>w.status==="pending"&&!w.uploadPromise);for(const w of m)w.uploadPromise=A(w);const k=t.value.map(w=>w.uploadPromise).filter(w=>!!w);k.length&&await Promise.all(k);const v=t.value.filter(w=>w.status==="error");return v.length?(s.value=v[0]?.error??"Attachment upload failed.",[]):t.value.filter(w=>w.status==="ready"&&w.remote).map(w=>({...w.remote,name:w.remote?.name||w.name,mime:w.remote?.mime||w.mime,size:w.remote?.size||w.size,kind:w.remote?.kind||(w.mime.startsWith("image/")?"image":"file")}))}return{attachments:t,attachmentNote:s,attachmentsBase64:r,filePicker:n,composerMenuOpen:o,composerMenuEl:l,removeAttachment:u,clearAttachments:b,handlePaste:T,handleDrop:P,handleFilePick:C,openFilePicker:g,handleAddFile:Q,toggleComposerMenu:x,ensureUploadsReady:h}}function Bi(){const e=I(!1),t=I(null),s=I(!1),r=I(null);function n(l){t.value={id:l.id,title:l.title},e.value=!0}function o(){s.value||(e.value=!1,t.value=null)}return{deleteDialogOpen:e,deleteTarget:t,deleteBusy:s,deleteDialogEl:r,openDeleteDialog:n,closeDeleteDialog:o}}function zi(){const e=new Set(["Connected. Select a session and continue the conversation here.","Session is empty. Start chatting to add messages.","Chat cleared. Start a new conversation."]),t=I([{id:"welcome",role:"system",parts:[Z("Connected. Select a session and continue the conversation here.")],ts:new Date().toISOString()}]),s=I(null),r=Y(()=>d(t.value));function n(h){if(h.role!=="system"||h.parts.length!==1)return!1;const m=h.parts[0];if(!m||m.type!=="markdown")return!1;const k=String(m.raw??"").trim();return e.has(k)}function o(h){return h.filter(m=>!n(m))}function l(){t.value=o(t.value)}function d(h){const m=[];for(const k of h){if(k.role!=="assistant"){m.push(k);continue}const v=m[m.length-1];if(!v||v.role!=="assistant"){m.push(k);continue}m[m.length-1]={...v,parts:[...v.parts,...k.parts],ts:k.ts||v.ts,meta:k.meta}}return m}function a(h,m){l(),t.value=[...t.value,fe(h,[Z(m)])]}function u(h,m){if(!h)return;const k=typeof m=="string"?m:m&&typeof m=="object"&&"result"in m?String(m.result):JSON.stringify(m,null,2);t.value=t.value.map(v=>v.id!==h?v:{...v,parts:[Z(k)],meta:void 0})}function b(h,m){l();const k=[];m.length&&k.push({type:"attachments",items:m}),h.trim()&&k.push(Z(h)),t.value=[...t.value,fe("user",k)]}function A(h){if(!h)return;const m=()=>h?typeof h.result=="string"?h.result:h.result?JSON.stringify(h.result,null,2):h.error?String(h.error):JSON.stringify(h,null,2):"No response",k=t.value[t.value.length-1];(!k||k.role!=="assistant")&&a("assistant",m())}function E(){t.value=[fe("system",[Z("Chat cleared. Start a new conversation.")])]}function T(h){t.value=h}async function P(h){await ze(),await ze();const m=h??s.value;m&&(m.scrollTop=m.scrollHeight)}function C(h,m){if(!h)return;const k=m?`Waiting for approval: ${m}`:"Waiting for approval",v="Waiting for approval";t.value=t.value.map(w=>{if(w.id!==h)return w;const y=w.parts??[],U=y.length>0&&y[0]?.type==="markdown"&&String(y[0].raw??"").startsWith(v)?[Z(k),...y.slice(1)]:[Z(k),...y];return{...w,parts:U,meta:void 0}})}function g(h){if(!h)return;const m="Waiting for your answers",k="Waiting for your answers";t.value=t.value.map(v=>{if(v.id!==h)return v;const w=v.parts??[],y=w.length>0&&w[0]?.type==="markdown"&&String(w[0].raw??"").startsWith(k)?[Z(m),...w.slice(1)]:[Z(m),...w];return{...v,parts:y,meta:void 0}})}function Q(h){if(!h)return;const m="Waiting for approval";t.value=t.value.map(k=>{if(k.id!==h)return k;const v=k.parts??[];return v.length>0&&v[0]?.type==="markdown"&&String(v[0].raw??"").startsWith(m)?{...k,parts:v.slice(1)}:k})}function x(h){if(!h)return;const m="Waiting for your answers";t.value=t.value.map(k=>{if(k.id!==h)return k;const v=k.parts??[];return v.length>0&&v[0]?.type==="markdown"&&String(v[0].raw??"").startsWith(m)?{...k,parts:v.slice(1)}:k})}return{chatMessages:t,chatMessagesRef:s,renderMessages:r,mergeAssistantTurns:d,appendMessage:a,updateStreamingMessageFinal:u,appendUserMessageWithAttachments:b,ensureAssistantReply:A,clearChat:E,setChatMessages:T,removeSystemPlaceholders:l,scrollChatToBottom:P,markMessageAwaitingApproval:C,markMessageAwaitingAnswers:g,clearMessageAwaitingApproval:Q,clearMessageAwaitingAnswers:x}}function Li(){const e=I("agent"),t=I(!1),s=I(null),r=it(),n=Y(()=>e.value.toUpperCase()),o=Y(()=>["agent","plan"]),l=Y(()=>`Message (${e.value.toUpperCase()} mode)...`);async function d(){try{const b=await r.fetchModes();e.value=b.currentMode}catch(b){console.error("Failed to fetch mode:",b)}}async function a(b){t.value=!1;try{const A=await r.setMode(b);e.value=A.currentMode}catch(A){console.error("Failed to set mode:",A),e.value=b}}function u(){t.value=!t.value}return{mode:e,modeMenuOpen:t,modeMenuEl:s,modeLabel:n,modeOptions:o,composerPlaceholder:l,fetchCurrentMode:d,setMode:a,toggleModeMenu:u}}function Qi(){const e=I(""),t=I(!1),s=I(null),r=I(null),n=I(null),o=it();async function l(a,u,b,A,E){const T=(a??e.value).trim(),P=Array.isArray(b)&&b.length>0,C=!!E?.resume;if(!T&&!P&&!C){s.value="Query cannot be empty.";return}t.value=!0,s.value=null;try{r.value=u?await o.runQueryWithSession(T,u,b,A,E):await o.runQuery(T,b,A,E),n.value=new Date().toISOString()}catch(g){s.value=g instanceof Error?g.message:String(g),r.value=null}finally{t.value=!1}}function d(a){e.value=a}return{input:e,loading:t,error:s,response:r,lastRunAt:n,run:l,setInput:d}}function qi(){const e=I(""),t=I(!1),s=I(null),r=I(null),n=I([]),o=I(null),l=it();let d=null;async function a(E,T,P,C,g){const Q=(E??e.value).trim(),x=Array.isArray(P)&&P.length>0,h=!!g?.resume;if(!Q&&!x&&!h){s.value="Query cannot be empty.";return}d&&(d(),d=null),t.value=!0,s.value=null,n.value=[],r.value=null;try{d=await l.runQueryStream(Q,{sessionId:T,attachments:P,attachmentsBase64:C,toolContext:g?.toolContext,resume:g?.resume,onEvent:m=>{n.value=[...n.value,m]},onComplete:m=>{r.value=m,t.value=!1,o.value=new Date().toISOString()},onError:m=>{s.value=m.message,t.value=!1}})}catch(m){s.value=m instanceof Error?m.message:String(m),t.value=!1}}function u(){d&&(d(),d=null,t.value=!1)}function b(E){e.value=E}function A(){n.value=[]}return{input:e,loading:t,error:s,response:r,events:n,lastRunAt:o,run:a,stop:u,setInput:b,clearEvents:A}}function Fi(){const e=I(null),t=I(!1),s=I(null),r=I(null),n=it();async function o(){t.value=!0,s.value=null;try{e.value=await n.fetchStatus(),r.value=new Date().toISOString()}catch(l){s.value=l instanceof Error?l.message:String(l)}finally{t.value=!1}}return{status:e,loading:t,error:s,lastUpdated:r,refresh:o}}function Wi(e){const t=I(""),s=I([]),r=I(null),n=I(""),o=I(""),l=I(""),d=Y(()=>[...e.sessionsError.value?s.value.length?s.value:[{id:"local",title:"Main Session",summary:"Local-only session",updatedAt:void 0}]:e.remoteSessions.value].sort((h,m)=>{const k=Ts(h),v=Ts(m);if(k!==v)return v-k;const w=String(h.title??""),y=String(m.title??""),U=w.localeCompare(y);return U!==0?U:String(h.id??"").localeCompare(String(m.id??""))})),a=Y(()=>!e.sessionsError.value),u=Y(()=>{const x=d.value.find(m=>m.id===t.value);if(x?.title)return x.title;const h=String(r.value?.state?.title??"").trim();return h||(d.value[0]?.title??"Main")}),b=Y(()=>{if(!(!t.value||t.value==="local"))return t.value}),A=Y(()=>{const x=d.value.find(h=>h.id===t.value);return x&&"summary"in x&&x.summary?x.summary:"Shared CLI session"}),E=Y(()=>{const h=d.value.find(v=>v.id===t.value)?.cwd,m=r.value?.metadata?.cwd??r.value?.state?.context?.cwd;return String(h??m??"").trim()||"—"});function T(x){e.sessionsError.value||(n.value=x.id,o.value=x.title,l.value="")}function P(){n.value="",o.value=""}async function C(x){if(e.sessionsError.value)return;const h=o.value.trim();if(!h){l.value="Title cannot be empty.";return}if(await e.renameRemoteSession(x.id,h),e.sessionsError.value){l.value=`Rename failed: ${e.sessionsError.value}`;return}if(l.value=`Renamed session to: ${h}`,x.id===t.value){const m=await e.fetchSession(x.id);m&&(r.value=m)}n.value="",o.value=""}async function g(x,h,m,k){const v=h??t.value;if(!v||v==="local")return!1;const w=x===void 0?await e.fetchSession(v):x;return w?(r.value=w,t.value=v,!0):(r.value=null,!1)}async function Q(){if(!e.sessionsError.value){const m=await e.createRemoteSession();await e.refreshSessions();const k=m?.session?.id??m?.id;return k?(t.value=String(k),String(k)):null}const x=Le(),h={id:x,title:`Local ${x.slice(0,6)}`,updatedAt:Date.now()};return s.value=[h,...s.value],t.value=x,x}return{activeSessionId:t,localSessions:s,sessionSnapshot:r,editingSessionId:n,renameDraft:o,sessionNote:l,sessions:d,canManageSessions:a,activeSessionTitle:u,activeSessionQueryId:b,activeSessionSummary:A,activeSessionCwdLabel:E,startRename:T,cancelRename:P,applyRename:C,refreshActiveSession:g,createSession:Q}}function Vi(){const e=I([]),t=I(!1),s=I(!1),r=I(null),n=it();async function o(){t.value=!0,r.value=null;try{e.value=await n.fetchSessions()}catch(b){r.value=b instanceof Error?b.message:String(b),e.value=[]}finally{t.value=!1}}async function l(){t.value=!0,r.value=null;try{const b=await n.createSession();return await o(),b}catch(b){r.value=b instanceof Error?b.message:String(b)}finally{t.value=!1}}async function d(b){s.value=!0,r.value=null;try{return await n.fetchSession(b)}catch(A){return r.value=A instanceof Error?A.message:String(A),null}finally{s.value=!1}}async function a(b,A){t.value=!0,r.value=null;try{const E=await n.renameSession(b,A);return await o(),E}catch(E){r.value=E instanceof Error?E.message:String(E)}finally{t.value=!1}}async function u(b){t.value=!0,r.value=null;try{await n.deleteSession(b),await o()}catch(A){r.value=A instanceof Error?A.message:String(A)}finally{t.value=!1}}return{sessions:e,loading:t,sessionLoading:s,error:r,refresh:o,create:l,fetchSession:d,rename:a,destroy:u}}function Gi(){const e=I(null),t=I(null),s=new Map,r=new Set,n=I(null),o=I(!1),l=I(!1),d=I(null),a=I(!0);function u(T,P,C){const g=s.get(T);if(g)return g;if(P&&C.activeSessionId.value&&C.activeSessionId.value!=="local"&&C.activeSessionId.value!==P)return null;P&&(!C.activeSessionId.value||C.activeSessionId.value==="local")&&(C.activeSessionId.value=P);const Q=C.createMessage("assistant",[C.buildMarkdownPart("")],new Date().toISOString(),"streaming");C.chatMessages.value=[...C.chatMessages.value,Q];const x={runId:T,sessionId:P??void 0,messageId:Q.id,text:"",hasDelta:!1,thinkingBlocks:[],activeThinkingIndex:-1,eventIndex:0,firstTextIndex:null,toolCalls:new Map,toolResults:new Map};return s.set(T,x),e.value=T,x}function b(T,P){const C=[],g=[];for(let x=0;x<T.thinkingBlocks.length;x+=1){const h=T.thinkingBlocks[x];g.push({kind:"thinking",order:h.order,index:x})}const Q=T.hasDelta?T.text:"";Q&&T.firstTextIndex!=null&&g.push({kind:"text",order:T.firstTextIndex});for(const[x,h]of T.toolCalls)g.push({kind:"tool_call",order:h.order,callId:x});for(const[x,h]of T.toolResults)g.push({kind:"tool_result",order:h.order,callId:x});g.sort((x,h)=>x.order-h.order);for(const x of g){if(x.kind==="thinking"){const m=T.thinkingBlocks[x.index];if(!m)continue;C.push({type:"thinking",title:"Thinking",collapsed:!0,content:m.content});continue}if(x.kind==="text"){C.push({type:"markdown",raw:Q,blocks:ts(Q)});continue}if(x.kind==="tool_call"){const m=T.toolCalls.get(x.callId);if(!m)continue;C.push({type:"tool_call",name:m.name,args:m.args||"No arguments",callId:x.callId});continue}const h=T.toolResults.get(x.callId);h&&C.push({type:"tool_result",name:h.name,output:h.output||"No output",status:h.status,callId:x.callId,structured:h.structured})}if(C.length===0){const x="Thinking…";C.push({type:"markdown",raw:x,blocks:ts(x)})}P.chatMessages.value=P.chatMessages.value.map(x=>x.id!==T.messageId?x:{...x,parts:C,meta:"streaming"})}function A(T,P){const C=s.get(T);C&&(s.delete(T),e.value===T&&(e.value=null),P.chatMessages.value=P.chatMessages.value.map(g=>g.id!==C.messageId?g:{...g,meta:void 0}))}function E(T){r.clear(),n.value=null,o.value=!1,l.value=!1,T.clearStreamQueryEvents();const P=Le();d.value=P,T.chatMessages.value=[...T.chatMessages.value,T.createMessage("assistant",[T.buildMarkdownPart("Thinking...")],new Date().toISOString(),"streaming",P)]}return{activeStreamRunId:e,lastStreamEventId:t,streamRuns:s,streamQueryRunIds:r,activeStreamQueryRunId:n,streamQueryHasDelta:o,streamQueryPaused:l,currentStreamMessageId:d,useStreamingQuery:a,ensureStreamRun:u,updateStreamMessage:b,finalizeStreamRun:A,beginStreamQueryMessage:E}}let We;function Ji(){const e=I(""),t=I("info"),s=I(!1);function r(){s.value=!1,We&&(clearTimeout(We),We=void 0)}function n(o,l="info",d=2200){e.value=o,t.value=l,s.value=!0,We&&clearTimeout(We),We=globalThis.setTimeout(()=>{s.value=!1,We=void 0},d)}return{toastMessage:e,toastKind:t,toastVisible:s,showToast:n,hideToast:r}}const Ps="goatchain:tool-approvals";function Hi(){const e=I("auto"),t=I(!1),s=I([]),r=I(null),n=I(null),o=I(!1),l=I(null),d=Y(()=>s.value[0]??null),a=Y(()=>s.value.length);function u(){if(!(typeof window>"u"))try{const g=window.localStorage.getItem(Ps);e.value=g==="all"?"all":"auto"}catch{e.value="auto"}}function b(g){if(!(typeof window>"u"))try{window.localStorage.setItem(Ps,g)}catch{}}function A(g,Q){const x={};if((Q||e.value==="all")&&(x.autoApprove=!0),g&&Object.keys(g).length>0&&(x.decisions=g),!!Object.keys(x).length)return{approval:x}}function E(g,Q){const x=new Map,h=[],m=new Set;for(const k of g){const v=Ge(k);if(!v)continue;const w=pt(v);if(!(!w||w!==Q)){if(k.type==="tool.call"){const y=Oe(v);if(!y)continue;const U=Dt(v),{args:F,delta:W}=Nt(v),K=!W;x.has(y)||h.push(y);const re=x.get(y)??{name:U,args:""};x.set(y,{name:re.name||U,args:K?F:`${re.args}${F}`});continue}if(k.type==="tool.result"){const y=Oe(v);y&&m.add(y)}}}return h.filter(k=>!m.has(k)).map(k=>{const v=x.get(k);return{toolCallId:k,toolName:v?.name||"tool",args:v?.args||"No arguments"}})}function T(g,Q){const x=g.get(Q);if(!x)return[];const h=[];for(const[m,k]of x.toolCalls)x.toolResults.has(m)||h.push({toolCallId:m,toolName:k.name,args:k.args||"No arguments"});return h}function P(g,Q,x){if(!Q){console.warn("Approval required but session id is missing.");return}if(!(t.value&&n.value===x)){if(!g.length){console.warn("Approval required but no tool calls were found.");return}if(e.value==="all"){s.value=[],r.value=Q,n.value=x;return}s.value=g,r.value=Q,n.value=x,t.value=!0}}function C(g){o.value||(t.value=!1,s.value=[],r.value=null,n.value=null,g&&g())}return{toolApprovalsMode:e,approvalDialogOpen:t,approvalRequests:s,approvalSessionId:r,approvalRunId:n,approvalBusy:o,approvalDialogEl:l,activeApproval:d,approvalCount:a,loadToolApprovalsMode:u,persistToolApprovalsMode:b,buildToolContext:A,collectPendingApprovalsFromEvents:E,collectPendingApprovalsFromRun:T,openApprovalDialog:P,closeApprovalDialog:C}}function jt(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function Ki(e){if(jt(e))return e;if(typeof e=="string"){const t=e.trim();if(!t)return{};try{const s=JSON.parse(t);return jt(s)?s:{_raw:e}}catch{return{_raw:e}}}return{}}function Xt(e){const t=e?.context?.messages,s=Array.isArray(t)?t:[];if(!s.length)return[fe("system",[Z("Session is empty. Start chatting to add messages.")])];const r=[],n=new Map,o=new Map;for(const l of s){const d=String(l?.role??""),a=String(l?.createdAt??l?.createdAtMs??l?.created_at??"");if(d==="user"){const{text:u,attachments:b}=Us(l?.content),A=ec(u),E=[];A.focusFiles?.length&&E.push({type:"attachments",items:A.focusFiles.map(T=>({id:Le(),kind:"path",label:T}))}),b.length&&E.push({type:"attachments",items:b}),A.content.trim()&&E.push(Z(A.content)),r.push(fe("user",E,a));continue}if(d==="assistant"){const u=[],b=sr(l?.reasoning_content).trim();b&&u.push({type:"thinking",title:"Thinking",collapsed:!0,content:b});const{text:A,attachments:E}=Us(l?.content);A.trim()&&u.push(Z(A)),E.length&&u.push({type:"attachments",items:E});const T=Array.isArray(l?.tool_calls)?l.tool_calls:[];for(const P of T){const C=String(P?.id??"").trim(),g=String(P?.function?.name??"tool"),Q=Ki(P?.function?.arguments);C&&(n.set(C,r.length),o.set(C,g)),u.push({type:"tool_call",name:g,args:Xa(Q),callId:C||void 0})}r.push(fe("assistant",u,a));continue}if(d==="tool"){const u=String(l?.tool_call_id??"").trim(),b=u?o.get(u):void 0,A=Za(l?.content,b);let E;if(l?.structuredContent)try{E=JSON.stringify(l.structuredContent,null,2)}catch{E=String(l.structuredContent)}const T={type:"tool_result",name:b,output:A,status:l?.isError?"error":"success",callId:u||void 0,structured:E},P=u?n.get(u):void 0;if(P!=null&&r[P]){const C=r[P];r[P]={...C,parts:[...C.parts,T]}}else r.push(fe("assistant",[T],a))}}return r.length?r:[fe("system",[Z("Session is empty. Start chatting to add messages.")])]}function sr(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(sr).join("");if(jt(e)){const t=e.text;if(typeof t=="string")return t;try{return JSON.stringify(e)}catch{return String(e)}}return String(e)}function Us(e){const t=[],s=[],r=a=>{a&&t.push(a)},n=a=>{a&&s.push(a)},o=a=>{if(a==null)return;if(typeof a=="string"){r(a);return}if(Array.isArray(a)){for(const b of a)o(b);return}if(!jt(a)){r(String(a));return}const u=String(a.type??"").toLowerCase();if(typeof a.text=="string"&&r(String(a.text)),u.includes("image")){const b=Yi(a);n({id:Le(),kind:"image",label:a.name??"image",url:b??void 0,meta:b?void 0:"Image payload"});return}if(u.includes("file")){const{label:b,url:A,meta:E}=Xi(a);n({id:Le(),kind:"file",label:b,url:A,meta:E});return}"text"in a||r(JSON.stringify(a))};o(e);const l=t.join(""),d=Zi(l);return{text:d.text,attachments:[...s,...d.attachments]}}function Yi(e){const t=e.image_url;if(typeof t=="string")return t;if(t&&typeof t=="object"&&typeof t.url=="string")return t.url;if(typeof e.url=="string")return e.url;const s=e.source;if(s&&typeof s=="object"){if(typeof s.url=="string")return s.url;if(typeof s.data=="string")return`data:${String(s.media_type??"image/png")};base64,${s.data}`}return null}function Xi(e){const t=e.file,s=String(e.name??e.filename??t?.name??t?.filename??t?.id??"file"),r=typeof e.url=="string"?e.url:typeof t?.url=="string"?t.url:void 0,n=e.size??t?.size,o=e.mime_type??t?.mime_type??t?.type,l=[];return o&&l.push(String(o)),n&&l.push(`${n} bytes`),{label:s,url:r,meta:l.length?l.join(" · "):void 0}}function Zi(e){let t=String(e??"");const s=[],r=/\[attachment_base64\][\s\S]*?\[\/attachment_base64\]/gi;t=t.replace(r,"").trim();const n=/\[attachments\]([\s\S]*?)\[\/attachments\]/i,o=t.match(n);if(o){const d=(o[1]??"").split(`
8
- `);for(const a of d){const u=a.trim();if(!u.startsWith("-"))continue;const A=u.replace(/^-+\s*/,"").match(/^(.*?)\s*\(([^,]+),\s*([^)]+)\)\s*(.+)?$/);if(!A)continue;const E=A[1]?.trim()||"attachment",T=A[2]?.trim()||"",P=A[3]?.trim()||"",C=A[4]?.trim()||void 0,g=T.startsWith("image/")||C&&/\.(png|jpe?g|gif|webp|svg)$/i.test(C)?"image":"file";s.push({id:Le(),kind:g,label:E,url:C,meta:[T,P].filter(Boolean).join(" · ")})}t=t.replace(n,"").trim()}return{text:t,attachments:s}}function ec(e){const t=String(e??"").replace(/\r/g,"");if(!t)return{content:""};const s=t.split(`
9
- `),r=String(s[0]??"").trim();if(r!=="[focus_files]"&&r!=="[user_focus_files]"){const d=(b=>{const A=String(b??"");if(!A)return null;const E=[];let T=0;for(;T<A.length;){for(;T<A.length&&(A[T]===" "||A[T]===" "||A[T]===`
10
- `);)T+=1;const C=A.slice(T).match(/^\[([^\]]*)\]\(((?:\\\)|[^)])+)\)/);if(!C)break;let g=String(C[2]??"").trim();if(g.startsWith("<")&&g.endsWith(">")&&(g=g.slice(1,-1)),g=g.replace(/\\\)/g,")").trim(),!(g.startsWith("/")||/^[A-Z]:[\\/]/i.test(g)))break;g&&E.push(g),T+=C[0].length}if(!E.length)return null;let P=A.slice(T);return P=P.replace(/^[ \t]+/g,""),P.startsWith(`
11
-
12
- `)?P=P.slice(2):(P.startsWith(`
13
- `)||P.startsWith(" "))&&(P=P.slice(1)),{content:P,focusFiles:E}})(t);if(d)return d;const a=[];let u=0;for(;u<s.length;u+=1){const b=String(s[u]??"");if(!b.trim())break;const A=b.match(/^\s*\[([^\]]*)\]\((.+)\)\s*$/);if(!A)break;let E=String(A[2]??"").trim();if(E.startsWith("<")&&E.endsWith(">")&&(E=E.slice(1,-1)),E=E.replace(/\\\)/g,")").trim(),!(E.startsWith("/")||/^[A-Z]:[\\/]/i.test(E)))break;E&&a.push(E)}if(!a.length)return{content:t};for(;u<s.length&&!String(s[u]??"").trim();)u+=1;return{content:s.slice(u).join(`
14
- `),focusFiles:a}}const n=[];let o=1;for(;o<s.length;o+=1){const l=String(s[o]??"");if(!l.trim())break;const d=l.match(/^\s*-\s*\[[^\]]*\]\((.+)\)\s*$/);if(!d)break;let a=String(d[1]??"").trim();a.startsWith("<")&&a.endsWith(">")&&(a=a.slice(1,-1)),a=a.replace(/\\\)/g,")").trim(),a&&n.push(a)}if(!n.length)return{content:t};for(;o<s.length&&!String(s[o]??"").trim();)o+=1;return{content:s.slice(o).join(`
15
- `),focusFiles:n}}const tc={class:"h-full"},sc={class:"flex h-full w-full bg-background-light dark:bg-background-dark transition-colors duration-200"},rc={class:"flex-1 flex flex-col h-full relative bg-background-light dark:bg-background-dark overflow-hidden"},nc="AskUserTool.execute() was called without answers.",lc=ye({__name:"index",setup(e){function t(){if(typeof window>"u")return!1;const c=localStorage.getItem("goatchain-theme");return c==="dark"?!0:c==="light"?!1:window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches}const s=I(t());function r(c){typeof document>"u"||(document.documentElement.classList.toggle("dark",c),localStorage.setItem("goatchain-theme",c?"dark":"light"))}const{status:n,loading:o,error:l,lastUpdated:d,refresh:a}=Fi(),u=I([]),b=I(null),A=c=>{},{loading:E,error:T,response:P,run:C}=Qi(),{loading:g,error:Q,response:x,events:h,run:m,stop:k,clearEvents:v}=qi(),{sessions:w,loading:y,error:U,refresh:F,create:W,fetchSession:K,rename:re,destroy:be}=Vi(),se=I(!1),ie=I("");let pe=null;const L=Ji(),ge=Bi(),Ne=Li(),ee=zi(),M=Gi(),me=Y(()=>!!n.value?.capabilities?.uploads),ve=Y(()=>!!n.value?.capabilities?.images),He=ji(me),ce=Wi({remoteSessions:w,sessionsError:U,fetchSession:K,renameRemoteSession:re,destroyRemoteSession:be,createRemoteSession:W,refreshSessions:F,snapshotToChatMessages:Xt}),J=Di(),xe=Hi(),Ke=Y(()=>n.value?.serverVersion??"unknown"),Ye=Y(()=>ie.value||"pending"),ct=Y(()=>d.value?`Updated ${es(d.value)}`:"Status pending"),Xe=Y(()=>U.value?"Sessions offline":`${ce.sessions.value.length} sessions`),rr=Y(()=>{const c=n.value;return[{label:"Origin",value:Ye.value},{label:"Protocol",value:c?.protocolVersion??"unknown"},{label:"Server",value:Ke.value},{label:"Started",value:es(c?.startedAt)},{label:"PID",value:c?.pid?String(c.pid):"unknown"},{label:"Port",value:c?.port?String(c.port):"unknown"},{label:"Cursor",value:c?.cursor?String(c.cursor):"—"}]}),nr=Y(()=>b.value?"received from event stream":n.value?.snapshot?"received from /status":""),or=Y(()=>{const c=b.value??n.value?.snapshot;return c?typeof c=="string"?c:JSON.stringify(c,null,2):""}),ar=Y(()=>{const c=n.value?.capabilities??{},f=Object.entries(c),S={uploads:"Uploads",images:"Image preview",tools:"Tool calls",auth:"Auth required"};return f.map(([_,p])=>({key:_,label:S[_]??_,enabled:!!p})).sort((_,p)=>_.key.localeCompare(p.key))}),lr=Y(()=>{const c=ce.sessionSnapshot.value,f=Number(c?.context?.messageCount??ee.chatMessages.value.filter(te=>te.role!=="system").length)||0,S=c?.stats?.usage??{},_=Number(S.promptTokens??S.prompt_tokens??0)||0,p=Number(S.completionTokens??S.completion_tokens??0)||0,q=Number(S.totalTokens??S.total_tokens??0)||0||_+p;return[`${f} messages`,`${q} tokens`].join(" · ")}),ir=Y(()=>[{label:"Start server",command:"dim server --open"},{label:"Start with token",command:"dim server --token <token> --open"},{label:"Check version",command:"dim version"},{label:"Config file",command:"cat ~/.dimcode/config.json"},{label:"Tools file",command:"cat ~/.dimcode/tools.json"}]),{showToast:ae,hideToast:rs,toastMessage:cr,toastKind:dr,toastVisible:ur}=L,{deleteDialogOpen:ns,deleteTarget:Bt,deleteBusy:gt,deleteDialogEl:mr,openDeleteDialog:fr,closeDeleteDialog:os}=ge,{modeMenuOpen:as,modeMenuEl:ls,modeLabel:pr,modeOptions:gr,composerPlaceholder:vr,fetchCurrentMode:hr,setMode:yr,toggleModeMenu:br}=Ne,{attachments:zt,attachmentNote:xr,attachmentsBase64:vt,composerMenuOpen:is,composerMenuEl:cs,removeAttachment:kr,clearAttachments:Ze,handlePaste:wr,handleDrop:Sr,handleFilePick:Cr,handleAddFile:$r,toggleComposerMenu:Ir,ensureUploadsReady:Ar}=He,{ASK_USER_OTHER_LABEL:Mr,askUserDialogOpen:ht,askUserQuestions:Rr,askUserSelections:Tr,askUserOtherInputs:ds,askUserBusy:Lt,isAskUserSelected:Er,onAskUserOptionChange:Pr,buildAskUserAnswers:Ur,openAskUserDialog:yt,closeAskUserDialog:bt}=J,{toolApprovalsMode:et,approvalDialogOpen:Qe,approvalRequests:Or,approvalBusy:Qt,activeApproval:qt,approvalCount:_r,loadToolApprovalsMode:Dr,persistToolApprovalsMode:us,buildToolContext:xt,openApprovalDialog:Nr,closeApprovalDialog:dt}=xe,{chatMessages:_e,renderMessages:jr,appendMessage:tt,updateStreamingMessageFinal:Br,appendUserMessageWithAttachments:zr,ensureAssistantReply:ms,clearChat:Lr,setChatMessages:fs,scrollChatToBottom:kt,markMessageAwaitingApproval:Qr,markMessageAwaitingAnswers:qr,clearMessageAwaitingApproval:Fr,clearMessageAwaitingAnswers:Wr}=ee,{activeSessionId:de,editingSessionId:Vr,renameDraft:ps,sessionNote:wt,sessions:Ft,canManageSessions:Gr,activeSessionTitle:Jr,activeSessionQueryId:Wt,activeSessionSummary:Hr,activeSessionCwdLabel:gs,startRename:Kr,cancelRename:Yr,applyRename:Xr,refreshActiveSession:ut,createSession:Zr}=ce,St=I(""),Vt=I(!1),Ct=I(null),$t=I(null);function It(c,f){c&&(Ct.value=c,Qr(c,f))}function en(){Ct.value&&(Fr(Ct.value),Ct.value=null)}function st(c){c&&($t.value=c,qr(c))}function tn(){$t.value&&(Wr($t.value),$t.value=null)}const sn=I(null),rn=I(null),vs=I(null),hs=I(null),Ae=I(null),nn=Y(()=>M.activeStreamRunId.value?"Running":g.value?"Streaming...":E.value?"Sending":"Send"),on=Y(()=>E.value||g.value||!!M.activeStreamRunId.value||Qe.value||Qt.value||ht.value||Lt.value);function ys(c,f,S){return!!(S&&c==="AskUserQuestion"&&f.includes(nc))}function an(c){et.value!==c&&(et.value=c,us(c),ae(c==="all"?"Tool approvals set to always allow.":"Tool approvals set to auto (prompt for high-risk tools).","success",2400))}function ln(){if(typeof window>"u")return!1;const c=new URLSearchParams(window.location.search);if(!c.has("debug"))return!1;const f=String(c.get("debug")??"").trim().toLowerCase();return!f||f==="1"||f==="true"||f==="yes"}function rt(){Lr(),Ze()}function At(c,f,S){if(!f){ae("Approval required but session id is missing.","error",2600);return}if(!c.length){ae("Approval required but no tool calls were found.","error",2600);return}if(et.value==="all"){xe.approvalRequests.value=[],xe.approvalSessionId.value=f,xe.approvalRunId.value=S;const _={};for(const p of c)_[p.toolCallId]={approved:!0};Rt(_,{autoApprove:!0});return}Nr(c,f,S)}async function cn(){if(U.value||!Bt.value||gt.value)return;gt.value=!0;const c=Bt.value;if(await be(c.id),gt.value=!1,U.value){wt.value=`Delete failed: ${U.value}`;return}if(wt.value=`Deleted session: ${c.title}`,de.value===c.id){const f=w.value.filter(S=>S.id!==c.id);f.length?await Mt(f[0].id):(de.value="",ce.sessionSnapshot.value=null,rt())}os()}async function Mt(c){if(g.value&&k(),dt(()=>{M.streamQueryPaused.value=!1}),bt(()=>{M.streamQueryPaused.value=!1}),M.streamQueryPaused.value=!1,de.value=c,wt.value="",Ze(),M.currentStreamMessageId.value=null,c==="local"){ce.sessionSnapshot.value=null,rt(),await kt(Ae.value);return}const f=await K(c);if(await ut(f)&&ce.sessionSnapshot.value){const _=Xt(ce.sessionSnapshot.value);_.length>0?fs(_):rt()}else rt();await kt(Ae.value)}async function dn(){const c=await Zr();if(U.value){rt();return}c&&await Mt(c)}async function bs(){if(Qe.value||Qt.value||ht.value||Lt.value){ae("Resolve the pending prompt before sending a new message.","info",2400);return}const c=St.value.trim(),f=zt.value.length>0;if(!c&&!f)return;const S=f?await Ar():[];if(!(f&&!S.length)){if(f){const _=zt.value.map(p=>({id:p.id,kind:p.mime.startsWith("image/")?"image":"file",label:p.name,url:p.localUrl,meta:p.status==="ready"?void 0:p.status}));zr(c,_)}else tt("user",c);if(St.value="",M.useStreamingQuery.value){M.beginStreamQueryMessage({clearStreamQueryEvents:v,createMessage:fe,buildMarkdownPart:Z,chatMessages:ee.chatMessages});const _=xt();m(c,Wt.value,S,vt.value,{toolContext:_})}else{await C(c,Wt.value,S,vt.value,{toolContext:xt()});const _=P.value?.sessionId;if(_&&_!==de.value&&(de.value=_),T.value){tt("assistant",`Error: ${T.value}`);return}T.value||Ze(),!U.value&&_?(await F(),await ut(void 0,_)?ms(P.value||{}):tt("assistant",Pt(P.value||{}))):tt("assistant",Pt(P.value||{}))}}}function un(c){c.isComposing||Vt.value||(c.preventDefault(),bs())}function mn(){Vt.value=!0}function fn(){Vt.value=!1}async function pn(){await a(),l.value||A(n.value?.cursor)}async function xs(){if(!g.value)if(de.value&&de.value!=="local")try{const c=await K(de.value);if(await ut(c)&&ce.sessionSnapshot.value){const S=Xt(ce.sessionSnapshot.value);S.length>0?fs(S):rt(),await kt(Ae.value),ae("Session refreshed","success")}else ae("Failed to refresh session","error",2600)}catch(c){ae(`Refresh failed: ${c}`,"error",2600)}else A(n.value?.cursor)}async function ks(c){await C(c,Wt.value,void 0,void 0,{toolContext:xt()});const f=P.value?.sessionId;if(f&&f!==de.value&&(de.value=f),T.value){ae(`Quick action failed: ${T.value}`,"error",2600);return}!U.value&&f?(await F(),await ut(void 0,f)?ms(P.value||{}):tt("assistant",Pt(P.value||{}))):tt("assistant",Pt(P.value||{})),ae(`Ran quick query: ${c}`,"success")}async function gn(){if(!ie.value)return ae("Origin not available yet.","error");try{await navigator.clipboard.writeText(ie.value),ae("Origin copied to clipboard.","success")}catch{ae("Clipboard unavailable. Copy manually.","error")}}async function vn(c,f){try{await navigator.clipboard.writeText(c),ae(`Copied: ${f}`,"success")}catch{ae("Clipboard unavailable. Copy manually.","error")}}async function Rt(c,f){const S=xe.approvalSessionId.value??de.value;if(!S||S==="local"){ae("Cannot resume approvals without a session id.","error",2600);return}en(),xe.approvalBusy.value=!0;try{const _=xt(c,f?.autoApprove);g.value&&k(),M.beginStreamQueryMessage({clearStreamQueryEvents:v,createMessage:fe,buildMarkdownPart:Z,chatMessages:ee.chatMessages}),await m("",S,void 0,void 0,{resume:!0,toolContext:_})}catch(_){const p=_ instanceof Error?_.message:String(_);ae(`Resume failed: ${p}`,"error",2600)}finally{xe.approvalBusy.value=!1}}async function ws(c,f,S){const _=J.askUserSessionId.value??de.value;if(!_||_==="local"){ae("Cannot resume AskUser without a session id.","error",2600);return}tn(),J.askUserBusy.value=!0;try{const p={answers:Object.keys(f).length?{[c]:f}:{}};S&&(p.rejected={[c]:S});const D={askUser:p};g.value&&k(),M.beginStreamQueryMessage({clearStreamQueryEvents:v,createMessage:fe,buildMarkdownPart:Z,chatMessages:ee.chatMessages}),await m("",_,void 0,void 0,{resume:!0,toolContext:D})}catch(p){const D=p instanceof Error?p.message:String(p);ae(`Resume failed: ${D}`,"error",2600)}finally{J.askUserBusy.value=!1}}async function hn(){const c=J.askUserToolCallId.value;if(!c){ae("AskUser tool call id is missing.","error",2600);return}const f=Ur();await ws(c,f),bt(()=>{M.streamQueryPaused.value=!1})}async function yn(){const c=J.askUserToolCallId.value;if(!c){bt(()=>{M.streamQueryPaused.value=!1});return}await ws(c,{},"User cancelled the question"),bt(()=>{M.streamQueryPaused.value=!1})}async function bn(){const c=qt.value;if(!c)return;Qe.value=!1;const f={[c.toolCallId]:{approved:!0}};await Rt(f),dt(()=>{M.streamQueryPaused.value=!1})}async function xn(){const c=Or.value;if(!c.length)return;et.value="all",us("all");const f={};for(const S of c)f[S.toolCallId]={approved:!0};Qe.value=!1,await Rt(f,{autoApprove:!0}),dt(()=>{M.streamQueryPaused.value=!1}),ae("Tool approvals set to always allow.","success",2400)}async function kn(){const c=qt.value;if(!c){dt(()=>{M.streamQueryPaused.value=!1});return}Qe.value=!1;const f={[c.toolCallId]:{approved:!1}};await Rt(f),dt(()=>{M.streamQueryPaused.value=!1})}function wn(c){const f=Ge(c),S=pt(f),_=ot(f);if(S&&!(_&&de.value&&de.value!=="local"&&de.value!==_)){if(c.type==="thinking_start"){const p=M.ensureStreamRun(S,_,{activeSessionId:ce.activeSessionId,chatMessages:ee.chatMessages,createMessage:fe,buildMarkdownPart:Z});if(!p)return;p.eventIndex+=1,p.activeThinkingIndex=p.thinkingBlocks.length,p.thinkingBlocks.push({content:"",order:p.eventIndex}),M.updateStreamMessage(p,{chatMessages:ee.chatMessages});return}if(c.type==="thinking_delta"){const p=M.ensureStreamRun(S,_,{activeSessionId:ce.activeSessionId,chatMessages:ee.chatMessages,createMessage:fe,buildMarkdownPart:Z});if(!p)return;const D=typeof f?.delta=="string"?f.delta:"";if(D){p.activeThinkingIndex<0&&(p.eventIndex+=1,p.activeThinkingIndex=p.thinkingBlocks.length,p.thinkingBlocks.push({content:"",order:p.eventIndex}));const q=p.activeThinkingIndex,G=p.thinkingBlocks[q];G&&(G.content=`${G.content??""}${D}`)}M.updateStreamMessage(p,{chatMessages:ee.chatMessages});return}if(c.type==="thinking_end"){const p=M.ensureStreamRun(S,_,{activeSessionId:ce.activeSessionId,chatMessages:ee.chatMessages,createMessage:fe,buildMarkdownPart:Z});if(!p)return;const D=typeof f?.content=="string"?f.content:"";if(D)if(p.activeThinkingIndex<0)p.eventIndex+=1,p.activeThinkingIndex=p.thinkingBlocks.length,p.thinkingBlocks.push({content:D,order:p.eventIndex});else{const q=p.activeThinkingIndex,G=p.thinkingBlocks[q];G&&(G.content=D)}p.activeThinkingIndex=-1,M.updateStreamMessage(p,{chatMessages:ee.chatMessages});return}if(c.type==="message.delta"){const p=M.ensureStreamRun(S,_,{activeSessionId:ce.activeSessionId,chatMessages:ee.chatMessages,createMessage:fe,buildMarkdownPart:Z});if(!p)return;const D=String(f?.delta??"");D&&(p.eventIndex+=1,p.firstTextIndex==null&&(p.firstTextIndex=p.eventIndex),p.text+=D,p.hasDelta=!0),M.updateStreamMessage(p,{chatMessages:ee.chatMessages});return}if(c.type==="tool.call"){const p=M.ensureStreamRun(S,_,{activeSessionId:ce.activeSessionId,chatMessages:ee.chatMessages,createMessage:fe,buildMarkdownPart:Z});if(!p)return;const D=Oe(f);if(!D)return;const q=Dt(f)||"",{args:G,delta:te}=Nt(f);p.toolCalls.get(D)||(p.eventIndex+=1,p.toolCalls.set(D,{name:q,args:te?`${te}`:G,order:p.eventIndex}));const B=p.toolCalls.get(D);B&&(!B.name&&q&&(B.name=q),te?B.args=`${B.args??""}${te}`:B.args||(B.args=G)),M.updateStreamMessage(p,{chatMessages:ee.chatMessages});return}if(c.type==="tool.output"){const p=M.ensureStreamRun(S,_,{activeSessionId:ce.activeSessionId,chatMessages:ee.chatMessages,createMessage:fe,buildMarkdownPart:Z});if(!p)return;const q=(Oe(f)??"")||"tool",G=typeof f?.delta=="string"?f.delta:"",te=p.toolResults.get(q);te?p.toolResults.set(q,{name:te.name,output:`${te.output??""}${G}`,status:te.status??"success",structured:te.structured,order:te.order}):(p.eventIndex+=1,p.toolResults.set(q,{name:p.toolCalls.get(q)?.name,output:G,status:"success",structured:te?.structured,order:p.eventIndex})),M.updateStreamMessage(p,{chatMessages:ee.chatMessages});return}if(c.type==="tool.result"){const p=M.streamRuns.get(S);if(!p)return;const D=Oe(f);if(!D)return;const q=String(f?.output??""),G=!!(f?.isError??f?.error),te=G?"error":"success",ke=p.toolCalls.get(D)?.name;if(ys(ke,q,G))return;const B=p.toolResults.get(D||"tool");B||(p.eventIndex+=1),p.toolResults.set(D||"tool",{name:ke,output:q||B?.output||"",status:te,structured:f?.structuredContent?JSON.stringify(f.structuredContent):B?.structured,order:B?.order??p.eventIndex}),M.updateStreamMessage(p,{chatMessages:ee.chatMessages});return}if(c.type==="run.status"){const p=typeof f?.status=="string"?f.status:"",D=typeof f?.stopReason=="string"?f.stopReason:"";if(p==="started"||p==="running"){M.ensureStreamRun(S,_,{activeSessionId:ce.activeSessionId,chatMessages:ee.chatMessages,createMessage:fe,buildMarkdownPart:Z});return}if(p==="completed"||p==="done"||p==="error"){if(D==="approval_required"){if(J.askUserRunId.value===S){const ke=M.streamRuns.get(S);ke&&st(ke.messageId),M.finalizeStreamRun(S,{chatMessages:ee.chatMessages});return}const q=M.streamRuns.get(S),G=xe.collectPendingApprovalsFromRun(M.streamRuns,S),te=G[0]?.toolName;q&&It(q.messageId,te),At(G,_??null,S)}M.finalizeStreamRun(S,{chatMessages:ee.chatMessages});return}return}if(c.type==="requires_action"){const p=String(f?.kind??f?.action_kind??"");if(p==="ask_user"){const D=J.resolveAskUserPayload(f,S,{events:u.value,streamRuns:M.streamRuns}),q=M.streamRuns.get(S);q&&st(q.messageId),D.questions.length&&yt(D.questions,D.toolCallId,_||null,S);return}if(p==="tool_approval"||p==="tool_approvals"){const D=M.streamRuns.get(S),q=xe.collectPendingApprovalsFromRun(M.streamRuns,S),G=q[0]?.toolName;D&&It(D.messageId,G),At(q,_??null,S)}}}}function Sn(c){if(!M.useStreamingQuery.value||!g.value||!c.length)return null;let f="";const S=[];let _=null;const p=new Map,D=new Map,q=new Map,G=[],te=new Set,ke=M.activeStreamQueryRunId.value;let B=0,we=null;const Me=le=>{te.has(le)||(te.add(le),G.push(le))};for(const le of c){const je=Kt(le);if(ke&&je&&je!==ke)continue;const ne=Ge(le);if(ne){if(le.type==="thinking_start"){B+=1,_=S.length,S.push({content:"",order:B});continue}if(le.type==="thinking_delta"){const X=typeof ne.delta=="string"?ne.delta:"";if(X){(_==null||_<0)&&(B+=1,_=S.length,S.push({content:"",order:B}));const Se=S[_];Se&&(Se.content=`${Se.content??""}${X}`)}continue}if(le.type==="thinking_end"){const X=typeof ne.content=="string"?ne.content:"";if(X)if(_==null||_<0)B+=1,S.push({content:X,order:B});else{const Re=S[_];Re&&(Re.content=X)}_=null;continue}if(le.type==="message.delta"){const X=typeof ne.delta=="string"?ne.delta:"";X&&(B+=1,we==null&&(we=B),f+=X);continue}if(le.type==="tool.call"){B+=1;const X=Oe(ne)??`call-${G.length}`,Re=Dt(ne)||"tool",{args:Se,delta:Gt}=Nt(ne),mt=!Gt;Me(X);const qe=p.get(X)??{name:Re,args:"",order:B};p.set(X,{name:qe.name||Re,args:mt?Se:`${qe.args}${Se}`,order:qe.order});continue}if(le.type==="tool.output"){B+=1;const X=Oe(ne)??"tool";Me(X);const Re=typeof ne.delta=="string"?ne.delta:"",Se=D.get(X);q.has(X)||q.set(X,B),D.set(X,{name:Se?.name??p.get(X)?.name,output:`${Se?.output??""}${Re}`,status:Se?.status??"success",structured:Se?.structured});continue}if(le.type==="tool.result"){B+=1;const X=Oe(ne)??"tool";Me(X);const Re=String(ne.output??""),Se=!!(ne.isError??ne.error),Gt=p.get(X)?.name;if(ys(Gt,Re,Se))continue;let mt;if(ne.structuredContent)try{mt=JSON.stringify(ne.structuredContent)}catch{mt=String(ne.structuredContent)}q.has(X)||q.set(X,B);const qe=D.get(X);D.set(X,{name:p.get(X)?.name??qe?.name,output:Re||qe?.output||"",status:Se?"error":"success",structured:mt??qe?.structured})}}}return{text:f,toolCalls:G.map(le=>{const je=p.get(le);return je?{...je,callId:le}:null}).filter(Boolean),toolResults:G.map(le=>{const je=D.get(le),ne=q.get(le);return je&&ne!=null?{...je,callId:le,order:ne}:null}).filter(Boolean),thinkingBlocks:S,firstTextIndex:we}}return $n(async()=>{typeof window<"u"&&(ie.value=window.location.origin),se.value=ln(),Dr(),await Promise.all([a(),F(),hr()]),!de.value&&Ft.value.length>0&&await Mt(Ft.value[0].id),l.value||A(n.value?.cursor),pe=c=>{const f=c.target;cs.value&&!cs.value.contains(f)&&(is.value=!1),ls.value&&!ls.value.contains(f)&&(as.value=!1)},window.addEventListener("mousedown",pe)}),In(()=>{pe&&window.removeEventListener("mousedown",pe),k(),Ze(),rs()}),Te(n,c=>{c?.snapshot&&!b.value&&(b.value=c.snapshot)}),Te(s,c=>{r(c)},{immediate:!0}),Te(u,c=>{const f=c[0];if(!f)return;const S=f.id||`${f.type}-${f.receivedAt}`;if(M.lastStreamEventId.value===S)return;M.lastStreamEventId.value=S;const _=Kt(f);_&&M.streamQueryRunIds.has(_)||M.useStreamingQuery.value&&g.value&&M.currentStreamMessageId.value&&["run.status","message.delta","thinking_start","thinking_delta","thinking_end","tool.call","tool.output","tool.result","requires_action"].includes(f.type)||wn(f)}),Te(ns,c=>{c&&ze(()=>mr.value?.focus())}),Te(Qe,c=>{c&&ze(()=>vs.value?.dialogEl?.focus())}),Te(ht,c=>{c&&ze(()=>hs.value?.dialogEl?.focus())}),Te(()=>_e.value.length,async()=>{await ze(),await kt(Ae.value)}),Te(()=>M.activeStreamRunId.value,async()=>{await ze(),Ae.value&&(Ae.value.scrollTop=Ae.value.scrollHeight)}),Te(g,async(c,f)=>{if(c||!f)return;const S=M.currentStreamMessageId.value;if(!S)return;if(M.streamQueryPaused.value){_e.value=_e.value.map(D=>D.id!==S?D:{...D,meta:void 0}),M.currentStreamMessageId.value=null,Ze();return}const _=x.value?.runId;if(_&&typeof _=="string"&&(M.streamQueryRunIds.add(_),M.activeStreamQueryRunId.value||(M.activeStreamQueryRunId.value=_)),Q.value){_e.value=_e.value.map(D=>D.id!==S?D:{...D,parts:[Z(`Error: ${Q.value||"Unknown error"}`)],meta:void 0}),M.currentStreamMessageId.value=null;return}!M.streamQueryHasDelta.value&&x.value&&Br(S,x.value),_e.value=_e.value.map(D=>D.id!==S?D:{...D,meta:void 0});const p=x.value?.sessionId;p&&p!==de.value&&(de.value=p),Ze(),!U.value&&p&&(await F(),await ut(void 0,p)),M.currentStreamMessageId.value=null}),Te(h,()=>{if(!M.useStreamingQuery.value||!M.currentStreamMessageId.value)return;const c=h.value[h.value.length-1],f=c?Kt(c):null,S=c?Ge(c):null;f&&(M.streamQueryRunIds.add(f),M.activeStreamQueryRunId.value||(M.activeStreamQueryRunId.value=f));const _=f??M.activeStreamQueryRunId.value;if(_){const D=J.findAskUserRequiresActionPayload(h.value,_);if(D){const q=J.resolveAskUserPayload(D,_,{events:h.value});M.streamQueryPaused.value=!0,st(M.currentStreamMessageId.value),yt(q.questions,q.toolCallId,ot(D),_);return}}if(c?.type==="message.delta"&&typeof S?.delta=="string"&&S.delta&&(M.streamQueryHasDelta.value=!0),c?.type==="requires_action"&&f){const D=String(S?.kind??S?.action_kind??"");if(D==="ask_user"){const q=J.resolveAskUserPayload(S,f,{events:h.value});M.streamQueryPaused.value=!0,st(M.currentStreamMessageId.value),yt(q.questions,q.toolCallId,ot(S),f);return}if(D==="tool_approval"||D==="tool_approvals"){M.streamQueryPaused.value=!0;const q=ot(S),G=xe.collectPendingApprovalsFromEvents(h.value,f);It(M.currentStreamMessageId.value,G[0]?.toolName),At(G,q,f);return}}if(c?.type==="run.status"&&(typeof S?.stopReason=="string"?S.stopReason:"")==="approval_required"&&f){const q=J.findAskUserRequiresActionPayload(h.value,f);if(q){const ke=J.resolveAskUserPayload(q,f,{events:h.value});M.streamQueryPaused.value=!0,st(M.currentStreamMessageId.value),yt(ke.questions,ke.toolCallId,ot(q),f);return}if(J.askUserRunId.value===f){st(M.currentStreamMessageId.value),M.streamQueryPaused.value=!0;return}M.streamQueryPaused.value=!0;const G=ot(S),te=xe.collectPendingApprovalsFromEvents(h.value,f);It(M.currentStreamMessageId.value,te[0]?.toolName),At(te,G,f)}if(M.streamQueryPaused.value)return;const p=Sn(h.value);p&&(_e.value=_e.value.map(D=>{if(D.id!==M.currentStreamMessageId.value)return D;const q=[],G=[];for(let B=0;B<p.thinkingBlocks.length;B+=1){const we=p.thinkingBlocks[B];G.push({kind:"thinking",order:we.order,index:B})}p.text&&p.firstTextIndex!=null&&G.push({kind:"text",order:p.firstTextIndex});for(const B of p.toolCalls)B.callId&&G.push({kind:"tool_call",order:B.order,callId:B.callId});for(const B of p.toolResults)B.callId&&G.push({kind:"tool_result",order:B.order,callId:B.callId});G.sort((B,we)=>B.order-we.order);const te=new Map(p.toolCalls.filter(B=>B.callId).map(B=>[B.callId,B])),ke=new Map(p.toolResults.filter(B=>B.callId).map(B=>[B.callId,B]));for(const B of G){if(B.kind==="thinking"){const Me=p.thinkingBlocks[B.index];if(!Me)continue;q.push({type:"thinking",title:"Thinking",collapsed:!0,content:Me.content});continue}if(B.kind==="text"){q.push(Z(p.text));continue}if(B.kind==="tool_call"){const Me=te.get(B.callId);if(!Me)continue;q.push({type:"tool_call",name:Me.name,args:Me.args||"No arguments",callId:Me.callId});continue}const we=ke.get(B.callId);we&&q.push({type:"tool_result",name:we.name,output:we.output||"No output",status:we.status,callId:we.callId,structured:we.structured})}return q.length===0&&q.push(Z("Thinking...")),{...D,parts:q,meta:"streaming"}}))}),Te(()=>h.value.length,async()=>{g.value&&(await ze(),Ae.value&&(Ae.value.scrollTop=Ae.value.scrollHeight))}),(c,f)=>($(),R("div",tc,[i("main",sc,[oe(Ui,{sessions:O(Ft),"sessions-loading":O(y),"sessions-error":O(U),"active-session-id":O(de),"editing-session-id":O(Vr),"rename-draft":O(ps),"session-note":O(wt),"can-manage-sessions":O(Gr),"debug-ui":se.value,"command-items":ir.value,"last-updated-label":ct.value,"session-count-label":Xe.value,"tool-approvals-mode":O(et),"active-session-cwd-label":O(gs),onRefresh:O(F),onCreate:dn,onSelect:Mt,onRename:O(Kr),onDelete:O(fr),"onUpdate:renameDraft":f[0]||(f[0]=S=>{ps.value=S}),onApplyRename:O(Xr),onCancelRename:O(Yr),onCopyCommand:vn,onSetApprovals:an},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","tool-approvals-mode","active-session-cwd-label","onRefresh","onRename","onDelete","onApplyRename","onCancelRename"]),i("section",rc,[oe(Fa,{"active-session-title":O(Jr),"active-session-summary":O(Hr),"active-session-cwd-label":O(gs),"chat-header-stats":lr.value,"dark-mode":s.value,onReconnect:xs,onToggleTheme:f[1]||(f[1]=S=>s.value=!s.value)},null,8,["active-session-title","active-session-summary","active-session-cwd-label","chat-header-stats","dark-mode"]),i("div",{ref_key:"chatScrollContainer",ref:Ae,class:"flex-1 overflow-y-auto p-6 md:px-20 lg:px-32 xl:px-48 pb-48 md:pb-56"},[oe(Al,{ref_key:"chatMessagesComponent",ref:sn,messages:O(jr)},null,8,["messages"]),se.value?($(),Ns(Zl,{key:0,class:"mt-10","status-loading":O(o),"status-error":O(l),"status-rows":rr.value,capabilities:ar.value,events:u.value,"snapshot-label":nr.value,"snapshot-content":or.value,onRefresh:pn,onReconnect:xs,onCapabilities:f[2]||(f[2]=S=>ks("List capabilities")),onCopyOrigin:gn},null,8,["status-loading","status-error","status-rows","capabilities","events","snapshot-label","snapshot-content"])):H("",!0)],512),oe(Oa,{ref_key:"chatComposerComponent",ref:rn,modelValue:St.value,"onUpdate:modelValue":f[3]||(f[3]=S=>St.value=S),placeholder:O(vr),attachments:O(zt),"uploads-enabled":me.value,"images-enabled":ve.value,"attachments-base64":O(vt),"attachment-note":O(xr),"composer-menu-open":O(is),"mode-menu-open":O(as),"mode-label":O(pr),"mode-options":O(gr),"use-streaming-query":O(M).useStreamingQuery.value,"debug-ui":se.value,"send-label":nn.value,"send-disabled":on.value,"query-error":O(T),"stream-query-error":O(Q),"onUpdate:attachmentsBase64":f[4]||(f[4]=S=>{vt.value=S}),"onUpdate:useStreamingQuery":f[5]||(f[5]=S=>{O(M).useStreamingQuery.value=S}),onDrop:O(Sr),onPaste:O(wr),onCompositionstart:mn,onCompositionend:fn,onEnter:un,onRemoveAttachment:O(kr),onToggleComposerMenu:O(Ir),onToggleModeMenu:O(br),onAddFile:O($r),onQuickAction:ks,onSelectMode:f[6]||(f[6]=S=>{O(yr)(S)}),onSend:bs,onFilePick:O(Cr)},null,8,["modelValue","placeholder","attachments","uploads-enabled","images-enabled","attachments-base64","attachment-note","composer-menu-open","mode-menu-open","mode-label","mode-options","use-streaming-query","debug-ui","send-label","send-disabled","query-error","stream-query-error","onDrop","onPaste","onRemoveAttachment","onToggleComposerMenu","onToggleModeMenu","onAddFile","onFilePick"])])]),oe(_i,{visible:O(ur),message:O(cr),kind:O(dr),onClose:O(rs)},null,8,["visible","message","kind","onClose"]),oe(Qn,{ref_key:"approvalDialogComponent",ref:vs,open:O(Qe),"active-approval":O(qt),"approval-count":O(_r),busy:O(Qt),"tool-approvals-mode":O(et),onReject:kn,onApprove:bn,onApproveAll:xn},null,8,["open","active-approval","approval-count","busy","tool-approvals-mode"]),oe(co,{ref_key:"askUserDialogComponent",ref:hs,open:O(ht),questions:O(Rr),selections:O(Tr),"other-inputs":O(ds),"other-label":O(Mr),busy:O(Lt),"is-selected":O(Er),onCancel:yn,onSubmit:hn,onOptionChange:O(Pr),"onUpdate:otherInputs":f[7]||(f[7]=S=>{ds.value=S})},null,8,["open","questions","selections","other-inputs","other-label","busy","is-selected","onOptionChange"]),oe(ai,{open:O(ns),target:O(Bt),busy:O(gt),onClose:O(os),onConfirm:cn},null,8,["open","target","busy","onClose"])]))}});export{lc as default};
@@ -1 +0,0 @@
1
- import{V as a,W as n}from"./BhmAmx9l.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as e,b as r,a,S as s}from"./8aOojt4c.js";import{_ as i}from"./BhmAmx9l.js";import"./CfcSxu_H.js";import"./DnQfmNyQ.js";import"./DpZYRxI5.js";var p={parser:a,get db(){return new s(2)},renderer:r,styles:e,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{p as diagram};
@@ -1 +0,0 @@
1
- {"id":"cecb4fd8-68ea-430e-beb5-870957f3d8cf","timestamp":1770350039840,"prerendered":[]}