orbitchat 2.5.5 → 2.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{_baseUniq-BPMphbq5-z1rjZivt.js → _baseUniq-BPMphbq5-DyhKuQ9D.js} +1 -1
- package/dist/assets/{api-GHsmF4Sa.js → api-CD9Nzq0O.js} +1 -1
- package/dist/assets/{arc-D9rhTKV0-C97LnXIB.js → arc-D9rhTKV0-DNQNLJPM.js} +1 -1
- package/dist/assets/{architectureDiagram-VXUJARFQ-BiqZtsDe-CUND7b3n.js → architectureDiagram-VXUJARFQ-BiqZtsDe-OAB_WdXP.js} +1 -1
- package/dist/assets/{blockDiagram-VD42YOAC-zcRIdFTD-DU-jA4YR.js → blockDiagram-VD42YOAC-zcRIdFTD-Co_XtUK4.js} +1 -1
- package/dist/assets/{c4Diagram-YG6GDRKO-DYXNcDX4-DV2FxwI1.js → c4Diagram-YG6GDRKO-DYXNcDX4-CHxegSJq.js} +1 -1
- package/dist/assets/channel-CUIutAfm-CRfssE8A.js +1 -0
- package/dist/assets/{chunk-4BX2VUAB-DAh9ktmY-l4b0U1Yj.js → chunk-4BX2VUAB-DAh9ktmY-BMA6rd4j.js} +1 -1
- package/dist/assets/{chunk-55IACEB6-Cza7pcpr-ClX9v3C5.js → chunk-55IACEB6-Cza7pcpr-D7qVo0l1.js} +1 -1
- package/dist/assets/{chunk-B4BG7PRW-BTUSpeKy-DbTSce4t.js → chunk-B4BG7PRW-BTUSpeKy-Cv9tn5FL.js} +1 -1
- package/dist/assets/{chunk-DI55MBZ5-DKt4WII7-z7ZobPUN.js → chunk-DI55MBZ5-DKt4WII7-CD7PH56S.js} +1 -1
- package/dist/assets/{chunk-FMBD7UC4-DdcCR8w3-BqbVZVgO.js → chunk-FMBD7UC4-DdcCR8w3-f2kPxnxt.js} +1 -1
- package/dist/assets/{chunk-QN33PNHL-v6AkzOl1-Ca7Wh8RO.js → chunk-QN33PNHL-v6AkzOl1-BDN4BA8H.js} +1 -1
- package/dist/assets/{chunk-QZHKN3VN-DVJOrqBZ-C3w2rUS6.js → chunk-QZHKN3VN-DVJOrqBZ-C9KSl1Oi.js} +1 -1
- package/dist/assets/{chunk-TZMSLE5B-G2jJHqli-DRzr-1xQ.js → chunk-TZMSLE5B-G2jJHqli-BEWUJNAb.js} +1 -1
- package/dist/assets/{classDiagram-2ON5EDUG-CxmgTanh-BRBnzZai.js → classDiagram-2ON5EDUG-CxmgTanh-D8XJiPRf.js} +1 -1
- package/dist/assets/{classDiagram-v2-WZHVMYZB-CxmgTanh-BRBnzZai.js → classDiagram-v2-WZHVMYZB-CxmgTanh-D8XJiPRf.js} +1 -1
- package/dist/assets/clone-CsNB4mMi-CrH0uuE1.js +1 -0
- package/dist/assets/{cose-bilkent-S5V4N54A-BRr2Y6dg-D6srnG6T.js → cose-bilkent-S5V4N54A-BRr2Y6dg-D6uw80ha.js} +1 -1
- package/dist/assets/{dagre-6UL2VRFP-DX8gNHmJ-DY2mXPk6.js → dagre-6UL2VRFP-DX8gNHmJ-DMpjORIV.js} +1 -1
- package/dist/assets/{diagram-PSM6KHXK-DNX818To-CWog8RIY.js → diagram-PSM6KHXK-DNX818To-CxJ9VQrf.js} +1 -1
- package/dist/assets/{diagram-QEK2KX5R-BDO6hKtm-CbW1gJs_.js → diagram-QEK2KX5R-BDO6hKtm-J0PP4QNf.js} +1 -1
- package/dist/assets/{diagram-S2PKOQOG-IEqaDwzi-CXgNrmg9.js → diagram-S2PKOQOG-IEqaDwzi-CJ60bco2.js} +1 -1
- package/dist/assets/{erDiagram-Q2GNP2WA-DbLpN8Jp-kLI5X3NK.js → erDiagram-Q2GNP2WA-DbLpN8Jp-B76YSpnw.js} +1 -1
- package/dist/assets/{flowDiagram-NV44I4VS-pJlHae8Y-KdNpxtgw.js → flowDiagram-NV44I4VS-pJlHae8Y-V2lN8HRy.js} +1 -1
- package/dist/assets/{ganttDiagram-JELNMOA3-J0Tkq5TR-BYwsQjUP.js → ganttDiagram-JELNMOA3-J0Tkq5TR-CDnKa5cJ.js} +1 -1
- package/dist/assets/{gitGraphDiagram-NY62KEGX-DgYonpsZ-fwt1Apbh.js → gitGraphDiagram-NY62KEGX-DgYonpsZ-BnPQvCQc.js} +1 -1
- package/dist/assets/{graph-BpcfrHXY-C37XKg-t.js → graph-BpcfrHXY-r8ucjuVo.js} +1 -1
- package/dist/assets/{index-C4Z8WqBT.js → index-BIBo0u38.js} +6 -6
- package/dist/assets/{index-DvNpGWs7-BQKVS4nm.js → index-DvNpGWs7-DSHfKWeY.js} +1 -1
- package/dist/assets/{infoDiagram-WHAUD3N6-C3JLOAnb-Duinz6LB.js → infoDiagram-WHAUD3N6-C3JLOAnb-DZz70Wlt.js} +1 -1
- package/dist/assets/{journeyDiagram-XKPGCS4Q-CfjB2Qdf-M8lEOFeA.js → journeyDiagram-XKPGCS4Q-CfjB2Qdf-LESHFhGE.js} +1 -1
- package/dist/assets/{kanban-definition-3W4ZIXB7-CrW8yVmd-DRvLAtM2.js → kanban-definition-3W4ZIXB7-CrW8yVmd-CS7O7CRH.js} +1 -1
- package/dist/assets/{layout-bsfAhWjc-Cl4LwW_I.js → layout-bsfAhWjc-0bqYAaFs.js} +1 -1
- package/dist/assets/{min-C2aDz5ZK-CjNJyk11.js → min-C2aDz5ZK-DHktDX_3.js} +1 -1
- package/dist/assets/{mindmap-definition-VGOIOE7T-Dj37RkY_-rm-yjGNJ.js → mindmap-definition-VGOIOE7T-Dj37RkY_-Q2Y5JCNR.js} +1 -1
- package/dist/assets/{pieDiagram-ADFJNKIX-BiQvDx8I-DzI_ztgk.js → pieDiagram-ADFJNKIX-BiQvDx8I-Csm4P_6v.js} +1 -1
- package/dist/assets/{quadrantDiagram-AYHSOK5B-D4b-YFzI-BRb9byvQ.js → quadrantDiagram-AYHSOK5B-D4b-YFzI-DgqYZ4Fj.js} +1 -1
- package/dist/assets/{requirementDiagram-UZGBJVZJ-km07nlVd-CVrxKvmF.js → requirementDiagram-UZGBJVZJ-km07nlVd-Czal8CN1.js} +1 -1
- package/dist/assets/{sankeyDiagram-TZEHDZUN-LfuSRRbf-BfgMrETy.js → sankeyDiagram-TZEHDZUN-LfuSRRbf-DbQtBnKn.js} +1 -1
- package/dist/assets/{sequenceDiagram-WL72ISMW-CQ4J-0_7-Dv0HcJtc.js → sequenceDiagram-WL72ISMW-CQ4J-0_7-DA8azeWg.js} +1 -1
- package/dist/assets/{stateDiagram-FKZM4ZOC-JtogJwt6-BQvKg7k9.js → stateDiagram-FKZM4ZOC-JtogJwt6-CAuan9bg.js} +1 -1
- package/dist/assets/{stateDiagram-v2-4FDKWEC3-DuQ7UaeU-DAhUMAAL.js → stateDiagram-v2-4FDKWEC3-DuQ7UaeU-wMtwfJb0.js} +1 -1
- package/dist/assets/{timeline-definition-IT6M3QCI-Cs3NnF2M-Dl2mtkIb.js → timeline-definition-IT6M3QCI-Cs3NnF2M-CHRQfxoL.js} +1 -1
- package/dist/assets/{treemap-KMMF4GRG-CkW25-tn-WPT7N5G6.js → treemap-KMMF4GRG-CkW25-tn-B1iWs4HR.js} +1 -1
- package/dist/assets/{xychartDiagram-PRI3JC2R-JzAaXa5z-C71Ro9b8.js → xychartDiagram-PRI3JC2R-JzAaXa5z-0D-bLJ7B.js} +1 -1
- package/dist/index.html +3 -3
- package/dist/orbit-icon.svg +1 -0
- package/package.json +1 -1
- package/dist/assets/channel-CUIutAfm-CxA0aZEB.js +0 -1
- package/dist/assets/clone-CsNB4mMi-DJ5cPN0u.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-6UL2VRFP-DX8gNHmJ-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-6UL2VRFP-DX8gNHmJ-DMpjORIV.js","assets/graph-BpcfrHXY-r8ucjuVo.js","assets/_baseUniq-BPMphbq5-DyhKuQ9D.js","assets/layout-bsfAhWjc-0bqYAaFs.js","assets/min-C2aDz5ZK-DHktDX_3.js","assets/clone-CsNB4mMi-CrH0uuE1.js","assets/cose-bilkent-S5V4N54A-BRr2Y6dg-D6uw80ha.js","assets/cytoscape.esm-CjI2IsL8-Da6dFVsf.js","assets/c4Diagram-YG6GDRKO-DYXNcDX4-CHxegSJq.js","assets/chunk-TZMSLE5B-G2jJHqli-BEWUJNAb.js","assets/flowDiagram-NV44I4VS-pJlHae8Y-V2lN8HRy.js","assets/chunk-FMBD7UC4-DdcCR8w3-f2kPxnxt.js","assets/chunk-55IACEB6-Cza7pcpr-D7qVo0l1.js","assets/chunk-QN33PNHL-v6AkzOl1-BDN4BA8H.js","assets/channel-CUIutAfm-CRfssE8A.js","assets/erDiagram-Q2GNP2WA-DbLpN8Jp-B76YSpnw.js","assets/gitGraphDiagram-NY62KEGX-DgYonpsZ-BnPQvCQc.js","assets/chunk-4BX2VUAB-DAh9ktmY-BMA6rd4j.js","assets/chunk-QZHKN3VN-DVJOrqBZ-C9KSl1Oi.js","assets/treemap-KMMF4GRG-CkW25-tn-B1iWs4HR.js","assets/infoDiagram-WHAUD3N6-C3JLOAnb-DZz70Wlt.js","assets/pieDiagram-ADFJNKIX-BiQvDx8I-Csm4P_6v.js","assets/arc-D9rhTKV0-DNQNLJPM.js","assets/requirementDiagram-UZGBJVZJ-km07nlVd-Czal8CN1.js","assets/sequenceDiagram-WL72ISMW-CQ4J-0_7-DA8azeWg.js","assets/classDiagram-2ON5EDUG-CxmgTanh-D8XJiPRf.js","assets/chunk-B4BG7PRW-BTUSpeKy-Cv9tn5FL.js","assets/classDiagram-v2-WZHVMYZB-CxmgTanh-D8XJiPRf.js","assets/stateDiagram-FKZM4ZOC-JtogJwt6-CAuan9bg.js","assets/chunk-DI55MBZ5-DKt4WII7-CD7PH56S.js","assets/stateDiagram-v2-4FDKWEC3-DuQ7UaeU-wMtwfJb0.js","assets/journeyDiagram-XKPGCS4Q-CfjB2Qdf-LESHFhGE.js","assets/timeline-definition-IT6M3QCI-Cs3NnF2M-CHRQfxoL.js","assets/mindmap-definition-VGOIOE7T-Dj37RkY_-Q2Y5JCNR.js","assets/kanban-definition-3W4ZIXB7-CrW8yVmd-CS7O7CRH.js","assets/diagram-S2PKOQOG-IEqaDwzi-CJ60bco2.js","assets/diagram-QEK2KX5R-BDO6hKtm-J0PP4QNf.js","assets/blockDiagram-VD42YOAC-zcRIdFTD-Co_XtUK4.js","assets/architectureDiagram-VXUJARFQ-BiqZtsDe-OAB_WdXP.js","assets/diagram-PSM6KHXK-DNX818To-CxJ9VQrf.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
var Oae=Object.defineProperty;var Wae=(e,t,r)=>t in e?Oae(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var hA=(e,t,r)=>Wae(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 a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&n(a)}).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 Pae(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var IV={exports:{}},Yf={},yV={exports:{}},Mt={};/**
|
|
3
3
|
* @license React
|
|
4
4
|
* react.production.min.js
|
|
@@ -822,8 +822,8 @@ Please report this to https://github.com/markedjs/marked.`,e){let n="<p>An error
|
|
|
822
822
|
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),a=e.width/2;let s=r.x<t.x?a-i:a+i;const o=e.height/2,l=Math.abs(t.y-r.y),c=Math.abs(t.x-r.x);if(Math.abs(A-t.y)*a>Math.abs(n-t.x)*o){let u=r.y<t.y?t.y-o-A:A-o-t.y;s=c*u/l;const g={x:r.x<t.x?r.x+s:r.x-c+s,y:r.y<t.y?r.y+l-u:r.y-l+u};return s===0&&(g.x=t.x,g.y=t.y),c===0&&(g.x=t.x),l===0&&(g.y=t.y),ue.debug(`abc89 top/bottom calc, Q ${l}, q ${u}, R ${c}, r ${s}`,g),g}else{r.x<t.x?s=t.x-a-n:s=n-a-t.x;let u=l*s/c,g=r.x<t.x?r.x+c-s:r.x-c+s,d=r.y<t.y?r.y+u:r.y-u;return ue.debug(`sides calc abc89, Q ${l}, q ${u}, R ${c}, r ${s}`,{_x:g,_y:d}),s===0&&(g=t.x,d=t.y),c===0&&(g=t.x),l===0&&(d=t.y),{x:g,y:d}}},"intersection"),fO=F((e,t)=>{ue.warn("abc88 cutPathAtIntersect",e,t);let r=[],n=e[0],A=!1;return e.forEach(i=>{if(ue.info("abc88 checking point",i,t),!Yje(t,i)&&!A){const a=Nje(t,n,i);ue.debug("abc88 inside",i,n,a),ue.debug("abc88 intersection",a,t);let s=!1;r.forEach(o=>{s=s||o.x===a.x&&o.y===a.y}),r.some(o=>o.x===a.x&&o.y===a.y)?ue.warn("abc88 no intersect",a,r):r.push(a),A=!0}else ue.warn("abc88 outside",i,n),n=i,A||r.push(i)}),ue.debug("returning points",r),r},"cutPathAtIntersect");function Ite(e){const t=[],r=[];for(let n=1;n<e.length-1;n++){const A=e[n-1],i=e[n],a=e[n+1];(A.x===i.x&&i.y===a.y&&Math.abs(i.x-a.x)>5&&Math.abs(i.y-A.y)>5||A.y===i.y&&i.x===a.x&&Math.abs(i.x-A.x)>5&&Math.abs(i.y-a.y)>5)&&(t.push(i),r.push(n))}return{cornerPoints:t,cornerPointPositions:r}}F(Ite,"extractCornerPoints");var EO=F(function(e,t,r){const n=t.x-e.x,A=t.y-e.y,i=Math.sqrt(n*n+A*A),a=r/i;return{x:t.x-a*n,y:t.y-a*A}},"findAdjacentPoint"),bje=F(function(e){const{cornerPointPositions:t}=Ite(e),r=[];for(let n=0;n<e.length;n++)if(t.includes(n)){const A=e[n-1],i=e[n+1],a=e[n],s=EO(A,a,5),o=EO(i,a,5),l=o.x-s.x,c=o.y-s.y;r.push(s);const u=Math.sqrt(2)*2;let g={x:a.x,y:a.y};if(Math.abs(i.x-A.x)>10&&Math.abs(i.y-A.y)>=10){ue.debug("Corner point fixing",Math.abs(i.x-A.x),Math.abs(i.y-A.y));const d=5;a.x===s.x?g={x:l<0?s.x-d+u:s.x+d-u,y:c<0?s.y-u:s.y+u}:g={x:l<0?s.x-u:s.x+u,y:c<0?s.y-d+u:s.y+d-u}}else ue.debug("Corner point skipping fixing",Math.abs(i.x-A.x),Math.abs(i.y-A.y));r.push(g,o)}else r.push(e[n]);return r},"fixCorners"),xje=F((e,t,r)=>{const n=e-t-r,A=2,i=2,a=A+i,s=Math.floor(n/a),o=Array(s).fill(`${A} ${i}`).join(" ");return`0 ${t} ${o} ${r}`},"generateDashArray"),Dje=F(function(e,t,r,n,A,i,a,s=!1){var o;const{handDrawnSeed:l}=Ot();let c=t.points,u=!1;const g=A;var d=i;const B=[];for(const v in t.cssCompiledStyles)__(v)||B.push(t.cssCompiledStyles[v]);ue.debug("UIO intersect check",t.points,d.x,g.x),d.intersect&&g.intersect&&!s&&(c=c.slice(1,t.points.length-1),c.unshift(g.intersect(c[0])),ue.debug("Last point UIO",t.start,"-->",t.end,c[c.length-1],d,d.intersect(c[c.length-1])),c.push(d.intersect(c[c.length-1])));const h=btoa(JSON.stringify(c));t.toCluster&&(ue.info("to cluster abc88",r.get(t.toCluster)),c=fO(t.points,r.get(t.toCluster).node),u=!0),t.fromCluster&&(ue.debug("from cluster abc88",r.get(t.fromCluster),JSON.stringify(c,null,2)),c=fO(c.reverse(),r.get(t.fromCluster).node).reverse(),u=!0);let f=c.filter(v=>!Number.isNaN(v.y));f=bje(f);let p=Nd;switch(p=Sl,t.curve){case"linear":p=Sl;break;case"basis":p=Nd;break;case"cardinal":p=sq;break;case"bumpX":p=mU;break;case"bumpY":p=IU;break;case"catmullRom":p=lq;break;case"monotoneX":p=YU;break;case"monotoneY":p=NU;break;case"natural":p=bU;break;case"step":p=xU;break;case"stepAfter":p=kU;break;case"stepBefore":p=DU;break;default:p=Nd}const{x:w,y:E}=bUe(t),C=EU().x(w).y(E).curve(p);let m;switch(t.thickness){case"normal":m="edge-thickness-normal";break;case"thick":m="edge-thickness-thick";break;case"invisible":m="edge-thickness-invisible";break;default:m="edge-thickness-normal"}switch(t.pattern){case"solid":m+=" edge-pattern-solid";break;case"dotted":m+=" edge-pattern-dotted";break;case"dashed":m+=" edge-pattern-dashed";break;default:m+=" edge-pattern-solid"}let I,M=t.curve==="rounded"?yte(Cte(f,t),5):C(f);const b=Array.isArray(t.style)?t.style:[t.style];let k=b.find(v=>v==null?void 0:v.startsWith("stroke:")),N=!1;if(t.look==="handDrawn"){const v=Je.svg(e);Object.assign([],f);const H=v.path(M,{roughness:.3,seed:l});m+=" transition",I=Dt(H).select("path").attr("id",t.id).attr("class"," "+m+(t.classes?" "+t.classes:"")).attr("style",b?b.reduce((R,O)=>R+";"+O,""):"");let J=I.attr("d");I.attr("d",J),e.node().appendChild(I.node())}else{const v=B.join(";"),H=b?b.reduce((G,q)=>G+q+";",""):"";let J="";t.animate&&(J=" edge-animation-fast"),t.animation&&(J=" edge-animation-"+t.animation);const R=(v?v+";"+H+";":H)+";"+(b?b.reduce((G,q)=>G+";"+q,""):"");I=e.append("path").attr("d",M).attr("id",t.id).attr("class"," "+m+(t.classes?" "+t.classes:"")+(J??"")).attr("style",R),k=(o=R.match(/stroke:([^;]+)/))==null?void 0:o[1],N=t.animate===!0||!!t.animation||v.includes("animation");const O=I.node(),U=typeof O.getTotalLength=="function"?O.getTotalLength():0,P=vJ[t.arrowTypeStart]||0,ee=vJ[t.arrowTypeEnd]||0;if(t.look==="neo"&&!N){const G=`stroke-dasharray: ${t.pattern==="dotted"||t.pattern==="dashed"?xje(U,P,ee):`0 ${P} ${U-P-ee} ${ee}`}; stroke-dashoffset: 0;`;I.attr("style",G+I.attr("style"))}}I.attr("data-edge",!0),I.attr("data-et","edge"),I.attr("data-id",t.id),I.attr("data-points",h),t.showPoints&&f.forEach(v=>{e.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",v.x).attr("cy",v.y)});let D="";(Ot().flowchart.arrowMarkerAbsolute||Ot().state.arrowMarkerAbsolute)&&(D=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,D=D.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),ue.info("arrowTypeStart",t.arrowTypeStart),ue.info("arrowTypeEnd",t.arrowTypeEnd),Cje(I,t,D,a,n,k);const z=Math.floor(c.length/2),L=c[z];zi.isLabelCoordinateInPath(L,I.attr("d"))||(u=!0);let T={};return u&&(T.updatedPath=c),T.originalPath=t.points,T},"insertEdge");function yte(e,t){if(e.length<2)return"";let r="";const n=e.length,A=1e-5;for(let i=0;i<n;i++){const a=e[i],s=e[i-1],o=e[i+1];if(i===0)r+=`M${a.x},${a.y}`;else if(i===n-1)r+=`L${a.x},${a.y}`;else{const l=a.x-s.x,c=a.y-s.y,u=o.x-a.x,g=o.y-a.y,d=Math.hypot(l,c),B=Math.hypot(u,g);if(d<A||B<A){r+=`L${a.x},${a.y}`;continue}const h=l/d,f=c/d,p=u/B,w=g/B,E=h*p+f*w,C=Math.max(-1,Math.min(1,E)),m=Math.acos(C);if(m<A||Math.abs(Math.PI-m)<A){r+=`L${a.x},${a.y}`;continue}const I=Math.min(t/Math.sin(m/2),d/2,B/2),M=a.x-h*I,b=a.y-f*I,k=a.x+p*I,N=a.y+w*I;r+=`L${M},${b}`,r+=`Q${a.x},${a.y} ${k},${N}`}}return r}F(yte,"generateRoundedPath");function jx(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}}F(jx,"calculateDeltaAndAngle");function Cte(e,t){const r=e.map(A=>({...A}));if(e.length>=2&&jn[t.arrowTypeStart]){const A=jn[t.arrowTypeStart],i=e[0],a=e[1],{angle:s}=jx(i,a),o=A*Math.cos(s),l=A*Math.sin(s);r[0].x=i.x+o,r[0].y=i.y+l}const n=e.length;if(n>=2&&jn[t.arrowTypeEnd]){const A=jn[t.arrowTypeEnd],i=e[n-1],a=e[n-2],{angle:s}=jx(a,i),o=A*Math.cos(s),l=A*Math.sin(s);r[n-1].x=i.x-o,r[n-1].y=i.y-l}return r}F(Cte,"applyMarkerOffsetsToPoints");var kje=F((e,t,r,n)=>{t.forEach(A=>{Vje[A](e,r,n)})},"insertMarkers"),Sje=F((e,t,r)=>{ue.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"),Uje=F((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"),vje=F((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"),Gje=F((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"),Rje=F((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"),jje=F((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"),zje=F((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"),Tje=F((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"),Lje=F((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"),Hje=F((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"),Jje=F((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"),Oje=F((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"),Wje=F((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"),Pje=F((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
|
|
823
823
|
L20,10
|
|
824
824
|
M20,10
|
|
825
|
-
L0,20`)},"requirement_arrow"),Kje=F((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"),Vje={extension:Sje,composition:Uje,aggregation:vje,dependency:Gje,lollipop:Rje,point:jje,circle:zje,cross:Tje,barb:Lje,only_one:Hje,zero_or_one:Jje,one_or_more:Oje,zero_or_more:Wje,requirement_arrow:Pje,requirement_contains:Kje},Xje=kje,Zje={common:Lu,getConfig:Jn,insertCluster:Aje,insertEdge:Dje,insertEdgeLabel:Mje,insertMarkers:Xje,insertNode:mte,interpolateToCurve:WU,labelHelper:nt,log:ue,positionEdgeLabel:Fje},hB={},Qte=F(e=>{for(const t of e)hB[t.name]=t},"registerLayoutLoaders"),qje=F(()=>{Qte([{name:"dagre",loader:F(async()=>await Yt(()=>import("./dagre-6UL2VRFP-DX8gNHmJ-DY2mXPk6.js"),__vite__mapDeps([0,1,2,3,4,5])),"loader")},{name:"cose-bilkent",loader:F(async()=>await Yt(()=>import("./cose-bilkent-S5V4N54A-BRr2Y6dg-D6srnG6T.js"),__vite__mapDeps([6,7])),"loader")}])},"registerDefaultLayoutLoaders");qje();var z$e=F(async(e,t)=>{if(!(e.layoutAlgorithm in hB))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);const r=hB[e.layoutAlgorithm];return(await r.loader()).render(e,t,Zje,{algorithm:r.algorithm})},"render"),T$e=F((e="",{fallback:t="dagre"}={})=>{if(e in hB)return e;if(t in hB)return ue.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"),Mte="comm",Fte="rule",Yte="decl",_je="@import",$je="@namespace",eze="@keyframes",tze="@layer",Nte=Math.abs,u2=String.fromCharCode;function bte(e){return e.trim()}function u0(e,t,r){return e.replace(t,r)}function rze(e,t,r){return e.indexOf(t,r)}function nu(e,t){return e.charCodeAt(t)|0}function Mu(e,t,r){return e.slice(t,r)}function ca(e){return e.length}function nze(e){return e.length}function Ip(e,t){return t.push(e),e}var LE=1,Fu=1,xte=0,Ei=0,Kr=0,Ku="";function g2(e,t,r,n,A,i,a,s){return{value:e,root:t,parent:r,type:n,props:A,children:i,line:LE,column:Fu,length:a,return:"",siblings:s}}function Aze(){return Kr}function ize(){return Kr=Ei>0?nu(Ku,--Ei):0,Fu--,Kr===10&&(Fu=1,LE--),Kr}function Pi(){return Kr=Ei<xte?nu(Ku,Ei++):0,Fu++,Kr===10&&(Fu=1,LE++),Kr}function ro(){return nu(Ku,Ei)}function g0(){return Ei}function HE(e,t){return Mu(Ku,e,t)}function pB(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 aze(e){return LE=Fu=1,xte=ca(Ku=e),Ei=0,[]}function sze(e){return Ku="",e}function tN(e){return bte(HE(Ei-1,zx(e===91?e+2:e===40?e+1:e)))}function oze(e){for(;(Kr=ro())&&Kr<33;)Pi();return pB(e)>2||pB(Kr)>3?"":" "}function lze(e,t){for(;--t&&Pi()&&!(Kr<48||Kr>102||Kr>57&&Kr<65||Kr>70&&Kr<97););return HE(e,g0()+(t<6&&ro()==32&&Pi()==32))}function zx(e){for(;Pi();)switch(Kr){case e:return Ei;case 34:case 39:e!==34&&e!==39&&zx(Kr);break;case 40:e===41&&zx(e);break;case 92:Pi();break}return Ei}function cze(e,t){for(;Pi()&&e+Kr!==57&&!(e+Kr===84&&ro()===47););return"/*"+HE(t,Ei-1)+"*"+u2(e===47?e:Pi())}function uze(e){for(;!pB(ro());)Pi();return HE(e,Ei)}function gze(e){return sze(d0("",null,null,null,[""],e=aze(e),0,[0],e))}function d0(e,t,r,n,A,i,a,s,o){for(var l=0,c=0,u=a,g=0,d=0,B=0,h=1,f=1,p=1,w=0,E="",C=A,m=i,I=n,M=E;f;)switch(B=w,w=Pi()){case 40:if(B!=108&&nu(M,u-1)==58){rze(M+=u0(tN(w),"&","&\f"),"&\f",Nte(l?s[l-1]:0))!=-1&&(p=-1);break}case 34:case 39:case 91:M+=tN(w);break;case 9:case 10:case 13:case 32:M+=oze(B);break;case 92:M+=lze(g0()-1,7);continue;case 47:switch(ro()){case 42:case 47:Ip(dze(cze(Pi(),g0()),t,r,o),o),(pB(B||1)==5||pB(ro()||1)==5)&&ca(M)&&Mu(M,-1,void 0)!==" "&&(M+=" ");break;default:M+="/"}break;case 123*h:s[l++]=ca(M)*p;case 125*h:case 59:case 0:switch(w){case 0:case 125:f=0;case 59+c:p==-1&&(M=u0(M,/\f/g,"")),d>0&&(ca(M)-u||h===0&&B===47)&&Ip(d>32?IO(M+";",n,r,u-1,o):IO(u0(M," ","")+";",n,r,u-2,o),o);break;case 59:M+=";";default:if(Ip(I=mO(M,t,r,l,c,A,s,E,C=[],m=[],u,i),i),w===123)if(c===0)d0(M,t,I,I,C,i,u,s,m);else{switch(g){case 99:if(nu(M,3)===110)break;case 108:if(nu(M,2)===97)break;default:c=0;case 100:case 109:case 115:}c?d0(e,I,I,n&&Ip(mO(e,I,I,0,0,A,s,E,A,C=[],u,m),m),A,m,u,s,n?C:m):d0(M,I,I,I,[""],m,0,s,m)}}l=c=d=0,h=p=1,E=M="",u=a;break;case 58:u=1+ca(M),d=B;default:if(h<1){if(w==123)--h;else if(w==125&&h++==0&&ize()==125)continue}switch(M+=u2(w),w*h){case 38:p=c>0?1:(M+="\f",-1);break;case 44:s[l++]=(ca(M)-1)*p,p=1;break;case 64:ro()===45&&(M+=tN(Pi())),g=ro(),c=u=ca(E=M+=uze(g0())),w++;break;case 45:B===45&&ca(M)==2&&(h=0)}}return i}function mO(e,t,r,n,A,i,a,s,o,l,c,u){for(var g=A-1,d=A===0?i:[""],B=nze(d),h=0,f=0,p=0;h<n;++h)for(var w=0,E=Mu(e,g+1,g=Nte(f=a[h])),C=e;w<B;++w)(C=bte(f>0?d[w]+" "+E:u0(E,/&\f/g,d[w])))&&(o[p++]=C);return g2(e,t,r,A===0?Fte:s,o,l,c,u)}function dze(e,t,r,n){return g2(e,t,r,Mte,u2(Aze()),Mu(e,2,-2),0,n)}function IO(e,t,r,n,A){return g2(e,t,r,Yte,Mu(e,0,n),Mu(e,n+1,-1),n,A)}function Tx(e,t){for(var r="",n=0;n<e.length;n++)r+=t(e[n],n,e,t)||"";return r}function Bze(e,t,r,n){switch(e.type){case tze:if(e.children.length)break;case _je:case $je:case Yte:return e.return=e.return||e.value;case Mte:return"";case eze:return e.return=e.value+"{"+Tx(e.children,n)+"}";case Fte:if(!ca(e.value=e.props.join(",")))return""}return ca(r=Tx(e.children,n))?e.return=e.value+"{"+r+"}":""}var hze=r$(Object.keys,Object),pze=Object.prototype,wze=pze.hasOwnProperty;function fze(e){if(!DE(e))return hze(e);var t=[];for(var r in Object(e))wze.call(e,r)&&r!="constructor"&&t.push(r);return t}var Lx=Ac(ba,"DataView"),Hx=Ac(ba,"Promise"),Jx=Ac(ba,"Set"),Ox=Ac(ba,"WeakMap"),yO="[object Map]",Eze="[object Object]",CO="[object Promise]",QO="[object Set]",MO="[object WeakMap]",FO="[object DataView]",mze=nc(Lx),Ize=nc(dB),yze=nc(Hx),Cze=nc(Jx),Qze=nc(Ox),Zo=Ou;(Lx&&Zo(new Lx(new ArrayBuffer(1)))!=FO||dB&&Zo(new dB)!=yO||Hx&&Zo(Hx.resolve())!=CO||Jx&&Zo(new Jx)!=QO||Ox&&Zo(new Ox)!=MO)&&(Zo=function(e){var t=Ou(e),r=t==Eze?e.constructor:void 0,n=r?nc(r):"";if(n)switch(n){case mze:return FO;case Ize:return yO;case yze:return CO;case Cze:return QO;case Qze:return MO}return t});var Mze="[object Map]",Fze="[object Set]",Yze=Object.prototype,Nze=Yze.hasOwnProperty;function YO(e){if(e==null)return!0;if(kE(e)&&(Sw(e)||typeof e=="string"||typeof e.splice=="function"||JU(e)||OU(e)||kw(e)))return!e.length;var t=Zo(e);if(t==Mze||t==Fze)return!e.size;if(DE(e))return!fze(e).length;for(var r in e)if(Nze.call(e,r))return!1;return!0}var Dte="c4",bze=F(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),xze=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./c4Diagram-YG6GDRKO-DYXNcDX4-DV2FxwI1.js");return{diagram:t}},__vite__mapDeps([8,9]));return{id:Dte,diagram:e}},"loader"),Dze={id:Dte,detector:bze,loader:xze},kze=Dze,kte="flowchart",Sze=F((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"),Uze=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./flowDiagram-NV44I4VS-pJlHae8Y-KdNpxtgw.js");return{diagram:t}},__vite__mapDeps([10,11,12,13,14]));return{id:kte,diagram:e}},"loader"),vze={id:kte,detector:Sze,loader:Uze},Gze=vze,Ste="flowchart-v2",Rze=F((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"),jze=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./flowDiagram-NV44I4VS-pJlHae8Y-KdNpxtgw.js");return{diagram:t}},__vite__mapDeps([10,11,12,13,14]));return{id:Ste,diagram:e}},"loader"),zze={id:Ste,detector:Rze,loader:jze},Tze=zze,Ute="er",Lze=F(e=>/^\s*erDiagram/.test(e),"detector"),Hze=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./erDiagram-Q2GNP2WA-DbLpN8Jp-kLI5X3NK.js");return{diagram:t}},__vite__mapDeps([15,12,13,14]));return{id:Ute,diagram:e}},"loader"),Jze={id:Ute,detector:Lze,loader:Hze},Oze=Jze,vte="gitGraph",Wze=F(e=>/^\s*gitGraph/.test(e),"detector"),Pze=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./gitGraphDiagram-NY62KEGX-DgYonpsZ-fwt1Apbh.js");return{diagram:t}},__vite__mapDeps([16,17,18,19,4,2]));return{id:vte,diagram:e}},"loader"),Kze={id:vte,detector:Wze,loader:Pze},Vze=Kze,Gte="gantt",Xze=F(e=>/^\s*gantt/.test(e),"detector"),Zze=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./ganttDiagram-JELNMOA3-J0Tkq5TR-BYwsQjUP.js");return{diagram:t}},[]);return{id:Gte,diagram:e}},"loader"),qze={id:Gte,detector:Xze,loader:Zze},_ze=qze,Rte="info",$ze=F(e=>/^\s*info/.test(e),"detector"),eTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./infoDiagram-WHAUD3N6-C3JLOAnb-Duinz6LB.js");return{diagram:t}},__vite__mapDeps([20,19,4,2]));return{id:Rte,diagram:e}},"loader"),tTe={id:Rte,detector:$ze,loader:eTe},jte="pie",rTe=F(e=>/^\s*pie/.test(e),"detector"),nTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./pieDiagram-ADFJNKIX-BiQvDx8I-DzI_ztgk.js");return{diagram:t}},__vite__mapDeps([21,17,19,4,2,22]));return{id:jte,diagram:e}},"loader"),ATe={id:jte,detector:rTe,loader:nTe},zte="quadrantChart",iTe=F(e=>/^\s*quadrantChart/.test(e),"detector"),aTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./quadrantDiagram-AYHSOK5B-D4b-YFzI-BRb9byvQ.js");return{diagram:t}},[]);return{id:zte,diagram:e}},"loader"),sTe={id:zte,detector:iTe,loader:aTe},oTe=sTe,Tte="xychart",lTe=F(e=>/^\s*xychart(-beta)?/.test(e),"detector"),cTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./xychartDiagram-PRI3JC2R-JzAaXa5z-C71Ro9b8.js");return{diagram:t}},[]);return{id:Tte,diagram:e}},"loader"),uTe={id:Tte,detector:lTe,loader:cTe},gTe=uTe,Lte="requirement",dTe=F(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),BTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./requirementDiagram-UZGBJVZJ-km07nlVd-CVrxKvmF.js");return{diagram:t}},__vite__mapDeps([23,12,13]));return{id:Lte,diagram:e}},"loader"),hTe={id:Lte,detector:dTe,loader:BTe},pTe=hTe,Hte="sequence",wTe=F(e=>/^\s*sequenceDiagram/.test(e),"detector"),fTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./sequenceDiagram-WL72ISMW-CQ4J-0_7-Dv0HcJtc.js");return{diagram:t}},__vite__mapDeps([24,9,18]));return{id:Hte,diagram:e}},"loader"),ETe={id:Hte,detector:wTe,loader:fTe},mTe=ETe,Jte="class",ITe=F((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"),yTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./classDiagram-2ON5EDUG-CxmgTanh-BRBnzZai.js");return{diagram:t}},__vite__mapDeps([25,26,11,12,13]));return{id:Jte,diagram:e}},"loader"),CTe={id:Jte,detector:ITe,loader:yTe},QTe=CTe,Ote="classDiagram",MTe=F((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"),FTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./classDiagram-v2-WZHVMYZB-CxmgTanh-BRBnzZai.js");return{diagram:t}},__vite__mapDeps([27,26,11,12,13]));return{id:Ote,diagram:e}},"loader"),YTe={id:Ote,detector:MTe,loader:FTe},NTe=YTe,Wte="state",bTe=F((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"),xTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./stateDiagram-FKZM4ZOC-JtogJwt6-BQvKg7k9.js");return{diagram:t}},__vite__mapDeps([28,29,12,13,1,2,3,4]));return{id:Wte,diagram:e}},"loader"),DTe={id:Wte,detector:bTe,loader:xTe},kTe=DTe,Pte="stateDiagram",STe=F((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"),UTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./stateDiagram-v2-4FDKWEC3-DuQ7UaeU-DAhUMAAL.js");return{diagram:t}},__vite__mapDeps([30,29,12,13]));return{id:Pte,diagram:e}},"loader"),vTe={id:Pte,detector:STe,loader:UTe},GTe=vTe,Kte="journey",RTe=F(e=>/^\s*journey/.test(e),"detector"),jTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./journeyDiagram-XKPGCS4Q-CfjB2Qdf-M8lEOFeA.js");return{diagram:t}},__vite__mapDeps([31,9,11,22]));return{id:Kte,diagram:e}},"loader"),zTe={id:Kte,detector:RTe,loader:jTe},TTe=zTe,LTe=F((e,t,r)=>{ue.debug(`rendering svg for syntax error
|
|
826
|
-
`);const n=ISe(t),A=n.append("g");n.attr("viewBox","0 0 2412 512"),LX(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"),Vte={draw:LTe},HTe=Vte,JTe={db:{},renderer:Vte,parser:{parse:F(()=>{},"parse")}},OTe=JTe,Xte="flowchart-elk",WTe=F((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"),PTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./flowDiagram-NV44I4VS-pJlHae8Y-
|
|
825
|
+
L0,20`)},"requirement_arrow"),Kje=F((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"),Vje={extension:Sje,composition:Uje,aggregation:vje,dependency:Gje,lollipop:Rje,point:jje,circle:zje,cross:Tje,barb:Lje,only_one:Hje,zero_or_one:Jje,one_or_more:Oje,zero_or_more:Wje,requirement_arrow:Pje,requirement_contains:Kje},Xje=kje,Zje={common:Lu,getConfig:Jn,insertCluster:Aje,insertEdge:Dje,insertEdgeLabel:Mje,insertMarkers:Xje,insertNode:mte,interpolateToCurve:WU,labelHelper:nt,log:ue,positionEdgeLabel:Fje},hB={},Qte=F(e=>{for(const t of e)hB[t.name]=t},"registerLayoutLoaders"),qje=F(()=>{Qte([{name:"dagre",loader:F(async()=>await Yt(()=>import("./dagre-6UL2VRFP-DX8gNHmJ-DMpjORIV.js"),__vite__mapDeps([0,1,2,3,4,5])),"loader")},{name:"cose-bilkent",loader:F(async()=>await Yt(()=>import("./cose-bilkent-S5V4N54A-BRr2Y6dg-D6uw80ha.js"),__vite__mapDeps([6,7])),"loader")}])},"registerDefaultLayoutLoaders");qje();var z$e=F(async(e,t)=>{if(!(e.layoutAlgorithm in hB))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);const r=hB[e.layoutAlgorithm];return(await r.loader()).render(e,t,Zje,{algorithm:r.algorithm})},"render"),T$e=F((e="",{fallback:t="dagre"}={})=>{if(e in hB)return e;if(t in hB)return ue.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"),Mte="comm",Fte="rule",Yte="decl",_je="@import",$je="@namespace",eze="@keyframes",tze="@layer",Nte=Math.abs,u2=String.fromCharCode;function bte(e){return e.trim()}function u0(e,t,r){return e.replace(t,r)}function rze(e,t,r){return e.indexOf(t,r)}function nu(e,t){return e.charCodeAt(t)|0}function Mu(e,t,r){return e.slice(t,r)}function ca(e){return e.length}function nze(e){return e.length}function Ip(e,t){return t.push(e),e}var LE=1,Fu=1,xte=0,Ei=0,Kr=0,Ku="";function g2(e,t,r,n,A,i,a,s){return{value:e,root:t,parent:r,type:n,props:A,children:i,line:LE,column:Fu,length:a,return:"",siblings:s}}function Aze(){return Kr}function ize(){return Kr=Ei>0?nu(Ku,--Ei):0,Fu--,Kr===10&&(Fu=1,LE--),Kr}function Pi(){return Kr=Ei<xte?nu(Ku,Ei++):0,Fu++,Kr===10&&(Fu=1,LE++),Kr}function ro(){return nu(Ku,Ei)}function g0(){return Ei}function HE(e,t){return Mu(Ku,e,t)}function pB(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 aze(e){return LE=Fu=1,xte=ca(Ku=e),Ei=0,[]}function sze(e){return Ku="",e}function tN(e){return bte(HE(Ei-1,zx(e===91?e+2:e===40?e+1:e)))}function oze(e){for(;(Kr=ro())&&Kr<33;)Pi();return pB(e)>2||pB(Kr)>3?"":" "}function lze(e,t){for(;--t&&Pi()&&!(Kr<48||Kr>102||Kr>57&&Kr<65||Kr>70&&Kr<97););return HE(e,g0()+(t<6&&ro()==32&&Pi()==32))}function zx(e){for(;Pi();)switch(Kr){case e:return Ei;case 34:case 39:e!==34&&e!==39&&zx(Kr);break;case 40:e===41&&zx(e);break;case 92:Pi();break}return Ei}function cze(e,t){for(;Pi()&&e+Kr!==57&&!(e+Kr===84&&ro()===47););return"/*"+HE(t,Ei-1)+"*"+u2(e===47?e:Pi())}function uze(e){for(;!pB(ro());)Pi();return HE(e,Ei)}function gze(e){return sze(d0("",null,null,null,[""],e=aze(e),0,[0],e))}function d0(e,t,r,n,A,i,a,s,o){for(var l=0,c=0,u=a,g=0,d=0,B=0,h=1,f=1,p=1,w=0,E="",C=A,m=i,I=n,M=E;f;)switch(B=w,w=Pi()){case 40:if(B!=108&&nu(M,u-1)==58){rze(M+=u0(tN(w),"&","&\f"),"&\f",Nte(l?s[l-1]:0))!=-1&&(p=-1);break}case 34:case 39:case 91:M+=tN(w);break;case 9:case 10:case 13:case 32:M+=oze(B);break;case 92:M+=lze(g0()-1,7);continue;case 47:switch(ro()){case 42:case 47:Ip(dze(cze(Pi(),g0()),t,r,o),o),(pB(B||1)==5||pB(ro()||1)==5)&&ca(M)&&Mu(M,-1,void 0)!==" "&&(M+=" ");break;default:M+="/"}break;case 123*h:s[l++]=ca(M)*p;case 125*h:case 59:case 0:switch(w){case 0:case 125:f=0;case 59+c:p==-1&&(M=u0(M,/\f/g,"")),d>0&&(ca(M)-u||h===0&&B===47)&&Ip(d>32?IO(M+";",n,r,u-1,o):IO(u0(M," ","")+";",n,r,u-2,o),o);break;case 59:M+=";";default:if(Ip(I=mO(M,t,r,l,c,A,s,E,C=[],m=[],u,i),i),w===123)if(c===0)d0(M,t,I,I,C,i,u,s,m);else{switch(g){case 99:if(nu(M,3)===110)break;case 108:if(nu(M,2)===97)break;default:c=0;case 100:case 109:case 115:}c?d0(e,I,I,n&&Ip(mO(e,I,I,0,0,A,s,E,A,C=[],u,m),m),A,m,u,s,n?C:m):d0(M,I,I,I,[""],m,0,s,m)}}l=c=d=0,h=p=1,E=M="",u=a;break;case 58:u=1+ca(M),d=B;default:if(h<1){if(w==123)--h;else if(w==125&&h++==0&&ize()==125)continue}switch(M+=u2(w),w*h){case 38:p=c>0?1:(M+="\f",-1);break;case 44:s[l++]=(ca(M)-1)*p,p=1;break;case 64:ro()===45&&(M+=tN(Pi())),g=ro(),c=u=ca(E=M+=uze(g0())),w++;break;case 45:B===45&&ca(M)==2&&(h=0)}}return i}function mO(e,t,r,n,A,i,a,s,o,l,c,u){for(var g=A-1,d=A===0?i:[""],B=nze(d),h=0,f=0,p=0;h<n;++h)for(var w=0,E=Mu(e,g+1,g=Nte(f=a[h])),C=e;w<B;++w)(C=bte(f>0?d[w]+" "+E:u0(E,/&\f/g,d[w])))&&(o[p++]=C);return g2(e,t,r,A===0?Fte:s,o,l,c,u)}function dze(e,t,r,n){return g2(e,t,r,Mte,u2(Aze()),Mu(e,2,-2),0,n)}function IO(e,t,r,n,A){return g2(e,t,r,Yte,Mu(e,0,n),Mu(e,n+1,-1),n,A)}function Tx(e,t){for(var r="",n=0;n<e.length;n++)r+=t(e[n],n,e,t)||"";return r}function Bze(e,t,r,n){switch(e.type){case tze:if(e.children.length)break;case _je:case $je:case Yte:return e.return=e.return||e.value;case Mte:return"";case eze:return e.return=e.value+"{"+Tx(e.children,n)+"}";case Fte:if(!ca(e.value=e.props.join(",")))return""}return ca(r=Tx(e.children,n))?e.return=e.value+"{"+r+"}":""}var hze=r$(Object.keys,Object),pze=Object.prototype,wze=pze.hasOwnProperty;function fze(e){if(!DE(e))return hze(e);var t=[];for(var r in Object(e))wze.call(e,r)&&r!="constructor"&&t.push(r);return t}var Lx=Ac(ba,"DataView"),Hx=Ac(ba,"Promise"),Jx=Ac(ba,"Set"),Ox=Ac(ba,"WeakMap"),yO="[object Map]",Eze="[object Object]",CO="[object Promise]",QO="[object Set]",MO="[object WeakMap]",FO="[object DataView]",mze=nc(Lx),Ize=nc(dB),yze=nc(Hx),Cze=nc(Jx),Qze=nc(Ox),Zo=Ou;(Lx&&Zo(new Lx(new ArrayBuffer(1)))!=FO||dB&&Zo(new dB)!=yO||Hx&&Zo(Hx.resolve())!=CO||Jx&&Zo(new Jx)!=QO||Ox&&Zo(new Ox)!=MO)&&(Zo=function(e){var t=Ou(e),r=t==Eze?e.constructor:void 0,n=r?nc(r):"";if(n)switch(n){case mze:return FO;case Ize:return yO;case yze:return CO;case Cze:return QO;case Qze:return MO}return t});var Mze="[object Map]",Fze="[object Set]",Yze=Object.prototype,Nze=Yze.hasOwnProperty;function YO(e){if(e==null)return!0;if(kE(e)&&(Sw(e)||typeof e=="string"||typeof e.splice=="function"||JU(e)||OU(e)||kw(e)))return!e.length;var t=Zo(e);if(t==Mze||t==Fze)return!e.size;if(DE(e))return!fze(e).length;for(var r in e)if(Nze.call(e,r))return!1;return!0}var Dte="c4",bze=F(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),xze=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./c4Diagram-YG6GDRKO-DYXNcDX4-CHxegSJq.js");return{diagram:t}},__vite__mapDeps([8,9]));return{id:Dte,diagram:e}},"loader"),Dze={id:Dte,detector:bze,loader:xze},kze=Dze,kte="flowchart",Sze=F((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"),Uze=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./flowDiagram-NV44I4VS-pJlHae8Y-V2lN8HRy.js");return{diagram:t}},__vite__mapDeps([10,11,12,13,14]));return{id:kte,diagram:e}},"loader"),vze={id:kte,detector:Sze,loader:Uze},Gze=vze,Ste="flowchart-v2",Rze=F((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"),jze=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./flowDiagram-NV44I4VS-pJlHae8Y-V2lN8HRy.js");return{diagram:t}},__vite__mapDeps([10,11,12,13,14]));return{id:Ste,diagram:e}},"loader"),zze={id:Ste,detector:Rze,loader:jze},Tze=zze,Ute="er",Lze=F(e=>/^\s*erDiagram/.test(e),"detector"),Hze=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./erDiagram-Q2GNP2WA-DbLpN8Jp-B76YSpnw.js");return{diagram:t}},__vite__mapDeps([15,12,13,14]));return{id:Ute,diagram:e}},"loader"),Jze={id:Ute,detector:Lze,loader:Hze},Oze=Jze,vte="gitGraph",Wze=F(e=>/^\s*gitGraph/.test(e),"detector"),Pze=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./gitGraphDiagram-NY62KEGX-DgYonpsZ-BnPQvCQc.js");return{diagram:t}},__vite__mapDeps([16,17,18,19,4,2]));return{id:vte,diagram:e}},"loader"),Kze={id:vte,detector:Wze,loader:Pze},Vze=Kze,Gte="gantt",Xze=F(e=>/^\s*gantt/.test(e),"detector"),Zze=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./ganttDiagram-JELNMOA3-J0Tkq5TR-CDnKa5cJ.js");return{diagram:t}},[]);return{id:Gte,diagram:e}},"loader"),qze={id:Gte,detector:Xze,loader:Zze},_ze=qze,Rte="info",$ze=F(e=>/^\s*info/.test(e),"detector"),eTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./infoDiagram-WHAUD3N6-C3JLOAnb-DZz70Wlt.js");return{diagram:t}},__vite__mapDeps([20,19,4,2]));return{id:Rte,diagram:e}},"loader"),tTe={id:Rte,detector:$ze,loader:eTe},jte="pie",rTe=F(e=>/^\s*pie/.test(e),"detector"),nTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./pieDiagram-ADFJNKIX-BiQvDx8I-Csm4P_6v.js");return{diagram:t}},__vite__mapDeps([21,17,19,4,2,22]));return{id:jte,diagram:e}},"loader"),ATe={id:jte,detector:rTe,loader:nTe},zte="quadrantChart",iTe=F(e=>/^\s*quadrantChart/.test(e),"detector"),aTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./quadrantDiagram-AYHSOK5B-D4b-YFzI-DgqYZ4Fj.js");return{diagram:t}},[]);return{id:zte,diagram:e}},"loader"),sTe={id:zte,detector:iTe,loader:aTe},oTe=sTe,Tte="xychart",lTe=F(e=>/^\s*xychart(-beta)?/.test(e),"detector"),cTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./xychartDiagram-PRI3JC2R-JzAaXa5z-0D-bLJ7B.js");return{diagram:t}},[]);return{id:Tte,diagram:e}},"loader"),uTe={id:Tte,detector:lTe,loader:cTe},gTe=uTe,Lte="requirement",dTe=F(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),BTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./requirementDiagram-UZGBJVZJ-km07nlVd-Czal8CN1.js");return{diagram:t}},__vite__mapDeps([23,12,13]));return{id:Lte,diagram:e}},"loader"),hTe={id:Lte,detector:dTe,loader:BTe},pTe=hTe,Hte="sequence",wTe=F(e=>/^\s*sequenceDiagram/.test(e),"detector"),fTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./sequenceDiagram-WL72ISMW-CQ4J-0_7-DA8azeWg.js");return{diagram:t}},__vite__mapDeps([24,9,18]));return{id:Hte,diagram:e}},"loader"),ETe={id:Hte,detector:wTe,loader:fTe},mTe=ETe,Jte="class",ITe=F((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"),yTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./classDiagram-2ON5EDUG-CxmgTanh-D8XJiPRf.js");return{diagram:t}},__vite__mapDeps([25,26,11,12,13]));return{id:Jte,diagram:e}},"loader"),CTe={id:Jte,detector:ITe,loader:yTe},QTe=CTe,Ote="classDiagram",MTe=F((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"),FTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./classDiagram-v2-WZHVMYZB-CxmgTanh-D8XJiPRf.js");return{diagram:t}},__vite__mapDeps([27,26,11,12,13]));return{id:Ote,diagram:e}},"loader"),YTe={id:Ote,detector:MTe,loader:FTe},NTe=YTe,Wte="state",bTe=F((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"),xTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./stateDiagram-FKZM4ZOC-JtogJwt6-CAuan9bg.js");return{diagram:t}},__vite__mapDeps([28,29,12,13,1,2,3,4]));return{id:Wte,diagram:e}},"loader"),DTe={id:Wte,detector:bTe,loader:xTe},kTe=DTe,Pte="stateDiagram",STe=F((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"),UTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./stateDiagram-v2-4FDKWEC3-DuQ7UaeU-wMtwfJb0.js");return{diagram:t}},__vite__mapDeps([30,29,12,13]));return{id:Pte,diagram:e}},"loader"),vTe={id:Pte,detector:STe,loader:UTe},GTe=vTe,Kte="journey",RTe=F(e=>/^\s*journey/.test(e),"detector"),jTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./journeyDiagram-XKPGCS4Q-CfjB2Qdf-LESHFhGE.js");return{diagram:t}},__vite__mapDeps([31,9,11,22]));return{id:Kte,diagram:e}},"loader"),zTe={id:Kte,detector:RTe,loader:jTe},TTe=zTe,LTe=F((e,t,r)=>{ue.debug(`rendering svg for syntax error
|
|
826
|
+
`);const n=ISe(t),A=n.append("g");n.attr("viewBox","0 0 2412 512"),LX(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"),Vte={draw:LTe},HTe=Vte,JTe={db:{},renderer:Vte,parser:{parse:F(()=>{},"parse")}},OTe=JTe,Xte="flowchart-elk",WTe=F((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"),PTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./flowDiagram-NV44I4VS-pJlHae8Y-V2lN8HRy.js");return{diagram:t}},__vite__mapDeps([10,11,12,13,14]));return{id:Xte,diagram:e}},"loader"),KTe={id:Xte,detector:WTe,loader:PTe},VTe=KTe,Zte="timeline",XTe=F(e=>/^\s*timeline/.test(e),"detector"),ZTe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./timeline-definition-IT6M3QCI-Cs3NnF2M-CHRQfxoL.js");return{diagram:t}},__vite__mapDeps([32,22]));return{id:Zte,diagram:e}},"loader"),qTe={id:Zte,detector:XTe,loader:ZTe},_Te=qTe,qte="mindmap",$Te=F(e=>/^\s*mindmap/.test(e),"detector"),eLe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./mindmap-definition-VGOIOE7T-Dj37RkY_-Q2Y5JCNR.js");return{diagram:t}},__vite__mapDeps([33,12,13]));return{id:qte,diagram:e}},"loader"),tLe={id:qte,detector:$Te,loader:eLe},rLe=tLe,_te="kanban",nLe=F(e=>/^\s*kanban/.test(e),"detector"),ALe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./kanban-definition-3W4ZIXB7-CrW8yVmd-CS7O7CRH.js");return{diagram:t}},__vite__mapDeps([34,11]));return{id:_te,diagram:e}},"loader"),iLe={id:_te,detector:nLe,loader:ALe},aLe=iLe,$te="sankey",sLe=F(e=>/^\s*sankey(-beta)?/.test(e),"detector"),oLe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./sankeyDiagram-TZEHDZUN-LfuSRRbf-DbQtBnKn.js");return{diagram:t}},[]);return{id:$te,diagram:e}},"loader"),lLe={id:$te,detector:sLe,loader:oLe},cLe=lLe,ere="packet",uLe=F(e=>/^\s*packet(-beta)?/.test(e),"detector"),gLe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./diagram-S2PKOQOG-IEqaDwzi-CJ60bco2.js");return{diagram:t}},__vite__mapDeps([35,17,19,4,2]));return{id:ere,diagram:e}},"loader"),dLe={id:ere,detector:uLe,loader:gLe},tre="radar",BLe=F(e=>/^\s*radar-beta/.test(e),"detector"),hLe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./diagram-QEK2KX5R-BDO6hKtm-J0PP4QNf.js");return{diagram:t}},__vite__mapDeps([36,17,19,4,2]));return{id:tre,diagram:e}},"loader"),pLe={id:tre,detector:BLe,loader:hLe},rre="block",wLe=F(e=>/^\s*block(-beta)?/.test(e),"detector"),fLe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./blockDiagram-VD42YOAC-zcRIdFTD-Co_XtUK4.js");return{diagram:t}},__vite__mapDeps([37,11,5,1,2,14]));return{id:rre,diagram:e}},"loader"),ELe={id:rre,detector:wLe,loader:fLe},mLe=ELe,nre="architecture",ILe=F(e=>/^\s*architecture/.test(e),"detector"),yLe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./architectureDiagram-VXUJARFQ-BiqZtsDe-OAB_WdXP.js");return{diagram:t}},__vite__mapDeps([38,17,19,4,2,7]));return{id:nre,diagram:e}},"loader"),CLe={id:nre,detector:ILe,loader:yLe},QLe=CLe,Are="treemap",MLe=F(e=>/^\s*treemap/.test(e),"detector"),FLe=F(async()=>{const{diagram:e}=await Yt(async()=>{const{diagram:t}=await import("./diagram-PSM6KHXK-DNX818To-CxJ9VQrf.js");return{diagram:t}},__vite__mapDeps([39,13,17,19,4,2]));return{id:Are,diagram:e}},"loader"),YLe={id:Are,detector:MLe,loader:FLe},NO=!1,JE=F(()=>{NO||(NO=!0,aw("error",OTe,e=>e.toLowerCase().trim()==="error"),aw("---",{db:{clear:F(()=>{},"clear")},styles:{},renderer:{draw:F(()=>{},"draw")},parser:{parse:F(()=>{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:F(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),Wb(VTe,rLe,QLe),Wb(kze,aLe,NTe,QTe,Oze,_ze,tTe,ATe,pTe,mTe,Tze,Gze,_Te,Vze,GTe,kTe,TTe,oTe,cLe,dLe,gTe,mLe,pLe,YLe))},"addDiagrams"),NLe=F(async()=>{ue.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(bl).map(async([t,{detector:r,loader:n}])=>{if(n)try{Xb(t)}catch{try{const{diagram:A,id:i}=await n();aw(i,A,r)}catch(A){throw ue.error(`Failed to load external diagram with key ${t}. Removing from detectors.`),delete bl[t],A}}}))).filter(t=>t.status==="rejected");if(e.length>0){ue.error(`Failed to load ${e.length} external diagrams`);for(const t of e)ue.error(t);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams"),bLe="graphics-document document";function ire(e,t){e.attr("role",bLe),t!==""&&e.attr("aria-roledescription",t)}F(ire,"setA11yDiagramInfo");function are(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)}}}F(are,"addSVGa11yTitleDescription");var yp,Wx=(yp=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=Jn(),i=RS(e,A);e=YGe(e)+`
|
|
827
827
|
`;try{Xb(i)}catch{const c=kFe(i);if(!c)throw new bX(`Diagram ${i} not found.`);const{id:u,diagram:g}=await c();aw(u,g)}const{db:a,parser:s,renderer:o,init:l}=Xb(i);return s.parser&&(s.parser.yy=a),(r=a.clear)==null||r.call(a),l==null||l(A),t.title&&((n=a.setDiagramTitle)==null||n.call(a,t.title)),await s.parse(e),new yp(i,e,a,s,o)}async render(e,t){await this.renderer.draw(this.text,e,t,this)}getParser(){return this.parser}getType(){return this.type}},F(yp,"Diagram"),yp),bO=[],xLe=F(()=>{bO.forEach(e=>{e()}),bO=[]},"attachFunctions"),DLe=F(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function sre(e){const t=e.match(NX);if(!t)return{text:e,metadata:{}};let r=NUe(t[1],{schema:YUe})??{};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}}F(sre,"extractFrontMatter");var kLe=F(e=>e.replace(/\r\n?/g,`
|
|
828
828
|
`).replace(/<(\w+)([^>]*)>/g,(t,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),SLe=F(e=>{const{text:t,metadata:r}=sre(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"),ULe=F(e=>{const t=zi.detectInit(e)??{},r=zi.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:BGe(e),directive:t}},"processDirectives");function d2(e){const t=kLe(e),r=SLe(t),n=ULe(r.text),A=ZU(r.config,n.directive);return e=DLe(n.text),{code:e,title:r.title,config:A}}F(d2,"preprocessDiagram");function ore(e){const t=new TextEncoder().encode(e),r=Array.from(t,n=>String.fromCodePoint(n)).join("");return btoa(r)}F(ore,"toBase64");var vLe=5e4,GLe="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",RLe="sandbox",jLe="loose",zLe="http://www.w3.org/2000/svg",TLe="http://www.w3.org/1999/xlink",LLe="http://www.w3.org/1999/xhtml",HLe="100%",JLe="100%",OLe="border:0;margin:0;",WLe="margin:0",PLe="allow-top-navigation-by-user-activation allow-popups",KLe='The "iframe" tag is not supported by your browser.',VLe=["foreignobject"],XLe=["dominant-baseline"];function B2(e){const t=d2(e);return Aw(),VFe(t.config??{}),t}F(B2,"processAndSetConfigs");async function lre(e,t){JE();try{const{code:r,config:n}=B2(e);return{diagramType:(await ure(r)).type,config:n}}catch(r){if(t!=null&&t.suppressErrors)return!1;throw r}}F(lre,"parse");var xO=F((e,t,r=[])=>`
|
|
829
829
|
.${e} ${t} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),ZLe=F((e,t=new Map)=>{var r;let n="";if(e.themeCSS!==void 0&&(n+=`
|
|
@@ -922,7 +922,7 @@ ${e.themeCSS}`),e.fontFamily!==void 0&&(n+=`
|
|
|
922
922
|
from { transform: rotate(0deg); }
|
|
923
923
|
to { transform: rotate(360deg); }
|
|
924
924
|
}
|
|
925
|
-
`})]}),s.title&&_.jsx("h4",{style:{textAlign:"center",marginBottom:s.description?"4px":"12px",marginTop:0,color:T,fontWeight:600,background:"transparent"},children:s.title}),s.description&&_.jsx("p",{style:{textAlign:"center",marginTop:0,marginBottom:"12px",color:R,fontSize:"0.9rem"},children:s.description}),_.jsxs(WJe,{width:"100%",height:w,children:[s.type==="bar"&&_.jsxs(Sqe,{data:s.data,margin:Qe,barCategoryGap:"20%",children:[I&&_.jsx(Mc,{strokeDasharray:"3 3",stroke:L}),_.jsx(Fc,{dataKey:s.xKey||"name",label:ct,...O,...he,tickFormatter:Fe}),_.jsx(sa,{yAxisId:"left",width:80,tickFormatter:ke,...O,children:La(N,"left")}),C&&_.jsx(sa,{yAxisId:"right",orientation:"right",width:80,tickFormatter:ke,...O,children:La(D,"right")}),_.jsx(Ec,{contentStyle:we,labelStyle:Z,itemStyle:Ye,formatter:De,labelFormatter:Ke,cursor:be}),m&&_.jsx(_o,{wrapperStyle:ze,iconSize:10,iconType:"square"}),M,E.map(se=>_.jsx(UD,{name:se.name,dataKey:se.key,fill:se.color,stackId:se.stackId,yAxisId:se.yAxisId,radius:[4,4,0,0]},se.key))]}),s.type==="line"&&_.jsxs(Dqe,{data:s.data,margin:Qe,children:[I&&_.jsx(Mc,{strokeDasharray:"3 3",stroke:L}),_.jsx(Fc,{dataKey:s.xKey||"name",label:ct,...O,...he,tickFormatter:Fe}),_.jsx(sa,{yAxisId:"left",width:80,tickFormatter:ke,...O,children:La(N,"left")}),C&&_.jsx(sa,{yAxisId:"right",orientation:"right",width:80,tickFormatter:ke,...O,children:La(D,"right")}),_.jsx(Ec,{contentStyle:we,labelStyle:Z,itemStyle:Ye,formatter:De,labelFormatter:Ke,cursor:be}),m&&_.jsx(_o,{wrapperStyle:ze,iconSize:10,iconType:"square"}),M,E.map(se=>_.jsx(xD,{name:se.name,type:"monotone",dataKey:se.key,stroke:se.color,yAxisId:se.yAxisId,strokeWidth:se.strokeWidth,dot:se.dot},se.key))]}),s.type==="area"&&_.jsxs(Xqe,{data:s.data,margin:Qe,children:[I&&_.jsx(Mc,{strokeDasharray:"3 3",stroke:L}),_.jsx(Fc,{dataKey:s.xKey||"name",label:ct,...O,...he,tickFormatter:Fe}),_.jsx(sa,{yAxisId:"left",width:80,tickFormatter:ke,...O,children:La(N,"left")}),C&&_.jsx(sa,{yAxisId:"right",orientation:"right",width:80,tickFormatter:ke,...O,children:La(D,"right")}),_.jsx(Ec,{contentStyle:we,labelStyle:Z,itemStyle:Ye,formatter:De,labelFormatter:Ke,cursor:be}),m&&_.jsx(_o,{wrapperStyle:ze,iconSize:10,iconType:"square"}),M,E.map(se=>_.jsx(DD,{name:se.name,type:"monotone",dataKey:se.key,stroke:se.color,yAxisId:se.yAxisId,fill:se.color,fillOpacity:se.opacity,stackId:se.stackId},se.key))]}),s.type==="composed"&&_.jsxs(qqe,{data:s.data,margin:Qe,children:[I&&_.jsx(Mc,{strokeDasharray:"3 3",stroke:L}),_.jsx(Fc,{dataKey:s.xKey||"name",label:ct,...O,...he,tickFormatter:Fe}),_.jsx(sa,{yAxisId:"left",width:80,tickFormatter:ke,...O,children:La(N,"left")}),C&&_.jsx(sa,{yAxisId:"right",orientation:"right",width:80,tickFormatter:ke,...O,children:La(D,"right")}),_.jsx(Ec,{contentStyle:we,labelStyle:Z,itemStyle:Ye,formatter:De,labelFormatter:Ke,cursor:be}),m&&_.jsx(_o,{wrapperStyle:ze,iconSize:10,iconType:"square"}),M,E.map(se=>{switch(se.type){case"line":return _.jsx(xD,{name:se.name,type:"monotone",dataKey:se.key,stroke:se.color,yAxisId:se.yAxisId,strokeWidth:se.strokeWidth,dot:se.dot},se.key);case"area":return _.jsx(DD,{name:se.name,type:"monotone",dataKey:se.key,stroke:se.color,yAxisId:se.yAxisId,fill:se.color,fillOpacity:se.opacity,stackId:se.stackId},se.key);case"scatter":return _.jsx(GD,{name:se.name,dataKey:se.key,fill:se.color,yAxisId:se.yAxisId},se.key);default:return _.jsx(UD,{name:se.name,dataKey:se.key,fill:se.color,stackId:se.stackId,yAxisId:se.yAxisId,radius:[4,4,0,0]},se.key)}})]}),s.type==="pie"&&_.jsxs(Wqe,{children:[_.jsx(Lie,{data:s.data,dataKey:((n=s.dataKeys)==null?void 0:n[0])||"value",nameKey:s.xKey||"name",cx:"50%",cy:"50%",outerRadius:w/3,label:{fill:T},children:s.data.map((se,et)=>_.jsx(ag,{fill:p[et%p.length]},`cell-${et}`))}),_.jsx(Ec,{contentStyle:we,itemStyle:Ye,formatter:De}),m&&_.jsx(_o,{wrapperStyle:ze,iconSize:10,iconType:"square"})]}),s.type==="scatter"&&_.jsxs(Kqe,{margin:Qe,children:[I&&_.jsx(Mc,{strokeDasharray:"3 3",stroke:L}),_.jsx(Fc,{dataKey:s.xKey||"x",label:ct,...O,...he,tickFormatter:Fe}),_.jsx(sa,{dataKey:((A=s.dataKeys)==null?void 0:A[0])||"y",width:80,tickFormatter:ke,...O,children:La(N,"left")}),_.jsx(Ec,{contentStyle:we,labelStyle:Z,itemStyle:Ye,formatter:De,labelFormatter:Ke,cursor:be}),m&&_.jsx(_o,{wrapperStyle:ze,iconSize:10,iconType:"square"}),M,_.jsx(GD,{name:"Data",data:s.data,fill:p[0]})]})]})]})};let mc=null;const i_e=async()=>{if(typeof window>"u")throw new Error("abcjs requires a browser environment");if(mc)return mc;try{const e=await Yt(()=>import("./index-DvNpGWs7-
|
|
925
|
+
`})]}),s.title&&_.jsx("h4",{style:{textAlign:"center",marginBottom:s.description?"4px":"12px",marginTop:0,color:T,fontWeight:600,background:"transparent"},children:s.title}),s.description&&_.jsx("p",{style:{textAlign:"center",marginTop:0,marginBottom:"12px",color:R,fontSize:"0.9rem"},children:s.description}),_.jsxs(WJe,{width:"100%",height:w,children:[s.type==="bar"&&_.jsxs(Sqe,{data:s.data,margin:Qe,barCategoryGap:"20%",children:[I&&_.jsx(Mc,{strokeDasharray:"3 3",stroke:L}),_.jsx(Fc,{dataKey:s.xKey||"name",label:ct,...O,...he,tickFormatter:Fe}),_.jsx(sa,{yAxisId:"left",width:80,tickFormatter:ke,...O,children:La(N,"left")}),C&&_.jsx(sa,{yAxisId:"right",orientation:"right",width:80,tickFormatter:ke,...O,children:La(D,"right")}),_.jsx(Ec,{contentStyle:we,labelStyle:Z,itemStyle:Ye,formatter:De,labelFormatter:Ke,cursor:be}),m&&_.jsx(_o,{wrapperStyle:ze,iconSize:10,iconType:"square"}),M,E.map(se=>_.jsx(UD,{name:se.name,dataKey:se.key,fill:se.color,stackId:se.stackId,yAxisId:se.yAxisId,radius:[4,4,0,0]},se.key))]}),s.type==="line"&&_.jsxs(Dqe,{data:s.data,margin:Qe,children:[I&&_.jsx(Mc,{strokeDasharray:"3 3",stroke:L}),_.jsx(Fc,{dataKey:s.xKey||"name",label:ct,...O,...he,tickFormatter:Fe}),_.jsx(sa,{yAxisId:"left",width:80,tickFormatter:ke,...O,children:La(N,"left")}),C&&_.jsx(sa,{yAxisId:"right",orientation:"right",width:80,tickFormatter:ke,...O,children:La(D,"right")}),_.jsx(Ec,{contentStyle:we,labelStyle:Z,itemStyle:Ye,formatter:De,labelFormatter:Ke,cursor:be}),m&&_.jsx(_o,{wrapperStyle:ze,iconSize:10,iconType:"square"}),M,E.map(se=>_.jsx(xD,{name:se.name,type:"monotone",dataKey:se.key,stroke:se.color,yAxisId:se.yAxisId,strokeWidth:se.strokeWidth,dot:se.dot},se.key))]}),s.type==="area"&&_.jsxs(Xqe,{data:s.data,margin:Qe,children:[I&&_.jsx(Mc,{strokeDasharray:"3 3",stroke:L}),_.jsx(Fc,{dataKey:s.xKey||"name",label:ct,...O,...he,tickFormatter:Fe}),_.jsx(sa,{yAxisId:"left",width:80,tickFormatter:ke,...O,children:La(N,"left")}),C&&_.jsx(sa,{yAxisId:"right",orientation:"right",width:80,tickFormatter:ke,...O,children:La(D,"right")}),_.jsx(Ec,{contentStyle:we,labelStyle:Z,itemStyle:Ye,formatter:De,labelFormatter:Ke,cursor:be}),m&&_.jsx(_o,{wrapperStyle:ze,iconSize:10,iconType:"square"}),M,E.map(se=>_.jsx(DD,{name:se.name,type:"monotone",dataKey:se.key,stroke:se.color,yAxisId:se.yAxisId,fill:se.color,fillOpacity:se.opacity,stackId:se.stackId},se.key))]}),s.type==="composed"&&_.jsxs(qqe,{data:s.data,margin:Qe,children:[I&&_.jsx(Mc,{strokeDasharray:"3 3",stroke:L}),_.jsx(Fc,{dataKey:s.xKey||"name",label:ct,...O,...he,tickFormatter:Fe}),_.jsx(sa,{yAxisId:"left",width:80,tickFormatter:ke,...O,children:La(N,"left")}),C&&_.jsx(sa,{yAxisId:"right",orientation:"right",width:80,tickFormatter:ke,...O,children:La(D,"right")}),_.jsx(Ec,{contentStyle:we,labelStyle:Z,itemStyle:Ye,formatter:De,labelFormatter:Ke,cursor:be}),m&&_.jsx(_o,{wrapperStyle:ze,iconSize:10,iconType:"square"}),M,E.map(se=>{switch(se.type){case"line":return _.jsx(xD,{name:se.name,type:"monotone",dataKey:se.key,stroke:se.color,yAxisId:se.yAxisId,strokeWidth:se.strokeWidth,dot:se.dot},se.key);case"area":return _.jsx(DD,{name:se.name,type:"monotone",dataKey:se.key,stroke:se.color,yAxisId:se.yAxisId,fill:se.color,fillOpacity:se.opacity,stackId:se.stackId},se.key);case"scatter":return _.jsx(GD,{name:se.name,dataKey:se.key,fill:se.color,yAxisId:se.yAxisId},se.key);default:return _.jsx(UD,{name:se.name,dataKey:se.key,fill:se.color,stackId:se.stackId,yAxisId:se.yAxisId,radius:[4,4,0,0]},se.key)}})]}),s.type==="pie"&&_.jsxs(Wqe,{children:[_.jsx(Lie,{data:s.data,dataKey:((n=s.dataKeys)==null?void 0:n[0])||"value",nameKey:s.xKey||"name",cx:"50%",cy:"50%",outerRadius:w/3,label:{fill:T},children:s.data.map((se,et)=>_.jsx(ag,{fill:p[et%p.length]},`cell-${et}`))}),_.jsx(Ec,{contentStyle:we,itemStyle:Ye,formatter:De}),m&&_.jsx(_o,{wrapperStyle:ze,iconSize:10,iconType:"square"})]}),s.type==="scatter"&&_.jsxs(Kqe,{margin:Qe,children:[I&&_.jsx(Mc,{strokeDasharray:"3 3",stroke:L}),_.jsx(Fc,{dataKey:s.xKey||"x",label:ct,...O,...he,tickFormatter:Fe}),_.jsx(sa,{dataKey:((A=s.dataKeys)==null?void 0:A[0])||"y",width:80,tickFormatter:ke,...O,children:La(N,"left")}),_.jsx(Ec,{contentStyle:we,labelStyle:Z,itemStyle:Ye,formatter:De,labelFormatter:Ke,cursor:be}),m&&_.jsx(_o,{wrapperStyle:ze,iconSize:10,iconType:"square"}),M,_.jsx(GD,{name:"Data",data:s.data,fill:p[0]})]})]})]})};let mc=null;const i_e=async()=>{if(typeof window>"u")throw new Error("abcjs requires a browser environment");if(mc)return mc;try{const e=await Yt(()=>import("./index-DvNpGWs7-DSHfKWeY.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 mc=t,mc}catch(e){if(typeof window<"u"&&window.ABCJS)return mc=window.ABCJS,mc;const t=e instanceof Error?e.message:"Failed to load abcjs";throw new Error(`Failed to load abcjs: ${t}`)}},a_e=e=>{const t=e.trim();return/^[XMTLK]:/m.test(t)||/^X:\d+/m.test(t)},s_e=e=>{const t=e.trim();if(!t.includes("X:")||!/^K:/m.test(t))return!0;const r=t.split(`
|
|
926
926
|
`),n=r[r.length-1].trim();return!!(n.match(/^[A-Z]:?\s*$/)&&n.length<3||n.endsWith("|")&&!n.endsWith("|]")&&!n.endsWith("||")&&n.replace(/\|/g,"").trim().length<2)},o_e=({code:e})=>{const t=y.useRef(null),[r,n]=y.useState(null),[A,i]=y.useState(!0),[a,s]=y.useState(!1),[o,l]=y.useState(!1),[c,u]=y.useState(!1),g=y.useRef(""),d=y.useRef(0),B=y.useRef(null);return y.useEffect(()=>{const h=e.trim();if(!h){i(!1),l(!1),s(!1);return}const f=Date.now(),p=f-d.current,w=e!==g.current;g.current=e,d.current=f;const E=s_e(h),C=w&&p<500&&p>0,m=E||C;if(E){s(!0),i(!0),n(null);return}a_e(e)?(l(!0),n(null),m&&s(!0)):(l(!1),m?(s(!0),n(null)):(n("Unable to detect ABC notation. Expected ABC notation starting with headers like X:, T:, M:, L:, or K:"),i(!1),s(!1)))},[e]),y.useEffect(()=>!o||!e.trim()?void 0:(a&&(B.current&&clearTimeout(B.current),B.current=setTimeout(()=>{s(!1)},400)),(async()=>{try{i(!0);let h=0;const f=10;for(;!t.current&&h<f;)await new Promise(w=>setTimeout(w,50)),h++;if(!t.current)throw new Error("Container element not found after waiting");const p=await i_e();t.current.innerHTML="",p.renderAbc(t.current,e,{responsive:"resize",staffwidth:740,paddingleft:0,paddingright:0,paddingtop:15,paddingbottom:15,scale:1}),n(null),i(!1)}catch(h){const f=h instanceof Error?h.message:"Failed to render ABC notation";n(f),i(!1)}})(),()=>{B.current&&clearTimeout(B.current)}),[e,o,a]),r?_.jsxs("div",{className:"graph-error",children:[_.jsxs("div",{className:"graph-error-header",children:[_.jsx("div",{className:"graph-error-icon",children:"⚠️"}),_.jsxs("div",{className:"graph-error-content",children:[_.jsx("div",{className:"graph-error-title",children:"ABC Notation Rendering Error"}),_.jsx("div",{className:"graph-error-message",children:r})]})]}),_.jsxs("button",{className:"graph-error-toggle",onClick:()=>u(!c),type:"button",children:[c?"Hide":"Show"," Details"]}),c&&_.jsxs("details",{className:"graph-error-details",open:!0,children:[_.jsx("summary",{style:{cursor:"pointer",marginBottom:"8px",fontWeight:500},children:"ABC Notation Code"}),_.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:_.jsx("code",{children:e})})]})]}):(A||a)&&!o?_.jsx("div",{className:"graph-container music-container abc-container",children:_.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",padding:"30px 20px",color:"var(--md-text-secondary, #6b7280)",minHeight:"120px"},children:[_.jsx("svg",{style:{animation:"spin 1s linear infinite",marginBottom:"10px",width:"28px",height:"28px"},viewBox:"0 0 24 24",fill:"none",children:_.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2",strokeDasharray:"32",strokeLinecap:"round"})}),_.jsx("span",{style:{fontWeight:500,fontSize:"14px"},children:a?"Receiving music notation...":"Loading music notation..."}),_.jsx("style",{children:`
|
|
927
927
|
@keyframes spin {
|
|
928
928
|
from { transform: rotate(0deg); }
|
|
@@ -950,9 +950,9 @@ ${_le}`,f_e=()=>{if(typeof document>"u"||document.getElementById(aV))return;cons
|
|
|
950
950
|
{ "name": "Business Analytics", "apiKey": "analytical", "apiUrl": "http://localhost:3000" }
|
|
951
951
|
]`,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:"5",VITE_MAX_FILES_PER_CONVERSATION:"3",VITE_MAX_FILE_SIZE_MB:"10",VITE_MAX_MESSAGES_PER_CONVERSATION:"10",VITE_MAX_MESSAGES_PER_THREAD:"4",VITE_MAX_MESSAGE_LENGTH:"500",VITE_MAX_TOTAL_FILES:"3",VITE_MAX_TOTAL_MESSAGES:"10",VITE_OUT_OF_SERVICE_MESSAGE:"",VITE_SHOW_GITHUB_STATS:"true",VITE_USE_LOCAL_API:"false"},Kl="http://localhost:3000";function m_e(e){return typeof e=="object"&&e!==null}const I_e={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",outOfServiceMessage:"VITE_OUT_OF_SERVICE_MESSAGE",githubOwner:"VITE_GITHUB_OWNER",githubRepo:"VITE_GITHUB_REPO",adapters:"VITE_ADAPTERS",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",maxMessagesPerThread:"VITE_MAX_MESSAGES_PER_THREAD",maxTotalMessages:"VITE_MAX_TOTAL_MESSAGES",maxMessageLength:"VITE_MAX_MESSAGE_LENGTH"};function y_e(){return typeof window<"u"&&m_e(window.ORBIT_CHAT_CONFIG)}function jt(e,t,r="string"){var o;const n=e==="showGitHubStats"||e==="githubOwner"||e==="githubRepo",A=y_e();if(!n){if(A){const l=(o=window.ORBIT_CHAT_CONFIG)==null?void 0:o[e];return l??t}if(typeof window<"u")switch(e){case"apiUrl":if(window.CHATBOT_API_URL)return window.CHATBOT_API_URL;break;case"defaultKey":if(window.CHATBOT_API_KEY)return window.CHATBOT_API_KEY;break}}const i=I_e[e],s=i?E_e[i]:void 0;if(s!=null&&s!==""){if(r==="boolean")return s==="true";if(r==="number"||r==="numberOrNull"){const l=parseInt(s,10);if(!isNaN(l))return r==="numberOrNull"&&l===0?null:l}else return s}return t}function Og(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 CN(e,t){if(e===void 0||e==="")return t;const r=parseInt(e,10);return isNaN(r)||r<0?t:r}function vae(e){if(typeof e!="string")return null;const t=e.trim();if(!t)return null;const r=t.toLowerCase();return r==="false"||r==="0"||r==="off"||r==="disabled"?null:t}const Di={apiUrl:jt("apiUrl",Kl,"string"),defaultKey:jt("defaultKey","default-key","string"),useLocalApi:jt("useLocalApi",!1,"boolean"),localApiPath:jt("localApiPath",void 0,"string"),consoleDebug:jt("consoleDebug",!1,"boolean"),enableUploadButton:jt("enableUploadButton",!1,"boolean"),enableAudioOutput:jt("enableAudioOutput",!1,"boolean"),enableFeedbackButtons:jt("enableFeedbackButtons",!1,"boolean"),enableConversationThreads:jt("enableConversationThreads",!0,"boolean"),enableApiMiddleware:jt("enableApiMiddleware",!1,"boolean"),showGitHubStats:jt("showGitHubStats",!0,"boolean"),outOfServiceMessage:(()=>{const e=jt("outOfServiceMessage","","string");return vae(e)})(),githubOwner:jt("githubOwner","schmitech","string"),githubRepo:jt("githubRepo","orbit","string"),maxFilesPerConversation:(()=>{const e=jt("maxFilesPerConversation","5","string");return CN(e,5)})(),maxFileSizeMB:(()=>{const e=jt("maxFileSizeMB","50","string");return CN(e,50)})(),maxTotalFiles:(()=>{const e=jt("maxTotalFiles","100","string");return Og(e,100)})(),maxConversations:(()=>{const e=jt("maxConversations","10","string");return Og(e,10)})(),maxMessagesPerConversation:(()=>{const e=jt("maxMessagesPerConversation","1000","string");return Og(e,1e3)})(),maxMessagesPerThread:(()=>{const e=jt("maxMessagesPerThread","1000","string");return Og(e,1e3)})(),maxTotalMessages:(()=>{const e=jt("maxTotalMessages","10000","string");return Og(e,1e4)})(),maxMessageLength:(()=>{const e=jt("maxMessageLength","1000","string");return CN(e,1e3)})()};function Vr(){return jt("apiUrl",Kl,"string")}function Za(e){const t=e==null?void 0:e.trim();return t&&t.length>0?t:Vr()}function El(){return jt("defaultKey","default-key","string")}function C_e(){return jt("useLocalApi",!1,"boolean")}function Q_e(){return jt("localApiPath",void 0,"string")}function M_e(){return jt("enableUploadButton",!1,"boolean")}function F_e(){return jt("enableAudioOutput",!1,"boolean")}function Y_e(){return jt("enableFeedbackButtons",!1,"boolean")}function N_e(){return jt("enableConversationThreads",!0,"boolean")}function Tr(){return jt("enableApiMiddleware",!1,"boolean")}function b_e(){return Di.showGitHubStats}function sV(){return Di.githubOwner}function oV(){return Di.githubRepo}function x_e(){const e=jt("outOfServiceMessage","","string");return vae(e)}function D_e({audio:e,audioFormat:t="mp3",autoPlay:r=!1,maxSizeMB:n=10}){const A=y.useRef(null),[i,a]=y.useState(!1),[s,o]=y.useState(0),[l,c]=y.useState(0),[u,g]=y.useState(!0),[d,B]=y.useState(null),[h,f]=y.useState(null);y.useEffect(()=>{if(!e)return;let k=null,N=!0;return(async()=>{try{g(!0),B(null),f(null);const L=e.length*3/4/(1024*1024);if(L>n)throw new Error(`Audio file too large (${L.toFixed(1)}MB > ${n}MB limit)`);if(L>2&&(f(`Large audio file (${L.toFixed(1)}MB) - may take time to load`),fe("[AudioPlayer] Large audio file detected",{sizeMB:L.toFixed(2)})),!/^[A-Za-z0-9+/=]+$/.test(e.replace(/\s/g,"")))throw new Error("Invalid base64 audio data");const T=atob(e),v=new Uint8Array(T.length);for(let R=0;R<T.length;R++)v[R]=T.charCodeAt(R);const H=t==="mp3"?"audio/mpeg":t==="wav"?"audio/wav":t==="ogg"?"audio/ogg":t==="opus"?"audio/opus":t==="webm"?"audio/webm":`audio/${t}`,J=new Blob([v],{type:H});if(k=URL.createObjectURL(J),!N||!A.current){k&&URL.revokeObjectURL(k);return}A.current.src=k,g(!1),fe("[AudioPlayer] Audio loaded successfully",{format:t,mimeType:H,size:J.size}),r&&A.current&&A.current.play().catch(R=>{Su("[AudioPlayer] Auto-play failed:",R)})}catch{N&&(B("Failed to load audio"),g(!1))}})(),()=>{N=!1,k&&URL.revokeObjectURL(k)}},[e,t,r,n]);const p=()=>{A.current&&o(A.current.duration)},w=()=>{A.current&&c(A.current.currentTime)},E=()=>a(!0),C=()=>a(!1),m=()=>{a(!1),c(0)},I=()=>{A.current&&(i?A.current.pause():A.current.play().catch(k=>{B("Playback failed")}))},M=k=>{if(!A.current)return;const N=parseFloat(k.target.value);A.current.currentTime=N,c(N)},b=k=>{if(!isFinite(k))return"0:00";const N=Math.floor(k/60),D=Math.floor(k%60);return`${N}:${D.toString().padStart(2,"0")}`};return d?x.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:[x.jsx(W0,{className:"h-4 w-4"}),x.jsx("span",{children:d})]}):x.jsxs("div",{className:"mt-3 flex flex-col gap-1",children:[h&&x.jsxs("div",{className:"text-xs text-amber-600 dark:text-amber-400 px-1",children:["⚠️ ",h]}),x.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:[x.jsx("audio",{ref:A,onLoadedMetadata:p,onTimeUpdate:w,onPlay:E,onPause:C,onEnded:m}),x.jsx("button",{onClick:I,disabled:u,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:u?x.jsx("div",{className:"h-4 w-4 animate-spin rounded-full border-2 border-gray-400 border-t-transparent"}):i?x.jsx(Ule,{className:"h-4 w-4 text-gray-700 dark:text-[#ececf1]"}):x.jsx(Gle,{className:"h-4 w-4 text-gray-700 dark:text-[#ececf1]"})}),x.jsxs("div",{className:"flex flex-1 items-center gap-2",children:[x.jsx("span",{className:"text-xs text-gray-500 dark:text-[#bfc2cd]",children:b(l)}),x.jsx("input",{type:"range",min:"0",max:s||0,value:l,onChange:M,disabled:u||!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) ${l/s*100}%, rgb(229 231 235) ${l/s*100}%, rgb(229 231 235) 100%)`:"rgb(229 231 235)"}}),x.jsx("span",{className:"text-xs text-gray-500 dark:text-[#bfc2cd]",children:b(s)})]}),x.jsx(W0,{className:"h-4 w-4 text-gray-500 dark:text-[#bfc2cd]"})]})]})}const k_e=["#","*","`","[","]","(",")","{","}","|","<",">"],Gae=e=>k_e.some(t=>e.includes(t));function Rae(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=Gae(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 Ud(e){if(!e)return e;if(Rae(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),a=Gae(n),s=/[.,;:!?'"()-]/.test(n);if(!i&&!a&&!s)return""}return n})}function OD(e,t=5e4){return!e||e.length<=t?e:Rae(e)?"":e.substring(0,t)+`
|
|
952
952
|
|
|
953
|
-
... (content truncated due to length)`}const lt={maxFilesPerConversation:Di.maxFilesPerConversation,maxFileSizeMB:Di.maxFileSizeMB,maxTotalFiles:Di.maxTotalFiles,maxConversations:Di.maxConversations,maxMessagesPerConversation:Di.maxMessagesPerConversation,maxMessagesPerThread:Di.maxMessagesPerThread,maxTotalMessages:Di.maxTotalMessages,maxMessageLength:Di.maxMessageLength},S_e=[];function U_e({message:e,onRegenerate:t,onStartThread:r,onSendThreadMessage:n,threadMessages:A,sessionId:i,isThreadSendDisabled:a}){var je,_e;const[s,o]=y.useState(!1),[l,c]=y.useState(null),[u,g]=y.useState(""),[d,B]=y.useState(!1),[h,f]=y.useState(!1),p=y.useRef(((je=e.threadInfo)==null?void 0:je.thread_id)||null),w=y.useRef(null),E=y.useRef(null),C=y.useRef(""),m=e.role==="assistant",I=A??S_e,M=I.filter(Fe=>Fe.role==="assistant").length,b=I.filter(Fe=>!(Fe.role==="assistant"&&Fe.isStreaming)).length,k=I.some(Fe=>Fe.isStreaming),N="en-US",D=N_e(),z=lt.maxMessageLength,L=lt.maxMessagesPerThread,T=L!==null&&b>=L,v=T&&L!==null?`This thread reached the ${L} message limit. Start a new conversation for more follow-ups.`:null,{theme:H,isDark:J}=Of(),R=H.mode==="dark"?"dark":H.mode==="light"?"light":"",O=J?"dark":"light",U=y.useMemo(()=>["message-markdown w-full min-w-0","prose prose-slate dark:prose-invert max-w-none",R].filter(Boolean).join(" "),[R]),P=y.useMemo(()=>["message-markdown w-full min-w-0","prose prose-invert max-w-none",R].filter(Boolean).join(" "),[R]),ee=m?U:P,G=`${U} text-sm leading-6`,q=`${P} text-sm leading-6`;y.useEffect(()=>{var Fe,Ke;!p.current&&((Fe=e.threadInfo)!=null&&Fe.thread_id)&&B(!0),p.current=((Ke=e.threadInfo)==null?void 0:Ke.thread_id)||null},[(_e=e.threadInfo)==null?void 0:_e.thread_id]),y.useEffect(()=>{e.threadInfo||(g(""),B(!1),f(!1))},[e.threadInfo]),y.useEffect(()=>{M>0&&B(!0)},[M]),y.useEffect(()=>{if(!d||I.length===0)return;const Fe=I[I.length-1],Ke=(Fe==null?void 0:Fe.content)||"",Bt=Ke!==C.current;((Fe==null?void 0:Fe.isStreaming)||Bt)&&requestAnimationFrame(()=>{E.current&&(E.current.scrollTop=E.current.scrollHeight)}),C.current=Ke},[d,I]);const Ae=y.useMemo(()=>{const Fe=e.timestamp instanceof Date?e.timestamp:new Date(e.timestamp),Ke=Fe.toLocaleDateString(N,{weekday:"short"}),Bt=Fe.toLocaleDateString(N,{month:"short"}),ir=Fe.getDate().toString().padStart(2,"0"),en=Fe.getFullYear(),Sr=Fe.toLocaleTimeString(N,{hour:"2-digit",minute:"2-digit",hour12:!0});return`${Ke}, ${Bt} ${ir}, ${en} ${Sr}`},[e.timestamp,N]),ae=m?"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]",oe=`message-bubble min-w-0 break-words leading-relaxed ${m?"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`,ge=m?"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",te=async()=>{try{await navigator.clipboard.writeText(e.content),o(!0),setTimeout(()=>o(!1),2e3)}catch{}},he=Fe=>{c(l===Fe?null:Fe)},we=y.useCallback(Fe=>(Fe instanceof Date?Fe:new Date(Fe)).toLocaleTimeString(N,{hour:"2-digit",minute:"2-digit"}),[N]),Z=async()=>{if(!n||!e.threadInfo||T)return;const Fe=u.trim();if(Fe){f(!0);try{await n(e.threadInfo.thread_id,e.id,Fe),g(""),setTimeout(()=>{w.current&&w.current.focus()},100)}catch{setTimeout(()=>{w.current&&w.current.focus()},100)}finally{f(!1)}}},Ye=Fe=>{Fe.key==="Enter"&&!Fe.shiftKey&&(Fe.preventDefault(),Z())},be=!e.threadInfo||!n||a||k||h||T;y.useEffect(()=>{if(!d||be)return;const Fe=w.current;if(!Fe)return;const Ke=requestAnimationFrame(()=>{Fe.focus();const Bt=Fe.value.length;Fe.setSelectionRange(Bt,Bt)});return()=>cancelAnimationFrame(Ke)},[d,be,h]),y.useEffect(()=>{if(w.current){const Ke=w.current;Ke.style.height="auto";const Bt=Ke.scrollHeight;Ke.style.height=`${Math.min(Bt,120)}px`,Ke.style.overflowY=Bt>120?"auto":"hidden"}},[u]);const De=y.useMemo(()=>e.isStreaming&&(!e.content||e.content==="…")?x.jsx("div",{className:ee,children:x.jsxs("div",{className:"flex items-center gap-1.5 py-1",children:[x.jsx("span",{className:"inline-block h-2.5 w-2.5 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"0ms"}}),x.jsx("span",{className:"inline-block h-2.5 w-2.5 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"150ms"}}),x.jsx("span",{className:"inline-block h-2.5 w-2.5 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"300ms"}})]})}):x.jsx(JD,{content:OD(Ud(e.content||"")),className:ee,syntaxTheme:O}),[ee,e.content,e.isStreaming,O]),ke=y.useMemo(()=>[...I].sort((Ke,Bt)=>{const ir=Ke.timestamp instanceof Date?Ke.timestamp.getTime():new Date(Ke.timestamp).getTime(),en=Bt.timestamp instanceof Date?Bt.timestamp.getTime():new Date(Bt.timestamp).getTime();return ir-en}).map(Ke=>{const Bt=Ke.role==="assistant",ir=Bt?G:q,en=Ke.isStreaming&&(!Ke.content||Ke.content==="…")?x.jsx("div",{className:ir,children:x.jsxs("div",{className:"flex items-center gap-1.5 py-1",children:[x.jsx("span",{className:"inline-block h-2 w-2 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"0ms"}}),x.jsx("span",{className:"inline-block h-2 w-2 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"150ms"}}),x.jsx("span",{className:"inline-block h-2 w-2 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"300ms"}})]})}):x.jsx(JD,{content:OD(Ud(Ke.content||"")),className:ir,syntaxTheme:O});return x.jsxs("div",{className:"flex items-start gap-3",children:[x.jsx("div",{className:`mt-0.5 flex h-7 w-7 flex-shrink-0 items-center justify-center rounded-full ${Bt?"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:Bt?x.jsx(WG,{className:"h-3.5 w-3.5"}):x.jsx(PG,{className:"h-3.5 w-3.5"})}),x.jsxs("div",{className:"flex-1 min-w-0 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 overflow-hidden",children:[x.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:[x.jsx("span",{children:Bt?"Assistant":"You"}),x.jsx("span",{children:we(Ke.timestamp)})]}),x.jsx("div",{className:"thread-markdown-wrapper overflow-x-auto",children:en})]})]},Ke.id)}),[we,O,G,I,q]);return x.jsxs("div",{className:"group flex items-start gap-3 px-1 animate-fadeIn min-w-0 sm:px-0",children:[x.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 ${ae}`,children:m?x.jsx(WG,{className:"h-5 w-5"}):x.jsx(PG,{className:"h-5 w-5"})}),x.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[x.jsxs("div",{className:"flex flex-col gap-1.5 mb-1",children:[x.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-gray-700 dark:text-[#ececf1]",children:m?"Assistant":"You"}),x.jsx("span",{className:"text-xs text-gray-500 dark:text-[#bfc2cd]",children:Ae})]}),x.jsxs("div",{className:oe,children:[De,e.attachments&&e.attachments.length>0&&x.jsx("div",{className:"mt-3 space-y-2",children:e.attachments.map(Fe=>x.jsxs("div",{className:`flex items-center gap-3 rounded-xl border p-3 ${ge}`,children:[x.jsx(Fle,{className:"h-4 w-4 text-gray-500 dark:text-[#bfc2cd]"}),x.jsxs("div",{className:"min-w-0 flex-1",children:[x.jsx("p",{className:"truncate text-sm font-medium text-[#353740] dark:text-[#ececf1]",children:Fe.filename}),x.jsxs("p",{className:"text-xs text-gray-500 dark:text-[#bfc2cd]",children:[(Fe.file_size/1024).toFixed(1)," KB"]})]})]},Fe.file_id))}),e.audio&&m&&!e.isStreaming&&x.jsx(D_e,{audio:e.audio,audioFormat:e.audioFormat,autoPlay:!1})]}),m&&!e.isStreaming&&x.jsxs("div",{className:"flex items-center gap-1 md:gap-2 text-xs text-gray-500 transition-opacity dark:text-[#bfc2cd] sm:opacity-0 sm:group-hover:opacity-100",children:[x.jsxs("button",{onClick:te,className:"inline-flex items-center gap-1 rounded px-2 py-1 hover:bg-gray-200 dark:hover:bg-[#3c3f4a]",title:"Copy message",children:[x.jsx(Cle,{className:"h-4 w-4"}),x.jsx("span",{className:"hidden sm:inline",children:"Copy"})]}),t&&x.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:[x.jsx(zle,{className:"h-4 w-4"}),x.jsx("span",{className:"hidden sm:inline",children:"Retry"})]}),D&&r&&e.supportsThreading&&!e.threadInfo&&i&&x.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:[x.jsx(O0,{className:"h-4 w-4"}),x.jsx("span",{className:"hidden sm:inline",children:"Start Thread"})]}),Y_e()&&x.jsxs("div",{className:"flex items-center gap-1",children:[x.jsx("button",{onClick:()=>he("up"),className:`rounded p-1 hover:bg-gray-200 dark:hover:bg-[#3c3f4a] ${l==="up"?"text-[#353740] dark:text-[#ececf1]":""}`,title:"Good response",children:x.jsx(Jle,{className:"h-4 w-4"})}),x.jsx("button",{onClick:()=>he("down"),className:`rounded p-1 hover:bg-gray-200 dark:hover:bg-[#3c3f4a] ${l==="down"?"text-[#353740] dark:text-[#ececf1]":""}`,title:"Poor response",children:x.jsx(Hle,{className:"h-4 w-4"})})]}),s&&x.jsx("span",{children:"Copied"})]}),D&&e.threadInfo&&x.jsxs("div",{className:"thread-panel mt-4 rounded-xl border border-blue-100/80 bg-blue-50/70 p-3 sm:p-4 text-sm shadow-sm ring-1 ring-blue-100/60 dark:border-[#1f2a36] dark:bg-[#0f1821] dark:ring-[#1f2a36]",children:[x.jsxs("div",{className:"flex items-center justify-between gap-2 text-sm font-semibold text-blue-900 dark:text-[#c5d7ff]",children:[x.jsxs("div",{className:"inline-flex items-center gap-2 uppercase tracking-wide text-xs sm:text-sm",children:[x.jsx(O0,{className:"h-3.5 w-3.5"}),x.jsxs("span",{children:["Thread",M>0?` (${M})`:""]})]}),x.jsx("button",{onClick:()=>B(Fe=>!Fe),className:"inline-flex items-center gap-1.5 sm:gap-2 rounded-full border border-blue-200/80 px-2.5 sm: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:d?x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"hidden sm:inline",children:"Hide"}),x.jsx(yle,{className:"h-4 w-4 sm:h-3 sm:w-3"})]}):x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"hidden sm:inline",children:"Show"}),x.jsx(R6,{className:"h-4 w-4 sm:h-3 sm:w-3"})]})})]}),d&&x.jsxs(x.Fragment,{children:[x.jsx("div",{ref:E,className:"mt-3 space-y-3 max-h-96 overflow-y-auto scroll-smooth",style:{scrollBehavior:"auto"},children:ke}),v&&x.jsx("div",{className:"mt-3 rounded-md border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900 dark:border-amber-500/30 dark:bg-[#2f2410] dark:text-amber-100",children:v}),x.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:x.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center gap-2 sm:gap-3",children:[x.jsx("textarea",{ref:w,className:"flex-1 w-full sm:w-auto min-w-0 resize-none rounded-lg border border-gray-200 bg-gray-50 px-3 py-2.5 text-base sm:text-sm text-[#353740] placeholder-gray-500 outline-none transition focus:border-gray-400 focus:ring-1 focus:ring-gray-300 disabled:opacity-60 dark:border-[#3c3f4a] dark:bg-[#2d2f39] dark:text-[#ececf1] dark:placeholder-[#8e8ea0] dark:focus:border-[#8e8ea0] dark:focus:ring-[#8e8ea0]",placeholder:M>0?"Reply in thread...":"Ask a follow-up...",value:u,onChange:Fe=>g(Fe.target.value),onKeyDown:Ye,disabled:be,rows:1,maxLength:z,style:{minHeight:"44px",maxHeight:"120px",outline:"none",boxShadow:"none",WebkitAppearance:"none",MozAppearance:"none",appearance:"none"}}),x.jsxs("div",{className:"flex items-center justify-between sm:justify-end gap-2",children:[u.length>0&&x.jsx("div",{className:"text-xs text-gray-500 dark:text-[#bfc2cd] whitespace-nowrap",children:x.jsxs("span",{className:u.length>=z?"text-red-600 font-semibold":"",children:[u.length,"/",z]})}),x.jsx("button",{type:"button",onClick:Z,disabled:be||u.trim().length===0,className:`flex h-11 w-11 sm:h-9 sm:w-9 items-center justify-center rounded-full transition active:scale-95 ${u.trim().length>0&&!be?"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:h?x.jsx(qc,{className:"h-5 w-5 sm:h-4 sm:w-4 animate-spin"}):x.jsx(G6,{className:"h-5 w-5 sm:h-4 sm:w-4"})})]})]})})]})]})]})]})}function v_e(e=800,t=100,r="sine"){try{if(typeof window>"u"){fe("[SoundEffects] Window is not available for audio playback");return}const n=window.AudioContext??window.webkitAudioContext;if(!n){fe("[SoundEffects] AudioContext not supported in this browser");return}const A=new n,i=A.createOscillator(),a=A.createGain();i.connect(a),a.connect(A.destination),i.frequency.value=e,i.type=r,a.gain.setValueAtTime(.3,A.currentTime),a.gain.exponentialRampToValueAtTime(.01,A.currentTime+t/1e3),i.start(A.currentTime),i.stop(A.currentTime+t/1e3)}catch{}}const G_e={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 ld(e,t){if(!t)return;const r=G_e[e];if(r)try{v_e(r.frequency,r.duration,r.type),fe(`[SoundEffects] Playing ${e} sound effect`)}catch{}}function R_e({messages:e,onRegenerate:t,onStartThread:r,onSendThreadMessage:n,sessionId:A,isLoading:i}){const a=y.useRef(null),s=y.useRef(null),o=y.useRef(e.length),l=y.useRef(""),c=y.useRef(i),u=y.useRef(!0),{settings:g}=Wf(),{topLevelMessages:d,threadLookup:B}=y.useMemo(()=>{const p=new Map,w=[];return e.forEach(E=>{if(E.isThreadMessage&&E.parentMessageId){const C=p.get(E.parentMessageId)||[];p.set(E.parentMessageId,[...C,E]);return}w.push(E)}),{topLevelMessages:w,threadLookup:p}},[e]),h=()=>{if(!s.current)return;const{scrollTop:p,scrollHeight:w,clientHeight:E}=s.current,m=w-p-E<200;u.current=m},f=y.useCallback(()=>{requestAnimationFrame(()=>{s.current&&(s.current.scrollTop=s.current.scrollHeight)})},[]);return y.useEffect(()=>{const p=e.length,w=o.current,E=p>w,C=e[e.length-1],m=(C==null?void 0:C.content)||"",I=m!==l.current,M=(C==null?void 0:C.isStreaming)??!1;E||M&&I?(f(),u.current=!0):u.current&&I&&f(),o.current=p,l.current=m},[e,f]),y.useEffect(()=>{i&&(f(),u.current=!0)},[i,f]),y.useEffect(()=>{if(c.current&&!i){const p=e[e.length-1];(p==null?void 0:p.role)==="assistant"&&p.content&&ld("messageReceived",g.soundEnabled)}c.current=i},[i,e,g.soundEnabled]),d.length===0?x.jsx("div",{className:"flex-1 flex items-center justify-center px-4 sm:px-6",children:x.jsxs("div",{className:"text-center text-lg text-gray-500 dark:text-[#bfc2cd]",children:[x.jsx("p",{className:"text-xl",children:"Your messages will appear here."}),x.jsx("p",{className:"mt-1 text-lg",children:"Start the conversation by sending a prompt below."})]})}):x.jsx("div",{ref:s,className:"message-list flex-1 overflow-y-auto py-6",onScroll:h,children:x.jsxs("div",{className:"space-y-6 px-3 sm:px-4",children:[d.map(p=>x.jsx(U_e,{message:p,onRegenerate:t,onStartThread:r,onSendThreadMessage:n,threadMessages:B.get(p.id),sessionId:A,isThreadSendDisabled:i},p.id)),x.jsx("div",{ref:a,className:"h-8"})]})})}const j_e=2e3;function z_e(e,t){const[r,n]=y.useState(!1),[A,i]=y.useState(null),a=y.useRef(null),s=y.useRef(""),o=y.useRef(!1),l=y.useRef(null),c=y.useCallback(()=>{if(!s.current)return;const p=s.current;s.current="",e(" "+p)},[e]),u=typeof window<"u"&&("webkitSpeechRecognition"in window||"SpeechRecognition"in window),g=y.useCallback(()=>{!t||o.current||(o.current=!0,t())},[t]),d=y.useCallback(()=>{l.current!==null&&(clearTimeout(l.current),l.current=null)},[]),B=y.useCallback(()=>{d(),l.current=setTimeout(()=>{a.current?a.current.stop():g()},j_e)},[d,g]),h=y.useCallback(()=>{if(!u){i("Speech recognition is not supported in this browser. Please try Chrome, Edge, or Safari.");return}if(!r)try{o.current=!1;const p=window.SpeechRecognition||window.webkitSpeechRecognition,w=new p;w.continuous=!0,w.interimResults=!0,w.lang=navigator.language||"en-US",w.maxAlternatives=1,w.onstart=()=>{n(!0),i(null),fe("Speech recognition started"),B()},w.onresult=E=>{let C="",m="";for(let I=E.resultIndex;I<E.results.length;I++){const M=E.results[I][0].transcript;E.results[I].isFinal?C+=M:m+=M}m&&(s.current=m),C&&(s.current="",e(" "+C)),B()},w.onend=()=>{d(),c(),n(!1),a.current=null,fe("Speech recognition ended"),g()},w.onerror=E=>{switch(d(),Su("Speech recognition error:",E.error),n(!1),a.current=null,s.current="",g(),E.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: ${E.error}`)}},w.start(),a.current=w}catch{i("Failed to start speech recognition. Please try again."),n(!1)}},[u,e,r,c,g,B,d]),f=y.useCallback(()=>{if(a.current){const p=a.current;p.onend=null,p.onerror=null,p.onresult=null,p.onstart=null;try{p.stop()}catch{}a.current=null}d(),c(),n(!1),i(null),g()},[d,c,g]);return{isListening:r,isSupported:u,startListening:h,stopListening:f,error:A}}const T_e="2.5.5",L_e={"@schmitech/chatbot-api":"^2.1.3"},jae={version:T_e,dependencies:L_e},zae=jae.version,lV=jae.dependencies["@schmitech/chatbot-api"];async function WD(){try{return(await Yt(()=>import("./api-GHsmF4Sa.js"),[])).version||lV}catch{return lV}}async function Tae(){const e=await WD();return{appVersion:zae,apiVersion:e,isLocalApi:!1}}let Ha=null;function Wg(){let e=null,t=null;const r=(A,i,a,s)=>{e=a||null,t=s||null},n=()=>{if(!t)throw new Error("Adapter name is required when middleware is enabled");return{async*streamChat(A,i,a,s,o,l,c,u,g,d,B){var p,w;const h={messages:[{role:"user",content:A}],stream:i!==!1};a&&a.length>0&&(h.file_ids=a),s&&(h.thread_id=s),o&&(h.audio_input=o),l&&(h.audio_format=l),c&&(h.language=c),u!==void 0&&(h.return_audio=u),g&&(h.tts_voice=g),d&&(h.source_language=d),B&&(h.target_language=B);const f=await fetch("/api/v1/chat",{method:"POST",headers:{"Content-Type":"application/json","X-Adapter-Name":t,...e?{"X-Session-ID":e}:{}},body:JSON.stringify(h)});if(!f.ok)throw new Error(`API request failed: ${f.status} ${f.statusText}`);if((p=f.headers.get("content-type"))!=null&&p.includes("text/event-stream")){const E=(w=f.body)==null?void 0:w.getReader(),C=new TextDecoder;let m="";if(!E)throw new Error("Response body is not readable");for(;;){const{done:I,value:M}=await E.read();if(I)break;m+=C.decode(M,{stream:!0});const b=m.split(`
|
|
953
|
+
... (content truncated due to length)`}const lt={maxFilesPerConversation:Di.maxFilesPerConversation,maxFileSizeMB:Di.maxFileSizeMB,maxTotalFiles:Di.maxTotalFiles,maxConversations:Di.maxConversations,maxMessagesPerConversation:Di.maxMessagesPerConversation,maxMessagesPerThread:Di.maxMessagesPerThread,maxTotalMessages:Di.maxTotalMessages,maxMessageLength:Di.maxMessageLength},S_e=[];function U_e({message:e,onRegenerate:t,onStartThread:r,onSendThreadMessage:n,threadMessages:A,sessionId:i,isThreadSendDisabled:a}){var je,_e;const[s,o]=y.useState(!1),[l,c]=y.useState(null),[u,g]=y.useState(""),[d,B]=y.useState(!1),[h,f]=y.useState(!1),p=y.useRef(((je=e.threadInfo)==null?void 0:je.thread_id)||null),w=y.useRef(null),E=y.useRef(null),C=y.useRef(""),m=e.role==="assistant",I=A??S_e,M=I.filter(Fe=>Fe.role==="assistant").length,b=I.filter(Fe=>!(Fe.role==="assistant"&&Fe.isStreaming)).length,k=I.some(Fe=>Fe.isStreaming),N="en-US",D=N_e(),z=lt.maxMessageLength,L=lt.maxMessagesPerThread,T=L!==null&&b>=L,v=T&&L!==null?`This thread reached the ${L} message limit. Start a new conversation for more follow-ups.`:null,{theme:H,isDark:J}=Of(),R=H.mode==="dark"?"dark":H.mode==="light"?"light":"",O=J?"dark":"light",U=y.useMemo(()=>["message-markdown w-full min-w-0","prose prose-slate dark:prose-invert max-w-none",R].filter(Boolean).join(" "),[R]),P=y.useMemo(()=>["message-markdown w-full min-w-0","prose prose-invert max-w-none",R].filter(Boolean).join(" "),[R]),ee=m?U:P,G=`${U} text-sm leading-6`,q=`${P} text-sm leading-6`;y.useEffect(()=>{var Fe,Ke;!p.current&&((Fe=e.threadInfo)!=null&&Fe.thread_id)&&B(!0),p.current=((Ke=e.threadInfo)==null?void 0:Ke.thread_id)||null},[(_e=e.threadInfo)==null?void 0:_e.thread_id]),y.useEffect(()=>{e.threadInfo||(g(""),B(!1),f(!1))},[e.threadInfo]),y.useEffect(()=>{M>0&&B(!0)},[M]),y.useEffect(()=>{if(!d||I.length===0)return;const Fe=I[I.length-1],Ke=(Fe==null?void 0:Fe.content)||"",Bt=Ke!==C.current;((Fe==null?void 0:Fe.isStreaming)||Bt)&&requestAnimationFrame(()=>{E.current&&(E.current.scrollTop=E.current.scrollHeight)}),C.current=Ke},[d,I]);const Ae=y.useMemo(()=>{const Fe=e.timestamp instanceof Date?e.timestamp:new Date(e.timestamp),Ke=Fe.toLocaleDateString(N,{weekday:"short"}),Bt=Fe.toLocaleDateString(N,{month:"short"}),ir=Fe.getDate().toString().padStart(2,"0"),en=Fe.getFullYear(),Sr=Fe.toLocaleTimeString(N,{hour:"2-digit",minute:"2-digit",hour12:!0});return`${Ke}, ${Bt} ${ir}, ${en} ${Sr}`},[e.timestamp,N]),ae=m?"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]",oe=`message-bubble min-w-0 break-words leading-relaxed ${m?"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`,ge=m?"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",te=async()=>{try{await navigator.clipboard.writeText(e.content),o(!0),setTimeout(()=>o(!1),2e3)}catch{}},he=Fe=>{c(l===Fe?null:Fe)},we=y.useCallback(Fe=>(Fe instanceof Date?Fe:new Date(Fe)).toLocaleTimeString(N,{hour:"2-digit",minute:"2-digit"}),[N]),Z=async()=>{if(!n||!e.threadInfo||T)return;const Fe=u.trim();if(Fe){f(!0);try{await n(e.threadInfo.thread_id,e.id,Fe),g(""),setTimeout(()=>{w.current&&w.current.focus()},100)}catch{setTimeout(()=>{w.current&&w.current.focus()},100)}finally{f(!1)}}},Ye=Fe=>{Fe.key==="Enter"&&!Fe.shiftKey&&(Fe.preventDefault(),Z())},be=!e.threadInfo||!n||a||k||h||T;y.useEffect(()=>{if(!d||be)return;const Fe=w.current;if(!Fe)return;const Ke=requestAnimationFrame(()=>{Fe.focus();const Bt=Fe.value.length;Fe.setSelectionRange(Bt,Bt)});return()=>cancelAnimationFrame(Ke)},[d,be,h]),y.useEffect(()=>{if(w.current){const Ke=w.current;Ke.style.height="auto";const Bt=Ke.scrollHeight;Ke.style.height=`${Math.min(Bt,120)}px`,Ke.style.overflowY=Bt>120?"auto":"hidden"}},[u]);const De=y.useMemo(()=>e.isStreaming&&(!e.content||e.content==="…")?x.jsx("div",{className:ee,children:x.jsxs("div",{className:"flex items-center gap-1.5 py-1",children:[x.jsx("span",{className:"inline-block h-2.5 w-2.5 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"0ms"}}),x.jsx("span",{className:"inline-block h-2.5 w-2.5 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"150ms"}}),x.jsx("span",{className:"inline-block h-2.5 w-2.5 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"300ms"}})]})}):x.jsx(JD,{content:OD(Ud(e.content||"")),className:ee,syntaxTheme:O}),[ee,e.content,e.isStreaming,O]),ke=y.useMemo(()=>[...I].sort((Ke,Bt)=>{const ir=Ke.timestamp instanceof Date?Ke.timestamp.getTime():new Date(Ke.timestamp).getTime(),en=Bt.timestamp instanceof Date?Bt.timestamp.getTime():new Date(Bt.timestamp).getTime();return ir-en}).map(Ke=>{const Bt=Ke.role==="assistant",ir=Bt?G:q,en=Ke.isStreaming&&(!Ke.content||Ke.content==="…")?x.jsx("div",{className:ir,children:x.jsxs("div",{className:"flex items-center gap-1.5 py-1",children:[x.jsx("span",{className:"inline-block h-2 w-2 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"0ms"}}),x.jsx("span",{className:"inline-block h-2 w-2 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"150ms"}}),x.jsx("span",{className:"inline-block h-2 w-2 animate-bounce rounded-full bg-gray-400 dark:bg-[#bfc2cd]",style:{animationDelay:"300ms"}})]})}):x.jsx(JD,{content:OD(Ud(Ke.content||"")),className:ir,syntaxTheme:O});return x.jsxs("div",{className:"flex items-start gap-3",children:[x.jsx("div",{className:`mt-0.5 flex h-7 w-7 flex-shrink-0 items-center justify-center rounded-full ${Bt?"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:Bt?x.jsx(WG,{className:"h-3.5 w-3.5"}):x.jsx(PG,{className:"h-3.5 w-3.5"})}),x.jsxs("div",{className:"flex-1 min-w-0 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 overflow-hidden",children:[x.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:[x.jsx("span",{children:Bt?"Assistant":"You"}),x.jsx("span",{children:we(Ke.timestamp)})]}),x.jsx("div",{className:"thread-markdown-wrapper overflow-x-auto",children:en})]})]},Ke.id)}),[we,O,G,I,q]);return x.jsxs("div",{className:"group flex items-start gap-3 px-1 animate-fadeIn min-w-0 sm:px-0",children:[x.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 ${ae}`,children:m?x.jsx(WG,{className:"h-5 w-5"}):x.jsx(PG,{className:"h-5 w-5"})}),x.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[x.jsxs("div",{className:"flex flex-col gap-1.5 mb-1",children:[x.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-gray-700 dark:text-[#ececf1]",children:m?"Assistant":"You"}),x.jsx("span",{className:"text-xs text-gray-500 dark:text-[#bfc2cd]",children:Ae})]}),x.jsxs("div",{className:oe,children:[De,e.attachments&&e.attachments.length>0&&x.jsx("div",{className:"mt-3 space-y-2",children:e.attachments.map(Fe=>x.jsxs("div",{className:`flex items-center gap-3 rounded-xl border p-3 ${ge}`,children:[x.jsx(Fle,{className:"h-4 w-4 text-gray-500 dark:text-[#bfc2cd]"}),x.jsxs("div",{className:"min-w-0 flex-1",children:[x.jsx("p",{className:"truncate text-sm font-medium text-[#353740] dark:text-[#ececf1]",children:Fe.filename}),x.jsxs("p",{className:"text-xs text-gray-500 dark:text-[#bfc2cd]",children:[(Fe.file_size/1024).toFixed(1)," KB"]})]})]},Fe.file_id))}),e.audio&&m&&!e.isStreaming&&x.jsx(D_e,{audio:e.audio,audioFormat:e.audioFormat,autoPlay:!1})]}),m&&!e.isStreaming&&x.jsxs("div",{className:"flex items-center gap-1 md:gap-2 text-xs text-gray-500 transition-opacity dark:text-[#bfc2cd] sm:opacity-0 sm:group-hover:opacity-100",children:[x.jsxs("button",{onClick:te,className:"inline-flex items-center gap-1 rounded px-2 py-1 hover:bg-gray-200 dark:hover:bg-[#3c3f4a]",title:"Copy message",children:[x.jsx(Cle,{className:"h-4 w-4"}),x.jsx("span",{className:"hidden sm:inline",children:"Copy"})]}),t&&x.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:[x.jsx(zle,{className:"h-4 w-4"}),x.jsx("span",{className:"hidden sm:inline",children:"Retry"})]}),D&&r&&e.supportsThreading&&!e.threadInfo&&i&&x.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:[x.jsx(O0,{className:"h-4 w-4"}),x.jsx("span",{className:"hidden sm:inline",children:"Start Thread"})]}),Y_e()&&x.jsxs("div",{className:"flex items-center gap-1",children:[x.jsx("button",{onClick:()=>he("up"),className:`rounded p-1 hover:bg-gray-200 dark:hover:bg-[#3c3f4a] ${l==="up"?"text-[#353740] dark:text-[#ececf1]":""}`,title:"Good response",children:x.jsx(Jle,{className:"h-4 w-4"})}),x.jsx("button",{onClick:()=>he("down"),className:`rounded p-1 hover:bg-gray-200 dark:hover:bg-[#3c3f4a] ${l==="down"?"text-[#353740] dark:text-[#ececf1]":""}`,title:"Poor response",children:x.jsx(Hle,{className:"h-4 w-4"})})]}),s&&x.jsx("span",{children:"Copied"})]}),D&&e.threadInfo&&x.jsxs("div",{className:"thread-panel mt-4 rounded-xl border border-blue-100/80 bg-blue-50/70 p-3 sm:p-4 text-sm shadow-sm ring-1 ring-blue-100/60 dark:border-[#1f2a36] dark:bg-[#0f1821] dark:ring-[#1f2a36]",children:[x.jsxs("div",{className:"flex items-center justify-between gap-2 text-sm font-semibold text-blue-900 dark:text-[#c5d7ff]",children:[x.jsxs("div",{className:"inline-flex items-center gap-2 uppercase tracking-wide text-xs sm:text-sm",children:[x.jsx(O0,{className:"h-3.5 w-3.5"}),x.jsxs("span",{children:["Thread",M>0?` (${M})`:""]})]}),x.jsx("button",{onClick:()=>B(Fe=>!Fe),className:"inline-flex items-center gap-1.5 sm:gap-2 rounded-full border border-blue-200/80 px-2.5 sm: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:d?x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"hidden sm:inline",children:"Hide"}),x.jsx(yle,{className:"h-4 w-4 sm:h-3 sm:w-3"})]}):x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"hidden sm:inline",children:"Show"}),x.jsx(R6,{className:"h-4 w-4 sm:h-3 sm:w-3"})]})})]}),d&&x.jsxs(x.Fragment,{children:[x.jsx("div",{ref:E,className:"mt-3 space-y-3 max-h-96 overflow-y-auto scroll-smooth",style:{scrollBehavior:"auto"},children:ke}),v&&x.jsx("div",{className:"mt-3 rounded-md border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900 dark:border-amber-500/30 dark:bg-[#2f2410] dark:text-amber-100",children:v}),x.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:x.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center gap-2 sm:gap-3",children:[x.jsx("textarea",{ref:w,className:"flex-1 w-full sm:w-auto min-w-0 resize-none rounded-lg border border-gray-200 bg-gray-50 px-3 py-2.5 text-base sm:text-sm text-[#353740] placeholder-gray-500 outline-none transition focus:border-gray-400 focus:ring-1 focus:ring-gray-300 disabled:opacity-60 dark:border-[#3c3f4a] dark:bg-[#2d2f39] dark:text-[#ececf1] dark:placeholder-[#8e8ea0] dark:focus:border-[#8e8ea0] dark:focus:ring-[#8e8ea0]",placeholder:M>0?"Reply in thread...":"Ask a follow-up...",value:u,onChange:Fe=>g(Fe.target.value),onKeyDown:Ye,disabled:be,rows:1,maxLength:z,style:{minHeight:"44px",maxHeight:"120px",outline:"none",boxShadow:"none",WebkitAppearance:"none",MozAppearance:"none",appearance:"none"}}),x.jsxs("div",{className:"flex items-center justify-between sm:justify-end gap-2",children:[u.length>0&&x.jsx("div",{className:"text-xs text-gray-500 dark:text-[#bfc2cd] whitespace-nowrap",children:x.jsxs("span",{className:u.length>=z?"text-red-600 font-semibold":"",children:[u.length,"/",z]})}),x.jsx("button",{type:"button",onClick:Z,disabled:be||u.trim().length===0,className:`flex h-11 w-11 sm:h-9 sm:w-9 items-center justify-center rounded-full transition active:scale-95 ${u.trim().length>0&&!be?"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:h?x.jsx(qc,{className:"h-5 w-5 sm:h-4 sm:w-4 animate-spin"}):x.jsx(G6,{className:"h-5 w-5 sm:h-4 sm:w-4"})})]})]})})]})]})]})]})}function v_e(e=800,t=100,r="sine"){try{if(typeof window>"u"){fe("[SoundEffects] Window is not available for audio playback");return}const n=window.AudioContext??window.webkitAudioContext;if(!n){fe("[SoundEffects] AudioContext not supported in this browser");return}const A=new n,i=A.createOscillator(),a=A.createGain();i.connect(a),a.connect(A.destination),i.frequency.value=e,i.type=r,a.gain.setValueAtTime(.3,A.currentTime),a.gain.exponentialRampToValueAtTime(.01,A.currentTime+t/1e3),i.start(A.currentTime),i.stop(A.currentTime+t/1e3)}catch{}}const G_e={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 ld(e,t){if(!t)return;const r=G_e[e];if(r)try{v_e(r.frequency,r.duration,r.type),fe(`[SoundEffects] Playing ${e} sound effect`)}catch{}}function R_e({messages:e,onRegenerate:t,onStartThread:r,onSendThreadMessage:n,sessionId:A,isLoading:i}){const a=y.useRef(null),s=y.useRef(null),o=y.useRef(e.length),l=y.useRef(""),c=y.useRef(i),u=y.useRef(!0),{settings:g}=Wf(),{topLevelMessages:d,threadLookup:B}=y.useMemo(()=>{const p=new Map,w=[];return e.forEach(E=>{if(E.isThreadMessage&&E.parentMessageId){const C=p.get(E.parentMessageId)||[];p.set(E.parentMessageId,[...C,E]);return}w.push(E)}),{topLevelMessages:w,threadLookup:p}},[e]),h=()=>{if(!s.current)return;const{scrollTop:p,scrollHeight:w,clientHeight:E}=s.current,m=w-p-E<200;u.current=m},f=y.useCallback(()=>{requestAnimationFrame(()=>{s.current&&(s.current.scrollTop=s.current.scrollHeight)})},[]);return y.useEffect(()=>{const p=e.length,w=o.current,E=p>w,C=e[e.length-1],m=(C==null?void 0:C.content)||"",I=m!==l.current,M=(C==null?void 0:C.isStreaming)??!1;E||M&&I?(f(),u.current=!0):u.current&&I&&f(),o.current=p,l.current=m},[e,f]),y.useEffect(()=>{i&&(f(),u.current=!0)},[i,f]),y.useEffect(()=>{if(c.current&&!i){const p=e[e.length-1];(p==null?void 0:p.role)==="assistant"&&p.content&&ld("messageReceived",g.soundEnabled)}c.current=i},[i,e,g.soundEnabled]),d.length===0?x.jsx("div",{className:"flex-1 flex items-center justify-center px-4 sm:px-6",children:x.jsxs("div",{className:"text-center text-lg text-gray-500 dark:text-[#bfc2cd]",children:[x.jsx("p",{className:"text-xl",children:"Your messages will appear here."}),x.jsx("p",{className:"mt-1 text-lg",children:"Start the conversation by sending a prompt below."})]})}):x.jsx("div",{ref:s,className:"message-list flex-1 overflow-y-auto py-6",onScroll:h,children:x.jsxs("div",{className:"space-y-6 px-3 sm:px-4",children:[d.map(p=>x.jsx(U_e,{message:p,onRegenerate:t,onStartThread:r,onSendThreadMessage:n,threadMessages:B.get(p.id),sessionId:A,isThreadSendDisabled:i},p.id)),x.jsx("div",{ref:a,className:"h-8"})]})})}const j_e=2e3;function z_e(e,t){const[r,n]=y.useState(!1),[A,i]=y.useState(null),a=y.useRef(null),s=y.useRef(""),o=y.useRef(!1),l=y.useRef(null),c=y.useCallback(()=>{if(!s.current)return;const p=s.current;s.current="",e(" "+p)},[e]),u=typeof window<"u"&&("webkitSpeechRecognition"in window||"SpeechRecognition"in window),g=y.useCallback(()=>{!t||o.current||(o.current=!0,t())},[t]),d=y.useCallback(()=>{l.current!==null&&(clearTimeout(l.current),l.current=null)},[]),B=y.useCallback(()=>{d(),l.current=setTimeout(()=>{a.current?a.current.stop():g()},j_e)},[d,g]),h=y.useCallback(()=>{if(!u){i("Speech recognition is not supported in this browser. Please try Chrome, Edge, or Safari.");return}if(!r)try{o.current=!1;const p=window.SpeechRecognition||window.webkitSpeechRecognition,w=new p;w.continuous=!0,w.interimResults=!0,w.lang=navigator.language||"en-US",w.maxAlternatives=1,w.onstart=()=>{n(!0),i(null),fe("Speech recognition started"),B()},w.onresult=E=>{let C="",m="";for(let I=E.resultIndex;I<E.results.length;I++){const M=E.results[I][0].transcript;E.results[I].isFinal?C+=M:m+=M}m&&(s.current=m),C&&(s.current="",e(" "+C)),B()},w.onend=()=>{d(),c(),n(!1),a.current=null,fe("Speech recognition ended"),g()},w.onerror=E=>{switch(d(),Su("Speech recognition error:",E.error),n(!1),a.current=null,s.current="",g(),E.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: ${E.error}`)}},w.start(),a.current=w}catch{i("Failed to start speech recognition. Please try again."),n(!1)}},[u,e,r,c,g,B,d]),f=y.useCallback(()=>{if(a.current){const p=a.current;p.onend=null,p.onerror=null,p.onresult=null,p.onstart=null;try{p.stop()}catch{}a.current=null}d(),c(),n(!1),i(null),g()},[d,c,g]);return{isListening:r,isSupported:u,startListening:h,stopListening:f,error:A}}const T_e="2.5.6",L_e={"@schmitech/chatbot-api":"^2.1.3"},jae={version:T_e,dependencies:L_e},zae=jae.version,lV=jae.dependencies["@schmitech/chatbot-api"];async function WD(){try{return(await Yt(()=>import("./api-CD9Nzq0O.js"),[])).version||lV}catch{return lV}}async function Tae(){const e=await WD();return{appVersion:zae,apiVersion:e,isLocalApi:!1}}let Ha=null;function Wg(){let e=null,t=null;const r=(A,i,a,s)=>{e=a||null,t=s||null},n=()=>{if(!t)throw new Error("Adapter name is required when middleware is enabled");return{async*streamChat(A,i,a,s,o,l,c,u,g,d,B){var p,w;const h={messages:[{role:"user",content:A}],stream:i!==!1};a&&a.length>0&&(h.file_ids=a),s&&(h.thread_id=s),o&&(h.audio_input=o),l&&(h.audio_format=l),c&&(h.language=c),u!==void 0&&(h.return_audio=u),g&&(h.tts_voice=g),d&&(h.source_language=d),B&&(h.target_language=B);const f=await fetch("/api/v1/chat",{method:"POST",headers:{"Content-Type":"application/json","X-Adapter-Name":t,...e?{"X-Session-ID":e}:{}},body:JSON.stringify(h)});if(!f.ok)throw new Error(`API request failed: ${f.status} ${f.statusText}`);if((p=f.headers.get("content-type"))!=null&&p.includes("text/event-stream")){const E=(w=f.body)==null?void 0:w.getReader(),C=new TextDecoder;let m="";if(!E)throw new Error("Response body is not readable");for(;;){const{done:I,value:M}=await E.read();if(I)break;m+=C.decode(M,{stream:!0});const b=m.split(`
|
|
954
954
|
`);m=b.pop()||"";for(const k of b)if(k.startsWith("data: "))try{const N=JSON.parse(k.substring(6));yield{text:N.text||N.content||N.message||N.response||"",done:N.done||!1,audio:N.audio,audioFormat:N.audio_format||N.audioFormat,audio_chunk:N.audio_chunk,chunk_index:N.chunk_index,threading:N.threading}}catch{}}if(m.trim()){const I=m.split(`
|
|
955
|
-
`);for(const M of I)if(M.startsWith("data: "))try{const b=JSON.parse(M.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 E=await f.json();yield{text:E.message||E.response||"",done:!0}}},async createThread(A,i){const a=await fetch("/api/threads",{method:"POST",headers:{"Content-Type":"application/json","X-Adapter-Name":t,"X-Session-ID":i},body:JSON.stringify({message_id:A,session_id:i})});if(!a.ok)throw new Error(`Failed to create thread: ${a.statusText}`);return a.json()},async getThreadInfo(A){const i=await fetch(`/api/threads/${A}`,{headers:{"X-Adapter-Name":t}});if(!i.ok)throw new Error(`Failed to get thread info: ${i.statusText}`);return i.json()},async deleteThread(A){const i=await fetch(`/api/threads/${A}`,{method:"DELETE",headers:{"X-Adapter-Name":t}});if(!i.ok)throw new Error(`Failed to delete thread: ${i.statusText}`);return i.json()},async clearConversationHistory(A){const i=await fetch(`/api/admin/chat-history/${A||e}`,{method:"DELETE",headers:{"X-Adapter-Name":t}});if(!i.ok)throw new Error(`Failed to clear history: ${i.statusText}`);return i.json()},async deleteConversationWithFiles(A,i){const a=A||e,s=i&&i.length>0?`?file_ids=${i.join(",")}`:"",o=await fetch(`/api/admin/conversations/${a}${s}`,{method:"DELETE",headers:{"X-Adapter-Name":t}});if(!o.ok)throw new Error(`Failed to delete conversation: ${o.statusText}`);return o.json()},getSessionId:()=>e,async uploadFile(A){const i=new FormData;i.append("file",A);const a=await fetch("/api/files/upload",{method:"POST",headers:{"X-Adapter-Name":t},body:i});if(!a.ok)throw new Error(`Failed to upload file: ${a.statusText}`);return a.json()},async listFiles(){const A=await fetch("/api/files",{headers:{"X-Adapter-Name":t}});if(!A.ok)throw new Error(`Failed to list files: ${A.statusText}`);const i=await A.json();return Array.isArray(i)?i:i.files||[]},async getFileInfo(A){const i=await fetch(`/api/files/${A}`,{headers:{"X-Adapter-Name":t}});if(!i.ok)throw new Error(`Failed to get file info: ${i.statusText}`);return i.json()},async queryFile(A,i,a){const s=await fetch(`/api/files/${A}/query`,{method:"POST",headers:{"Content-Type":"application/json","X-Adapter-Name":t},body:JSON.stringify({query:i,max_results:a})});if(!s.ok)throw new Error(`Failed to query file: ${s.statusText}`);return s.json()},async deleteFile(A){const i=await fetch(`/api/files/${A}`,{method:"DELETE",headers:{"X-Adapter-Name":t}});if(!i.ok)throw new Error(`Failed to delete file: ${i.statusText}`);return i.json()},async validateApiKey(){const A=await fetch(`/api/admin/api-keys/${t}/status`,{headers:{"X-Adapter-Name":t}});if(!A.ok)throw new Error(`Failed to validate API key: ${A.statusText}`);return A.json()},async getAdapterInfo(){const A=await fetch("/api/admin/api-keys/info",{headers:{"X-Adapter-Name":t}});if(!A.ok){const i=await A.text();throw new Error(`Failed to get adapter info: ${A.status} ${A.statusText} - ${i}`)}return A.json()}}};return{configureApi:r,streamChat:async function*(A,i,a,s,o,l,c,u,g,d,B){yield*n().streamChat(A,i,a,s,o,l,c,u,g,d,B)},ApiClient:class{constructor(i){hA(this,"client");t=i.adapterName||null,e=i.sessionId||null,this.client=n()}async*streamChat(...i){yield*this.client.streamChat(...i)}get createThread(){var i;return(i=this.client.createThread)==null?void 0:i.bind(this.client)}get getThreadInfo(){var i;return(i=this.client.getThreadInfo)==null?void 0:i.bind(this.client)}get deleteThread(){var i;return(i=this.client.deleteThread)==null?void 0:i.bind(this.client)}get clearConversationHistory(){var i;return(i=this.client.clearConversationHistory)==null?void 0:i.bind(this.client)}get deleteConversationWithFiles(){var i;return(i=this.client.deleteConversationWithFiles)==null?void 0:i.bind(this.client)}get getSessionId(){var i;return(i=this.client.getSessionId)==null?void 0:i.bind(this.client)}get uploadFile(){var i;return(i=this.client.uploadFile)==null?void 0:i.bind(this.client)}get listFiles(){var i;return(i=this.client.listFiles)==null?void 0:i.bind(this.client)}get getFileInfo(){var i;return(i=this.client.getFileInfo)==null?void 0:i.bind(this.client)}get queryFile(){var i;return(i=this.client.queryFile)==null?void 0:i.bind(this.client)}get deleteFile(){var i;return(i=this.client.deleteFile)==null?void 0:i.bind(this.client)}get validateApiKey(){var i;return(i=this.client.validateApiKey)==null?void 0:i.bind(this.client)}get getAdapterInfo(){var i;return(i=this.client.getAdapterInfo)==null?void 0:i.bind(this.client)}}}}async function H_e(e){return e==="@local-node-api/api.mjs"?Yt(()=>import("./api-BHF9IxKN.js"),[]):import(e)}async function J_e(){if(Ha)return Ha;const e=C_e(),t=Q_e(),r=Tr();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",fe(`🔧 Loading local API from: ${n}`);const A=await H_e(n);r?(fe("🔐 API Middleware enabled - routing through proxy"),Ha=Wg()):Ha={configureApi:A.configureApi,streamChat:A.streamChat,ApiClient:A.ApiClient},fe("✅ Local API loaded successfully")}else{fe("📦 Loading npm package API");const n=await Yt(()=>import("./api-GHsmF4Sa.js"),[]),A=async function*(s,o,l,c,u,g,d,B,h,f,p){yield*n.streamChat(s,o,l,c,u,g,d,B,h,f,p)};class i{constructor(o){hA(this,"client");if(r&&o.adapterName){const l=Wg();this.client=new l.ApiClient(o)}else this.client=new n.ApiClient(o)}async*streamChat(o,l,c,u,g,d,B,h,f,p,w){yield*this.client.streamChat(o,l,c,u,g,d,B,h,f,p,w)}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)}}r?(fe("🔐 API Middleware enabled - routing through proxy"),Ha=Wg()):Ha={configureApi:n.configureApi,streamChat:A,ApiClient:i};const a=await WD();fe(`✅ NPM package API loaded successfully (v${a})`)}}catch(n){if(e)try{const A=await Yt(()=>import("./api-GHsmF4Sa.js"),[]),i=async function*(o,l,c,u,g,d,B,h,f,p,w){yield*A.streamChat(o,l,c,u,g,d,B,h,f,p,w)};class a{constructor(l){hA(this,"client");if(r&&l.adapterName){const c=Wg();this.client=new c.ApiClient(l)}else this.client=new A.ApiClient(l)}async*streamChat(l,c,u,g,d,B,h,f,p,w,E){yield*this.client.streamChat(l,c,u,g,d,B,h,f,p,w,E)}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?(fe("🔐 API Middleware enabled - routing through proxy"),Ha=Wg()):Ha={configureApi:A.configureApi,streamChat:i,ApiClient:a};const s=await WD();fe(`✅ Fallback to NPM package successful (v${s})`)}catch{throw new Error("Failed to load both local and npm API packages")}else throw n}return Ha}async function En(){return await J_e()}const Rp=El(),O_e=()=>{try{if(typeof window>"u"||!window.localStorage)return null;const e=window.localStorage.getItem("chat-api-url");return e&&e===Kl?(window.localStorage.removeItem("chat-api-url"),null):e}catch{return null}},Pg=e=>{const t=e==null?void 0:e.trim();if(t)return t;const r=O_e();return r&&r!==Kl?r:Vr()},jp=()=>typeof window>"u"?null:window.CHATBOT_API_KEY||null;class xB{static async uploadFile(t,r,n,A,i){try{const a=lt.maxFileSizeMB*1024*1024;if(t.size>a)throw new Error(`File size exceeds maximum limit of ${lt.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 l=await En(),c=Pg(A),u=Tr();let g=null,d=null;if(u){if(d=i||(typeof window<"u"?localStorage.getItem("chat-adapter-name"):null),!d)throw new Error("Adapter not configured. Please select an adapter from the dropdown.");fe(`🔑 Using adapter: ${d}`)}else{if(g=n||localStorage.getItem("chat-api-key")||jp()||Rp,!g||g==="your-api-key-here")throw new Error(`API key not configured or invalid. Please:
|
|
955
|
+
`);for(const M of I)if(M.startsWith("data: "))try{const b=JSON.parse(M.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 E=await f.json();yield{text:E.message||E.response||"",done:!0}}},async createThread(A,i){const a=await fetch("/api/threads",{method:"POST",headers:{"Content-Type":"application/json","X-Adapter-Name":t,"X-Session-ID":i},body:JSON.stringify({message_id:A,session_id:i})});if(!a.ok)throw new Error(`Failed to create thread: ${a.statusText}`);return a.json()},async getThreadInfo(A){const i=await fetch(`/api/threads/${A}`,{headers:{"X-Adapter-Name":t}});if(!i.ok)throw new Error(`Failed to get thread info: ${i.statusText}`);return i.json()},async deleteThread(A){const i=await fetch(`/api/threads/${A}`,{method:"DELETE",headers:{"X-Adapter-Name":t}});if(!i.ok)throw new Error(`Failed to delete thread: ${i.statusText}`);return i.json()},async clearConversationHistory(A){const i=await fetch(`/api/admin/chat-history/${A||e}`,{method:"DELETE",headers:{"X-Adapter-Name":t}});if(!i.ok)throw new Error(`Failed to clear history: ${i.statusText}`);return i.json()},async deleteConversationWithFiles(A,i){const a=A||e,s=i&&i.length>0?`?file_ids=${i.join(",")}`:"",o=await fetch(`/api/admin/conversations/${a}${s}`,{method:"DELETE",headers:{"X-Adapter-Name":t}});if(!o.ok)throw new Error(`Failed to delete conversation: ${o.statusText}`);return o.json()},getSessionId:()=>e,async uploadFile(A){const i=new FormData;i.append("file",A);const a=await fetch("/api/files/upload",{method:"POST",headers:{"X-Adapter-Name":t},body:i});if(!a.ok)throw new Error(`Failed to upload file: ${a.statusText}`);return a.json()},async listFiles(){const A=await fetch("/api/files",{headers:{"X-Adapter-Name":t}});if(!A.ok)throw new Error(`Failed to list files: ${A.statusText}`);const i=await A.json();return Array.isArray(i)?i:i.files||[]},async getFileInfo(A){const i=await fetch(`/api/files/${A}`,{headers:{"X-Adapter-Name":t}});if(!i.ok)throw new Error(`Failed to get file info: ${i.statusText}`);return i.json()},async queryFile(A,i,a){const s=await fetch(`/api/files/${A}/query`,{method:"POST",headers:{"Content-Type":"application/json","X-Adapter-Name":t},body:JSON.stringify({query:i,max_results:a})});if(!s.ok)throw new Error(`Failed to query file: ${s.statusText}`);return s.json()},async deleteFile(A){const i=await fetch(`/api/files/${A}`,{method:"DELETE",headers:{"X-Adapter-Name":t}});if(!i.ok)throw new Error(`Failed to delete file: ${i.statusText}`);return i.json()},async validateApiKey(){const A=await fetch(`/api/admin/api-keys/${t}/status`,{headers:{"X-Adapter-Name":t}});if(!A.ok)throw new Error(`Failed to validate API key: ${A.statusText}`);return A.json()},async getAdapterInfo(){const A=await fetch("/api/admin/api-keys/info",{headers:{"X-Adapter-Name":t}});if(!A.ok){const i=await A.text();throw new Error(`Failed to get adapter info: ${A.status} ${A.statusText} - ${i}`)}return A.json()}}};return{configureApi:r,streamChat:async function*(A,i,a,s,o,l,c,u,g,d,B){yield*n().streamChat(A,i,a,s,o,l,c,u,g,d,B)},ApiClient:class{constructor(i){hA(this,"client");t=i.adapterName||null,e=i.sessionId||null,this.client=n()}async*streamChat(...i){yield*this.client.streamChat(...i)}get createThread(){var i;return(i=this.client.createThread)==null?void 0:i.bind(this.client)}get getThreadInfo(){var i;return(i=this.client.getThreadInfo)==null?void 0:i.bind(this.client)}get deleteThread(){var i;return(i=this.client.deleteThread)==null?void 0:i.bind(this.client)}get clearConversationHistory(){var i;return(i=this.client.clearConversationHistory)==null?void 0:i.bind(this.client)}get deleteConversationWithFiles(){var i;return(i=this.client.deleteConversationWithFiles)==null?void 0:i.bind(this.client)}get getSessionId(){var i;return(i=this.client.getSessionId)==null?void 0:i.bind(this.client)}get uploadFile(){var i;return(i=this.client.uploadFile)==null?void 0:i.bind(this.client)}get listFiles(){var i;return(i=this.client.listFiles)==null?void 0:i.bind(this.client)}get getFileInfo(){var i;return(i=this.client.getFileInfo)==null?void 0:i.bind(this.client)}get queryFile(){var i;return(i=this.client.queryFile)==null?void 0:i.bind(this.client)}get deleteFile(){var i;return(i=this.client.deleteFile)==null?void 0:i.bind(this.client)}get validateApiKey(){var i;return(i=this.client.validateApiKey)==null?void 0:i.bind(this.client)}get getAdapterInfo(){var i;return(i=this.client.getAdapterInfo)==null?void 0:i.bind(this.client)}}}}async function H_e(e){return e==="@local-node-api/api.mjs"?Yt(()=>import("./api-BHF9IxKN.js"),[]):import(e)}async function J_e(){if(Ha)return Ha;const e=C_e(),t=Q_e(),r=Tr();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",fe(`🔧 Loading local API from: ${n}`);const A=await H_e(n);r?(fe("🔐 API Middleware enabled - routing through proxy"),Ha=Wg()):Ha={configureApi:A.configureApi,streamChat:A.streamChat,ApiClient:A.ApiClient},fe("✅ Local API loaded successfully")}else{fe("📦 Loading npm package API");const n=await Yt(()=>import("./api-CD9Nzq0O.js"),[]),A=async function*(s,o,l,c,u,g,d,B,h,f,p){yield*n.streamChat(s,o,l,c,u,g,d,B,h,f,p)};class i{constructor(o){hA(this,"client");if(r&&o.adapterName){const l=Wg();this.client=new l.ApiClient(o)}else this.client=new n.ApiClient(o)}async*streamChat(o,l,c,u,g,d,B,h,f,p,w){yield*this.client.streamChat(o,l,c,u,g,d,B,h,f,p,w)}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)}}r?(fe("🔐 API Middleware enabled - routing through proxy"),Ha=Wg()):Ha={configureApi:n.configureApi,streamChat:A,ApiClient:i};const a=await WD();fe(`✅ NPM package API loaded successfully (v${a})`)}}catch(n){if(e)try{const A=await Yt(()=>import("./api-CD9Nzq0O.js"),[]),i=async function*(o,l,c,u,g,d,B,h,f,p,w){yield*A.streamChat(o,l,c,u,g,d,B,h,f,p,w)};class a{constructor(l){hA(this,"client");if(r&&l.adapterName){const c=Wg();this.client=new c.ApiClient(l)}else this.client=new A.ApiClient(l)}async*streamChat(l,c,u,g,d,B,h,f,p,w,E){yield*this.client.streamChat(l,c,u,g,d,B,h,f,p,w,E)}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?(fe("🔐 API Middleware enabled - routing through proxy"),Ha=Wg()):Ha={configureApi:A.configureApi,streamChat:i,ApiClient:a};const s=await WD();fe(`✅ Fallback to NPM package successful (v${s})`)}catch{throw new Error("Failed to load both local and npm API packages")}else throw n}return Ha}async function En(){return await J_e()}const Rp=El(),O_e=()=>{try{if(typeof window>"u"||!window.localStorage)return null;const e=window.localStorage.getItem("chat-api-url");return e&&e===Kl?(window.localStorage.removeItem("chat-api-url"),null):e}catch{return null}},Pg=e=>{const t=e==null?void 0:e.trim();if(t)return t;const r=O_e();return r&&r!==Kl?r:Vr()},jp=()=>typeof window>"u"?null:window.CHATBOT_API_KEY||null;class xB{static async uploadFile(t,r,n,A,i){try{const a=lt.maxFileSizeMB*1024*1024;if(t.size>a)throw new Error(`File size exceeds maximum limit of ${lt.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 l=await En(),c=Pg(A),u=Tr();let g=null,d=null;if(u){if(d=i||(typeof window<"u"?localStorage.getItem("chat-adapter-name"):null),!d)throw new Error("Adapter not configured. Please select an adapter from the dropdown.");fe(`🔑 Using adapter: ${d}`)}else{if(g=n||localStorage.getItem("chat-api-key")||jp()||Rp,!g||g==="your-api-key-here")throw new Error(`API key not configured or invalid. Please:
|
|
956
956
|
1. Open Settings (⚙️ icon) in the top-right corner
|
|
957
957
|
2. Enter a valid API key
|
|
958
958
|
3. To create an API key: POST to /admin/api-keys with admin credentials
|