@mcpc-tech/unplugin-dev-inspector-mcp 0.1.28 → 0.1.30

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 (41) hide show
  1. package/client/dist/{PromptParamsDialog-CtCaLYaq.js → PromptParamsDialog-D0TaQM5I.js} +146 -68
  2. package/client/dist/architecture-U656AL7Q-DLZFIEaG.js +1 -0
  3. package/client/dist/{architectureDiagram-VXUJARFQ-mTEFN4g1.js → architectureDiagram-VXUJARFQ-DNc0rX0p.js} +1 -1
  4. package/client/dist/{chunk-76Q3JFCE-naB4GsSN.js → chunk-76Q3JFCE-CAXIRKnn.js} +1 -1
  5. package/client/dist/chunk-FPAJGGOC-BjlYzVzU.js +80 -0
  6. package/client/dist/{chunk-FWNWRKHM-DESdnxaO.js → chunk-FWNWRKHM-VOvXoVoT.js} +1 -1
  7. package/client/dist/{chunk-LBM3YZW2-D1UaPZ0s.js → chunk-LBM3YZW2-CvtIRI2w.js} +1 -1
  8. package/client/dist/{chunk-LHMN2FUI-DvMeDi1w.js → chunk-LHMN2FUI-Ca-4316E.js} +1 -1
  9. package/client/dist/{chunk-O7ZBX7Z2-CzEL6GEY.js → chunk-O7ZBX7Z2-CECReL7o.js} +1 -1
  10. package/client/dist/{chunk-S6J4BHB3-dkKq153Y.js → chunk-S6J4BHB3-BHybUXml.js} +1 -1
  11. package/client/dist/{chunk-T53DSG4Q-m8YxcxT5.js → chunk-T53DSG4Q-7987HmnS.js} +1 -1
  12. package/client/dist/{diagram-PSM6KHXK-BxJGiGPe.js → diagram-PSM6KHXK-DTb9CVoz.js} +1 -1
  13. package/client/dist/{diagram-QEK2KX5R-DYp7ZFqv.js → diagram-QEK2KX5R-B2o1-dFI.js} +1 -1
  14. package/client/dist/{diagram-S2PKOQOG-DJkha_WW.js → diagram-S2PKOQOG-DPPFE3hr.js} +1 -1
  15. package/client/dist/gitGraph-F6HP7TQM-l-NE_Osd.js +1 -0
  16. package/client/dist/{gitGraphDiagram-NY62KEGX-Cr6_VXUM.js → gitGraphDiagram-NY62KEGX-Jp7zkjZT.js} +1 -1
  17. package/client/dist/info-NVLQJR56-EuF5TjLZ.js +1 -0
  18. package/client/dist/{infoDiagram-ER5ION4S-CtrGb0So.js → infoDiagram-ER5ION4S-CXN8mVBL.js} +1 -1
  19. package/client/dist/inspector.js +21 -98
  20. package/client/dist/{mermaid-parser.core-lVkskdol.js → mermaid-parser.core-B4UmuquT.js} +1 -1
  21. package/client/dist/{mermaid.core-DfenwpGd.js → mermaid.core-Bb_NaryS.js} +2 -2
  22. package/client/dist/packet-BFZMPI3H-BeBassQF.js +1 -0
  23. package/client/dist/pie-7BOR55EZ-CaiOg9Y8.js +1 -0
  24. package/client/dist/{pieDiagram-ADFJNKIX-10ENr3pD.js → pieDiagram-ADFJNKIX-C2tbuWJp.js} +1 -1
  25. package/client/dist/radar-NHE76QYJ-Dig7Z189.js +1 -0
  26. package/client/dist/sidebar.js +1 -1
  27. package/client/dist/treemap-KMMF4GRG-CTX-6nPT.js +1 -0
  28. package/dist/cli.cjs +24 -5
  29. package/dist/cli.js +24 -5
  30. package/dist/config-updater.cjs +99 -7
  31. package/dist/config-updater.js +99 -7
  32. package/dist/react/react.js +28 -1
  33. package/package.json +2 -2
  34. package/client/dist/architecture-U656AL7Q-BbnkeEk-.js +0 -1
  35. package/client/dist/chunk-FPAJGGOC-_ax7LrI6.js +0 -81
  36. package/client/dist/gitGraph-F6HP7TQM-KAtjK5Ox.js +0 -1
  37. package/client/dist/info-NVLQJR56-DiZxlu_o.js +0 -1
  38. package/client/dist/packet-BFZMPI3H-Co0kmFAY.js +0 -1
  39. package/client/dist/pie-7BOR55EZ-27A0zi3z.js +0 -1
  40. package/client/dist/radar-NHE76QYJ-BNuOm017.js +0 -1
  41. package/client/dist/treemap-KMMF4GRG-Cs32ogTY.js +0 -1
