@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.
- package/client/dist/{PromptParamsDialog-CtCaLYaq.js → PromptParamsDialog-D0TaQM5I.js} +146 -68
- package/client/dist/architecture-U656AL7Q-DLZFIEaG.js +1 -0
- package/client/dist/{architectureDiagram-VXUJARFQ-mTEFN4g1.js → architectureDiagram-VXUJARFQ-DNc0rX0p.js} +1 -1
- package/client/dist/{chunk-76Q3JFCE-naB4GsSN.js → chunk-76Q3JFCE-CAXIRKnn.js} +1 -1
- package/client/dist/chunk-FPAJGGOC-BjlYzVzU.js +80 -0
- package/client/dist/{chunk-FWNWRKHM-DESdnxaO.js → chunk-FWNWRKHM-VOvXoVoT.js} +1 -1
- package/client/dist/{chunk-LBM3YZW2-D1UaPZ0s.js → chunk-LBM3YZW2-CvtIRI2w.js} +1 -1
- package/client/dist/{chunk-LHMN2FUI-DvMeDi1w.js → chunk-LHMN2FUI-Ca-4316E.js} +1 -1
- package/client/dist/{chunk-O7ZBX7Z2-CzEL6GEY.js → chunk-O7ZBX7Z2-CECReL7o.js} +1 -1
- package/client/dist/{chunk-S6J4BHB3-dkKq153Y.js → chunk-S6J4BHB3-BHybUXml.js} +1 -1
- package/client/dist/{chunk-T53DSG4Q-m8YxcxT5.js → chunk-T53DSG4Q-7987HmnS.js} +1 -1
- package/client/dist/{diagram-PSM6KHXK-BxJGiGPe.js → diagram-PSM6KHXK-DTb9CVoz.js} +1 -1
- package/client/dist/{diagram-QEK2KX5R-DYp7ZFqv.js → diagram-QEK2KX5R-B2o1-dFI.js} +1 -1
- package/client/dist/{diagram-S2PKOQOG-DJkha_WW.js → diagram-S2PKOQOG-DPPFE3hr.js} +1 -1
- package/client/dist/gitGraph-F6HP7TQM-l-NE_Osd.js +1 -0
- package/client/dist/{gitGraphDiagram-NY62KEGX-Cr6_VXUM.js → gitGraphDiagram-NY62KEGX-Jp7zkjZT.js} +1 -1
- package/client/dist/info-NVLQJR56-EuF5TjLZ.js +1 -0
- package/client/dist/{infoDiagram-ER5ION4S-CtrGb0So.js → infoDiagram-ER5ION4S-CXN8mVBL.js} +1 -1
- package/client/dist/inspector.js +21 -98
- package/client/dist/{mermaid-parser.core-lVkskdol.js → mermaid-parser.core-B4UmuquT.js} +1 -1
- package/client/dist/{mermaid.core-DfenwpGd.js → mermaid.core-Bb_NaryS.js} +2 -2
- package/client/dist/packet-BFZMPI3H-BeBassQF.js +1 -0
- package/client/dist/pie-7BOR55EZ-CaiOg9Y8.js +1 -0
- package/client/dist/{pieDiagram-ADFJNKIX-10ENr3pD.js → pieDiagram-ADFJNKIX-C2tbuWJp.js} +1 -1
- package/client/dist/radar-NHE76QYJ-Dig7Z189.js +1 -0
- package/client/dist/sidebar.js +1 -1
- package/client/dist/treemap-KMMF4GRG-CTX-6nPT.js +1 -0
- package/dist/cli.cjs +24 -5
- package/dist/cli.js +24 -5
- package/dist/config-updater.cjs +99 -7
- package/dist/config-updater.js +99 -7
- package/dist/react/react.js +28 -1
- package/package.json +2 -2
- package/client/dist/architecture-U656AL7Q-BbnkeEk-.js +0 -1
- package/client/dist/chunk-FPAJGGOC-_ax7LrI6.js +0 -81
- package/client/dist/gitGraph-F6HP7TQM-KAtjK5Ox.js +0 -1
- package/client/dist/info-NVLQJR56-DiZxlu_o.js +0 -1
- package/client/dist/packet-BFZMPI3H-Co0kmFAY.js +0 -1
- package/client/dist/pie-7BOR55EZ-27A0zi3z.js +0 -1
- package/client/dist/radar-NHE76QYJ-BNuOm017.js +0 -1
- package/client/dist/treemap-KMMF4GRG-Cs32ogTY.js +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{f as e}from"./chunk-FPAJGGOC-
|
|
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-
|
|
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-
|
|
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-
|
|
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};
|
package/client/dist/sidebar.js
CHANGED
|
@@ -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)
|
|
236
|
-
|
|
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)
|
|
234
|
-
|
|
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,
|
package/dist/config-updater.cjs
CHANGED
|
@@ -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
|
|
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.
|
|
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
|
-
|
|
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
|
|
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))
|
|
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
|
-
|
|
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
|
|
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",
|