dimcode 0.0.6-beta.4 → 0.0.6-beta.7

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 (83) hide show
  1. package/README.md +3 -0
  2. package/assets/gui/200.html +1 -0
  3. package/assets/gui/404.html +1 -0
  4. package/assets/gui/_nuxt/1ZdDnx73.js +1 -0
  5. package/assets/gui/_nuxt/5Bp-Tu26.js +43 -0
  6. package/assets/gui/_nuxt/5J0xJHOV.js +321 -0
  7. package/assets/gui/_nuxt/6wqMZA0L.js +61 -0
  8. package/assets/gui/_nuxt/9P4Jnt9j.js +10 -0
  9. package/assets/gui/_nuxt/AjC41zSO.js +145 -0
  10. package/assets/gui/_nuxt/B16lbhP8.js +36 -0
  11. package/assets/gui/_nuxt/B7S6ouQi.js +7 -0
  12. package/assets/gui/_nuxt/B8fN3ipf.js +10 -0
  13. package/assets/gui/_nuxt/BABqWUq7.js +1 -0
  14. package/assets/gui/_nuxt/BB51-bYG.js +1 -0
  15. package/assets/gui/_nuxt/BO-_tdgm.js +220 -0
  16. package/assets/gui/_nuxt/BdID1WLw.js +139 -0
  17. package/assets/gui/_nuxt/Bdy4E7IH.js +15 -0
  18. package/assets/gui/_nuxt/BeZRIkfX.js +22 -0
  19. package/assets/gui/_nuxt/BnVNYgP-.js +4 -0
  20. package/assets/gui/_nuxt/BojRNRsE.js +1 -0
  21. package/assets/gui/_nuxt/BqoeModq.js +24 -0
  22. package/assets/gui/_nuxt/BtpMKrHs.js +1 -0
  23. package/assets/gui/_nuxt/BxN95W_V.js +122 -0
  24. package/assets/gui/_nuxt/C9aDJCI_.js +1 -0
  25. package/assets/gui/_nuxt/CECTvU5q.js +68 -0
  26. package/assets/gui/_nuxt/CXKVm2E0.js +89 -0
  27. package/assets/gui/_nuxt/C_AyzZy7.js +350 -0
  28. package/assets/gui/_nuxt/C_M6z23Y.js +1 -0
  29. package/assets/gui/_nuxt/CbiDdBxL.js +64 -0
  30. package/assets/gui/_nuxt/CfO-YdEL.js +1 -0
  31. package/assets/gui/_nuxt/CfW_uD9g.js +1 -0
  32. package/assets/gui/_nuxt/CkJ6bDeI.js +1 -0
  33. package/assets/gui/_nuxt/CmKTTxBW.js +1 -0
  34. package/assets/gui/_nuxt/CwTuVkqS.js +1 -0
  35. package/assets/gui/_nuxt/D6-m5wdp.js +24 -0
  36. package/assets/gui/_nuxt/D6DITdtI.js +7 -0
  37. package/assets/gui/_nuxt/D9YKTAKV.js +1 -0
  38. package/assets/gui/_nuxt/DAqERMaK.js +1 -0
  39. package/assets/gui/_nuxt/DDjwHYHw.js +60 -0
  40. package/assets/gui/_nuxt/DE_5yp5t.js +2 -0
  41. package/assets/gui/_nuxt/DKAbnoAt.js +1 -0
  42. package/assets/gui/_nuxt/DMZYzDK3.js +65 -0
  43. package/assets/gui/_nuxt/DPxqE19e.js +30 -0
  44. package/assets/gui/_nuxt/DS7UMo5r.js +1 -0
  45. package/assets/gui/_nuxt/DX6XiGOO.js +1 -0
  46. package/assets/gui/_nuxt/DZlK1POq.js +1 -0
  47. package/assets/gui/_nuxt/DbiOt-tp.js +15 -0
  48. package/assets/gui/_nuxt/Do6xJH1K.js +250 -0
  49. package/assets/gui/_nuxt/DoSvhc5U.js +1 -0
  50. package/assets/gui/_nuxt/DvJDa2y1.js +1 -0
  51. package/assets/gui/_nuxt/FbPqJBC-.js +128 -0
  52. package/assets/gui/_nuxt/GZ3p9bYO.js +165 -0
  53. package/assets/gui/_nuxt/Gi6I4Gst.js +1 -0
  54. package/assets/gui/_nuxt/I1cUmhCr.js +1 -0
  55. package/assets/gui/_nuxt/JYxi_xFa.js +1 -0
  56. package/assets/gui/_nuxt/Q6Zfcg_R.js +1 -0
  57. package/assets/gui/_nuxt/XbL3y5x-.js +261 -0
  58. package/assets/gui/_nuxt/_9At6Id7.js +1 -0
  59. package/assets/gui/_nuxt/builds/latest.json +1 -0
  60. package/assets/gui/_nuxt/builds/meta/a0d670ce-bf85-4d6f-bba4-da62dd9b8e51.json +1 -0
  61. package/assets/gui/_nuxt/c55IaaLs.js +1 -0
  62. package/assets/gui/_nuxt/cwes3bZP.js +267 -0
  63. package/assets/gui/_nuxt/entry.BNNhkv1R.css +1 -0
  64. package/assets/gui/_nuxt/error-404.DF6r4GP7.css +1 -0
  65. package/assets/gui/_nuxt/error-500.Bo5pzFPU.css +1 -0
  66. package/assets/gui/_nuxt/g_DjebTo.js +1 -0
  67. package/assets/gui/_nuxt/index.BudxHvB3.css +1 -0
  68. package/assets/gui/_nuxt/jr5A36Q0.js +1 -0
  69. package/assets/gui/_nuxt/kTUG9xEK.js +1 -0
  70. package/assets/gui/_nuxt/q8cyhHp0.js +1 -0
  71. package/assets/gui/_nuxt/rU0aYxVl.js +1 -0
  72. package/assets/gui/_nuxt/ukONpav1.js +4 -0
  73. package/assets/gui/_nuxt/vQUDddAF.js +162 -0
  74. package/assets/gui/_nuxt/yG4UzpsV.js +1 -0
  75. package/assets/gui/_nuxt/yXyaQxmE.js +1 -0
  76. package/assets/gui/favicon.ico +0 -0
  77. package/assets/gui/index.html +1 -0
  78. package/assets/gui/robots.txt +2 -0
  79. package/assets/native/build.zig +16 -0
  80. package/assets/native/src/lib.zig +23 -0
  81. package/dist/cli.mjs +1380 -896
  82. package/package.json +8 -4
  83. package/scripts/postinstall.mjs +3 -1