@@ -1,3 +1,3 @@
1
- import{f as e}from"./chunk-FPAJGGOC-_ax7LrI6.js";var t={},n={info:e(async()=>{let{createInfoServices:e}=await import(`./info-NVLQJR56-DiZxlu_o.js`);t.info=e().Info.parser.LangiumParser},`info`),packet:e(async()=>{let{createPacketServices:e}=await import(`./packet-BFZMPI3H-Co0kmFAY.js`);t.packet=e().Packet.parser.LangiumParser},`packet`),pie:e(async()=>{let{createPieServices:e}=await import(`./pie-7BOR55EZ-27A0zi3z.js`);t.pie=e().Pie.parser.LangiumParser},`pie`),architecture:e(async()=>{let{createArchitectureServices:e}=await import(`./architecture-U656AL7Q-BbnkeEk-.js`);t.architecture=e().Architecture.parser.LangiumParser},`architecture`),gitGraph:e(async()=>{let{createGitGraphServices:e}=await import(`./gitGraph-F6HP7TQM-KAtjK5Ox.js`);t.gitGraph=e().GitGraph.parser.LangiumParser},`gitGraph`),radar:e(async()=>{let{createRadarServices:e}=await import(`./radar-NHE76QYJ-BNuOm017.js`);t.radar=e().Radar.parser.LangiumParser},`radar`),treemap:e(async()=>{let{createTreemapServices:e}=await import(`./treemap-KMMF4GRG-Cs32ogTY.js`);t.treemap=e().Treemap.parser.LangiumParser},`treemap`)};async function r(e,r){let a=n[e];if(!a)throw Error(`Unknown diagram type: ${e}`);t[e]||await a();let o=t[e].parse(r);if(o.lexerErrors.length>0||o.parserErrors.length>0)throw new i(o);return o.value}e(r,`parse`);var i=class extends Error{constructor(e){let t=e.lexerErrors.map(e=>e.message).join(`
1
+ import{f as e}from"./chunk-FPAJGGOC-BjlYzVzU.js";var t={},n={info:e(async()=>{let{createInfoServices:e}=await import(`./info-NVLQJR56-EuF5TjLZ.js`);t.info=e().Info.parser.LangiumParser},`info`),packet:e(async()=>{let{createPacketServices:e}=await import(`./packet-BFZMPI3H-BeBassQF.js`);t.packet=e().Packet.parser.LangiumParser},`packet`),pie:e(async()=>{let{createPieServices:e}=await import(`./pie-7BOR55EZ-CaiOg9Y8.js`);t.pie=e().Pie.parser.LangiumParser},`pie`),architecture:e(async()=>{let{createArchitectureServices:e}=await import(`./architecture-U656AL7Q-DLZFIEaG.js`);t.architecture=e().Architecture.parser.LangiumParser},`architecture`),gitGraph:e(async()=>{let{createGitGraphServices:e}=await import(`./gitGraph-F6HP7TQM-l-NE_Osd.js`);t.gitGraph=e().GitGraph.parser.LangiumParser},`gitGraph`),radar:e(async()=>{let{createRadarServices:e}=await import(`./radar-NHE76QYJ-Dig7Z189.js`);t.radar=e().Radar.parser.LangiumParser},`radar`),treemap:e(async()=>{let{createTreemapServices:e}=await import(`./treemap-KMMF4GRG-CTX-6nPT.js`);t.treemap=e().Treemap.parser.LangiumParser},`treemap`)};async function r(e,r){let a=n[e];if(!a)throw Error(`Unknown diagram type: ${e}`);t[e]||await a();let o=t[e].parse(r);if(o.lexerErrors.length>0||o.parserErrors.length>0)throw new i(o);return o.value}e(r,`parse`);var i=class extends Error{constructor(e){let t=e.lexerErrors.map(e=>e.message).join(`
2
2
  `),n=e.parserErrors.map(e=>e.message).join(`
3
3
  `);super(`Parsing failed: ${t} ${n}`),this.result=e}static{e(this,`MermaidParseError`)}};export{r as t};
@@ -1,5 +1,5 @@
1
- import"./marked.esm-DUB0uiru.js";import{t as e}from"./isEmpty-CokRQ2Nu.js";import{a as t,f as n,g as r,h as i,i as a,o}from"./chunk-S3R3BYOJ-CQpHdWQs.js";import{_ as s,g as c,h as l,p as u}from"./src-CoWzf9ks.js";import{J as d,M as f,P as p,R as m,S as h,V as g,W as _,X as v,Y as y,c as b,f as x,g as S,h as C,j as w,l as ee,n as te,p as T,q as E,r as ne,t as re,w as D,x as O,y as k}from"./chunk-ABZYJK2D-B-uQQBad.js";import{t as ie}from"./chunk-EXTU4WIE-hA6kjEor.js";import"./dist-Bz_xenUc.js";import{i as ae,s as oe}from"./chunk-JA3XYJ7Z-B2ggvruF.js";import"./chunk-HN2XXSSU-CwOdrF1j.js";import"./chunk-CVBHYZKI-C8bYjiGm.js";import"./chunk-ATLVNIR6-06VCvgCA.js";import"./chunk-JZLCHNYA-CkNAdoyb.js";import"./chunk-QXUST7PY-BHpud-vy.js";import{n as se}from"./chunk-N4CR4FBY-CESp_hlr.js";import{n as ce,t as le}from"./chunk-MI3HLSF2-C6Pm8cQC.js";import{t as ue}from"./chunk-6MN3ZHY7-B86W-RmZ.js";var de=`comm`,fe=`rule`,pe=`decl`,me=`@import`,he=`@namespace`,ge=`@keyframes`,_e=`@layer`,ve=Math.abs,A=String.fromCharCode;function ye(e){return e.trim()}function j(e,t,n){return e.replace(t,n)}function be(e,t,n){return e.indexOf(t,n)}function M(e,t){return e.charCodeAt(t)|0}function N(e,t,n){return e.slice(t,n)}function P(e){return e.length}function xe(e){return e.length}function F(e,t){return t.push(e),e}var I=1,L=1,Se=0,R=0,z=0,B=``;function Ce(e,t,n,r,i,a,o,s){return{value:e,root:t,parent:n,type:r,props:i,children:a,line:I,column:L,length:o,return:``,siblings:s}}function we(){return z}function Te(){return z=R>0?M(B,--R):0,L--,z===10&&(L=1,I--),z}function V(){return z=R<Se?M(B,R++):0,L++,z===10&&(L=1,I++),z}function H(){return M(B,R)}function U(){return R}function W(e,t){return N(B,e,t)}function G(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function Ee(e){return I=L=1,Se=P(B=e),R=0,[]}function De(e){return B=``,e}function Oe(e){return ye(W(R-1,je(e===91?e+2:e===40?e+1:e)))}function ke(e){for(;(z=H())&&z<33;)V();return G(e)>2||G(z)>3?``:` `}function Ae(e,t){for(;--t&&V()&&!(z<48||z>102||z>57&&z<65||z>70&&z<97););return W(e,U()+(t<6&&H()==32&&V()==32))}function je(e){for(;V();)switch(z){case e:return R;case 34:case 39:e!==34&&e!==39&&je(z);break;case 40:e===41&&je(e);break;case 92:V();break}return R}function Me(e,t){for(;V()&&e+z!==57&&!(e+z===84&&H()===47););return`/*`+W(t,R-1)+`*`+A(e===47?e:V())}function Ne(e){for(;!G(H());)V();return W(e,R)}function Pe(e){return De(K(``,null,null,null,[``],e=Ee(e),0,[0],e))}function K(e,t,n,r,i,a,o,s,c){for(var l=0,u=0,d=o,f=0,p=0,m=0,h=1,g=1,_=1,v=0,y=``,b=i,x=a,S=r,C=y;g;)switch(m=v,v=V()){case 40:if(m!=108&&M(C,d-1)==58){be(C+=j(Oe(v),`&`,`&\f`),`&\f`,ve(l?s[l-1]:0))!=-1&&(_=-1);break}case 34:case 39:case 91:C+=Oe(v);break;case 9:case 10:case 13:case 32:C+=ke(m);break;case 92:C+=Ae(U()-1,7);continue;case 47:switch(H()){case 42:case 47:F(Ie(Me(V(),U()),t,n,c),c),(G(m||1)==5||G(H()||1)==5)&&P(C)&&N(C,-1,void 0)!==` `&&(C+=` `);break;default:C+=`/`}break;case 123*h:s[l++]=P(C)*_;case 125*h:case 59:case 0:switch(v){case 0:case 125:g=0;case 59+u:_==-1&&(C=j(C,/\f/g,``)),p>0&&(P(C)-d||h===0&&m===47)&&F(p>32?Le(C+`;`,r,n,d-1,c):Le(j(C,` `,``)+`;`,r,n,d-2,c),c);break;case 59:C+=`;`;default:if(F(S=Fe(C,t,n,l,u,i,s,y,b=[],x=[],d,a),a),v===123)if(u===0)K(C,t,S,S,b,a,d,s,x);else{switch(f){case 99:if(M(C,3)===110)break;case 108:if(M(C,2)===97)break;default:u=0;case 100:case 109:case 115:}u?K(e,S,S,r&&F(Fe(e,S,S,0,0,i,s,y,i,b=[],d,x),x),i,x,d,s,r?b:x):K(C,S,S,S,[``],x,0,s,x)}}l=u=p=0,h=_=1,y=C=``,d=o;break;case 58:d=1+P(C),p=m;default:if(h<1){if(v==123)--h;else if(v==125&&h++==0&&Te()==125)continue}switch(C+=A(v),v*h){case 38:_=u>0?1:(C+=`\f`,-1);break;case 44:s[l++]=(P(C)-1)*_,_=1;break;case 64:H()===45&&(C+=Oe(V())),f=H(),u=d=P(y=C+=Ne(U())),v++;break;case 45:m===45&&P(C)==2&&(h=0)}}return a}function Fe(e,t,n,r,i,a,o,s,c,l,u,d){for(var f=i-1,p=i===0?a:[``],m=xe(p),h=0,g=0,_=0;h<r;++h)for(var v=0,y=N(e,f+1,f=ve(g=o[h])),b=e;v<m;++v)(b=ye(g>0?p[v]+` `+y:j(y,/&\f/g,p[v])))&&(c[_++]=b);return Ce(e,t,n,i===0?fe:s,c,l,u,d)}function Ie(e,t,n,r){return Ce(e,t,n,de,A(we()),N(e,2,-2),0,r)}function Le(e,t,n,r,i){return Ce(e,t,n,pe,N(e,0,r),N(e,r+1,-1),r,i)}function q(e,t){for(var n=``,r=0;r<e.length;r++)n+=t(e[r],r,e,t)||``;return n}function Re(e,t,n,r){switch(e.type){case _e:if(e.children.length)break;case me:case he:case pe:return e.return=e.return||e.value;case de:return``;case ge:return e.return=e.value+`{`+q(e.children,r)+`}`;case fe:if(!P(e.value=e.props.join(`,`)))return``}return P(n=q(e.children,r))?e.return=e.value+`{`+n+`}`:``}var ze=`c4`,Be={id:ze,detector:l(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./c4Diagram-YG6GDRKO-GpSiJ-09.js`);return{id:ze,diagram:e}},`loader`)},Ve=`flowchart`,He={id:Ve,detector:l((e,t)=>t?.flowchart?.defaultRenderer===`dagre-wrapper`||t?.flowchart?.defaultRenderer===`elk`?!1:/^\s*graph/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./flowDiagram-NV44I4VS-CelHIHjn.js`);return{id:Ve,diagram:e}},`loader`)},Ue=`flowchart-v2`,We={id:Ue,detector:l((e,t)=>t?.flowchart?.defaultRenderer===`dagre-d3`?!1:(t?.flowchart?.defaultRenderer===`elk`&&(t.layout=`elk`),/^\s*graph/.test(e)&&t?.flowchart?.defaultRenderer===`dagre-wrapper`?!0:/^\s*flowchart/.test(e)),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./flowDiagram-NV44I4VS-CelHIHjn.js`);return{id:Ue,diagram:e}},`loader`)},Ge=`er`,Ke={id:Ge,detector:l(e=>/^\s*erDiagram/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./erDiagram-Q2GNP2WA-6XtwsRni.js`);return{id:Ge,diagram:e}},`loader`)},qe=`gitGraph`,Je={id:qe,detector:l(e=>/^\s*gitGraph/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./gitGraphDiagram-NY62KEGX-Cr6_VXUM.js`);return{id:qe,diagram:e}},`loader`)},Ye=`gantt`,Xe={id:Ye,detector:l(e=>/^\s*gantt/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./ganttDiagram-LVOFAZNH-Cvj1uEfB.js`);return{id:Ye,diagram:e}},`loader`)},Ze=`info`,Qe={id:Ze,detector:l(e=>/^\s*info/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./infoDiagram-ER5ION4S-CtrGb0So.js`);return{id:Ze,diagram:e}},`loader`)},$e=`pie`,et={id:$e,detector:l(e=>/^\s*pie/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./pieDiagram-ADFJNKIX-10ENr3pD.js`);return{id:$e,diagram:e}},`loader`)},tt=`quadrantChart`,nt={id:tt,detector:l(e=>/^\s*quadrantChart/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./quadrantDiagram-AYHSOK5B-lMjtU4jB.js`);return{id:tt,diagram:e}},`loader`)},rt=`xychart`,it={id:rt,detector:l(e=>/^\s*xychart(-beta)?/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./xychartDiagram-PRI3JC2R-CSHRJA-w.js`);return{id:rt,diagram:e}},`loader`)},at=`requirement`,ot={id:at,detector:l(e=>/^\s*requirement(Diagram)?/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./requirementDiagram-UZGBJVZJ-BANZB6Iz.js`);return{id:at,diagram:e}},`loader`)},st=`sequence`,ct={id:st,detector:l(e=>/^\s*sequenceDiagram/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./sequenceDiagram-WL72ISMW-DnnKpwi7.js`);return{id:st,diagram:e}},`loader`)},lt=`class`,ut={id:lt,detector:l((e,t)=>t?.class?.defaultRenderer===`dagre-wrapper`?!1:/^\s*classDiagram/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./classDiagram-2ON5EDUG-CG9xuA-s.js`);return{id:lt,diagram:e}},`loader`)},dt=`classDiagram`,ft={id:dt,detector:l((e,t)=>/^\s*classDiagram/.test(e)&&t?.class?.defaultRenderer===`dagre-wrapper`?!0:/^\s*classDiagram-v2/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./classDiagram-v2-WZHVMYZB-BqQco41Z.js`);return{id:dt,diagram:e}},`loader`)},pt=`state`,mt={id:pt,detector:l((e,t)=>t?.state?.defaultRenderer===`dagre-wrapper`?!1:/^\s*stateDiagram/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./stateDiagram-FKZM4ZOC-iYM8j2jN.js`);return{id:pt,diagram:e}},`loader`)},ht=`stateDiagram`,gt={id:ht,detector:l((e,t)=>!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&t?.state?.defaultRenderer===`dagre-wrapper`),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./stateDiagram-v2-4FDKWEC3-CzW1Ir10.js`);return{id:ht,diagram:e}},`loader`)},_t=`journey`,vt={id:_t,detector:l(e=>/^\s*journey/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./journeyDiagram-XKPGCS4Q-CdZJjun-.js`);return{id:_t,diagram:e}},`loader`)},yt={draw:l((e,t,n)=>{c.debug(`rendering svg for syntax error
2
- `);let r=ie(t),i=r.append(`g`);r.attr(`viewBox`,`0 0 2412 512`),b(r,100,512,!0),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z`),i.append(`text`).attr(`class`,`error-text`).attr(`x`,1440).attr(`y`,250).attr(`font-size`,`150px`).style(`text-anchor`,`middle`).text(`Syntax error in text`),i.append(`text`).attr(`class`,`error-text`).attr(`x`,1250).attr(`y`,400).attr(`font-size`,`100px`).style(`text-anchor`,`middle`).text(`mermaid version ${n}`)},`draw`)},bt=yt,xt={db:{},renderer:yt,parser:{parse:l(()=>{},`parse`)}},St=`flowchart-elk`,Ct={id:St,detector:l((e,t={})=>/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&t?.flowchart?.defaultRenderer===`elk`?(t.layout=`elk`,!0):!1,`detector`),loader:l(async()=>{let{diagram:e}=await import(`./flowDiagram-NV44I4VS-CelHIHjn.js`);return{id:St,diagram:e}},`loader`)},wt=`timeline`,Tt={id:wt,detector:l(e=>/^\s*timeline/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./timeline-definition-IT6M3QCI-DVa8bOe8.js`);return{id:wt,diagram:e}},`loader`)},Et=`mindmap`,Dt={id:Et,detector:l(e=>/^\s*mindmap/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./mindmap-definition-VGOIOE7T-E51zBHdA.js`);return{id:Et,diagram:e}},`loader`)},Ot=`kanban`,kt={id:Ot,detector:l(e=>/^\s*kanban/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./kanban-definition-3W4ZIXB7-B3nQllvM.js`);return{id:Ot,diagram:e}},`loader`)},At=`sankey`,jt={id:At,detector:l(e=>/^\s*sankey(-beta)?/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./sankeyDiagram-TZEHDZUN-C6vl5I45.js`);return{id:At,diagram:e}},`loader`)},Mt=`packet`,Nt={id:Mt,detector:l(e=>/^\s*packet(-beta)?/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./diagram-S2PKOQOG-DJkha_WW.js`);return{id:Mt,diagram:e}},`loader`)},Pt=`radar`,Ft={id:Pt,detector:l(e=>/^\s*radar-beta/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./diagram-QEK2KX5R-DYp7ZFqv.js`);return{id:Pt,diagram:e}},`loader`)},It=`block`,Lt={id:It,detector:l(e=>/^\s*block(-beta)?/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./blockDiagram-VD42YOAC-DuZyDGXz.js`);return{id:It,diagram:e}},`loader`)},Rt=`architecture`,zt={id:Rt,detector:l(e=>/^\s*architecture/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./architectureDiagram-VXUJARFQ-mTEFN4g1.js`);return{id:Rt,diagram:e}},`loader`)},Bt=`treemap`,Vt={id:Bt,detector:l(e=>/^\s*treemap/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./diagram-PSM6KHXK-BxJGiGPe.js`);return{id:Bt,diagram:e}},`loader`)},Ht=!1,J=l(()=>{Ht||(Ht=!0,w(`error`,xt,e=>e.toLowerCase().trim()===`error`),w(`---`,{db:{clear:l(()=>{},`clear`)},styles:{},renderer:{draw:l(()=>{},`draw`)},parser:{parse:l(()=>{throw Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},`parse`)},init:l(()=>null,`init`)},e=>e.toLowerCase().trimStart().startsWith(`---`)),f(Ct,Dt,zt),f(Be,kt,ft,ut,Ke,Xe,Qe,et,ot,ct,We,He,Tt,Je,gt,mt,vt,nt,jt,Nt,it,Lt,Ft,Vt))},`addDiagrams`),Ut=l(async()=>{c.debug(`Loading registered diagrams`);let e=(await Promise.allSettled(Object.entries(T).map(async([e,{detector:t,loader:n}])=>{if(n)try{O(e)}catch{try{let{diagram:e,id:r}=await n();w(r,e,t)}catch(t){throw c.error(`Failed to load external diagram with key ${e}. Removing from detectors.`),delete T[e],t}}}))).filter(e=>e.status===`rejected`);if(e.length>0){c.error(`Failed to load ${e.length} external diagrams`);for(let t of e)c.error(t);throw Error(`Failed to load ${e.length} external diagrams`)}},`loadRegisteredDiagrams`),Wt=`graphics-document document`;function Gt(e,t){e.attr(`role`,Wt),t!==``&&e.attr(`aria-roledescription`,t)}l(Gt,`setA11yDiagramInfo`);function Kt(e,t,n,r){if(e.insert!==void 0){if(n){let t=`chart-desc-${r}`;e.attr(`aria-describedby`,t),e.insert(`desc`,`:first-child`).attr(`id`,t).text(n)}if(t){let n=`chart-title-${r}`;e.attr(`aria-labelledby`,n),e.insert(`title`,`:first-child`).attr(`id`,n).text(t)}}}l(Kt,`addSVGa11yTitleDescription`);var Y=class e{constructor(e,t,n,r,i){this.type=e,this.text=t,this.db=n,this.parser=r,this.renderer=i}static{l(this,`Diagram`)}static async fromText(t,n={}){let r=k(),i=x(t,r);t=o(t)+`
1
+ import"./marked.esm-DUB0uiru.js";import{t as e}from"./isEmpty-CokRQ2Nu.js";import{a as t,f as n,g as r,h as i,i as a,o}from"./chunk-S3R3BYOJ-CQpHdWQs.js";import{_ as s,g as c,h as l,p as u}from"./src-CoWzf9ks.js";import{J as d,M as f,P as p,R as m,S as h,V as g,W as _,X as v,Y as y,c as b,f as x,g as S,h as C,j as w,l as ee,n as te,p as T,q as E,r as ne,t as re,w as D,x as O,y as k}from"./chunk-ABZYJK2D-B-uQQBad.js";import{t as ie}from"./chunk-EXTU4WIE-hA6kjEor.js";import"./dist-Bz_xenUc.js";import{i as ae,s as oe}from"./chunk-JA3XYJ7Z-B2ggvruF.js";import"./chunk-HN2XXSSU-CwOdrF1j.js";import"./chunk-CVBHYZKI-C8bYjiGm.js";import"./chunk-ATLVNIR6-06VCvgCA.js";import"./chunk-JZLCHNYA-CkNAdoyb.js";import"./chunk-QXUST7PY-BHpud-vy.js";import{n as se}from"./chunk-N4CR4FBY-CESp_hlr.js";import{n as ce,t as le}from"./chunk-MI3HLSF2-C6Pm8cQC.js";import{t as ue}from"./chunk-6MN3ZHY7-B86W-RmZ.js";var de=`comm`,fe=`rule`,pe=`decl`,me=`@import`,he=`@namespace`,ge=`@keyframes`,_e=`@layer`,ve=Math.abs,A=String.fromCharCode;function ye(e){return e.trim()}function j(e,t,n){return e.replace(t,n)}function be(e,t,n){return e.indexOf(t,n)}function M(e,t){return e.charCodeAt(t)|0}function N(e,t,n){return e.slice(t,n)}function P(e){return e.length}function xe(e){return e.length}function F(e,t){return t.push(e),e}var I=1,L=1,Se=0,R=0,z=0,B=``;function Ce(e,t,n,r,i,a,o,s){return{value:e,root:t,parent:n,type:r,props:i,children:a,line:I,column:L,length:o,return:``,siblings:s}}function we(){return z}function Te(){return z=R>0?M(B,--R):0,L--,z===10&&(L=1,I--),z}function V(){return z=R<Se?M(B,R++):0,L++,z===10&&(L=1,I++),z}function H(){return M(B,R)}function U(){return R}function W(e,t){return N(B,e,t)}function G(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function Ee(e){return I=L=1,Se=P(B=e),R=0,[]}function De(e){return B=``,e}function Oe(e){return ye(W(R-1,je(e===91?e+2:e===40?e+1:e)))}function ke(e){for(;(z=H())&&z<33;)V();return G(e)>2||G(z)>3?``:` `}function Ae(e,t){for(;--t&&V()&&!(z<48||z>102||z>57&&z<65||z>70&&z<97););return W(e,U()+(t<6&&H()==32&&V()==32))}function je(e){for(;V();)switch(z){case e:return R;case 34:case 39:e!==34&&e!==39&&je(z);break;case 40:e===41&&je(e);break;case 92:V();break}return R}function Me(e,t){for(;V()&&e+z!==57&&!(e+z===84&&H()===47););return`/*`+W(t,R-1)+`*`+A(e===47?e:V())}function Ne(e){for(;!G(H());)V();return W(e,R)}function Pe(e){return De(K(``,null,null,null,[``],e=Ee(e),0,[0],e))}function K(e,t,n,r,i,a,o,s,c){for(var l=0,u=0,d=o,f=0,p=0,m=0,h=1,g=1,_=1,v=0,y=``,b=i,x=a,S=r,C=y;g;)switch(m=v,v=V()){case 40:if(m!=108&&M(C,d-1)==58){be(C+=j(Oe(v),`&`,`&\f`),`&\f`,ve(l?s[l-1]:0))!=-1&&(_=-1);break}case 34:case 39:case 91:C+=Oe(v);break;case 9:case 10:case 13:case 32:C+=ke(m);break;case 92:C+=Ae(U()-1,7);continue;case 47:switch(H()){case 42:case 47:F(Ie(Me(V(),U()),t,n,c),c),(G(m||1)==5||G(H()||1)==5)&&P(C)&&N(C,-1,void 0)!==` `&&(C+=` `);break;default:C+=`/`}break;case 123*h:s[l++]=P(C)*_;case 125*h:case 59:case 0:switch(v){case 0:case 125:g=0;case 59+u:_==-1&&(C=j(C,/\f/g,``)),p>0&&(P(C)-d||h===0&&m===47)&&F(p>32?Le(C+`;`,r,n,d-1,c):Le(j(C,` `,``)+`;`,r,n,d-2,c),c);break;case 59:C+=`;`;default:if(F(S=Fe(C,t,n,l,u,i,s,y,b=[],x=[],d,a),a),v===123)if(u===0)K(C,t,S,S,b,a,d,s,x);else{switch(f){case 99:if(M(C,3)===110)break;case 108:if(M(C,2)===97)break;default:u=0;case 100:case 109:case 115:}u?K(e,S,S,r&&F(Fe(e,S,S,0,0,i,s,y,i,b=[],d,x),x),i,x,d,s,r?b:x):K(C,S,S,S,[``],x,0,s,x)}}l=u=p=0,h=_=1,y=C=``,d=o;break;case 58:d=1+P(C),p=m;default:if(h<1){if(v==123)--h;else if(v==125&&h++==0&&Te()==125)continue}switch(C+=A(v),v*h){case 38:_=u>0?1:(C+=`\f`,-1);break;case 44:s[l++]=(P(C)-1)*_,_=1;break;case 64:H()===45&&(C+=Oe(V())),f=H(),u=d=P(y=C+=Ne(U())),v++;break;case 45:m===45&&P(C)==2&&(h=0)}}return a}function Fe(e,t,n,r,i,a,o,s,c,l,u,d){for(var f=i-1,p=i===0?a:[``],m=xe(p),h=0,g=0,_=0;h<r;++h)for(var v=0,y=N(e,f+1,f=ve(g=o[h])),b=e;v<m;++v)(b=ye(g>0?p[v]+` `+y:j(y,/&\f/g,p[v])))&&(c[_++]=b);return Ce(e,t,n,i===0?fe:s,c,l,u,d)}function Ie(e,t,n,r){return Ce(e,t,n,de,A(we()),N(e,2,-2),0,r)}function Le(e,t,n,r,i){return Ce(e,t,n,pe,N(e,0,r),N(e,r+1,-1),r,i)}function q(e,t){for(var n=``,r=0;r<e.length;r++)n+=t(e[r],r,e,t)||``;return n}function Re(e,t,n,r){switch(e.type){case _e:if(e.children.length)break;case me:case he:case pe:return e.return=e.return||e.value;case de:return``;case ge:return e.return=e.value+`{`+q(e.children,r)+`}`;case fe:if(!P(e.value=e.props.join(`,`)))return``}return P(n=q(e.children,r))?e.return=e.value+`{`+n+`}`:``}var ze=`c4`,Be={id:ze,detector:l(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./c4Diagram-YG6GDRKO-GpSiJ-09.js`);return{id:ze,diagram:e}},`loader`)},Ve=`flowchart`,He={id:Ve,detector:l((e,t)=>t?.flowchart?.defaultRenderer===`dagre-wrapper`||t?.flowchart?.defaultRenderer===`elk`?!1:/^\s*graph/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./flowDiagram-NV44I4VS-CelHIHjn.js`);return{id:Ve,diagram:e}},`loader`)},Ue=`flowchart-v2`,We={id:Ue,detector:l((e,t)=>t?.flowchart?.defaultRenderer===`dagre-d3`?!1:(t?.flowchart?.defaultRenderer===`elk`&&(t.layout=`elk`),/^\s*graph/.test(e)&&t?.flowchart?.defaultRenderer===`dagre-wrapper`?!0:/^\s*flowchart/.test(e)),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./flowDiagram-NV44I4VS-CelHIHjn.js`);return{id:Ue,diagram:e}},`loader`)},Ge=`er`,Ke={id:Ge,detector:l(e=>/^\s*erDiagram/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./erDiagram-Q2GNP2WA-6XtwsRni.js`);return{id:Ge,diagram:e}},`loader`)},qe=`gitGraph`,Je={id:qe,detector:l(e=>/^\s*gitGraph/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./gitGraphDiagram-NY62KEGX-Jp7zkjZT.js`);return{id:qe,diagram:e}},`loader`)},Ye=`gantt`,Xe={id:Ye,detector:l(e=>/^\s*gantt/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./ganttDiagram-LVOFAZNH-Cvj1uEfB.js`);return{id:Ye,diagram:e}},`loader`)},Ze=`info`,Qe={id:Ze,detector:l(e=>/^\s*info/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./infoDiagram-ER5ION4S-CXN8mVBL.js`);return{id:Ze,diagram:e}},`loader`)},$e=`pie`,et={id:$e,detector:l(e=>/^\s*pie/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./pieDiagram-ADFJNKIX-C2tbuWJp.js`);return{id:$e,diagram:e}},`loader`)},tt=`quadrantChart`,nt={id:tt,detector:l(e=>/^\s*quadrantChart/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./quadrantDiagram-AYHSOK5B-lMjtU4jB.js`);return{id:tt,diagram:e}},`loader`)},rt=`xychart`,it={id:rt,detector:l(e=>/^\s*xychart(-beta)?/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./xychartDiagram-PRI3JC2R-CSHRJA-w.js`);return{id:rt,diagram:e}},`loader`)},at=`requirement`,ot={id:at,detector:l(e=>/^\s*requirement(Diagram)?/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./requirementDiagram-UZGBJVZJ-BANZB6Iz.js`);return{id:at,diagram:e}},`loader`)},st=`sequence`,ct={id:st,detector:l(e=>/^\s*sequenceDiagram/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./sequenceDiagram-WL72ISMW-DnnKpwi7.js`);return{id:st,diagram:e}},`loader`)},lt=`class`,ut={id:lt,detector:l((e,t)=>t?.class?.defaultRenderer===`dagre-wrapper`?!1:/^\s*classDiagram/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./classDiagram-2ON5EDUG-CG9xuA-s.js`);return{id:lt,diagram:e}},`loader`)},dt=`classDiagram`,ft={id:dt,detector:l((e,t)=>/^\s*classDiagram/.test(e)&&t?.class?.defaultRenderer===`dagre-wrapper`?!0:/^\s*classDiagram-v2/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./classDiagram-v2-WZHVMYZB-BqQco41Z.js`);return{id:dt,diagram:e}},`loader`)},pt=`state`,mt={id:pt,detector:l((e,t)=>t?.state?.defaultRenderer===`dagre-wrapper`?!1:/^\s*stateDiagram/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./stateDiagram-FKZM4ZOC-iYM8j2jN.js`);return{id:pt,diagram:e}},`loader`)},ht=`stateDiagram`,gt={id:ht,detector:l((e,t)=>!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&t?.state?.defaultRenderer===`dagre-wrapper`),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./stateDiagram-v2-4FDKWEC3-CzW1Ir10.js`);return{id:ht,diagram:e}},`loader`)},_t=`journey`,vt={id:_t,detector:l(e=>/^\s*journey/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./journeyDiagram-XKPGCS4Q-CdZJjun-.js`);return{id:_t,diagram:e}},`loader`)},yt={draw:l((e,t,n)=>{c.debug(`rendering svg for syntax error
2
+ `);let r=ie(t),i=r.append(`g`);r.attr(`viewBox`,`0 0 2412 512`),b(r,100,512,!0),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z`),i.append(`text`).attr(`class`,`error-text`).attr(`x`,1440).attr(`y`,250).attr(`font-size`,`150px`).style(`text-anchor`,`middle`).text(`Syntax error in text`),i.append(`text`).attr(`class`,`error-text`).attr(`x`,1250).attr(`y`,400).attr(`font-size`,`100px`).style(`text-anchor`,`middle`).text(`mermaid version ${n}`)},`draw`)},bt=yt,xt={db:{},renderer:yt,parser:{parse:l(()=>{},`parse`)}},St=`flowchart-elk`,Ct={id:St,detector:l((e,t={})=>/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&t?.flowchart?.defaultRenderer===`elk`?(t.layout=`elk`,!0):!1,`detector`),loader:l(async()=>{let{diagram:e}=await import(`./flowDiagram-NV44I4VS-CelHIHjn.js`);return{id:St,diagram:e}},`loader`)},wt=`timeline`,Tt={id:wt,detector:l(e=>/^\s*timeline/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./timeline-definition-IT6M3QCI-DVa8bOe8.js`);return{id:wt,diagram:e}},`loader`)},Et=`mindmap`,Dt={id:Et,detector:l(e=>/^\s*mindmap/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./mindmap-definition-VGOIOE7T-E51zBHdA.js`);return{id:Et,diagram:e}},`loader`)},Ot=`kanban`,kt={id:Ot,detector:l(e=>/^\s*kanban/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./kanban-definition-3W4ZIXB7-B3nQllvM.js`);return{id:Ot,diagram:e}},`loader`)},At=`sankey`,jt={id:At,detector:l(e=>/^\s*sankey(-beta)?/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./sankeyDiagram-TZEHDZUN-C6vl5I45.js`);return{id:At,diagram:e}},`loader`)},Mt=`packet`,Nt={id:Mt,detector:l(e=>/^\s*packet(-beta)?/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./diagram-S2PKOQOG-DPPFE3hr.js`);return{id:Mt,diagram:e}},`loader`)},Pt=`radar`,Ft={id:Pt,detector:l(e=>/^\s*radar-beta/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./diagram-QEK2KX5R-B2o1-dFI.js`);return{id:Pt,diagram:e}},`loader`)},It=`block`,Lt={id:It,detector:l(e=>/^\s*block(-beta)?/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./blockDiagram-VD42YOAC-DuZyDGXz.js`);return{id:It,diagram:e}},`loader`)},Rt=`architecture`,zt={id:Rt,detector:l(e=>/^\s*architecture/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./architectureDiagram-VXUJARFQ-DNc0rX0p.js`);return{id:Rt,diagram:e}},`loader`)},Bt=`treemap`,Vt={id:Bt,detector:l(e=>/^\s*treemap/.test(e),`detector`),loader:l(async()=>{let{diagram:e}=await import(`./diagram-PSM6KHXK-DTb9CVoz.js`);return{id:Bt,diagram:e}},`loader`)},Ht=!1,J=l(()=>{Ht||(Ht=!0,w(`error`,xt,e=>e.toLowerCase().trim()===`error`),w(`---`,{db:{clear:l(()=>{},`clear`)},styles:{},renderer:{draw:l(()=>{},`draw`)},parser:{parse:l(()=>{throw Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},`parse`)},init:l(()=>null,`init`)},e=>e.toLowerCase().trimStart().startsWith(`---`)),f(Ct,Dt,zt),f(Be,kt,ft,ut,Ke,Xe,Qe,et,ot,ct,We,He,Tt,Je,gt,mt,vt,nt,jt,Nt,it,Lt,Ft,Vt))},`addDiagrams`),Ut=l(async()=>{c.debug(`Loading registered diagrams`);let e=(await Promise.allSettled(Object.entries(T).map(async([e,{detector:t,loader:n}])=>{if(n)try{O(e)}catch{try{let{diagram:e,id:r}=await n();w(r,e,t)}catch(t){throw c.error(`Failed to load external diagram with key ${e}. Removing from detectors.`),delete T[e],t}}}))).filter(e=>e.status===`rejected`);if(e.length>0){c.error(`Failed to load ${e.length} external diagrams`);for(let t of e)c.error(t);throw Error(`Failed to load ${e.length} external diagrams`)}},`loadRegisteredDiagrams`),Wt=`graphics-document document`;function Gt(e,t){e.attr(`role`,Wt),t!==``&&e.attr(`aria-roledescription`,t)}l(Gt,`setA11yDiagramInfo`);function Kt(e,t,n,r){if(e.insert!==void 0){if(n){let t=`chart-desc-${r}`;e.attr(`aria-describedby`,t),e.insert(`desc`,`:first-child`).attr(`id`,t).text(n)}if(t){let n=`chart-title-${r}`;e.attr(`aria-labelledby`,n),e.insert(`title`,`:first-child`).attr(`id`,n).text(t)}}}l(Kt,`addSVGa11yTitleDescription`);var Y=class e{constructor(e,t,n,r,i){this.type=e,this.text=t,this.db=n,this.parser=r,this.renderer=i}static{l(this,`Diagram`)}static async fromText(t,n={}){let r=k(),i=x(t,r);t=o(t)+`
3
3
  `;try{O(i)}catch{let e=h(i);if(!e)throw new re(`Diagram ${i} not found.`);let{id:t,diagram:n}=await e();w(t,n)}let{db:a,parser:s,renderer:c,init:l}=O(i);return s.parser&&(s.parser.yy=a),a.clear?.(),l?.(r),n.title&&a.setDiagramTitle?.(n.title),await s.parse(t),new e(i,t,a,s,c)}async render(e,t){await this.renderer.draw(this.text,e,t,this)}getParser(){return this.parser}getType(){return this.type}},qt=[],Jt=l(()=>{qt.forEach(e=>{e()}),qt=[]},`attachFunctions`),Yt=l(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,``).trimStart(),`cleanupComments`);function Xt(e){let t=e.match(S);if(!t)return{text:e,metadata:{}};let n=ce(t[1],{schema:le})??{};n=typeof n==`object`&&!Array.isArray(n)?n:{};let r={};return n.displayMode&&(r.displayMode=n.displayMode.toString()),n.title&&(r.title=n.title.toString()),n.config&&(r.config=n.config),{text:e.slice(t[0].length),metadata:r}}l(Xt,`extractFrontMatter`);var Zt=l(e=>e.replace(/\r\n?/g,`
4
4
  `).replace(/<(\w+)([^>]*)>/g,(e,t,n)=>`<`+t+n.replace(/="([^"]*)"/g,`='$1'`)+`>`),`cleanupText`),Qt=l(e=>{let{text:t,metadata:n}=Xt(e),{displayMode:r,title:i,config:a={}}=n;return r&&(a.gantt||={},a.gantt.displayMode=r),{title:i,config:a,text:t}},`processFrontmatter`),$t=l(e=>{let t=r.detectInit(e)??{},n=r.detectDirective(e,`wrap`);return Array.isArray(n)?t.wrap=n.some(({type:e})=>e===`wrap`):n?.type===`wrap`&&(t.wrap=!0),{text:i(e),directive:t}},`processDirectives`);function X(e){let t=Qt(Zt(e)),n=$t(t.text),r=a(t.config,n.directive);return e=Yt(n.text),{code:e,title:t.title,config:r}}l(X,`preprocessDiagram`);function en(e){let t=new TextEncoder().encode(e),n=Array.from(t,e=>String.fromCodePoint(e)).join(``);return btoa(n)}l(en,`toBase64`);var tn=5e4,nn=`graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa`,rn=`sandbox`,an=`loose`,on=`http://www.w3.org/2000/svg`,sn=`http://www.w3.org/1999/xlink`,cn=`http://www.w3.org/1999/xhtml`,ln=`100%`,un=`100%`,dn=`border:0;margin:0;`,fn=`margin:0`,pn=`allow-top-navigation-by-user-activation allow-popups`,mn=`The "iframe" tag is not supported by your browser.`,hn=[`foreignobject`],gn=[`dominant-baseline`];function _n(e){let t=X(e);return p(),te(t.config??{}),t}l(_n,`processAndSetConfigs`);async function vn(e,t){J();try{let{code:t,config:n}=_n(e);return{diagramType:(await kn(t)).type,config:n}}catch(e){if(t?.suppressErrors)return!1;throw e}}l(vn,`parse`);var yn=l((e,t,n=[])=>`
5
5
  .${e} ${t} { ${n.join(` !important; `)} !important; }`,`cssImportantStyles`),bn=l((t,n=new Map)=>{let r=``;if(t.themeCSS!==void 0&&(r+=`
@@ -0,0 +1 @@
1
+ import"./chunk-FPAJGGOC-BjlYzVzU.js";import{n as e,t}from"./chunk-76Q3JFCE-CAXIRKnn.js";export{e as createPacketServices};
@@ -0,0 +1 @@
1
+ import"./chunk-FPAJGGOC-BjlYzVzU.js";import{n as e,t}from"./chunk-T53DSG4Q-7987HmnS.js";export{e as createPieServices};
@@ -1,4 +1,4 @@
1
- import"./chunk-FPAJGGOC-_ax7LrI6.js";import{i as e,p as t}from"./chunk-S3R3BYOJ-CQpHdWQs.js";import"./chunk-O7ZBX7Z2-CzEL6GEY.js";import"./chunk-S6J4BHB3-dkKq153Y.js";import"./chunk-LBM3YZW2-D1UaPZ0s.js";import"./chunk-76Q3JFCE-naB4GsSN.js";import"./chunk-T53DSG4Q-m8YxcxT5.js";import"./chunk-LHMN2FUI-DvMeDi1w.js";import"./chunk-FWNWRKHM-DESdnxaO.js";import{g as n,h as r}from"./src-CoWzf9ks.js";import{B as i,C as a,U as o,_ as s,a as c,b as l,c as u,d,v as f,z as p}from"./chunk-ABZYJK2D-B-uQQBad.js";import{t as m}from"./ordinal-NoUKjW5R.js";import{n as h}from"./path-CoY9QgOk.js";import{p as g}from"./math-XICenNyA.js";import{t as _}from"./arc-1IuUEc3l.js";import{t as v}from"./array-BgcdGrkc.js";import{t as y}from"./chunk-EXTU4WIE-hA6kjEor.js";import"./dist-Bz_xenUc.js";import{t as b}from"./chunk-4BX2VUAB-CnDqYS75.js";import{t as x}from"./mermaid-parser.core-lVkskdol.js";function S(e,t){return t<e?-1:t>e?1:t>=e?0:NaN}function C(e){return e}function w(){var e=C,t=S,n=null,r=h(0),i=h(g),a=h(0);function o(o){var s,c=(o=v(o)).length,l,u,d=0,f=Array(c),p=Array(c),m=+r.apply(this,arguments),h=Math.min(g,Math.max(-g,i.apply(this,arguments)-m)),_,y=Math.min(Math.abs(h)/c,a.apply(this,arguments)),b=y*(h<0?-1:1),x;for(s=0;s<c;++s)(x=p[f[s]=s]=+e(o[s],s,o))>0&&(d+=x);for(t==null?n!=null&&f.sort(function(e,t){return n(o[e],o[t])}):f.sort(function(e,n){return t(p[e],p[n])}),s=0,u=d?(h-c*b)/d:0;s<c;++s,m=_)l=f[s],x=p[l],_=m+(x>0?x*u:0)+b,p[l]={data:o[l],index:s,value:x,startAngle:m,endAngle:_,padAngle:y};return p}return o.value=function(t){return arguments.length?(e=typeof t==`function`?t:h(+t),o):e},o.sortValues=function(e){return arguments.length?(t=e,n=null,o):t},o.sort=function(e){return arguments.length?(n=e,t=null,o):n},o.startAngle=function(e){return arguments.length?(r=typeof e==`function`?e:h(+e),o):r},o.endAngle=function(e){return arguments.length?(i=typeof e==`function`?e:h(+e),o):i},o.padAngle=function(e){return arguments.length?(a=typeof e==`function`?e:h(+e),o):a},o}var T=d.pie,E={sections:new Map,showData:!1,config:T},D=E.sections,O=E.showData,k=structuredClone(T),A={getConfig:r(()=>structuredClone(k),`getConfig`),clear:r(()=>{D=new Map,O=E.showData,c()},`clear`),setDiagramTitle:o,getDiagramTitle:a,setAccTitle:i,getAccTitle:f,setAccDescription:p,getAccDescription:s,addSection:r(({label:e,value:t})=>{if(t<0)throw Error(`"${e}" has invalid value: ${t}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);D.has(e)||(D.set(e,t),n.debug(`added new section: ${e}, with value: ${t}`))},`addSection`),getSections:r(()=>D,`getSections`),setShowData:r(e=>{O=e},`setShowData`),getShowData:r(()=>O,`getShowData`)},j=r((e,t)=>{b(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},`populateDb`),M={parse:r(async e=>{let t=await x(`pie`,e);n.debug(t),j(t,A)},`parse`)},N=r(e=>`
1
+ import"./chunk-FPAJGGOC-BjlYzVzU.js";import{i as e,p as t}from"./chunk-S3R3BYOJ-CQpHdWQs.js";import"./chunk-O7ZBX7Z2-CECReL7o.js";import"./chunk-S6J4BHB3-BHybUXml.js";import"./chunk-LBM3YZW2-CvtIRI2w.js";import"./chunk-76Q3JFCE-CAXIRKnn.js";import"./chunk-T53DSG4Q-7987HmnS.js";import"./chunk-LHMN2FUI-Ca-4316E.js";import"./chunk-FWNWRKHM-VOvXoVoT.js";import{g as n,h as r}from"./src-CoWzf9ks.js";import{B as i,C as a,U as o,_ as s,a as c,b as l,c as u,d,v as f,z as p}from"./chunk-ABZYJK2D-B-uQQBad.js";import{t as m}from"./ordinal-NoUKjW5R.js";import{n as h}from"./path-CoY9QgOk.js";import{p as g}from"./math-XICenNyA.js";import{t as _}from"./arc-1IuUEc3l.js";import{t as v}from"./array-BgcdGrkc.js";import{t as y}from"./chunk-EXTU4WIE-hA6kjEor.js";import"./dist-Bz_xenUc.js";import{t as b}from"./chunk-4BX2VUAB-CnDqYS75.js";import{t as x}from"./mermaid-parser.core-B4UmuquT.js";function S(e,t){return t<e?-1:t>e?1:t>=e?0:NaN}function C(e){return e}function w(){var e=C,t=S,n=null,r=h(0),i=h(g),a=h(0);function o(o){var s,c=(o=v(o)).length,l,u,d=0,f=Array(c),p=Array(c),m=+r.apply(this,arguments),h=Math.min(g,Math.max(-g,i.apply(this,arguments)-m)),_,y=Math.min(Math.abs(h)/c,a.apply(this,arguments)),b=y*(h<0?-1:1),x;for(s=0;s<c;++s)(x=p[f[s]=s]=+e(o[s],s,o))>0&&(d+=x);for(t==null?n!=null&&f.sort(function(e,t){return n(o[e],o[t])}):f.sort(function(e,n){return t(p[e],p[n])}),s=0,u=d?(h-c*b)/d:0;s<c;++s,m=_)l=f[s],x=p[l],_=m+(x>0?x*u:0)+b,p[l]={data:o[l],index:s,value:x,startAngle:m,endAngle:_,padAngle:y};return p}return o.value=function(t){return arguments.length?(e=typeof t==`function`?t:h(+t),o):e},o.sortValues=function(e){return arguments.length?(t=e,n=null,o):t},o.sort=function(e){return arguments.length?(n=e,t=null,o):n},o.startAngle=function(e){return arguments.length?(r=typeof e==`function`?e:h(+e),o):r},o.endAngle=function(e){return arguments.length?(i=typeof e==`function`?e:h(+e),o):i},o.padAngle=function(e){return arguments.length?(a=typeof e==`function`?e:h(+e),o):a},o}var T=d.pie,E={sections:new Map,showData:!1,config:T},D=E.sections,O=E.showData,k=structuredClone(T),A={getConfig:r(()=>structuredClone(k),`getConfig`),clear:r(()=>{D=new Map,O=E.showData,c()},`clear`),setDiagramTitle:o,getDiagramTitle:a,setAccTitle:i,getAccTitle:f,setAccDescription:p,getAccDescription:s,addSection:r(({label:e,value:t})=>{if(t<0)throw Error(`"${e}" has invalid value: ${t}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);D.has(e)||(D.set(e,t),n.debug(`added new section: ${e}, with value: ${t}`))},`addSection`),getSections:r(()=>D,`getSections`),setShowData:r(e=>{O=e},`setShowData`),getShowData:r(()=>O,`getShowData`)},j=r((e,t)=>{b(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},`populateDb`),M={parse:r(async e=>{let t=await x(`pie`,e);n.debug(t),j(t,A)},`parse`)},N=r(e=>`
2
2
  .pieCircle{
3
3
  stroke: ${e.pieStrokeColor};
4
4
  stroke-width : ${e.pieStrokeWidth};
@@ -0,0 +1 @@
1
+ import"./chunk-FPAJGGOC-BjlYzVzU.js";import{n as e,t}from"./chunk-LHMN2FUI-Ca-4316E.js";export{e as createRadarServices};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-BbOf1w_A.js";import{$ as t,C as n,F as r,G as i,H as a,M as o,N as s,O as c,Q as l,W as u,_ as d,a as f,at as p,c as m,d as h,et as g,f as ee,g as _,h as v,i as y,it as te,j as b,k as x,n as S,o as C,q as w,r as T,rt as E,t as ne,tt as D,u as O,v as re,w as k,y as A}from"./PromptParamsDialog-CtCaLYaq.js";import"./katex-C3zESuch.js";import"./marked.esm-DUB0uiru.js";const ie=l(`panel-left-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m16 15-3-3 3-3`,key:`14y99z`}]]),ae=l(`panel-left-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m14 9 3 3-3 3`,key:`8010ee`}]]),oe=l(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),se=l(`wifi-off`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}],[`path`,{d:`M5 12.859a10 10 0 0 1 5.17-2.69`,key:`1dl1wf`}],[`path`,{d:`M19 12.859a10 10 0 0 0-2.007-1.523`,key:`4k23kn`}],[`path`,{d:`M2 8.82a15 15 0 0 1 4.177-2.643`,key:`1grhjp`}],[`path`,{d:`M22 8.82a15 15 0 0 0-11.288-3.764`,key:`z3jwby`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),ce=l(`wifi`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`,key:`dnpr2z`}],[`path`,{d:`M5 12.859a10 10 0 0 1 14 0`,key:`1x1e6c`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}]]);var j=e(C()),M=e(p(),1),N=t(),le=M.createContext(void 0);function P(e){let t=M.useContext(le);return e||t||`ltr`}function F(e,[t,n]){return Math.min(n,Math.max(t,e))}function ue(e,t){return M.useReducer((e,n)=>t[e][n]??e,e)}var I=`ScrollArea`,[L,de]=o(I),[fe,R]=L(I),pe=M.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:i=`hover`,dir:a,scrollHideDelay:o=600,...s}=e,[c,l]=M.useState(null),[u,d]=M.useState(null),[f,p]=M.useState(null),[m,h]=M.useState(null),[g,ee]=M.useState(null),[_,v]=M.useState(0),[y,te]=M.useState(0),[b,S]=M.useState(!1),[C,w]=M.useState(!1),T=r(t,e=>l(e)),E=P(a);return(0,N.jsx)(fe,{scope:n,type:i,dir:E,scrollHideDelay:o,scrollArea:c,viewport:u,onViewportChange:d,content:f,onContentChange:p,scrollbarX:m,onScrollbarXChange:h,scrollbarXEnabled:b,onScrollbarXEnabledChange:S,scrollbarY:g,onScrollbarYChange:ee,scrollbarYEnabled:C,onScrollbarYEnabledChange:w,onCornerWidthChange:v,onCornerHeightChange:te,children:(0,N.jsx)(x.div,{dir:E,...s,ref:T,style:{position:`relative`,"--radix-scroll-area-corner-width":_+`px`,"--radix-scroll-area-corner-height":y+`px`,...e.style}})})});pe.displayName=I;var z=`ScrollAreaViewport`,B=M.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:i,nonce:a,...o}=e,s=R(z,n),c=r(t,M.useRef(null),s.onViewportChange);return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:a}),(0,N.jsx)(x.div,{"data-radix-scroll-area-viewport":``,...o,ref:c,style:{overflowX:s.scrollbarXEnabled?`scroll`:`hidden`,overflowY:s.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,N.jsx)(`div`,{ref:s.onContentChange,style:{minWidth:`100%`,display:`table`},children:i})})]})});B.displayName=z;var V=`ScrollAreaScrollbar`,H=M.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=R(V,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return M.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,N.jsx)(U,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,N.jsx)(W,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,N.jsx)(G,{...r,ref:t,forceMount:n}):i.type===`always`?(0,N.jsx)(K,{...r,ref:t}):null});H.displayName=V;var U=M.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=R(V,e.__scopeScrollArea),[a,o]=M.useState(!1);return M.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=()=>{window.clearTimeout(t),o(!0)},r=()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)};return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,N.jsx)(c,{present:n||a,children:(0,N.jsx)(G,{"data-state":a?`visible`:`hidden`,...r,ref:t})})}),W=M.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=R(V,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=Q(()=>u(`SCROLL_END`),100),[l,u]=ue(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return M.useEffect(()=>{if(l===`idle`){let e=window.setTimeout(()=>u(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[l,i.scrollHideDelay,u]),M.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=()=>{let r=e[t];n!==r&&(u(`SCROLL`),o()),n=r};return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,u,o]),(0,N.jsx)(c,{present:n||l!==`hidden`,children:(0,N.jsx)(K,{"data-state":l===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:s(e.onPointerEnter,()=>u(`POINTER_ENTER`)),onPointerLeave:s(e.onPointerLeave,()=>u(`POINTER_LEAVE`))})})}),G=M.forwardRef((e,t)=>{let n=R(V,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=M.useState(!1),s=e.orientation===`horizontal`,l=Q(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return $(n.viewport,l),$(n.content,l),(0,N.jsx)(c,{present:r||a,children:(0,N.jsx)(K,{"data-state":a?`visible`:`hidden`,...i,ref:t})})}),K=M.forwardRef((e,t)=>{let{orientation:n=`vertical`,...r}=e,i=R(V,e.__scopeScrollArea),a=M.useRef(null),o=M.useRef(0),[s,c]=M.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=Se(s.viewport,s.content),u={...r,sizes:s,onSizesChange:c,hasThumb:l>0&&l<1,onThumbChange:e=>a.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function d(e,t){return Ce(e,o.current,s,t)}return n===`horizontal`?(0,N.jsx)(q,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=we(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=d(e,i.dir))}}):n===`vertical`?(0,N.jsx)(me,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=we(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=d(e))}}):null}),q=M.forwardRef((e,t)=>{let{sizes:n,onSizesChange:i,...a}=e,o=R(V,e.__scopeScrollArea),[s,c]=M.useState(),l=M.useRef(null),u=r(t,l,o.onScrollbarXChange);return M.useEffect(()=>{l.current&&c(getComputedStyle(l.current))},[l]),(0,N.jsx)(J,{"data-orientation":`horizontal`,...a,ref:u,sizes:n,style:{bottom:0,left:o.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:o.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":Z(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(o.viewport){let r=o.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),Ee(r,n)&&t.preventDefault()}},onResize:()=>{l.current&&o.viewport&&s&&i({content:o.viewport.scrollWidth,viewport:o.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:X(s.paddingLeft),paddingEnd:X(s.paddingRight)}})}})}),me=M.forwardRef((e,t)=>{let{sizes:n,onSizesChange:i,...a}=e,o=R(V,e.__scopeScrollArea),[s,c]=M.useState(),l=M.useRef(null),u=r(t,l,o.onScrollbarYChange);return M.useEffect(()=>{l.current&&c(getComputedStyle(l.current))},[l]),(0,N.jsx)(J,{"data-orientation":`vertical`,...a,ref:u,sizes:n,style:{top:0,right:o.dir===`ltr`?0:void 0,left:o.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":Z(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(o.viewport){let r=o.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),Ee(r,n)&&t.preventDefault()}},onResize:()=>{l.current&&o.viewport&&s&&i({content:o.viewport.scrollHeight,viewport:o.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:X(s.paddingTop),paddingEnd:X(s.paddingBottom)}})}})}),[he,ge]=L(V),J=M.forwardRef((e,t)=>{let{__scopeScrollArea:n,sizes:i,hasThumb:a,onThumbChange:o,onThumbPointerUp:c,onThumbPointerDown:l,onThumbPositionChange:u,onDragScroll:d,onWheelScroll:f,onResize:p,...m}=e,h=R(V,n),[g,ee]=M.useState(null),_=r(t,e=>ee(e)),v=M.useRef(null),y=M.useRef(``),te=h.viewport,b=i.content-i.viewport,S=A(f),C=A(u),w=Q(p,10);function T(e){v.current&&d({x:e.clientX-v.current.left,y:e.clientY-v.current.top})}return M.useEffect(()=>{let e=e=>{let t=e.target;g?.contains(t)&&S(e,b)};return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[te,g,b,S]),M.useEffect(C,[i,C]),$(g,w),$(h.content,w),(0,N.jsx)(he,{scope:n,scrollbar:g,hasThumb:a,onThumbChange:A(o),onThumbPointerUp:A(c),onThumbPositionChange:C,onThumbPointerDown:A(l),children:(0,N.jsx)(x.div,{...m,ref:_,style:{position:`absolute`,...m.style},onPointerDown:s(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),v.current=g.getBoundingClientRect(),y.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,h.viewport&&(h.viewport.style.scrollBehavior=`auto`),T(e))}),onPointerMove:s(e.onPointerMove,T),onPointerUp:s(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=y.current,h.viewport&&(h.viewport.style.scrollBehavior=``),v.current=null})})})}),Y=`ScrollAreaThumb`,_e=M.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=ge(Y,e.__scopeScrollArea);return(0,N.jsx)(c,{present:n||i.hasThumb,children:(0,N.jsx)(ve,{ref:t,...r})})}),ve=M.forwardRef((e,t)=>{let{__scopeScrollArea:n,style:i,...a}=e,o=R(Y,n),c=ge(Y,n),{onThumbPositionChange:l}=c,u=r(t,e=>c.onThumbChange(e)),d=M.useRef(void 0),f=Q(()=>{d.current&&=(d.current(),void 0)},100);return M.useEffect(()=>{let e=o.viewport;if(e){let t=()=>{f(),d.current||(d.current=De(e,l),l())};return l(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[o.viewport,f,l]),(0,N.jsx)(x.div,{"data-state":c.hasThumb?`visible`:`hidden`,...a,ref:u,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...i},onPointerDownCapture:s(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;c.onThumbPointerDown({x:n,y:r})}),onPointerUp:s(e.onPointerUp,c.onThumbPointerUp)})});_e.displayName=Y;var ye=`ScrollAreaCorner`,be=M.forwardRef((e,t)=>{let n=R(ye,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,N.jsx)(xe,{...e,ref:t}):null});be.displayName=ye;var xe=M.forwardRef((e,t)=>{let{__scopeScrollArea:n,...r}=e,i=R(ye,n),[a,o]=M.useState(0),[s,c]=M.useState(0),l=!!(a&&s);return $(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),$(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),l?(0,N.jsx)(x.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null});function X(e){return e?parseInt(e,10):0}function Se(e,t){let n=e/t;return isNaN(n)?0:n}function Z(e){let t=Se(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Ce(e,t,n,r=`ltr`){let i=Z(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return Te([c,l],d)(e)}function we(e,t,n=`ltr`){let r=Z(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=F(e,n===`ltr`?[0,o]:[o*-1,0]);return Te([0,o],[0,s])(c)}function Te(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function Ee(e,t){return e>0&&e<t}var De=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)};function Q(e,t){let n=A(e),r=M.useRef(0);return M.useEffect(()=>()=>window.clearTimeout(r.current),[]),M.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function $(e,t){let n=A(t);b(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}var Oe=pe,ke=B,Ae=be;function je({className:e,children:t,...n}){return(0,N.jsxs)(Oe,{"data-slot":`scroll-area`,className:a(`relative`,e),...n,children:[(0,N.jsx)(ke,{"data-slot":`scroll-area-viewport`,className:`focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1`,children:t}),(0,N.jsx)(Me,{}),(0,N.jsx)(Ae,{})]})}function Me({className:e,orientation:t=`vertical`,...n}){return(0,N.jsx)(H,{"data-slot":`scroll-area-scrollbar`,orientation:t,className:a(`flex touch-none p-px transition-colors select-none`,t===`vertical`&&`h-full w-2.5 border-l border-l-transparent`,t===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent`,e),...n,children:(0,N.jsx)(_e,{"data-slot":`scroll-area-thumb`,className:`bg-border relative flex-1 rounded-full`})})}const Ne=({onSubmitAgent:e,onCancel:t,isAgentWorking:n,messages:r,status:o,inspectionCount:s=0,inspectionItems:c=[],onRemoveInspection:l=()=>{},toolsReady:p=!0,mcpClient:m=null,onAgentChange:b,connectionStatus:x=`disconnected`})=>{let[C,O]=(0,M.useState)(``),[k,A]=(0,M.useState)(!0),{agent:j,setAgent:le,isReady:P}=T(te),[F,ue]=(0,M.useState)(E),[I,L]=(0,M.useState)(!1),{prompts:de}=S(m||null);(0,M.useEffect)(()=>{g().then(e=>{ue(e)})},[]),(0,M.useEffect)(()=>{P&&j&&b?.(j)},[j,P,b]);let{chatStatus:fe}=y(r,o,!1),R=fe===`submitted`||fe===`streaming`,[pe,z]=(0,M.useState)(null),B=(0,M.useRef)(null),V=(0,M.useRef)(!1),H=e=>{let t=`${D()}/api/acp/cleanup-session`,n=JSON.stringify({sessionId:e});try{if(navigator.sendBeacon){let e=new Blob([n],{type:`application/json`});navigator.sendBeacon(t,e);return}}catch{}fetch(t,{method:`POST`,headers:{"Content-Type":`application/json`},body:n,keepalive:!0}).catch(()=>{})};(0,M.useEffect)(()=>{if(!P||!p)return;let e=!0,t=F.find(e=>e.name===j)||F[0]||E[0];return(async()=>{if(B.current){try{await fetch(`${D()}/api/acp/cleanup-session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({sessionId:B.current})})}catch(e){console.warn(`[SidebarApp] Failed to cleanup previous session:`,e)}B.current=null,e&&z(null)}console.log(`[SidebarApp] Initializing session for ${t.name}...`);try{let n=await fetch(`${D()}/api/acp/init-session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({agent:t,envVars:{}})});if(!n.ok)throw Error(`Failed to init session`);let r=await n.json();e&&r.sessionId&&(console.log(`[SidebarApp] Session initialized: ${r.sessionId}`),z(r.sessionId),B.current=r.sessionId,V.current=!1)}catch(e){console.error(`[SidebarApp] Failed to initialize session:`,e)}})(),()=>{e=!1}},[j,P,p,F]),(0,M.useEffect)(()=>{let e=()=>{let e=B.current;!e||V.current||(V.current=!0,H(e))};return window.addEventListener(`pagehide`,e),()=>window.removeEventListener(`pagehide`,e)},[]),(0,M.useEffect)(()=>()=>{let e=B.current;!e||V.current||(V.current=!0,H(e))},[]);let U=F.find(e=>e.name===j)||F[0]||E[0],W=(0,M.useRef)(null),G=(0,M.useRef)(null);(0,M.useEffect)(()=>{G.current?.scrollIntoView({behavior:`smooth`})},[r]);let[K,q]=(0,M.useState)(null),me=async(e,t={})=>{if(m)try{let n=(await m.request({method:`prompts/get`,params:{name:e.name,arguments:t}},h)).messages?.[0];if(n?.content?.type===`text`&&n.content.text){O(n.content.text),W.current?.focus();return}}catch(e){console.error(`Failed to execute prompt:`,e)}O(e.template||e.description||e.name),W.current?.focus()},he=async e=>{if(e.arguments&&e.arguments.length>0){q(e);return}await me(e)},ge=e=>{K&&(me(K,e),q(null))},J=t=>{t.preventDefault(),C.trim()&&(e(C,F.find(e=>e.name===j)||F[0]||E[0],pe||void 0),O(``))};return(0,N.jsxs)(d,{children:[(0,N.jsx)(ne,{prompt:K,isOpen:!!K,onOpenChange:e=>!e&&q(null),onSubmit:ge}),(0,N.jsxs)(`div`,{className:`flex flex-col h-screen bg-background text-foreground`,children:[(0,N.jsxs)(`header`,{className:`flex items-center justify-between px-4 py-3 border-b border-border/40 bg-background/80 backdrop-blur-sm sticky top-0 z-10`,children:[(0,N.jsx)(`div`,{className:`flex items-center gap-3`,children:(0,N.jsxs)(`div`,{className:`relative`,children:[(0,N.jsxs)(`button`,{type:`button`,onClick:()=>L(!I),className:`flex items-center gap-2 px-3 py-1.5 rounded-lg bg-secondary/50 hover:bg-secondary transition-colors border border-transparent hover:border-border/50`,children:[U?.meta?.icon&&(0,N.jsx)(`img`,{src:U.meta.icon,alt:``,className:`w-4 h-4`}),(0,N.jsx)(`span`,{className:`text-sm font-medium`,children:j})]}),I&&(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>L(!1)}),(0,N.jsx)(`div`,{className:`absolute top-full left-0 mt-2 w-64 bg-popover border border-border rounded-lg shadow-lg overflow-hidden z-50 animate-in fade-in zoom-in-95`,children:F.map(e=>(0,N.jsxs)(`button`,{onClick:()=>{le(e.name),L(!1)},className:a(`w-full flex items-center gap-2 px-3 py-2 text-sm hover:bg-accent transition-colors text-left`,j===e.name&&`bg-accent/50 font-medium`),children:[e.meta?.icon&&(0,N.jsx)(`img`,{src:e.meta.icon,alt:``,className:`w-4 h-4 flex-shrink-0`}),(0,N.jsx)(`span`,{className:`flex-1`,children:e.name})]},e.name))})]})]})}),(0,N.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.jsxs)(v,{children:[(0,N.jsx)(re,{asChild:!0,children:(0,N.jsxs)(`div`,{className:a(`flex items-center gap-1.5 px-2 py-1 rounded text-[10px] font-medium border border-border/50`,(()=>{switch(x){case`connected`:return`text-green-500`;case`connecting`:return`text-yellow-500 animate-pulse`;case`error`:return`text-red-500`;default:return`text-muted-foreground`}})()),children:[(()=>{switch(x){case`connected`:return(0,N.jsx)(ce,{className:`w-4 h-4`});case`connecting`:return(0,N.jsx)(i,{className:`w-4 h-4 animate-spin`});default:return(0,N.jsx)(se,{className:`w-4 h-4`})}})(),(0,N.jsx)(`span`,{className:`capitalize`,children:x})]})}),(0,N.jsx)(_,{children:(0,N.jsxs)(`p`,{children:[`MCP Connection: `,x]})})]}),(0,N.jsxs)(v,{children:[(0,N.jsx)(re,{asChild:!0,children:(0,N.jsx)(`button`,{onClick:()=>A(!k),className:a(`p-2 rounded-lg transition-colors border border-transparent`,k?`bg-secondary text-foreground`:`text-muted-foreground hover:text-foreground hover:bg-secondary/50 hover:border-border/50`),children:k?(0,N.jsx)(ie,{className:`w-4 h-4`}):(0,N.jsx)(ae,{className:`w-4 h-4`})})}),(0,N.jsx)(_,{children:(0,N.jsx)(`p`,{children:k?`Hide Context Panel`:`Show Context Panel`})})]})]})]}),(0,N.jsxs)(`div`,{className:`flex-1 flex overflow-hidden`,children:[k&&(0,N.jsxs)(`div`,{className:`w-64 border-r border-border/40 flex flex-col bg-muted/10`,children:[(0,N.jsx)(`div`,{className:`p-3 border-b border-border/40 min-h-[45px] flex items-center`,children:(0,N.jsxs)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider flex items-center gap-2`,children:[(0,N.jsx)(w,{className:`w-3.5 h-3.5`}),`Context`,s>0&&(0,N.jsx)(`span`,{className:`px-1.5 py-0.5 text-[10px] bg-primary text-primary-foreground rounded-full ml-auto`,children:s})]})}),(0,N.jsx)(je,{className:`flex-1`,children:(0,N.jsx)(`div`,{className:`p-3 space-y-2`,children:c.length>0?(0,N.jsx)(ee,{items:c,onRemove:l}):(0,N.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-12 px-4 text-center text-muted-foreground/40`,children:[(0,N.jsx)(w,{className:`w-10 h-10 mb-3 opacity-20`}),(0,N.jsx)(`p`,{className:`text-sm font-medium mb-1`,children:`No Context`}),(0,N.jsx)(`span`,{className:`text-[10px] max-w-[120px] leading-tight`,children:`Use the Inspector in your app to add elements.`})]})})}),de.length>0&&(0,N.jsx)(`div`,{className:`border-t border-border/40 bg-muted/5`,children:(0,N.jsxs)(`div`,{className:`p-3`,children:[(0,N.jsxs)(`h4`,{className:`text-[10px] font-semibold text-muted-foreground uppercase tracking-wider mb-2 px-2 flex items-center gap-1.5`,children:[(0,N.jsx)(`span`,{className:`w-1 h-1 rounded-full bg-primary/40 inline-block`}),`Quick Prompts`]}),(0,N.jsx)(`div`,{className:`space-y-0.5`,children:de.slice(0,5).map(e=>(0,N.jsx)(`button`,{onClick:()=>he(e),className:`w-full text-left px-3 py-2 text-xs rounded-md hover:bg-background hover:text-foreground hover:shadow-sm hover:border-border/50 text-muted-foreground transition-all truncate border border-transparent`,title:e.description||e.name,children:e.name},e.name))})]})})]}),(0,N.jsxs)(`div`,{className:`flex-1 flex flex-col min-w-0`,children:[(0,N.jsx)(je,{className:`flex-1`,children:(0,N.jsxs)(`div`,{className:`p-4 space-y-4`,children:[r.length===0?(0,N.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full py-12 text-center text-muted-foreground`,children:[(0,N.jsx)(`div`,{className:`w-16 h-16 rounded-full bg-accent flex items-center justify-center mb-4`,children:U?.meta?.icon?(0,N.jsx)(`img`,{src:U.meta.icon,alt:``,className:`w-8 h-8`}):(0,N.jsx)(u,{className:`w-8 h-8`})}),(0,N.jsxs)(`h2`,{className:`text-lg font-medium text-foreground mb-2`,children:[`Start a conversation with `,j]}),(0,N.jsx)(`p`,{className:`text-sm max-w-md`,children:`Ask questions, get help with code, or use the Inspector in your app to capture context.`})]}):(0,N.jsx)(f,{messages:r,status:o,selectedAgent:j}),(0,N.jsx)(`div`,{ref:G})]})}),(0,N.jsx)(`div`,{className:`border-t border-border/40 p-4 bg-background/50 backdrop-blur-sm`,children:(0,N.jsxs)(`form`,{onSubmit:J,className:`relative flex items-end rounded-xl border border-input shadow-sm bg-background focus-within:ring-2 focus-within:ring-primary/20 focus-within:border-primary/50 transition-all`,children:[(0,N.jsx)(`textarea`,{ref:W,value:C,onChange:e=>O(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),J(e))},placeholder:`Message ${j}...`,rows:1,className:`w-full min-h-[44px] max-h-[200px] px-4 py-3 pr-12 bg-transparent text-sm placeholder:text-muted-foreground resize-none outline-none disabled:opacity-50 no-scrollbar block`,disabled:R,style:{height:`44px`}}),(0,N.jsx)(`div`,{className:`absolute right-1.5 bottom-1.5`,children:R?(0,N.jsx)(`button`,{type:`button`,onClick:t,className:`p-2 rounded-lg bg-destructive text-destructive-foreground hover:bg-destructive/90 transition-colors`,"aria-label":`Stop generating`,children:(0,N.jsx)(`span`,{className:`w-4 h-4 block bg-current rounded-sm`})}):(0,N.jsx)(`button`,{type:`submit`,disabled:!C.trim(),className:a(`p-2 rounded-lg transition-all`,C.trim()?`bg-primary text-primary-foreground hover:bg-primary/90`:`bg-muted text-muted-foreground cursor-not-allowed`),"aria-label":`Send message`,children:(0,N.jsx)(oe,{className:`w-4 h-4`})})})]})})]})]})]})]})};function Pe(){let[e,t]=(0,M.useState)([]),{client:r,isClientReady:i}=O(),a=i?`connected`:`connecting`,{messages:o,sendMessage:s,status:c,stop:l}=n({transport:new k({api:`${D()}/api/acp/chat`})}),u=(0,M.useCallback)((e,t,n)=>{e.trim()&&s({text:e},{body:{agent:t,envVars:{},sessionId:n}})},[s]),d=(0,M.useCallback)(()=>{l()},[l]),f=(0,M.useCallback)(e=>{t(t=>t.filter(t=>t.id!==e))},[]);return(0,M.useEffect)(()=>{let e=e=>{let{item:n}=e.detail;n&&t(e=>[...e,n])},n=e=>{if(e.data?.type===`dev-inspector:inspection-added`){let{item:n}=e.data;n&&t(e=>[...e,n])}};return window.addEventListener(`dev-inspector:inspection-added`,e),window.addEventListener(`message`,n),()=>{window.removeEventListener(`dev-inspector:inspection-added`,e),window.removeEventListener(`message`,n)}},[]),(0,N.jsx)(Ne,{onSubmitAgent:u,onCancel:d,isAgentWorking:c===`streaming`||c===`submitted`,messages:o,status:c,inspectionCount:e.length,inspectionItems:e,onRemoveInspection:f,toolsReady:i,mcpClient:r,connectionStatus:a})}function Fe(){let e=document.getElementById(`sidebar-root`);if(!e){console.error(`[Sidebar] Root element #sidebar-root not found`);return}(0,j.createRoot)(e).render((0,N.jsx)(m,{children:(0,N.jsx)(Pe,{})}))}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,Fe):Fe();
1
+ import{o as e}from"./chunk-BbOf1w_A.js";import{$ as t,A as n,G as r,I as i,J as a,K as o,M as s,N as c,P as l,T as u,U as d,_ as f,a as p,at as m,b as h,c as g,d as _,et as v,f as ee,g as y,i as b,it as x,k as S,n as C,nt as w,o as T,ot as E,r as D,t as te,tt as ne,u as O,v as re,w as ie,y as ae}from"./PromptParamsDialog-D0TaQM5I.js";import"./katex-C3zESuch.js";import"./marked.esm-DUB0uiru.js";const oe=t(`panel-left-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m16 15-3-3 3-3`,key:`14y99z`}]]),se=t(`panel-left-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m14 9 3 3-3 3`,key:`8010ee`}]]),ce=t(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),le=t(`wifi-off`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}],[`path`,{d:`M5 12.859a10 10 0 0 1 5.17-2.69`,key:`1dl1wf`}],[`path`,{d:`M19 12.859a10 10 0 0 0-2.007-1.523`,key:`4k23kn`}],[`path`,{d:`M2 8.82a15 15 0 0 1 4.177-2.643`,key:`1grhjp`}],[`path`,{d:`M22 8.82a15 15 0 0 0-11.288-3.764`,key:`z3jwby`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),ue=t(`wifi`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M2 8.82a15 15 0 0 1 20 0`,key:`dnpr2z`}],[`path`,{d:`M5 12.859a10 10 0 0 1 14 0`,key:`1x1e6c`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}]]);var k=e(T()),A=e(E(),1),j=v(),de=A.createContext(void 0);function M(e){let t=A.useContext(de);return e||t||`ltr`}function N(e,[t,n]){return Math.min(n,Math.max(t,e))}function fe(e,t){return A.useReducer((e,n)=>t[e][n]??e,e)}var P=`ScrollArea`,[F,pe]=c(P),[I,L]=F(P),R=A.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:a=`hover`,dir:o,scrollHideDelay:s=600,...c}=e,[l,u]=A.useState(null),[d,f]=A.useState(null),[p,m]=A.useState(null),[h,g]=A.useState(null),[_,v]=A.useState(null),[ee,y]=A.useState(0),[b,x]=A.useState(0),[S,C]=A.useState(!1),[w,T]=A.useState(!1),E=i(t,e=>u(e)),D=M(o);return(0,j.jsx)(I,{scope:r,type:a,dir:D,scrollHideDelay:s,scrollArea:l,viewport:d,onViewportChange:f,content:p,onContentChange:m,scrollbarX:h,onScrollbarXChange:g,scrollbarXEnabled:S,onScrollbarXEnabledChange:C,scrollbarY:_,onScrollbarYChange:v,scrollbarYEnabled:w,onScrollbarYEnabledChange:T,onCornerWidthChange:y,onCornerHeightChange:x,children:(0,j.jsx)(n.div,{dir:D,...c,ref:E,style:{position:`relative`,"--radix-scroll-area-corner-width":ee+`px`,"--radix-scroll-area-corner-height":b+`px`,...e.style}})})});R.displayName=P;var z=`ScrollAreaViewport`,B=A.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:a,nonce:o,...s}=e,c=L(z,r),l=i(t,A.useRef(null),c.onViewportChange);return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:o}),(0,j.jsx)(n.div,{"data-radix-scroll-area-viewport":``,...s,ref:l,style:{overflowX:c.scrollbarXEnabled?`scroll`:`hidden`,overflowY:c.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,j.jsx)(`div`,{ref:c.onContentChange,style:{minWidth:`100%`,display:`table`},children:a})})]})});B.displayName=z;var V=`ScrollAreaScrollbar`,H=A.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=L(V,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return A.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,j.jsx)(U,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,j.jsx)(W,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,j.jsx)(G,{...r,ref:t,forceMount:n}):i.type===`always`?(0,j.jsx)(K,{...r,ref:t}):null});H.displayName=V;var U=A.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=L(V,e.__scopeScrollArea),[a,o]=A.useState(!1);return A.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=()=>{window.clearTimeout(t),o(!0)},r=()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)};return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,j.jsx)(S,{present:n||a,children:(0,j.jsx)(G,{"data-state":a?`visible`:`hidden`,...r,ref:t})})}),W=A.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=L(V,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=Q(()=>c(`SCROLL_END`),100),[s,c]=fe(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return A.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),A.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=()=>{let r=e[t];n!==r&&(c(`SCROLL`),o()),n=r};return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,c,o]),(0,j.jsx)(S,{present:n||s!==`hidden`,children:(0,j.jsx)(K,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:l(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:l(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})}),G=A.forwardRef((e,t)=>{let n=L(V,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=A.useState(!1),s=e.orientation===`horizontal`,c=Q(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return $(n.viewport,c),$(n.content,c),(0,j.jsx)(S,{present:r||a,children:(0,j.jsx)(K,{"data-state":a?`visible`:`hidden`,...i,ref:t})})}),K=A.forwardRef((e,t)=>{let{orientation:n=`vertical`,...r}=e,i=L(V,e.__scopeScrollArea),a=A.useRef(null),o=A.useRef(0),[s,c]=A.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=Se(s.viewport,s.content),u={...r,sizes:s,onSizesChange:c,hasThumb:l>0&&l<1,onThumbChange:e=>a.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function d(e,t){return Ce(e,o.current,s,t)}return n===`horizontal`?(0,j.jsx)(q,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=we(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=d(e,i.dir))}}):n===`vertical`?(0,j.jsx)(me,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=we(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=d(e))}}):null}),q=A.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...a}=e,o=L(V,e.__scopeScrollArea),[s,c]=A.useState(),l=A.useRef(null),u=i(t,l,o.onScrollbarXChange);return A.useEffect(()=>{l.current&&c(getComputedStyle(l.current))},[l]),(0,j.jsx)(J,{"data-orientation":`horizontal`,...a,ref:u,sizes:n,style:{bottom:0,left:o.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:o.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":Z(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(o.viewport){let r=o.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),Ee(r,n)&&t.preventDefault()}},onResize:()=>{l.current&&o.viewport&&s&&r({content:o.viewport.scrollWidth,viewport:o.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:X(s.paddingLeft),paddingEnd:X(s.paddingRight)}})}})}),me=A.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...a}=e,o=L(V,e.__scopeScrollArea),[s,c]=A.useState(),l=A.useRef(null),u=i(t,l,o.onScrollbarYChange);return A.useEffect(()=>{l.current&&c(getComputedStyle(l.current))},[l]),(0,j.jsx)(J,{"data-orientation":`vertical`,...a,ref:u,sizes:n,style:{top:0,right:o.dir===`ltr`?0:void 0,left:o.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":Z(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(o.viewport){let r=o.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),Ee(r,n)&&t.preventDefault()}},onResize:()=>{l.current&&o.viewport&&s&&r({content:o.viewport.scrollHeight,viewport:o.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:X(s.paddingTop),paddingEnd:X(s.paddingBottom)}})}})}),[he,ge]=F(V),J=A.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:a,hasThumb:o,onThumbChange:s,onThumbPointerUp:c,onThumbPointerDown:u,onThumbPositionChange:d,onDragScroll:f,onWheelScroll:p,onResize:m,...g}=e,_=L(V,r),[v,ee]=A.useState(null),y=i(t,e=>ee(e)),b=A.useRef(null),x=A.useRef(``),S=_.viewport,C=a.content-a.viewport,w=h(p),T=h(d),E=Q(m,10);function D(e){b.current&&f({x:e.clientX-b.current.left,y:e.clientY-b.current.top})}return A.useEffect(()=>{let e=e=>{let t=e.target;v?.contains(t)&&w(e,C)};return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[S,v,C,w]),A.useEffect(T,[a,T]),$(v,E),$(_.content,E),(0,j.jsx)(he,{scope:r,scrollbar:v,hasThumb:o,onThumbChange:h(s),onThumbPointerUp:h(c),onThumbPositionChange:T,onThumbPointerDown:h(u),children:(0,j.jsx)(n.div,{...g,ref:y,style:{position:`absolute`,...g.style},onPointerDown:l(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),b.current=v.getBoundingClientRect(),x.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,_.viewport&&(_.viewport.style.scrollBehavior=`auto`),D(e))}),onPointerMove:l(e.onPointerMove,D),onPointerUp:l(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=x.current,_.viewport&&(_.viewport.style.scrollBehavior=``),b.current=null})})})}),Y=`ScrollAreaThumb`,_e=A.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=ge(Y,e.__scopeScrollArea);return(0,j.jsx)(S,{present:n||i.hasThumb,children:(0,j.jsx)(ve,{ref:t,...r})})}),ve=A.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:a,...o}=e,s=L(Y,r),c=ge(Y,r),{onThumbPositionChange:u}=c,d=i(t,e=>c.onThumbChange(e)),f=A.useRef(void 0),p=Q(()=>{f.current&&=(f.current(),void 0)},100);return A.useEffect(()=>{let e=s.viewport;if(e){let t=()=>{p(),f.current||(f.current=De(e,u),u())};return u(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[s.viewport,p,u]),(0,j.jsx)(n.div,{"data-state":c.hasThumb?`visible`:`hidden`,...o,ref:d,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...a},onPointerDownCapture:l(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;c.onThumbPointerDown({x:n,y:r})}),onPointerUp:l(e.onPointerUp,c.onThumbPointerUp)})});_e.displayName=Y;var ye=`ScrollAreaCorner`,be=A.forwardRef((e,t)=>{let n=L(ye,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,j.jsx)(xe,{...e,ref:t}):null});be.displayName=ye;var xe=A.forwardRef((e,t)=>{let{__scopeScrollArea:r,...i}=e,a=L(ye,r),[o,s]=A.useState(0),[c,l]=A.useState(0),u=!!(o&&c);return $(a.scrollbarX,()=>{let e=a.scrollbarX?.offsetHeight||0;a.onCornerHeightChange(e),l(e)}),$(a.scrollbarY,()=>{let e=a.scrollbarY?.offsetWidth||0;a.onCornerWidthChange(e),s(e)}),u?(0,j.jsx)(n.div,{...i,ref:t,style:{width:o,height:c,position:`absolute`,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null});function X(e){return e?parseInt(e,10):0}function Se(e,t){let n=e/t;return isNaN(n)?0:n}function Z(e){let t=Se(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Ce(e,t,n,r=`ltr`){let i=Z(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return Te([c,l],d)(e)}function we(e,t,n=`ltr`){let r=Z(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=N(e,n===`ltr`?[0,o]:[o*-1,0]);return Te([0,o],[0,s])(c)}function Te(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function Ee(e,t){return e>0&&e<t}var De=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)};function Q(e,t){let n=h(e),r=A.useRef(0);return A.useEffect(()=>()=>window.clearTimeout(r.current),[]),A.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function $(e,t){let n=h(t);s(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}var Oe=R,ke=B,Ae=be;function je({className:e,children:t,...n}){return(0,j.jsxs)(Oe,{"data-slot":`scroll-area`,className:d(`relative`,e),...n,children:[(0,j.jsx)(ke,{"data-slot":`scroll-area-viewport`,className:`focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1`,children:t}),(0,j.jsx)(Me,{}),(0,j.jsx)(Ae,{})]})}function Me({className:e,orientation:t=`vertical`,...n}){return(0,j.jsx)(H,{"data-slot":`scroll-area-scrollbar`,orientation:t,className:d(`flex touch-none p-px transition-colors select-none`,t===`vertical`&&`h-full w-2.5 border-l border-l-transparent`,t===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent`,e),...n,children:(0,j.jsx)(_e,{"data-slot":`scroll-area-thumb`,className:`bg-border relative flex-1 rounded-full`})})}const Ne=({onSubmitAgent:e,onCancel:t,isAgentWorking:n,messages:i,status:s,inspectionCount:c=0,inspectionItems:l=[],onRemoveInspection:u=()=>{},toolsReady:h=!0,mcpClient:g=null,onAgentChange:v,connectionStatus:S=`disconnected`})=>{let[T,E]=(0,A.useState)(``),[O,ie]=(0,A.useState)(!0),{agent:k,setAgent:de,isReady:M}=D(m),[N,fe]=(0,A.useState)(x),[P,F]=(0,A.useState)(!1),{prompts:pe}=C(g||null);(0,A.useEffect)(()=>{ne().then(e=>{fe(e)})},[]),(0,A.useEffect)(()=>{M&&k&&v?.(k)},[k,M,v]);let{chatStatus:I}=b(i,s,!1),L=I===`submitted`||I===`streaming`,[R,z]=(0,A.useState)(null),B=(0,A.useRef)(null),V=(0,A.useRef)(!1),H=e=>{let t=`${w()}/api/acp/cleanup-session`,n=JSON.stringify({sessionId:e});try{if(navigator.sendBeacon){let e=new Blob([n],{type:`application/json`});navigator.sendBeacon(t,e);return}}catch{}fetch(t,{method:`POST`,headers:{"Content-Type":`application/json`},body:n,keepalive:!0}).catch(()=>{})};(0,A.useEffect)(()=>{if(!M||!h)return;let e=!0,t=N.find(e=>e.name===k)||N[0]||x[0];return(async()=>{if(B.current){try{await fetch(`${w()}/api/acp/cleanup-session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({sessionId:B.current})})}catch(e){console.warn(`[SidebarApp] Failed to cleanup previous session:`,e)}B.current=null,e&&z(null)}console.log(`[SidebarApp] Initializing session for ${t.name}...`);try{let n=await fetch(`${w()}/api/acp/init-session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({agent:t,envVars:{}})});if(!n.ok)throw Error(`Failed to init session`);let r=await n.json();e&&r.sessionId&&(console.log(`[SidebarApp] Session initialized: ${r.sessionId}`),z(r.sessionId),B.current=r.sessionId,V.current=!1)}catch(e){console.error(`[SidebarApp] Failed to initialize session:`,e)}})(),()=>{e=!1}},[k,M,h,N]),(0,A.useEffect)(()=>{let e=()=>{let e=B.current;!e||V.current||(V.current=!0,H(e))};return window.addEventListener(`pagehide`,e),()=>window.removeEventListener(`pagehide`,e)},[]),(0,A.useEffect)(()=>()=>{let e=B.current;!e||V.current||(V.current=!0,H(e))},[]);let U=N.find(e=>e.name===k)||N[0]||x[0],W=(0,A.useRef)(null),G=(0,A.useRef)(null);(0,A.useEffect)(()=>{G.current?.scrollIntoView({behavior:`smooth`})},[i]);let[K,q]=(0,A.useState)(null),me=async(e,t={})=>{if(g)try{let n=(await g.request({method:`prompts/get`,params:{name:e.name,arguments:t}},_)).messages?.[0];if(n?.content?.type===`text`&&n.content.text){E(n.content.text),W.current?.focus();return}}catch(e){console.error(`Failed to execute prompt:`,e)}E(e.template||e.description||e.name),W.current?.focus()},he=async e=>{if(e.arguments&&e.arguments.length>0){q(e);return}await me(e)},ge=e=>{K&&(me(K,e),q(null))},J=t=>{t.preventDefault(),T.trim()&&(e(T,N.find(e=>e.name===k)||N[0]||x[0],R||void 0),E(``))};return(0,j.jsxs)(re,{children:[(0,j.jsx)(te,{prompt:K,isOpen:!!K,onOpenChange:e=>!e&&q(null),onSubmit:ge}),(0,j.jsxs)(`div`,{className:`flex flex-col h-screen bg-background text-foreground`,children:[(0,j.jsxs)(`header`,{className:`flex items-center justify-between px-4 py-3 border-b border-border/40 bg-background/80 backdrop-blur-sm sticky top-0 z-10`,children:[(0,j.jsx)(`div`,{className:`flex items-center gap-3`,children:(0,j.jsxs)(`div`,{className:`relative`,children:[(0,j.jsxs)(`button`,{type:`button`,onClick:()=>F(!P),className:`flex items-center gap-2 px-3 py-1.5 rounded-lg bg-secondary/50 hover:bg-secondary transition-colors border border-transparent hover:border-border/50`,children:[U?.meta?.icon&&(0,j.jsx)(`img`,{src:U.meta.icon,alt:``,className:`w-4 h-4`}),(0,j.jsx)(`span`,{className:`text-sm font-medium`,children:k})]}),P&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>F(!1)}),(0,j.jsx)(`div`,{className:`absolute top-full left-0 mt-2 w-64 bg-popover border border-border rounded-lg shadow-lg overflow-hidden z-50 animate-in fade-in zoom-in-95`,children:N.map(e=>(0,j.jsxs)(`button`,{onClick:()=>{de(e.name),F(!1)},className:d(`w-full flex items-center gap-2 px-3 py-2 text-sm hover:bg-accent transition-colors text-left`,k===e.name&&`bg-accent/50 font-medium`),children:[e.meta?.icon&&(0,j.jsx)(`img`,{src:e.meta.icon,alt:``,className:`w-4 h-4 flex-shrink-0`}),(0,j.jsx)(`span`,{className:`flex-1`,children:e.name})]},e.name))})]})]})}),(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,j.jsxs)(y,{children:[(0,j.jsx)(ae,{asChild:!0,children:(0,j.jsxs)(`div`,{className:d(`flex items-center gap-1.5 px-2 py-1 rounded text-[10px] font-medium border border-border/50`,(()=>{switch(S){case`connected`:return`text-green-500`;case`connecting`:return`text-yellow-500 animate-pulse`;case`error`:return`text-red-500`;default:return`text-muted-foreground`}})()),children:[(()=>{switch(S){case`connected`:return(0,j.jsx)(ue,{className:`w-4 h-4`});case`connecting`:return(0,j.jsx)(o,{className:`w-4 h-4 animate-spin`});default:return(0,j.jsx)(le,{className:`w-4 h-4`})}})(),(0,j.jsx)(`span`,{className:`capitalize`,children:S})]})}),(0,j.jsx)(f,{children:(0,j.jsxs)(`p`,{children:[`MCP Connection: `,S]})})]}),(0,j.jsxs)(y,{children:[(0,j.jsx)(ae,{asChild:!0,children:(0,j.jsx)(`button`,{onClick:()=>ie(!O),className:d(`p-2 rounded-lg transition-colors border border-transparent`,O?`bg-secondary text-foreground`:`text-muted-foreground hover:text-foreground hover:bg-secondary/50 hover:border-border/50`),children:O?(0,j.jsx)(oe,{className:`w-4 h-4`}):(0,j.jsx)(se,{className:`w-4 h-4`})})}),(0,j.jsx)(f,{children:(0,j.jsx)(`p`,{children:O?`Hide Context Panel`:`Show Context Panel`})})]})]})]}),(0,j.jsxs)(`div`,{className:`flex-1 flex overflow-hidden`,children:[O&&(0,j.jsxs)(`div`,{className:`w-64 border-r border-border/40 flex flex-col bg-muted/10`,children:[(0,j.jsx)(`div`,{className:`p-3 border-b border-border/40 min-h-[45px] flex items-center`,children:(0,j.jsxs)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider flex items-center gap-2`,children:[(0,j.jsx)(a,{className:`w-3.5 h-3.5`}),`Context`,c>0&&(0,j.jsx)(`span`,{className:`px-1.5 py-0.5 text-[10px] bg-primary text-primary-foreground rounded-full ml-auto`,children:c})]})}),(0,j.jsx)(je,{className:`flex-1`,children:(0,j.jsx)(`div`,{className:`p-3 space-y-2`,children:l.length>0?(0,j.jsx)(ee,{items:l,onRemove:u}):(0,j.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-12 px-4 text-center text-muted-foreground/40`,children:[(0,j.jsx)(a,{className:`w-10 h-10 mb-3 opacity-20`}),(0,j.jsx)(`p`,{className:`text-sm font-medium mb-1`,children:`No Context`}),(0,j.jsx)(`span`,{className:`text-[10px] max-w-[120px] leading-tight`,children:`Use the Inspector in your app to add elements.`})]})})}),pe.length>0&&(0,j.jsx)(`div`,{className:`border-t border-border/40 bg-muted/5`,children:(0,j.jsxs)(`div`,{className:`p-3`,children:[(0,j.jsxs)(`h4`,{className:`text-[10px] font-semibold text-muted-foreground uppercase tracking-wider mb-2 px-2 flex items-center gap-1.5`,children:[(0,j.jsx)(`span`,{className:`w-1 h-1 rounded-full bg-primary/40 inline-block`}),`Quick Prompts`]}),(0,j.jsx)(`div`,{className:`space-y-0.5`,children:pe.slice(0,5).map(e=>(0,j.jsx)(`button`,{onClick:()=>he(e),className:`w-full text-left px-3 py-2 text-xs rounded-md hover:bg-background hover:text-foreground hover:shadow-sm hover:border-border/50 text-muted-foreground transition-all truncate border border-transparent`,title:e.description||e.name,children:e.name},e.name))})]})})]}),(0,j.jsxs)(`div`,{className:`flex-1 flex flex-col min-w-0`,children:[(0,j.jsx)(je,{className:`flex-1`,children:(0,j.jsxs)(`div`,{className:`p-4 space-y-4`,children:[i.length===0?(0,j.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full py-12 text-center text-muted-foreground`,children:[(0,j.jsx)(`div`,{className:`w-16 h-16 rounded-full bg-accent flex items-center justify-center mb-4`,children:U?.meta?.icon?(0,j.jsx)(`img`,{src:U.meta.icon,alt:``,className:`w-8 h-8`}):(0,j.jsx)(r,{className:`w-8 h-8`})}),(0,j.jsxs)(`h2`,{className:`text-lg font-medium text-foreground mb-2`,children:[`Start a conversation with `,k]}),(0,j.jsx)(`p`,{className:`text-sm max-w-md`,children:`Ask questions, get help with code, or use the Inspector in your app to capture context.`})]}):(0,j.jsx)(p,{messages:i,status:s,selectedAgent:k}),(0,j.jsx)(`div`,{ref:G})]})}),(0,j.jsx)(`div`,{className:`border-t border-border/40 p-4 bg-background/50 backdrop-blur-sm`,children:(0,j.jsxs)(`form`,{onSubmit:J,className:`relative flex items-end rounded-xl border border-input shadow-sm bg-background focus-within:ring-2 focus-within:ring-primary/20 focus-within:border-primary/50 transition-all`,children:[(0,j.jsx)(`textarea`,{ref:W,value:T,onChange:e=>E(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),J(e))},placeholder:`Message ${k}...`,rows:1,className:`w-full min-h-[44px] max-h-[200px] px-4 py-3 pr-12 bg-transparent text-sm placeholder:text-muted-foreground resize-none outline-none disabled:opacity-50 no-scrollbar block`,disabled:L,style:{height:`44px`}}),(0,j.jsx)(`div`,{className:`absolute right-1.5 bottom-1.5`,children:L?(0,j.jsx)(`button`,{type:`button`,onClick:t,className:`p-2 rounded-lg bg-destructive text-destructive-foreground hover:bg-destructive/90 transition-colors`,"aria-label":`Stop generating`,children:(0,j.jsx)(`span`,{className:`w-4 h-4 block bg-current rounded-sm`})}):(0,j.jsx)(`button`,{type:`submit`,disabled:!T.trim(),className:d(`p-2 rounded-lg transition-all`,T.trim()?`bg-primary text-primary-foreground hover:bg-primary/90`:`bg-muted text-muted-foreground cursor-not-allowed`),"aria-label":`Send message`,children:(0,j.jsx)(ce,{className:`w-4 h-4`})})})]})})]})]})]})]})};function Pe(){let[e,t]=(0,A.useState)([]),{client:n,isClientReady:r}=O(),i=r?`connected`:`connecting`,{messages:a,sendMessage:o,status:s,stop:c}=ie({transport:new u({api:`${w()}/api/acp/chat`})}),l=(0,A.useCallback)((e,t,n)=>{e.trim()&&o({text:e},{body:{agent:t,envVars:{},sessionId:n}})},[o]),d=(0,A.useCallback)(()=>{c()},[c]),f=(0,A.useCallback)(e=>{t(t=>t.filter(t=>t.id!==e))},[]);return(0,A.useEffect)(()=>{let e=e=>{let{item:n}=e.detail;n&&t(e=>[...e,n])},n=e=>{if(e.data?.type===`dev-inspector:inspection-added`){let{item:n}=e.data;n&&t(e=>[...e,n])}};return window.addEventListener(`dev-inspector:inspection-added`,e),window.addEventListener(`message`,n),()=>{window.removeEventListener(`dev-inspector:inspection-added`,e),window.removeEventListener(`message`,n)}},[]),(0,j.jsx)(Ne,{onSubmitAgent:l,onCancel:d,isAgentWorking:s===`streaming`||s===`submitted`,messages:a,status:s,inspectionCount:e.length,inspectionItems:e,onRemoveInspection:f,toolsReady:r,mcpClient:n,connectionStatus:i})}function Fe(){let e=document.getElementById(`sidebar-root`);if(!e){console.error(`[Sidebar] Root element #sidebar-root not found`);return}(0,k.createRoot)(e).render((0,j.jsx)(g,{children:(0,j.jsx)(Pe,{})}))}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,Fe):Fe();
@@ -0,0 +1 @@
1
+ import"./chunk-FPAJGGOC-BjlYzVzU.js";import{n as e,t}from"./chunk-FWNWRKHM-VOvXoVoT.js";export{e as createTreemapServices};
package/dist/cli.cjs CHANGED
@@ -232,9 +232,8 @@ function transformViteConfig(code, options) {
232
232
  error: "Could not find plugins array in config",
233
233
  message: "Please add DevInspector manually to your plugins array"
234
234
  };
235
- if (options.host || options.allowedHosts?.length) traverse$2(ast, { ExportDefaultDeclaration(path$1) {
236
- if (path$1.node.declaration.type === "CallExpression" && path$1.node.declaration.arguments[0]?.type === "ObjectExpression") {
237
- const configObj = path$1.node.declaration.arguments[0];
235
+ if (options.host || options.allowedHosts?.length) {
236
+ const injectServerConfig = (configObj) => {
238
237
  const serverProp = configObj.properties.find((p) => p.type === "ObjectProperty" && p.key.type === "Identifier" && p.key.name === "server");
239
238
  const serverIndent = indent.repeat(2);
240
239
  if (serverProp?.value.start != null) {
@@ -251,8 +250,28 @@ function transformViteConfig(code, options) {
251
250
  injection += `${indent}},`;
252
251
  s.appendLeft(configObj.start + 1, injection);
253
252
  }
254
- }
255
- } });
253
+ };
254
+ const extractConfigFromFunction = (fn) => {
255
+ if (fn.type === "ArrowFunctionExpression" && fn.body.type === "ObjectExpression") return fn.body;
256
+ if (fn.body.type === "BlockStatement") {
257
+ for (const stmt of fn.body.body) if (stmt.type === "ReturnStatement" && stmt.argument?.type === "ObjectExpression") return stmt.argument;
258
+ }
259
+ return null;
260
+ };
261
+ traverse$2(ast, { ExportDefaultDeclaration(path$1) {
262
+ const decl = path$1.node.declaration;
263
+ if (decl.type === "CallExpression" && decl.arguments[0]?.type === "ObjectExpression") {
264
+ injectServerConfig(decl.arguments[0]);
265
+ return;
266
+ }
267
+ if (decl.type === "CallExpression" && (decl.arguments[0]?.type === "ArrowFunctionExpression" || decl.arguments[0]?.type === "FunctionExpression")) {
268
+ const configObj = extractConfigFromFunction(decl.arguments[0]);
269
+ if (configObj) injectServerConfig(configObj);
270
+ return;
271
+ }
272
+ if (decl.type === "ObjectExpression") injectServerConfig(decl);
273
+ } });
274
+ }
256
275
  if (s.toString() === code) return {
257
276
  success: true,
258
277
  modified: false,
package/dist/cli.js CHANGED
@@ -230,9 +230,8 @@ function transformViteConfig(code, options) {
230
230
  error: "Could not find plugins array in config",
231
231
  message: "Please add DevInspector manually to your plugins array"
232
232
  };
233
- if (options.host || options.allowedHosts?.length) traverse$2(ast, { ExportDefaultDeclaration(path$1) {
234
- if (path$1.node.declaration.type === "CallExpression" && path$1.node.declaration.arguments[0]?.type === "ObjectExpression") {
235
- const configObj = path$1.node.declaration.arguments[0];
233
+ if (options.host || options.allowedHosts?.length) {
234
+ const injectServerConfig = (configObj) => {
236
235
  const serverProp = configObj.properties.find((p) => p.type === "ObjectProperty" && p.key.type === "Identifier" && p.key.name === "server");
237
236
  const serverIndent = indent.repeat(2);
238
237
  if (serverProp?.value.start != null) {
@@ -249,8 +248,28 @@ function transformViteConfig(code, options) {
249
248
  injection += `${indent}},`;
250
249
  s.appendLeft(configObj.start + 1, injection);
251
250
  }
252
- }
253
- } });
251
+ };
252
+ const extractConfigFromFunction = (fn) => {
253
+ if (fn.type === "ArrowFunctionExpression" && fn.body.type === "ObjectExpression") return fn.body;
254
+ if (fn.body.type === "BlockStatement") {
255
+ for (const stmt of fn.body.body) if (stmt.type === "ReturnStatement" && stmt.argument?.type === "ObjectExpression") return stmt.argument;
256
+ }
257
+ return null;
258
+ };
259
+ traverse$2(ast, { ExportDefaultDeclaration(path$1) {
260
+ const decl = path$1.node.declaration;
261
+ if (decl.type === "CallExpression" && decl.arguments[0]?.type === "ObjectExpression") {
262
+ injectServerConfig(decl.arguments[0]);
263
+ return;
264
+ }
265
+ if (decl.type === "CallExpression" && (decl.arguments[0]?.type === "ArrowFunctionExpression" || decl.arguments[0]?.type === "FunctionExpression")) {
266
+ const configObj = extractConfigFromFunction(decl.arguments[0]);
267
+ if (configObj) injectServerConfig(configObj);
268
+ return;
269
+ }
270
+ if (decl.type === "ObjectExpression") injectServerConfig(decl);
271
+ } });
272
+ }
254
273
  if (s.toString() === code) return {
255
274
  success: true,
256
275
  modified: false,
@@ -179,7 +179,7 @@ var StandaloneServer = class {
179
179
  }
180
180
  async start(options = {}) {
181
181
  const startPort = options.port || getDefaultPort();
182
- this.host = options.host ? "localhost" : "0.0.0.0";
182
+ this.host = typeof options.host === "string" ? options.host : options.host === true ? "0.0.0.0" : "localhost";
183
183
  this.allowedHosts = options.allowedHosts || [];
184
184
  for (let port = startPort; port < startPort + 100; port++) try {
185
185
  await new Promise((resolve$1, reject) => {
@@ -87945,7 +87945,7 @@ function setupInspectorMiddleware(middlewares, config) {
87945
87945
  }
87946
87946
 
87947
87947
  //#endregion
87948
- //#region ../../node_modules/.pnpm/@mcpc-tech+acp-ai-provider@0.1.49/node_modules/@mcpc-tech/acp-ai-provider/index.mjs
87948
+ //#region ../../node_modules/.pnpm/@mcpc-tech+acp-ai-provider@0.1.50/node_modules/@mcpc-tech/acp-ai-provider/index.mjs
87949
87949
  (0, node_module.createRequire)(require("url").pathToFileURL(__filename).href);
87950
87950
  function formatToolError(toolResult) {
87951
87951
  if (!toolResult || toolResult.length === 0) return "Unknown tool error";
@@ -88176,10 +88176,21 @@ var ToolProxyHost = class {
88176
88176
  return;
88177
88177
  }
88178
88178
  if (!tool2.execute) {
88179
- this.sendResponse(socket, createErrorResponse(request.id, JsonRpcErrorCode.INTERNAL_ERROR, `Tool has no execute function: ${params.name}`));
88179
+ const clientToolResult = {
88180
+ content: [{
88181
+ type: "text",
88182
+ text: JSON.stringify({
88183
+ isClientTool: true,
88184
+ toolName: params.name,
88185
+ args: params.args
88186
+ })
88187
+ }],
88188
+ isError: false
88189
+ };
88190
+ this.sendResponse(socket, createResponse(request.id, clientToolResult));
88180
88191
  return;
88181
88192
  }
88182
- const result = await tool2.execute?.(params.args, {
88193
+ const result = await tool2.execute(params.args, {
88183
88194
  toolCallId: params.name,
88184
88195
  messages: []
88185
88196
  });
@@ -88221,7 +88232,7 @@ var ToolProxyHost = class {
88221
88232
  var ACP_PROVIDER_AGENT_DYNAMIC_TOOL_NAME = "acp.acp_provider_agent_dynamic_tool";
88222
88233
  var executeRegistry = /* @__PURE__ */ new Map();
88223
88234
  function acpTools(tools) {
88224
- for (const [name, toolDef] of Object.entries(tools)) if (toolDef.execute) executeRegistry.set(name, toolDef.execute);
88235
+ for (const [name, toolDef] of Object.entries(tools)) executeRegistry.set(name, toolDef.execute);
88225
88236
  return {
88226
88237
  ...tools,
88227
88238
  ...getACPDynamicTool()
@@ -88306,7 +88317,7 @@ function extractACPTools(tools, prepared = true) {
88306
88317
  const toolInputSchema = t.inputSchema;
88307
88318
  if (hasRegisteredExecute(t.name) && toolInputSchema) {
88308
88319
  const execute = getExecuteByName(t.name);
88309
- if (execute) acpTools2.push({
88320
+ acpTools2.push({
88310
88321
  ...t,
88311
88322
  name: t.name,
88312
88323
  inputSchema: prepared ? toolInputSchema : (0, ai.asSchema)(toolInputSchema).jsonSchema,
@@ -88370,6 +88381,7 @@ var ACPLanguageModel = class {
88370
88381
  currentThinkingId = null;
88371
88382
  toolCallsMap = /* @__PURE__ */ new Map();
88372
88383
  toolProxyHost = null;
88384
+ clientToolAbort = null;
88373
88385
  constructor(modelId, modeId, config) {
88374
88386
  this.modelId = modelId;
88375
88387
  this.modeId = modeId;
@@ -88384,6 +88396,7 @@ var ACPLanguageModel = class {
88384
88396
  this.currentTextId = null;
88385
88397
  this.currentThinkingId = null;
88386
88398
  this.toolCallsMap.clear();
88399
+ this.clientToolAbort = null;
88387
88400
  }
88388
88401
  /**
88389
88402
  * Parses a 'tool_call' notification update into a structured object.
@@ -88412,6 +88425,27 @@ var ACPLanguageModel = class {
88412
88425
  };
88413
88426
  }
88414
88427
  /**
88428
+ * Checks if a tool result is from a client-side tool (no execute function).
88429
+ * Client tools return a special response with `isClientTool: true`.
88430
+ * Handles both MCP format (type: "text") and ACP ToolCallContent format (type: "content").
88431
+ */
88432
+ isClientToolResult(toolResult) {
88433
+ if (!Array.isArray(toolResult) || toolResult.length === 0) return { isClientTool: false };
88434
+ const content = toolResult[0];
88435
+ if (!content?.type) return { isClientTool: false };
88436
+ const textContent$1 = content.type === "text" && typeof content.text === "string" ? content.text : content.type === "content" && content.content?.type === "text" ? content.content.text : void 0;
88437
+ if (!textContent$1) return { isClientTool: false };
88438
+ try {
88439
+ const parsed = JSON.parse(textContent$1);
88440
+ if (parsed.isClientTool === true) return {
88441
+ isClientTool: true,
88442
+ toolName: parsed.toolName,
88443
+ args: parsed.args
88444
+ };
88445
+ } catch {}
88446
+ return { isClientTool: false };
88447
+ }
88448
+ /**
88415
88449
  * Converts AI SDK prompt messages into ACP ContentBlock objects.
88416
88450
  * When session exists, only extracts the last user message (history is in session).
88417
88451
  * Prefixes text with role since ACP ContentBlock has no role field.
@@ -88649,6 +88683,25 @@ var ACPLanguageModel = class {
88649
88683
  });
88650
88684
  }
88651
88685
  /**
88686
+ * Flushes any pending tool calls that haven't emitted tool-call yet.
88687
+ * This handles the case where a tool emits {} first, then the next message is a different type.
88688
+ */
88689
+ flushPendingToolCalls(controller) {
88690
+ for (const [toolCallId, toolInfo] of this.toolCallsMap.entries()) if (!toolInfo.inputAvailable) {
88691
+ toolInfo.inputAvailable = true;
88692
+ controller.enqueue({
88693
+ type: "tool-call",
88694
+ toolCallId,
88695
+ toolName: ACP_PROVIDER_AGENT_DYNAMIC_TOOL_NAME2,
88696
+ input: JSON.stringify({
88697
+ toolCallId,
88698
+ toolName: toolInfo.name,
88699
+ args: {}
88700
+ })
88701
+ });
88702
+ }
88703
+ }
88704
+ /**
88652
88705
  * Standardized handler for converting SessionNotifications into
88653
88706
  * LanguageModelV2StreamPart objects, pushing them onto a stream controller.
88654
88707
  */
@@ -88656,12 +88709,14 @@ var ACPLanguageModel = class {
88656
88709
  const update$1 = notification.update;
88657
88710
  switch (update$1.sessionUpdate) {
88658
88711
  case "plan":
88712
+ this.flushPendingToolCalls(controller);
88659
88713
  this.emitRawContent(controller, {
88660
88714
  type: "plan",
88661
88715
  entries: update$1.entries
88662
88716
  });
88663
88717
  break;
88664
88718
  case "agent_thought_chunk":
88719
+ this.flushPendingToolCalls(controller);
88665
88720
  if (!this.currentThinkingId) {
88666
88721
  this.currentThinkingId = `reasoning - ${this.thinkBlockIndex++} `;
88667
88722
  controller.enqueue({
@@ -88676,6 +88731,7 @@ var ACPLanguageModel = class {
88676
88731
  });
88677
88732
  break;
88678
88733
  case "agent_message_chunk":
88734
+ this.flushPendingToolCalls(controller);
88679
88735
  if (this.currentThinkingId) {
88680
88736
  controller.enqueue({
88681
88737
  type: "reasoning-end",
@@ -88825,6 +88881,30 @@ var ACPLanguageModel = class {
88825
88881
  })
88826
88882
  });
88827
88883
  }
88884
+ const clientToolInfo = this.isClientToolResult(toolResult);
88885
+ if (clientToolInfo.isClientTool) {
88886
+ console.log(`[acp-ai-provider] Detected client tool: ${clientToolInfo.toolName}, stopping stream`);
88887
+ const content2 = update$1.content ?? [];
88888
+ if (content2.length > 0) this.emitRawContent(controller, {
88889
+ content: content2,
88890
+ toolCallId
88891
+ });
88892
+ if (this.clientToolAbort) {
88893
+ controller.enqueue({
88894
+ type: "finish",
88895
+ finishReason: "tool-calls",
88896
+ usage: {
88897
+ inputTokens: void 0,
88898
+ outputTokens: void 0,
88899
+ totalTokens: void 0
88900
+ }
88901
+ });
88902
+ controller.close();
88903
+ this.clientToolAbort.resolve();
88904
+ this.cleanup();
88905
+ }
88906
+ break;
88907
+ }
88828
88908
  controller.enqueue({
88829
88909
  type: "tool-result",
88830
88910
  toolCallId,
@@ -88942,14 +89022,26 @@ var ACPLanguageModel = class {
88942
89022
  warnings: []
88943
89023
  });
88944
89024
  this.resetStreamState();
89025
+ const clientToolPromise = new Promise((resolve$1) => {
89026
+ this.clientToolAbort = {
89027
+ controller,
89028
+ resolve: resolve$1
89029
+ };
89030
+ });
88945
89031
  try {
88946
89032
  if (client) client.setSessionUpdateHandler((notification) => {
88947
89033
  streamHandler(controller, notification);
88948
89034
  });
88949
- const response = await connection.prompt({
89035
+ const promptPromise = connection.prompt({
88950
89036
  sessionId,
88951
89037
  prompt: promptContent
88952
89038
  });
89039
+ const result = await Promise.race([promptPromise.then((response2) => ({
89040
+ type: "response",
89041
+ response: response2
89042
+ })), clientToolPromise.then(() => ({ type: "client-tool" }))]);
89043
+ if (result.type === "client-tool") return;
89044
+ const response = result.response;
88953
89045
  controller.enqueue({
88954
89046
  type: "finish",
88955
89047
  finishReason: response.stopReason === "end_turn" ? "stop" : "other",