orbitchat 2.2.7 → 2.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/bin/orbitchat.js +56 -32
  2. package/dist/assets/{_basePickBy-1MakYQmz-CFyJwR0u.js → _basePickBy-1MakYQmz-ydNwd1l_.js} +1 -1
  3. package/dist/assets/{_baseUniq-Cd4llU-Q-D06fzDcA.js → _baseUniq-Cd4llU-Q-Cdw60MU4.js} +1 -1
  4. package/dist/assets/{api-Ciw0inlZ.js → api-L84wIOvt.js} +1 -1
  5. package/dist/assets/{arc-b8oyw-lz-BCfULEh7.js → arc-b8oyw-lz-1LLYREoj.js} +1 -1
  6. package/dist/assets/{architectureDiagram-VXUJARFQ-BuSDV2Do-DuPWl-E8.js → architectureDiagram-VXUJARFQ-BuSDV2Do-_okKpoAJ.js} +1 -1
  7. package/dist/assets/{blockDiagram-VD42YOAC-jQHtez-j-C4kvu0Em.js → blockDiagram-VD42YOAC-jQHtez-j-rtzBv-vF.js} +1 -1
  8. package/dist/assets/{c4Diagram-YG6GDRKO-_5giM-EA-CAUaWHfB.js → c4Diagram-YG6GDRKO-_5giM-EA-DjRoFacG.js} +1 -1
  9. package/dist/assets/channel-BLPbvVT2-CnJJPuZ5.js +1 -0
  10. package/dist/assets/{chunk-4BX2VUAB-BeuiUsbc-SyLBSPGf.js → chunk-4BX2VUAB-BeuiUsbc-DN2rdYji.js} +1 -1
  11. package/dist/assets/{chunk-55IACEB6-C4OH5_NF-CeUEEy8j.js → chunk-55IACEB6-C4OH5_NF-DrgL4Tv-.js} +1 -1
  12. package/dist/assets/{chunk-B4BG7PRW-CnUkcto7-Bw3MBwH8.js → chunk-B4BG7PRW-CnUkcto7-DHe7ngzh.js} +1 -1
  13. package/dist/assets/{chunk-DI55MBZ5-CSd59tsh-DMnz_BT4.js → chunk-DI55MBZ5-CSd59tsh-DFg8M9sN.js} +1 -1
  14. package/dist/assets/{chunk-FMBD7UC4-C6VImbBX-Ci00_56S.js → chunk-FMBD7UC4-C6VImbBX-ip_5_GPo.js} +1 -1
  15. package/dist/assets/{chunk-QN33PNHL-DrWWTLTH-CxKsUSHw.js → chunk-QN33PNHL-DrWWTLTH-tpIkWiz1.js} +1 -1
  16. package/dist/assets/{chunk-QZHKN3VN-C6_I39By-wG4V5ipa.js → chunk-QZHKN3VN-C6_I39By-ZQp0I6tE.js} +1 -1
  17. package/dist/assets/{chunk-TZMSLE5B-DGddLgNl-oFBh2Kwv.js → chunk-TZMSLE5B-DGddLgNl-CifiGjd6.js} +1 -1
  18. package/dist/assets/{classDiagram-2ON5EDUG-BngjTxOv-BTvgR8FJ.js → classDiagram-2ON5EDUG-BngjTxOv-2Y-76rXt.js} +1 -1
  19. package/dist/assets/{classDiagram-v2-WZHVMYZB-BngjTxOv-BTvgR8FJ.js → classDiagram-v2-WZHVMYZB-BngjTxOv-2Y-76rXt.js} +1 -1
  20. package/dist/assets/clone-DH1Kq5Y6-DxQT_fR1.js +1 -0
  21. package/dist/assets/{cose-bilkent-S5V4N54A-DcyCVH6S-DmuDbM_l.js → cose-bilkent-S5V4N54A-DcyCVH6S-zMMT3oqX.js} +1 -1
  22. package/dist/assets/{dagre-6UL2VRFP-B799wmhr-COgMFtha.js → dagre-6UL2VRFP-B799wmhr-DuXOlM7I.js} +1 -1
  23. package/dist/assets/{diagram-PSM6KHXK-Dxp2wzKk-BBCx56dy.js → diagram-PSM6KHXK-Dxp2wzKk-CmF_yeQm.js} +1 -1
  24. package/dist/assets/{diagram-QEK2KX5R-Km_liL9n-Betp39ze.js → diagram-QEK2KX5R-Km_liL9n-DiDvLC9k.js} +1 -1
  25. package/dist/assets/{diagram-S2PKOQOG-tSpHqt0k-44sQtblg.js → diagram-S2PKOQOG-tSpHqt0k-Dhi7ufxY.js} +1 -1
  26. package/dist/assets/{erDiagram-Q2GNP2WA-DF6ylQ7o-Dt6nMqG4.js → erDiagram-Q2GNP2WA-DF6ylQ7o-CjIoFnUJ.js} +1 -1
  27. package/dist/assets/{flowDiagram-NV44I4VS-BQUYJeB--BIIW2JbR.js → flowDiagram-NV44I4VS-BQUYJeB--D2fTwlvO.js} +1 -1
  28. package/dist/assets/{ganttDiagram-LVOFAZNH-BidPm1xz-C_N0fE6y.js → ganttDiagram-LVOFAZNH-BidPm1xz-D_x48jVE.js} +1 -1
  29. package/dist/assets/{gitGraphDiagram-NY62KEGX-zbMOFVrv-C2aviXPE.js → gitGraphDiagram-NY62KEGX-zbMOFVrv-DTVFadEr.js} +1 -1
  30. package/dist/assets/{graph-aRt77rZZ-BCYSvQYP.js → graph-aRt77rZZ-Dq9dkNsk.js} +1 -1
  31. package/dist/assets/{index-CyVB0J6E.js → index-p0knuDQ9.js} +6 -6
  32. package/dist/assets/{index-rW5EEHFR-DdBF6BH7.js → index-rW5EEHFR-Cm6Gxbor.js} +1 -1
  33. package/dist/assets/{infoDiagram-ER5ION4S-ozjqEnsq-Ba1eAJxv.js → infoDiagram-ER5ION4S-ozjqEnsq-D0PwL9B_.js} +1 -1
  34. package/dist/assets/{journeyDiagram-XKPGCS4Q-C6JuEafR-CDMHuJkC.js → journeyDiagram-XKPGCS4Q-C6JuEafR-BSuib8Wf.js} +1 -1
  35. package/dist/assets/{kanban-definition-3W4ZIXB7-Ci4U3NR--DxVvWtAD.js → kanban-definition-3W4ZIXB7-Ci4U3NR--Bxb6Yi8G.js} +1 -1
  36. package/dist/assets/{layout-BKjRgLFe-BqG-N5rr.js → layout-BKjRgLFe-WihuzEZg.js} +1 -1
  37. package/dist/assets/{mindmap-definition-VGOIOE7T-DveejCtl-DLDRL_jx.js → mindmap-definition-VGOIOE7T-DveejCtl-DXLxEnp4.js} +1 -1
  38. package/dist/assets/{pieDiagram-ADFJNKIX-DAbSGtae-DaaJODT6.js → pieDiagram-ADFJNKIX-DAbSGtae-BruonBFZ.js} +1 -1
  39. package/dist/assets/{quadrantDiagram-AYHSOK5B-DnnzUQMW-ByDrDvpT.js → quadrantDiagram-AYHSOK5B-DnnzUQMW-DzWXEz5-.js} +1 -1
  40. package/dist/assets/{requirementDiagram-UZGBJVZJ-BB9jagBx-4ABuhsu-.js → requirementDiagram-UZGBJVZJ-BB9jagBx-q21wBQ9N.js} +1 -1
  41. package/dist/assets/{sankeyDiagram-TZEHDZUN-BttZx2-h-DZFrYF3L.js → sankeyDiagram-TZEHDZUN-BttZx2-h-Cr53tHP7.js} +1 -1
  42. package/dist/assets/{sequenceDiagram-WL72ISMW-DA6yVs26-Cf4EYRDf.js → sequenceDiagram-WL72ISMW-DA6yVs26-B4W8xwkp.js} +1 -1
  43. package/dist/assets/{stateDiagram-FKZM4ZOC-BD8xEcbc-DSZVswAk.js → stateDiagram-FKZM4ZOC-BD8xEcbc-BWOiPxZu.js} +1 -1
  44. package/dist/assets/{stateDiagram-v2-4FDKWEC3-DINzAoyF-Biyi4sW7.js → stateDiagram-v2-4FDKWEC3-DINzAoyF-DshiRv7Q.js} +1 -1
  45. package/dist/assets/{timeline-definition-IT6M3QCI-XN-D5T3b-CUWPxmpi.js → timeline-definition-IT6M3QCI-XN-D5T3b-l0nKzR1k.js} +1 -1
  46. package/dist/assets/{treemap-KMMF4GRG-C4GHjB3F-HVe9FL0t.js → treemap-KMMF4GRG-C4GHjB3F-_nPgBK22.js} +1 -1
  47. package/dist/assets/{xychartDiagram-PRI3JC2R-BL53__6J-Dk9M98Ob.js → xychartDiagram-PRI3JC2R-BL53__6J-XcAq-Lxf.js} +1 -1
  48. package/dist/index.html +1 -1
  49. package/package.json +1 -1
  50. package/dist/assets/channel-BLPbvVT2-BU9ed3z7.js +0 -1
  51. package/dist/assets/clone-DH1Kq5Y6-CC3PuMQg.js +0 -1
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-6UL2VRFP-B799wmhr-COgMFtha.js","assets/graph-aRt77rZZ-BCYSvQYP.js","assets/_baseUniq-Cd4llU-Q-D06fzDcA.js","assets/layout-BKjRgLFe-BqG-N5rr.js","assets/_basePickBy-1MakYQmz-CFyJwR0u.js","assets/clone-DH1Kq5Y6-CC3PuMQg.js","assets/cose-bilkent-S5V4N54A-DcyCVH6S-DmuDbM_l.js","assets/cytoscape.esm-CjI2IsL8-Da6dFVsf.js","assets/c4Diagram-YG6GDRKO-_5giM-EA-CAUaWHfB.js","assets/chunk-TZMSLE5B-DGddLgNl-oFBh2Kwv.js","assets/flowDiagram-NV44I4VS-BQUYJeB--BIIW2JbR.js","assets/chunk-FMBD7UC4-C6VImbBX-Ci00_56S.js","assets/chunk-55IACEB6-C4OH5_NF-CeUEEy8j.js","assets/chunk-QN33PNHL-DrWWTLTH-CxKsUSHw.js","assets/channel-BLPbvVT2-BU9ed3z7.js","assets/erDiagram-Q2GNP2WA-DF6ylQ7o-Dt6nMqG4.js","assets/gitGraphDiagram-NY62KEGX-zbMOFVrv-C2aviXPE.js","assets/chunk-4BX2VUAB-BeuiUsbc-SyLBSPGf.js","assets/chunk-QZHKN3VN-C6_I39By-wG4V5ipa.js","assets/treemap-KMMF4GRG-C4GHjB3F-HVe9FL0t.js","assets/infoDiagram-ER5ION4S-ozjqEnsq-Ba1eAJxv.js","assets/pieDiagram-ADFJNKIX-DAbSGtae-DaaJODT6.js","assets/arc-b8oyw-lz-BCfULEh7.js","assets/requirementDiagram-UZGBJVZJ-BB9jagBx-4ABuhsu-.js","assets/sequenceDiagram-WL72ISMW-DA6yVs26-Cf4EYRDf.js","assets/classDiagram-2ON5EDUG-BngjTxOv-BTvgR8FJ.js","assets/chunk-B4BG7PRW-CnUkcto7-Bw3MBwH8.js","assets/classDiagram-v2-WZHVMYZB-BngjTxOv-BTvgR8FJ.js","assets/stateDiagram-FKZM4ZOC-BD8xEcbc-DSZVswAk.js","assets/chunk-DI55MBZ5-CSd59tsh-DMnz_BT4.js","assets/stateDiagram-v2-4FDKWEC3-DINzAoyF-Biyi4sW7.js","assets/journeyDiagram-XKPGCS4Q-C6JuEafR-CDMHuJkC.js","assets/timeline-definition-IT6M3QCI-XN-D5T3b-CUWPxmpi.js","assets/mindmap-definition-VGOIOE7T-DveejCtl-DLDRL_jx.js","assets/kanban-definition-3W4ZIXB7-Ci4U3NR--DxVvWtAD.js","assets/diagram-S2PKOQOG-tSpHqt0k-44sQtblg.js","assets/diagram-QEK2KX5R-Km_liL9n-Betp39ze.js","assets/blockDiagram-VD42YOAC-jQHtez-j-C4kvu0Em.js","assets/architectureDiagram-VXUJARFQ-BuSDV2Do-DuPWl-E8.js","assets/diagram-PSM6KHXK-Dxp2wzKk-BBCx56dy.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-6UL2VRFP-B799wmhr-DuXOlM7I.js","assets/graph-aRt77rZZ-Dq9dkNsk.js","assets/_baseUniq-Cd4llU-Q-Cdw60MU4.js","assets/layout-BKjRgLFe-WihuzEZg.js","assets/_basePickBy-1MakYQmz-ydNwd1l_.js","assets/clone-DH1Kq5Y6-DxQT_fR1.js","assets/cose-bilkent-S5V4N54A-DcyCVH6S-zMMT3oqX.js","assets/cytoscape.esm-CjI2IsL8-Da6dFVsf.js","assets/c4Diagram-YG6GDRKO-_5giM-EA-DjRoFacG.js","assets/chunk-TZMSLE5B-DGddLgNl-CifiGjd6.js","assets/flowDiagram-NV44I4VS-BQUYJeB--D2fTwlvO.js","assets/chunk-FMBD7UC4-C6VImbBX-ip_5_GPo.js","assets/chunk-55IACEB6-C4OH5_NF-DrgL4Tv-.js","assets/chunk-QN33PNHL-DrWWTLTH-tpIkWiz1.js","assets/channel-BLPbvVT2-CnJJPuZ5.js","assets/erDiagram-Q2GNP2WA-DF6ylQ7o-CjIoFnUJ.js","assets/gitGraphDiagram-NY62KEGX-zbMOFVrv-DTVFadEr.js","assets/chunk-4BX2VUAB-BeuiUsbc-DN2rdYji.js","assets/chunk-QZHKN3VN-C6_I39By-ZQp0I6tE.js","assets/treemap-KMMF4GRG-C4GHjB3F-_nPgBK22.js","assets/infoDiagram-ER5ION4S-ozjqEnsq-D0PwL9B_.js","assets/pieDiagram-ADFJNKIX-DAbSGtae-BruonBFZ.js","assets/arc-b8oyw-lz-1LLYREoj.js","assets/requirementDiagram-UZGBJVZJ-BB9jagBx-q21wBQ9N.js","assets/sequenceDiagram-WL72ISMW-DA6yVs26-B4W8xwkp.js","assets/classDiagram-2ON5EDUG-BngjTxOv-2Y-76rXt.js","assets/chunk-B4BG7PRW-CnUkcto7-DHe7ngzh.js","assets/classDiagram-v2-WZHVMYZB-BngjTxOv-2Y-76rXt.js","assets/stateDiagram-FKZM4ZOC-BD8xEcbc-BWOiPxZu.js","assets/chunk-DI55MBZ5-CSd59tsh-DFg8M9sN.js","assets/stateDiagram-v2-4FDKWEC3-DINzAoyF-DshiRv7Q.js","assets/journeyDiagram-XKPGCS4Q-C6JuEafR-BSuib8Wf.js","assets/timeline-definition-IT6M3QCI-XN-D5T3b-l0nKzR1k.js","assets/mindmap-definition-VGOIOE7T-DveejCtl-DXLxEnp4.js","assets/kanban-definition-3W4ZIXB7-Ci4U3NR--Bxb6Yi8G.js","assets/diagram-S2PKOQOG-tSpHqt0k-Dhi7ufxY.js","assets/diagram-QEK2KX5R-Km_liL9n-DiDvLC9k.js","assets/blockDiagram-VD42YOAC-jQHtez-j-rtzBv-vF.js","assets/architectureDiagram-VXUJARFQ-BuSDV2Do-_okKpoAJ.js","assets/diagram-PSM6KHXK-Dxp2wzKk-CmF_yeQm.js"])))=>i.map(i=>d[i]);
2
2
  var Tue=Object.defineProperty;var Cue=(e,t,r)=>t in e?Tue(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var pi=(e,t,r)=>Cue(e,typeof t!="symbol"?t+"":t,r);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))n(a);new MutationObserver(a=>{for(const i of a)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function r(a){const i={};return a.integrity&&(i.integrity=a.integrity),a.referrerPolicy&&(i.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?i.credentials="include":a.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(a){if(a.ep)return;a.ep=!0;const i=r(a);fetch(a.href,i)}})();function _ue(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var iW={exports:{}},V1={},oW={exports:{}},Xt={};/**
3
3
  * @license React
4
4
  * react.production.min.js
@@ -1073,8 +1073,8 @@ Please report this to https://github.com/markedjs/marked.`,e){let n="<p>An error
1073
1073
  node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);const n=e.x,a=e.y,i=Math.abs(n-r.x),o=e.width/2;let s=r.x<t.x?o-i:o+i;const l=e.height/2,c=Math.abs(t.y-r.y),u=Math.abs(t.x-r.x);if(Math.abs(a-t.y)*o>Math.abs(n-t.x)*l){let p=r.y<t.y?t.y-l-a:a-l-t.y;s=u*p/c;const d={x:r.x<t.x?r.x+s:r.x-u+s,y:r.y<t.y?r.y+c-p:r.y-c+p};return s===0&&(d.x=t.x,d.y=t.y),u===0&&(d.x=t.x),c===0&&(d.y=t.y),Pe.debug(`abc89 top/bottom calc, Q ${c}, q ${p}, R ${u}, r ${s}`,d),d}else{r.x<t.x?s=t.x-o-n:s=n-o-t.x;let p=c*s/u,d=r.x<t.x?r.x+u-s:r.x-u+s,h=r.y<t.y?r.y+p:r.y-p;return Pe.debug(`sides calc abc89, Q ${c}, q ${p}, R ${u}, r ${s}`,{_x:d,_y:h}),s===0&&(d=t.x,h=t.y),u===0&&(d=t.x),c===0&&(h=t.y),{x:d,y:h}}},"intersection"),_j=M((e,t)=>{Pe.warn("abc88 cutPathAtIntersect",e,t);let r=[],n=e[0],a=!1;return e.forEach(i=>{if(Pe.info("abc88 checking point",i,t),!dLe(t,i)&&!a){const o=pLe(t,n,i);Pe.debug("abc88 inside",i,n,o),Pe.debug("abc88 intersection",o,t);let s=!1;r.forEach(l=>{s=s||l.x===o.x&&l.y===o.y}),r.some(l=>l.x===o.x&&l.y===o.y)?Pe.warn("abc88 no intersect",o,r):r.push(o),a=!0}else Pe.warn("abc88 outside",i,n),n=i,a||r.push(i)}),Pe.debug("returning points",r),r},"cutPathAtIntersect");function rae(e){const t=[],r=[];for(let n=1;n<e.length-1;n++){const a=e[n-1],i=e[n],o=e[n+1];(a.x===i.x&&i.y===o.y&&Math.abs(i.x-o.x)>5&&Math.abs(i.y-a.y)>5||a.y===i.y&&i.x===o.x&&Math.abs(i.x-a.x)>5&&Math.abs(i.y-o.y)>5)&&(t.push(i),r.push(n))}return{cornerPoints:t,cornerPointPositions:r}}M(rae,"extractCornerPoints");var Ij=M(function(e,t,r){const n=t.x-e.x,a=t.y-e.y,i=Math.sqrt(n*n+a*a),o=r/i;return{x:t.x-o*n,y:t.y-o*a}},"findAdjacentPoint"),hLe=M(function(e){const{cornerPointPositions:t}=rae(e),r=[];for(let n=0;n<e.length;n++)if(t.includes(n)){const a=e[n-1],i=e[n+1],o=e[n],s=Ij(a,o,5),l=Ij(i,o,5),c=l.x-s.x,u=l.y-s.y;r.push(s);const p=Math.sqrt(2)*2;let d={x:o.x,y:o.y};if(Math.abs(i.x-a.x)>10&&Math.abs(i.y-a.y)>=10){Pe.debug("Corner point fixing",Math.abs(i.x-a.x),Math.abs(i.y-a.y));const h=5;o.x===s.x?d={x:c<0?s.x-h+p:s.x+h-p,y:u<0?s.y-p:s.y+p}:d={x:c<0?s.x-p:s.x+p,y:u<0?s.y-h+p:s.y+h-p}}else Pe.debug("Corner point skipping fixing",Math.abs(i.x-a.x),Math.abs(i.y-a.y));r.push(d,l)}else r.push(e[n]);return r},"fixCorners"),fLe=M((e,t,r)=>{const n=e-t-r,a=2,i=2,o=a+i,s=Math.floor(n/o),l=Array(s).fill(`${a} ${i}`).join(" ");return`0 ${t} ${l} ${r}`},"generateDashArray"),mLe=M(function(e,t,r,n,a,i,o,s=!1){var l;const{handDrawnSeed:c}=wr();let u=t.points,p=!1;const d=a;var h=i;const f=[];for(const X in t.cssCompiledStyles)Rte(X)||f.push(t.cssCompiledStyles[X]);Pe.debug("UIO intersect check",t.points,h.x,d.x),h.intersect&&d.intersect&&!s&&(u=u.slice(1,t.points.length-1),u.unshift(d.intersect(u[0])),Pe.debug("Last point UIO",t.start,"-->",t.end,u[u.length-1],h,h.intersect(u[u.length-1])),u.push(h.intersect(u[u.length-1])));const m=btoa(JSON.stringify(u));t.toCluster&&(Pe.info("to cluster abc88",r.get(t.toCluster)),u=_j(t.points,r.get(t.toCluster).node),p=!0),t.fromCluster&&(Pe.debug("from cluster abc88",r.get(t.fromCluster),JSON.stringify(u,null,2)),u=_j(u.reverse(),r.get(t.fromCluster).node).reverse(),p=!0);let x=u.filter(X=>!Number.isNaN(X.y));x=hLe(x);let b=Ph;switch(b=Fu,t.curve){case"linear":b=Fu;break;case"basis":b=Ph;break;case"cardinal":b=UJ;break;case"bumpX":b=m_;break;case"bumpY":b=g_;break;case"catmullRom":b=HJ;break;case"monotoneX":b=S_;break;case"monotoneY":b=k_;break;case"natural":b=E_;break;case"step":b=A_;break;case"stepAfter":b=C_;break;case"stepBefore":b=T_;break;default:b=Ph}const{x:v,y:S}=hOe(t),C=f_().x(v).y(S).curve(b);let E;switch(t.thickness){case"normal":E="edge-thickness-normal";break;case"thick":E="edge-thickness-thick";break;case"invisible":E="edge-thickness-invisible";break;default:E="edge-thickness-normal"}switch(t.pattern){case"solid":E+=" edge-pattern-solid";break;case"dotted":E+=" edge-pattern-dotted";break;case"dashed":E+=" edge-pattern-dashed";break;default:E+=" edge-pattern-solid"}let A,N=t.curve==="rounded"?nae(aae(x,t),5):C(x);const D=Array.isArray(t.style)?t.style:[t.style];let B=D.find(X=>X==null?void 0:X.startsWith("stroke:")),F=!1;if(t.look==="handDrawn"){const X=ht.svg(e);Object.assign([],x);const ee=X.path(N,{roughness:.3,seed:c});E+=" transition",A=nr(ee).select("path").attr("id",t.id).attr("class"," "+E+(t.classes?" "+t.classes:"")).attr("style",D?D.reduce((W,J)=>W+";"+J,""):"");let ie=A.attr("d");A.attr("d",ie),e.node().appendChild(A.node())}else{const X=f.join(";"),ee=D?D.reduce((V,be)=>V+be+";",""):"";let ie="";t.animate&&(ie=" edge-animation-fast"),t.animation&&(ie=" edge-animation-"+t.animation);const W=(X?X+";"+ee+";":ee)+";"+(D?D.reduce((V,be)=>V+";"+be,""):"");A=e.append("path").attr("d",N).attr("id",t.id).attr("class"," "+E+(t.classes?" "+t.classes:"")+(ie??"")).attr("style",W),B=(l=W.match(/stroke:([^;]+)/))==null?void 0:l[1],F=t.animate===!0||!!t.animation||X.includes("animation");const J=A.node(),$=typeof J.getTotalLength=="function"?J.getTotalLength():0,ne=G$[t.arrowTypeStart]||0,pe=G$[t.arrowTypeEnd]||0;if(t.look==="neo"&&!F){const V=`stroke-dasharray: ${t.pattern==="dotted"||t.pattern==="dashed"?fLe($,ne,pe):`0 ${ne} ${$-ne-pe} ${pe}`}; stroke-dashoffset: 0;`;A.attr("style",V+A.attr("style"))}}A.attr("data-edge",!0),A.attr("data-et","edge"),A.attr("data-id",t.id),A.attr("data-points",m),t.showPoints&&x.forEach(X=>{e.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",X.x).attr("cy",X.y)});let z="";(wr().flowchart.arrowMarkerAbsolute||wr().state.arrowMarkerAbsolute)&&(z=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,z=z.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),Pe.info("arrowTypeStart",t.arrowTypeStart),Pe.info("arrowTypeEnd",t.arrowTypeEnd),sLe(A,t,z,o,n,B);const G=Math.floor(u.length/2),te=u[G];$o.isLabelCoordinateInPath(te,A.attr("d"))||(p=!0);let Y={};return p&&(Y.updatedPath=u),Y.originalPath=t.points,Y},"insertEdge");function nae(e,t){if(e.length<2)return"";let r="";const n=e.length,a=1e-5;for(let i=0;i<n;i++){const o=e[i],s=e[i-1],l=e[i+1];if(i===0)r+=`M${o.x},${o.y}`;else if(i===n-1)r+=`L${o.x},${o.y}`;else{const c=o.x-s.x,u=o.y-s.y,p=l.x-o.x,d=l.y-o.y,h=Math.hypot(c,u),f=Math.hypot(p,d);if(h<a||f<a){r+=`L${o.x},${o.y}`;continue}const m=c/h,x=u/h,b=p/f,v=d/f,S=m*b+x*v,C=Math.max(-1,Math.min(1,S)),E=Math.acos(C);if(E<a||Math.abs(Math.PI-E)<a){r+=`L${o.x},${o.y}`;continue}const A=Math.min(t/Math.sin(E/2),h/2,f/2),N=o.x-m*A,D=o.y-x*A,B=o.x+b*A,F=o.y+v*A;r+=`L${N},${D}`,r+=`Q${o.x},${o.y} ${B},${F}`}}return r}M(nae,"generateRoundedPath");function PA(e,t){if(!e||!t)return{angle:0,deltaX:0,deltaY:0};const r=t.x-e.x,n=t.y-e.y;return{angle:Math.atan2(n,r),deltaX:r,deltaY:n}}M(PA,"calculateDeltaAndAngle");function aae(e,t){const r=e.map(a=>({...a}));if(e.length>=2&&Ma[t.arrowTypeStart]){const a=Ma[t.arrowTypeStart],i=e[0],o=e[1],{angle:s}=PA(i,o),l=a*Math.cos(s),c=a*Math.sin(s);r[0].x=i.x+l,r[0].y=i.y+c}const n=e.length;if(n>=2&&Ma[t.arrowTypeEnd]){const a=Ma[t.arrowTypeEnd],i=e[n-1],o=e[n-2],{angle:s}=PA(o,i),l=a*Math.cos(s),c=a*Math.sin(s);r[n-1].x=i.x-l,r[n-1].y=i.y-c}return r}M(aae,"applyMarkerOffsetsToPoints");var gLe=M((e,t,r,n)=>{t.forEach(a=>{MLe[a](e,r,n)})},"insertMarkers"),yLe=M((e,t,r)=>{Pe.trace("Making markers for ",r),e.append("defs").append("marker").attr("id",r+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),bLe=M((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),vLe=M((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),xLe=M((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",r+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),wLe=M((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",r+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),SLe=M((e,t,r)=>{e.append("marker").attr("id",r+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),kLe=M((e,t,r)=>{e.append("marker").attr("id",r+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),ELe=M((e,t,r)=>{e.append("marker").attr("id",r+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),e.append("marker").attr("id",r+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),ALe=M((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),TLe=M((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-onlyOneStart").attr("class","marker onlyOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),e.append("defs").append("marker").attr("id",r+"_"+t+"-onlyOneEnd").attr("class","marker onlyOne "+t).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),CLe=M((e,t,r)=>{const n=e.append("defs").append("marker").attr("id",r+"_"+t+"-zeroOrOneStart").attr("class","marker zeroOrOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("d","M9,0 L9,18");const a=e.append("defs").append("marker").attr("id",r+"_"+t+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+t).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");a.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),a.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),_Le=M((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-oneOrMoreStart").attr("class","marker oneOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),e.append("defs").append("marker").attr("id",r+"_"+t+"-oneOrMoreEnd").attr("class","marker oneOrMore "+t).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),ILe=M((e,t,r)=>{const n=e.append("defs").append("marker").attr("id",r+"_"+t+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");const a=e.append("defs").append("marker").attr("id",r+"_"+t+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+t).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");a.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),a.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),OLe=M((e,t,r)=>{e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0
1074
1074
  L20,10
1075
1075
  M20,10
1076
- L0,20`)},"requirement_arrow"),NLe=M((e,t,r)=>{const n=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),MLe={extension:yLe,composition:bLe,aggregation:vLe,dependency:xLe,lollipop:wLe,point:SLe,circle:kLe,cross:ELe,barb:ALe,only_one:TLe,zero_or_one:CLe,one_or_more:_Le,zero_or_more:ILe,requirement_arrow:OLe,requirement_contains:NLe},RLe=gLe,LLe={common:G0,getConfig:Fa,insertCluster:U5e,insertEdge:mLe,insertEdgeLabel:cLe,insertMarkers:RLe,insertNode:tae,interpolateToCurve:$_,labelHelper:_t,log:Pe,positionEdgeLabel:uLe},kf={},iae=M(e=>{for(const t of e)kf[t.name]=t},"registerLayoutLoaders"),PLe=M(()=>{iae([{name:"dagre",loader:M(async()=>await tr(()=>import("./dagre-6UL2VRFP-B799wmhr-COgMFtha.js"),__vite__mapDeps([0,1,2,3,4,5])),"loader")},{name:"cose-bilkent",loader:M(async()=>await tr(()=>import("./cose-bilkent-S5V4N54A-DcyCVH6S-DmuDbM_l.js"),__vite__mapDeps([6,7])),"loader")}])},"registerDefaultLayoutLoaders");PLe();var Zrt=M(async(e,t)=>{if(!(e.layoutAlgorithm in kf))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);const r=kf[e.layoutAlgorithm];return(await r.loader()).render(e,t,LLe,{algorithm:r.algorithm})},"render"),Qrt=M((e="",{fallback:t="dagre"}={})=>{if(e in kf)return e;if(t in kf)return Pe.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm"),oae="comm",sae="rule",lae="decl",DLe="@import",FLe="@namespace",BLe="@keyframes",zLe="@layer",cae=Math.abs,oI=String.fromCharCode;function uae(e){return e.trim()}function My(e,t,r){return e.replace(t,r)}function $Le(e,t,r){return e.indexOf(t,r)}function l0(e,t){return e.charCodeAt(t)|0}function O0(e,t,r){return e.slice(t,r)}function hs(e){return e.length}function jLe(e){return e.length}function Ug(e,t){return t.push(e),e}var i4=1,N0=1,dae=0,wo=0,Dn=0,Z0="";function sI(e,t,r,n,a,i,o,s){return{value:e,root:t,parent:r,type:n,props:a,children:i,line:i4,column:N0,length:o,return:"",siblings:s}}function ULe(){return Dn}function qLe(){return Dn=wo>0?l0(Z0,--wo):0,N0--,Dn===10&&(N0=1,i4--),Dn}function Wo(){return Dn=wo<dae?l0(Z0,wo++):0,N0++,Dn===10&&(N0=1,i4++),Dn}function uc(){return l0(Z0,wo)}function Ry(){return wo}function o4(e,t){return O0(Z0,e,t)}function Ef(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 HLe(e){return i4=N0=1,dae=hs(Z0=e),wo=0,[]}function GLe(e){return Z0="",e}function Y7(e){return uae(o4(wo-1,DA(e===91?e+2:e===40?e+1:e)))}function VLe(e){for(;(Dn=uc())&&Dn<33;)Wo();return Ef(e)>2||Ef(Dn)>3?"":" "}function WLe(e,t){for(;--t&&Wo()&&!(Dn<48||Dn>102||Dn>57&&Dn<65||Dn>70&&Dn<97););return o4(e,Ry()+(t<6&&uc()==32&&Wo()==32))}function DA(e){for(;Wo();)switch(Dn){case e:return wo;case 34:case 39:e!==34&&e!==39&&DA(Dn);break;case 40:e===41&&DA(e);break;case 92:Wo();break}return wo}function KLe(e,t){for(;Wo()&&e+Dn!==57&&!(e+Dn===84&&uc()===47););return"/*"+o4(t,wo-1)+"*"+oI(e===47?e:Wo())}function YLe(e){for(;!Ef(uc());)Wo();return o4(e,wo)}function XLe(e){return GLe(Ly("",null,null,null,[""],e=HLe(e),0,[0],e))}function Ly(e,t,r,n,a,i,o,s,l){for(var c=0,u=0,p=o,d=0,h=0,f=0,m=1,x=1,b=1,v=0,S="",C=a,E=i,A=n,N=S;x;)switch(f=v,v=Wo()){case 40:if(f!=108&&l0(N,p-1)==58){$Le(N+=My(Y7(v),"&","&\f"),"&\f",cae(c?s[c-1]:0))!=-1&&(b=-1);break}case 34:case 39:case 91:N+=Y7(v);break;case 9:case 10:case 13:case 32:N+=VLe(f);break;case 92:N+=WLe(Ry()-1,7);continue;case 47:switch(uc()){case 42:case 47:Ug(ZLe(KLe(Wo(),Ry()),t,r,l),l),(Ef(f||1)==5||Ef(uc()||1)==5)&&hs(N)&&O0(N,-1,void 0)!==" "&&(N+=" ");break;default:N+="/"}break;case 123*m:s[c++]=hs(N)*b;case 125*m:case 59:case 0:switch(v){case 0:case 125:x=0;case 59+u:b==-1&&(N=My(N,/\f/g,"")),h>0&&(hs(N)-p||m===0&&f===47)&&Ug(h>32?Nj(N+";",n,r,p-1,l):Nj(My(N," ","")+";",n,r,p-2,l),l);break;case 59:N+=";";default:if(Ug(A=Oj(N,t,r,c,u,a,s,S,C=[],E=[],p,i),i),v===123)if(u===0)Ly(N,t,A,A,C,i,p,s,E);else{switch(d){case 99:if(l0(N,3)===110)break;case 108:if(l0(N,2)===97)break;default:u=0;case 100:case 109:case 115:}u?Ly(e,A,A,n&&Ug(Oj(e,A,A,0,0,a,s,S,a,C=[],p,E),E),a,E,p,s,n?C:E):Ly(N,A,A,A,[""],E,0,s,E)}}c=u=h=0,m=b=1,S=N="",p=o;break;case 58:p=1+hs(N),h=f;default:if(m<1){if(v==123)--m;else if(v==125&&m++==0&&qLe()==125)continue}switch(N+=oI(v),v*m){case 38:b=u>0?1:(N+="\f",-1);break;case 44:s[c++]=(hs(N)-1)*b,b=1;break;case 64:uc()===45&&(N+=Y7(Wo())),d=uc(),u=p=hs(S=N+=YLe(Ry())),v++;break;case 45:f===45&&hs(N)==2&&(m=0)}}return i}function Oj(e,t,r,n,a,i,o,s,l,c,u,p){for(var d=a-1,h=a===0?i:[""],f=jLe(h),m=0,x=0,b=0;m<n;++m)for(var v=0,S=O0(e,d+1,d=cae(x=o[m])),C=e;v<f;++v)(C=uae(x>0?h[v]+" "+S:My(S,/&\f/g,h[v])))&&(l[b++]=C);return sI(e,t,r,a===0?sae:s,l,c,u,p)}function ZLe(e,t,r,n){return sI(e,t,r,oae,oI(ULe()),O0(e,2,-2),0,n)}function Nj(e,t,r,n,a){return sI(e,t,r,lae,O0(e,0,n),O0(e,n+1,-1),n,a)}function FA(e,t){for(var r="",n=0;n<e.length;n++)r+=t(e[n],n,e,t)||"";return r}function QLe(e,t,r,n){switch(e.type){case zLe:if(e.children.length)break;case DLe:case FLe:case lae:return e.return=e.return||e.value;case oae:return"";case BLe:return e.return=e.value+"{"+FA(e.children,n)+"}";case sae:if(!hs(e.value=e.props.join(",")))return""}return hs(r=FA(e.children,n))?e.return=e.value+"{"+r+"}":""}var JLe=Fte(Object.keys,Object),ePe=Object.prototype,tPe=ePe.hasOwnProperty;function rPe(e){if(!Yv(e))return JLe(e);var t=[];for(var r in Object(e))tPe.call(e,r)&&r!="constructor"&&t.push(r);return t}var BA=sd(Rs,"DataView"),zA=sd(Rs,"Promise"),$A=sd(Rs,"Set"),jA=sd(Rs,"WeakMap"),Mj="[object Map]",nPe="[object Object]",Rj="[object Promise]",Lj="[object Set]",Pj="[object WeakMap]",Dj="[object DataView]",aPe=od(BA),iPe=od(wf),oPe=od(zA),sPe=od($A),lPe=od(jA),ru=K0;(BA&&ru(new BA(new ArrayBuffer(1)))!=Dj||wf&&ru(new wf)!=Mj||zA&&ru(zA.resolve())!=Rj||$A&&ru(new $A)!=Lj||jA&&ru(new jA)!=Pj)&&(ru=function(e){var t=K0(e),r=t==nPe?e.constructor:void 0,n=r?od(r):"";if(n)switch(n){case aPe:return Dj;case iPe:return Mj;case oPe:return Rj;case sPe:return Lj;case lPe:return Pj}return t});var cPe="[object Map]",uPe="[object Set]",dPe=Object.prototype,pPe=dPe.hasOwnProperty;function Fj(e){if(e==null)return!0;if(Xv(e)&&(Jb(e)||typeof e=="string"||typeof e.splice=="function"||B_(e)||z_(e)||Qb(e)))return!e.length;var t=ru(e);if(t==cPe||t==uPe)return!e.size;if(Yv(e))return!rPe(e).length;for(var r in e)if(pPe.call(e,r))return!1;return!0}var pae="c4",hPe=M(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),fPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./c4Diagram-YG6GDRKO-_5giM-EA-CAUaWHfB.js");return{diagram:t}},__vite__mapDeps([8,9]));return{id:pae,diagram:e}},"loader"),mPe={id:pae,detector:hPe,loader:fPe},gPe=mPe,hae="flowchart",yPe=M((e,t)=>{var r,n;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((n=t==null?void 0:t.flowchart)==null?void 0:n.defaultRenderer)==="elk"?!1:/^\s*graph/.test(e)},"detector"),bPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./flowDiagram-NV44I4VS-BQUYJeB--BIIW2JbR.js");return{diagram:t}},__vite__mapDeps([10,11,12,13,14]));return{id:hae,diagram:e}},"loader"),vPe={id:hae,detector:yPe,loader:bPe},xPe=vPe,fae="flowchart-v2",wPe=M((e,t)=>{var r,n,a;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((n=t==null?void 0:t.flowchart)==null?void 0:n.defaultRenderer)==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&((a=t==null?void 0:t.flowchart)==null?void 0:a.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(e))},"detector"),SPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./flowDiagram-NV44I4VS-BQUYJeB--BIIW2JbR.js");return{diagram:t}},__vite__mapDeps([10,11,12,13,14]));return{id:fae,diagram:e}},"loader"),kPe={id:fae,detector:wPe,loader:SPe},EPe=kPe,mae="er",APe=M(e=>/^\s*erDiagram/.test(e),"detector"),TPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./erDiagram-Q2GNP2WA-DF6ylQ7o-Dt6nMqG4.js");return{diagram:t}},__vite__mapDeps([15,12,13,14]));return{id:mae,diagram:e}},"loader"),CPe={id:mae,detector:APe,loader:TPe},_Pe=CPe,gae="gitGraph",IPe=M(e=>/^\s*gitGraph/.test(e),"detector"),OPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./gitGraphDiagram-NY62KEGX-zbMOFVrv-C2aviXPE.js");return{diagram:t}},__vite__mapDeps([16,17,18,19,2,4,5]));return{id:gae,diagram:e}},"loader"),NPe={id:gae,detector:IPe,loader:OPe},MPe=NPe,yae="gantt",RPe=M(e=>/^\s*gantt/.test(e),"detector"),LPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./ganttDiagram-LVOFAZNH-BidPm1xz-C_N0fE6y.js");return{diagram:t}},[]);return{id:yae,diagram:e}},"loader"),PPe={id:yae,detector:RPe,loader:LPe},DPe=PPe,bae="info",FPe=M(e=>/^\s*info/.test(e),"detector"),BPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./infoDiagram-ER5ION4S-ozjqEnsq-Ba1eAJxv.js");return{diagram:t}},__vite__mapDeps([20,19,2,4,5]));return{id:bae,diagram:e}},"loader"),zPe={id:bae,detector:FPe,loader:BPe},vae="pie",$Pe=M(e=>/^\s*pie/.test(e),"detector"),jPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./pieDiagram-ADFJNKIX-DAbSGtae-DaaJODT6.js");return{diagram:t}},__vite__mapDeps([21,17,19,2,4,5,22]));return{id:vae,diagram:e}},"loader"),UPe={id:vae,detector:$Pe,loader:jPe},xae="quadrantChart",qPe=M(e=>/^\s*quadrantChart/.test(e),"detector"),HPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./quadrantDiagram-AYHSOK5B-DnnzUQMW-ByDrDvpT.js");return{diagram:t}},[]);return{id:xae,diagram:e}},"loader"),GPe={id:xae,detector:qPe,loader:HPe},VPe=GPe,wae="xychart",WPe=M(e=>/^\s*xychart(-beta)?/.test(e),"detector"),KPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./xychartDiagram-PRI3JC2R-BL53__6J-Dk9M98Ob.js");return{diagram:t}},[]);return{id:wae,diagram:e}},"loader"),YPe={id:wae,detector:WPe,loader:KPe},XPe=YPe,Sae="requirement",ZPe=M(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),QPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./requirementDiagram-UZGBJVZJ-BB9jagBx-4ABuhsu-.js");return{diagram:t}},__vite__mapDeps([23,12,13]));return{id:Sae,diagram:e}},"loader"),JPe={id:Sae,detector:ZPe,loader:QPe},eDe=JPe,kae="sequence",tDe=M(e=>/^\s*sequenceDiagram/.test(e),"detector"),rDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./sequenceDiagram-WL72ISMW-DA6yVs26-Cf4EYRDf.js");return{diagram:t}},__vite__mapDeps([24,9,18]));return{id:kae,diagram:e}},"loader"),nDe={id:kae,detector:tDe,loader:rDe},aDe=nDe,Eae="class",iDe=M((e,t)=>{var r;return((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e)},"detector"),oDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./classDiagram-2ON5EDUG-BngjTxOv-BTvgR8FJ.js");return{diagram:t}},__vite__mapDeps([25,26,11,12,13]));return{id:Eae,diagram:e}},"loader"),sDe={id:Eae,detector:iDe,loader:oDe},lDe=sDe,Aae="classDiagram",cDe=M((e,t)=>{var r;return/^\s*classDiagram/.test(e)&&((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e)},"detector"),uDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./classDiagram-v2-WZHVMYZB-BngjTxOv-BTvgR8FJ.js");return{diagram:t}},__vite__mapDeps([27,26,11,12,13]));return{id:Aae,diagram:e}},"loader"),dDe={id:Aae,detector:cDe,loader:uDe},pDe=dDe,Tae="state",hDe=M((e,t)=>{var r;return((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e)},"detector"),fDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./stateDiagram-FKZM4ZOC-BD8xEcbc-DSZVswAk.js");return{diagram:t}},__vite__mapDeps([28,29,12,13,1,2,3,4]));return{id:Tae,diagram:e}},"loader"),mDe={id:Tae,detector:hDe,loader:fDe},gDe=mDe,Cae="stateDiagram",yDe=M((e,t)=>{var r;return!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),bDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./stateDiagram-v2-4FDKWEC3-DINzAoyF-Biyi4sW7.js");return{diagram:t}},__vite__mapDeps([30,29,12,13]));return{id:Cae,diagram:e}},"loader"),vDe={id:Cae,detector:yDe,loader:bDe},xDe=vDe,_ae="journey",wDe=M(e=>/^\s*journey/.test(e),"detector"),SDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./journeyDiagram-XKPGCS4Q-C6JuEafR-CDMHuJkC.js");return{diagram:t}},__vite__mapDeps([31,9,11,22]));return{id:_ae,diagram:e}},"loader"),kDe={id:_ae,detector:wDe,loader:SDe},EDe=kDe,ADe=M((e,t,r)=>{Pe.debug(`rendering svg for syntax error
1077
- `);const n=iIe(t),a=n.append("g");n.attr("viewBox","0 0 2412 512"),SQ(n,100,512,!0),a.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"),a.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"),a.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"),a.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"),a.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"),a.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"),a.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"),a.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),Iae={draw:ADe},TDe=Iae,CDe={db:{},renderer:Iae,parser:{parse:M(()=>{},"parse")}},_De=CDe,Oae="flowchart-elk",IDe=M((e,t={})=>{var r;return/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(t.layout="elk",!0):!1},"detector"),ODe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./flowDiagram-NV44I4VS-BQUYJeB--BIIW2JbR.js");return{diagram:t}},__vite__mapDeps([10,11,12,13,14]));return{id:Oae,diagram:e}},"loader"),NDe={id:Oae,detector:IDe,loader:ODe},MDe=NDe,Nae="timeline",RDe=M(e=>/^\s*timeline/.test(e),"detector"),LDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./timeline-definition-IT6M3QCI-XN-D5T3b-CUWPxmpi.js");return{diagram:t}},__vite__mapDeps([32,22]));return{id:Nae,diagram:e}},"loader"),PDe={id:Nae,detector:RDe,loader:LDe},DDe=PDe,Mae="mindmap",FDe=M(e=>/^\s*mindmap/.test(e),"detector"),BDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./mindmap-definition-VGOIOE7T-DveejCtl-DLDRL_jx.js");return{diagram:t}},__vite__mapDeps([33,12,13]));return{id:Mae,diagram:e}},"loader"),zDe={id:Mae,detector:FDe,loader:BDe},$De=zDe,Rae="kanban",jDe=M(e=>/^\s*kanban/.test(e),"detector"),UDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./kanban-definition-3W4ZIXB7-Ci4U3NR--DxVvWtAD.js");return{diagram:t}},__vite__mapDeps([34,11]));return{id:Rae,diagram:e}},"loader"),qDe={id:Rae,detector:jDe,loader:UDe},HDe=qDe,Lae="sankey",GDe=M(e=>/^\s*sankey(-beta)?/.test(e),"detector"),VDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./sankeyDiagram-TZEHDZUN-BttZx2-h-DZFrYF3L.js");return{diagram:t}},[]);return{id:Lae,diagram:e}},"loader"),WDe={id:Lae,detector:GDe,loader:VDe},KDe=WDe,Pae="packet",YDe=M(e=>/^\s*packet(-beta)?/.test(e),"detector"),XDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./diagram-S2PKOQOG-tSpHqt0k-44sQtblg.js");return{diagram:t}},__vite__mapDeps([35,17,19,2,4,5]));return{id:Pae,diagram:e}},"loader"),ZDe={id:Pae,detector:YDe,loader:XDe},Dae="radar",QDe=M(e=>/^\s*radar-beta/.test(e),"detector"),JDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./diagram-QEK2KX5R-Km_liL9n-Betp39ze.js");return{diagram:t}},__vite__mapDeps([36,17,19,2,4,5]));return{id:Dae,diagram:e}},"loader"),eFe={id:Dae,detector:QDe,loader:JDe},Fae="block",tFe=M(e=>/^\s*block(-beta)?/.test(e),"detector"),rFe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./blockDiagram-VD42YOAC-jQHtez-j-C4kvu0Em.js");return{diagram:t}},__vite__mapDeps([37,11,5,2,1,14]));return{id:Fae,diagram:e}},"loader"),nFe={id:Fae,detector:tFe,loader:rFe},aFe=nFe,Bae="architecture",iFe=M(e=>/^\s*architecture/.test(e),"detector"),oFe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./architectureDiagram-VXUJARFQ-BuSDV2Do-DuPWl-E8.js");return{diagram:t}},__vite__mapDeps([38,17,19,2,4,5,7]));return{id:Bae,diagram:e}},"loader"),sFe={id:Bae,detector:iFe,loader:oFe},lFe=sFe,zae="treemap",cFe=M(e=>/^\s*treemap/.test(e),"detector"),uFe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./diagram-PSM6KHXK-Dxp2wzKk-BBCx56dy.js");return{diagram:t}},__vite__mapDeps([39,13,17,19,2,4,5]));return{id:zae,diagram:e}},"loader"),dFe={id:zae,detector:cFe,loader:uFe},Bj=!1,s4=M(()=>{Bj||(Bj=!0,Tb("error",_De,e=>e.toLowerCase().trim()==="error"),Tb("---",{db:{clear:M(()=>{},"clear")},styles:{},renderer:{draw:M(()=>{},"draw")},parser:{parse:M(()=>{throw new 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:M(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),UE(MDe,$De,lFe),UE(gPe,HDe,pDe,lDe,_Pe,DPe,zPe,UPe,eDe,aDe,EPe,xPe,DDe,MPe,xDe,gDe,EDe,VPe,KDe,ZDe,XPe,aFe,eFe,dFe))},"addDiagrams"),pFe=M(async()=>{Pe.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(Ru).map(async([t,{detector:r,loader:n}])=>{if(n)try{VE(t)}catch{try{const{diagram:a,id:i}=await n();Tb(i,a,r)}catch(a){throw Pe.error(`Failed to load external diagram with key ${t}. Removing from detectors.`),delete Ru[t],a}}}))).filter(t=>t.status==="rejected");if(e.length>0){Pe.error(`Failed to load ${e.length} external diagrams`);for(const t of e)Pe.error(t);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams"),hFe="graphics-document document";function $ae(e,t){e.attr("role",hFe),t!==""&&e.attr("aria-roledescription",t)}M($ae,"setA11yDiagramInfo");function jae(e,t,r,n){if(e.insert!==void 0){if(r){const a=`chart-desc-${n}`;e.attr("aria-describedby",a),e.insert("desc",":first-child").attr("id",a).text(r)}if(t){const a=`chart-title-${n}`;e.attr("aria-labelledby",a),e.insert("title",":first-child").attr("id",a).text(t)}}}M(jae,"addSVGa11yTitleDescription");var qg,UA=(qg=class{constructor(e,t,r,n,a){this.type=e,this.text=t,this.db=r,this.parser=n,this.renderer=a}static async fromText(e,t={}){var r,n;const a=Fa(),i=MC(e,a);e=dRe(e)+`
1076
+ L0,20`)},"requirement_arrow"),NLe=M((e,t,r)=>{const n=e.append("defs").append("marker").attr("id",r+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),MLe={extension:yLe,composition:bLe,aggregation:vLe,dependency:xLe,lollipop:wLe,point:SLe,circle:kLe,cross:ELe,barb:ALe,only_one:TLe,zero_or_one:CLe,one_or_more:_Le,zero_or_more:ILe,requirement_arrow:OLe,requirement_contains:NLe},RLe=gLe,LLe={common:G0,getConfig:Fa,insertCluster:U5e,insertEdge:mLe,insertEdgeLabel:cLe,insertMarkers:RLe,insertNode:tae,interpolateToCurve:$_,labelHelper:_t,log:Pe,positionEdgeLabel:uLe},kf={},iae=M(e=>{for(const t of e)kf[t.name]=t},"registerLayoutLoaders"),PLe=M(()=>{iae([{name:"dagre",loader:M(async()=>await tr(()=>import("./dagre-6UL2VRFP-B799wmhr-DuXOlM7I.js"),__vite__mapDeps([0,1,2,3,4,5])),"loader")},{name:"cose-bilkent",loader:M(async()=>await tr(()=>import("./cose-bilkent-S5V4N54A-DcyCVH6S-zMMT3oqX.js"),__vite__mapDeps([6,7])),"loader")}])},"registerDefaultLayoutLoaders");PLe();var Zrt=M(async(e,t)=>{if(!(e.layoutAlgorithm in kf))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);const r=kf[e.layoutAlgorithm];return(await r.loader()).render(e,t,LLe,{algorithm:r.algorithm})},"render"),Qrt=M((e="",{fallback:t="dagre"}={})=>{if(e in kf)return e;if(t in kf)return Pe.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw new Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm"),oae="comm",sae="rule",lae="decl",DLe="@import",FLe="@namespace",BLe="@keyframes",zLe="@layer",cae=Math.abs,oI=String.fromCharCode;function uae(e){return e.trim()}function My(e,t,r){return e.replace(t,r)}function $Le(e,t,r){return e.indexOf(t,r)}function l0(e,t){return e.charCodeAt(t)|0}function O0(e,t,r){return e.slice(t,r)}function hs(e){return e.length}function jLe(e){return e.length}function Ug(e,t){return t.push(e),e}var i4=1,N0=1,dae=0,wo=0,Dn=0,Z0="";function sI(e,t,r,n,a,i,o,s){return{value:e,root:t,parent:r,type:n,props:a,children:i,line:i4,column:N0,length:o,return:"",siblings:s}}function ULe(){return Dn}function qLe(){return Dn=wo>0?l0(Z0,--wo):0,N0--,Dn===10&&(N0=1,i4--),Dn}function Wo(){return Dn=wo<dae?l0(Z0,wo++):0,N0++,Dn===10&&(N0=1,i4++),Dn}function uc(){return l0(Z0,wo)}function Ry(){return wo}function o4(e,t){return O0(Z0,e,t)}function Ef(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 HLe(e){return i4=N0=1,dae=hs(Z0=e),wo=0,[]}function GLe(e){return Z0="",e}function Y7(e){return uae(o4(wo-1,DA(e===91?e+2:e===40?e+1:e)))}function VLe(e){for(;(Dn=uc())&&Dn<33;)Wo();return Ef(e)>2||Ef(Dn)>3?"":" "}function WLe(e,t){for(;--t&&Wo()&&!(Dn<48||Dn>102||Dn>57&&Dn<65||Dn>70&&Dn<97););return o4(e,Ry()+(t<6&&uc()==32&&Wo()==32))}function DA(e){for(;Wo();)switch(Dn){case e:return wo;case 34:case 39:e!==34&&e!==39&&DA(Dn);break;case 40:e===41&&DA(e);break;case 92:Wo();break}return wo}function KLe(e,t){for(;Wo()&&e+Dn!==57&&!(e+Dn===84&&uc()===47););return"/*"+o4(t,wo-1)+"*"+oI(e===47?e:Wo())}function YLe(e){for(;!Ef(uc());)Wo();return o4(e,wo)}function XLe(e){return GLe(Ly("",null,null,null,[""],e=HLe(e),0,[0],e))}function Ly(e,t,r,n,a,i,o,s,l){for(var c=0,u=0,p=o,d=0,h=0,f=0,m=1,x=1,b=1,v=0,S="",C=a,E=i,A=n,N=S;x;)switch(f=v,v=Wo()){case 40:if(f!=108&&l0(N,p-1)==58){$Le(N+=My(Y7(v),"&","&\f"),"&\f",cae(c?s[c-1]:0))!=-1&&(b=-1);break}case 34:case 39:case 91:N+=Y7(v);break;case 9:case 10:case 13:case 32:N+=VLe(f);break;case 92:N+=WLe(Ry()-1,7);continue;case 47:switch(uc()){case 42:case 47:Ug(ZLe(KLe(Wo(),Ry()),t,r,l),l),(Ef(f||1)==5||Ef(uc()||1)==5)&&hs(N)&&O0(N,-1,void 0)!==" "&&(N+=" ");break;default:N+="/"}break;case 123*m:s[c++]=hs(N)*b;case 125*m:case 59:case 0:switch(v){case 0:case 125:x=0;case 59+u:b==-1&&(N=My(N,/\f/g,"")),h>0&&(hs(N)-p||m===0&&f===47)&&Ug(h>32?Nj(N+";",n,r,p-1,l):Nj(My(N," ","")+";",n,r,p-2,l),l);break;case 59:N+=";";default:if(Ug(A=Oj(N,t,r,c,u,a,s,S,C=[],E=[],p,i),i),v===123)if(u===0)Ly(N,t,A,A,C,i,p,s,E);else{switch(d){case 99:if(l0(N,3)===110)break;case 108:if(l0(N,2)===97)break;default:u=0;case 100:case 109:case 115:}u?Ly(e,A,A,n&&Ug(Oj(e,A,A,0,0,a,s,S,a,C=[],p,E),E),a,E,p,s,n?C:E):Ly(N,A,A,A,[""],E,0,s,E)}}c=u=h=0,m=b=1,S=N="",p=o;break;case 58:p=1+hs(N),h=f;default:if(m<1){if(v==123)--m;else if(v==125&&m++==0&&qLe()==125)continue}switch(N+=oI(v),v*m){case 38:b=u>0?1:(N+="\f",-1);break;case 44:s[c++]=(hs(N)-1)*b,b=1;break;case 64:uc()===45&&(N+=Y7(Wo())),d=uc(),u=p=hs(S=N+=YLe(Ry())),v++;break;case 45:f===45&&hs(N)==2&&(m=0)}}return i}function Oj(e,t,r,n,a,i,o,s,l,c,u,p){for(var d=a-1,h=a===0?i:[""],f=jLe(h),m=0,x=0,b=0;m<n;++m)for(var v=0,S=O0(e,d+1,d=cae(x=o[m])),C=e;v<f;++v)(C=uae(x>0?h[v]+" "+S:My(S,/&\f/g,h[v])))&&(l[b++]=C);return sI(e,t,r,a===0?sae:s,l,c,u,p)}function ZLe(e,t,r,n){return sI(e,t,r,oae,oI(ULe()),O0(e,2,-2),0,n)}function Nj(e,t,r,n,a){return sI(e,t,r,lae,O0(e,0,n),O0(e,n+1,-1),n,a)}function FA(e,t){for(var r="",n=0;n<e.length;n++)r+=t(e[n],n,e,t)||"";return r}function QLe(e,t,r,n){switch(e.type){case zLe:if(e.children.length)break;case DLe:case FLe:case lae:return e.return=e.return||e.value;case oae:return"";case BLe:return e.return=e.value+"{"+FA(e.children,n)+"}";case sae:if(!hs(e.value=e.props.join(",")))return""}return hs(r=FA(e.children,n))?e.return=e.value+"{"+r+"}":""}var JLe=Fte(Object.keys,Object),ePe=Object.prototype,tPe=ePe.hasOwnProperty;function rPe(e){if(!Yv(e))return JLe(e);var t=[];for(var r in Object(e))tPe.call(e,r)&&r!="constructor"&&t.push(r);return t}var BA=sd(Rs,"DataView"),zA=sd(Rs,"Promise"),$A=sd(Rs,"Set"),jA=sd(Rs,"WeakMap"),Mj="[object Map]",nPe="[object Object]",Rj="[object Promise]",Lj="[object Set]",Pj="[object WeakMap]",Dj="[object DataView]",aPe=od(BA),iPe=od(wf),oPe=od(zA),sPe=od($A),lPe=od(jA),ru=K0;(BA&&ru(new BA(new ArrayBuffer(1)))!=Dj||wf&&ru(new wf)!=Mj||zA&&ru(zA.resolve())!=Rj||$A&&ru(new $A)!=Lj||jA&&ru(new jA)!=Pj)&&(ru=function(e){var t=K0(e),r=t==nPe?e.constructor:void 0,n=r?od(r):"";if(n)switch(n){case aPe:return Dj;case iPe:return Mj;case oPe:return Rj;case sPe:return Lj;case lPe:return Pj}return t});var cPe="[object Map]",uPe="[object Set]",dPe=Object.prototype,pPe=dPe.hasOwnProperty;function Fj(e){if(e==null)return!0;if(Xv(e)&&(Jb(e)||typeof e=="string"||typeof e.splice=="function"||B_(e)||z_(e)||Qb(e)))return!e.length;var t=ru(e);if(t==cPe||t==uPe)return!e.size;if(Yv(e))return!rPe(e).length;for(var r in e)if(pPe.call(e,r))return!1;return!0}var pae="c4",hPe=M(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),fPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./c4Diagram-YG6GDRKO-_5giM-EA-DjRoFacG.js");return{diagram:t}},__vite__mapDeps([8,9]));return{id:pae,diagram:e}},"loader"),mPe={id:pae,detector:hPe,loader:fPe},gPe=mPe,hae="flowchart",yPe=M((e,t)=>{var r,n;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((n=t==null?void 0:t.flowchart)==null?void 0:n.defaultRenderer)==="elk"?!1:/^\s*graph/.test(e)},"detector"),bPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./flowDiagram-NV44I4VS-BQUYJeB--D2fTwlvO.js");return{diagram:t}},__vite__mapDeps([10,11,12,13,14]));return{id:hae,diagram:e}},"loader"),vPe={id:hae,detector:yPe,loader:bPe},xPe=vPe,fae="flowchart-v2",wPe=M((e,t)=>{var r,n,a;return((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((n=t==null?void 0:t.flowchart)==null?void 0:n.defaultRenderer)==="elk"&&(t.layout="elk"),/^\s*graph/.test(e)&&((a=t==null?void 0:t.flowchart)==null?void 0:a.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(e))},"detector"),SPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./flowDiagram-NV44I4VS-BQUYJeB--D2fTwlvO.js");return{diagram:t}},__vite__mapDeps([10,11,12,13,14]));return{id:fae,diagram:e}},"loader"),kPe={id:fae,detector:wPe,loader:SPe},EPe=kPe,mae="er",APe=M(e=>/^\s*erDiagram/.test(e),"detector"),TPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./erDiagram-Q2GNP2WA-DF6ylQ7o-CjIoFnUJ.js");return{diagram:t}},__vite__mapDeps([15,12,13,14]));return{id:mae,diagram:e}},"loader"),CPe={id:mae,detector:APe,loader:TPe},_Pe=CPe,gae="gitGraph",IPe=M(e=>/^\s*gitGraph/.test(e),"detector"),OPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./gitGraphDiagram-NY62KEGX-zbMOFVrv-DTVFadEr.js");return{diagram:t}},__vite__mapDeps([16,17,18,19,2,4,5]));return{id:gae,diagram:e}},"loader"),NPe={id:gae,detector:IPe,loader:OPe},MPe=NPe,yae="gantt",RPe=M(e=>/^\s*gantt/.test(e),"detector"),LPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./ganttDiagram-LVOFAZNH-BidPm1xz-D_x48jVE.js");return{diagram:t}},[]);return{id:yae,diagram:e}},"loader"),PPe={id:yae,detector:RPe,loader:LPe},DPe=PPe,bae="info",FPe=M(e=>/^\s*info/.test(e),"detector"),BPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./infoDiagram-ER5ION4S-ozjqEnsq-D0PwL9B_.js");return{diagram:t}},__vite__mapDeps([20,19,2,4,5]));return{id:bae,diagram:e}},"loader"),zPe={id:bae,detector:FPe,loader:BPe},vae="pie",$Pe=M(e=>/^\s*pie/.test(e),"detector"),jPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./pieDiagram-ADFJNKIX-DAbSGtae-BruonBFZ.js");return{diagram:t}},__vite__mapDeps([21,17,19,2,4,5,22]));return{id:vae,diagram:e}},"loader"),UPe={id:vae,detector:$Pe,loader:jPe},xae="quadrantChart",qPe=M(e=>/^\s*quadrantChart/.test(e),"detector"),HPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./quadrantDiagram-AYHSOK5B-DnnzUQMW-DzWXEz5-.js");return{diagram:t}},[]);return{id:xae,diagram:e}},"loader"),GPe={id:xae,detector:qPe,loader:HPe},VPe=GPe,wae="xychart",WPe=M(e=>/^\s*xychart(-beta)?/.test(e),"detector"),KPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./xychartDiagram-PRI3JC2R-BL53__6J-XcAq-Lxf.js");return{diagram:t}},[]);return{id:wae,diagram:e}},"loader"),YPe={id:wae,detector:WPe,loader:KPe},XPe=YPe,Sae="requirement",ZPe=M(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),QPe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./requirementDiagram-UZGBJVZJ-BB9jagBx-q21wBQ9N.js");return{diagram:t}},__vite__mapDeps([23,12,13]));return{id:Sae,diagram:e}},"loader"),JPe={id:Sae,detector:ZPe,loader:QPe},eDe=JPe,kae="sequence",tDe=M(e=>/^\s*sequenceDiagram/.test(e),"detector"),rDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./sequenceDiagram-WL72ISMW-DA6yVs26-B4W8xwkp.js");return{diagram:t}},__vite__mapDeps([24,9,18]));return{id:kae,diagram:e}},"loader"),nDe={id:kae,detector:tDe,loader:rDe},aDe=nDe,Eae="class",iDe=M((e,t)=>{var r;return((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e)},"detector"),oDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./classDiagram-2ON5EDUG-BngjTxOv-2Y-76rXt.js");return{diagram:t}},__vite__mapDeps([25,26,11,12,13]));return{id:Eae,diagram:e}},"loader"),sDe={id:Eae,detector:iDe,loader:oDe},lDe=sDe,Aae="classDiagram",cDe=M((e,t)=>{var r;return/^\s*classDiagram/.test(e)&&((r=t==null?void 0:t.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e)},"detector"),uDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./classDiagram-v2-WZHVMYZB-BngjTxOv-2Y-76rXt.js");return{diagram:t}},__vite__mapDeps([27,26,11,12,13]));return{id:Aae,diagram:e}},"loader"),dDe={id:Aae,detector:cDe,loader:uDe},pDe=dDe,Tae="state",hDe=M((e,t)=>{var r;return((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e)},"detector"),fDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./stateDiagram-FKZM4ZOC-BD8xEcbc-BWOiPxZu.js");return{diagram:t}},__vite__mapDeps([28,29,12,13,1,2,3,4]));return{id:Tae,diagram:e}},"loader"),mDe={id:Tae,detector:hDe,loader:fDe},gDe=mDe,Cae="stateDiagram",yDe=M((e,t)=>{var r;return!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&((r=t==null?void 0:t.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),bDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./stateDiagram-v2-4FDKWEC3-DINzAoyF-DshiRv7Q.js");return{diagram:t}},__vite__mapDeps([30,29,12,13]));return{id:Cae,diagram:e}},"loader"),vDe={id:Cae,detector:yDe,loader:bDe},xDe=vDe,_ae="journey",wDe=M(e=>/^\s*journey/.test(e),"detector"),SDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./journeyDiagram-XKPGCS4Q-C6JuEafR-BSuib8Wf.js");return{diagram:t}},__vite__mapDeps([31,9,11,22]));return{id:_ae,diagram:e}},"loader"),kDe={id:_ae,detector:wDe,loader:SDe},EDe=kDe,ADe=M((e,t,r)=>{Pe.debug(`rendering svg for syntax error
1077
+ `);const n=iIe(t),a=n.append("g");n.attr("viewBox","0 0 2412 512"),SQ(n,100,512,!0),a.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"),a.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"),a.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"),a.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"),a.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"),a.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"),a.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"),a.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),Iae={draw:ADe},TDe=Iae,CDe={db:{},renderer:Iae,parser:{parse:M(()=>{},"parse")}},_De=CDe,Oae="flowchart-elk",IDe=M((e,t={})=>{var r;return/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&((r=t==null?void 0:t.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(t.layout="elk",!0):!1},"detector"),ODe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./flowDiagram-NV44I4VS-BQUYJeB--D2fTwlvO.js");return{diagram:t}},__vite__mapDeps([10,11,12,13,14]));return{id:Oae,diagram:e}},"loader"),NDe={id:Oae,detector:IDe,loader:ODe},MDe=NDe,Nae="timeline",RDe=M(e=>/^\s*timeline/.test(e),"detector"),LDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./timeline-definition-IT6M3QCI-XN-D5T3b-l0nKzR1k.js");return{diagram:t}},__vite__mapDeps([32,22]));return{id:Nae,diagram:e}},"loader"),PDe={id:Nae,detector:RDe,loader:LDe},DDe=PDe,Mae="mindmap",FDe=M(e=>/^\s*mindmap/.test(e),"detector"),BDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./mindmap-definition-VGOIOE7T-DveejCtl-DXLxEnp4.js");return{diagram:t}},__vite__mapDeps([33,12,13]));return{id:Mae,diagram:e}},"loader"),zDe={id:Mae,detector:FDe,loader:BDe},$De=zDe,Rae="kanban",jDe=M(e=>/^\s*kanban/.test(e),"detector"),UDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./kanban-definition-3W4ZIXB7-Ci4U3NR--Bxb6Yi8G.js");return{diagram:t}},__vite__mapDeps([34,11]));return{id:Rae,diagram:e}},"loader"),qDe={id:Rae,detector:jDe,loader:UDe},HDe=qDe,Lae="sankey",GDe=M(e=>/^\s*sankey(-beta)?/.test(e),"detector"),VDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./sankeyDiagram-TZEHDZUN-BttZx2-h-Cr53tHP7.js");return{diagram:t}},[]);return{id:Lae,diagram:e}},"loader"),WDe={id:Lae,detector:GDe,loader:VDe},KDe=WDe,Pae="packet",YDe=M(e=>/^\s*packet(-beta)?/.test(e),"detector"),XDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./diagram-S2PKOQOG-tSpHqt0k-Dhi7ufxY.js");return{diagram:t}},__vite__mapDeps([35,17,19,2,4,5]));return{id:Pae,diagram:e}},"loader"),ZDe={id:Pae,detector:YDe,loader:XDe},Dae="radar",QDe=M(e=>/^\s*radar-beta/.test(e),"detector"),JDe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./diagram-QEK2KX5R-Km_liL9n-DiDvLC9k.js");return{diagram:t}},__vite__mapDeps([36,17,19,2,4,5]));return{id:Dae,diagram:e}},"loader"),eFe={id:Dae,detector:QDe,loader:JDe},Fae="block",tFe=M(e=>/^\s*block(-beta)?/.test(e),"detector"),rFe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./blockDiagram-VD42YOAC-jQHtez-j-rtzBv-vF.js");return{diagram:t}},__vite__mapDeps([37,11,5,2,1,14]));return{id:Fae,diagram:e}},"loader"),nFe={id:Fae,detector:tFe,loader:rFe},aFe=nFe,Bae="architecture",iFe=M(e=>/^\s*architecture/.test(e),"detector"),oFe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./architectureDiagram-VXUJARFQ-BuSDV2Do-_okKpoAJ.js");return{diagram:t}},__vite__mapDeps([38,17,19,2,4,5,7]));return{id:Bae,diagram:e}},"loader"),sFe={id:Bae,detector:iFe,loader:oFe},lFe=sFe,zae="treemap",cFe=M(e=>/^\s*treemap/.test(e),"detector"),uFe=M(async()=>{const{diagram:e}=await tr(async()=>{const{diagram:t}=await import("./diagram-PSM6KHXK-Dxp2wzKk-CmF_yeQm.js");return{diagram:t}},__vite__mapDeps([39,13,17,19,2,4,5]));return{id:zae,diagram:e}},"loader"),dFe={id:zae,detector:cFe,loader:uFe},Bj=!1,s4=M(()=>{Bj||(Bj=!0,Tb("error",_De,e=>e.toLowerCase().trim()==="error"),Tb("---",{db:{clear:M(()=>{},"clear")},styles:{},renderer:{draw:M(()=>{},"draw")},parser:{parse:M(()=>{throw new 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:M(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),UE(MDe,$De,lFe),UE(gPe,HDe,pDe,lDe,_Pe,DPe,zPe,UPe,eDe,aDe,EPe,xPe,DDe,MPe,xDe,gDe,EDe,VPe,KDe,ZDe,XPe,aFe,eFe,dFe))},"addDiagrams"),pFe=M(async()=>{Pe.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(Ru).map(async([t,{detector:r,loader:n}])=>{if(n)try{VE(t)}catch{try{const{diagram:a,id:i}=await n();Tb(i,a,r)}catch(a){throw Pe.error(`Failed to load external diagram with key ${t}. Removing from detectors.`),delete Ru[t],a}}}))).filter(t=>t.status==="rejected");if(e.length>0){Pe.error(`Failed to load ${e.length} external diagrams`);for(const t of e)Pe.error(t);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams"),hFe="graphics-document document";function $ae(e,t){e.attr("role",hFe),t!==""&&e.attr("aria-roledescription",t)}M($ae,"setA11yDiagramInfo");function jae(e,t,r,n){if(e.insert!==void 0){if(r){const a=`chart-desc-${n}`;e.attr("aria-describedby",a),e.insert("desc",":first-child").attr("id",a).text(r)}if(t){const a=`chart-title-${n}`;e.attr("aria-labelledby",a),e.insert("title",":first-child").attr("id",a).text(t)}}}M(jae,"addSVGa11yTitleDescription");var qg,UA=(qg=class{constructor(e,t,r,n,a){this.type=e,this.text=t,this.db=r,this.parser=n,this.renderer=a}static async fromText(e,t={}){var r,n;const a=Fa(),i=MC(e,a);e=dRe(e)+`
1078
1078
  `;try{VE(i)}catch{const u=g8e(i);if(!u)throw new uQ(`Diagram ${i} not found.`);const{id:p,diagram:d}=await u();Tb(p,d)}const{db:o,parser:s,renderer:l,init:c}=VE(i);return s.parser&&(s.parser.yy=o),(r=o.clear)==null||r.call(o),c==null||c(a),t.title&&((n=o.setDiagramTitle)==null||n.call(o,t.title)),await s.parse(e),new qg(i,e,o,s,l)}async render(e,t){await this.renderer.draw(this.text,e,t,this)}getParser(){return this.parser}getType(){return this.type}},M(qg,"Diagram"),qg),zj=[],fFe=M(()=>{zj.forEach(e=>{e()}),zj=[]},"attachFunctions"),mFe=M(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function Uae(e){const t=e.match(cQ);if(!t)return{text:e,metadata:{}};let r=pOe(t[1],{schema:dOe})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};const n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:e.slice(t[0].length),metadata:n}}M(Uae,"extractFrontMatter");var gFe=M(e=>e.replace(/\r\n?/g,`
1079
1079
  `).replace(/<(\w+)([^>]*)>/g,(t,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),yFe=M(e=>{const{text:t,metadata:r}=Uae(e),{displayMode:n,title:a,config:i={}}=r;return n&&(i.gantt||(i.gantt={}),i.gantt.displayMode=n),{title:a,config:i,text:t}},"processFrontmatter"),bFe=M(e=>{const t=$o.detectInit(e)??{},r=$o.detectDirective(e,"wrap");return Array.isArray(r)?t.wrap=r.some(({type:n})=>n==="wrap"):(r==null?void 0:r.type)==="wrap"&&(t.wrap=!0),{text:QMe(e),directive:t}},"processDirectives");function lI(e){const t=gFe(e),r=yFe(t),n=bFe(r.text),a=G_(r.config,n.directive);return e=mFe(n.text),{code:e,title:r.title,config:a}}M(lI,"preprocessDiagram");function qae(e){const t=new TextEncoder().encode(e),r=Array.from(t,n=>String.fromCodePoint(n)).join("");return btoa(r)}M(qae,"toBase64");var vFe=5e4,xFe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",wFe="sandbox",SFe="loose",kFe="http://www.w3.org/2000/svg",EFe="http://www.w3.org/1999/xlink",AFe="http://www.w3.org/1999/xhtml",TFe="100%",CFe="100%",_Fe="border:0;margin:0;",IFe="margin:0",OFe="allow-top-navigation-by-user-activation allow-popups",NFe='The "iframe" tag is not supported by your browser.',MFe=["foreignobject"],RFe=["dominant-baseline"];function cI(e){const t=lI(e);return Eb(),M8e(t.config??{}),t}M(cI,"processAndSetConfigs");async function Hae(e,t){s4();try{const{code:r,config:n}=cI(e);return{diagramType:(await Vae(r)).type,config:n}}catch(r){if(t!=null&&t.suppressErrors)return!1;throw r}}M(Hae,"parse");var $j=M((e,t,r=[])=>`
1080
1080
  .${e} ${t} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),LFe=M((e,t=new Map)=>{var r;let n="";if(e.themeCSS!==void 0&&(n+=`
@@ -1163,11 +1163,11 @@ ${e.themeCSS}`),e.fontFamily!==void 0&&(n+=`
1163
1163
  from { transform: rotate(0deg); }
1164
1164
  to { transform: rotate(360deg); }
1165
1165
  }
1166
- `})]}),s.title&&_e.jsx("h4",{style:{textAlign:"center",marginBottom:s.description?"4px":"12px",marginTop:0,color:Y,fontWeight:600},children:s.title}),s.description&&_e.jsx("p",{style:{textAlign:"center",marginTop:0,marginBottom:"12px",color:W,fontSize:"0.9rem"},children:s.description}),_e.jsxs(Eje,{width:"100%",height:v,children:[s.type==="bar"&&_e.jsxs(itt,{data:s.data,margin:It,barCategoryGap:"20%",children:[A&&_e.jsx(Nd,{strokeDasharray:"3 3",stroke:te}),_e.jsx(Md,{dataKey:s.xKey||"name",label:Qt,...J,...Be,tickFormatter:dr}),_e.jsx(us,{yAxisId:"left",width:80,tickFormatter:at,...J,children:Vs(F,"left")}),C&&_e.jsx(us,{yAxisId:"right",orientation:"right",width:80,tickFormatter:at,...J,children:Vs(z,"right")}),_e.jsx(Ad,{contentStyle:Oe,labelStyle:Ae,itemStyle:Qe,formatter:ct,labelFormatter:vr,cursor:nt}),E&&_e.jsx(au,{wrapperStyle:Mr}),N,S.map(Me=>_e.jsx(IT,{name:Me.name,dataKey:Me.key,fill:Me.color,stackId:Me.stackId,yAxisId:Me.yAxisId,radius:[4,4,0,0]},Me.key))]}),s.type==="line"&&_e.jsxs(ntt,{data:s.data,margin:It,children:[A&&_e.jsx(Nd,{strokeDasharray:"3 3",stroke:te}),_e.jsx(Md,{dataKey:s.xKey||"name",label:Qt,...J,...Be,tickFormatter:dr}),_e.jsx(us,{yAxisId:"left",width:80,tickFormatter:at,...J,children:Vs(F,"left")}),C&&_e.jsx(us,{yAxisId:"right",orientation:"right",width:80,tickFormatter:at,...J,children:Vs(z,"right")}),_e.jsx(Ad,{contentStyle:Oe,labelStyle:Ae,itemStyle:Qe,formatter:ct,labelFormatter:vr,cursor:nt}),E&&_e.jsx(au,{wrapperStyle:Mr}),N,S.map(Me=>_e.jsx(OT,{name:Me.name,type:"monotone",dataKey:Me.key,stroke:Me.color,yAxisId:Me.yAxisId,strokeWidth:Me.strokeWidth,dot:Me.dot},Me.key))]}),s.type==="area"&&_e.jsxs(wtt,{data:s.data,margin:It,children:[A&&_e.jsx(Nd,{strokeDasharray:"3 3",stroke:te}),_e.jsx(Md,{dataKey:s.xKey||"name",label:Qt,...J,...Be,tickFormatter:dr}),_e.jsx(us,{yAxisId:"left",width:80,tickFormatter:at,...J,children:Vs(F,"left")}),C&&_e.jsx(us,{yAxisId:"right",orientation:"right",width:80,tickFormatter:at,...J,children:Vs(z,"right")}),_e.jsx(Ad,{contentStyle:Oe,labelStyle:Ae,itemStyle:Qe,formatter:ct,labelFormatter:vr,cursor:nt}),E&&_e.jsx(au,{wrapperStyle:Mr}),N,S.map(Me=>_e.jsx(NT,{name:Me.name,type:"monotone",dataKey:Me.key,stroke:Me.color,yAxisId:Me.yAxisId,fill:Me.color,fillOpacity:Me.opacity,stackId:Me.stackId},Me.key))]}),s.type==="composed"&&_e.jsxs(ktt,{data:s.data,margin:It,children:[A&&_e.jsx(Nd,{strokeDasharray:"3 3",stroke:te}),_e.jsx(Md,{dataKey:s.xKey||"name",label:Qt,...J,...Be,tickFormatter:dr}),_e.jsx(us,{yAxisId:"left",width:80,tickFormatter:at,...J,children:Vs(F,"left")}),C&&_e.jsx(us,{yAxisId:"right",orientation:"right",width:80,tickFormatter:at,...J,children:Vs(z,"right")}),_e.jsx(Ad,{contentStyle:Oe,labelStyle:Ae,itemStyle:Qe,formatter:ct,labelFormatter:vr,cursor:nt}),E&&_e.jsx(au,{wrapperStyle:Mr}),N,S.map(Me=>{switch(Me.type){case"line":return _e.jsx(OT,{name:Me.name,type:"monotone",dataKey:Me.key,stroke:Me.color,yAxisId:Me.yAxisId,strokeWidth:Me.strokeWidth,dot:Me.dot},Me.key);case"area":return _e.jsx(NT,{name:Me.name,type:"monotone",dataKey:Me.key,stroke:Me.color,yAxisId:Me.yAxisId,fill:Me.color,fillOpacity:Me.opacity,stackId:Me.stackId},Me.key);case"scatter":return _e.jsx(RT,{name:Me.name,dataKey:Me.key,fill:Me.color,yAxisId:Me.yAxisId},Me.key);default:return _e.jsx(IT,{name:Me.name,dataKey:Me.key,fill:Me.color,stackId:Me.stackId,yAxisId:Me.yAxisId,radius:[4,4,0,0]},Me.key)}})]}),s.type==="pie"&&_e.jsxs(ytt,{children:[_e.jsx(Sle,{data:s.data,dataKey:((n=s.dataKeys)==null?void 0:n[0])||"value",nameKey:s.xKey||"name",cx:"50%",cy:"50%",outerRadius:v/3,label:{fill:Y},children:s.data.map((Me,Re)=>_e.jsx(dp,{fill:b[Re%b.length]},`cell-${Re}`))}),_e.jsx(Ad,{contentStyle:Oe,itemStyle:Qe,formatter:ct}),E&&_e.jsx(au,{wrapperStyle:Mr})]}),s.type==="scatter"&&_e.jsxs(vtt,{margin:It,children:[A&&_e.jsx(Nd,{strokeDasharray:"3 3",stroke:te}),_e.jsx(Md,{dataKey:s.xKey||"x",label:Qt,...J,...Be,tickFormatter:dr}),_e.jsx(us,{dataKey:((a=s.dataKeys)==null?void 0:a[0])||"y",width:80,tickFormatter:at,...J,children:Vs(F,"left")}),_e.jsx(Ad,{contentStyle:Oe,labelStyle:Ae,itemStyle:Qe,formatter:ct,labelFormatter:vr,cursor:nt}),E&&_e.jsx(au,{wrapperStyle:Mr}),N,_e.jsx(RT,{name:"Data",data:s.data,fill:b[0]})]})]})]})};let Td=null;const Ntt=async()=>{if(typeof window>"u")throw new Error("abcjs requires a browser environment");if(Td)return Td;try{const e=await tr(()=>import("./index-rW5EEHFR-DdBF6BH7.js"),[]).then(r=>r.i),t=e.default||e;if(!t)throw new Error("abcjs module is empty");if(typeof t.renderAbc!="function")throw new Error(`renderAbc is not a function. Available methods: ${Object.keys(t).join(", ")}`);return Td=t,Td}catch(e){if(typeof window<"u"&&window.ABCJS)return Td=window.ABCJS,Td;const t=e instanceof Error?e.message:"Failed to load abcjs";throw new Error(`Failed to load abcjs: ${t}`)}},Mtt=e=>{const t=e.trim();return/^[XMTLK]:/m.test(t)||/^X:\d+/m.test(t)},Rtt=({code:e})=>{const t=T.useRef(null),[r,n]=T.useState(null),[a,i]=T.useState(!0),[o,s]=T.useState(!1),[l,c]=T.useState(!1);return T.useEffect(()=>{if(!e.trim()){i(!1),s(!1);return}Mtt(e)?(s(!0),n(null)):(s(!1),n("Unable to detect ABC notation. Expected ABC notation starting with headers like X:, T:, M:, L:, or K:"),i(!1))},[e]),T.useEffect(()=>{!o||!e.trim()||(async()=>{try{i(!0);let u=0;const p=10;for(;!t.current&&u<p;)await new Promise(h=>setTimeout(h,50)),u++;if(!t.current)throw new Error("Container element not found after waiting");const d=await Ntt();t.current.innerHTML="",d.renderAbc(t.current,e,{responsive:"resize",staffwidth:740,paddingleft:0,paddingright:0,paddingtop:20,paddingbottom:20,scale:1}),n(null),i(!1)}catch(u){const p=u instanceof Error?u.message:"Failed to render ABC notation";n(p),i(!1)}})()},[e,o]),r?_e.jsxs("div",{className:"graph-error",children:[_e.jsxs("div",{className:"graph-error-header",children:[_e.jsx("div",{className:"graph-error-icon",children:"⚠️"}),_e.jsxs("div",{className:"graph-error-content",children:[_e.jsx("div",{className:"graph-error-title",children:"ABC Notation Rendering Error"}),_e.jsx("div",{className:"graph-error-message",children:r})]})]}),_e.jsxs("button",{className:"graph-error-toggle",onClick:()=>c(!l),type:"button",children:[l?"Hide":"Show"," Details"]}),l&&_e.jsxs("details",{className:"graph-error-details",open:!0,children:[_e.jsx("summary",{style:{cursor:"pointer",marginBottom:"8px",fontWeight:500},children:"ABC Notation Code"}),_e.jsx("pre",{style:{marginTop:"8px",fontSize:"0.8em",opacity:.8,padding:"8px",background:"rgba(0, 0, 0, 0.05)",borderRadius:"4px",overflow:"auto",maxHeight:"200px"},children:_e.jsx("code",{children:e})})]})]}):o?_e.jsxs("div",{className:"graph-container music-container abc-container",children:[a&&!r&&_e.jsx("div",{style:{padding:"20px",textAlign:"center",position:"absolute",zIndex:1},children:"Loading ABC notation..."}),_e.jsx("div",{ref:t})]}):null},Ltt=e=>{var t,r;if(!e)return typeof window<"u"&&(t=window.matchMedia)!=null&&t.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light";const n=e.closest(".markdown-content");if(n){if(n.classList.contains("dark"))return"dark";if(n.classList.contains("light"))return"light"}if(e.closest(".dark"))return"dark";if(e.closest(".light"))return"light";const a=e.closest("[data-theme]");if(a){const i=a.getAttribute("data-theme");if(i==="dark")return"dark";if(i==="light")return"light"}return typeof window<"u"&&(r=window.matchMedia)!=null&&r.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"},GV=({code:e})=>{const[t,r]=T.useState(!1),n=async()=>{try{await navigator.clipboard.writeText(e),r(!0),setTimeout(()=>r(!1),2e3)}catch{const a=document.createElement("textarea");a.value=e,a.style.position="fixed",a.style.opacity="0",document.body.appendChild(a),a.select();try{document.execCommand("copy"),r(!0),setTimeout(()=>r(!1),2e3)}catch(i){console.error("Failed to copy code:",i)}document.body.removeChild(a)}};return _e.jsxs("button",{className:"code-copy-button",onClick:n,title:t?"Copied!":"Copy code","aria-label":t?"Copied!":"Copy code to clipboard",children:[t?_e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:_e.jsx("path",{d:"M13.5 4.5L6 12L2.5 8.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}):_e.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[_e.jsx("path",{d:"M5.5 4.5H3.5C2.94772 4.5 2.5 4.94772 2.5 5.5V12.5C2.5 13.0523 2.94772 13.5 3.5 13.5H10.5C11.0523 13.5 11.5 13.0523 11.5 12.5V10.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),_e.jsx("path",{d:"M6.5 2.5H12.5C13.0523 2.5 13.5 2.94772 13.5 3.5V9.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),_e.jsx("path",{d:"M9.5 6.5L13.5 2.5L9.5 2.5V6.5Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]}),_e.jsx("span",{className:"code-copy-button-text",children:t?"Copied!":"Copy"})]})},Ptt=({inline:e,className:t="",children:r,enableGraphs:n=!0,enableMermaid:a=!0,enableSVG:i=!0,enableCharts:o=!0,enableMusic:s=!0,enableSyntaxHighlighting:l=!0,syntaxTheme:c})=>{const u=T.useRef(null),[p,d]=T.useState(null),[h,f]=T.useState(!1);T.useEffect(()=>{f(!0)},[]),T.useEffect(()=>{if(!h)return;const S=()=>{const C=Ltt(u.current);d(C)};if(S(),typeof window<"u"&&window.matchMedia){const C=window.matchMedia("(prefers-color-scheme: dark)"),E=()=>S();C.addEventListener?C.addEventListener("change",E):C.addListener&&C.addListener(E);const A=new MutationObserver(()=>S());if(u.current){const N=u.current.closest(".markdown-content");N&&A.observe(N,{attributes:!0,attributeFilter:["class","data-theme"]}),A.observe(document.body,{attributes:!0,attributeFilter:["class","data-theme"]})}return()=>{C.removeEventListener?C.removeEventListener("change",E):C.removeListener&&C.removeListener(E),A.disconnect()}}},[h]);const m=c??p??"light";if(e)return _e.jsx("code",{className:t,children:r});const x=/language-(\w+)/.exec(t||""),b=x?x[1].toLowerCase():"",v=String(r).replace(/\n$/,"");if(o&&(b==="chart"||b==="chart-json"||b==="chart-table"))return _e.jsx("div",{ref:u,children:_e.jsx(Ott,{code:v,language:b})});if(s&&(b==="abc"||b==="music"))return _e.jsx("div",{ref:u,children:_e.jsx(Rtt,{code:v})});if(n){if(b==="mermaid"&&a)return _e.jsx("div",{ref:u,children:_e.jsx(XFe,{code:v})});if(b==="svg"&&i)return _e.jsx("div",{ref:u,children:_e.jsx(ZFe,{code:v})})}if(l&&b){const S=m==="light"?L7e:P7e;return _e.jsxs("div",{ref:u,className:"syntax-highlighted-wrapper code-block-container",children:[_e.jsx(GV,{code:v}),_e.jsx(tQ,{language:b,style:S,customStyle:{margin:"12px 0",borderRadius:"6px",fontSize:"0.9em"},showLineNumbers:!1,children:v})]})}return _e.jsxs("div",{ref:u,className:`markdown-code-block code-block-container ${t}`.trim(),children:[_e.jsx(GV,{code:v}),_e.jsx("pre",{style:{margin:0,padding:0,background:"transparent",border:"none"},children:_e.jsx("code",{children:v})})]})},VV=new Set(["div","pre","blockquote","ul","ol","table","thead","tbody","tr","td","th","h1","h2","h3","h4","h5","h6","section","article","figure"]),Dtt=({children:e,href:t,...r})=>_e.jsx("a",{...r,href:t,target:"_blank",rel:"noopener noreferrer",children:e}),WV=({content:e,className:t="",disableMath:r=!1,enableGraphs:n=!0,enableMermaid:a=!0,enableSVG:i=!0,enableCharts:o=!0,enableMusic:s=!0,enableSyntaxHighlighting:l=!0,syntaxTheme:c="dark"})=>{const u=X4e(e);if(!u)return null;const p=r?[$5]:[$5,[n1e,{singleDollarTextMath:!0}]],d=[];r||d.push([P1e,{throwOnError:!1,errorColor:"#cc0000",strict:!1,trust:!0,macros:{"\\RR":"\\mathbb{R}","\\NN":"\\mathbb{N}","\\ZZ":"\\mathbb{Z}","\\QQ":"\\mathbb{Q}","\\CC":"\\mathbb{C}","\\dx":"\\,dx","\\dy":"\\,dy","\\dt":"\\,dt","\\dz":"\\,dz"}}]);const h={a:Dtt,code:f=>{const{className:m,children:x,...b}=f,v=m&&/language-/.test(m),S="inline"in f&&typeof f.inline=="boolean"&&f.inline||!v,C=v;return _e.jsx(Ptt,{inline:S,className:m,enableGraphs:n,enableMermaid:a,enableSVG:i,enableCharts:o,enableMusic:s,enableSyntaxHighlighting:l,syntaxTheme:c,"data-block-code":C?"true":void 0,...b,children:x})},p:({node:f,...m})=>{var x;const b=da.Children.toArray(m.children).filter(S=>!(typeof S=="string"&&S.trim()==="")).some(S=>{var C;return da.isValidElement(S)?((C=S.props)==null?void 0:C["data-block-code"])==="true"?!0:typeof S.type=="string"?VV.has(S.type):!1:!1}),v=(x=f==null?void 0:f.children)==null?void 0:x.some(S=>{var C;if(S.type==="code")return!0;if(S.type==="element"){if(VV.has(S.tagName))return!0;if(S.tagName==="code"){const E=(C=S.properties)==null?void 0:C.className;return Array.isArray(E)?E.some(A=>typeof A=="string"&&A.startsWith("language-")):!0}}return!1});return b||v?_e.jsx(_e.Fragment,{children:m.children}):_e.jsx("p",{...m})}};return _e.jsx("div",{className:`markdown-content ${t}`,children:_e.jsx(Kge,{remarkPlugins:p,rehypePlugins:d,components:h,children:u})})},KV="schmitech-markdown-renderer-styles",Ftt=()=>{if(typeof document>"u"||document.getElementById(KV))return;const e=document.createElement("style");e.id=KV,e.textContent=Bpe,document.head.appendChild(e)};Ftt();const Ye=(...e)=>{},zr=(...e)=>{},F0=(...e)=>{},sa=(...e)=>{console.error(...e)},Btt={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_API_URL:"http://localhost:3000",VITE_CONSOLE_DEBUG:"false",VITE_DEFAULT_KEY:"default-key",VITE_ENABLE_API_MIDDLEWARE:"false",VITE_ENABLE_AUDIO_OUTPUT:"true",VITE_ENABLE_CONVERSATION_THREADS:"true",VITE_ENABLE_FEEDBACK:"false",VITE_ENABLE_UPLOAD:"true",VITE_GITHUB_OWNER:"schmitech",VITE_GITHUB_REPO:"orbit",VITE_LOCALE:"en-US",VITE_MAX_CONVERSATIONS:"10",VITE_MAX_FILES_PER_CONVERSATION:"5",VITE_MAX_FILE_SIZE_MB:"50",VITE_MAX_MESSAGES_PER_CONVERSATION:"1000",VITE_MAX_MESSAGE_LENGTH:"500",VITE_MAX_TOTAL_FILES:"100",VITE_MAX_TOTAL_MESSAGES:"10000",VITE_SHOW_GITHUB_STATS:"true",VITE_USE_LOCAL_API:"false"},Xu="http://localhost:3000";function ztt(e){return typeof e=="object"&&e!==null}const $tt={apiUrl:"VITE_API_URL",defaultKey:"VITE_DEFAULT_KEY",useLocalApi:"VITE_USE_LOCAL_API",localApiPath:"VITE_LOCAL_API_PATH",consoleDebug:"VITE_CONSOLE_DEBUG",enableUploadButton:"VITE_ENABLE_UPLOAD",enableAudioOutput:"VITE_ENABLE_AUDIO_OUTPUT",enableFeedbackButtons:"VITE_ENABLE_FEEDBACK",enableConversationThreads:"VITE_ENABLE_CONVERSATION_THREADS",enableApiMiddleware:"VITE_ENABLE_API_MIDDLEWARE",showGitHubStats:"VITE_SHOW_GITHUB_STATS",githubOwner:"VITE_GITHUB_OWNER",githubRepo:"VITE_GITHUB_REPO",maxFilesPerConversation:"VITE_MAX_FILES_PER_CONVERSATION",maxFileSizeMB:"VITE_MAX_FILE_SIZE_MB",maxTotalFiles:"VITE_MAX_TOTAL_FILES",maxConversations:"VITE_MAX_CONVERSATIONS",maxMessagesPerConversation:"VITE_MAX_MESSAGES_PER_CONVERSATION",maxTotalMessages:"VITE_MAX_TOTAL_MESSAGES",maxMessageLength:"VITE_MAX_MESSAGE_LENGTH"};function jtt(){return typeof window<"u"&&ztt(window.ORBIT_CHAT_CONFIG)}function Tr(e,t,r="string"){const n=e==="showGitHubStats"||e==="githubOwner"||e==="githubRepo",a=jtt();if(!n){if(a){const s=window.ORBIT_CHAT_CONFIG[e];return s??t}if(typeof window<"u"){const s=window;switch(e){case"apiUrl":if(s.CHATBOT_API_URL)return s.CHATBOT_API_URL;break;case"defaultKey":if(s.CHATBOT_API_KEY)return s.CHATBOT_API_KEY;break}}}const i=$tt[e],o=i?Btt[i]:void 0;if(o!=null&&o!==""){if(r==="boolean")return o==="true";if(r==="number"||r==="numberOrNull"){const s=parseInt(o,10);if(!isNaN(s))return r==="numberOrNull"&&s===0?null:s}else return o}return t}function ay(e,t){if(e===void 0||e==="")return t===0?null:t;const r=parseInt(e,10);return isNaN(r)||r<0?t===0?null:t:r===0?null:r}function y8(e,t){if(e===void 0||e==="")return t;const r=parseInt(e,10);return isNaN(r)||r<0?t:r}const fs={apiUrl:Tr("apiUrl",Xu,"string"),defaultKey:Tr("defaultKey","default-key","string"),useLocalApi:Tr("useLocalApi",!1,"boolean"),localApiPath:Tr("localApiPath",void 0,"string"),consoleDebug:Tr("consoleDebug",!1,"boolean"),enableUploadButton:Tr("enableUploadButton",!1,"boolean"),enableAudioOutput:Tr("enableAudioOutput",!1,"boolean"),enableFeedbackButtons:Tr("enableFeedbackButtons",!1,"boolean"),enableConversationThreads:Tr("enableConversationThreads",!0,"boolean"),enableApiMiddleware:Tr("enableApiMiddleware",!1,"boolean"),showGitHubStats:Tr("showGitHubStats",!0,"boolean"),githubOwner:Tr("githubOwner","schmitech","string"),githubRepo:Tr("githubRepo","orbit","string"),maxFilesPerConversation:(()=>{const e=Tr("maxFilesPerConversation","5","string");return y8(e,5)})(),maxFileSizeMB:(()=>{const e=Tr("maxFileSizeMB","50","string");return y8(e,50)})(),maxTotalFiles:(()=>{const e=Tr("maxTotalFiles","100","string");return ay(e,100)})(),maxConversations:(()=>{const e=Tr("maxConversations","10","string");return ay(e,10)})(),maxMessagesPerConversation:(()=>{const e=Tr("maxMessagesPerConversation","1000","string");return ay(e,1e3)})(),maxTotalMessages:(()=>{const e=Tr("maxTotalMessages","10000","string");return ay(e,1e4)})(),maxMessageLength:(()=>{const e=Tr("maxMessageLength","1000","string");return y8(e,1e3)})()};function Vn(){return Tr("apiUrl",Xu,"string")}function rl(e){const t=e==null?void 0:e.trim();return t&&t.length>0?t:Vn()}function Au(){return Tr("defaultKey","default-key","string")}function Utt(){return Tr("useLocalApi",!1,"boolean")}function qtt(){return Tr("localApiPath",void 0,"string")}function Htt(){return Tr("enableUploadButton",!1,"boolean")}function Gtt(){return Tr("enableAudioOutput",!1,"boolean")}function Vtt(){return Tr("enableFeedbackButtons",!1,"boolean")}function Wtt(){return Tr("enableConversationThreads",!0,"boolean")}function Sa(){return Tr("enableApiMiddleware",!1,"boolean")}function Ktt(){return fs.showGitHubStats}function YV(){return fs.githubOwner}function XV(){return fs.githubRepo}function Ytt({audio:e,audioFormat:t="mp3",autoPlay:r=!1,maxSizeMB:n=10}){const a=T.useRef(null),[i,o]=T.useState(!1),[s,l]=T.useState(0),[c,u]=T.useState(0),[p,d]=T.useState(!0),[h,f]=T.useState(null),[m,x]=T.useState(null);T.useEffect(()=>{if(!e)return;let B=null,F=!0;return(async()=>{try{d(!0),f(null),x(null);const te=e.length*3/4/(1024*1024);if(te>n)throw new Error(`Audio file too large (${te.toFixed(1)}MB > ${n}MB limit)`);if(te>2&&(x(`Large audio file (${te.toFixed(1)}MB) - may take time to load`),Ye("[AudioPlayer] Large audio file detected",{sizeMB:te.toFixed(2)})),!/^[A-Za-z0-9+/=]+$/.test(e.replace(/\s/g,"")))throw new Error("Invalid base64 audio data");const Y=atob(e),X=new Uint8Array(Y.length);for(let W=0;W<Y.length;W++)X[W]=Y.charCodeAt(W);const ee=t==="mp3"?"audio/mpeg":t==="wav"?"audio/wav":t==="ogg"?"audio/ogg":t==="opus"?"audio/opus":t==="webm"?"audio/webm":`audio/${t}`,ie=new Blob([X],{type:ee});if(B=URL.createObjectURL(ie),!F||!a.current){B&&URL.revokeObjectURL(B);return}a.current.src=B,d(!1),Ye("[AudioPlayer] Audio loaded successfully",{format:t,mimeType:ee,size:ie.size}),r&&a.current&&a.current.play().catch(W=>{F0("[AudioPlayer] Auto-play failed:",W)})}catch{F&&(f("Failed to load audio"),d(!1))}})(),()=>{F=!1,B&&URL.revokeObjectURL(B)}},[e,t,r]);const b=()=>{a.current&&l(a.current.duration)},v=()=>{a.current&&u(a.current.currentTime)},S=()=>o(!0),C=()=>o(!1),E=()=>{o(!1),u(0)},A=()=>{a.current&&(i?a.current.pause():a.current.play().catch(B=>{f("Playback failed")}))},N=B=>{if(!a.current)return;const F=parseFloat(B.target.value);a.current.currentTime=F,u(F)},D=B=>{if(!isFinite(B))return"0:00";const F=Math.floor(B/60),z=Math.floor(B%60);return`${F}:${z.toString().padStart(2,"0")}`};return h?q.jsxs("div",{className:"flex items-center gap-2 rounded-md border border-red-300 bg-red-50 px-3 py-2 text-sm text-red-700 dark:border-red-700 dark:bg-red-900/20 dark:text-red-400",children:[q.jsx(db,{className:"h-4 w-4"}),q.jsx("span",{children:h})]}):q.jsxs("div",{className:"mt-3 flex flex-col gap-1",children:[m&&q.jsxs("div",{className:"text-xs text-amber-600 dark:text-amber-400 px-1",children:["⚠️ ",m]}),q.jsxs("div",{className:"flex items-center gap-3 rounded-md border border-gray-300 bg-white px-3 py-2 dark:border-[#4a4b54] dark:bg-[#343541]",children:[q.jsx("audio",{ref:a,onLoadedMetadata:b,onTimeUpdate:v,onPlay:S,onPause:C,onEnded:E}),q.jsx("button",{onClick:A,disabled:p,className:"flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-full bg-gray-200 hover:bg-gray-300 disabled:opacity-50 dark:bg-[#4a4b54] dark:hover:bg-[#565869]",title:i?"Pause":"Play",children:p?q.jsx("div",{className:"h-4 w-4 animate-spin rounded-full border-2 border-gray-400 border-t-transparent"}):i?q.jsx(vpe,{className:"h-4 w-4 text-gray-700 dark:text-[#ececf1]"}):q.jsx(wpe,{className:"h-4 w-4 text-gray-700 dark:text-[#ececf1]"})}),q.jsxs("div",{className:"flex flex-1 items-center gap-2",children:[q.jsx("span",{className:"text-xs text-gray-500 dark:text-[#bfc2cd]",children:D(c)}),q.jsx("input",{type:"range",min:"0",max:s||0,value:c,onChange:N,disabled:p||!s,className:"flex-1 cursor-pointer accent-gray-600 dark:accent-[#bfc2cd]",style:{background:s?`linear-gradient(to right, rgb(75 85 99) 0%, rgb(75 85 99) ${c/s*100}%, rgb(229 231 235) ${c/s*100}%, rgb(229 231 235) 100%)`:"rgb(229 231 235)"}}),q.jsx("span",{className:"text-xs text-gray-500 dark:text-[#bfc2cd]",children:D(s)})]}),q.jsx(db,{className:"h-4 w-4 text-gray-500 dark:text-[#bfc2cd]"})]})]})}function hce(e){if(!e||e.length<1e3)return!1;const t=/^[A-Za-z0-9+/=]+$/,r=e.replace(/\s+/g,"");if(r.length>1e4&&t.test(r)){const n=/\b(the|and|for|are|but|not|you|all|can|function|const|let|var|class|return|import|export|async|await|if|else|while|true|false|null|undefined|http|https|www|error|data|response|request|api|json|xml|html|css|js|py|java|cpp|def|print|console|log)\b/i.test(e),a=/[#*`\[\](){}|<>]/.test(e),i=/[.,;:!?'"()-]/.test(e);if(!n&&!a&&!i)return!0}return!!(r.length>5e4&&t.test(r)&&e.replace(/[A-Za-z0-9+/=\s]/g,"").length<10)}function jh(e){if(!e)return e;if(hce(e))return"";const t=/([A-Za-z0-9+/=]{10000,})/g;return e.replace(t,n=>{const a=n.replace(/\s+/g,"");if(a.length>1e4&&/^[A-Za-z0-9+/=]+$/.test(a)){const i=/\b(function|const|let|var|class|return|import|export|if|else|while|for|true|false|null|def|print)\b/i.test(n),o=/[#*`\[\](){}|<>]/.test(n),s=/[.,;:!?'"()-]/.test(n);if(!i&&!o&&!s)return""}return n}).trim()}function $T(e,t=5e4){return!e||e.length<=t?e:hce(e)?"":e.substring(0,t)+`
1166
+ `})]}),s.title&&_e.jsx("h4",{style:{textAlign:"center",marginBottom:s.description?"4px":"12px",marginTop:0,color:Y,fontWeight:600},children:s.title}),s.description&&_e.jsx("p",{style:{textAlign:"center",marginTop:0,marginBottom:"12px",color:W,fontSize:"0.9rem"},children:s.description}),_e.jsxs(Eje,{width:"100%",height:v,children:[s.type==="bar"&&_e.jsxs(itt,{data:s.data,margin:It,barCategoryGap:"20%",children:[A&&_e.jsx(Nd,{strokeDasharray:"3 3",stroke:te}),_e.jsx(Md,{dataKey:s.xKey||"name",label:Qt,...J,...Be,tickFormatter:dr}),_e.jsx(us,{yAxisId:"left",width:80,tickFormatter:at,...J,children:Vs(F,"left")}),C&&_e.jsx(us,{yAxisId:"right",orientation:"right",width:80,tickFormatter:at,...J,children:Vs(z,"right")}),_e.jsx(Ad,{contentStyle:Oe,labelStyle:Ae,itemStyle:Qe,formatter:ct,labelFormatter:vr,cursor:nt}),E&&_e.jsx(au,{wrapperStyle:Mr}),N,S.map(Me=>_e.jsx(IT,{name:Me.name,dataKey:Me.key,fill:Me.color,stackId:Me.stackId,yAxisId:Me.yAxisId,radius:[4,4,0,0]},Me.key))]}),s.type==="line"&&_e.jsxs(ntt,{data:s.data,margin:It,children:[A&&_e.jsx(Nd,{strokeDasharray:"3 3",stroke:te}),_e.jsx(Md,{dataKey:s.xKey||"name",label:Qt,...J,...Be,tickFormatter:dr}),_e.jsx(us,{yAxisId:"left",width:80,tickFormatter:at,...J,children:Vs(F,"left")}),C&&_e.jsx(us,{yAxisId:"right",orientation:"right",width:80,tickFormatter:at,...J,children:Vs(z,"right")}),_e.jsx(Ad,{contentStyle:Oe,labelStyle:Ae,itemStyle:Qe,formatter:ct,labelFormatter:vr,cursor:nt}),E&&_e.jsx(au,{wrapperStyle:Mr}),N,S.map(Me=>_e.jsx(OT,{name:Me.name,type:"monotone",dataKey:Me.key,stroke:Me.color,yAxisId:Me.yAxisId,strokeWidth:Me.strokeWidth,dot:Me.dot},Me.key))]}),s.type==="area"&&_e.jsxs(wtt,{data:s.data,margin:It,children:[A&&_e.jsx(Nd,{strokeDasharray:"3 3",stroke:te}),_e.jsx(Md,{dataKey:s.xKey||"name",label:Qt,...J,...Be,tickFormatter:dr}),_e.jsx(us,{yAxisId:"left",width:80,tickFormatter:at,...J,children:Vs(F,"left")}),C&&_e.jsx(us,{yAxisId:"right",orientation:"right",width:80,tickFormatter:at,...J,children:Vs(z,"right")}),_e.jsx(Ad,{contentStyle:Oe,labelStyle:Ae,itemStyle:Qe,formatter:ct,labelFormatter:vr,cursor:nt}),E&&_e.jsx(au,{wrapperStyle:Mr}),N,S.map(Me=>_e.jsx(NT,{name:Me.name,type:"monotone",dataKey:Me.key,stroke:Me.color,yAxisId:Me.yAxisId,fill:Me.color,fillOpacity:Me.opacity,stackId:Me.stackId},Me.key))]}),s.type==="composed"&&_e.jsxs(ktt,{data:s.data,margin:It,children:[A&&_e.jsx(Nd,{strokeDasharray:"3 3",stroke:te}),_e.jsx(Md,{dataKey:s.xKey||"name",label:Qt,...J,...Be,tickFormatter:dr}),_e.jsx(us,{yAxisId:"left",width:80,tickFormatter:at,...J,children:Vs(F,"left")}),C&&_e.jsx(us,{yAxisId:"right",orientation:"right",width:80,tickFormatter:at,...J,children:Vs(z,"right")}),_e.jsx(Ad,{contentStyle:Oe,labelStyle:Ae,itemStyle:Qe,formatter:ct,labelFormatter:vr,cursor:nt}),E&&_e.jsx(au,{wrapperStyle:Mr}),N,S.map(Me=>{switch(Me.type){case"line":return _e.jsx(OT,{name:Me.name,type:"monotone",dataKey:Me.key,stroke:Me.color,yAxisId:Me.yAxisId,strokeWidth:Me.strokeWidth,dot:Me.dot},Me.key);case"area":return _e.jsx(NT,{name:Me.name,type:"monotone",dataKey:Me.key,stroke:Me.color,yAxisId:Me.yAxisId,fill:Me.color,fillOpacity:Me.opacity,stackId:Me.stackId},Me.key);case"scatter":return _e.jsx(RT,{name:Me.name,dataKey:Me.key,fill:Me.color,yAxisId:Me.yAxisId},Me.key);default:return _e.jsx(IT,{name:Me.name,dataKey:Me.key,fill:Me.color,stackId:Me.stackId,yAxisId:Me.yAxisId,radius:[4,4,0,0]},Me.key)}})]}),s.type==="pie"&&_e.jsxs(ytt,{children:[_e.jsx(Sle,{data:s.data,dataKey:((n=s.dataKeys)==null?void 0:n[0])||"value",nameKey:s.xKey||"name",cx:"50%",cy:"50%",outerRadius:v/3,label:{fill:Y},children:s.data.map((Me,Re)=>_e.jsx(dp,{fill:b[Re%b.length]},`cell-${Re}`))}),_e.jsx(Ad,{contentStyle:Oe,itemStyle:Qe,formatter:ct}),E&&_e.jsx(au,{wrapperStyle:Mr})]}),s.type==="scatter"&&_e.jsxs(vtt,{margin:It,children:[A&&_e.jsx(Nd,{strokeDasharray:"3 3",stroke:te}),_e.jsx(Md,{dataKey:s.xKey||"x",label:Qt,...J,...Be,tickFormatter:dr}),_e.jsx(us,{dataKey:((a=s.dataKeys)==null?void 0:a[0])||"y",width:80,tickFormatter:at,...J,children:Vs(F,"left")}),_e.jsx(Ad,{contentStyle:Oe,labelStyle:Ae,itemStyle:Qe,formatter:ct,labelFormatter:vr,cursor:nt}),E&&_e.jsx(au,{wrapperStyle:Mr}),N,_e.jsx(RT,{name:"Data",data:s.data,fill:b[0]})]})]})]})};let Td=null;const Ntt=async()=>{if(typeof window>"u")throw new Error("abcjs requires a browser environment");if(Td)return Td;try{const e=await tr(()=>import("./index-rW5EEHFR-Cm6Gxbor.js"),[]).then(r=>r.i),t=e.default||e;if(!t)throw new Error("abcjs module is empty");if(typeof t.renderAbc!="function")throw new Error(`renderAbc is not a function. Available methods: ${Object.keys(t).join(", ")}`);return Td=t,Td}catch(e){if(typeof window<"u"&&window.ABCJS)return Td=window.ABCJS,Td;const t=e instanceof Error?e.message:"Failed to load abcjs";throw new Error(`Failed to load abcjs: ${t}`)}},Mtt=e=>{const t=e.trim();return/^[XMTLK]:/m.test(t)||/^X:\d+/m.test(t)},Rtt=({code:e})=>{const t=T.useRef(null),[r,n]=T.useState(null),[a,i]=T.useState(!0),[o,s]=T.useState(!1),[l,c]=T.useState(!1);return T.useEffect(()=>{if(!e.trim()){i(!1),s(!1);return}Mtt(e)?(s(!0),n(null)):(s(!1),n("Unable to detect ABC notation. Expected ABC notation starting with headers like X:, T:, M:, L:, or K:"),i(!1))},[e]),T.useEffect(()=>{!o||!e.trim()||(async()=>{try{i(!0);let u=0;const p=10;for(;!t.current&&u<p;)await new Promise(h=>setTimeout(h,50)),u++;if(!t.current)throw new Error("Container element not found after waiting");const d=await Ntt();t.current.innerHTML="",d.renderAbc(t.current,e,{responsive:"resize",staffwidth:740,paddingleft:0,paddingright:0,paddingtop:20,paddingbottom:20,scale:1}),n(null),i(!1)}catch(u){const p=u instanceof Error?u.message:"Failed to render ABC notation";n(p),i(!1)}})()},[e,o]),r?_e.jsxs("div",{className:"graph-error",children:[_e.jsxs("div",{className:"graph-error-header",children:[_e.jsx("div",{className:"graph-error-icon",children:"⚠️"}),_e.jsxs("div",{className:"graph-error-content",children:[_e.jsx("div",{className:"graph-error-title",children:"ABC Notation Rendering Error"}),_e.jsx("div",{className:"graph-error-message",children:r})]})]}),_e.jsxs("button",{className:"graph-error-toggle",onClick:()=>c(!l),type:"button",children:[l?"Hide":"Show"," Details"]}),l&&_e.jsxs("details",{className:"graph-error-details",open:!0,children:[_e.jsx("summary",{style:{cursor:"pointer",marginBottom:"8px",fontWeight:500},children:"ABC Notation Code"}),_e.jsx("pre",{style:{marginTop:"8px",fontSize:"0.8em",opacity:.8,padding:"8px",background:"rgba(0, 0, 0, 0.05)",borderRadius:"4px",overflow:"auto",maxHeight:"200px"},children:_e.jsx("code",{children:e})})]})]}):o?_e.jsxs("div",{className:"graph-container music-container abc-container",children:[a&&!r&&_e.jsx("div",{style:{padding:"20px",textAlign:"center",position:"absolute",zIndex:1},children:"Loading ABC notation..."}),_e.jsx("div",{ref:t})]}):null},Ltt=e=>{var t,r;if(!e)return typeof window<"u"&&(t=window.matchMedia)!=null&&t.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light";const n=e.closest(".markdown-content");if(n){if(n.classList.contains("dark"))return"dark";if(n.classList.contains("light"))return"light"}if(e.closest(".dark"))return"dark";if(e.closest(".light"))return"light";const a=e.closest("[data-theme]");if(a){const i=a.getAttribute("data-theme");if(i==="dark")return"dark";if(i==="light")return"light"}return typeof window<"u"&&(r=window.matchMedia)!=null&&r.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"},GV=({code:e})=>{const[t,r]=T.useState(!1),n=async()=>{try{await navigator.clipboard.writeText(e),r(!0),setTimeout(()=>r(!1),2e3)}catch{const a=document.createElement("textarea");a.value=e,a.style.position="fixed",a.style.opacity="0",document.body.appendChild(a),a.select();try{document.execCommand("copy"),r(!0),setTimeout(()=>r(!1),2e3)}catch(i){console.error("Failed to copy code:",i)}document.body.removeChild(a)}};return _e.jsxs("button",{className:"code-copy-button",onClick:n,title:t?"Copied!":"Copy code","aria-label":t?"Copied!":"Copy code to clipboard",children:[t?_e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:_e.jsx("path",{d:"M13.5 4.5L6 12L2.5 8.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}):_e.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[_e.jsx("path",{d:"M5.5 4.5H3.5C2.94772 4.5 2.5 4.94772 2.5 5.5V12.5C2.5 13.0523 2.94772 13.5 3.5 13.5H10.5C11.0523 13.5 11.5 13.0523 11.5 12.5V10.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),_e.jsx("path",{d:"M6.5 2.5H12.5C13.0523 2.5 13.5 2.94772 13.5 3.5V9.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),_e.jsx("path",{d:"M9.5 6.5L13.5 2.5L9.5 2.5V6.5Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]}),_e.jsx("span",{className:"code-copy-button-text",children:t?"Copied!":"Copy"})]})},Ptt=({inline:e,className:t="",children:r,enableGraphs:n=!0,enableMermaid:a=!0,enableSVG:i=!0,enableCharts:o=!0,enableMusic:s=!0,enableSyntaxHighlighting:l=!0,syntaxTheme:c})=>{const u=T.useRef(null),[p,d]=T.useState(null),[h,f]=T.useState(!1);T.useEffect(()=>{f(!0)},[]),T.useEffect(()=>{if(!h)return;const S=()=>{const C=Ltt(u.current);d(C)};if(S(),typeof window<"u"&&window.matchMedia){const C=window.matchMedia("(prefers-color-scheme: dark)"),E=()=>S();C.addEventListener?C.addEventListener("change",E):C.addListener&&C.addListener(E);const A=new MutationObserver(()=>S());if(u.current){const N=u.current.closest(".markdown-content");N&&A.observe(N,{attributes:!0,attributeFilter:["class","data-theme"]}),A.observe(document.body,{attributes:!0,attributeFilter:["class","data-theme"]})}return()=>{C.removeEventListener?C.removeEventListener("change",E):C.removeListener&&C.removeListener(E),A.disconnect()}}},[h]);const m=c??p??"light";if(e)return _e.jsx("code",{className:t,children:r});const x=/language-(\w+)/.exec(t||""),b=x?x[1].toLowerCase():"",v=String(r).replace(/\n$/,"");if(o&&(b==="chart"||b==="chart-json"||b==="chart-table"))return _e.jsx("div",{ref:u,children:_e.jsx(Ott,{code:v,language:b})});if(s&&(b==="abc"||b==="music"))return _e.jsx("div",{ref:u,children:_e.jsx(Rtt,{code:v})});if(n){if(b==="mermaid"&&a)return _e.jsx("div",{ref:u,children:_e.jsx(XFe,{code:v})});if(b==="svg"&&i)return _e.jsx("div",{ref:u,children:_e.jsx(ZFe,{code:v})})}if(l&&b){const S=m==="light"?L7e:P7e;return _e.jsxs("div",{ref:u,className:"syntax-highlighted-wrapper code-block-container",children:[_e.jsx(GV,{code:v}),_e.jsx(tQ,{language:b,style:S,customStyle:{margin:"12px 0",borderRadius:"6px",fontSize:"0.9em"},showLineNumbers:!1,children:v})]})}return _e.jsxs("div",{ref:u,className:`markdown-code-block code-block-container ${t}`.trim(),children:[_e.jsx(GV,{code:v}),_e.jsx("pre",{style:{margin:0,padding:0,background:"transparent",border:"none"},children:_e.jsx("code",{children:v})})]})},VV=new Set(["div","pre","blockquote","ul","ol","table","thead","tbody","tr","td","th","h1","h2","h3","h4","h5","h6","section","article","figure"]),Dtt=({children:e,href:t,...r})=>_e.jsx("a",{...r,href:t,target:"_blank",rel:"noopener noreferrer",children:e}),WV=({content:e,className:t="",disableMath:r=!1,enableGraphs:n=!0,enableMermaid:a=!0,enableSVG:i=!0,enableCharts:o=!0,enableMusic:s=!0,enableSyntaxHighlighting:l=!0,syntaxTheme:c="dark"})=>{const u=X4e(e);if(!u)return null;const p=r?[$5]:[$5,[n1e,{singleDollarTextMath:!0}]],d=[];r||d.push([P1e,{throwOnError:!1,errorColor:"#cc0000",strict:!1,trust:!0,macros:{"\\RR":"\\mathbb{R}","\\NN":"\\mathbb{N}","\\ZZ":"\\mathbb{Z}","\\QQ":"\\mathbb{Q}","\\CC":"\\mathbb{C}","\\dx":"\\,dx","\\dy":"\\,dy","\\dt":"\\,dt","\\dz":"\\,dz"}}]);const h={a:Dtt,code:f=>{const{className:m,children:x,...b}=f,v=m&&/language-/.test(m),S="inline"in f&&typeof f.inline=="boolean"&&f.inline||!v,C=v;return _e.jsx(Ptt,{inline:S,className:m,enableGraphs:n,enableMermaid:a,enableSVG:i,enableCharts:o,enableMusic:s,enableSyntaxHighlighting:l,syntaxTheme:c,"data-block-code":C?"true":void 0,...b,children:x})},p:({node:f,...m})=>{var x;const b=da.Children.toArray(m.children).filter(S=>!(typeof S=="string"&&S.trim()==="")).some(S=>{var C;return da.isValidElement(S)?((C=S.props)==null?void 0:C["data-block-code"])==="true"?!0:typeof S.type=="string"?VV.has(S.type):!1:!1}),v=(x=f==null?void 0:f.children)==null?void 0:x.some(S=>{var C;if(S.type==="code")return!0;if(S.type==="element"){if(VV.has(S.tagName))return!0;if(S.tagName==="code"){const E=(C=S.properties)==null?void 0:C.className;return Array.isArray(E)?E.some(A=>typeof A=="string"&&A.startsWith("language-")):!0}}return!1});return b||v?_e.jsx(_e.Fragment,{children:m.children}):_e.jsx("p",{...m})}};return _e.jsx("div",{className:`markdown-content ${t}`,children:_e.jsx(Kge,{remarkPlugins:p,rehypePlugins:d,components:h,children:u})})},KV="schmitech-markdown-renderer-styles",Ftt=()=>{if(typeof document>"u"||document.getElementById(KV))return;const e=document.createElement("style");e.id=KV,e.textContent=Bpe,document.head.appendChild(e)};Ftt();const Ye=(...e)=>{},zr=(...e)=>{},F0=(...e)=>{},sa=(...e)=>{console.error(...e)},Btt={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_API_URL:"http://localhost:3000",VITE_CONSOLE_DEBUG:"false",VITE_DEFAULT_KEY:"default-key",VITE_ENABLE_API_MIDDLEWARE:"true",VITE_ENABLE_AUDIO_OUTPUT:"true",VITE_ENABLE_CONVERSATION_THREADS:"true",VITE_ENABLE_FEEDBACK:"false",VITE_ENABLE_UPLOAD:"true",VITE_GITHUB_OWNER:"schmitech",VITE_GITHUB_REPO:"orbit",VITE_LOCALE:"en-US",VITE_MAX_CONVERSATIONS:"10",VITE_MAX_FILES_PER_CONVERSATION:"5",VITE_MAX_FILE_SIZE_MB:"50",VITE_MAX_MESSAGES_PER_CONVERSATION:"1000",VITE_MAX_MESSAGE_LENGTH:"500",VITE_MAX_TOTAL_FILES:"100",VITE_MAX_TOTAL_MESSAGES:"10000",VITE_SHOW_GITHUB_STATS:"true",VITE_USE_LOCAL_API:"false"},Xu="http://localhost:3000";function ztt(e){return typeof e=="object"&&e!==null}const $tt={apiUrl:"VITE_API_URL",defaultKey:"VITE_DEFAULT_KEY",useLocalApi:"VITE_USE_LOCAL_API",localApiPath:"VITE_LOCAL_API_PATH",consoleDebug:"VITE_CONSOLE_DEBUG",enableUploadButton:"VITE_ENABLE_UPLOAD",enableAudioOutput:"VITE_ENABLE_AUDIO_OUTPUT",enableFeedbackButtons:"VITE_ENABLE_FEEDBACK",enableConversationThreads:"VITE_ENABLE_CONVERSATION_THREADS",enableApiMiddleware:"VITE_ENABLE_API_MIDDLEWARE",showGitHubStats:"VITE_SHOW_GITHUB_STATS",githubOwner:"VITE_GITHUB_OWNER",githubRepo:"VITE_GITHUB_REPO",maxFilesPerConversation:"VITE_MAX_FILES_PER_CONVERSATION",maxFileSizeMB:"VITE_MAX_FILE_SIZE_MB",maxTotalFiles:"VITE_MAX_TOTAL_FILES",maxConversations:"VITE_MAX_CONVERSATIONS",maxMessagesPerConversation:"VITE_MAX_MESSAGES_PER_CONVERSATION",maxTotalMessages:"VITE_MAX_TOTAL_MESSAGES",maxMessageLength:"VITE_MAX_MESSAGE_LENGTH"};function jtt(){return typeof window<"u"&&ztt(window.ORBIT_CHAT_CONFIG)}function Tr(e,t,r="string"){const n=e==="showGitHubStats"||e==="githubOwner"||e==="githubRepo",a=jtt();if(!n){if(a){const s=window.ORBIT_CHAT_CONFIG[e];return s??t}if(typeof window<"u"){const s=window;switch(e){case"apiUrl":if(s.CHATBOT_API_URL)return s.CHATBOT_API_URL;break;case"defaultKey":if(s.CHATBOT_API_KEY)return s.CHATBOT_API_KEY;break}}}const i=$tt[e],o=i?Btt[i]:void 0;if(o!=null&&o!==""){if(r==="boolean")return o==="true";if(r==="number"||r==="numberOrNull"){const s=parseInt(o,10);if(!isNaN(s))return r==="numberOrNull"&&s===0?null:s}else return o}return t}function ay(e,t){if(e===void 0||e==="")return t===0?null:t;const r=parseInt(e,10);return isNaN(r)||r<0?t===0?null:t:r===0?null:r}function y8(e,t){if(e===void 0||e==="")return t;const r=parseInt(e,10);return isNaN(r)||r<0?t:r}const fs={apiUrl:Tr("apiUrl",Xu,"string"),defaultKey:Tr("defaultKey","default-key","string"),useLocalApi:Tr("useLocalApi",!1,"boolean"),localApiPath:Tr("localApiPath",void 0,"string"),consoleDebug:Tr("consoleDebug",!1,"boolean"),enableUploadButton:Tr("enableUploadButton",!1,"boolean"),enableAudioOutput:Tr("enableAudioOutput",!1,"boolean"),enableFeedbackButtons:Tr("enableFeedbackButtons",!1,"boolean"),enableConversationThreads:Tr("enableConversationThreads",!0,"boolean"),enableApiMiddleware:Tr("enableApiMiddleware",!1,"boolean"),showGitHubStats:Tr("showGitHubStats",!0,"boolean"),githubOwner:Tr("githubOwner","schmitech","string"),githubRepo:Tr("githubRepo","orbit","string"),maxFilesPerConversation:(()=>{const e=Tr("maxFilesPerConversation","5","string");return y8(e,5)})(),maxFileSizeMB:(()=>{const e=Tr("maxFileSizeMB","50","string");return y8(e,50)})(),maxTotalFiles:(()=>{const e=Tr("maxTotalFiles","100","string");return ay(e,100)})(),maxConversations:(()=>{const e=Tr("maxConversations","10","string");return ay(e,10)})(),maxMessagesPerConversation:(()=>{const e=Tr("maxMessagesPerConversation","1000","string");return ay(e,1e3)})(),maxTotalMessages:(()=>{const e=Tr("maxTotalMessages","10000","string");return ay(e,1e4)})(),maxMessageLength:(()=>{const e=Tr("maxMessageLength","1000","string");return y8(e,1e3)})()};function Vn(){return Tr("apiUrl",Xu,"string")}function rl(e){const t=e==null?void 0:e.trim();return t&&t.length>0?t:Vn()}function Au(){return Tr("defaultKey","default-key","string")}function Utt(){return Tr("useLocalApi",!1,"boolean")}function qtt(){return Tr("localApiPath",void 0,"string")}function Htt(){return Tr("enableUploadButton",!1,"boolean")}function Gtt(){return Tr("enableAudioOutput",!1,"boolean")}function Vtt(){return Tr("enableFeedbackButtons",!1,"boolean")}function Wtt(){return Tr("enableConversationThreads",!0,"boolean")}function Sa(){return Tr("enableApiMiddleware",!1,"boolean")}function Ktt(){return fs.showGitHubStats}function YV(){return fs.githubOwner}function XV(){return fs.githubRepo}function Ytt({audio:e,audioFormat:t="mp3",autoPlay:r=!1,maxSizeMB:n=10}){const a=T.useRef(null),[i,o]=T.useState(!1),[s,l]=T.useState(0),[c,u]=T.useState(0),[p,d]=T.useState(!0),[h,f]=T.useState(null),[m,x]=T.useState(null);T.useEffect(()=>{if(!e)return;let B=null,F=!0;return(async()=>{try{d(!0),f(null),x(null);const te=e.length*3/4/(1024*1024);if(te>n)throw new Error(`Audio file too large (${te.toFixed(1)}MB > ${n}MB limit)`);if(te>2&&(x(`Large audio file (${te.toFixed(1)}MB) - may take time to load`),Ye("[AudioPlayer] Large audio file detected",{sizeMB:te.toFixed(2)})),!/^[A-Za-z0-9+/=]+$/.test(e.replace(/\s/g,"")))throw new Error("Invalid base64 audio data");const Y=atob(e),X=new Uint8Array(Y.length);for(let W=0;W<Y.length;W++)X[W]=Y.charCodeAt(W);const ee=t==="mp3"?"audio/mpeg":t==="wav"?"audio/wav":t==="ogg"?"audio/ogg":t==="opus"?"audio/opus":t==="webm"?"audio/webm":`audio/${t}`,ie=new Blob([X],{type:ee});if(B=URL.createObjectURL(ie),!F||!a.current){B&&URL.revokeObjectURL(B);return}a.current.src=B,d(!1),Ye("[AudioPlayer] Audio loaded successfully",{format:t,mimeType:ee,size:ie.size}),r&&a.current&&a.current.play().catch(W=>{F0("[AudioPlayer] Auto-play failed:",W)})}catch{F&&(f("Failed to load audio"),d(!1))}})(),()=>{F=!1,B&&URL.revokeObjectURL(B)}},[e,t,r]);const b=()=>{a.current&&l(a.current.duration)},v=()=>{a.current&&u(a.current.currentTime)},S=()=>o(!0),C=()=>o(!1),E=()=>{o(!1),u(0)},A=()=>{a.current&&(i?a.current.pause():a.current.play().catch(B=>{f("Playback failed")}))},N=B=>{if(!a.current)return;const F=parseFloat(B.target.value);a.current.currentTime=F,u(F)},D=B=>{if(!isFinite(B))return"0:00";const F=Math.floor(B/60),z=Math.floor(B%60);return`${F}:${z.toString().padStart(2,"0")}`};return h?q.jsxs("div",{className:"flex items-center gap-2 rounded-md border border-red-300 bg-red-50 px-3 py-2 text-sm text-red-700 dark:border-red-700 dark:bg-red-900/20 dark:text-red-400",children:[q.jsx(db,{className:"h-4 w-4"}),q.jsx("span",{children:h})]}):q.jsxs("div",{className:"mt-3 flex flex-col gap-1",children:[m&&q.jsxs("div",{className:"text-xs text-amber-600 dark:text-amber-400 px-1",children:["⚠️ ",m]}),q.jsxs("div",{className:"flex items-center gap-3 rounded-md border border-gray-300 bg-white px-3 py-2 dark:border-[#4a4b54] dark:bg-[#343541]",children:[q.jsx("audio",{ref:a,onLoadedMetadata:b,onTimeUpdate:v,onPlay:S,onPause:C,onEnded:E}),q.jsx("button",{onClick:A,disabled:p,className:"flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-full bg-gray-200 hover:bg-gray-300 disabled:opacity-50 dark:bg-[#4a4b54] dark:hover:bg-[#565869]",title:i?"Pause":"Play",children:p?q.jsx("div",{className:"h-4 w-4 animate-spin rounded-full border-2 border-gray-400 border-t-transparent"}):i?q.jsx(vpe,{className:"h-4 w-4 text-gray-700 dark:text-[#ececf1]"}):q.jsx(wpe,{className:"h-4 w-4 text-gray-700 dark:text-[#ececf1]"})}),q.jsxs("div",{className:"flex flex-1 items-center gap-2",children:[q.jsx("span",{className:"text-xs text-gray-500 dark:text-[#bfc2cd]",children:D(c)}),q.jsx("input",{type:"range",min:"0",max:s||0,value:c,onChange:N,disabled:p||!s,className:"flex-1 cursor-pointer accent-gray-600 dark:accent-[#bfc2cd]",style:{background:s?`linear-gradient(to right, rgb(75 85 99) 0%, rgb(75 85 99) ${c/s*100}%, rgb(229 231 235) ${c/s*100}%, rgb(229 231 235) 100%)`:"rgb(229 231 235)"}}),q.jsx("span",{className:"text-xs text-gray-500 dark:text-[#bfc2cd]",children:D(s)})]}),q.jsx(db,{className:"h-4 w-4 text-gray-500 dark:text-[#bfc2cd]"})]})]})}function hce(e){if(!e||e.length<1e3)return!1;const t=/^[A-Za-z0-9+/=]+$/,r=e.replace(/\s+/g,"");if(r.length>1e4&&t.test(r)){const n=/\b(the|and|for|are|but|not|you|all|can|function|const|let|var|class|return|import|export|async|await|if|else|while|true|false|null|undefined|http|https|www|error|data|response|request|api|json|xml|html|css|js|py|java|cpp|def|print|console|log)\b/i.test(e),a=/[#*`\[\](){}|<>]/.test(e),i=/[.,;:!?'"()-]/.test(e);if(!n&&!a&&!i)return!0}return!!(r.length>5e4&&t.test(r)&&e.replace(/[A-Za-z0-9+/=\s]/g,"").length<10)}function jh(e){if(!e)return e;if(hce(e))return"";const t=/([A-Za-z0-9+/=]{10000,})/g;return e.replace(t,n=>{const a=n.replace(/\s+/g,"");if(a.length>1e4&&/^[A-Za-z0-9+/=]+$/.test(a)){const i=/\b(function|const|let|var|class|return|import|export|if|else|while|for|true|false|null|def|print)\b/i.test(n),o=/[#*`\[\](){}|<>]/.test(n),s=/[.,;:!?'"()-]/.test(n);if(!i&&!o&&!s)return""}return n}).trim()}function $T(e,t=5e4){return!e||e.length<=t?e:hce(e)?"":e.substring(0,t)+`
1167
1167
 
1168
- ... (content truncated due to length)`}const Cr={maxFilesPerConversation:fs.maxFilesPerConversation,maxFileSizeMB:fs.maxFileSizeMB,maxTotalFiles:fs.maxTotalFiles,maxConversations:fs.maxConversations,maxMessagesPerConversation:fs.maxMessagesPerConversation,maxTotalMessages:fs.maxTotalMessages,maxMessageLength:fs.maxMessageLength},Xtt=[];function Ztt({message:e,onRegenerate:t,onStartThread:r,onSendThreadMessage:n,threadMessages:a,sessionId:i,isThreadSendDisabled:o}){var V,be;const[s,l]=T.useState(!1),[c,u]=T.useState(null),[p,d]=T.useState(""),[h,f]=T.useState(!1),[m,x]=T.useState(!1),b=T.useRef(((V=e.threadInfo)==null?void 0:V.thread_id)||null),v=T.useRef(null),S=e.role==="assistant",C=a??Xtt,E=C.filter(fe=>fe.role==="assistant").length,A=C.some(fe=>fe.isStreaming),N="en-US",D=Wtt(),B=Cr.maxMessageLength;T.useEffect(()=>{var fe,ge;!b.current&&((fe=e.threadInfo)!=null&&fe.thread_id)&&f(!0),b.current=((ge=e.threadInfo)==null?void 0:ge.thread_id)||null},[(be=e.threadInfo)==null?void 0:be.thread_id]),T.useEffect(()=>{e.threadInfo||(d(""),f(!1),x(!1))},[e.threadInfo]),T.useEffect(()=>{E>0&&f(!0)},[E]);const F=T.useMemo(()=>{const fe=e.timestamp instanceof Date?e.timestamp:new Date(e.timestamp),ge=fe.toLocaleDateString(N,{weekday:"short"}),me=fe.toLocaleDateString(N,{month:"short"}),Ne=fe.getDate().toString().padStart(2,"0"),we=fe.getFullYear(),Be=fe.toLocaleTimeString(N,{hour:"2-digit",minute:"2-digit",hour12:!0});return`${ge}, ${me} ${Ne}, ${we} ${Be}`},[e.timestamp,N]),z=S?"markdown-content prose prose-slate dark:prose-invert max-w-none":"markdown-content prose prose-invert max-w-none",G=S?"bg-gradient-to-br from-blue-100 to-blue-200 text-blue-900 dark:from-[#1f2a36] dark:to-[#1a2230] dark:text-[#c5d7ff]":"bg-gradient-to-br from-emerald-100 to-emerald-200 text-emerald-900 dark:from-[#0f1f17] dark:to-[#0b1712] dark:text-[#c7f5df]",te=`message-bubble min-w-0 break-words leading-relaxed ${S?"border border-blue-100/80 bg-transparent text-[#0f172a] shadow-[0_15px_35px_-20px_rgba(15,23,42,0.25)] dark:border-[#1f2a36] dark:bg-transparent dark:text-[#e5edff]":"border border-emerald-100 bg-transparent text-[#1c3226] shadow-[0_12px_30px_-18px_rgba(15,52,33,0.25)] dark:border-[#1a2b21] dark:bg-transparent dark:text-[#dffbea]"} rounded-2xl px-4 py-3`,Y=S?"border-blue-100 bg-white/80 dark:border-[#1f2a36] dark:bg-white/5":"border-emerald-100 bg-white/80 dark:border-[#1a2b21] dark:bg-white/5",X=async()=>{try{await navigator.clipboard.writeText(e.content),l(!0),setTimeout(()=>l(!1),2e3)}catch{}},ee=fe=>{u(c===fe?null:fe)},ie=T.useCallback(fe=>(fe instanceof Date?fe:new Date(fe)).toLocaleTimeString(N,{hour:"2-digit",minute:"2-digit"}),[N]),W=async()=>{if(!n||!e.threadInfo)return;const fe=p.trim();if(fe){x(!0);try{await n(e.threadInfo.thread_id,e.id,fe),d(""),setTimeout(()=>{v.current&&v.current.focus()},100)}catch{setTimeout(()=>{v.current&&v.current.focus()},100)}finally{x(!1)}}},J=fe=>{fe.key==="Enter"&&!fe.shiftKey&&(fe.preventDefault(),W())},$=!e.threadInfo||!n||o||A||m;T.useEffect(()=>{if(!h||$)return;const fe=v.current;if(!fe)return;const ge=requestAnimationFrame(()=>{fe.focus();const me=fe.value.length;fe.setSelectionRange(me,me)});return()=>cancelAnimationFrame(ge)},[h,$,m]),T.useEffect(()=>{if(v.current){const ge=v.current;ge.style.height="auto";const me=ge.scrollHeight;ge.style.height=`${Math.min(me,120)}px`,ge.style.overflowY=me>120?"auto":"hidden"}},[p]);const ne=T.useMemo(()=>e.isStreaming&&(!e.content||e.content==="…")?q.jsxs("div",{className:"flex items-center gap-1.5 py-1",children:[q.jsx("span",{className:"inline-block h-2.5 w-2.5 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"0ms"}}),q.jsx("span",{className:"inline-block h-2.5 w-2.5 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"150ms"}}),q.jsx("span",{className:"inline-block h-2.5 w-2.5 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"300ms"}})]}):q.jsx(WV,{content:$T(jh(e.content||""))}),[e.content,e.isStreaming]),pe=T.useMemo(()=>[...C].sort((ge,me)=>{const Ne=ge.timestamp instanceof Date?ge.timestamp.getTime():new Date(ge.timestamp).getTime(),we=me.timestamp instanceof Date?me.timestamp.getTime():new Date(me.timestamp).getTime();return Ne-we}).map(ge=>{const me=ge.role==="assistant",Ne=ge.isStreaming&&(!ge.content||ge.content==="…")?q.jsxs("div",{className:"flex items-center gap-1.5 py-1",children:[q.jsx("span",{className:"inline-block h-2 w-2 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"0ms"}}),q.jsx("span",{className:"inline-block h-2 w-2 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"150ms"}}),q.jsx("span",{className:"inline-block h-2 w-2 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"300ms"}})]}):q.jsx(WV,{content:$T(jh(ge.content||""))});return q.jsxs("div",{className:"flex items-start gap-3",children:[q.jsx("div",{className:`mt-0.5 flex h-7 w-7 flex-shrink-0 items-center justify-center rounded-full ${me?"bg-blue-100 text-blue-700 dark:bg-[#1f2a36] dark:text-[#c5d7ff]":"bg-emerald-100 text-emerald-700 dark:bg-[#1f2a36] dark:text-[#9ef0d5]"}`,children:me?q.jsx(JM,{className:"h-3.5 w-3.5"}):q.jsx(tR,{className:"h-3.5 w-3.5"})}),q.jsxs("div",{className:"flex-1 rounded-2xl border border-white/70 bg-white/90 px-4 py-3 text-sm shadow-sm dark:border-white/5 dark:bg-white/5 backdrop-blur",children:[q.jsxs("div",{className:"mb-1 flex items-center justify-between text-[11px] font-semibold uppercase tracking-wide text-blue-900/70 dark:text-[#c5d7ff]",children:[q.jsx("span",{children:me?"Assistant":"You"}),q.jsx("span",{children:ie(ge.timestamp)})]}),q.jsx("div",{className:"prose prose-slate max-w-none text-sm text-[#353740] dark:prose-invert dark:text-[#ececf1]",children:Ne})]})]},ge.id)}),[ie,C]);return q.jsxs("div",{className:"group flex items-start gap-3 px-1 animate-fadeIn min-w-0 sm:px-0",children:[q.jsx("div",{className:`flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-full self-start -mt-2 ml-1 shadow-sm ring-2 ring-white/50 dark:ring-white/10 sm:-mt-3 sm:ml-2 ${G}`,children:S?q.jsx(JM,{className:"h-5 w-5"}):q.jsx(tR,{className:"h-5 w-5"})}),q.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[q.jsxs("div",{className:"flex flex-col gap-1.5 mb-1",children:[q.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-gray-700 dark:text-[#ececf1]",children:S?"Assistant":"You"}),q.jsx("span",{className:"text-xs text-gray-500 dark:text-[#bfc2cd]",children:F})]}),q.jsxs("div",{className:te,children:[q.jsx("div",{className:z,children:ne}),e.attachments&&e.attachments.length>0&&q.jsx("div",{className:"mt-3 space-y-2",children:e.attachments.map(fe=>q.jsxs("div",{className:`flex items-center gap-3 rounded-xl border p-3 ${Y}`,children:[q.jsx(dpe,{className:"h-4 w-4 text-gray-500 dark:text-[#bfc2cd]"}),q.jsxs("div",{className:"min-w-0 flex-1",children:[q.jsx("p",{className:"truncate text-sm font-medium text-[#353740] dark:text-[#ececf1]",children:fe.filename}),q.jsxs("p",{className:"text-xs text-gray-500 dark:text-[#bfc2cd]",children:[(fe.file_size/1024).toFixed(1)," KB"]})]})]},fe.file_id))}),e.audio&&S&&!e.isStreaming&&q.jsx(Ytt,{audio:e.audio,audioFormat:e.audioFormat,autoPlay:!1})]}),S&&!e.isStreaming&&q.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-gray-500 transition-opacity dark:text-[#bfc2cd] sm:opacity-0 sm:group-hover:opacity-100",children:[q.jsxs("button",{onClick:X,className:"inline-flex items-center gap-1 rounded px-2 py-1 hover:bg-gray-200 dark:hover:bg-[#3c3f4a]",title:"Copy message",children:[q.jsx(lpe,{className:"h-4 w-4"}),"Copy"]}),t&&q.jsxs("button",{onClick:()=>t(e.id),className:"inline-flex items-center gap-1 rounded px-2 py-1 hover:bg-gray-200 dark:hover:bg-[#3c3f4a]",title:"Regenerate response",children:[q.jsx(Epe,{className:"h-4 w-4"}),"Retry"]}),D&&r&&e.supportsThreading&&!e.threadInfo&&i&&q.jsxs("button",{onClick:()=>r(e.id,i),className:"inline-flex items-center gap-1 rounded px-2 py-1 hover:bg-gray-200 dark:hover:bg-[#3c3f4a]",title:"Start thread for follow-up questions",children:[q.jsx(Ah,{className:"h-4 w-4"}),"Start Thread"]}),Vtt()&&q.jsxs("div",{className:"flex items-center gap-1",children:[q.jsx("button",{onClick:()=>ee("up"),className:`rounded p-1 hover:bg-gray-200 dark:hover:bg-[#3c3f4a] ${c==="up"?"text-[#353740] dark:text-[#ececf1]":""}`,title:"Good response",children:q.jsx(_pe,{className:"h-4 w-4"})}),q.jsx("button",{onClick:()=>ee("down"),className:`rounded p-1 hover:bg-gray-200 dark:hover:bg-[#3c3f4a] ${c==="down"?"text-[#353740] dark:text-[#ececf1]":""}`,title:"Poor response",children:q.jsx(Cpe,{className:"h-4 w-4"})})]}),s&&q.jsx("span",{children:"Copied"})]}),D&&e.threadInfo&&q.jsxs("div",{className:"ml-12 mt-4 rounded-xl border border-blue-100/80 bg-blue-50/70 p-4 text-sm shadow-sm ring-1 ring-blue-100/60 dark:border-[#1f2a36] dark:bg-[#0f1821] dark:ring-[#1f2a36]",children:[q.jsxs("div",{className:"flex items-center justify-between text-sm font-semibold text-blue-900 dark:text-[#c5d7ff]",children:[q.jsxs("div",{className:"inline-flex items-center gap-2 uppercase tracking-wide",children:[q.jsx(Ah,{className:"h-3.5 w-3.5"}),q.jsxs("span",{children:["Thread replies",E>0?` (${E})`:""]})]}),q.jsx("button",{onClick:()=>f(fe=>!fe),className:"inline-flex items-center gap-2 rounded-full border border-blue-200/80 px-3 py-1.5 text-xs uppercase tracking-wide text-blue-900 transition hover:bg-white/70 dark:border-[#233449] dark:text-[#c5d7ff] dark:hover:bg-white/10",children:h?q.jsxs(q.Fragment,{children:["Hide ",q.jsx(spe,{className:"h-3 w-3"})]}):q.jsxs(q.Fragment,{children:["Show ",q.jsx(wY,{className:"h-3 w-3"})]})})]}),h&&q.jsxs(q.Fragment,{children:[q.jsx("div",{className:"mt-3 space-y-3",children:pe}),q.jsx("div",{className:"mt-3 rounded-xl border border-white/80 bg-white/95 p-3 shadow-sm dark:border-white/10 dark:bg-white/10",children:q.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[q.jsx("textarea",{ref:v,className:"flex-1 min-w-0 resize-none rounded-md border border-transparent bg-transparent px-3 py-1.5 text-sm text-[#353740] placeholder-gray-600 outline-none transition focus:border-gray-400 focus:ring-1 focus:ring-gray-300 disabled:opacity-60 dark:text-[#ececf1] dark:placeholder-[#bfc2cd] dark:focus:border-[#8e8ea0] dark:focus:ring-[#8e8ea0]",placeholder:E>0?"Reply in thread...":"Ask a follow-up...",value:p,onChange:fe=>d(fe.target.value),onKeyDown:J,disabled:$,rows:1,maxLength:B,style:{minHeight:"38px",maxHeight:"120px",border:"none",outline:"none",boxShadow:"none",WebkitAppearance:"none",MozAppearance:"none",appearance:"none"}}),q.jsxs("div",{className:"flex items-center gap-2",children:[p.length>0&&q.jsx("div",{className:"text-xs text-gray-500 dark:text-[#bfc2cd] whitespace-nowrap",children:q.jsxs("span",{className:p.length>=B?"text-red-600 font-semibold":"",children:[p.length,"/",B]})}),q.jsx("button",{type:"button",onClick:W,disabled:$||p.trim().length===0,className:`flex h-9 w-9 items-center justify-center rounded-full transition ${p.trim().length>0&&!$?"bg-[#10a37f] text-white hover:bg-[#0f8f6f]":"bg-gray-200 text-gray-400 dark:bg-[#2f313a] dark:text-[#6b6f7a]"} disabled:cursor-not-allowed`,title:"Send thread message",children:m?q.jsx(r0,{className:"h-4 w-4 animate-spin"}):q.jsx(xY,{className:"h-4 w-4"})})]})]})})]})]})]})]})}function Qtt(e=800,t=100,r="sine"){try{const n=window.AudioContext||window.webkitAudioContext;if(!n){Ye("[SoundEffects] AudioContext not supported in this browser");return}const a=new n,i=a.createOscillator(),o=a.createGain();i.connect(o),o.connect(a.destination),i.frequency.value=e,i.type=r,o.gain.setValueAtTime(.3,a.currentTime),o.gain.exponentialRampToValueAtTime(.01,a.currentTime+t/1e3),i.start(a.currentTime),i.stop(a.currentTime+t/1e3)}catch{}}const Jtt={messageSent:{frequency:600,duration:80,type:"sine"},messageReceived:{frequency:800,duration:100,type:"sine"},success:{frequency:1e3,duration:150,type:"sine"},error:{frequency:400,duration:200,type:"square"},notification:{frequency:700,duration:120,type:"sine"}};function mh(e,t){if(!t)return;const r=Jtt[e];if(r)try{Qtt(r.frequency,r.duration,r.type),Ye(`[SoundEffects] Playing ${e} sound effect`)}catch{}}function ert({messages:e,onRegenerate:t,onStartThread:r,onSendThreadMessage:n,sessionId:a,isLoading:i}){const o=T.useRef(null),s=T.useRef(null),l=T.useRef(e.length),c=T.useRef(""),u=T.useRef(i),[p,d]=T.useState(!0),{settings:h}=cv(),{topLevelMessages:f,threadLookup:m}=T.useMemo(()=>{const v=new Map,S=[];return e.forEach(C=>{if(C.isThreadMessage&&C.parentMessageId){const E=v.get(C.parentMessageId)||[];v.set(C.parentMessageId,[...E,C]);return}S.push(C)}),{topLevelMessages:S,threadLookup:v}},[e]),x=()=>{if(!s.current)return;const{scrollTop:v,scrollHeight:S,clientHeight:C}=s.current,A=S-v-C<200;d(A)},b=(v="smooth")=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{o.current?o.current.scrollIntoView({behavior:v}):s.current&&(s.current.scrollTop=s.current.scrollHeight)})})};return T.useEffect(()=>{const v=e.length,S=l.current,C=v>S,E=e[e.length-1],A=(E==null?void 0:E.content)||"",N=A!==c.current;C||E!=null&&E.isStreaming||N&&(E==null?void 0:E.role)==="assistant"?(b(C?"auto":"smooth"),d(!0)):p&&N&&b("smooth"),l.current=v,c.current=A},[e,p]),T.useEffect(()=>{i&&(b("auto"),d(!0))},[i]),T.useEffect(()=>{if(u.current&&!i){const v=e[e.length-1];(v==null?void 0:v.role)==="assistant"&&v.content&&mh("messageReceived",h.soundEnabled)}u.current=i},[i,e,h.soundEnabled]),f.length===0?q.jsx("div",{className:"flex-1 flex items-center justify-center px-4 sm:px-6",children:q.jsxs("div",{className:"text-center text-lg text-gray-500 dark:text-[#bfc2cd]",children:[q.jsx("p",{className:"text-xl",children:"Your messages will appear here."}),q.jsx("p",{className:"mt-1 text-lg",children:"Start the conversation by sending a prompt below."})]})}):q.jsx("div",{ref:s,className:"message-list flex-1 overflow-y-auto py-6",onScroll:x,children:q.jsxs("div",{className:"space-y-6 px-3 sm:px-4",children:[f.map(v=>q.jsx(Ztt,{message:v,onRegenerate:t,onStartThread:r,onSendThreadMessage:n,threadMessages:m.get(v.id),sessionId:a,isThreadSendDisabled:i},v.id)),q.jsx("div",{ref:o,className:"h-8"})]})})}const trt=2e3;function rrt(e,t){const[r,n]=T.useState(!1),[a,i]=T.useState(null),o=T.useRef(null),s=T.useRef(""),l=T.useRef(!1),c=T.useRef(null),u=T.useCallback(()=>{if(!s.current)return;const b=s.current;s.current="",e(" "+b)},[e]),p=typeof window<"u"&&("webkitSpeechRecognition"in window||"SpeechRecognition"in window),d=T.useCallback(()=>{!t||l.current||(l.current=!0,t())},[t]),h=T.useCallback(()=>{c.current!==null&&(clearTimeout(c.current),c.current=null)},[]),f=T.useCallback(()=>{h(),c.current=setTimeout(()=>{o.current?o.current.stop():d()},trt)},[h,d]),m=T.useCallback(()=>{if(!p){i("Speech recognition is not supported in this browser. Please try Chrome, Edge, or Safari.");return}if(!r)try{l.current=!1;const b=window.SpeechRecognition||window.webkitSpeechRecognition,v=new b;v.continuous=!0,v.interimResults=!0,v.lang=navigator.language||"en-US",v.maxAlternatives=1,v.onstart=()=>{n(!0),i(null),Ye("Speech recognition started"),f()},v.onresult=S=>{let C="",E="";for(let A=S.resultIndex;A<S.results.length;A++){const N=S.results[A][0].transcript;S.results[A].isFinal?C+=N:E+=N}E&&(s.current=E),C&&(s.current="",e(" "+C)),f()},v.onend=()=>{h(),u(),n(!1),o.current=null,Ye("Speech recognition ended"),d()},v.onerror=S=>{switch(h(),F0("Speech recognition error:",S.error),n(!1),o.current=null,s.current="",d(),S.error){case"no-speech":i("No speech detected. Please try again.");break;case"audio-capture":i("Microphone access denied. Please allow microphone access and try again.");break;case"not-allowed":i("Microphone access not allowed. Please enable microphone permissions.");break;case"network":i("Network error occurred. Please check your connection.");break;default:i(`Speech recognition error: ${S.error}`)}},v.start(),o.current=v}catch{i("Failed to start speech recognition. Please try again."),n(!1)}},[p,e,r,u,d,f,h]),x=T.useCallback(()=>{if(o.current){const b=o.current;b.onend=null,b.onerror=null,b.onresult=null,b.onstart=null;try{b.stop()}catch{}o.current=null}h(),u(),n(!1),i(null),d()},[h,u,d]);return{isListening:r,isSupported:p,startListening:m,stopListening:x,error:a}}const nrt="2.2.7",art={"@schmitech/chatbot-api":"^2.1.1"},fce={version:nrt,dependencies:art},mce=fce.version,ZV=fce.dependencies["@schmitech/chatbot-api"];async function jT(){try{return(await tr(()=>import("./api-Ciw0inlZ.js"),[])).version||ZV}catch{return ZV}}async function gce(){const e=await jT();return{appVersion:mce,apiVersion:e,isLocalApi:!1}}let Ws=null;function Xp(e){let t=null,r=null;const n=(i,o,s,l)=>{t=s||null,r=l||null},a=()=>{if(!r)throw new Error("Adapter name is required when middleware is enabled");return{async*streamChat(i,o,s,l,c,u,p,d,h,f,m){var v,S;const x={messages:[{role:"user",content:i}],stream:o!==!1};s&&s.length>0&&(x.file_ids=s),l&&(x.thread_id=l),c&&(x.audio_input=c),u&&(x.audio_format=u),p&&(x.language=p),d!==void 0&&(x.return_audio=d),h&&(x.tts_voice=h),f&&(x.source_language=f),m&&(x.target_language=m);const b=await fetch("/api/proxy/v1/chat",{method:"POST",headers:{"Content-Type":"application/json","X-Adapter-Name":r,...t?{"X-Session-ID":t}:{}},body:JSON.stringify(x)});if(!b.ok)throw new Error(`API request failed: ${b.status} ${b.statusText}`);if((v=b.headers.get("content-type"))!=null&&v.includes("text/event-stream")){const C=(S=b.body)==null?void 0:S.getReader(),E=new TextDecoder;let A="";if(!C)throw new Error("Response body is not readable");for(;;){const{done:N,value:D}=await C.read();if(N)break;A+=E.decode(D,{stream:!0});const B=A.split(`
1168
+ ... (content truncated due to length)`}const Cr={maxFilesPerConversation:fs.maxFilesPerConversation,maxFileSizeMB:fs.maxFileSizeMB,maxTotalFiles:fs.maxTotalFiles,maxConversations:fs.maxConversations,maxMessagesPerConversation:fs.maxMessagesPerConversation,maxTotalMessages:fs.maxTotalMessages,maxMessageLength:fs.maxMessageLength},Xtt=[];function Ztt({message:e,onRegenerate:t,onStartThread:r,onSendThreadMessage:n,threadMessages:a,sessionId:i,isThreadSendDisabled:o}){var V,be;const[s,l]=T.useState(!1),[c,u]=T.useState(null),[p,d]=T.useState(""),[h,f]=T.useState(!1),[m,x]=T.useState(!1),b=T.useRef(((V=e.threadInfo)==null?void 0:V.thread_id)||null),v=T.useRef(null),S=e.role==="assistant",C=a??Xtt,E=C.filter(fe=>fe.role==="assistant").length,A=C.some(fe=>fe.isStreaming),N="en-US",D=Wtt(),B=Cr.maxMessageLength;T.useEffect(()=>{var fe,ge;!b.current&&((fe=e.threadInfo)!=null&&fe.thread_id)&&f(!0),b.current=((ge=e.threadInfo)==null?void 0:ge.thread_id)||null},[(be=e.threadInfo)==null?void 0:be.thread_id]),T.useEffect(()=>{e.threadInfo||(d(""),f(!1),x(!1))},[e.threadInfo]),T.useEffect(()=>{E>0&&f(!0)},[E]);const F=T.useMemo(()=>{const fe=e.timestamp instanceof Date?e.timestamp:new Date(e.timestamp),ge=fe.toLocaleDateString(N,{weekday:"short"}),me=fe.toLocaleDateString(N,{month:"short"}),Ne=fe.getDate().toString().padStart(2,"0"),we=fe.getFullYear(),Be=fe.toLocaleTimeString(N,{hour:"2-digit",minute:"2-digit",hour12:!0});return`${ge}, ${me} ${Ne}, ${we} ${Be}`},[e.timestamp,N]),z=S?"markdown-content prose prose-slate dark:prose-invert max-w-none":"markdown-content prose prose-invert max-w-none",G=S?"bg-gradient-to-br from-blue-100 to-blue-200 text-blue-900 dark:from-[#1f2a36] dark:to-[#1a2230] dark:text-[#c5d7ff]":"bg-gradient-to-br from-emerald-100 to-emerald-200 text-emerald-900 dark:from-[#0f1f17] dark:to-[#0b1712] dark:text-[#c7f5df]",te=`message-bubble min-w-0 break-words leading-relaxed ${S?"border border-blue-100/80 bg-transparent text-[#0f172a] shadow-[0_15px_35px_-20px_rgba(15,23,42,0.25)] dark:border-[#1f2a36] dark:bg-transparent dark:text-[#e5edff]":"border border-emerald-100 bg-transparent text-[#1c3226] shadow-[0_12px_30px_-18px_rgba(15,52,33,0.25)] dark:border-[#1a2b21] dark:bg-transparent dark:text-[#dffbea]"} rounded-2xl px-4 py-3`,Y=S?"border-blue-100 bg-white/80 dark:border-[#1f2a36] dark:bg-white/5":"border-emerald-100 bg-white/80 dark:border-[#1a2b21] dark:bg-white/5",X=async()=>{try{await navigator.clipboard.writeText(e.content),l(!0),setTimeout(()=>l(!1),2e3)}catch{}},ee=fe=>{u(c===fe?null:fe)},ie=T.useCallback(fe=>(fe instanceof Date?fe:new Date(fe)).toLocaleTimeString(N,{hour:"2-digit",minute:"2-digit"}),[N]),W=async()=>{if(!n||!e.threadInfo)return;const fe=p.trim();if(fe){x(!0);try{await n(e.threadInfo.thread_id,e.id,fe),d(""),setTimeout(()=>{v.current&&v.current.focus()},100)}catch{setTimeout(()=>{v.current&&v.current.focus()},100)}finally{x(!1)}}},J=fe=>{fe.key==="Enter"&&!fe.shiftKey&&(fe.preventDefault(),W())},$=!e.threadInfo||!n||o||A||m;T.useEffect(()=>{if(!h||$)return;const fe=v.current;if(!fe)return;const ge=requestAnimationFrame(()=>{fe.focus();const me=fe.value.length;fe.setSelectionRange(me,me)});return()=>cancelAnimationFrame(ge)},[h,$,m]),T.useEffect(()=>{if(v.current){const ge=v.current;ge.style.height="auto";const me=ge.scrollHeight;ge.style.height=`${Math.min(me,120)}px`,ge.style.overflowY=me>120?"auto":"hidden"}},[p]);const ne=T.useMemo(()=>e.isStreaming&&(!e.content||e.content==="…")?q.jsxs("div",{className:"flex items-center gap-1.5 py-1",children:[q.jsx("span",{className:"inline-block h-2.5 w-2.5 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"0ms"}}),q.jsx("span",{className:"inline-block h-2.5 w-2.5 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"150ms"}}),q.jsx("span",{className:"inline-block h-2.5 w-2.5 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"300ms"}})]}):q.jsx(WV,{content:$T(jh(e.content||""))}),[e.content,e.isStreaming]),pe=T.useMemo(()=>[...C].sort((ge,me)=>{const Ne=ge.timestamp instanceof Date?ge.timestamp.getTime():new Date(ge.timestamp).getTime(),we=me.timestamp instanceof Date?me.timestamp.getTime():new Date(me.timestamp).getTime();return Ne-we}).map(ge=>{const me=ge.role==="assistant",Ne=ge.isStreaming&&(!ge.content||ge.content==="…")?q.jsxs("div",{className:"flex items-center gap-1.5 py-1",children:[q.jsx("span",{className:"inline-block h-2 w-2 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"0ms"}}),q.jsx("span",{className:"inline-block h-2 w-2 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"150ms"}}),q.jsx("span",{className:"inline-block h-2 w-2 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"300ms"}})]}):q.jsx(WV,{content:$T(jh(ge.content||""))});return q.jsxs("div",{className:"flex items-start gap-3",children:[q.jsx("div",{className:`mt-0.5 flex h-7 w-7 flex-shrink-0 items-center justify-center rounded-full ${me?"bg-blue-100 text-blue-700 dark:bg-[#1f2a36] dark:text-[#c5d7ff]":"bg-emerald-100 text-emerald-700 dark:bg-[#1f2a36] dark:text-[#9ef0d5]"}`,children:me?q.jsx(JM,{className:"h-3.5 w-3.5"}):q.jsx(tR,{className:"h-3.5 w-3.5"})}),q.jsxs("div",{className:"flex-1 rounded-2xl border border-white/70 bg-white/90 px-4 py-3 text-sm shadow-sm dark:border-white/5 dark:bg-white/5 backdrop-blur",children:[q.jsxs("div",{className:"mb-1 flex items-center justify-between text-[11px] font-semibold uppercase tracking-wide text-blue-900/70 dark:text-[#c5d7ff]",children:[q.jsx("span",{children:me?"Assistant":"You"}),q.jsx("span",{children:ie(ge.timestamp)})]}),q.jsx("div",{className:"prose prose-slate max-w-none text-sm text-[#353740] dark:prose-invert dark:text-[#ececf1]",children:Ne})]})]},ge.id)}),[ie,C]);return q.jsxs("div",{className:"group flex items-start gap-3 px-1 animate-fadeIn min-w-0 sm:px-0",children:[q.jsx("div",{className:`flex h-10 w-10 flex-shrink-0 items-center justify-center rounded-full self-start -mt-2 ml-1 shadow-sm ring-2 ring-white/50 dark:ring-white/10 sm:-mt-3 sm:ml-2 ${G}`,children:S?q.jsx(JM,{className:"h-5 w-5"}):q.jsx(tR,{className:"h-5 w-5"})}),q.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[q.jsxs("div",{className:"flex flex-col gap-1.5 mb-1",children:[q.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-gray-700 dark:text-[#ececf1]",children:S?"Assistant":"You"}),q.jsx("span",{className:"text-xs text-gray-500 dark:text-[#bfc2cd]",children:F})]}),q.jsxs("div",{className:te,children:[q.jsx("div",{className:z,children:ne}),e.attachments&&e.attachments.length>0&&q.jsx("div",{className:"mt-3 space-y-2",children:e.attachments.map(fe=>q.jsxs("div",{className:`flex items-center gap-3 rounded-xl border p-3 ${Y}`,children:[q.jsx(dpe,{className:"h-4 w-4 text-gray-500 dark:text-[#bfc2cd]"}),q.jsxs("div",{className:"min-w-0 flex-1",children:[q.jsx("p",{className:"truncate text-sm font-medium text-[#353740] dark:text-[#ececf1]",children:fe.filename}),q.jsxs("p",{className:"text-xs text-gray-500 dark:text-[#bfc2cd]",children:[(fe.file_size/1024).toFixed(1)," KB"]})]})]},fe.file_id))}),e.audio&&S&&!e.isStreaming&&q.jsx(Ytt,{audio:e.audio,audioFormat:e.audioFormat,autoPlay:!1})]}),S&&!e.isStreaming&&q.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-gray-500 transition-opacity dark:text-[#bfc2cd] sm:opacity-0 sm:group-hover:opacity-100",children:[q.jsxs("button",{onClick:X,className:"inline-flex items-center gap-1 rounded px-2 py-1 hover:bg-gray-200 dark:hover:bg-[#3c3f4a]",title:"Copy message",children:[q.jsx(lpe,{className:"h-4 w-4"}),"Copy"]}),t&&q.jsxs("button",{onClick:()=>t(e.id),className:"inline-flex items-center gap-1 rounded px-2 py-1 hover:bg-gray-200 dark:hover:bg-[#3c3f4a]",title:"Regenerate response",children:[q.jsx(Epe,{className:"h-4 w-4"}),"Retry"]}),D&&r&&e.supportsThreading&&!e.threadInfo&&i&&q.jsxs("button",{onClick:()=>r(e.id,i),className:"inline-flex items-center gap-1 rounded px-2 py-1 hover:bg-gray-200 dark:hover:bg-[#3c3f4a]",title:"Start thread for follow-up questions",children:[q.jsx(Ah,{className:"h-4 w-4"}),"Start Thread"]}),Vtt()&&q.jsxs("div",{className:"flex items-center gap-1",children:[q.jsx("button",{onClick:()=>ee("up"),className:`rounded p-1 hover:bg-gray-200 dark:hover:bg-[#3c3f4a] ${c==="up"?"text-[#353740] dark:text-[#ececf1]":""}`,title:"Good response",children:q.jsx(_pe,{className:"h-4 w-4"})}),q.jsx("button",{onClick:()=>ee("down"),className:`rounded p-1 hover:bg-gray-200 dark:hover:bg-[#3c3f4a] ${c==="down"?"text-[#353740] dark:text-[#ececf1]":""}`,title:"Poor response",children:q.jsx(Cpe,{className:"h-4 w-4"})})]}),s&&q.jsx("span",{children:"Copied"})]}),D&&e.threadInfo&&q.jsxs("div",{className:"ml-12 mt-4 rounded-xl border border-blue-100/80 bg-blue-50/70 p-4 text-sm shadow-sm ring-1 ring-blue-100/60 dark:border-[#1f2a36] dark:bg-[#0f1821] dark:ring-[#1f2a36]",children:[q.jsxs("div",{className:"flex items-center justify-between text-sm font-semibold text-blue-900 dark:text-[#c5d7ff]",children:[q.jsxs("div",{className:"inline-flex items-center gap-2 uppercase tracking-wide",children:[q.jsx(Ah,{className:"h-3.5 w-3.5"}),q.jsxs("span",{children:["Thread replies",E>0?` (${E})`:""]})]}),q.jsx("button",{onClick:()=>f(fe=>!fe),className:"inline-flex items-center gap-2 rounded-full border border-blue-200/80 px-3 py-1.5 text-xs uppercase tracking-wide text-blue-900 transition hover:bg-white/70 dark:border-[#233449] dark:text-[#c5d7ff] dark:hover:bg-white/10",children:h?q.jsxs(q.Fragment,{children:["Hide ",q.jsx(spe,{className:"h-3 w-3"})]}):q.jsxs(q.Fragment,{children:["Show ",q.jsx(wY,{className:"h-3 w-3"})]})})]}),h&&q.jsxs(q.Fragment,{children:[q.jsx("div",{className:"mt-3 space-y-3",children:pe}),q.jsx("div",{className:"mt-3 rounded-xl border border-white/80 bg-white/95 p-3 shadow-sm dark:border-white/10 dark:bg-white/10",children:q.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[q.jsx("textarea",{ref:v,className:"flex-1 min-w-0 resize-none rounded-md border border-transparent bg-transparent px-3 py-1.5 text-sm text-[#353740] placeholder-gray-600 outline-none transition focus:border-gray-400 focus:ring-1 focus:ring-gray-300 disabled:opacity-60 dark:text-[#ececf1] dark:placeholder-[#bfc2cd] dark:focus:border-[#8e8ea0] dark:focus:ring-[#8e8ea0]",placeholder:E>0?"Reply in thread...":"Ask a follow-up...",value:p,onChange:fe=>d(fe.target.value),onKeyDown:J,disabled:$,rows:1,maxLength:B,style:{minHeight:"38px",maxHeight:"120px",border:"none",outline:"none",boxShadow:"none",WebkitAppearance:"none",MozAppearance:"none",appearance:"none"}}),q.jsxs("div",{className:"flex items-center gap-2",children:[p.length>0&&q.jsx("div",{className:"text-xs text-gray-500 dark:text-[#bfc2cd] whitespace-nowrap",children:q.jsxs("span",{className:p.length>=B?"text-red-600 font-semibold":"",children:[p.length,"/",B]})}),q.jsx("button",{type:"button",onClick:W,disabled:$||p.trim().length===0,className:`flex h-9 w-9 items-center justify-center rounded-full transition ${p.trim().length>0&&!$?"bg-[#10a37f] text-white hover:bg-[#0f8f6f]":"bg-gray-200 text-gray-400 dark:bg-[#2f313a] dark:text-[#6b6f7a]"} disabled:cursor-not-allowed`,title:"Send thread message",children:m?q.jsx(r0,{className:"h-4 w-4 animate-spin"}):q.jsx(xY,{className:"h-4 w-4"})})]})]})})]})]})]})]})}function Qtt(e=800,t=100,r="sine"){try{const n=window.AudioContext||window.webkitAudioContext;if(!n){Ye("[SoundEffects] AudioContext not supported in this browser");return}const a=new n,i=a.createOscillator(),o=a.createGain();i.connect(o),o.connect(a.destination),i.frequency.value=e,i.type=r,o.gain.setValueAtTime(.3,a.currentTime),o.gain.exponentialRampToValueAtTime(.01,a.currentTime+t/1e3),i.start(a.currentTime),i.stop(a.currentTime+t/1e3)}catch{}}const Jtt={messageSent:{frequency:600,duration:80,type:"sine"},messageReceived:{frequency:800,duration:100,type:"sine"},success:{frequency:1e3,duration:150,type:"sine"},error:{frequency:400,duration:200,type:"square"},notification:{frequency:700,duration:120,type:"sine"}};function mh(e,t){if(!t)return;const r=Jtt[e];if(r)try{Qtt(r.frequency,r.duration,r.type),Ye(`[SoundEffects] Playing ${e} sound effect`)}catch{}}function ert({messages:e,onRegenerate:t,onStartThread:r,onSendThreadMessage:n,sessionId:a,isLoading:i}){const o=T.useRef(null),s=T.useRef(null),l=T.useRef(e.length),c=T.useRef(""),u=T.useRef(i),[p,d]=T.useState(!0),{settings:h}=cv(),{topLevelMessages:f,threadLookup:m}=T.useMemo(()=>{const v=new Map,S=[];return e.forEach(C=>{if(C.isThreadMessage&&C.parentMessageId){const E=v.get(C.parentMessageId)||[];v.set(C.parentMessageId,[...E,C]);return}S.push(C)}),{topLevelMessages:S,threadLookup:v}},[e]),x=()=>{if(!s.current)return;const{scrollTop:v,scrollHeight:S,clientHeight:C}=s.current,A=S-v-C<200;d(A)},b=(v="smooth")=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{o.current?o.current.scrollIntoView({behavior:v}):s.current&&(s.current.scrollTop=s.current.scrollHeight)})})};return T.useEffect(()=>{const v=e.length,S=l.current,C=v>S,E=e[e.length-1],A=(E==null?void 0:E.content)||"",N=A!==c.current;C||E!=null&&E.isStreaming||N&&(E==null?void 0:E.role)==="assistant"?(b(C?"auto":"smooth"),d(!0)):p&&N&&b("smooth"),l.current=v,c.current=A},[e,p]),T.useEffect(()=>{i&&(b("auto"),d(!0))},[i]),T.useEffect(()=>{if(u.current&&!i){const v=e[e.length-1];(v==null?void 0:v.role)==="assistant"&&v.content&&mh("messageReceived",h.soundEnabled)}u.current=i},[i,e,h.soundEnabled]),f.length===0?q.jsx("div",{className:"flex-1 flex items-center justify-center px-4 sm:px-6",children:q.jsxs("div",{className:"text-center text-lg text-gray-500 dark:text-[#bfc2cd]",children:[q.jsx("p",{className:"text-xl",children:"Your messages will appear here."}),q.jsx("p",{className:"mt-1 text-lg",children:"Start the conversation by sending a prompt below."})]})}):q.jsx("div",{ref:s,className:"message-list flex-1 overflow-y-auto py-6",onScroll:x,children:q.jsxs("div",{className:"space-y-6 px-3 sm:px-4",children:[f.map(v=>q.jsx(Ztt,{message:v,onRegenerate:t,onStartThread:r,onSendThreadMessage:n,threadMessages:m.get(v.id),sessionId:a,isThreadSendDisabled:i},v.id)),q.jsx("div",{ref:o,className:"h-8"})]})})}const trt=2e3;function rrt(e,t){const[r,n]=T.useState(!1),[a,i]=T.useState(null),o=T.useRef(null),s=T.useRef(""),l=T.useRef(!1),c=T.useRef(null),u=T.useCallback(()=>{if(!s.current)return;const b=s.current;s.current="",e(" "+b)},[e]),p=typeof window<"u"&&("webkitSpeechRecognition"in window||"SpeechRecognition"in window),d=T.useCallback(()=>{!t||l.current||(l.current=!0,t())},[t]),h=T.useCallback(()=>{c.current!==null&&(clearTimeout(c.current),c.current=null)},[]),f=T.useCallback(()=>{h(),c.current=setTimeout(()=>{o.current?o.current.stop():d()},trt)},[h,d]),m=T.useCallback(()=>{if(!p){i("Speech recognition is not supported in this browser. Please try Chrome, Edge, or Safari.");return}if(!r)try{l.current=!1;const b=window.SpeechRecognition||window.webkitSpeechRecognition,v=new b;v.continuous=!0,v.interimResults=!0,v.lang=navigator.language||"en-US",v.maxAlternatives=1,v.onstart=()=>{n(!0),i(null),Ye("Speech recognition started"),f()},v.onresult=S=>{let C="",E="";for(let A=S.resultIndex;A<S.results.length;A++){const N=S.results[A][0].transcript;S.results[A].isFinal?C+=N:E+=N}E&&(s.current=E),C&&(s.current="",e(" "+C)),f()},v.onend=()=>{h(),u(),n(!1),o.current=null,Ye("Speech recognition ended"),d()},v.onerror=S=>{switch(h(),F0("Speech recognition error:",S.error),n(!1),o.current=null,s.current="",d(),S.error){case"no-speech":i("No speech detected. Please try again.");break;case"audio-capture":i("Microphone access denied. Please allow microphone access and try again.");break;case"not-allowed":i("Microphone access not allowed. Please enable microphone permissions.");break;case"network":i("Network error occurred. Please check your connection.");break;default:i(`Speech recognition error: ${S.error}`)}},v.start(),o.current=v}catch{i("Failed to start speech recognition. Please try again."),n(!1)}},[p,e,r,u,d,f,h]),x=T.useCallback(()=>{if(o.current){const b=o.current;b.onend=null,b.onerror=null,b.onresult=null,b.onstart=null;try{b.stop()}catch{}o.current=null}h(),u(),n(!1),i(null),d()},[h,u,d]);return{isListening:r,isSupported:p,startListening:m,stopListening:x,error:a}}const nrt="2.2.8",art={"@schmitech/chatbot-api":"^2.1.1"},fce={version:nrt,dependencies:art},mce=fce.version,ZV=fce.dependencies["@schmitech/chatbot-api"];async function jT(){try{return(await tr(()=>import("./api-L84wIOvt.js"),[])).version||ZV}catch{return ZV}}async function gce(){const e=await jT();return{appVersion:mce,apiVersion:e,isLocalApi:!1}}let Ws=null;function Xp(e){let t=null,r=null;const n=(i,o,s,l)=>{t=s||null,r=l||null},a=()=>{if(!r)throw new Error("Adapter name is required when middleware is enabled");return{async*streamChat(i,o,s,l,c,u,p,d,h,f,m){var v,S;const x={messages:[{role:"user",content:i}],stream:o!==!1};s&&s.length>0&&(x.file_ids=s),l&&(x.thread_id=l),c&&(x.audio_input=c),u&&(x.audio_format=u),p&&(x.language=p),d!==void 0&&(x.return_audio=d),h&&(x.tts_voice=h),f&&(x.source_language=f),m&&(x.target_language=m);const b=await fetch("/api/proxy/v1/chat",{method:"POST",headers:{"Content-Type":"application/json","X-Adapter-Name":r,...t?{"X-Session-ID":t}:{}},body:JSON.stringify(x)});if(!b.ok)throw new Error(`API request failed: ${b.status} ${b.statusText}`);if((v=b.headers.get("content-type"))!=null&&v.includes("text/event-stream")){const C=(S=b.body)==null?void 0:S.getReader(),E=new TextDecoder;let A="";if(!C)throw new Error("Response body is not readable");for(;;){const{done:N,value:D}=await C.read();if(N)break;A+=E.decode(D,{stream:!0});const B=A.split(`
1169
1169
  `);A=B.pop()||"";for(const F of B)if(F.startsWith("data: "))try{const z=JSON.parse(F.substring(6));yield{text:z.text||z.content||z.message||z.response||"",done:z.done||!1,audio:z.audio,audioFormat:z.audio_format||z.audioFormat,audio_chunk:z.audio_chunk,chunk_index:z.chunk_index,threading:z.threading}}catch{}}if(A.trim()){const N=A.split(`
1170
- `);for(const D of N)if(D.startsWith("data: "))try{const B=JSON.parse(D.substring(6));yield{text:B.text||B.content||B.message||B.response||"",done:B.done||!1,audio:B.audio,audioFormat:B.audio_format||B.audioFormat,audio_chunk:B.audio_chunk,chunk_index:B.chunk_index,threading:B.threading}}catch{}}}else{const C=await b.json();yield{text:C.message||C.response||"",done:!0}}},async createThread(i,o){const s=await fetch("/api/proxy/api/threads",{method:"POST",headers:{"Content-Type":"application/json","X-Adapter-Name":r,"X-Session-ID":o},body:JSON.stringify({message_id:i,session_id:o})});if(!s.ok)throw new Error(`Failed to create thread: ${s.statusText}`);return s.json()},async getThreadInfo(i){const o=await fetch(`/api/proxy/api/threads/${i}`,{headers:{"X-Adapter-Name":r}});if(!o.ok)throw new Error(`Failed to get thread info: ${o.statusText}`);return o.json()},async deleteThread(i){const o=await fetch(`/api/proxy/api/threads/${i}`,{method:"DELETE",headers:{"X-Adapter-Name":r}});if(!o.ok)throw new Error(`Failed to delete thread: ${o.statusText}`);return o.json()},async clearConversationHistory(i){const o=await fetch(`/api/proxy/admin/chat-history/${i||t}`,{method:"DELETE",headers:{"X-Adapter-Name":r}});if(!o.ok)throw new Error(`Failed to clear history: ${o.statusText}`);return o.json()},async deleteConversationWithFiles(i,o){const s=await fetch(`/api/proxy/admin/conversations/${i||t}`,{method:"DELETE",headers:{"Content-Type":"application/json","X-Adapter-Name":r},body:JSON.stringify({file_ids:o})});if(!s.ok)throw new Error(`Failed to delete conversation: ${s.statusText}`);return s.json()},getSessionId:()=>t,async uploadFile(i){const o=new FormData;o.append("file",i);const s=await fetch("/api/proxy/api/files/upload",{method:"POST",headers:{"X-Adapter-Name":r},body:o});if(!s.ok)throw new Error(`Failed to upload file: ${s.statusText}`);return s.json()},async listFiles(){const i=await fetch("/api/proxy/api/files",{headers:{"X-Adapter-Name":r}});if(!i.ok)throw new Error(`Failed to list files: ${i.statusText}`);const o=await i.json();return Array.isArray(o)?o:o.files||[]},async getFileInfo(i){const o=await fetch(`/api/proxy/api/files/${i}`,{headers:{"X-Adapter-Name":r}});if(!o.ok)throw new Error(`Failed to get file info: ${o.statusText}`);return o.json()},async queryFile(i,o,s){const l=await fetch(`/api/proxy/api/files/${i}/query`,{method:"POST",headers:{"Content-Type":"application/json","X-Adapter-Name":r},body:JSON.stringify({query:o,max_results:s})});if(!l.ok)throw new Error(`Failed to query file: ${l.statusText}`);return l.json()},async deleteFile(i){const o=await fetch(`/api/proxy/api/files/${i}`,{method:"DELETE",headers:{"X-Adapter-Name":r}});if(!o.ok)throw new Error(`Failed to delete file: ${o.statusText}`);return o.json()},async validateApiKey(){const i=await fetch(`/api/proxy/admin/api-keys/${r}/status`,{headers:{"X-Adapter-Name":r}});if(!i.ok)throw new Error(`Failed to validate API key: ${i.statusText}`);return i.json()},async getAdapterInfo(){const i=await fetch("/api/proxy/admin/api-keys/info",{headers:{"X-Adapter-Name":r}});if(!i.ok){const o=await i.text();throw new Error(`Failed to get adapter info: ${i.status} ${i.statusText} - ${o}`)}return i.json()}}};return{configureApi:n,streamChat:async function*(i,o,s,l,c,u,p,d,h,f,m){yield*a().streamChat(i,o,s,l,c,u,p,d,h,f,m)},ApiClient:class{constructor(o){pi(this,"client");r=o.adapterName||null,t=o.sessionId||null,o.apiUrl,this.client=a()}async*streamChat(...o){yield*this.client.streamChat(...o)}get createThread(){var o;return(o=this.client.createThread)==null?void 0:o.bind(this.client)}get getThreadInfo(){var o;return(o=this.client.getThreadInfo)==null?void 0:o.bind(this.client)}get deleteThread(){var o;return(o=this.client.deleteThread)==null?void 0:o.bind(this.client)}get clearConversationHistory(){var o;return(o=this.client.clearConversationHistory)==null?void 0:o.bind(this.client)}get deleteConversationWithFiles(){var o;return(o=this.client.deleteConversationWithFiles)==null?void 0:o.bind(this.client)}get getSessionId(){var o;return(o=this.client.getSessionId)==null?void 0:o.bind(this.client)}get uploadFile(){var o;return(o=this.client.uploadFile)==null?void 0:o.bind(this.client)}get listFiles(){var o;return(o=this.client.listFiles)==null?void 0:o.bind(this.client)}get getFileInfo(){var o;return(o=this.client.getFileInfo)==null?void 0:o.bind(this.client)}get queryFile(){var o;return(o=this.client.queryFile)==null?void 0:o.bind(this.client)}get deleteFile(){var o;return(o=this.client.deleteFile)==null?void 0:o.bind(this.client)}get validateApiKey(){var o;return(o=this.client.validateApiKey)==null?void 0:o.bind(this.client)}get getAdapterInfo(){var o;return(o=this.client.getAdapterInfo)==null?void 0:o.bind(this.client)}}}}async function irt(e){return e==="@local-node-api/api.mjs"?tr(()=>import("./api-BHF9IxKN.js"),[]):import(e)}async function ort(){if(Ws)return Ws;const e=Utt(),t=qtt(),r=Sa();try{if(e){let n;t?t.startsWith("/")?n=t.startsWith("/src/")?`.${t.substring(4)}${t.endsWith(".mjs")?"":"/api.mjs"}`:"../../../node-api/dist/api.mjs":t.startsWith("../")||t.startsWith("./")?n=t.endsWith(".mjs")?t:`${t}/api.mjs`:n=`./${t}${t.endsWith(".mjs")?"":"/api.mjs"}`:n="../../../node-api/dist/api.mjs",Ye(`🔧 Loading local API from: ${n}`);const a=await irt(n);r?(Ye("🔐 API Middleware enabled - routing through proxy"),Ws=Xp(a)):Ws={configureApi:a.configureApi,streamChat:a.streamChat,ApiClient:a.ApiClient},Ye("✅ Local API loaded successfully")}else{Ye("📦 Loading npm package API");const n=await tr(()=>import("./api-Ciw0inlZ.js"),[]),a=async function*(s,l,c,u,p,d,h,f,m,x,b){yield*n.streamChat(s,l,c,u,p,d,h,f,m,x,b)};class i{constructor(l){pi(this,"client");if(r&&l.adapterName){const c=Xp(n);this.client=new c.ApiClient(l)}else this.client=new n.ApiClient(l)}async*streamChat(l,c,u,p,d,h,f,m,x,b,v){yield*this.client.streamChat(l,c,u,p,d,h,f,m,x,b,v)}get createThread(){var l;return(l=this.client.createThread)==null?void 0:l.bind(this.client)}get getThreadInfo(){var l;return(l=this.client.getThreadInfo)==null?void 0:l.bind(this.client)}get deleteThread(){var l;return(l=this.client.deleteThread)==null?void 0:l.bind(this.client)}get clearConversationHistory(){var l;return(l=this.client.clearConversationHistory)==null?void 0:l.bind(this.client)}get deleteConversationWithFiles(){var l;return(l=this.client.deleteConversationWithFiles)==null?void 0:l.bind(this.client)}get getSessionId(){var l;return(l=this.client.getSessionId)==null?void 0:l.bind(this.client)}get uploadFile(){var l;return(l=this.client.uploadFile)==null?void 0:l.bind(this.client)}get listFiles(){var l;return(l=this.client.listFiles)==null?void 0:l.bind(this.client)}get getFileInfo(){var l;return(l=this.client.getFileInfo)==null?void 0:l.bind(this.client)}get queryFile(){var l;return(l=this.client.queryFile)==null?void 0:l.bind(this.client)}get deleteFile(){var l;return(l=this.client.deleteFile)==null?void 0:l.bind(this.client)}get validateApiKey(){var l;return(l=this.client.validateApiKey)==null?void 0:l.bind(this.client)}get getAdapterInfo(){var l;return(l=this.client.getAdapterInfo)==null?void 0:l.bind(this.client)}}r?(Ye("🔐 API Middleware enabled - routing through proxy"),Ws=Xp(n)):Ws={configureApi:n.configureApi,streamChat:a,ApiClient:i};const o=await jT();Ye(`✅ NPM package API loaded successfully (v${o})`)}}catch(n){if(e)try{const a=await tr(()=>import("./api-Ciw0inlZ.js"),[]),i=async function*(l,c,u,p,d,h,f,m,x,b,v){yield*a.streamChat(l,c,u,p,d,h,f,m,x,b,v)};class o{constructor(c){pi(this,"client");if(r&&c.adapterName){const u=Xp(a);this.client=new u.ApiClient(c)}else this.client=new a.ApiClient(c)}async*streamChat(c,u,p,d,h,f,m,x,b,v,S){yield*this.client.streamChat(c,u,p,d,h,f,m,x,b,v,S)}get createThread(){var c;return(c=this.client.createThread)==null?void 0:c.bind(this.client)}get getThreadInfo(){var c;return(c=this.client.getThreadInfo)==null?void 0:c.bind(this.client)}get deleteThread(){var c;return(c=this.client.deleteThread)==null?void 0:c.bind(this.client)}get clearConversationHistory(){var c;return(c=this.client.clearConversationHistory)==null?void 0:c.bind(this.client)}get deleteConversationWithFiles(){var c;return(c=this.client.deleteConversationWithFiles)==null?void 0:c.bind(this.client)}get getSessionId(){var c;return(c=this.client.getSessionId)==null?void 0:c.bind(this.client)}get uploadFile(){var c;return(c=this.client.uploadFile)==null?void 0:c.bind(this.client)}get listFiles(){var c;return(c=this.client.listFiles)==null?void 0:c.bind(this.client)}get getFileInfo(){var c;return(c=this.client.getFileInfo)==null?void 0:c.bind(this.client)}get queryFile(){var c;return(c=this.client.queryFile)==null?void 0:c.bind(this.client)}get deleteFile(){var c;return(c=this.client.deleteFile)==null?void 0:c.bind(this.client)}get validateApiKey(){var c;return(c=this.client.validateApiKey)==null?void 0:c.bind(this.client)}get getAdapterInfo(){var c;return(c=this.client.getAdapterInfo)==null?void 0:c.bind(this.client)}}r?(Ye("🔐 API Middleware enabled - routing through proxy"),Ws=Xp(a)):Ws={configureApi:a.configureApi,streamChat:i,ApiClient:o};const s=await jT();Ye(`✅ Fallback to NPM package successful (v${s})`)}catch{throw new Error("Failed to load both local and npm API packages")}else throw n}return Ws}async function la(){return await ort()}const iy=Au(),srt=()=>{try{if(typeof window>"u"||!window.localStorage)return null;const e=window.localStorage.getItem("chat-api-url");return e&&e===Xu?(window.localStorage.removeItem("chat-api-url"),null):e}catch{return null}},Zp=e=>{const t=e==null?void 0:e.trim();if(t)return t;const r=srt();return r&&r!==Xu?r:Vn()};class Bf{static async uploadFile(t,r,n,a,i){try{const o=Cr.maxFileSizeMB*1024*1024;if(t.size>o)throw new Error(`File size exceeds maximum limit of ${Cr.maxFileSizeMB}MB`);if(!(["application/pdf","text/plain","text/markdown","text/csv","application/json","text/html","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.ms-excel","application/vnd.ms-excel.sheet.macroEnabled.12","text/x-python","text/x-python-script","text/x-java-source","text/x-java","text/x-sql","text/javascript","application/javascript","text/typescript","application/typescript","text/x-c++src","text/x-csrc","text/x-c","text/x-go","text/x-rust","text/x-ruby","text/x-php","text/x-shellscript","text/x-sh","text/yaml","text/x-yaml","text/xml","application/xml","text/css","text/x-scss","text/x-sass","text/x-less","image/png","image/jpeg","image/tiff","audio/wav","audio/mpeg","audio/mp3","audio/mp4","audio/ogg","audio/flac","audio/webm","audio/x-m4a","audio/aac","text/vtt"].includes(t.type)||/\.(pdf|txt|md|csv|json|html|docx|pptx|xlsx|py|java|sql|js|mjs|ts|tsx|cpp|cxx|cc|c|h|hpp|go|rs|rb|php|sh|bash|zsh|yaml|yml|xml|css|scss|sass|less|png|jpe?g|tiff?|wav|mp3|mp4|ogg|flac|webm|m4a|aac|vtt)$/i.test(t.name)||(t.type==="application/x-zip-compressed"||t.type==="application/zip")&&/\.xlsx$/i.test(t.name)))throw new Error(`File type not supported: ${t.type||"unknown"}`);r&&r({filename:t.name,progress:0,status:"uploading"});const c=await la(),u=Zp(a),p=Sa();let d=null,h=null;if(p){if(h=i||(typeof window<"u"?localStorage.getItem("chat-adapter-name"):null),!h)throw new Error("Adapter not configured. Please select an adapter from the dropdown.");Ye(`🔑 Using adapter: ${h}`)}else{if(d=n||localStorage.getItem("chat-api-key")||window.CHATBOT_API_KEY||iy,!d||d==="your-api-key-here")throw new Error(`API key not configured or invalid. Please:
1170
+ `);for(const D of N)if(D.startsWith("data: "))try{const B=JSON.parse(D.substring(6));yield{text:B.text||B.content||B.message||B.response||"",done:B.done||!1,audio:B.audio,audioFormat:B.audio_format||B.audioFormat,audio_chunk:B.audio_chunk,chunk_index:B.chunk_index,threading:B.threading}}catch{}}}else{const C=await b.json();yield{text:C.message||C.response||"",done:!0}}},async createThread(i,o){const s=await fetch("/api/proxy/api/threads",{method:"POST",headers:{"Content-Type":"application/json","X-Adapter-Name":r,"X-Session-ID":o},body:JSON.stringify({message_id:i,session_id:o})});if(!s.ok)throw new Error(`Failed to create thread: ${s.statusText}`);return s.json()},async getThreadInfo(i){const o=await fetch(`/api/proxy/api/threads/${i}`,{headers:{"X-Adapter-Name":r}});if(!o.ok)throw new Error(`Failed to get thread info: ${o.statusText}`);return o.json()},async deleteThread(i){const o=await fetch(`/api/proxy/api/threads/${i}`,{method:"DELETE",headers:{"X-Adapter-Name":r}});if(!o.ok)throw new Error(`Failed to delete thread: ${o.statusText}`);return o.json()},async clearConversationHistory(i){const o=await fetch(`/api/proxy/admin/chat-history/${i||t}`,{method:"DELETE",headers:{"X-Adapter-Name":r}});if(!o.ok)throw new Error(`Failed to clear history: ${o.statusText}`);return o.json()},async deleteConversationWithFiles(i,o){const s=i||t,l=o&&o.length>0?`?file_ids=${o.join(",")}`:"",c=await fetch(`/api/proxy/admin/conversations/${s}${l}`,{method:"DELETE",headers:{"X-Adapter-Name":r}});if(!c.ok)throw new Error(`Failed to delete conversation: ${c.statusText}`);return c.json()},getSessionId:()=>t,async uploadFile(i){const o=new FormData;o.append("file",i);const s=await fetch("/api/proxy/api/files/upload",{method:"POST",headers:{"X-Adapter-Name":r},body:o});if(!s.ok)throw new Error(`Failed to upload file: ${s.statusText}`);return s.json()},async listFiles(){const i=await fetch("/api/proxy/api/files",{headers:{"X-Adapter-Name":r}});if(!i.ok)throw new Error(`Failed to list files: ${i.statusText}`);const o=await i.json();return Array.isArray(o)?o:o.files||[]},async getFileInfo(i){const o=await fetch(`/api/proxy/api/files/${i}`,{headers:{"X-Adapter-Name":r}});if(!o.ok)throw new Error(`Failed to get file info: ${o.statusText}`);return o.json()},async queryFile(i,o,s){const l=await fetch(`/api/proxy/api/files/${i}/query`,{method:"POST",headers:{"Content-Type":"application/json","X-Adapter-Name":r},body:JSON.stringify({query:o,max_results:s})});if(!l.ok)throw new Error(`Failed to query file: ${l.statusText}`);return l.json()},async deleteFile(i){const o=await fetch(`/api/proxy/api/files/${i}`,{method:"DELETE",headers:{"X-Adapter-Name":r}});if(!o.ok)throw new Error(`Failed to delete file: ${o.statusText}`);return o.json()},async validateApiKey(){const i=await fetch(`/api/proxy/admin/api-keys/${r}/status`,{headers:{"X-Adapter-Name":r}});if(!i.ok)throw new Error(`Failed to validate API key: ${i.statusText}`);return i.json()},async getAdapterInfo(){const i=await fetch("/api/proxy/admin/api-keys/info",{headers:{"X-Adapter-Name":r}});if(!i.ok){const o=await i.text();throw new Error(`Failed to get adapter info: ${i.status} ${i.statusText} - ${o}`)}return i.json()}}};return{configureApi:n,streamChat:async function*(i,o,s,l,c,u,p,d,h,f,m){yield*a().streamChat(i,o,s,l,c,u,p,d,h,f,m)},ApiClient:class{constructor(o){pi(this,"client");r=o.adapterName||null,t=o.sessionId||null,o.apiUrl,this.client=a()}async*streamChat(...o){yield*this.client.streamChat(...o)}get createThread(){var o;return(o=this.client.createThread)==null?void 0:o.bind(this.client)}get getThreadInfo(){var o;return(o=this.client.getThreadInfo)==null?void 0:o.bind(this.client)}get deleteThread(){var o;return(o=this.client.deleteThread)==null?void 0:o.bind(this.client)}get clearConversationHistory(){var o;return(o=this.client.clearConversationHistory)==null?void 0:o.bind(this.client)}get deleteConversationWithFiles(){var o;return(o=this.client.deleteConversationWithFiles)==null?void 0:o.bind(this.client)}get getSessionId(){var o;return(o=this.client.getSessionId)==null?void 0:o.bind(this.client)}get uploadFile(){var o;return(o=this.client.uploadFile)==null?void 0:o.bind(this.client)}get listFiles(){var o;return(o=this.client.listFiles)==null?void 0:o.bind(this.client)}get getFileInfo(){var o;return(o=this.client.getFileInfo)==null?void 0:o.bind(this.client)}get queryFile(){var o;return(o=this.client.queryFile)==null?void 0:o.bind(this.client)}get deleteFile(){var o;return(o=this.client.deleteFile)==null?void 0:o.bind(this.client)}get validateApiKey(){var o;return(o=this.client.validateApiKey)==null?void 0:o.bind(this.client)}get getAdapterInfo(){var o;return(o=this.client.getAdapterInfo)==null?void 0:o.bind(this.client)}}}}async function irt(e){return e==="@local-node-api/api.mjs"?tr(()=>import("./api-BHF9IxKN.js"),[]):import(e)}async function ort(){if(Ws)return Ws;const e=Utt(),t=qtt(),r=Sa();try{if(e){let n;t?t.startsWith("/")?n=t.startsWith("/src/")?`.${t.substring(4)}${t.endsWith(".mjs")?"":"/api.mjs"}`:"../../../node-api/dist/api.mjs":t.startsWith("../")||t.startsWith("./")?n=t.endsWith(".mjs")?t:`${t}/api.mjs`:n=`./${t}${t.endsWith(".mjs")?"":"/api.mjs"}`:n="../../../node-api/dist/api.mjs",Ye(`🔧 Loading local API from: ${n}`);const a=await irt(n);r?(Ye("🔐 API Middleware enabled - routing through proxy"),Ws=Xp(a)):Ws={configureApi:a.configureApi,streamChat:a.streamChat,ApiClient:a.ApiClient},Ye("✅ Local API loaded successfully")}else{Ye("📦 Loading npm package API");const n=await tr(()=>import("./api-L84wIOvt.js"),[]),a=async function*(s,l,c,u,p,d,h,f,m,x,b){yield*n.streamChat(s,l,c,u,p,d,h,f,m,x,b)};class i{constructor(l){pi(this,"client");if(r&&l.adapterName){const c=Xp(n);this.client=new c.ApiClient(l)}else this.client=new n.ApiClient(l)}async*streamChat(l,c,u,p,d,h,f,m,x,b,v){yield*this.client.streamChat(l,c,u,p,d,h,f,m,x,b,v)}get createThread(){var l;return(l=this.client.createThread)==null?void 0:l.bind(this.client)}get getThreadInfo(){var l;return(l=this.client.getThreadInfo)==null?void 0:l.bind(this.client)}get deleteThread(){var l;return(l=this.client.deleteThread)==null?void 0:l.bind(this.client)}get clearConversationHistory(){var l;return(l=this.client.clearConversationHistory)==null?void 0:l.bind(this.client)}get deleteConversationWithFiles(){var l;return(l=this.client.deleteConversationWithFiles)==null?void 0:l.bind(this.client)}get getSessionId(){var l;return(l=this.client.getSessionId)==null?void 0:l.bind(this.client)}get uploadFile(){var l;return(l=this.client.uploadFile)==null?void 0:l.bind(this.client)}get listFiles(){var l;return(l=this.client.listFiles)==null?void 0:l.bind(this.client)}get getFileInfo(){var l;return(l=this.client.getFileInfo)==null?void 0:l.bind(this.client)}get queryFile(){var l;return(l=this.client.queryFile)==null?void 0:l.bind(this.client)}get deleteFile(){var l;return(l=this.client.deleteFile)==null?void 0:l.bind(this.client)}get validateApiKey(){var l;return(l=this.client.validateApiKey)==null?void 0:l.bind(this.client)}get getAdapterInfo(){var l;return(l=this.client.getAdapterInfo)==null?void 0:l.bind(this.client)}}r?(Ye("🔐 API Middleware enabled - routing through proxy"),Ws=Xp(n)):Ws={configureApi:n.configureApi,streamChat:a,ApiClient:i};const o=await jT();Ye(`✅ NPM package API loaded successfully (v${o})`)}}catch(n){if(e)try{const a=await tr(()=>import("./api-L84wIOvt.js"),[]),i=async function*(l,c,u,p,d,h,f,m,x,b,v){yield*a.streamChat(l,c,u,p,d,h,f,m,x,b,v)};class o{constructor(c){pi(this,"client");if(r&&c.adapterName){const u=Xp(a);this.client=new u.ApiClient(c)}else this.client=new a.ApiClient(c)}async*streamChat(c,u,p,d,h,f,m,x,b,v,S){yield*this.client.streamChat(c,u,p,d,h,f,m,x,b,v,S)}get createThread(){var c;return(c=this.client.createThread)==null?void 0:c.bind(this.client)}get getThreadInfo(){var c;return(c=this.client.getThreadInfo)==null?void 0:c.bind(this.client)}get deleteThread(){var c;return(c=this.client.deleteThread)==null?void 0:c.bind(this.client)}get clearConversationHistory(){var c;return(c=this.client.clearConversationHistory)==null?void 0:c.bind(this.client)}get deleteConversationWithFiles(){var c;return(c=this.client.deleteConversationWithFiles)==null?void 0:c.bind(this.client)}get getSessionId(){var c;return(c=this.client.getSessionId)==null?void 0:c.bind(this.client)}get uploadFile(){var c;return(c=this.client.uploadFile)==null?void 0:c.bind(this.client)}get listFiles(){var c;return(c=this.client.listFiles)==null?void 0:c.bind(this.client)}get getFileInfo(){var c;return(c=this.client.getFileInfo)==null?void 0:c.bind(this.client)}get queryFile(){var c;return(c=this.client.queryFile)==null?void 0:c.bind(this.client)}get deleteFile(){var c;return(c=this.client.deleteFile)==null?void 0:c.bind(this.client)}get validateApiKey(){var c;return(c=this.client.validateApiKey)==null?void 0:c.bind(this.client)}get getAdapterInfo(){var c;return(c=this.client.getAdapterInfo)==null?void 0:c.bind(this.client)}}r?(Ye("🔐 API Middleware enabled - routing through proxy"),Ws=Xp(a)):Ws={configureApi:a.configureApi,streamChat:i,ApiClient:o};const s=await jT();Ye(`✅ Fallback to NPM package successful (v${s})`)}catch{throw new Error("Failed to load both local and npm API packages")}else throw n}return Ws}async function la(){return await ort()}const iy=Au(),srt=()=>{try{if(typeof window>"u"||!window.localStorage)return null;const e=window.localStorage.getItem("chat-api-url");return e&&e===Xu?(window.localStorage.removeItem("chat-api-url"),null):e}catch{return null}},Zp=e=>{const t=e==null?void 0:e.trim();if(t)return t;const r=srt();return r&&r!==Xu?r:Vn()};class Bf{static async uploadFile(t,r,n,a,i){try{const o=Cr.maxFileSizeMB*1024*1024;if(t.size>o)throw new Error(`File size exceeds maximum limit of ${Cr.maxFileSizeMB}MB`);if(!(["application/pdf","text/plain","text/markdown","text/csv","application/json","text/html","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.ms-excel","application/vnd.ms-excel.sheet.macroEnabled.12","text/x-python","text/x-python-script","text/x-java-source","text/x-java","text/x-sql","text/javascript","application/javascript","text/typescript","application/typescript","text/x-c++src","text/x-csrc","text/x-c","text/x-go","text/x-rust","text/x-ruby","text/x-php","text/x-shellscript","text/x-sh","text/yaml","text/x-yaml","text/xml","application/xml","text/css","text/x-scss","text/x-sass","text/x-less","image/png","image/jpeg","image/tiff","audio/wav","audio/mpeg","audio/mp3","audio/mp4","audio/ogg","audio/flac","audio/webm","audio/x-m4a","audio/aac","text/vtt"].includes(t.type)||/\.(pdf|txt|md|csv|json|html|docx|pptx|xlsx|py|java|sql|js|mjs|ts|tsx|cpp|cxx|cc|c|h|hpp|go|rs|rb|php|sh|bash|zsh|yaml|yml|xml|css|scss|sass|less|png|jpe?g|tiff?|wav|mp3|mp4|ogg|flac|webm|m4a|aac|vtt)$/i.test(t.name)||(t.type==="application/x-zip-compressed"||t.type==="application/zip")&&/\.xlsx$/i.test(t.name)))throw new Error(`File type not supported: ${t.type||"unknown"}`);r&&r({filename:t.name,progress:0,status:"uploading"});const c=await la(),u=Zp(a),p=Sa();let d=null,h=null;if(p){if(h=i||(typeof window<"u"?localStorage.getItem("chat-adapter-name"):null),!h)throw new Error("Adapter not configured. Please select an adapter from the dropdown.");Ye(`🔑 Using adapter: ${h}`)}else{if(d=n||localStorage.getItem("chat-api-key")||window.CHATBOT_API_KEY||iy,!d||d==="your-api-key-here")throw new Error(`API key not configured or invalid. Please:
1171
1171
  1. Open Settings (⚙️ icon) in the top-right corner
1172
1172
  2. Enter a valid API key
1173
1173
  3. To create an API key: POST to /admin/api-keys with admin credentials