@@ -0,0 +1,65 @@
1
+ import{p as Y}from"./CfO-YdEL.js";import{I as K}from"./CkJ6bDeI.js";import{_ as l,q as U,p as V,s as X,g as J,a as Q,b as Z,l as m,c as rr,d as er,u as tr,C as ar,y as sr,k as C,D as nr,E as or,F as cr,G as ir}from"./Do6xJH1K.js";import{p as dr}from"./FbPqJBC-.js";import"./C_AyzZy7.js";import"./DS7UMo5r.js";import"./CfW_uD9g.js";var x={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},hr=cr.gitGraph,I=l(()=>nr({...hr,...or().gitGraph}),"getConfig"),c=new K(()=>{const t=I(),r=t.mainBranchName,s=t.mainBranchOrder;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:s}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function A(){return ir({length:7})}l(A,"getID");function F(t,r){const s=Object.create(null);return t.reduce((n,e)=>{const a=r(e);return s[a]||(s[a]=!0,n.push(e)),n},[])}l(F,"uniqBy");var lr=l(function(t){c.records.direction=t},"setDirection"),$r=l(function(t){m.debug("options str",t),t=t?.trim(),t=t||"{}";try{c.records.options=JSON.parse(t)}catch(r){m.error("error while parsing gitGraph options",r.message)}},"setOptions"),fr=l(function(){return c.records.options},"getOptions"),gr=l(function(t){let r=t.msg,s=t.id;const n=t.type;let e=t.tags;m.info("commit",r,s,n,e),m.debug("Entering commit:",r,s,n,e);const a=I();s=C.sanitizeText(s,a),r=C.sanitizeText(r,a),e=e?.map(o=>C.sanitizeText(o,a));const d={id:s||c.records.seq+"-"+A(),message:r,seq:c.records.seq++,type:n??x.NORMAL,tags:e??[],parents:c.records.head==null?[]:[c.records.head.id],branch:c.records.currBranch};c.records.head=d,m.info("main branch",a.mainBranchName),c.records.commits.has(d.id)&&m.warn(`Commit ID ${d.id} already exists`),c.records.commits.set(d.id,d),c.records.branches.set(c.records.currBranch,d.id),m.debug("in pushCommit "+d.id)},"commit"),yr=l(function(t){let r=t.name;const s=t.order;if(r=C.sanitizeText(r,I()),c.records.branches.has(r))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);c.records.branches.set(r,c.records.head!=null?c.records.head.id:null),c.records.branchConfig.set(r,{name:r,order:s}),z(r),m.debug("in createBranch")},"branch"),ur=l(t=>{let r=t.branch,s=t.id;const n=t.type,e=t.tags,a=I();r=C.sanitizeText(r,a),s&&(s=C.sanitizeText(s,a));const d=c.records.branches.get(c.records.currBranch),o=c.records.branches.get(r),f=d?c.records.commits.get(d):void 0,h=o?c.records.commits.get(o):void 0;if(f&&h&&f.branch===r)throw new Error(`Cannot merge branch '${r}' into itself.`);if(c.records.currBranch===r){const i=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw i.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},i}if(f===void 0||!f){const i=new Error(`Incorrect usage of "merge". Current branch (${c.records.currBranch})has no commits`);throw i.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},i}if(!c.records.branches.has(r)){const i=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw i.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},i}if(h===void 0||!h){const i=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw i.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},i}if(f===h){const i=new Error('Incorrect usage of "merge". Both branches have same head');throw i.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},i}if(s&&c.records.commits.has(s)){const i=new Error('Incorrect usage of "merge". Commit with id:'+s+" already exists, use different custom id");throw i.hash={text:`merge ${r} ${s} ${n} ${e?.join(" ")}`,token:`merge ${r} ${s} ${n} ${e?.join(" ")}`,expected:[`merge ${r} ${s}_UNIQUE ${n} ${e?.join(" ")}`]},i}const $=o||"",g={id:s||`${c.records.seq}-${A()}`,message:`merged branch ${r} into ${c.records.currBranch}`,seq:c.records.seq++,parents:c.records.head==null?[]:[c.records.head.id,$],branch:c.records.currBranch,type:x.MERGE,customType:n,customId:!!s,tags:e??[]};c.records.head=g,c.records.commits.set(g.id,g),c.records.branches.set(c.records.currBranch,g.id),m.debug(c.records.branches),m.debug("in mergeBranch")},"merge"),pr=l(function(t){let r=t.id,s=t.targetId,n=t.tags,e=t.parent;m.debug("Entering cherryPick:",r,s,n);const a=I();if(r=C.sanitizeText(r,a),s=C.sanitizeText(s,a),n=n?.map(f=>C.sanitizeText(f,a)),e=C.sanitizeText(e,a),!r||!c.records.commits.has(r)){const f=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw f.hash={text:`cherryPick ${r} ${s}`,token:`cherryPick ${r} ${s}`,expected:["cherry-pick abc"]},f}const d=c.records.commits.get(r);if(d===void 0||!d)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(e&&!(Array.isArray(d.parents)&&d.parents.includes(e)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=d.branch;if(d.type===x.MERGE&&!e)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!s||!c.records.commits.has(s)){if(o===c.records.currBranch){const g=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw g.hash={text:`cherryPick ${r} ${s}`,token:`cherryPick ${r} ${s}`,expected:["cherry-pick abc"]},g}const f=c.records.branches.get(c.records.currBranch);if(f===void 0||!f){const g=new Error(`Incorrect usage of "cherry-pick". Current branch (${c.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${r} ${s}`,token:`cherryPick ${r} ${s}`,expected:["cherry-pick abc"]},g}const h=c.records.commits.get(f);if(h===void 0||!h){const g=new Error(`Incorrect usage of "cherry-pick". Current branch (${c.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${r} ${s}`,token:`cherryPick ${r} ${s}`,expected:["cherry-pick abc"]},g}const $={id:c.records.seq+"-"+A(),message:`cherry-picked ${d?.message} into ${c.records.currBranch}`,seq:c.records.seq++,parents:c.records.head==null?[]:[c.records.head.id,d.id],branch:c.records.currBranch,type:x.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${d.id}${d.type===x.MERGE?`|parent:${e}`:""}`]};c.records.head=$,c.records.commits.set($.id,$),c.records.branches.set(c.records.currBranch,$.id),m.debug(c.records.branches),m.debug("in cherryPick")}},"cherryPick"),z=l(function(t){if(t=C.sanitizeText(t,I()),c.records.branches.has(t)){c.records.currBranch=t;const r=c.records.branches.get(c.records.currBranch);r===void 0||!r?c.records.head=null:c.records.head=c.records.commits.get(r)??null}else{const r=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw r.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},r}},"checkout");function H(t,r,s){const n=t.indexOf(r);n===-1?t.push(s):t.splice(n,1,s)}l(H,"upsert");function P(t){const r=t.reduce((e,a)=>e.seq>a.seq?e:a,t[0]);let s="";t.forEach(function(e){e===r?s+=" *":s+=" |"});const n=[s,r.id,r.seq];for(const e in c.records.branches)c.records.branches.get(e)===r.id&&n.push(e);if(m.debug(n.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){const e=c.records.commits.get(r.parents[0]);H(t,r,e),r.parents[1]&&t.push(c.records.commits.get(r.parents[1]))}else{if(r.parents.length==0)return;if(r.parents[0]){const e=c.records.commits.get(r.parents[0]);H(t,r,e)}}t=F(t,e=>e.id),P(t)}l(P,"prettyPrintCommitHistory");var xr=l(function(){m.debug(c.records.commits);const t=N()[0];P([t])},"prettyPrint"),mr=l(function(){c.reset(),sr()},"clear"),br=l(function(){return[...c.records.branchConfig.values()].map((r,s)=>r.order!==null&&r.order!==void 0?r:{...r,order:parseFloat(`0.${s}`)}).sort((r,s)=>(r.order??0)-(s.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),wr=l(function(){return c.records.branches},"getBranches"),vr=l(function(){return c.records.commits},"getCommits"),N=l(function(){const t=[...c.records.commits.values()];return t.forEach(function(r){m.debug(r.id)}),t.sort((r,s)=>r.seq-s.seq),t},"getCommitsArray"),Cr=l(function(){return c.records.currBranch},"getCurrentBranch"),Er=l(function(){return c.records.direction},"getDirection"),Tr=l(function(){return c.records.head},"getHead"),S={commitType:x,getConfig:I,setDirection:lr,setOptions:$r,getOptions:fr,commit:gr,branch:yr,merge:ur,cherryPick:pr,checkout:z,prettyPrint:xr,clear:mr,getBranchesAsObjArray:br,getBranches:wr,getCommits:vr,getCommitsArray:N,getCurrentBranch:Cr,getDirection:Er,getHead:Tr,setAccTitle:Z,getAccTitle:Q,getAccDescription:J,setAccDescription:X,setDiagramTitle:V,getDiagramTitle:U},Br=l((t,r)=>{Y(t,r),t.dir&&r.setDirection(t.dir);for(const s of t.statements)Lr(s,r)},"populate"),Lr=l((t,r)=>{const n={Commit:l(e=>r.commit(kr(e)),"Commit"),Branch:l(e=>r.branch(Mr(e)),"Branch"),Merge:l(e=>r.merge(Ir(e)),"Merge"),Checkout:l(e=>r.checkout(Rr(e)),"Checkout"),CherryPicking:l(e=>r.cherryPick(Gr(e)),"CherryPicking")}[t.$type];n?n(t):m.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),kr=l(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?x[t.type]:x.NORMAL,tags:t.tags??void 0}),"parseCommit"),Mr=l(t=>({name:t.name,order:t.order??0}),"parseBranch"),Ir=l(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?x[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),Rr=l(t=>t.branch,"parseCheckout"),Gr=l(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),Or={parse:l(async t=>{const r=await dr("gitGraph",t);m.debug(r),Br(r,S)},"parse")},qr=rr(),v=qr?.gitGraph,L=10,k=40,E=4,T=2,M=8,b=new Map,w=new Map,O=30,R=new Map,q=[],B=0,u="LR",Ar=l(()=>{b.clear(),w.clear(),R.clear(),B=0,q=[],u="LR"},"clear"),W=l(t=>{const r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|<br\s*\/?>/gi):t).forEach(n=>{const e=document.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),e.setAttribute("dy","1em"),e.setAttribute("x","0"),e.setAttribute("class","row"),e.textContent=n.trim(),r.appendChild(e)}),r},"drawText"),j=l(t=>{let r,s,n;return u==="BT"?(s=l((e,a)=>e<=a,"comparisonFunc"),n=1/0):(s=l((e,a)=>e>=a,"comparisonFunc"),n=0),t.forEach(e=>{const a=u==="TB"||u=="BT"?w.get(e)?.y:w.get(e)?.x;a!==void 0&&s(a,n)&&(r=e,n=a)}),r},"findClosestParent"),_r=l(t=>{let r="",s=1/0;return t.forEach(n=>{const e=w.get(n).y;e<=s&&(r=n,s=e)}),r||void 0},"findClosestParentBT"),Hr=l((t,r,s)=>{let n=s,e=s;const a=[];t.forEach(d=>{const o=r.get(d);if(!o)throw new Error(`Commit not found for key ${d}`);o.parents.length?(n=Dr(o),e=Math.max(n,e)):a.push(o),Fr(o,n)}),n=e,a.forEach(d=>{zr(d,n,s)}),t.forEach(d=>{const o=r.get(d);if(o?.parents.length){const f=_r(o.parents);n=w.get(f).y-k,n<=e&&(e=n);const h=b.get(o.branch).pos,$=n-L;w.set(o.id,{x:h,y:$})}})},"setParallelBTPos"),Pr=l(t=>{const r=j(t.parents.filter(n=>n!==null));if(!r)throw new Error(`Closest parent not found for commit ${t.id}`);const s=w.get(r)?.y;if(s===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return s},"findClosestParentPos"),Dr=l(t=>Pr(t)+k,"calculateCommitPosition"),Fr=l((t,r)=>{const s=b.get(t.branch);if(!s)throw new Error(`Branch not found for commit ${t.id}`);const n=s.pos,e=r+L;return w.set(t.id,{x:n,y:e}),{x:n,y:e}},"setCommitPosition"),zr=l((t,r,s)=>{const n=b.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const e=r+s,a=n.pos;w.set(t.id,{x:a,y:e})},"setRootPosition"),Nr=l((t,r,s,n,e,a)=>{if(a===x.HIGHLIGHT)t.append("rect").attr("x",s.x-10).attr("y",s.y-10).attr("width",20).attr("height",20).attr("class",`commit ${r.id} commit-highlight${e%M} ${n}-outer`),t.append("rect").attr("x",s.x-6).attr("y",s.y-6).attr("width",12).attr("height",12).attr("class",`commit ${r.id} commit${e%M} ${n}-inner`);else if(a===x.CHERRY_PICK)t.append("circle").attr("cx",s.x).attr("cy",s.y).attr("r",10).attr("class",`commit ${r.id} ${n}`),t.append("circle").attr("cx",s.x-3).attr("cy",s.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${r.id} ${n}`),t.append("circle").attr("cx",s.x+3).attr("cy",s.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${r.id} ${n}`),t.append("line").attr("x1",s.x+3).attr("y1",s.y+1).attr("x2",s.x).attr("y2",s.y-5).attr("stroke","#fff").attr("class",`commit ${r.id} ${n}`),t.append("line").attr("x1",s.x-3).attr("y1",s.y+1).attr("x2",s.x).attr("y2",s.y-5).attr("stroke","#fff").attr("class",`commit ${r.id} ${n}`);else{const d=t.append("circle");if(d.attr("cx",s.x),d.attr("cy",s.y),d.attr("r",r.type===x.MERGE?9:10),d.attr("class",`commit ${r.id} commit${e%M}`),a===x.MERGE){const o=t.append("circle");o.attr("cx",s.x),o.attr("cy",s.y),o.attr("r",6),o.attr("class",`commit ${n} ${r.id} commit${e%M}`)}a===x.REVERSE&&t.append("path").attr("d",`M ${s.x-5},${s.y-5}L${s.x+5},${s.y+5}M${s.x-5},${s.y+5}L${s.x+5},${s.y-5}`).attr("class",`commit ${n} ${r.id} commit${e%M}`)}},"drawCommitBullet"),Sr=l((t,r,s,n)=>{if(r.type!==x.CHERRY_PICK&&(r.customId&&r.type===x.MERGE||r.type!==x.MERGE)&&v?.showCommitLabel){const e=t.append("g"),a=e.insert("rect").attr("class","commit-label-bkg"),d=e.append("text").attr("x",n).attr("y",s.y+25).attr("class","commit-label").text(r.id),o=d.node()?.getBBox();if(o&&(a.attr("x",s.posWithOffset-o.width/2-T).attr("y",s.y+13.5).attr("width",o.width+2*T).attr("height",o.height+2*T),u==="TB"||u==="BT"?(a.attr("x",s.x-(o.width+4*E+5)).attr("y",s.y-12),d.attr("x",s.x-(o.width+4*E)).attr("y",s.y+o.height-12)):d.attr("x",s.posWithOffset-o.width/2),v.rotateCommitLabel))if(u==="TB"||u==="BT")d.attr("transform","rotate(-45, "+s.x+", "+s.y+")"),a.attr("transform","rotate(-45, "+s.x+", "+s.y+")");else{const f=-7.5-(o.width+10)/25*9.5,h=10+o.width/25*8.5;e.attr("transform","translate("+f+", "+h+") rotate(-45, "+n+", "+s.y+")")}}},"drawCommitLabel"),Wr=l((t,r,s,n)=>{if(r.tags.length>0){let e=0,a=0,d=0;const o=[];for(const f of r.tags.reverse()){const h=t.insert("polygon"),$=t.append("circle"),g=t.append("text").attr("y",s.y-16-e).attr("class","tag-label").text(f),i=g.node()?.getBBox();if(!i)throw new Error("Tag bbox not found");a=Math.max(a,i.width),d=Math.max(d,i.height),g.attr("x",s.posWithOffset-i.width/2),o.push({tag:g,hole:$,rect:h,yOffset:e}),e+=20}for(const{tag:f,hole:h,rect:$,yOffset:g}of o){const i=d/2,y=s.y-19.2-g;if($.attr("class","tag-label-bkg").attr("points",`
2
+ ${n-a/2-E/2},${y+T}
3
+ ${n-a/2-E/2},${y-T}
4
+ ${s.posWithOffset-a/2-E},${y-i-T}
5
+ ${s.posWithOffset+a/2+E},${y-i-T}
6
+ ${s.posWithOffset+a/2+E},${y+i+T}
7
+ ${s.posWithOffset-a/2-E},${y+i+T}`),h.attr("cy",y).attr("cx",n-a/2+E/2).attr("r",1.5).attr("class","tag-hole"),u==="TB"||u==="BT"){const p=n+g;$.attr("class","tag-label-bkg").attr("points",`
8
+ ${s.x},${p+2}
9
+ ${s.x},${p-2}
10
+ ${s.x+L},${p-i-2}
11
+ ${s.x+L+a+4},${p-i-2}
12
+ ${s.x+L+a+4},${p+i+2}
13
+ ${s.x+L},${p+i+2}`).attr("transform","translate(12,12) rotate(45, "+s.x+","+n+")"),h.attr("cx",s.x+E/2).attr("cy",p).attr("transform","translate(12,12) rotate(45, "+s.x+","+n+")"),f.attr("x",s.x+5).attr("y",p+3).attr("transform","translate(14,14) rotate(45, "+s.x+","+n+")")}}}},"drawCommitTags"),jr=l(t=>{switch(t.customType??t.type){case x.NORMAL:return"commit-normal";case x.REVERSE:return"commit-reverse";case x.HIGHLIGHT:return"commit-highlight";case x.MERGE:return"commit-merge";case x.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),Yr=l((t,r,s,n)=>{const e={x:0,y:0};if(t.parents.length>0){const a=j(t.parents);if(a){const d=n.get(a)??e;return r==="TB"?d.y+k:r==="BT"?(n.get(t.id)??e).y-k:d.x+k}}else return r==="TB"?O:r==="BT"?(n.get(t.id)??e).y-k:0;return 0},"calculatePosition"),Kr=l((t,r,s)=>{const n=u==="BT"&&s?r:r+L,e=u==="TB"||u==="BT"?n:b.get(t.branch)?.pos,a=u==="TB"||u==="BT"?b.get(t.branch)?.pos:n;if(a===void 0||e===void 0)throw new Error(`Position were undefined for commit ${t.id}`);return{x:a,y:e,posWithOffset:n}},"getCommitPosition"),D=l((t,r,s)=>{if(!v)throw new Error("GitGraph config not found");const n=t.append("g").attr("class","commit-bullets"),e=t.append("g").attr("class","commit-labels");let a=u==="TB"||u==="BT"?O:0;const d=[...r.keys()],o=v?.parallelCommits??!1,f=l(($,g)=>{const i=r.get($)?.seq,y=r.get(g)?.seq;return i!==void 0&&y!==void 0?i-y:0},"sortKeys");let h=d.sort(f);u==="BT"&&(o&&Hr(h,r,a),h=h.reverse()),h.forEach($=>{const g=r.get($);if(!g)throw new Error(`Commit not found for key ${$}`);o&&(a=Yr(g,u,a,w));const i=Kr(g,a,o);if(s){const y=jr(g),p=g.customType??g.type,_=b.get(g.branch)?.index??0;Nr(n,g,i,y,_,p),Sr(e,g,i,a),Wr(e,g,i,a)}u==="TB"||u==="BT"?w.set(g.id,{x:i.x,y:i.posWithOffset}):w.set(g.id,{x:i.posWithOffset,y:i.y}),a=u==="BT"&&o?a+k:a+k+L,a>B&&(B=a)})},"drawCommits"),Ur=l((t,r,s,n,e)=>{const d=(u==="TB"||u==="BT"?s.x<n.x:s.y<n.y)?r.branch:t.branch,o=l(h=>h.branch===d,"isOnBranchToGetCurve"),f=l(h=>h.seq>t.seq&&h.seq<r.seq,"isBetweenCommits");return[...e.values()].some(h=>f(h)&&o(h))},"shouldRerouteArrow"),G=l((t,r,s=0)=>{const n=t+Math.abs(t-r)/2;if(s>5)return n;if(q.every(d=>Math.abs(d-n)>=10))return q.push(n),n;const a=Math.abs(t-r);return G(t,r-a/5,s+1)},"findLane"),Vr=l((t,r,s,n)=>{const e=w.get(r.id),a=w.get(s.id);if(e===void 0||a===void 0)throw new Error(`Commit positions not found for commits ${r.id} and ${s.id}`);const d=Ur(r,s,e,a,n);let o="",f="",h=0,$=0,g=b.get(s.branch)?.index;s.type===x.MERGE&&r.id!==s.parents[0]&&(g=b.get(r.branch)?.index);let i;if(d){o="A 10 10, 0, 0, 0,",f="A 10 10, 0, 0, 1,",h=10,$=10;const y=e.y<a.y?G(e.y,a.y):G(a.y,e.y),p=e.x<a.x?G(e.x,a.x):G(a.x,e.x);u==="TB"?e.x<a.x?i=`M ${e.x} ${e.y} L ${p-h} ${e.y} ${f} ${p} ${e.y+$} L ${p} ${a.y-h} ${o} ${p+$} ${a.y} L ${a.x} ${a.y}`:(g=b.get(r.branch)?.index,i=`M ${e.x} ${e.y} L ${p+h} ${e.y} ${o} ${p} ${e.y+$} L ${p} ${a.y-h} ${f} ${p-$} ${a.y} L ${a.x} ${a.y}`):u==="BT"?e.x<a.x?i=`M ${e.x} ${e.y} L ${p-h} ${e.y} ${o} ${p} ${e.y-$} L ${p} ${a.y+h} ${f} ${p+$} ${a.y} L ${a.x} ${a.y}`:(g=b.get(r.branch)?.index,i=`M ${e.x} ${e.y} L ${p+h} ${e.y} ${f} ${p} ${e.y-$} L ${p} ${a.y+h} ${o} ${p-$} ${a.y} L ${a.x} ${a.y}`):e.y<a.y?i=`M ${e.x} ${e.y} L ${e.x} ${y-h} ${o} ${e.x+$} ${y} L ${a.x-h} ${y} ${f} ${a.x} ${y+$} L ${a.x} ${a.y}`:(g=b.get(r.branch)?.index,i=`M ${e.x} ${e.y} L ${e.x} ${y+h} ${f} ${e.x+$} ${y} L ${a.x-h} ${y} ${o} ${a.x} ${y-$} L ${a.x} ${a.y}`)}else o="A 20 20, 0, 0, 0,",f="A 20 20, 0, 0, 1,",h=20,$=20,u==="TB"?(e.x<a.x&&(s.type===x.MERGE&&r.id!==s.parents[0]?i=`M ${e.x} ${e.y} L ${e.x} ${a.y-h} ${o} ${e.x+$} ${a.y} L ${a.x} ${a.y}`:i=`M ${e.x} ${e.y} L ${a.x-h} ${e.y} ${f} ${a.x} ${e.y+$} L ${a.x} ${a.y}`),e.x>a.x&&(o="A 20 20, 0, 0, 0,",f="A 20 20, 0, 0, 1,",h=20,$=20,s.type===x.MERGE&&r.id!==s.parents[0]?i=`M ${e.x} ${e.y} L ${e.x} ${a.y-h} ${f} ${e.x-$} ${a.y} L ${a.x} ${a.y}`:i=`M ${e.x} ${e.y} L ${a.x+h} ${e.y} ${o} ${a.x} ${e.y+$} L ${a.x} ${a.y}`),e.x===a.x&&(i=`M ${e.x} ${e.y} L ${a.x} ${a.y}`)):u==="BT"?(e.x<a.x&&(s.type===x.MERGE&&r.id!==s.parents[0]?i=`M ${e.x} ${e.y} L ${e.x} ${a.y+h} ${f} ${e.x+$} ${a.y} L ${a.x} ${a.y}`:i=`M ${e.x} ${e.y} L ${a.x-h} ${e.y} ${o} ${a.x} ${e.y-$} L ${a.x} ${a.y}`),e.x>a.x&&(o="A 20 20, 0, 0, 0,",f="A 20 20, 0, 0, 1,",h=20,$=20,s.type===x.MERGE&&r.id!==s.parents[0]?i=`M ${e.x} ${e.y} L ${e.x} ${a.y+h} ${o} ${e.x-$} ${a.y} L ${a.x} ${a.y}`:i=`M ${e.x} ${e.y} L ${a.x-h} ${e.y} ${o} ${a.x} ${e.y-$} L ${a.x} ${a.y}`),e.x===a.x&&(i=`M ${e.x} ${e.y} L ${a.x} ${a.y}`)):(e.y<a.y&&(s.type===x.MERGE&&r.id!==s.parents[0]?i=`M ${e.x} ${e.y} L ${a.x-h} ${e.y} ${f} ${a.x} ${e.y+$} L ${a.x} ${a.y}`:i=`M ${e.x} ${e.y} L ${e.x} ${a.y-h} ${o} ${e.x+$} ${a.y} L ${a.x} ${a.y}`),e.y>a.y&&(s.type===x.MERGE&&r.id!==s.parents[0]?i=`M ${e.x} ${e.y} L ${a.x-h} ${e.y} ${o} ${a.x} ${e.y-$} L ${a.x} ${a.y}`:i=`M ${e.x} ${e.y} L ${e.x} ${a.y+h} ${f} ${e.x+$} ${a.y} L ${a.x} ${a.y}`),e.y===a.y&&(i=`M ${e.x} ${e.y} L ${a.x} ${a.y}`));if(i===void 0)throw new Error("Line definition not found");t.append("path").attr("d",i).attr("class","arrow arrow"+g%M)},"drawArrow"),Xr=l((t,r)=>{const s=t.append("g").attr("class","commit-arrows");[...r.keys()].forEach(n=>{const e=r.get(n);e.parents&&e.parents.length>0&&e.parents.forEach(a=>{Vr(s,r.get(a),e,r)})})},"drawArrows"),Jr=l((t,r)=>{const s=t.append("g");r.forEach((n,e)=>{const a=e%M,d=b.get(n.name)?.pos;if(d===void 0)throw new Error(`Position not found for branch ${n.name}`);const o=s.append("line");o.attr("x1",0),o.attr("y1",d),o.attr("x2",B),o.attr("y2",d),o.attr("class","branch branch"+a),u==="TB"?(o.attr("y1",O),o.attr("x1",d),o.attr("y2",B),o.attr("x2",d)):u==="BT"&&(o.attr("y1",B),o.attr("x1",d),o.attr("y2",O),o.attr("x2",d)),q.push(d);const f=n.name,h=W(f),$=s.insert("rect"),i=s.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+a);i.node().appendChild(h);const y=h.getBBox();$.attr("class","branchLabelBkg label"+a).attr("rx",4).attr("ry",4).attr("x",-y.width-4-(v?.rotateCommitLabel===!0?30:0)).attr("y",-y.height/2+8).attr("width",y.width+18).attr("height",y.height+4),i.attr("transform","translate("+(-y.width-14-(v?.rotateCommitLabel===!0?30:0))+", "+(d-y.height/2-1)+")"),u==="TB"?($.attr("x",d-y.width/2-10).attr("y",0),i.attr("transform","translate("+(d-y.width/2-5)+", 0)")):u==="BT"?($.attr("x",d-y.width/2-10).attr("y",B),i.attr("transform","translate("+(d-y.width/2-5)+", "+B+")")):$.attr("transform","translate(-19, "+(d-y.height/2)+")")})},"drawBranches"),Qr=l(function(t,r,s,n,e){return b.set(t,{pos:r,index:s}),r+=50+(e?40:0)+(u==="TB"||u==="BT"?n.width/2:0),r},"setBranchPosition"),Zr=l(function(t,r,s,n){if(Ar(),m.debug("in gitgraph renderer",t+`
14
+ `,"id:",r,s),!v)throw new Error("GitGraph config not found");const e=v.rotateCommitLabel??!1,a=n.db;R=a.getCommits();const d=a.getBranchesAsObjArray();u=a.getDirection();const o=er(`[id="${r}"]`);let f=0;d.forEach((h,$)=>{const g=W(h.name),i=o.append("g"),y=i.insert("g").attr("class","branchLabel"),p=y.insert("g").attr("class","label branch-label");p.node()?.appendChild(g);const _=g.getBBox();f=Qr(h.name,f,$,_,e),p.remove(),y.remove(),i.remove()}),D(o,R,!1),v.showBranches&&Jr(o,d),Xr(o,R),D(o,R,!0),tr.insertTitle(o,"gitTitleText",v.titleTopMargin??0,a.getDiagramTitle()),ar(void 0,o,v.diagramPadding,v.useMaxWidth)},"draw"),re={draw:Zr},ee=l(t=>`
15
+ .commit-id,
16
+ .commit-msg,
17
+ .branch-label {
18
+ fill: lightgrey;
19
+ color: lightgrey;
20
+ font-family: 'trebuchet ms', verdana, arial, sans-serif;
21
+ font-family: var(--mermaid-font-family);
22
+ }
23
+ ${[0,1,2,3,4,5,6,7].map(r=>`
24
+ .branch-label${r} { fill: ${t["gitBranchLabel"+r]}; }
25
+ .commit${r} { stroke: ${t["git"+r]}; fill: ${t["git"+r]}; }
26
+ .commit-highlight${r} { stroke: ${t["gitInv"+r]}; fill: ${t["gitInv"+r]}; }
27
+ .label${r} { fill: ${t["git"+r]}; }
28
+ .arrow${r} { stroke: ${t["git"+r]}; }
29
+ `).join(`
30
+ `)}
31
+
32
+ .branch {
33
+ stroke-width: 1;
34
+ stroke: ${t.lineColor};
35
+ stroke-dasharray: 2;
36
+ }
37
+ .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};}
38
+ .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; }
39
+ .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}
40
+ .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; }
41
+ .tag-hole { fill: ${t.textColor}; }
42
+
43
+ .commit-merge {
44
+ stroke: ${t.primaryColor};
45
+ fill: ${t.primaryColor};
46
+ }
47
+ .commit-reverse {
48
+ stroke: ${t.primaryColor};
49
+ fill: ${t.primaryColor};
50
+ stroke-width: 3;
51
+ }
52
+ .commit-highlight-outer {
53
+ }
54
+ .commit-highlight-inner {
55
+ stroke: ${t.primaryColor};
56
+ fill: ${t.primaryColor};
57
+ }
58
+
59
+ .arrow { stroke-width: 8; stroke-linecap: round; fill: none}
60
+ .gitTitleText {
61
+ text-anchor: middle;
62
+ font-size: 18px;
63
+ fill: ${t.textColor};
64
+ }
65
+ `,"getStyles"),te=ee,he={parser:Or,db:S,renderer:re,styles:te};export{he as diagram};
@@ -0,0 +1,30 @@
1
+ import{a1 as S,a4 as F,aB as j,_ as p,g as q,s as H,a as Z,b as J,q as K,p as Q,l as z,c as X,D as Y,H as ee,N as te,e as ae,y as re,F as ne}from"./Do6xJH1K.js";import{p as ie}from"./CfO-YdEL.js";import{p as se}from"./FbPqJBC-.js";import{d as I}from"./DKAbnoAt.js";import{o as le}from"./CmKTTxBW.js";import"./C_AyzZy7.js";import"./DS7UMo5r.js";import"./CfW_uD9g.js";import"./Gi6I4Gst.js";function oe(e,a){return a<e?-1:a>e?1:a>=e?0:NaN}function ce(e){return e}function ue(){var e=ce,a=oe,f=null,y=S(0),s=S(F),o=S(0);function l(t){var n,c=(t=j(t)).length,d,x,h=0,u=new Array(c),i=new Array(c),v=+y.apply(this,arguments),w=Math.min(F,Math.max(-F,s.apply(this,arguments)-v)),m,C=Math.min(Math.abs(w)/c,o.apply(this,arguments)),$=C*(w<0?-1:1),g;for(n=0;n<c;++n)(g=i[u[n]=n]=+e(t[n],n,t))>0&&(h+=g);for(a!=null?u.sort(function(A,D){return a(i[A],i[D])}):f!=null&&u.sort(function(A,D){return f(t[A],t[D])}),n=0,x=h?(w-c*$)/h:0;n<c;++n,v=m)d=u[n],g=i[d],m=v+(g>0?g*x:0)+$,i[d]={data:t[d],index:n,value:g,startAngle:v,endAngle:m,padAngle:C};return i}return l.value=function(t){return arguments.length?(e=typeof t=="function"?t:S(+t),l):e},l.sortValues=function(t){return arguments.length?(a=t,f=null,l):a},l.sort=function(t){return arguments.length?(f=t,a=null,l):f},l.startAngle=function(t){return arguments.length?(y=typeof t=="function"?t:S(+t),l):y},l.endAngle=function(t){return arguments.length?(s=typeof t=="function"?t:S(+t),l):s},l.padAngle=function(t){return arguments.length?(o=typeof t=="function"?t:S(+t),l):o},l}var pe=ne.pie,N={sections:new Map,showData:!1},T=N.sections,G=N.showData,de=structuredClone(pe),ge=p(()=>structuredClone(de),"getConfig"),fe=p(()=>{T=new Map,G=N.showData,re()},"clear"),me=p(({label:e,value:a})=>{if(a<0)throw new Error(`"${e}" has invalid value: ${a}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);T.has(e)||(T.set(e,a),z.debug(`added new section: ${e}, with value: ${a}`))},"addSection"),he=p(()=>T,"getSections"),ve=p(e=>{G=e},"setShowData"),Se=p(()=>G,"getShowData"),L={getConfig:ge,clear:fe,setDiagramTitle:Q,getDiagramTitle:K,setAccTitle:J,getAccTitle:Z,setAccDescription:H,getAccDescription:q,addSection:me,getSections:he,setShowData:ve,getShowData:Se},ye=p((e,a)=>{ie(e,a),a.setShowData(e.showData),e.sections.map(a.addSection)},"populateDb"),xe={parse:p(async e=>{const a=await se("pie",e);z.debug(a),ye(a,L)},"parse")},we=p(e=>`
2
+ .pieCircle{
3
+ stroke: ${e.pieStrokeColor};
4
+ stroke-width : ${e.pieStrokeWidth};
5
+ opacity : ${e.pieOpacity};
6
+ }
7
+ .pieOuterCircle{
8
+ stroke: ${e.pieOuterStrokeColor};
9
+ stroke-width: ${e.pieOuterStrokeWidth};
10
+ fill: none;
11
+ }
12
+ .pieTitleText {
13
+ text-anchor: middle;
14
+ font-size: ${e.pieTitleTextSize};
15
+ fill: ${e.pieTitleTextColor};
16
+ font-family: ${e.fontFamily};
17
+ }
18
+ .slice {
19
+ font-family: ${e.fontFamily};
20
+ fill: ${e.pieSectionTextColor};
21
+ font-size:${e.pieSectionTextSize};
22
+ // fill: white;
23
+ }
24
+ .legend text {
25
+ fill: ${e.pieLegendTextColor};
26
+ font-family: ${e.fontFamily};
27
+ font-size: ${e.pieLegendTextSize};
28
+ }
29
+ `,"getStyles"),Ae=we,De=p(e=>{const a=[...e.values()].reduce((s,o)=>s+o,0),f=[...e.entries()].map(([s,o])=>({label:s,value:o})).filter(s=>s.value/a*100>=1).sort((s,o)=>o.value-s.value);return ue().value(s=>s.value)(f)},"createPieArcs"),Ce=p((e,a,f,y)=>{z.debug(`rendering pie chart
30
+ `+e);const s=y.db,o=X(),l=Y(s.getConfig(),o.pie),t=40,n=18,c=4,d=450,x=d,h=ee(a),u=h.append("g");u.attr("transform","translate("+x/2+","+d/2+")");const{themeVariables:i}=o;let[v]=te(i.pieOuterStrokeWidth);v??=2;const w=l.textPosition,m=Math.min(x,d)/2-t,C=I().innerRadius(0).outerRadius(m),$=I().innerRadius(m*w).outerRadius(m*w);u.append("circle").attr("cx",0).attr("cy",0).attr("r",m+v/2).attr("class","pieOuterCircle");const g=s.getSections(),A=De(g),D=[i.pie1,i.pie2,i.pie3,i.pie4,i.pie5,i.pie6,i.pie7,i.pie8,i.pie9,i.pie10,i.pie11,i.pie12];let b=0;g.forEach(r=>{b+=r});const W=A.filter(r=>(r.data.value/b*100).toFixed(0)!=="0"),E=le(D);u.selectAll("mySlices").data(W).enter().append("path").attr("d",C).attr("fill",r=>E(r.data.label)).attr("class","pieCircle"),u.selectAll("mySlices").data(W).enter().append("text").text(r=>(r.data.value/b*100).toFixed(0)+"%").attr("transform",r=>"translate("+$.centroid(r)+")").style("text-anchor","middle").attr("class","slice"),u.append("text").text(s.getDiagramTitle()).attr("x",0).attr("y",-400/2).attr("class","pieTitleText");const O=[...g.entries()].map(([r,M])=>({label:r,value:M})),k=u.selectAll(".legend").data(O).enter().append("g").attr("class","legend").attr("transform",(r,M)=>{const R=n+c,B=R*O.length/2,V=12*n,U=M*R-B;return"translate("+V+","+U+")"});k.append("rect").attr("width",n).attr("height",n).style("fill",r=>E(r.label)).style("stroke",r=>E(r.label)),k.append("text").attr("x",n+c).attr("y",n-c).text(r=>s.getShowData()?`${r.label} [${r.value}]`:r.label);const _=Math.max(...k.selectAll("text").nodes().map(r=>r?.getBoundingClientRect().width??0)),P=x+t+n+c+_;h.attr("viewBox",`0 0 ${P} ${d}`),ae(h,d,P,l.useMaxWidth)},"draw"),$e={draw:Ce},We={parser:xe,db:L,renderer:$e,styles:Ae};export{We as diagram};
@@ -0,0 +1 @@
1
+ import{b,a as m,c as d,d as h,i as l}from"./CfW_uD9g.js";import{aD as g,aE as o,aF as p}from"./Do6xJH1K.js";function L(a){var n=a==null?0:a.length;return n?b(a):[]}function v(a,n){var s=-1,t=g(a)?Array(a.length):[];return m(a,function(f,i,e){t[++s]=n(f,i,e)}),t}function M(a,n){var s=o(a)?d:v;return s(a,h(n))}function x(a,n){return a<n}function A(a,n,s){for(var t=-1,f=a.length;++t<f;){var i=a[t],e=n(i);if(e!=null&&(r===void 0?e===e&&!l(e):s(e,r)))var r=e,u=i}return u}function k(a){return a&&a.length?A(a,p,x):void 0}export{x as a,A as b,v as c,k as d,L as f,M as m};
@@ -0,0 +1 @@
1
+ function J(n){return Math.abs(n=Math.round(n))>=1e21?n.toLocaleString("en").replace(/,/g,""):n.toString(10)}function j(n,t){if(!isFinite(n)||n===0)return null;var e=(n=t?n.toExponential(t-1):n.toExponential()).indexOf("e"),i=n.slice(0,e);return[i.length>1?i[0]+i.slice(2):i,+n.slice(e+1)]}function K(n){return n=j(Math.abs(n)),n?n[1]:NaN}function Q(n,t){return function(e,i){for(var o=e.length,a=[],c=0,h=n[0],M=0;o>0&&h>0&&(M+h+1>i&&(h=Math.max(1,i-M)),a.push(e.substring(o-=h,o+h)),!((M+=h+1)>i));)h=n[c=(c+1)%n.length];return a.reverse().join(t)}}function V(n){return function(t){return t.replace(/[0-9]/g,function(e){return n[+e]})}}var W=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function $(n){if(!(t=W.exec(n)))throw new Error("invalid format: "+n);var t;return new L({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}$.prototype=L.prototype;function L(n){this.fill=n.fill===void 0?" ":n.fill+"",this.align=n.align===void 0?">":n.align+"",this.sign=n.sign===void 0?"-":n.sign+"",this.symbol=n.symbol===void 0?"":n.symbol+"",this.zero=!!n.zero,this.width=n.width===void 0?void 0:+n.width,this.comma=!!n.comma,this.precision=n.precision===void 0?void 0:+n.precision,this.trim=!!n.trim,this.type=n.type===void 0?"":n.type+""}L.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function _(n){n:for(var t=n.length,e=1,i=-1,o;e<t;++e)switch(n[e]){case".":i=o=e;break;case"0":i===0&&(i=e),o=e;break;default:if(!+n[e])break n;i>0&&(i=0);break}return i>0?n.slice(0,i)+n.slice(o+1):n}var N;function v(n,t){var e=j(n,t);if(!e)return N=void 0,n.toPrecision(t);var i=e[0],o=e[1],a=o-(N=Math.max(-8,Math.min(8,Math.floor(o/3)))*3)+1,c=i.length;return a===c?i:a>c?i+new Array(a-c+1).join("0"):a>0?i.slice(0,a)+"."+i.slice(a):"0."+new Array(1-a).join("0")+j(n,Math.max(0,t+a-1))[0]}function X(n,t){var e=j(n,t);if(!e)return n+"";var i=e[0],o=e[1];return o<0?"0."+new Array(-o).join("0")+i:i.length>o+1?i.slice(0,o+1)+"."+i.slice(o+1):i+new Array(o-i.length+2).join("0")}const O={"%":(n,t)=>(n*100).toFixed(t),b:n=>Math.round(n).toString(2),c:n=>n+"",d:J,e:(n,t)=>n.toExponential(t),f:(n,t)=>n.toFixed(t),g:(n,t)=>n.toPrecision(t),o:n=>Math.round(n).toString(8),p:(n,t)=>X(n*100,t),r:X,s:v,X:n=>Math.round(n).toString(16).toUpperCase(),x:n=>Math.round(n).toString(16)};function R(n){return n}var U=Array.prototype.map,Y=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function nn(n){var t=n.grouping===void 0||n.thousands===void 0?R:Q(U.call(n.grouping,Number),n.thousands+""),e=n.currency===void 0?"":n.currency[0]+"",i=n.currency===void 0?"":n.currency[1]+"",o=n.decimal===void 0?".":n.decimal+"",a=n.numerals===void 0?R:V(U.call(n.numerals,String)),c=n.percent===void 0?"%":n.percent+"",h=n.minus===void 0?"−":n.minus+"",M=n.nan===void 0?"NaN":n.nan+"";function T(f,g){f=$(f);var b=f.fill,p=f.align,m=f.sign,w=f.symbol,S=f.zero,E=f.width,F=f.comma,y=f.precision,C=f.trim,d=f.type;d==="n"?(F=!0,d="g"):O[d]||(y===void 0&&(y=12),C=!0,d="g"),(S||b==="0"&&p==="=")&&(S=!0,b="0",p="=");var q=(g&&g.prefix!==void 0?g.prefix:"")+(w==="$"?e:w==="#"&&/[boxX]/.test(d)?"0"+d.toLowerCase():""),B=(w==="$"?i:/[%p]/.test(d)?c:"")+(g&&g.suffix!==void 0?g.suffix:""),D=O[d],H=/[defgprs%]/.test(d);y=y===void 0?6:/[gprs]/.test(d)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y));function G(r){var l=q,u=B,x,I,k;if(d==="c")u=D(r)+u,r="";else{r=+r;var P=r<0||1/r<0;if(r=isNaN(r)?M:D(Math.abs(r),y),C&&(r=_(r)),P&&+r==0&&m!=="+"&&(P=!1),l=(P?m==="("?m:h:m==="-"||m==="("?"":m)+l,u=(d==="s"&&!isNaN(r)&&N!==void 0?Y[8+N/3]:"")+u+(P&&m==="("?")":""),H){for(x=-1,I=r.length;++x<I;)if(k=r.charCodeAt(x),48>k||k>57){u=(k===46?o+r.slice(x+1):r.slice(x))+u,r=r.slice(0,x);break}}}F&&!S&&(r=t(r,1/0));var z=l.length+r.length+u.length,s=z<E?new Array(E-z+1).join(b):"";switch(F&&S&&(r=t(s+r,s.length?E-u.length:1/0),s=""),p){case"<":r=l+r+u+s;break;case"=":r=l+s+r+u;break;case"^":r=s.slice(0,z=s.length>>1)+l+r+u+s.slice(z);break;default:r=s+l+r+u;break}return a(r)}return G.toString=function(){return f+""},G}function Z(f,g){var b=Math.max(-8,Math.min(8,Math.floor(K(g)/3)))*3,p=Math.pow(10,-b),m=T((f=$(f),f.type="f",f),{suffix:Y[8+b/3]});return function(w){return m(p*w)}}return{format:T,formatPrefix:Z}}var A,tn,rn;en({thousands:",",grouping:[3],currency:["$",""]});function en(n){return A=nn(n),tn=A.format,rn=A.formatPrefix,A}export{rn as a,tn as b,K as e,$ as f};
@@ -0,0 +1 @@
1
+ import{aK as j,aL as p,aM as w,aN as q,aO as k}from"./Do6xJH1K.js";import{i as D}from"./Gi6I4Gst.js";import{e as M,f as F,a as z,b as B}from"./DX6XiGOO.js";function g(n,r){return n==null||r==null?NaN:n<r?-1:n>r?1:n>=r?0:NaN}function I(n,r){return n==null||r==null?NaN:r<n?-1:r>n?1:r>=n?0:NaN}function R(n){let r,t,e;n.length!==2?(r=g,t=(o,c)=>g(n(o),c),e=(o,c)=>n(o)-c):(r=n===g||n===I?n:O,t=n,e=n);function u(o,c,i=0,h=o.length){if(i<h){if(r(c,c)!==0)return h;do{const l=i+h>>>1;t(o[l],c)<0?i=l+1:h=l}while(i<h)}return i}function f(o,c,i=0,h=o.length){if(i<h){if(r(c,c)!==0)return h;do{const l=i+h>>>1;t(o[l],c)<=0?i=l+1:h=l}while(i<h)}return i}function a(o,c,i=0,h=o.length){const l=u(o,c,i,h-1);return l>i&&e(o[l-1],c)>-e(o[l],c)?l-1:l}return{left:u,center:a,right:f}}function O(){return 0}function P(n){return n===null?NaN:+n}const V=R(g),$=V.right;R(P).center;const x=Math.sqrt(50),K=Math.sqrt(10),L=Math.sqrt(2);function v(n,r,t){const e=(r-n)/Math.max(0,t),u=Math.floor(Math.log10(e)),f=e/Math.pow(10,u),a=f>=x?10:f>=K?5:f>=L?2:1;let o,c,i;return u<0?(i=Math.pow(10,-u)/a,o=Math.round(n*i),c=Math.round(r*i),o/i<n&&++o,c/i>r&&--c,i=-i):(i=Math.pow(10,u)*a,o=Math.round(n/i),c=Math.round(r/i),o*i<n&&++o,c*i>r&&--c),c<o&&.5<=t&&t<2?v(n,r,t*2):[o,c,i]}function T(n,r,t){if(r=+r,n=+n,t=+t,!(t>0))return[];if(n===r)return[n];const e=r<n,[u,f,a]=e?v(r,n,t):v(n,r,t);if(!(f>=u))return[];const o=f-u+1,c=new Array(o);if(e)if(a<0)for(let i=0;i<o;++i)c[i]=(f-i)/-a;else for(let i=0;i<o;++i)c[i]=(f-i)*a;else if(a<0)for(let i=0;i<o;++i)c[i]=(u+i)/-a;else for(let i=0;i<o;++i)c[i]=(u+i)*a;return c}function y(n,r,t){return r=+r,n=+n,t=+t,v(n,r,t)[2]}function C(n,r,t){r=+r,n=+n,t=+t;const e=r<n,u=e?y(r,n,t):y(n,r,t);return(e?-1:1)*(u<0?1/-u:u)}function E(n,r){r||(r=[]);var t=n?Math.min(r.length,n.length):0,e=r.slice(),u;return function(f){for(u=0;u<t;++u)e[u]=n[u]*(1-f)+r[u]*f;return e}}function G(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}function H(n,r){var t=r?r.length:0,e=n?Math.min(t,n.length):0,u=new Array(e),f=new Array(t),a;for(a=0;a<e;++a)u[a]=d(n[a],r[a]);for(;a<t;++a)f[a]=r[a];return function(o){for(a=0;a<e;++a)f[a]=u[a](o);return f}}function J(n,r){var t=new Date;return n=+n,r=+r,function(e){return t.setTime(n*(1-e)+r*e),t}}function Q(n,r){var t={},e={},u;(n===null||typeof n!="object")&&(n={}),(r===null||typeof r!="object")&&(r={});for(u in r)u in n?t[u]=d(n[u],r[u]):e[u]=r[u];return function(f){for(u in t)e[u]=t[u](f);return e}}function d(n,r){var t=typeof r,e;return r==null||t==="boolean"?j(r):(t==="number"?p:t==="string"?(e=k(r))?(r=e,w):q:r instanceof k?w:r instanceof Date?J:G(r)?E:Array.isArray(r)?H:typeof r.valueOf!="function"&&typeof r.toString!="function"||isNaN(r)?Q:p)(n,r)}function U(n,r){return n=+n,r=+r,function(t){return Math.round(n*(1-t)+r*t)}}function W(n){return Math.max(0,-M(Math.abs(n)))}function X(n,r){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(M(r)/3)))*3-M(Math.abs(n)))}function Y(n,r){return n=Math.abs(n),r=Math.abs(r)-n,Math.max(0,M(r)-M(n))+1}function Z(n){return function(){return n}}function _(n){return+n}var A=[0,1];function m(n){return n}function N(n,r){return(r-=n=+n)?function(t){return(t-n)/r}:Z(isNaN(r)?NaN:.5)}function b(n,r){var t;return n>r&&(t=n,n=r,r=t),function(e){return Math.max(n,Math.min(r,e))}}function nn(n,r,t){var e=n[0],u=n[1],f=r[0],a=r[1];return u<e?(e=N(u,e),f=t(a,f)):(e=N(e,u),f=t(f,a)),function(o){return f(e(o))}}function rn(n,r,t){var e=Math.min(n.length,r.length)-1,u=new Array(e),f=new Array(e),a=-1;for(n[e]<n[0]&&(n=n.slice().reverse(),r=r.slice().reverse());++a<e;)u[a]=N(n[a],n[a+1]),f[a]=t(r[a],r[a+1]);return function(o){var c=$(n,o,1,e)-1;return f[c](u[c](o))}}function en(n,r){return r.domain(n.domain()).range(n.range()).interpolate(n.interpolate()).clamp(n.clamp()).unknown(n.unknown())}function tn(){var n=A,r=A,t=d,e,u,f,a=m,o,c,i;function h(){var s=Math.min(n.length,r.length);return a!==m&&(a=b(n[0],n[s-1])),o=s>2?rn:nn,c=i=null,l}function l(s){return s==null||isNaN(s=+s)?f:(c||(c=o(n.map(e),r,t)))(e(a(s)))}return l.invert=function(s){return a(u((i||(i=o(r,n.map(e),p)))(s)))},l.domain=function(s){return arguments.length?(n=Array.from(s,_),h()):n.slice()},l.range=function(s){return arguments.length?(r=Array.from(s),h()):r.slice()},l.rangeRound=function(s){return r=Array.from(s),t=U,h()},l.clamp=function(s){return arguments.length?(a=s?!0:m,h()):a!==m},l.interpolate=function(s){return arguments.length?(t=s,h()):t},l.unknown=function(s){return arguments.length?(f=s,l):f},function(s,S){return e=s,u=S,h()}}function un(){return tn()(m,m)}function an(n,r,t,e){var u=C(n,r,t),f;switch(e=F(e??",f"),e.type){case"s":{var a=Math.max(Math.abs(n),Math.abs(r));return e.precision==null&&!isNaN(f=X(u,a))&&(e.precision=f),z(e,a)}case"":case"e":case"g":case"p":case"r":{e.precision==null&&!isNaN(f=Y(u,Math.max(Math.abs(n),Math.abs(r))))&&(e.precision=f-(e.type==="e"));break}case"f":case"%":{e.precision==null&&!isNaN(f=W(u))&&(e.precision=f-(e.type==="%")*2);break}}return B(e)}function on(n){var r=n.domain;return n.ticks=function(t){var e=r();return T(e[0],e[e.length-1],t??10)},n.tickFormat=function(t,e){var u=r();return an(u[0],u[u.length-1],t??10,e)},n.nice=function(t){t==null&&(t=10);var e=r(),u=0,f=e.length-1,a=e[u],o=e[f],c,i,h=10;for(o<a&&(i=a,a=o,o=i,i=u,u=f,f=i);h-- >0;){if(i=y(a,o,t),i===c)return e[u]=a,e[f]=o,r(e);if(i>0)a=Math.floor(a/i)*i,o=Math.ceil(o/i)*i;else if(i<0)a=Math.ceil(a*i)/i,o=Math.floor(o*i)/i;else break;c=i}return n},n}function fn(){var n=un();return n.copy=function(){return en(n,fn())},D.apply(n,arguments),on(n)}export{en as a,R as b,un as c,fn as l,C as t};
@@ -0,0 +1,15 @@
1
+ import{d as be,r as A,f as R,m as Y,j as M,n as i,H as q,ai as Ge,O as ye,J as Se,aj as $e,ak as Ps,q as Os,S as Us,C as H,E as U,y as oe,p as Re,ah as Ce,z as ze,a6 as Cn,l as _s,$ as $n,R as Be,o as In,g as An,w as Me}from"./C_AyzZy7.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"},On={class:"block text-[10px] text-text-secondary-light dark:text-text-secondary-dark mt-2"},Un={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=be({__name:"ApprovalDialog",props:{open:{type:Boolean},activeApproval:{},approvalCount:{},busy:{type:Boolean},toolApprovalsMode:{}},emits:["reject","approve","approve-all"],setup(e,{expose:t}){const s=A(null);return t({dialogEl:s}),(r,o)=>e.open?(M(),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[6]||(o[6]=n=>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:o[4]||(o[4]=ye(()=>{},["stop"])),onKeydown:o[5]||(o[5]=Ge(ye(n=>r.$emit("reject"),["stop","prevent"]),["escape"]))},[i("div",Mn,[o[8]||(o[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:o[0]||(o[0]=n=>r.$emit("reject"))},[...o[7]||(o[7]=[i("span",{class:"material-icons-outlined text-base"},"close",-1)])])]),i("div",Rn,[o[9]||(o[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?(M(),R("div",Tn,[i("div",En,[i("span",null,q(e.activeApproval.toolName),1),e.approvalCount>1?(M(),R("span",Pn," ("+q(e.approvalCount)+" pending) ",1)):Y("",!0)]),i("code",On," Call ID: "+q(e.activeApproval.toolCallId),1),i("pre",Un,q(e.activeApproval.args),1)])):(M(),R("p",_n,"No pending approvals.")),e.toolApprovalsMode==="all"?(M(),R("p",Dn," Auto-approve is enabled. Future tool calls will run without prompts. ")):Y("",!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:o[1]||(o[1]=n=>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:o[2]||(o[2]=n=>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:o[3]||(o[3]=n=>r.$emit("approve-all"))}," Approve all ",8,zn)])],544)])):Y("",!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=be({__name:"AskUserDialog",props:{open:{type:Boolean},questions:{},selections:{},otherInputs:{},otherLabel:{},busy:{type:Boolean},isSelected:{type:Function}},emits:["cancel","submit","option-change","update:otherInputs"],setup(e,{expose:t}){const s=A(null);return t({dialogEl:s}),(r,o)=>e.open?(M(),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[5]||(o[5]=n=>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:o[3]||(o[3]=ye(()=>{},["stop"])),onKeydown:o[4]||(o[4]=Ge(ye(n=>r.$emit("cancel"),["stop","prevent"]),["escape"]))},[i("div",Qn,[o[7]||(o[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:o[0]||(o[0]=n=>r.$emit("cancel"))},[...o[6]||(o[6]=[i("span",{class:"material-icons-outlined text-base"},"close",-1)])])]),i("div",Fn,[o[9]||(o[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?(M(),R("div",Wn,[(M(!0),R(Se,null,$e(e.questions,(n,a)=>(M(),R("div",{key:`ask-${a}`,class:"rounded-md border border-border-light dark:border-border-dark p-3"},[i("div",Vn,[i("span",Gn,q(n.header),1),i("p",Jn,q(n.question),1)]),i("div",Hn,[(M(!0),R(Se,null,$e(n.options||[],u=>(M(),R("label",{key:u.label,class:"flex items-start gap-2 text-xs text-text-primary-light dark:text-text-primary-dark"},[i("input",{type:n.multiSelect?"checkbox":"radio",name:`ask-${a}`,checked:e.isSelected(a,u.label),class:"mt-1 h-3 w-3",onChange:l=>r.$emit("option-change",a,u.label,l)},null,40,Kn),i("div",null,[i("div",Yn,q(u.label),1),i("div",Xn,q(u.description),1)])]))),128)),n.multiSelect?Y("",!0):(M(),R("div",Zn,[i("label",eo,[i("input",{type:n.multiSelect?"checkbox":"radio",name:`ask-${a}`,checked:e.isSelected(a,e.otherLabel),class:"mt-1 h-3 w-3",onChange:u=>r.$emit("option-change",a,e.otherLabel,u)},null,40,to),i("div",null,[i("div",so,q(e.otherLabel),1),o[8]||(o[8]=i("div",{class:"text-[10px] text-text-secondary-light dark:text-text-secondary-dark"}," Provide a custom answer ",-1))])]),e.isSelected(a,e.otherLabel)?(M(),R("input",{key:0,value:e.otherInputs[a]||"",class:"w-full rounded-md border border-border-light dark:border-border-dark bg-transparent px-2 py-1 text-xs text-text-primary-light dark:text-text-primary-dark",type:"text",placeholder:"Type your answer",onInput:u=>r.$emit("update:otherInputs",{...e.otherInputs,[a]:u.target.value})},null,40,ro)):Y("",!0)]))])]))),128))])):(M(),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:o[1]||(o[1]=n=>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:o[2]||(o[2]=n=>r.$emit("submit"))}," Submit ",8,lo)])],544)])):Y("",!0)}}),co=Object.assign(io,{__name:"AskUserDialog"});function Ds(e){var t,s,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(s=Ds(e[t]))&&(r&&(r+=" "),r+=s)}else for(s in e)e[s]&&(r&&(r+=" "),r+=s);return r}function Ns(){for(var e,t,s=0,r="",o=arguments.length;s<o;s++)(e=arguments[s])&&(t=Ds(e))&&(r&&(r+=" "),r+=t);return r}const ks=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,ws=Ns,uo=(e,t)=>s=>{var r;if(t?.variants==null)return ws(e,s?.class,s?.className);const{variants:o,defaultVariants:n}=t,a=Object.keys(o).map(y=>{const w=s?.[y],I=n?.[y];if(w===null)return null;const $=ks(w)||ks(I);return o[y][$]}),u=s&&Object.entries(s).reduce((y,w)=>{let[I,$]=w;return $===void 0||(y[I]=$),y},{}),l=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((y,w)=>{let{class:I,className:$,...T}=w;return Object.entries(T).every(O=>{let[E,v]=O;return Array.isArray(v)?v.includes({...n,...u}[E]):{...n,...u}[E]===v})?[...y,I,$]:y},[]);return ws(e,a,l,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}),js=(e=new Map,t=null,s)=>({nextPart:e,validators:t,classGroupId:s}),Pt="-",Ss=[],po="arbitrary..",go=e=>{const t=ho(e),{conflictingClassGroups:s,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return vo(a);const u=a.split(Pt),l=u[0]===""&&u.length>1?1:0;return Bs(u,l,t)},getConflictingClassGroupIds:(a,u)=>{if(u){const l=r[a],y=s[a];return l?y?mo(y,l):l:y||Ss}return s[a]||Ss}}},Bs=(e,t,s)=>{if(e.length-t===0)return s.classGroupId;const o=e[t],n=s.nextPart.get(o);if(n){const y=Bs(e,t+1,n);if(y)return y}const a=s.validators;if(a===null)return;const u=t===0?e.join(Pt):e.slice(t).join(Pt),l=a.length;for(let y=0;y<l;y++){const w=a[y];if(w.validator(u))return w.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=js();for(const r in e){const o=e[r];ts(o,s,r,t)}return s},ts=(e,t,s,r)=>{const o=e.length;for(let n=0;n<o;n++){const a=e[n];bo(a,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:zs(t,e);r.classGroupId=s},ko=(e,t,s,r)=>{if(So(e)){ts(e(r),t,s,r);return}t.validators===null&&(t.validators=[]),t.validators.push(fo(s,e))},wo=(e,t,s,r)=>{const o=Object.entries(e),n=o.length;for(let a=0;a<n;a++){const[u,l]=o[a];ts(l,zs(t,u),s,r)}},zs=(e,t)=>{let s=e;const r=t.split(Pt),o=r.length;for(let n=0;n<o;n++){const a=r[n];let u=s.nextPart.get(a);u||(u=js(),s.nextPart.set(a,u)),s=u}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 o=(n,a)=>{s[n]=a,t++,t>e&&(t=0,r=s,s=Object.create(null))};return{get(n){let a=s[n];if(a!==void 0)return a;if((a=r[n])!==void 0)return o(n,a),a},set(n,a){n in s?s[n]=a:o(n,a)}}},Yt="!",Cs=":",$o=[],$s=(e,t,s,r,o)=>({modifiers:e,hasImportantModifier:t,baseClassName:s,maybePostfixModifierPosition:r,isExternal:o}),Io=e=>{const{prefix:t,experimentalParseClassName:s}=e;let r=o=>{const n=[];let a=0,u=0,l=0,y;const w=o.length;for(let E=0;E<w;E++){const v=o[E];if(a===0&&u===0){if(v===Cs){n.push(o.slice(l,E)),l=E+1;continue}if(v==="/"){y=E;continue}}v==="["?a++:v==="]"?a--:v==="("?u++:v===")"&&u--}const I=n.length===0?o:o.slice(l);let $=I,T=!1;I.endsWith(Yt)?($=I.slice(0,-1),T=!0):I.startsWith(Yt)&&($=I.slice(1),T=!0);const O=y&&y>l?y-l:void 0;return $s(n,T,$,O)};if(t){const o=t+Cs,n=r;r=a=>a.startsWith(o)?n(a.slice(o.length)):$s($o,!1,a,void 0,!0)}if(s){const o=r;r=n=>s({className:n,parseClassName:o})}return r},Ao=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((s,r)=>{t.set(s,1e6+r)}),s=>{const r=[];let o=[];for(let n=0;n<s.length;n++){const a=s[n],u=a[0]==="[",l=t.has(a);u||l?(o.length>0&&(o.sort(),r.push(...o),o=[]),r.push(a)):o.push(a)}return o.length>0&&(o.sort(),r.push(...o)),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:o,sortModifiers:n}=t,a=[],u=e.trim().split(Ro);let l="";for(let y=u.length-1;y>=0;y-=1){const w=u[y],{isExternal:I,modifiers:$,hasImportantModifier:T,baseClassName:O,maybePostfixModifierPosition:E}=s(w);if(I){l=w+(l.length>0?" "+l:l);continue}let v=!!E,P=r(v?O.substring(0,E):O);if(!P){if(!v){l=w+(l.length>0?" "+l:l);continue}if(P=r(O),!P){l=w+(l.length>0?" "+l:l);continue}v=!1}const x=$.length===0?"":$.length===1?$[0]:n($).join(":"),h=T?x+Yt:x,c=h+P;if(a.indexOf(c)>-1)continue;a.push(c);const b=o(P,v);for(let p=0;p<b.length;++p){const k=b[p];a.push(h+k)}l=w+(l.length>0?" "+l:l)}return l},Eo=(...e)=>{let t=0,s,r,o="";for(;t<e.length;)(s=e[t++])&&(r=Ls(s))&&(o&&(o+=" "),o+=r);return o},Ls=e=>{if(typeof e=="string")return e;let t,s="";for(let r=0;r<e.length;r++)e[r]&&(t=Ls(e[r]))&&(s&&(s+=" "),s+=t);return s},Po=(e,...t)=>{let s,r,o,n;const a=l=>{const y=t.reduce((w,I)=>I(w),e());return s=Mo(y),r=s.cache.get,o=s.cache.set,n=u,u(l)},u=l=>{const y=r(l);if(y)return y;const w=To(l,s);return o(l,w),w};return n=a,(...l)=>n(Eo(...l))},Oo=[],ie=e=>{const t=s=>s[e]||Oo;return t.isThemeGetter=!0,t},qs=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Qs=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Uo=/^\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)\(.+\)$/,st=e=>Uo.test(e),V=e=>!!e&&!Number.isNaN(Number(e)),je=e=>!!e&&Number.isInteger(Number(e)),Jt=e=>e.endsWith("%")&&V(e.slice(0,-1)),Ue=e=>_o.test(e),zo=()=>!0,Lo=e=>Do.test(e)&&!No.test(e),Fs=()=>!1,qo=e=>jo.test(e),Qo=e=>Bo.test(e),Fo=e=>!N(e)&&!j(e),Wo=e=>nt(e,Gs,Fs),N=e=>qs.test(e),Fe=e=>nt(e,Js,Lo),Ht=e=>nt(e,Ko,V),Is=e=>nt(e,Ws,Fs),Vo=e=>nt(e,Vs,Qo),Mt=e=>nt(e,Hs,qo),j=e=>Qs.test(e),dt=e=>ot(e,Js),Go=e=>ot(e,Yo),As=e=>ot(e,Ws),Jo=e=>ot(e,Gs),Ho=e=>ot(e,Vs),Rt=e=>ot(e,Hs,!0),nt=(e,t,s)=>{const r=qs.exec(e);return r?r[1]?t(r[1]):s(r[2]):!1},ot=(e,t,s=!1)=>{const r=Qs.exec(e);return r?r[1]?t(r[1]):s:!1},Ws=e=>e==="position"||e==="percentage",Vs=e=>e==="image"||e==="url",Gs=e=>e==="length"||e==="size"||e==="bg-size",Js=e=>e==="length",Ko=e=>e==="number",Yo=e=>e==="family-name",Hs=e=>e==="shadow",Xo=()=>{const e=ie("color"),t=ie("font"),s=ie("text"),r=ie("font-weight"),o=ie("tracking"),n=ie("leading"),a=ie("breakpoint"),u=ie("container"),l=ie("spacing"),y=ie("radius"),w=ie("shadow"),I=ie("inset-shadow"),$=ie("text-shadow"),T=ie("drop-shadow"),O=ie("blur"),E=ie("perspective"),v=ie("aspect"),P=ie("ease"),x=ie("animate"),h=()=>["auto","avoid","all","avoid-page","page","left","right","column"],c=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],b=()=>[...c(),j,N],p=()=>["auto","hidden","clip","visible","scroll"],k=()=>["auto","contain","none"],g=()=>[j,N,l],W=()=>[st,"full","auto",...g()],B=()=>[je,"none","subgrid",j,N],F=()=>["auto",{span:["full",je,j,N]},je,j,N],K=()=>[je,"auto",j,N],ne=()=>["auto","min","max","fr",j,N],pe=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],se=()=>["start","end","center","stretch","center-safe","end-safe"],ae=()=>["auto",...g()],de=()=>[st,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...g()],L=()=>[e,j,N],_e=()=>[...c(),As,Is,{position:[j,N]}],ue=()=>["no-repeat",{repeat:["","x","y","space","round"]}],De=()=>["auto","cover","contain",Jo,Wo,{size:[j,N]}],Z=()=>[Jt,dt,Fe],S=()=>["","none","full",y,j,N],ge=()=>["",V,dt,Fe],He=()=>["solid","dashed","dotted","double"],ft=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],J=()=>[V,Jt,As,Is],me=()=>["","none",O,j,N],ve=()=>["none",V,j,N],Ke=()=>["none",V,j,N],at=()=>[V,j,N],Ye=()=>[st,"full",...g()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Ue],breakpoint:[Ue],color:[zo],container:[Ue],"drop-shadow":[Ue],ease:["in","out","in-out"],font:[Fo],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Ue],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Ue],shadow:[Ue],spacing:["px",V],text:[Ue],"text-shadow":[Ue],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",st,N,j,v]}],container:["container"],columns:[{columns:[V,N,j,u]}],"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:b()}],overflow:[{overflow:p()}],"overflow-x":[{"overflow-x":p()}],"overflow-y":[{"overflow-y":p()}],overscroll:[{overscroll:k()}],"overscroll-x":[{"overscroll-x":k()}],"overscroll-y":[{"overscroll-y":k()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:W()}],"inset-x":[{"inset-x":W()}],"inset-y":[{"inset-y":W()}],start:[{start:W()}],end:[{end:W()}],top:[{top:W()}],right:[{right:W()}],bottom:[{bottom:W()}],left:[{left:W()}],visibility:["visible","invisible","collapse"],z:[{z:[je,"auto",j,N]}],basis:[{basis:[st,"full","auto",u,...g()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[V,st,"auto","initial","none",N]}],grow:[{grow:["",V,j,N]}],shrink:[{shrink:["",V,j,N]}],order:[{order:[je,"first","last","none",j,N]}],"grid-cols":[{"grid-cols":B()}],"col-start-end":[{col:F()}],"col-start":[{"col-start":K()}],"col-end":[{"col-end":K()}],"grid-rows":[{"grid-rows":B()}],"row-start-end":[{row:F()}],"row-start":[{"row-start":K()}],"row-end":[{"row-end":K()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":ne()}],"auto-rows":[{"auto-rows":ne()}],gap:[{gap:g()}],"gap-x":[{"gap-x":g()}],"gap-y":[{"gap-y":g()}],"justify-content":[{justify:[...pe(),"normal"]}],"justify-items":[{"justify-items":[...se(),"normal"]}],"justify-self":[{"justify-self":["auto",...se()]}],"align-content":[{content:["normal",...pe()]}],"align-items":[{items:[...se(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...se(),{baseline:["","last"]}]}],"place-content":[{"place-content":pe()}],"place-items":[{"place-items":[...se(),"baseline"]}],"place-self":[{"place-self":["auto",...se()]}],p:[{p:g()}],px:[{px:g()}],py:[{py:g()}],ps:[{ps:g()}],pe:[{pe:g()}],pt:[{pt:g()}],pr:[{pr:g()}],pb:[{pb:g()}],pl:[{pl:g()}],m:[{m:ae()}],mx:[{mx:ae()}],my:[{my:ae()}],ms:[{ms:ae()}],me:[{me:ae()}],mt:[{mt:ae()}],mr:[{mr:ae()}],mb:[{mb:ae()}],ml:[{ml:ae()}],"space-x":[{"space-x":g()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":g()}],"space-y-reverse":["space-y-reverse"],size:[{size:de()}],w:[{w:[u,"screen",...de()]}],"min-w":[{"min-w":[u,"screen","none",...de()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[a]},...de()]}],h:[{h:["screen","lh",...de()]}],"min-h":[{"min-h":["screen","lh","none",...de()]}],"max-h":[{"max-h":["screen","lh",...de()]}],"font-size":[{text:["base",s,dt,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:[o,j,N]}],"line-clamp":[{"line-clamp":[V,"none",j,Ht]}],leading:[{leading:[n,...g()]}],"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:g()}],"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:_e()}],"bg-repeat":[{bg:ue()}],"bg-size":[{bg:De()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},je,j,N],radial:["",j,N],conic:[je,j,N]},Ho,Vo]}],"bg-color":[{bg:L()}],"gradient-from-pos":[{from:Z()}],"gradient-via-pos":[{via:Z()}],"gradient-to-pos":[{to:Z()}],"gradient-from":[{from:L()}],"gradient-via":[{via:L()}],"gradient-to":[{to:L()}],rounded:[{rounded:S()}],"rounded-s":[{"rounded-s":S()}],"rounded-e":[{"rounded-e":S()}],"rounded-t":[{"rounded-t":S()}],"rounded-r":[{"rounded-r":S()}],"rounded-b":[{"rounded-b":S()}],"rounded-l":[{"rounded-l":S()}],"rounded-ss":[{"rounded-ss":S()}],"rounded-se":[{"rounded-se":S()}],"rounded-ee":[{"rounded-ee":S()}],"rounded-es":[{"rounded-es":S()}],"rounded-tl":[{"rounded-tl":S()}],"rounded-tr":[{"rounded-tr":S()}],"rounded-br":[{"rounded-br":S()}],"rounded-bl":[{"rounded-bl":S()}],"border-w":[{border:ge()}],"border-w-x":[{"border-x":ge()}],"border-w-y":[{"border-y":ge()}],"border-w-s":[{"border-s":ge()}],"border-w-e":[{"border-e":ge()}],"border-w-t":[{"border-t":ge()}],"border-w-r":[{"border-r":ge()}],"border-w-b":[{"border-b":ge()}],"border-w-l":[{"border-l":ge()}],"divide-x":[{"divide-x":ge()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ge()}],"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,dt,Fe]}],"outline-color":[{outline:L()}],shadow:[{shadow:["","none",w,Rt,Mt]}],"shadow-color":[{shadow:L()}],"inset-shadow":[{"inset-shadow":["none",I,Rt,Mt]}],"inset-shadow-color":[{"inset-shadow":L()}],"ring-w":[{ring:ge()}],"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":ge()}],"inset-ring-color":[{"inset-ring":L()}],"text-shadow":[{"text-shadow":["none",$,Rt,Mt]}],"text-shadow-color":[{"text-shadow":L()}],opacity:[{opacity:[V,j,N]}],"mix-blend":[{"mix-blend":[...ft(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ft()}],"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":c()}],"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:_e()}],"mask-repeat":[{mask:ue()}],"mask-size":[{mask:De()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",j,N]}],filter:[{filter:["","none",j,N]}],blur:[{blur:me()}],brightness:[{brightness:[V,j,N]}],contrast:[{contrast:[V,j,N]}],"drop-shadow":[{"drop-shadow":["","none",T,Rt,Mt]}],"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":me()}],"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":g()}],"border-spacing-x":[{"border-spacing-x":g()}],"border-spacing-y":[{"border-spacing-y":g()}],"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",P,j,N]}],delay:[{delay:[V,j,N]}],animate:[{animate:["none",x,j,N]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[E,j,N]}],"perspective-origin":[{"perspective-origin":b()}],rotate:[{rotate:ve()}],"rotate-x":[{"rotate-x":ve()}],"rotate-y":[{"rotate-y":ve()}],"rotate-z":[{"rotate-z":ve()}],scale:[{scale:Ke()}],"scale-x":[{"scale-x":Ke()}],"scale-y":[{"scale-y":Ke()}],"scale-z":[{"scale-z":Ke()}],"scale-3d":["scale-3d"],skew:[{skew:at()}],"skew-x":[{"skew-x":at()}],"skew-y":[{"skew-y":at()}],transform:[{transform:[j,N,"","none","gpu","cpu"]}],"transform-origin":[{origin:b()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ye()}],"translate-x":[{"translate-x":Ye()}],"translate-y":[{"translate-y":Ye()}],"translate-z":[{"translate-z":Ye()}],"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":g()}],"scroll-mx":[{"scroll-mx":g()}],"scroll-my":[{"scroll-my":g()}],"scroll-ms":[{"scroll-ms":g()}],"scroll-me":[{"scroll-me":g()}],"scroll-mt":[{"scroll-mt":g()}],"scroll-mr":[{"scroll-mr":g()}],"scroll-mb":[{"scroll-mb":g()}],"scroll-ml":[{"scroll-ml":g()}],"scroll-p":[{"scroll-p":g()}],"scroll-px":[{"scroll-px":g()}],"scroll-py":[{"scroll-py":g()}],"scroll-ps":[{"scroll-ps":g()}],"scroll-pe":[{"scroll-pe":g()}],"scroll-pt":[{"scroll-pt":g()}],"scroll-pr":[{"scroll-pr":g()}],"scroll-pb":[{"scroll-pb":g()}],"scroll-pl":[{"scroll-pl":g()}],"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,dt,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 Ks(...e){return Zo(Ns(e))}const ea=be({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=Ps(),o=H(()=>Ks(t({variant:s.variant,size:s.size}),s.class));return(n,a)=>(M(),R("button",Us(U(r),{class:o.value}),[Os(n.$slots,"default")],16))}}),Ee=Object.assign(ea,{__name:"UiButton"}),ta=be({inheritAttrs:!1,__name:"Card",props:{class:{default:""}},setup(e){const t=e,s=Ps(),r=H(()=>Ks("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(o,n)=>(M(),R("div",Us(U(s),{class:r.value}),[Os(o.$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=be({__name:"ComposerMenu",props:{open:{type:Boolean},uploadsEnabled:{type:Boolean},debugUi:{type:Boolean}},emits:["toggle","add-file","quick-action"],setup(e,{expose:t}){const s=A(null);return t({menuEl:s}),(r,o)=>(M(),R("div",{ref_key:"menuEl",ref:s,class:"relative"},[oe(Ee,{variant:"ghost",size:"icon",class:"h-8 w-8 text-text-secondary-light dark:text-text-secondary-dark",type:"button",onClick:o[0]||(o[0]=n=>r.$emit("toggle"))},{default:Re(()=>[...o[3]||(o[3]=[i("span",{class:"material-icons-outlined text-lg"},"add",-1)])]),_:1}),e.open?(M(),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:o[1]||(o[1]=n=>r.$emit("add-file"))}," Add file ",8,na),e.debugUi?(M(),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:o[2]||(o[2]=n=>r.$emit("quick-action","Health check"))}," Health check ")):Y("",!0)])):Y("",!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=be({__name:"ModeMenu",props:{open:{type:Boolean},modeLabel:{},modeOptions:{}},emits:["toggle","select-mode"],setup(e,{expose:t}){const s=A(null);return t({menuEl:s}),(r,o)=>(M(),R("div",{ref_key:"menuEl",ref:s,class:"relative"},[oe(Ee,{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:o[0]||(o[0]=n=>r.$emit("toggle"))},{default:Re(()=>[Ce(q(e.modeLabel)+" ",1),o[1]||(o[1]=i("span",{class:"material-icons-outlined text-xs"},"expand_more",-1))]),_:1}),e.open?(M(),R("div",la,[(M(!0),R(Se,null,$e(e.modeOptions,n=>(M(),R("button",{key:n,class:"w-full text-left px-2 py-1.5 text-xs rounded hover:bg-gray-100 dark:hover:bg-gray-800 text-text-primary-light dark:text-text-primary-dark",type:"button",onClick:a=>r.$emit("select-mode",n)},q(n),9,ia))),128))])):Y("",!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"},Oa=be({__name:"ChatComposer",props:{modelValue:{},placeholder:{},attachments:{},uploadsEnabled:{type:Boolean},imagesEnabled:{type:Boolean},attachmentsBase64:{type:Boolean},attachmentNote:{},composerMenuOpen:{type:Boolean},modeMenuOpen:{type:Boolean},modeLabel:{},modeOptions:{},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=A(null);return t({filePickerRef:s}),(r,o)=>(M(),R("div",ua,[i("div",{class:"w-full max-w-3xl pointer-events-auto",onDragover:o[13]||(o[13]=ye(()=>{},["prevent"])),onDrop:o[14]||(o[14]=ye(n=>r.$emit("drop",n),["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:Re(()=>[e.attachments.length?(M(),R("div",ma,[(M(!0),R(Se,null,$e(e.attachments,n=>(M(),R("div",{key:n.id,class:"flex items-center gap-3 rounded-md border border-border-light dark:border-border-dark p-2"},[n.mime.startsWith("image/")?(M(),R("img",{key:0,src:n.localUrl,alt:n.name,class:"h-10 w-10 rounded object-cover"},null,8,fa)):Y("",!0),i("div",pa,[i("div",ga,q(n.name),1),i("div",va,q(n.status),1)]),oe(Ee,{variant:"ghost",size:"sm",class:"h-7 px-2 text-xs",type:"button",onClick:a=>r.$emit("remove-attachment",n.id)},{default:Re(()=>[...o[16]||(o[16]=[Ce(" Remove ",-1)])]),_:1},8,["onClick"])]))),128))])):Y("",!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:o[0]||(o[0]=n=>r.$emit("update:modelValue",n.target.value)),onPaste:o[1]||(o[1]=n=>r.$emit("paste",n)),onCompositionstart:o[2]||(o[2]=n=>r.$emit("compositionstart")),onCompositionend:o[3]||(o[3]=n=>r.$emit("compositionend")),onKeydown:o[4]||(o[4]=Ge(ye(n=>r.$emit("enter",n),["exact"]),["enter"]))},null,40,ha),e.attachments.length?(M(),R("div",ya,[e.uploadsEnabled?e.imagesEnabled?(M(),R("span",xa,"Model reports image support; attachments will be sent with metadata.")):(M(),R("span",ka,"Model does not support images; attachments will be summarized in text.")):(M(),R("span",ba,"Uploads disabled by server."))])):Y("",!0),e.attachments.length?(M(),R("div",wa,[i("label",Sa,[i("input",{checked:e.attachmentsBase64,type:"checkbox",class:"h-3 w-3",onChange:o[5]||(o[5]=n=>r.$emit("update:attachmentsBase64",n.target.checked))},null,40,Ca),o[17]||(o[17]=Ce(" Include base64 when images are unsupported (large) ",-1))]),e.attachmentNote?(M(),R("span",$a,q(e.attachmentNote),1)):Y("",!0)])):Y("",!0),i("div",Ia,[i("div",Aa,[oe(aa,{open:e.composerMenuOpen,"uploads-enabled":e.uploadsEnabled,"debug-ui":e.debugUi,onToggle:o[6]||(o[6]=n=>r.$emit("toggle-composer-menu")),onAddFile:o[7]||(o[7]=n=>r.$emit("add-file")),onQuickAction:o[8]||(o[8]=n=>r.$emit("quick-action",n))},null,8,["open","uploads-enabled","debug-ui"]),oe(da,{open:e.modeMenuOpen,"mode-label":e.modeLabel,"mode-options":e.modeOptions,onToggle:o[9]||(o[9]=n=>r.$emit("toggle-mode-menu")),onSelectMode:o[10]||(o[10]=n=>r.$emit("select-mode",n))},null,8,["open","mode-label","mode-options"]),e.debugUi?(M(),R("label",Ma,[i("input",{checked:e.useStreamingQuery,type:"checkbox",class:"h-3 w-3",onChange:o[11]||(o[11]=n=>r.$emit("update:useStreamingQuery",n.target.checked))},null,40,Ra),o[18]||(o[18]=i("span",null,"Streaming",-1))])):Y("",!0)]),oe(Ee,{type:"button",disabled:e.sendDisabled,class:"h-8 px-4 text-xs",onClick:o[12]||(o[12]=n=>r.$emit("send"))},{default:Re(()=>[Ce(q(e.sendLabel),1)]),_:1},8,["disabled"])])]),_:1}),e.queryError||e.streamQueryError?(M(),R("div",Ta,[i("p",Ea,q(e.queryError||e.streamQueryError),1)])):(M(),R("div",Pa,[...o[19]||(o[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:o[15]||(o[15]=n=>r.$emit("file-pick",n))},null,544)]))}}),Ua=Object.assign(Oa,{__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:"flex items-center gap-2"},La={class:"hidden sm:inline"},qa=["title"],Qa={class:"material-icons-outlined text-base"},Fa=be({__name:"ChatHeader",props:{activeSessionTitle:{},activeSessionSummary:{},activeSessionCwdLabel:{},indicatorClass:{},streamStatusLabel:{},chatHeaderStats:{},darkMode:{type:Boolean}},emits:["reconnect","toggle-theme"],setup(e){return(t,s)=>(M(),R("header",_a,[i("div",Da,[i("h1",Na,q(e.activeSessionTitle||"New thread"),1),e.activeSessionCwdLabel?(M(),R("span",ja,q(e.activeSessionCwdLabel),1)):Y("",!0)]),i("div",Ba,[i("div",za,[i("span",{class:ze(["h-2 w-2 rounded-full",e.indicatorClass==="ok"?"bg-emerald-500":e.indicatorClass==="error"?"bg-red-500":"bg-gray-400"])},null,2),i("span",null,q(e.streamStatusLabel),1)]),i("span",La,q(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,q(e.darkMode?"light_mode":"dark_mode"),1)],8,qa),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)])])])]))}}),Wa=Object.assign(Fa,{__name:"ChatHeader"}),Va={class:"message-renderer"},Ga={key:1,class:"empty-message"},Ja=be({__name:"MessageRenderer",props:{content:{},emptyText:{default:"No content"}},setup(e){const t=e,s=H(()=>t.content?.trim()||"");return(r,o)=>{const n=Cn("MarkdownRender");return M(),R("div",Va,[s.value?(M(),_s(n,{key:0,content:s.value,"max-live-nodes":0,"batch-rendering":{renderBatchSize:16,renderBatchDelay:8},"enable-mermaid":!0,"enable-katex":!0},null,8,["content"])):(M(),R("div",Ga,q(e.emptyText),1))])}}}),Ha=Object.assign($n(Ja,[["__scopeId","data-v-ebde76cd"]]),{__name:"MessageRenderer"});function Xt(e){if(!e)return"unknown";const t=Date.parse(e);return Number.isNaN(t)?e:new Date(t).toLocaleString()}function Ms(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 Ka(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 o=Math.max(0,Math.floor(r/1e3));if(o<60)return"now";const n=Math.floor(o/60);if(n<60)return`${n}m`;const a=Math.floor(n/60);return a<24?`${a}h`:`${Math.floor(a/24)}d`}function Ya(e){if(!e)return"—";const t=Number(e);return Number.isFinite(t)&&t>0?new Date(t).toLocaleString():Xt(e)}function Xa(e){return e.ts?e.ts:e.receivedAt??""}function Za(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 el(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 tl(e,t){const s=l=>{if(l==null)return"";if(typeof l=="string")return l;if(Array.isArray(l))return l.map(s).join("");if(l!=null&&typeof l=="object"&&!Array.isArray(l)){const y=l.text;if(typeof y=="string")return y;try{return JSON.stringify(l)}catch{return String(l)}}return String(l)},r=l=>{const y=l.trim();if(!y||!y.startsWith("{")&&!y.startsWith("["))return l;try{return JSON.stringify(JSON.parse(y),null,2)}catch{return l}},o=(l,y)=>{const w=String(l??"").split(`
2
+ `);return w.length<=y?l:`${w.slice(0,y).join(`
3
+ `)}
4
+ ... (${w.length-y} more lines)`},n=s(e);if(!n)return"No output";const a=r(n);return String(t??"").toLowerCase()==="read"?o(a,24):a}function Tt(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 Zt(e){const t=String(e??"").replace(/\r/g,"");if(!t)return[];const s=t.split("```"),r=[];for(let o=0;o<s.length;o+=1){const n=s[o];if(o%2===1){const a=n.split(`
5
+ `),u=(a.shift()??"").trim(),l=a.join(`
6
+ `).replace(/\n$/,"");r.push({type:"code",content:l,language:u||void 0})}else n.trim()&&r.push({type:"text",content:n.trim()})}return r}function ee(e){const t=String(e??"");return{type:"markdown",raw:t,blocks:Zt(t)}}function ce(e,t,s,r,o){const n=t.length?t:[ee("")];return{id:o??Le(),role:e,parts:n,ts:s??new Date().toISOString(),meta:r}}function sl(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 rl={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"},nl={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"},ol={class:"max-w-[80%] min-w-0"},al={class:"space-y-3"},ll={key:0},il={key:1},cl=["open"],dl={class:"cursor-pointer text-xs font-semibold text-text-secondary-light dark:text-text-secondary-dark"},ul={class:"mt-2 text-xs whitespace-pre-wrap"},ml={key:2},fl=["open"],pl={class:"cursor-pointer text-xs font-semibold text-text-secondary-light dark:text-text-secondary-dark"},gl={class:"mt-2 text-xs whitespace-pre-wrap"},vl={key:3},hl=["open"],yl={class:"cursor-pointer text-xs font-semibold text-text-secondary-light dark:text-text-secondary-dark"},bl={class:"mt-2 text-xs whitespace-pre-wrap"},xl={key:0,class:"mt-2 text-xs whitespace-pre-wrap"},kl={key:4},wl={class:"grid gap-2"},Sl=["src","alt"],Cl={class:"flex flex-col"},$l={class:"text-xs font-medium text-text-primary-light dark:text-text-primary-dark"},Il={key:0,class:"text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},Al={class:"mt-2 text-[10px] text-text-secondary-light dark:text-text-secondary-dark"},Ml=be({__name:"ChatMessages",props:{messages:{}},setup(e,{expose:t}){const s=A(null);return t({messagesRef:s}),(r,o)=>(M(),R("div",{ref_key:"messagesRef",ref:s,class:"space-y-6"},[(M(!0),R(Se,null,$e(e.messages,n=>(M(),R("div",{key:n.id,class:ze(["flex gap-4",n.role==="user"?"flex-row-reverse":""])},[n.role==="user"?(M(),R("div",rl,[...o[0]||(o[0]=[i("span",{class:"material-icons-outlined text-sm"},"person",-1)])])):(M(),R("div",nl,[...o[1]||(o[1]=[i("span",{class:"material-icons-outlined text-sm"},"auto_awesome",-1)])])),i("div",ol,[i("div",{class:ze(["px-5 py-3.5 rounded-2xl text-sm leading-relaxed shadow-sm",[n.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",n.meta==="streaming"?"animate-pulse":""]])},[i("div",al,[(M(!0),R(Se,null,$e(n.parts,(a,u)=>(M(),R(Se,{key:`${n.id}-${a.type}-${u}`},[a.type==="markdown"?(M(),R("div",ll,[oe(Ha,{content:a.raw},null,8,["content"])])):a.type==="thinking"?(M(),R("div",il,[i("details",{open:!a.collapsed,class:"rounded-md border border-border-light dark:border-border-dark p-3 bg-gray-50 dark:bg-gray-800/50"},[i("summary",dl,q(a.title),1),i("pre",ul,q(a.content),1)],8,cl)])):a.type==="tool_call"?(M(),R("div",ml,[i("details",{open:U(sl)(a,n.parts),class:"rounded-md border border-border-light dark:border-border-dark p-3 bg-gray-50 dark:bg-gray-800/50"},[i("summary",pl," Tool call: "+q(a.name),1),i("pre",gl,q(a.args),1)],8,fl)])):a.type==="tool_result"?(M(),R("div",vl,[i("details",{open:a.status==="error",class:"rounded-md border border-border-light dark:border-border-dark p-3 bg-gray-50 dark:bg-gray-800/50"},[i("summary",yl," Tool result: "+q(a.name||"tool")+" · "+q(a.status),1),i("pre",bl,q(a.output),1),a.structured?(M(),R("pre",xl,q(a.structured),1)):Y("",!0)],8,hl)])):a.type==="attachments"?(M(),R("div",kl,[i("div",wl,[(M(!0),R(Se,null,$e(a.items,(l,y)=>(M(),R("div",{key:`${n.id}-${u}-${y}`,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"},[l.kind==="image"&&l.url?(M(),R("img",{key:0,src:l.url,alt:l.label,class:"h-10 w-10 rounded object-cover"},null,8,Sl)):Y("",!0),i("div",Cl,[i("span",$l,q(l.label),1),l.meta?(M(),R("span",Il,q(l.meta),1)):Y("",!0)])]))),128))])])):Y("",!0)],64))),128))])],2),i("div",Al,q(U(Ya)(n.ts)),1)])],2))),128))],512))}}),Rl=Object.assign(Ml,{__name:"ChatMessages"});function Tl(e){return`${e.type}-${e.id??e.receivedAt}`}function El(e){return e&&typeof e=="object"?e:null}function rt(e){if(!e)return null;const t=e.sessionId??e.session_id;return typeof t=="string"&&t.trim()?t:null}function mt(e){if(!e)return null;const t=e.runId??e.run_id;return typeof t=="string"&&t.trim()?t:null}function Ve(e){const t=El(e.payload);return t?("payload"in t&&t.payload&&typeof t.payload=="object"?t.payload:null)??t:null}function Kt(e){return mt(Ve(e))}function Pe(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 Ot(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 n=s.name;return typeof n=="string"&&n.trim()?n.trim():null}const o=(Array.isArray(e.tool_calls)?e.tool_calls:[])[0];return o?.function?.name?String(o.function.name):null}function Ut(e){if(!e)return{args:"",delta:""};const t=typeof e.argsTextDelta=="string"?e.argsTextDelta:typeof e.args_text_delta=="string"?e.args_text_delta:typeof e.argsDelta=="string"?e.argsDelta:"";let r=typeof e.argsText=="string"?e.argsText:typeof e.args_text=="string"?e.args_text:typeof e.args=="string"?e.args:"";if(!r){const a=(Array.isArray(e.tool_calls)?e.tool_calls:[])[0];if(a?.function?.arguments!=null){const u=a.function.arguments;if(typeof u=="string")r=u;else try{r=JSON.stringify(u,null,2)}catch{r=String(u)}}}const o=typeof e.originalEventType=="string"?e.originalEventType:"";return r&&(o==="tool_call_end"||!t)?{args:r,delta:""}:t?{args:t,delta:t}:{args:r,delta:""}}const Pl={class:"space-y-4"},Ol={class:"rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark p-4 shadow-sm"},Ul={key:0,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark"},_l={key:1,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark"},Dl={key:2,class:"space-y-3"},Nl={class:"grid grid-cols-2 gap-2 text-xs"},jl={class:"text-text-secondary-light dark:text-text-secondary-dark"},Bl={class:"text-text-primary-light dark:text-text-primary-dark font-medium"},zl={class:"flex flex-wrap gap-2"},Ll={class:"rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark p-4 shadow-sm"},ql={class:"grid grid-cols-2 gap-2 text-xs"},Ql={class:"text-text-secondary-light dark:text-text-secondary-dark"},Fl={class:"rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark p-4 shadow-sm"},Wl={class:"text-xs text-text-secondary-light dark:text-text-secondary-dark mb-2"},Vl={class:"space-y-2 max-h-64 overflow-y-auto pr-1"},Gl={class:"flex items-center justify-between text-xs text-text-secondary-light dark:text-text-secondary-dark"},Jl={class:"font-medium text-text-primary-light dark:text-text-primary-dark"},Hl={class:"mt-1"},Kl={class:"mt-2 text-[10px] whitespace-pre-wrap"},Yl={key:0,class:"rounded-lg border border-border-light dark:border-border-dark bg-surface-light dark:bg-surface-dark p-4 shadow-sm"},Xl={class:"text-xs text-text-secondary-light dark:text-text-secondary-dark mb-2"},Zl={class:"mt-2 text-[10px] whitespace-pre-wrap"},ei=be({__name:"DebugPanel",props:{statusLoading:{type:Boolean},statusError:{},statusRows:{},capabilities:{},events:{},snapshotLabel:{},snapshotContent:{}},emits:["refresh","reconnect","capabilities","copy-origin"],setup(e){return(t,s)=>(M(),R("aside",Pl,[i("article",Ol,[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?(M(),R("p",Ul," Loading /status snapshot... ")):e.statusError?(M(),R("p",_l,q(e.statusError),1)):(M(),R("div",Dl,[i("div",Nl,[(M(!0),R(Se,null,$e(e.statusRows,r=>(M(),R("div",{key:r.label,class:"flex flex-col"},[i("span",jl,q(r.label),1),i("span",Bl,q(r.value),1)]))),128))]),i("div",zl,[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",Ll,[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",ql,[(M(!0),R(Se,null,$e(e.capabilities,r=>(M(),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",Ql,q(r.label),1),i("span",{class:ze(r.enabled?"text-emerald-500":"text-red-500")},q(r.enabled?"Yes":"No"),3)]))),128))])]),i("article",Fl,[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",Wl," Most recent "+q(e.events.length)+" events ",1),i("div",Vl,[(M(!0),R(Se,null,$e(e.events,r=>(M(),R("div",{key:U(Tl)(r),class:"rounded border border-border-light dark:border-border-dark p-2"},[i("div",Gl,[i("span",Jl,q(r.type),1),i("span",null,q(U(Xa)(r)),1)]),i("details",Hl,[s[6]||(s[6]=i("summary",{class:"cursor-pointer text-[11px] text-text-secondary-light dark:text-text-secondary-dark"}," Payload ",-1)),i("pre",Kl,q(U(Za)(r)),1)])]))),128))])]),e.snapshotLabel?(M(),R("article",Yl,[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",Xl,q(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",Zl,q(e.snapshotContent),1)])])):Y("",!0)]))}}),ti=Object.assign(ei,{__name:"DebugPanel"}),si=["onKeydown"],ri={class:"text-sm text-text-primary-light dark:text-text-primary-dark"},ni={class:"mt-4 flex justify-end gap-2"},oi=["disabled"],ai=["disabled"],li=be({__name:"DeleteDialog",props:{open:{type:Boolean},target:{},busy:{type:Boolean}},emits:["close","confirm"],setup(e,{expose:t,emit:s}){const r=s,o=A(null);function n(){r("close")}function a(){r("confirm")}return t({dialogEl:o}),(u,l)=>e.open?(M(),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},[i("div",{ref_key:"dialogEl",ref:o,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:l[0]||(l[0]=ye(()=>{},["stop"])),onKeydown:[Ge(ye(n,["stop","prevent"]),["escape"]),Ge(ye(a,["stop","prevent"]),["enter"])]},[i("div",{class:"flex items-center justify-between mb-3"},[l[2]||(l[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:n},[...l[1]||(l[1]=[i("span",{class:"material-icons-outlined text-base"},"close",-1)])])]),i("p",ri,[l[3]||(l[3]=Ce(" This will permanently delete ",-1)),i("strong",null,q(e.target?.title||"this session"),1),l[4]||(l[4]=Ce(" and its history. ",-1))]),i("div",ni,[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}," Cancel ",8,oi),i("button",{class:"text-xs px-3 py-1.5 rounded bg-red-500 text-white",type:"button",disabled:e.busy,onClick:a},q(e.busy?"Deleting…":"Delete"),9,ai)])],40,si)])):Y("",!0)}}),ii=Object.assign(li,{__name:"DeleteDialog"}),ci={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"},di={class:"px-2 space-y-1 mb-4"},ui={class:"flex-1 overflow-y-auto overflow-x-hidden px-2 space-y-1"},mi={class:"font-normal truncate"},fi={key:0,class:"space-y-0.5 mt-1 overflow-x-hidden"},pi={key:0,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark px-2 py-2"},gi={key:1,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark px-2 py-2"},vi=["onClick"],hi={class:"flex-1 min-w-0 truncate font-normal"},yi={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"},bi=["onClick"],xi=["onClick"],ki=["value","onKeydown"],wi={class:"mt-2 flex gap-2"},Si={key:2,class:"text-xs text-text-secondary-light dark:text-text-secondary-dark px-2 py-2"},Ci={class:"px-3 py-3 border-t border-border-light dark:border-border-dark"},$i={class:"flex gap-2"},Ii={key:0,class:"px-3 pb-3"},Ai={class:"space-y-2"},Mi=["onClick"],Ri={class:"font-medium"},Ti={class:"block text-[10px] text-text-secondary-light dark:text-text-secondary-dark mt-1"},Ei={class:"p-3 border-t border-border-light dark:border-border-dark"},Pi={class:"flex items-center justify-between text-[11px] text-text-secondary-light dark:text-text-secondary-dark"},Oi=be({__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=A(!0),r=H(()=>{const o=String(t.activeSessionCwdLabel??"").trim();if(!o)return"workspace";const n=o.split(/[/\\\\]/).filter(Boolean);return n.length?n[n.length-1]:"workspace"});return(o,n)=>(M(),R("aside",ci,[n[20]||(n[20]=i("div",{class:"p-4 flex gap-2"},[i("div",{class:"w-3 h-3 rounded-full bg-red-500 hover:bg-red-600 transition-colors"}),i("div",{class:"w-3 h-3 rounded-full bg-yellow-500 hover:bg-yellow-600 transition-colors"}),i("div",{class:"w-3 h-3 rounded-full bg-green-500 hover:bg-green-600 transition-colors"})],-1)),i("nav",di,[oe(Ee,{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:n[0]||(n[0]=a=>o.$emit("create"))},{default:Re(()=>[...n[9]||(n[9]=[i("span",{class:"material-icons-outlined text-lg mr-2"},"edit",-1),Ce(" New thread ",-1)])]),_:1}),oe(Ee,{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:n[1]||(n[1]=a=>o.$emit("refresh"))},{default:Re(()=>[...n[10]||(n[10]=[i("span",{class:"material-icons-outlined text-lg mr-2"},"refresh",-1),Ce(" Refresh ",-1)])]),_:1},8,["disabled"])]),n[21]||(n[21]=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",ui,[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:n[2]||(n[2]=a=>s.value=!s.value)},[i("span",{class:ze(["material-icons-outlined text-base",s.value?"text-primary":"text-text-primary-light dark:text-text-primary-dark"])},q(s.value?"folder_open":"folder"),3),i("span",mi,q(r.value),1)]),s.value?(M(),R("div",fi,[e.sessionsError?(M(),R("p",pi," Sessions unavailable: "+q(e.sessionsError),1)):e.sessions.length?Y("",!0):(M(),R("p",gi,q(e.sessionsLoading?"Loading sessions…":"No sessions yet. Create one to start."),1)),(M(!0),R(Se,null,$e(e.sessions,a=>(M(),R("div",{key:a.id,class:"group relative max-w-full"},[i("button",{type:"button",class:ze(["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",a.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:u=>o.$emit("select",a.id)},[i("span",hi,q(a.title||"Untitled"),1),i("span",{class:ze(["shrink-0 text-[11px] text-text-secondary-light dark:text-text-secondary-dark whitespace-nowrap group-hover:opacity-0 transition-opacity",a.id===e.activeSessionId?"text-primary-foreground/80":""])},q(U(Ka)(a)),3)],10,vi),e.canManageSessions&&e.editingSessionId!==a.id?(M(),R("div",yi,[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:ye(u=>o.$emit("rename",a),["stop"])},[...n[11]||(n[11]=[i("span",{class:"material-icons-outlined text-[12px]"},"edit",-1)])],8,bi),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:ye(u=>o.$emit("delete",a),["stop"])},[...n[12]||(n[12]=[i("span",{class:"material-icons-outlined text-[12px]"},"delete",-1)])],8,xi)])):Y("",!0),e.editingSessionId===a.id?(M(),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:n[6]||(n[6]=ye(()=>{},["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:n[3]||(n[3]=u=>o.$emit("update:renameDraft",u.target.value)),onKeydown:[Ge(ye(u=>o.$emit("apply-rename",a),["prevent"]),["enter"]),n[4]||(n[4]=Ge(ye(u=>o.$emit("cancel-rename"),["prevent"]),["escape"]))]},null,40,ki),i("div",wi,[oe(Ee,{size:"sm",class:"h-7 px-3",onClick:u=>o.$emit("apply-rename",a)},{default:Re(()=>[...n[13]||(n[13]=[Ce("Save",-1)])]),_:1},8,["onClick"]),oe(Ee,{variant:"ghost",size:"sm",class:"h-7 px-3",onClick:n[5]||(n[5]=u=>o.$emit("cancel-rename"))},{default:Re(()=>[...n[14]||(n[14]=[Ce("Cancel",-1)])]),_:1})])])):Y("",!0)]))),128)),e.sessionNote?(M(),R("p",Si,q(e.sessionNote),1)):Y("",!0)])):Y("",!0)]),i("div",Ci,[n[17]||(n[17]=i("div",{class:"text-xs font-semibold text-text-secondary-light dark:text-text-secondary-dark mb-2"}," Tool approvals ",-1)),n[18]||(n[18]=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",$i,[oe(Ee,{size:"sm",variant:e.toolApprovalsMode==="auto"?"default":"secondary",class:"h-7 px-3 text-[11px]",onClick:n[7]||(n[7]=a=>o.$emit("set-approvals","auto"))},{default:Re(()=>[...n[15]||(n[15]=[Ce(" Auto ",-1)])]),_:1},8,["variant"]),oe(Ee,{size:"sm",variant:e.toolApprovalsMode==="all"?"default":"secondary",class:"h-7 px-3 text-[11px]",onClick:n[8]||(n[8]=a=>o.$emit("set-approvals","all"))},{default:Re(()=>[...n[16]||(n[16]=[Ce(" Always allow ",-1)])]),_:1},8,["variant"])])]),e.debugUi?(M(),R("div",Ii,[n[19]||(n[19]=i("div",{class:"text-xs font-semibold text-text-secondary-light dark:text-text-secondary-dark mb-2"}," Command & Config ",-1)),i("div",Ai,[(M(!0),R(Se,null,$e(e.commandItems,a=>(M(),R("button",{key:a.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:u=>o.$emit("copy-command",a.command,a.label)},[i("div",Ri,q(a.label),1),i("code",Ti,q(a.command),1)],8,Mi))),128))])])):Y("",!0),i("div",Ei,[i("div",Pi,[i("span",null,q(e.lastUpdatedLabel),1),i("span",null,q(e.sessionCountLabel),1)])])]))}}),Ui=Object.assign(Oi,{__name:"SessionSidebar"}),_i=be({__name:"Toast",props:{visible:{type:Boolean},message:{},kind:{}},emits:["close"],setup(e,{emit:t}){const s=t;function r(){s("close")}return(o,n)=>e.visible?(M(),R("div",{key:0,class:ze(["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},q(e.message),3)):Y("",!0)}}),Di=Object.assign(_i,{__name:"Toast"}),Et="Other";function Ni(){const e=A(!1),t=A([]),s=A({}),r=A({}),o=A(null),n=A(null),a=A(null),u=A(!1),l=A(null);function y(p){const k={},g={};for(let W=0;W<p.length;W+=1){const B=String(W),F=p[W];if(F?.multiSelect)k[B]=[];else{const K=F?.options?.[0]?.label;k[B]=K?[String(K)]:[]}g[B]=""}s.value=k,r.value=g}function w(p,k){return(s.value[String(p)]??[]).includes(k)}function I(p,k,g){const W=String(p);if(t.value[p]?.multiSelect){const F=new Set(s.value[W]??[]);g?F.add(k):F.delete(k),s.value={...s.value,[W]:Array.from(F)};return}g&&(s.value={...s.value,[W]:[k]})}function $(p,k,g){const W=g.target;I(p,k,!!W?.checked)}function T(){const p={};for(let k=0;k<t.value.length;k+=1){const g=String(k),W=t.value[k],B=s.value[g]??[],F=(r.value[g]??"").trim();if(W?.multiSelect){const K=B.filter(ne=>ne!==Et);B.includes(Et)&&F&&K.push(F),p[g]=K}else{const K=B[0]??"";p[g]=K===Et?F:K}}return p}function O(p){if(!Array.isArray(p))return[];const k=[];for(const g of p){if(!g||typeof g!="object")continue;const W=typeof g.question=="string"?g.question:"",F=(typeof g.header=="string"?g.header:"")||"Question",ne=(Array.isArray(g.options)?g.options:[]).map(se=>({label:typeof se?.label=="string"?se.label:"",description:typeof se?.description=="string"?se.description:""})).filter(se=>se.label||se.description),pe=typeof g.multiSelect=="boolean"?g.multiSelect:typeof g.multi_select=="boolean"?g.multi_select:!1;(W||ne.length)&&k.push({question:W,header:F,options:ne,multiSelect:pe})}return k}function E(p){if(!p)return[];try{const k=JSON.parse(p);return O(k?.questions)}catch{return[]}}function v(p,k){const g=p.get(k);if(!g)return{toolCallId:"",questions:[]};for(const[W,B]of g.toolCalls){if(String(B.name??"").toLowerCase()!=="askuserquestion")continue;const F=E(B.args);return{toolCallId:String(W??""),questions:F}}return{toolCallId:"",questions:[]}}function P(p,k){const g=new Map,W=[];for(const B of p){const F=Ve(B);if(!F)continue;const K=mt(F);if(!K||K!==k||B.type!=="tool.call")continue;const ne=Pe(F);if(!ne)continue;const pe=Ot(F),{args:se,delta:ae}=Ut(F),de=!ae;g.has(ne)||W.push(ne);const L=g.get(ne)??{name:pe,args:""};g.set(ne,{name:L.name||pe,args:de?se:`${L.args}${se}`})}for(const B of W){const F=g.get(B);if(!F||String(F.name??"").toLowerCase()!=="askuserquestion")continue;const K=E(F.args);return{toolCallId:B,questions:K}}return{toolCallId:"",questions:[]}}function x(p,k,g={}){const W=Pe(p)??"";let B=O(p?.questions),F=W;if(!B.length||!F){const K=g.events&&g.streamRuns?P(g.events,k):g.streamRuns?v(g.streamRuns,k):{toolCallId:"",questions:[]};F||(F=K.toolCallId),B.length||(B=K.questions)}return{toolCallId:F,questions:B}}function h(p,k){for(let g=p.length-1;g>=0;g-=1){const W=p[g];if(W.type!=="requires_action")continue;const B=Ve(W);if(!B)continue;const F=mt(B);if(!F||F!==k)continue;if(String(B?.kind??B?.action_kind??"")==="ask_user")return B}return null}function c(p,k,g,W){if(!k||!p.length){console.warn("AskUser required but questions are missing.");return}e.value&&a.value===W||(t.value=p,o.value=k,n.value=g,a.value=W,y(p),e.value=!0)}function b(p){u.value||(e.value=!1,t.value=[],s.value={},r.value={},o.value=null,n.value=null,a.value=null,p&&p())}return{ASK_USER_OTHER_LABEL:Et,askUserDialogOpen:e,askUserQuestions:t,askUserSelections:s,askUserOtherInputs:r,askUserToolCallId:o,askUserSessionId:n,askUserRunId:a,askUserBusy:u,askUserDialogEl:l,initAskUserState:y,isAskUserSelected:w,updateAskUserSelection:I,onAskUserOptionChange:$,buildAskUserAnswers:T,normalizeAskUserQuestions:O,parseAskUserQuestionsFromArgs:E,findAskUserFromStreamRun:v,findAskUserFromEvents:P,resolveAskUserPayload:x,findAskUserRequiresActionPayload:h,openAskUserDialog:c,closeAskUserDialog:b}}const ji=["state.snapshot","state.patch","message.delta","thinking_start","thinking_delta","thinking_end","tool.call","tool.output","tool.result","requires_action","run.status","session.created","session.updated","query.result","query.error"];function Ys(e){const t=String(e??"").trim();return t?t.replace(/\/+$/,""):""}function Xs(e,t,s){const r=Ys(e),o=t.startsWith("/")?t:`/${t}`,n=`${r}${o}`;if(!s)return n;const a=n.includes("?")?"&":"?";return`${n}${a}cursor=${encodeURIComponent(s)}`}function Bi(){if(typeof window>"u")return"";try{const e=new URLSearchParams(window.location.search);return String(e.get("token")??"").trim()}catch{return""}}function es(e,t,s){const r=String(s?.token??"").trim(),o=String(s?.cursor??"").trim(),n=Xs(e,t,o||void 0);if(!r)return n;const a=n.includes("?")?"&":"?";return`${n}${a}token=${encodeURIComponent(r)}`}function ut(e){const t=String(e??"").trim();if(!t)return null;try{return JSON.parse(t)}catch{return t}}function zi(e,t){const s=ut(e.data),r=s&&typeof s=="object"?s:null,o=t??e.type??"message",n=r?.type?String(r.type):o,a=e.lastEventId||(r?.id?String(r.id):"")||(r?.cursor?String(r.cursor):""),u=r?.ts??r?.createdAt,l=typeof r?.seq=="number"?Number(r.seq):void 0;return{id:a||void 0,type:n,ts:u?String(u):void 0,seq:l,payload:s,raw:String(e.data??""),receivedAt:new Date().toISOString()}}async function Te(e,t,s,r){const o=es(e,t,r),n=await fetch(o,{credentials:"same-origin",headers:{"content-type":"application/json",...s?.headers??{}},...s}),a=await n.text(),u=ut(a);if(!n.ok){const l=typeof u=="string"?u:JSON.stringify(u);throw new Error(`Request failed (${n.status}): ${l||n.statusText}`)}return u}function Je(e="",t){const s=Ys(e),r=String(Bi()).trim();async function o(v){return Te(s,"/status",{method:"GET",signal:v},{token:r})}async function n(v,P,x,h){return Te(s,"/query",{method:"POST",body:JSON.stringify({query:v,input:v,attachments:P,attachmentsBase64:x,toolContext:h?.toolContext,resume:h?.resume})})}async function a(v,P,x,h,c){return Te(s,"/query",{method:"POST",body:JSON.stringify({query:v,input:v,sessionId:P,attachments:x,attachmentsBase64:h,toolContext:c?.toolContext,resume:c?.resume})})}async function u(){const v=await Te(s,"/sessions",{method:"GET"},{token:r});return Array.isArray(v.sessions)?v.sessions:[]}async function l(v){return(await Te(s,`/sessions/${encodeURIComponent(v)}`,{method:"GET"},{token:r})).session??null}async function y(){return Te(s,"/sessions",{method:"POST"},{token:r})}async function w(v,P){return Te(s,`/sessions/${encodeURIComponent(v)}/rename`,{method:"POST",body:JSON.stringify({title:P})})}async function I(v){return Te(s,`/sessions/${encodeURIComponent(v)}`,{method:"DELETE"},{token:r})}async function $(){const v=await Te(s,"/modes",{method:"GET"});return{currentMode:v.currentMode??"agent",availableModes:v.availableModes??[]}}async function T(v){const P=await Te(s,"/modes/set",{method:"POST",body:JSON.stringify({mode:v})});return{currentMode:P.currentMode??"agent",availableModes:P.availableModes??[]}}function O(v){const P=es(s,"/events",{cursor:v.cursor,token:r}),x=new EventSource(P),h=c=>{v.onEvent(zi(c,c.type==="message"?void 0:c.type))};x.onopen=()=>v.onOpen?.(),x.onerror=c=>v.onError?.(c),x.onmessage=h;for(const c of ji)x.addEventListener(c,h);return x}async function E(v,P){const x=Xs(s,"/query/stream"),h=await fetch(x,{method:"POST",credentials:"same-origin",headers:{"content-type":"application/json",accept:"text/event-stream"},body:JSON.stringify({query:v,input:v,sessionId:P.sessionId,attachments:P.attachments,attachmentsBase64:P.attachmentsBase64,toolContext:P.toolContext,resume:P.resume})});if(!h.ok){const B=await h.text(),F=ut(B),K=typeof F=="string"?F:JSON.stringify(F);throw new Error(`Request failed (${h.status}): ${K||h.statusText}`)}if(!h.body)throw new Error("Response body is null");const c=h.body.getReader(),b=new TextDecoder;let p="",k=!1,g=!1;return(async()=>{try{let B={};for(;!k;){const{done:F,value:K}=await c.read();if(F)break;p+=b.decode(K,{stream:!0});const ne=p.split(`
7
+ `);p=ne.pop()||"";for(const pe of ne){if(pe.startsWith(":"))continue;if(!pe.trim()){if(B.data){const L=B.data,_e=ut(L);if(_e&&typeof _e=="object"){const ue=_e,De=B.type||String(ue.type||"message"),Z={id:B.id??(ue.id?String(ue.id):void 0),type:De,ts:ue.ts?String(ue.ts):void 0,seq:typeof ue.seq=="number"?ue.seq:void 0,payload:ue.payload,raw:L,receivedAt:new Date().toISOString()};if(P.onEvent(Z),De==="query.result"&&ue.payload&&P.onComplete)P.onComplete(ue.payload);else if(De==="query.error"&&ue.payload&&P.onError){const S=ue.payload;P.onError(new Error(S.error||"Query failed"))}}}B={};continue}const se=pe.match(/^id:\s*(.*)$/),ae=pe.match(/^event:\s*(.*)$/),de=pe.match(/^data:\s*(.*)$/);se?B.id=se[1]:ae?B.type=ae[1]:de&&(B.data=(B.data||"")+de[1])}}}catch(B){!k&&P.onError&&P.onError(B instanceof Error?B:new Error(String(B)))}finally{if(!g)try{c.releaseLock(),g=!0}catch{}}})(),()=>{if(k=!0,!g)try{c.cancel(),c.releaseLock(),g=!0}catch{}}}return{fetchStatus:o,runQuery:n,runQueryWithSession:a,runQueryStream:E,openEvents:O,fetchSessions:u,fetchSession:l,createSession:y,renameSession:w,deleteSession:I,fetchModes:$,setMode:T,uploadFile:async v=>{const P=es(s,"/upload",{token:r}),x=new FormData;x.append("file",v);const h=await fetch(P,{method:"POST",body:x,credentials:"same-origin"}),c=await h.text(),b=ut(c);if(!h.ok||!b?.file)throw new Error(b?.error||`Upload failed (${h.status})`);return b.file}}}function Li(e){const t=A([]),s=A(""),r=A(!1),o=A(null),n=A(!1),a=A(null),u=Je();function l(c){try{URL.revokeObjectURL(c)}catch{}}function y(c){const b=t.value,p=b.find(k=>k.id===c);p?.localUrl&&l(p.localUrl),t.value=b.filter(k=>k.id!==c),t.value.length||(s.value="",r.value=!1)}function w(){for(const c of t.value)c.localUrl&&l(c.localUrl);t.value=[],s.value="",r.value=!1}async function I(c){c.status="uploading",c.error=void 0;try{const b=await u.uploadFile(c.file);c.remote={...b,name:b.name||c.name,mime:b.mime||c.mime,size:b.size||c.size,kind:c.mime.startsWith("image/")?"image":"file"},c.status="ready"}catch(b){c.status="error",c.error=b instanceof Error?b.message:String(b)}}async function $(c){if(!e.value){s.value="Uploads are disabled by the server.";return}s.value="";for(const b of c){const p=Le(),k={id:p,file:b,name:b.name||`attachment-${p.slice(0,6)}`,mime:b.type||"application/octet-stream",size:b.size,localUrl:URL.createObjectURL(b),status:"pending"};t.value=[...t.value,k],k.uploadPromise=I(k),k.uploadPromise}}function T(c){const b=c.clipboardData?.items;if(!b||!b.length)return;const p=[];for(const k of b)if(k.kind==="file"){const g=k.getAsFile();g&&p.push(g)}p.length&&(c.clipboardData?.getData("text")||c.preventDefault(),$(p))}function O(c){const b=c.dataTransfer?.files;if(!b||!b.length)return;const p=Array.from(b);p.length&&$(p)}function E(c){const b=c.target;if(!b?.files)return;const p=Array.from(b.files);b.value="",p.length&&$(p)}function v(){o.value?.click()}function P(){n.value=!1,v()}function x(){n.value=!n.value}async function h(){const c=t.value.filter(k=>k.status==="pending"&&!k.uploadPromise);for(const k of c)k.uploadPromise=I(k);const b=t.value.map(k=>k.uploadPromise).filter(k=>!!k);b.length&&await Promise.all(b);const p=t.value.filter(k=>k.status==="error");return p.length?(s.value=p[0]?.error??"Attachment upload failed.",[]):t.value.filter(k=>k.status==="ready"&&k.remote).map(k=>({...k.remote,name:k.remote?.name||k.name,mime:k.remote?.mime||k.mime,size:k.remote?.size||k.size,kind:k.remote?.kind||(k.mime.startsWith("image/")?"image":"file")}))}return{attachments:t,attachmentNote:s,attachmentsBase64:r,filePicker:o,composerMenuOpen:n,composerMenuEl:a,removeAttachment:y,clearAttachments:w,handlePaste:T,handleDrop:O,handleFilePick:E,openFilePicker:v,handleAddFile:P,toggleComposerMenu:x,ensureUploadsReady:h}}function qi(){const e=A(!1),t=A(null),s=A(!1),r=A(null);function o(a){t.value={id:a.id,title:a.title},e.value=!0}function n(){s.value||(e.value=!1,t.value=null)}return{deleteDialogOpen:e,deleteTarget:t,deleteBusy:s,deleteDialogEl:r,openDeleteDialog:o,closeDeleteDialog:n}}function Qi(e={}){const t=A([]),s=A(null),r=A("idle"),o=A(null),n=A(null),a=e.maxEvents??200,u=Je();let l=null;function y($){t.value=[$,...t.value].slice(0,a),$.id&&(n.value=$.id),$.type==="state.snapshot"&&($.payload&&typeof $.payload=="object"&&"snapshot"in $.payload?s.value=$.payload.snapshot:s.value=$.payload)}function w($){I(),r.value="connecting",o.value=null,l=u.openEvents({cursor:$??n.value??void 0,onOpen:()=>{r.value="open"},onError:()=>{r.value="error",o.value="Event stream disconnected."},onEvent:T=>{y(T)}})}function I(){l&&(l.close(),l=null),(r.value==="connecting"||r.value==="open")&&(r.value="idle")}return{events:t,snapshot:s,state:r,error:o,lastEventId:n,start:w,stop:I}}function Fi(){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=A([{id:"welcome",role:"system",parts:[ee("Connected. Select a session and continue the conversation here.")],ts:new Date().toISOString()}]),s=A(null),r=H(()=>u(t.value));function o(h){if(h.role!=="system"||h.parts.length!==1)return!1;const c=h.parts[0];if(!c||c.type!=="markdown")return!1;const b=String(c.raw??"").trim();return e.has(b)}function n(h){return h.filter(c=>!o(c))}function a(){t.value=n(t.value)}function u(h){const c=[];for(const b of h){if(b.role!=="assistant"){c.push(b);continue}const p=c[c.length-1];if(!p||p.role!=="assistant"){c.push(b);continue}c[c.length-1]={...p,parts:[...p.parts,...b.parts],ts:b.ts||p.ts,meta:b.meta}}return c}function l(h,c){a(),t.value=[...t.value,ce(h,[ee(c)])]}function y(h,c){if(!h)return;const b=typeof c=="string"?c:c&&typeof c=="object"&&"result"in c?String(c.result):JSON.stringify(c,null,2);t.value=t.value.map(p=>p.id!==h?p:{...p,parts:[ee(b)],meta:void 0})}function w(h,c){a();const b=[];c.length&&b.push({type:"attachments",items:c}),h.trim()&&b.push(ee(h)),t.value=[...t.value,ce("user",b)]}function I(h){if(!h)return;const c=()=>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",b=t.value[t.value.length-1];(!b||b.role!=="assistant")&&l("assistant",c())}function $(){t.value=[ce("system",[ee("Chat cleared. Start a new conversation.")])]}function T(h){t.value=h}async function O(){await Be(),await Be(),s.value&&(s.value.scrollTop=s.value.scrollHeight)}function E(h,c){if(!h)return;const b=c?`Waiting for approval: ${c}`:"Waiting for approval",p="Waiting for approval";t.value=t.value.map(k=>{if(k.id!==h)return k;const g=k.parts??[],W=g.length>0&&g[0]?.type==="markdown"&&String(g[0].raw??"").startsWith(p)?[ee(b),...g.slice(1)]:[ee(b),...g];return{...k,parts:W,meta:void 0}})}function v(h){if(!h)return;const c="Waiting for your answers",b="Waiting for your answers";t.value=t.value.map(p=>{if(p.id!==h)return p;const k=p.parts??[],g=k.length>0&&k[0]?.type==="markdown"&&String(k[0].raw??"").startsWith(b)?[ee(c),...k.slice(1)]:[ee(c),...k];return{...p,parts:g,meta:void 0}})}function P(h){if(!h)return;const c="Waiting for approval";t.value=t.value.map(b=>{if(b.id!==h)return b;const p=b.parts??[];return p.length>0&&p[0]?.type==="markdown"&&String(p[0].raw??"").startsWith(c)?{...b,parts:p.slice(1)}:b})}function x(h){if(!h)return;const c="Waiting for your answers";t.value=t.value.map(b=>{if(b.id!==h)return b;const p=b.parts??[];return p.length>0&&p[0]?.type==="markdown"&&String(p[0].raw??"").startsWith(c)?{...b,parts:p.slice(1)}:b})}return{chatMessages:t,chatMessagesRef:s,renderMessages:r,mergeAssistantTurns:u,appendMessage:l,updateStreamingMessageFinal:y,appendUserMessageWithAttachments:w,ensureAssistantReply:I,clearChat:$,setChatMessages:T,removeSystemPlaceholders:a,scrollChatToBottom:O,markMessageAwaitingApproval:E,markMessageAwaitingAnswers:v,clearMessageAwaitingApproval:P,clearMessageAwaitingAnswers:x}}function Wi(){const e=A("agent"),t=A(!1),s=A(null),r=Je(),o=H(()=>e.value.toUpperCase()),n=H(()=>["agent","plan"]),a=H(()=>`Message (${e.value.toUpperCase()} mode)...`);async function u(){try{const w=await r.fetchModes();e.value=w.currentMode}catch(w){console.error("Failed to fetch mode:",w)}}async function l(w){t.value=!1;try{const I=await r.setMode(w);e.value=I.currentMode}catch(I){console.error("Failed to set mode:",I),e.value=w}}function y(){t.value=!t.value}return{mode:e,modeMenuOpen:t,modeMenuEl:s,modeLabel:o,modeOptions:n,composerPlaceholder:a,fetchCurrentMode:u,setMode:l,toggleModeMenu:y}}function Vi(){const e=A(""),t=A(!1),s=A(null),r=A(null),o=A(null),n=Je();async function a(l,y,w,I,$){const T=(l??e.value).trim(),O=Array.isArray(w)&&w.length>0,E=!!$?.resume;if(!T&&!O&&!E){s.value="Query cannot be empty.";return}t.value=!0,s.value=null;try{r.value=y?await n.runQueryWithSession(T,y,w,I,$):await n.runQuery(T,w,I,$),o.value=new Date().toISOString()}catch(v){s.value=v instanceof Error?v.message:String(v),r.value=null}finally{t.value=!1}}function u(l){e.value=l}return{input:e,loading:t,error:s,response:r,lastRunAt:o,run:a,setInput:u}}function Gi(){const e=A(""),t=A(!1),s=A(null),r=A(null),o=A([]),n=A(null),a=Je();let u=null;async function l($,T,O,E,v){const P=($??e.value).trim(),x=Array.isArray(O)&&O.length>0,h=!!v?.resume;if(!P&&!x&&!h){s.value="Query cannot be empty.";return}u&&(u(),u=null),t.value=!0,s.value=null,o.value=[],r.value=null;try{u=await a.runQueryStream(P,{sessionId:T,attachments:O,attachmentsBase64:E,toolContext:v?.toolContext,resume:v?.resume,onEvent:c=>{o.value=[...o.value,c]},onComplete:c=>{r.value=c,t.value=!1,n.value=new Date().toISOString()},onError:c=>{s.value=c.message,t.value=!1}})}catch(c){s.value=c instanceof Error?c.message:String(c),t.value=!1}}function y(){u&&(u(),u=null,t.value=!1)}function w($){e.value=$}function I(){o.value=[]}return{input:e,loading:t,error:s,response:r,events:o,lastRunAt:n,run:l,stop:y,setInput:w,clearEvents:I}}function Ji(){const e=A(null),t=A(!1),s=A(null),r=A(null),o=Je();async function n(){t.value=!0,s.value=null;try{e.value=await o.fetchStatus(),r.value=new Date().toISOString()}catch(a){s.value=a instanceof Error?a.message:String(a)}finally{t.value=!1}}return{status:e,loading:t,error:s,lastUpdated:r,refresh:n}}function Hi(e){const t=A(""),s=A([]),r=A(null),o=A(""),n=A(""),a=A(""),u=H(()=>[...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,c)=>{const b=Ms(h),p=Ms(c);if(b!==p)return p-b;const k=String(h.title??""),g=String(c.title??""),W=k.localeCompare(g);return W!==0?W:String(h.id??"").localeCompare(String(c.id??""))})),l=H(()=>!e.sessionsError.value),y=H(()=>{const x=u.value.find(c=>c.id===t.value);if(x?.title)return x.title;const h=String(r.value?.state?.title??"").trim();return h||(u.value[0]?.title??"Main")}),w=H(()=>{if(!(!t.value||t.value==="local"))return t.value}),I=H(()=>{const x=u.value.find(h=>h.id===t.value);return x&&"summary"in x&&x.summary?x.summary:"Shared CLI session"}),$=H(()=>{const h=u.value.find(p=>p.id===t.value)?.cwd,c=r.value?.metadata?.cwd??r.value?.state?.context?.cwd;return String(h??c??"").trim()||"—"});function T(x){e.sessionsError.value||(o.value=x.id,n.value=x.title,a.value="")}function O(){o.value="",n.value=""}async function E(x){if(e.sessionsError.value)return;const h=n.value.trim();if(!h){a.value="Title cannot be empty.";return}if(await e.renameRemoteSession(x.id,h),e.sessionsError.value){a.value=`Rename failed: ${e.sessionsError.value}`;return}if(a.value=`Renamed session to: ${h}`,x.id===t.value){const c=await e.fetchSession(x.id);c&&(r.value=c)}o.value="",n.value=""}async function v(x,h,c,b){const p=h??t.value;if(!p||p==="local")return!1;const k=x===void 0?await e.fetchSession(p):x;return k?(r.value=k,t.value=p,!0):(r.value=null,!1)}async function P(){if(!e.sessionsError.value){const c=await e.createRemoteSession();await e.refreshSessions();const b=c?.session?.id??c?.id;return b?(t.value=String(b),String(b)):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:o,renameDraft:n,sessionNote:a,sessions:u,canManageSessions:l,activeSessionTitle:y,activeSessionQueryId:w,activeSessionSummary:I,activeSessionCwdLabel:$,startRename:T,cancelRename:O,applyRename:E,refreshActiveSession:v,createSession:P}}function Ki(){const e=A([]),t=A(!1),s=A(!1),r=A(null),o=Je();async function n(){t.value=!0,r.value=null;try{e.value=await o.fetchSessions()}catch(w){r.value=w instanceof Error?w.message:String(w),e.value=[]}finally{t.value=!1}}async function a(){t.value=!0,r.value=null;try{const w=await o.createSession();return await n(),w}catch(w){r.value=w instanceof Error?w.message:String(w)}finally{t.value=!1}}async function u(w){s.value=!0,r.value=null;try{return await o.fetchSession(w)}catch(I){return r.value=I instanceof Error?I.message:String(I),null}finally{s.value=!1}}async function l(w,I){t.value=!0,r.value=null;try{const $=await o.renameSession(w,I);return await n(),$}catch($){r.value=$ instanceof Error?$.message:String($)}finally{t.value=!1}}async function y(w){t.value=!0,r.value=null;try{await o.deleteSession(w),await n()}catch(I){r.value=I instanceof Error?I.message:String(I)}finally{t.value=!1}}return{sessions:e,loading:t,sessionLoading:s,error:r,refresh:n,create:a,fetchSession:u,rename:l,destroy:y}}function Yi(){const e=A(null),t=A(null),s=new Map,r=new Set,o=A(null),n=A(!1),a=A(!1),u=A(null),l=A(!0);function y(T,O,E){const v=s.get(T);if(v)return v;if(O&&E.activeSessionId.value&&E.activeSessionId.value!=="local"&&E.activeSessionId.value!==O)return null;O&&(!E.activeSessionId.value||E.activeSessionId.value==="local")&&(E.activeSessionId.value=O);const P=E.createMessage("assistant",[E.buildMarkdownPart("")],new Date().toISOString(),"streaming");E.chatMessages.value=[...E.chatMessages.value,P];const x={runId:T,sessionId:O??void 0,messageId:P.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 w(T,O){const E=[],v=[];for(let x=0;x<T.thinkingBlocks.length;x+=1){const h=T.thinkingBlocks[x];v.push({kind:"thinking",order:h.order,index:x})}const P=T.hasDelta?T.text:"";P&&T.firstTextIndex!=null&&v.push({kind:"text",order:T.firstTextIndex});for(const[x,h]of T.toolCalls)v.push({kind:"tool_call",order:h.order,callId:x});for(const[x,h]of T.toolResults)v.push({kind:"tool_result",order:h.order,callId:x});v.sort((x,h)=>x.order-h.order);for(const x of v){if(x.kind==="thinking"){const c=T.thinkingBlocks[x.index];if(!c)continue;E.push({type:"thinking",title:"Thinking",collapsed:!0,content:c.content});continue}if(x.kind==="text"){E.push({type:"markdown",raw:P,blocks:Zt(P)});continue}if(x.kind==="tool_call"){const c=T.toolCalls.get(x.callId);if(!c)continue;E.push({type:"tool_call",name:c.name,args:c.args||"No arguments",callId:x.callId});continue}const h=T.toolResults.get(x.callId);h&&E.push({type:"tool_result",name:h.name,output:h.output||"No output",status:h.status,callId:x.callId,structured:h.structured})}if(E.length===0){const x="Thinking…";E.push({type:"markdown",raw:x,blocks:Zt(x)})}O.chatMessages.value=O.chatMessages.value.map(x=>x.id!==T.messageId?x:{...x,parts:E,meta:"streaming"})}function I(T,O){const E=s.get(T);E&&(s.delete(T),e.value===T&&(e.value=null),O.chatMessages.value=O.chatMessages.value.map(v=>v.id!==E.messageId?v:{...v,meta:void 0}))}function $(T){r.clear(),o.value=null,n.value=!1,a.value=!1,T.clearStreamQueryEvents();const O=Le();u.value=O,T.chatMessages.value=[...T.chatMessages.value,T.createMessage("assistant",[T.buildMarkdownPart("Thinking...")],new Date().toISOString(),"streaming",O)]}return{activeStreamRunId:e,lastStreamEventId:t,streamRuns:s,streamQueryRunIds:r,activeStreamQueryRunId:o,streamQueryHasDelta:n,streamQueryPaused:a,currentStreamMessageId:u,useStreamingQuery:l,ensureStreamRun:y,updateStreamMessage:w,finalizeStreamRun:I,beginStreamQueryMessage:$}}let We;function Xi(){const e=A(""),t=A("info"),s=A(!1);function r(){s.value=!1,We&&(clearTimeout(We),We=void 0)}function o(n,a="info",u=2200){e.value=n,t.value=a,s.value=!0,We&&clearTimeout(We),We=globalThis.setTimeout(()=>{s.value=!1,We=void 0},u)}return{toastMessage:e,toastKind:t,toastVisible:s,showToast:o,hideToast:r}}const Rs="goatchain:tool-approvals";function Zi(){const e=A("auto"),t=A(!1),s=A([]),r=A(null),o=A(null),n=A(!1),a=A(null),u=H(()=>s.value[0]??null),l=H(()=>s.value.length);function y(){if(!(typeof window>"u"))try{const v=window.localStorage.getItem(Rs);e.value=v==="all"?"all":"auto"}catch{e.value="auto"}}function w(v){if(!(typeof window>"u"))try{window.localStorage.setItem(Rs,v)}catch{}}function I(v,P){const x={};if((P||e.value==="all")&&(x.autoApprove=!0),v&&Object.keys(v).length>0&&(x.decisions=v),!!Object.keys(x).length)return{approval:x}}function $(v,P){const x=new Map,h=[],c=new Set;for(const b of v){const p=Ve(b);if(!p)continue;const k=mt(p);if(!(!k||k!==P)){if(b.type==="tool.call"){const g=Pe(p);if(!g)continue;const W=Ot(p),{args:B,delta:F}=Ut(p),K=!F;x.has(g)||h.push(g);const ne=x.get(g)??{name:W,args:""};x.set(g,{name:ne.name||W,args:K?B:`${ne.args}${B}`});continue}if(b.type==="tool.result"){const g=Pe(p);g&&c.add(g)}}}return h.filter(b=>!c.has(b)).map(b=>{const p=x.get(b);return{toolCallId:b,toolName:p?.name||"tool",args:p?.args||"No arguments"}})}function T(v,P){const x=v.get(P);if(!x)return[];const h=[];for(const[c,b]of x.toolCalls)x.toolResults.has(c)||h.push({toolCallId:c,toolName:b.name,args:b.args||"No arguments"});return h}function O(v,P,x){if(!P){console.warn("Approval required but session id is missing.");return}if(!(t.value&&o.value===x)){if(!v.length){console.warn("Approval required but no tool calls were found.");return}if(e.value==="all"){s.value=[],r.value=P,o.value=x;return}s.value=v,r.value=P,o.value=x,t.value=!0}}function E(v){n.value||(t.value=!1,s.value=[],r.value=null,o.value=null,v&&v())}return{toolApprovalsMode:e,approvalDialogOpen:t,approvalRequests:s,approvalSessionId:r,approvalRunId:o,approvalBusy:n,approvalDialogEl:a,activeApproval:u,approvalCount:l,loadToolApprovalsMode:y,persistToolApprovalsMode:w,buildToolContext:I,collectPendingApprovalsFromEvents:$,collectPendingApprovalsFromRun:T,openApprovalDialog:O,closeApprovalDialog:E}}function _t(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function ec(e){if(_t(e))return e;if(typeof e=="string"){const t=e.trim();if(!t)return{};try{const s=JSON.parse(t);return _t(s)?s:{_raw:e}}catch{return{_raw:e}}}return{}}function Ts(e){const t=e?.context?.messages,s=Array.isArray(t)?t:[];if(!s.length)return[ce("system",[ee("Session is empty. Start chatting to add messages.")])];const r=[],o=new Map,n=new Map;for(const a of s){const u=String(a?.role??""),l=String(a?.createdAt??a?.createdAtMs??a?.created_at??"");if(u==="user"){const{text:y,attachments:w}=Es(a?.content),I=nc(y),$=[];I.focusFiles?.length&&$.push({type:"attachments",items:I.focusFiles.map(T=>({id:Le(),kind:"path",label:T}))}),w.length&&$.push({type:"attachments",items:w}),I.content.trim()&&$.push(ee(I.content)),r.push(ce("user",$,l));continue}if(u==="assistant"){const y=[],w=Zs(a?.reasoning_content).trim();w&&y.push({type:"thinking",title:"Thinking",collapsed:!0,content:w});const{text:I,attachments:$}=Es(a?.content);I.trim()&&y.push(ee(I)),$.length&&y.push({type:"attachments",items:$});const T=Array.isArray(a?.tool_calls)?a.tool_calls:[];for(const O of T){const E=String(O?.id??"").trim(),v=String(O?.function?.name??"tool"),P=ec(O?.function?.arguments);E&&(o.set(E,r.length),n.set(E,v)),y.push({type:"tool_call",name:v,args:el(P),callId:E||void 0})}r.push(ce("assistant",y,l));continue}if(u==="tool"){const y=String(a?.tool_call_id??"").trim(),w=y?n.get(y):void 0,I=tl(a?.content,w);let $;if(a?.structuredContent)try{$=JSON.stringify(a.structuredContent,null,2)}catch{$=String(a.structuredContent)}const T={type:"tool_result",name:w,output:I,status:a?.isError?"error":"success",callId:y||void 0,structured:$},O=y?o.get(y):void 0;if(O!=null&&r[O]){const E=r[O];r[O]={...E,parts:[...E.parts,T]}}else r.push(ce("assistant",[T],l))}}return r.length?r:[ce("system",[ee("Session is empty. Start chatting to add messages.")])]}function Zs(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(Zs).join("");if(_t(e)){const t=e.text;if(typeof t=="string")return t;try{return JSON.stringify(e)}catch{return String(e)}}return String(e)}function Es(e){const t=[],s=[],r=l=>{l&&t.push(l)},o=l=>{l&&s.push(l)},n=l=>{if(l==null)return;if(typeof l=="string"){r(l);return}if(Array.isArray(l)){for(const w of l)n(w);return}if(!_t(l)){r(String(l));return}const y=String(l.type??"").toLowerCase();if(typeof l.text=="string"&&r(String(l.text)),y.includes("image")){const w=tc(l);o({id:Le(),kind:"image",label:l.name??"image",url:w??void 0,meta:w?void 0:"Image payload"});return}if(y.includes("file")){const{label:w,url:I,meta:$}=sc(l);o({id:Le(),kind:"file",label:w,url:I,meta:$});return}"text"in l||r(JSON.stringify(l))};n(e);const a=t.join(""),u=rc(a);return{text:u.text,attachments:[...s,...u.attachments]}}function tc(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 sc(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,o=e.size??t?.size,n=e.mime_type??t?.mime_type??t?.type,a=[];return n&&a.push(String(n)),o&&a.push(`${o} bytes`),{label:s,url:r,meta:a.length?a.join(" · "):void 0}}function rc(e){let t=String(e??"");const s=[],r=/\[attachment_base64\][\s\S]*?\[\/attachment_base64\]/gi;t=t.replace(r,"").trim();const o=/\[attachments\]([\s\S]*?)\[\/attachments\]/i,n=t.match(o);if(n){const u=(n[1]??"").split(`
8
+ `);for(const l of u){const y=l.trim();if(!y.startsWith("-"))continue;const I=y.replace(/^-+\s*/,"").match(/^(.*?)\s*\(([^,]+),\s*([^)]+)\)\s*(.+)?$/);if(!I)continue;const $=I[1]?.trim()||"attachment",T=I[2]?.trim()||"",O=I[3]?.trim()||"",E=I[4]?.trim()||void 0,v=T.startsWith("image/")||E&&/\.(png|jpe?g|gif|webp|svg)$/i.test(E)?"image":"file";s.push({id:Le(),kind:v,label:$,url:E,meta:[T,O].filter(Boolean).join(" · ")})}t=t.replace(o,"").trim()}return{text:t,attachments:s}}function nc(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 u=(w=>{const I=String(w??"");if(!I)return null;const $=[];let T=0;for(;T<I.length;){for(;T<I.length&&(I[T]===" "||I[T]===" "||I[T]===`
10
+ `);)T+=1;const E=I.slice(T).match(/^\[([^\]]*)\]\(((?:\\\)|[^)])+)\)/);if(!E)break;let v=String(E[2]??"").trim();if(v.startsWith("<")&&v.endsWith(">")&&(v=v.slice(1,-1)),v=v.replace(/\\\)/g,")").trim(),!(v.startsWith("/")||/^[A-Z]:[\\/]/i.test(v)))break;v&&$.push(v),T+=E[0].length}if(!$.length)return null;let O=I.slice(T);return O=O.replace(/^[ \t]+/g,""),O.startsWith(`
11
+
12
+ `)?O=O.slice(2):(O.startsWith(`
13
+ `)||O.startsWith(" "))&&(O=O.slice(1)),{content:O,focusFiles:$}})(t);if(u)return u;const l=[];let y=0;for(;y<s.length;y+=1){const w=String(s[y]??"");if(!w.trim())break;const I=w.match(/^\s*\[([^\]]*)\]\((.+)\)\s*$/);if(!I)break;let $=String(I[2]??"").trim();if($.startsWith("<")&&$.endsWith(">")&&($=$.slice(1,-1)),$=$.replace(/\\\)/g,")").trim(),!($.startsWith("/")||/^[A-Z]:[\\/]/i.test($)))break;$&&l.push($)}if(!l.length)return{content:t};for(;y<s.length&&!String(s[y]??"").trim();)y+=1;return{content:s.slice(y).join(`
14
+ `),focusFiles:l}}const o=[];let n=1;for(;n<s.length;n+=1){const a=String(s[n]??"");if(!a.trim())break;const u=a.match(/^\s*-\s*\[[^\]]*\]\((.+)\)\s*$/);if(!u)break;let l=String(u[1]??"").trim();l.startsWith("<")&&l.endsWith(">")&&(l=l.slice(1,-1)),l=l.replace(/\\\)/g,")").trim(),l&&o.push(l)}if(!o.length)return{content:t};for(;n<s.length&&!String(s[n]??"").trim();)n+=1;return{content:s.slice(n).join(`
15
+ `),focusFiles:o}}const oc={class:"h-full"},ac={class:"flex h-full w-full bg-background-light dark:bg-background-dark transition-colors duration-200"},lc={class:"flex-1 flex flex-col h-full relative bg-background-light dark:bg-background-dark overflow-hidden"},ic={class:"flex-1 overflow-y-auto p-6 md:px-20 lg:px-32 xl:px-48 pb-48 md:pb-56"},cc="AskUserTool.execute() was called without answers.",uc=be({__name:"index",setup(e){const t=A(!1);function s(d){typeof document>"u"||document.documentElement.classList.toggle("dark",d)}const{status:r,loading:o,error:n,lastUpdated:a,refresh:u}=Ji(),{events:l,snapshot:y,state:w,start:I,stop:$}=Qi({maxEvents:60}),{loading:T,error:O,response:E,run:v}=Vi(),{loading:P,error:x,response:h,events:c,run:b,stop:p,clearEvents:k}=Gi(),{sessions:g,loading:W,error:B,refresh:F,create:K,fetchSession:ne,rename:pe,destroy:se}=Ki(),ae=A(!1),de=A("");let L=null;const _e=Xi(),ue=qi(),De=Wi(),Z=Fi(),S=Yi(),ge=H(()=>!!r.value?.capabilities?.uploads),He=H(()=>!!r.value?.capabilities?.images),ft=Li(ge),J=Hi({remoteSessions:g,sessionsError:B,fetchSession:ne,renameRemoteSession:pe,destroyRemoteSession:se,createRemoteSession:K,refreshSessions:F,snapshotToChatMessages:Ts}),me=Ni(),ve=Zi(),Ke=H(()=>r.value?.serverVersion??"unknown"),at=H(()=>de.value||"pending"),Ye=H(()=>{const d=w.value;if(!ae.value)return d==="open"?"Connected":d==="connecting"?"Connecting":d==="error"?"Disconnected":"Offline";switch(d){case"connecting":return"Connecting to /events";case"open":return"Streaming live events";case"error":return"Stream disconnected";default:return"Idle"}}),er=H(()=>w.value==="open"?"ok":w.value==="error"?"error":""),tr=H(()=>a.value?`Updated ${Xt(a.value)}`:"Status pending"),sr=H(()=>B.value?"Sessions offline":`${J.sessions.value.length} sessions`),rr=H(()=>{const d=r.value;return[{label:"Origin",value:at.value},{label:"Protocol",value:d?.protocolVersion??"unknown"},{label:"Server",value:Ke.value},{label:"Started",value:Xt(d?.startedAt)},{label:"PID",value:d?.pid?String(d.pid):"unknown"},{label:"Port",value:d?.port?String(d.port):"unknown"},{label:"Cursor",value:d?.cursor?String(d.cursor):"—"}]}),nr=H(()=>y.value?"received from event stream":r.value?.snapshot?"received from /status":""),or=H(()=>{const d=y.value??r.value?.snapshot;return d?typeof d=="string"?d:JSON.stringify(d,null,2):""}),ar=H(()=>{const d=r.value?.capabilities??{},m=Object.entries(d),C={uploads:"Uploads",images:"Image preview",tools:"Tool calls",auth:"Auth required"};return m.map(([_,f])=>({key:_,label:C[_]??_,enabled:!!f})).sort((_,f)=>_.key.localeCompare(f.key))}),lr=H(()=>{const d=J.sessionSnapshot.value,m=Number(d?.context?.messageCount??Z.chatMessages.value.filter(te=>te.role!=="system").length)||0,C=d?.stats?.usage??{},_=Number(C.promptTokens??C.prompt_tokens??0)||0,f=Number(C.completionTokens??C.completion_tokens??0)||0,Q=Number(C.totalTokens??C.total_tokens??0)||0||_+f;return[`${m} messages`,`${Q} tokens`].join(" · ")}),ir=H(()=>[{label:"Start server",command:"dim server --open"},{label:"Start with token",command:"dim server --token <token> --open"},{label:"Check version",command:"dim version"},{label:"Config file",command:"cat ~/.dimcode/config.json"},{label:"Tools file",command:"cat ~/.dimcode/tools.json"}]),{showToast:fe,hideToast:ss,toastMessage:cr,toastKind:dr,toastVisible:ur}=_e,{deleteDialogOpen:rs,deleteTarget:Dt,deleteBusy:pt,deleteDialogEl:mr,openDeleteDialog:fr,closeDeleteDialog:ns}=ue,{modeMenuOpen:os,modeMenuEl:as,modeLabel:pr,modeOptions:gr,composerPlaceholder:vr,fetchCurrentMode:hr,setMode:yr,toggleModeMenu:br}=De,{attachments:Nt,attachmentNote:xr,attachmentsBase64:gt,composerMenuOpen:ls,composerMenuEl:is,removeAttachment:kr,clearAttachments:Xe,handlePaste:wr,handleDrop:Sr,handleFilePick:Cr,handleAddFile:$r,toggleComposerMenu:Ir,ensureUploadsReady:Ar}=ft,{ASK_USER_OTHER_LABEL:Mr,askUserDialogOpen:vt,askUserQuestions:Rr,askUserSelections:Tr,askUserOtherInputs:cs,askUserBusy:jt,isAskUserSelected:Er,onAskUserOptionChange:Pr,buildAskUserAnswers:Or,openAskUserDialog:ht,closeAskUserDialog:yt}=me,{toolApprovalsMode:Ze,approvalDialogOpen:qe,approvalRequests:Ur,approvalBusy:Bt,activeApproval:zt,approvalCount:_r,loadToolApprovalsMode:Dr,persistToolApprovalsMode:ds,buildToolContext:bt,openApprovalDialog:Nr,closeApprovalDialog:lt}=ve,{chatMessages:Oe,renderMessages:jr,appendMessage:et,updateStreamingMessageFinal:Br,appendUserMessageWithAttachments:zr,ensureAssistantReply:us,clearChat:Lr,setChatMessages:qr,scrollChatToBottom:Lt,markMessageAwaitingApproval:Qr,markMessageAwaitingAnswers:Fr,clearMessageAwaitingApproval:Wr,clearMessageAwaitingAnswers:Vr}=Z,{activeSessionId:he,editingSessionId:Gr,renameDraft:ms,sessionNote:xt,sessions:qt,canManageSessions:Jr,activeSessionTitle:Hr,activeSessionQueryId:Qt,activeSessionSummary:Kr,activeSessionCwdLabel:fs,startRename:Yr,cancelRename:Xr,applyRename:Zr,refreshActiveSession:Ft,createSession:en}=J,kt=A(""),Wt=A(!1),wt=A(null),St=A(null);function Ct(d,m){d&&(wt.value=d,Qr(d,m))}function tn(){wt.value&&(Wr(wt.value),wt.value=null)}function tt(d){d&&(St.value=d,Fr(d))}function sn(){St.value&&(Vr(St.value),St.value=null)}const Vt=A(null),rn=A(null),ps=A(null),gs=A(null),nn=H(()=>S.activeStreamRunId.value?"Running":P.value?"Streaming...":T.value?"Sending":"Send"),on=H(()=>T.value||P.value||!!S.activeStreamRunId.value||qe.value||Bt.value||vt.value||jt.value);function vs(d,m,C){return!!(C&&d==="AskUserQuestion"&&m.includes(cc))}function an(d){Ze.value!==d&&(Ze.value=d,ds(d),fe(d==="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 d=new URLSearchParams(window.location.search);if(!d.has("debug"))return!1;const m=String(d.get("debug")??"").trim().toLowerCase();return!m||m==="1"||m==="true"||m==="yes"}function it(){Lr(),Xe()}function $t(d,m,C){if(!m){fe("Approval required but session id is missing.","error",2600);return}if(!d.length){fe("Approval required but no tool calls were found.","error",2600);return}if(Ze.value==="all"){ve.approvalRequests.value=[],ve.approvalSessionId.value=m,ve.approvalRunId.value=C;const _={};for(const f of d)_[f.toolCallId]={approved:!0};At(_,{autoApprove:!0});return}Nr(d,m,C)}async function cn(){if(B.value||!Dt.value||pt.value)return;pt.value=!0;const d=Dt.value;if(await se(d.id),pt.value=!1,B.value){xt.value=`Delete failed: ${B.value}`;return}if(xt.value=`Deleted session: ${d.title}`,he.value===d.id){const m=g.value.filter(C=>C.id!==d.id);m.length?await It(m[0].id):(he.value="",J.sessionSnapshot.value=null,it())}ns()}async function It(d){if(P.value&&p(),lt(()=>{S.streamQueryPaused.value=!1}),yt(()=>{S.streamQueryPaused.value=!1}),S.streamQueryPaused.value=!1,he.value=d,xt.value="",Xe(),S.currentStreamMessageId.value=null,d==="local"){J.sessionSnapshot.value=null,it(),await Lt();return}const m=await ne(d);if(await Ft(m)&&J.sessionSnapshot.value){const _=Ts(J.sessionSnapshot.value);_.length>0?qr(_):it()}else it();await Lt()}async function dn(){const d=await en();if(B.value){it();return}d&&await It(d)}async function hs(){if(qe.value||Bt.value||vt.value||jt.value){fe("Resolve the pending prompt before sending a new message.","info",2400);return}const d=kt.value.trim(),m=Nt.value.length>0;if(!d&&!m)return;const C=m?await Ar():[];if(!(m&&!C.length)){if(m){const _=Nt.value.map(f=>({id:f.id,kind:f.mime.startsWith("image/")?"image":"file",label:f.name,url:f.localUrl,meta:f.status==="ready"?void 0:f.status}));zr(d,_)}else et("user",d);if(kt.value="",S.useStreamingQuery.value){S.beginStreamQueryMessage({clearStreamQueryEvents:k,createMessage:ce,buildMarkdownPart:ee,chatMessages:Z.chatMessages});const _=bt();b(d,Qt.value,C,gt.value,{toolContext:_})}else{await v(d,Qt.value,C,gt.value,{toolContext:bt()});const _=E.value?.sessionId;if(_&&_!==he.value&&(he.value=_),O.value){et("assistant",`Error: ${O.value}`);return}O.value||Xe(),!B.value&&_?(await F(),await Ft(void 0,_)?us(E.value||{}):et("assistant",Tt(E.value||{}))):et("assistant",Tt(E.value||{}))}}}function un(d){d.isComposing||Wt.value||(d.preventDefault(),hs())}function mn(){Wt.value=!0}function fn(){Wt.value=!1}async function pn(){await u(),n.value||I(r.value?.cursor)}function ys(){I(r.value?.cursor)}async function bs(d){await v(d,Qt.value,void 0,void 0,{toolContext:bt()});const m=E.value?.sessionId;if(m&&m!==he.value&&(he.value=m),O.value){fe(`Quick action failed: ${O.value}`,"error",2600);return}!B.value&&m?(await F(),await Ft(void 0,m)?us(E.value||{}):et("assistant",Tt(E.value||{}))):et("assistant",Tt(E.value||{})),fe(`Ran quick query: ${d}`,"success")}async function gn(){if(!de.value)return fe("Origin not available yet.","error");try{await navigator.clipboard.writeText(de.value),fe("Origin copied to clipboard.","success")}catch{fe("Clipboard unavailable. Copy manually.","error")}}async function vn(d,m){try{await navigator.clipboard.writeText(d),fe(`Copied: ${m}`,"success")}catch{fe("Clipboard unavailable. Copy manually.","error")}}async function At(d,m){const C=ve.approvalSessionId.value??he.value;if(!C||C==="local"){fe("Cannot resume approvals without a session id.","error",2600);return}tn(),ve.approvalBusy.value=!0;try{const _=bt(d,m?.autoApprove);P.value&&p(),S.beginStreamQueryMessage({clearStreamQueryEvents:k,createMessage:ce,buildMarkdownPart:ee,chatMessages:Z.chatMessages}),await b("",C,void 0,void 0,{resume:!0,toolContext:_})}catch(_){const f=_ instanceof Error?_.message:String(_);fe(`Resume failed: ${f}`,"error",2600)}finally{ve.approvalBusy.value=!1}}async function xs(d,m,C){const _=me.askUserSessionId.value??he.value;if(!_||_==="local"){fe("Cannot resume AskUser without a session id.","error",2600);return}sn(),me.askUserBusy.value=!0;try{const f={answers:Object.keys(m).length?{[d]:m}:{}};C&&(f.rejected={[d]:C});const D={askUser:f};P.value&&p(),S.beginStreamQueryMessage({clearStreamQueryEvents:k,createMessage:ce,buildMarkdownPart:ee,chatMessages:Z.chatMessages}),await b("",_,void 0,void 0,{resume:!0,toolContext:D})}catch(f){const D=f instanceof Error?f.message:String(f);fe(`Resume failed: ${D}`,"error",2600)}finally{me.askUserBusy.value=!1}}async function hn(){const d=me.askUserToolCallId.value;if(!d){fe("AskUser tool call id is missing.","error",2600);return}const m=Or();await xs(d,m),yt(()=>{S.streamQueryPaused.value=!1})}async function yn(){const d=me.askUserToolCallId.value;if(!d){yt(()=>{S.streamQueryPaused.value=!1});return}await xs(d,{},"User cancelled the question"),yt(()=>{S.streamQueryPaused.value=!1})}async function bn(){const d=zt.value;if(!d)return;qe.value=!1;const m={[d.toolCallId]:{approved:!0}};await At(m),lt(()=>{S.streamQueryPaused.value=!1})}async function xn(){const d=Ur.value;if(!d.length)return;Ze.value="all",ds("all");const m={};for(const C of d)m[C.toolCallId]={approved:!0};qe.value=!1,await At(m,{autoApprove:!0}),lt(()=>{S.streamQueryPaused.value=!1}),fe("Tool approvals set to always allow.","success",2400)}async function kn(){const d=zt.value;if(!d){lt(()=>{S.streamQueryPaused.value=!1});return}qe.value=!1;const m={[d.toolCallId]:{approved:!1}};await At(m),lt(()=>{S.streamQueryPaused.value=!1})}function wn(d){const m=Ve(d),C=mt(m),_=rt(m);if(C&&!(_&&he.value&&he.value!=="local"&&he.value!==_)){if(d.type==="thinking_start"){const f=S.ensureStreamRun(C,_,{activeSessionId:J.activeSessionId,chatMessages:Z.chatMessages,createMessage:ce,buildMarkdownPart:ee});if(!f)return;f.eventIndex+=1,f.activeThinkingIndex=f.thinkingBlocks.length,f.thinkingBlocks.push({content:"",order:f.eventIndex}),S.updateStreamMessage(f,{chatMessages:Z.chatMessages});return}if(d.type==="thinking_delta"){const f=S.ensureStreamRun(C,_,{activeSessionId:J.activeSessionId,chatMessages:Z.chatMessages,createMessage:ce,buildMarkdownPart:ee});if(!f)return;const D=typeof m?.delta=="string"?m.delta:"";if(D){f.activeThinkingIndex<0&&(f.eventIndex+=1,f.activeThinkingIndex=f.thinkingBlocks.length,f.thinkingBlocks.push({content:"",order:f.eventIndex}));const Q=f.activeThinkingIndex,G=f.thinkingBlocks[Q];G&&(G.content=`${G.content??""}${D}`)}S.updateStreamMessage(f,{chatMessages:Z.chatMessages});return}if(d.type==="thinking_end"){const f=S.ensureStreamRun(C,_,{activeSessionId:J.activeSessionId,chatMessages:Z.chatMessages,createMessage:ce,buildMarkdownPart:ee});if(!f)return;const D=typeof m?.content=="string"?m.content:"";if(D)if(f.activeThinkingIndex<0)f.eventIndex+=1,f.activeThinkingIndex=f.thinkingBlocks.length,f.thinkingBlocks.push({content:D,order:f.eventIndex});else{const Q=f.activeThinkingIndex,G=f.thinkingBlocks[Q];G&&(G.content=D)}f.activeThinkingIndex=-1,S.updateStreamMessage(f,{chatMessages:Z.chatMessages});return}if(d.type==="message.delta"){const f=S.ensureStreamRun(C,_,{activeSessionId:J.activeSessionId,chatMessages:Z.chatMessages,createMessage:ce,buildMarkdownPart:ee});if(!f)return;const D=String(m?.delta??"");D&&(f.eventIndex+=1,f.firstTextIndex==null&&(f.firstTextIndex=f.eventIndex),f.text+=D,f.hasDelta=!0),S.updateStreamMessage(f,{chatMessages:Z.chatMessages});return}if(d.type==="tool.call"){const f=S.ensureStreamRun(C,_,{activeSessionId:J.activeSessionId,chatMessages:Z.chatMessages,createMessage:ce,buildMarkdownPart:ee});if(!f)return;const D=Pe(m);if(!D)return;const Q=Ot(m)||"",{args:G,delta:te}=Ut(m);f.toolCalls.get(D)||(f.eventIndex+=1,f.toolCalls.set(D,{name:Q,args:te?`${te}`:G,order:f.eventIndex}));const z=f.toolCalls.get(D);z&&(!z.name&&Q&&(z.name=Q),te?z.args=`${z.args??""}${te}`:z.args||(z.args=G)),S.updateStreamMessage(f,{chatMessages:Z.chatMessages});return}if(d.type==="tool.output"){const f=S.ensureStreamRun(C,_,{activeSessionId:J.activeSessionId,chatMessages:Z.chatMessages,createMessage:ce,buildMarkdownPart:ee});if(!f)return;const Q=(Pe(m)??"")||"tool",G=typeof m?.delta=="string"?m.delta:"",te=f.toolResults.get(Q);te?f.toolResults.set(Q,{name:te.name,output:`${te.output??""}${G}`,status:te.status??"success",structured:te.structured,order:te.order}):(f.eventIndex+=1,f.toolResults.set(Q,{name:f.toolCalls.get(Q)?.name,output:G,status:"success",structured:te?.structured,order:f.eventIndex})),S.updateStreamMessage(f,{chatMessages:Z.chatMessages});return}if(d.type==="tool.result"){const f=S.streamRuns.get(C);if(!f)return;const D=Pe(m);if(!D)return;const Q=String(m?.output??""),G=!!(m?.isError??m?.error),te=G?"error":"success",xe=f.toolCalls.get(D)?.name;if(vs(xe,Q,G))return;const z=f.toolResults.get(D||"tool");z||(f.eventIndex+=1),f.toolResults.set(D||"tool",{name:xe,output:Q||z?.output||"",status:te,structured:m?.structuredContent?JSON.stringify(m.structuredContent):z?.structured,order:z?.order??f.eventIndex}),S.updateStreamMessage(f,{chatMessages:Z.chatMessages});return}if(d.type==="run.status"){const f=typeof m?.status=="string"?m.status:"",D=typeof m?.stopReason=="string"?m.stopReason:"";if(f==="started"||f==="running"){S.ensureStreamRun(C,_,{activeSessionId:J.activeSessionId,chatMessages:Z.chatMessages,createMessage:ce,buildMarkdownPart:ee});return}if(f==="completed"||f==="done"||f==="error"){if(D==="approval_required"){if(me.askUserRunId.value===C){const xe=S.streamRuns.get(C);xe&&tt(xe.messageId),S.finalizeStreamRun(C,{chatMessages:Z.chatMessages});return}const Q=S.streamRuns.get(C),G=ve.collectPendingApprovalsFromRun(S.streamRuns,C),te=G[0]?.toolName;Q&&Ct(Q.messageId,te),$t(G,_??null,C)}S.finalizeStreamRun(C,{chatMessages:Z.chatMessages});return}return}if(d.type==="requires_action"){const f=String(m?.kind??m?.action_kind??"");if(f==="ask_user"){const D=me.resolveAskUserPayload(m,C,{events:l.value,streamRuns:S.streamRuns}),Q=S.streamRuns.get(C);Q&&tt(Q.messageId),D.questions.length&&ht(D.questions,D.toolCallId,_||null,C);return}if(f==="tool_approval"||f==="tool_approvals"){const D=S.streamRuns.get(C),Q=ve.collectPendingApprovalsFromRun(S.streamRuns,C),G=Q[0]?.toolName;D&&Ct(D.messageId,G),$t(Q,_??null,C)}}}}function Sn(d){if(!S.useStreamingQuery.value||!P.value||!d.length)return null;let m="";const C=[];let _=null;const f=new Map,D=new Map,Q=new Map,G=[],te=new Set,xe=S.activeStreamQueryRunId.value;let z=0,ke=null;const Ie=le=>{te.has(le)||(te.add(le),G.push(le))};for(const le of d){const Ne=Kt(le);if(xe&&Ne&&Ne!==xe)continue;const re=Ve(le);if(re){if(le.type==="thinking_start"){z+=1,_=C.length,C.push({content:"",order:z});continue}if(le.type==="thinking_delta"){const X=typeof re.delta=="string"?re.delta:"";if(X){(_==null||_<0)&&(z+=1,_=C.length,C.push({content:"",order:z}));const we=C[_];we&&(we.content=`${we.content??""}${X}`)}continue}if(le.type==="thinking_end"){const X=typeof re.content=="string"?re.content:"";if(X)if(_==null||_<0)z+=1,C.push({content:X,order:z});else{const Ae=C[_];Ae&&(Ae.content=X)}_=null;continue}if(le.type==="message.delta"){const X=typeof re.delta=="string"?re.delta:"";X&&(z+=1,ke==null&&(ke=z),m+=X);continue}if(le.type==="tool.call"){z+=1;const X=Pe(re)??`call-${G.length}`,Ae=Ot(re)||"tool",{args:we,delta:Gt}=Ut(re),ct=!Gt;Ie(X);const Qe=f.get(X)??{name:Ae,args:"",order:z};f.set(X,{name:Qe.name||Ae,args:ct?we:`${Qe.args}${we}`,order:Qe.order});continue}if(le.type==="tool.output"){z+=1;const X=Pe(re)??"tool";Ie(X);const Ae=typeof re.delta=="string"?re.delta:"",we=D.get(X);Q.has(X)||Q.set(X,z),D.set(X,{name:we?.name??f.get(X)?.name,output:`${we?.output??""}${Ae}`,status:we?.status??"success",structured:we?.structured});continue}if(le.type==="tool.result"){z+=1;const X=Pe(re)??"tool";Ie(X);const Ae=String(re.output??""),we=!!(re.isError??re.error),Gt=f.get(X)?.name;if(vs(Gt,Ae,we))continue;let ct;if(re.structuredContent)try{ct=JSON.stringify(re.structuredContent)}catch{ct=String(re.structuredContent)}Q.has(X)||Q.set(X,z);const Qe=D.get(X);D.set(X,{name:f.get(X)?.name??Qe?.name,output:Ae||Qe?.output||"",status:we?"error":"success",structured:ct??Qe?.structured})}}}return{text:m,toolCalls:G.map(le=>{const Ne=f.get(le);return Ne?{...Ne,callId:le}:null}).filter(Boolean),toolResults:G.map(le=>{const Ne=D.get(le),re=Q.get(le);return Ne&&re!=null?{...Ne,callId:le,order:re}:null}).filter(Boolean),thinkingBlocks:C,firstTextIndex:ke}}return In(async()=>{typeof window<"u"&&(de.value=window.location.origin,window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches&&(t.value=!0)),ae.value=ln(),Dr(),await Promise.all([u(),F(),hr()]),!he.value&&qt.value.length>0&&await It(qt.value[0].id),n.value||I(r.value?.cursor),L=d=>{const m=d.target;is.value&&!is.value.contains(m)&&(ls.value=!1),as.value&&!as.value.contains(m)&&(os.value=!1)},window.addEventListener("mousedown",L)}),An(()=>{L&&window.removeEventListener("mousedown",L),$(),p(),Xe(),ss()}),Me(r,d=>{d?.snapshot&&!y.value&&(y.value=d.snapshot)}),Me(t,d=>{s(d)},{immediate:!0}),Me(l,d=>{const m=d[0];if(!m)return;const C=m.id||`${m.type}-${m.receivedAt}`;if(S.lastStreamEventId.value===C)return;S.lastStreamEventId.value=C;const _=Kt(m);_&&S.streamQueryRunIds.has(_)||S.useStreamingQuery.value&&P.value&&S.currentStreamMessageId.value&&["run.status","message.delta","thinking_start","thinking_delta","thinking_end","tool.call","tool.output","tool.result","requires_action"].includes(m.type)||wn(m)}),Me(rs,d=>{d&&Be(()=>mr.value?.focus())}),Me(qe,d=>{d&&Be(()=>ps.value?.dialogEl?.focus())}),Me(vt,d=>{d&&Be(()=>gs.value?.dialogEl?.focus())}),Me(()=>Oe.value.length,async()=>{await Be(),await Lt()}),Me(()=>S.activeStreamRunId.value,async()=>{await Be();const d=Vt.value?.messagesRef;d&&(d.scrollTop=d.scrollHeight)}),Me(P,async(d,m)=>{if(d||!m)return;const C=S.currentStreamMessageId.value;if(!C)return;if(S.streamQueryPaused.value){Oe.value=Oe.value.map(D=>D.id!==C?D:{...D,meta:void 0}),S.currentStreamMessageId.value=null,Xe();return}const _=h.value?.runId;if(_&&typeof _=="string"&&(S.streamQueryRunIds.add(_),S.activeStreamQueryRunId.value||(S.activeStreamQueryRunId.value=_)),x.value){Oe.value=Oe.value.map(D=>D.id!==C?D:{...D,parts:[ee(`Error: ${x.value||"Unknown error"}`)],meta:void 0}),S.currentStreamMessageId.value=null;return}!S.streamQueryHasDelta.value&&h.value&&Br(C,h.value),Oe.value=Oe.value.map(D=>D.id!==C?D:{...D,meta:void 0});const f=h.value?.sessionId;f&&f!==he.value&&(he.value=f),Xe(),!B.value&&f&&await F(),S.currentStreamMessageId.value=null}),Me(c,()=>{if(!S.useStreamingQuery.value||!S.currentStreamMessageId.value)return;const d=c.value[c.value.length-1],m=d?Kt(d):null,C=d?Ve(d):null;m&&(S.streamQueryRunIds.add(m),S.activeStreamQueryRunId.value||(S.activeStreamQueryRunId.value=m));const _=m??S.activeStreamQueryRunId.value;if(_){const D=me.findAskUserRequiresActionPayload(c.value,_);if(D){const Q=me.resolveAskUserPayload(D,_,{events:c.value});S.streamQueryPaused.value=!0,tt(S.currentStreamMessageId.value),ht(Q.questions,Q.toolCallId,rt(D),_);return}}if(d?.type==="message.delta"&&typeof C?.delta=="string"&&C.delta&&(S.streamQueryHasDelta.value=!0),d?.type==="requires_action"&&m){const D=String(C?.kind??C?.action_kind??"");if(D==="ask_user"){const Q=me.resolveAskUserPayload(C,m,{events:c.value});S.streamQueryPaused.value=!0,tt(S.currentStreamMessageId.value),ht(Q.questions,Q.toolCallId,rt(C),m);return}if(D==="tool_approval"||D==="tool_approvals"){S.streamQueryPaused.value=!0;const Q=rt(C),G=ve.collectPendingApprovalsFromEvents(c.value,m);Ct(S.currentStreamMessageId.value,G[0]?.toolName),$t(G,Q,m);return}}if(d?.type==="run.status"&&(typeof C?.stopReason=="string"?C.stopReason:"")==="approval_required"&&m){const Q=me.findAskUserRequiresActionPayload(c.value,m);if(Q){const xe=me.resolveAskUserPayload(Q,m,{events:c.value});S.streamQueryPaused.value=!0,tt(S.currentStreamMessageId.value),ht(xe.questions,xe.toolCallId,rt(Q),m);return}if(me.askUserRunId.value===m){tt(S.currentStreamMessageId.value),S.streamQueryPaused.value=!0;return}S.streamQueryPaused.value=!0;const G=rt(C),te=ve.collectPendingApprovalsFromEvents(c.value,m);Ct(S.currentStreamMessageId.value,te[0]?.toolName),$t(te,G,m)}if(S.streamQueryPaused.value)return;const f=Sn(c.value);f&&(Oe.value=Oe.value.map(D=>{if(D.id!==S.currentStreamMessageId.value)return D;const Q=[],G=[];for(let z=0;z<f.thinkingBlocks.length;z+=1){const ke=f.thinkingBlocks[z];G.push({kind:"thinking",order:ke.order,index:z})}f.text&&f.firstTextIndex!=null&&G.push({kind:"text",order:f.firstTextIndex});for(const z of f.toolCalls)z.callId&&G.push({kind:"tool_call",order:z.order,callId:z.callId});for(const z of f.toolResults)z.callId&&G.push({kind:"tool_result",order:z.order,callId:z.callId});G.sort((z,ke)=>z.order-ke.order);const te=new Map(f.toolCalls.filter(z=>z.callId).map(z=>[z.callId,z])),xe=new Map(f.toolResults.filter(z=>z.callId).map(z=>[z.callId,z]));for(const z of G){if(z.kind==="thinking"){const Ie=f.thinkingBlocks[z.index];if(!Ie)continue;Q.push({type:"thinking",title:"Thinking",collapsed:!0,content:Ie.content});continue}if(z.kind==="text"){Q.push(ee(f.text));continue}if(z.kind==="tool_call"){const Ie=te.get(z.callId);if(!Ie)continue;Q.push({type:"tool_call",name:Ie.name,args:Ie.args||"No arguments",callId:Ie.callId});continue}const ke=xe.get(z.callId);ke&&Q.push({type:"tool_result",name:ke.name,output:ke.output||"No output",status:ke.status,callId:ke.callId,structured:ke.structured})}return Q.length===0&&Q.push(ee("Thinking...")),{...D,parts:Q,meta:"streaming"}}))}),Me(()=>c.value.length,async()=>{if(P.value){await Be();const d=Vt.value?.messagesRef;d&&(d.scrollTop=d.scrollHeight)}}),(d,m)=>(M(),R("div",oc,[i("main",ac,[oe(Ui,{sessions:U(qt),"sessions-loading":U(W),"sessions-error":U(B),"active-session-id":U(he),"editing-session-id":U(Gr),"rename-draft":U(ms),"session-note":U(xt),"can-manage-sessions":U(Jr),"debug-ui":ae.value,"command-items":ir.value,"last-updated-label":tr.value,"session-count-label":sr.value,"tool-approvals-mode":U(Ze),"active-session-cwd-label":U(fs),onRefresh:U(F),onCreate:dn,onSelect:It,onRename:U(Yr),onDelete:U(fr),"onUpdate:renameDraft":m[0]||(m[0]=C=>{ms.value=C}),onApplyRename:U(Zr),onCancelRename:U(Xr),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",lc,[oe(Wa,{"active-session-title":U(Hr),"active-session-summary":U(Kr),"active-session-cwd-label":U(fs),"indicator-class":er.value,"stream-status-label":Ye.value,"chat-header-stats":lr.value,"dark-mode":t.value,onReconnect:ys,onToggleTheme:m[1]||(m[1]=C=>t.value=!t.value)},null,8,["active-session-title","active-session-summary","active-session-cwd-label","indicator-class","stream-status-label","chat-header-stats","dark-mode"]),i("div",ic,[oe(Rl,{ref_key:"chatMessagesComponent",ref:Vt,messages:U(jr)},null,8,["messages"]),ae.value?(M(),_s(ti,{key:0,class:"mt-10","status-loading":U(o),"status-error":U(n),"status-rows":rr.value,capabilities:ar.value,events:U(l),"snapshot-label":nr.value,"snapshot-content":or.value,onRefresh:pn,onReconnect:ys,onCapabilities:m[2]||(m[2]=C=>bs("List capabilities")),onCopyOrigin:gn},null,8,["status-loading","status-error","status-rows","capabilities","events","snapshot-label","snapshot-content"])):Y("",!0)]),oe(Ua,{ref_key:"chatComposerComponent",ref:rn,modelValue:kt.value,"onUpdate:modelValue":m[3]||(m[3]=C=>kt.value=C),placeholder:U(vr),attachments:U(Nt),"uploads-enabled":ge.value,"images-enabled":He.value,"attachments-base64":U(gt),"attachment-note":U(xr),"composer-menu-open":U(ls),"mode-menu-open":U(os),"mode-label":U(pr),"mode-options":U(gr),"use-streaming-query":U(S).useStreamingQuery.value,"debug-ui":ae.value,"send-label":nn.value,"send-disabled":on.value,"query-error":U(O),"stream-query-error":U(x),"onUpdate:attachmentsBase64":m[4]||(m[4]=C=>{gt.value=C}),"onUpdate:useStreamingQuery":m[5]||(m[5]=C=>{U(S).useStreamingQuery.value=C}),onDrop:U(Sr),onPaste:U(wr),onCompositionstart:mn,onCompositionend:fn,onEnter:un,onRemoveAttachment:U(kr),onToggleComposerMenu:U(Ir),onToggleModeMenu:U(br),onAddFile:U($r),onQuickAction:bs,onSelectMode:m[6]||(m[6]=C=>{U(yr)(C)}),onSend:hs,onFilePick:U(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(Di,{visible:U(ur),message:U(cr),kind:U(dr),onClose:U(ss)},null,8,["visible","message","kind","onClose"]),oe(qn,{ref_key:"approvalDialogComponent",ref:ps,open:U(qe),"active-approval":U(zt),"approval-count":U(_r),busy:U(Bt),"tool-approvals-mode":U(Ze),onReject:kn,onApprove:bn,onApproveAll:xn},null,8,["open","active-approval","approval-count","busy","tool-approvals-mode"]),oe(co,{ref_key:"askUserDialogComponent",ref:gs,open:U(vt),questions:U(Rr),selections:U(Tr),"other-inputs":U(cs),"other-label":U(Mr),busy:U(jt),"is-selected":U(Er),onCancel:yn,onSubmit:hn,onOptionChange:U(Pr),"onUpdate:otherInputs":m[7]||(m[7]=C=>{cs.value=C})},null,8,["open","questions","selections","other-inputs","other-label","busy","is-selected","onOptionChange"]),oe(ii,{open:U(rs),target:U(Dt),busy:U(pt),onClose:U(ns),onConfirm:cn},null,8,["open","target","busy","onClose"])]))}});export{uc as default};