@bkm016/basalt 0.1.13 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/README.md +3 -2
  2. package/{chunk-bng72094.js → chunk-03wzwnn6.js} +1 -1
  3. package/{chunk-9e8vhzy7.js → chunk-0crbhhna.js} +1 -1
  4. package/{chunk-h9zxqeqr.js → chunk-0rasqm8y.js} +2 -2
  5. package/{chunk-0x9netvr.js → chunk-1w4nh5t6.js} +1 -1
  6. package/{chunk-dk6fgprw.js → chunk-2eaehpp6.js} +1 -1
  7. package/{chunk-6sea12mw.js → chunk-30dxcr91.js} +1 -1
  8. package/{chunk-2zbj8ny6.js → chunk-343jsm46.js} +2 -2
  9. package/chunk-38g4jd6v.js +5 -0
  10. package/{chunk-zx75vnw8.js → chunk-39mh7h58.js} +22 -22
  11. package/chunk-44b9yx79.js +2 -0
  12. package/{chunk-r1jn77q6.js → chunk-4f6p4n7k.js} +2 -2
  13. package/{chunk-sgz87ht5.js → chunk-4w8j6n7z.js} +1 -1
  14. package/{chunk-szj85dqe.js → chunk-4yxd2kg1.js} +2 -2
  15. package/{chunk-bp61xdsc.js → chunk-59hg9a84.js} +1 -1
  16. package/{chunk-bq54argx.js → chunk-62ebm0bn.js} +1 -1
  17. package/{chunk-6d9r9p91.js → chunk-6ef085c1.js} +4 -4
  18. package/{chunk-zk91579b.js → chunk-6hx9y86d.js} +2 -2
  19. package/chunk-73t051r6.js +2 -0
  20. package/{chunk-pryvvs96.js → chunk-7mgkpn94.js} +22 -22
  21. package/{chunk-2q56egb8.js → chunk-81x8r8w4.js} +1 -1
  22. package/{chunk-rn3jwyh1.js → chunk-8np9b2y8.js} +2 -2
  23. package/{chunk-1q6e3mj7.js → chunk-9ew8cap5.js} +2 -2
  24. package/chunk-9v3b7jjv.js +2 -0
  25. package/{chunk-tjg0gcks.js → chunk-9vam83py.js} +1 -1
  26. package/{chunk-ct77cdg7.js → chunk-9xjecw6c.js} +1 -1
  27. package/{chunk-8cgz8xv7.js → chunk-b2wpj81x.js} +2 -2
  28. package/{chunk-302n9g7p.js → chunk-bjvv3403.js} +1 -1
  29. package/{chunk-tfhze1vq.js → chunk-c8g9jjqs.js} +2 -2
  30. package/{chunk-0a7ft50x.js → chunk-cs91rmbf.js} +8 -8
  31. package/{chunk-gpnqmtbk.js → chunk-edcf97ka.js} +1 -1
  32. package/{chunk-74wwdx3y.js → chunk-en7z6ne5.js} +2 -2
  33. package/{chunk-f0h2bv11.js → chunk-evnqkyt7.js} +10 -10
  34. package/{chunk-4rnmxtpx.js → chunk-ge38dhv9.js} +2 -2
  35. package/chunk-hggam3je.js +2 -0
  36. package/{chunk-mf04h0yy.js → chunk-k38jaz6c.js} +4 -4
  37. package/{chunk-jjtt9aq8.js → chunk-kcn05erf.js} +3 -3
  38. package/{chunk-y23dpz5e.js → chunk-m5km74eq.js} +2 -2
  39. package/{chunk-095adzn5.js → chunk-mfb3dgs8.js} +2 -2
  40. package/{chunk-0nedq669.js → chunk-mh4bjtfs.js} +3 -3
  41. package/{chunk-yy1f9jxc.js → chunk-nysatg77.js} +429 -312
  42. package/{chunk-bja7p3em.js → chunk-p886jr17.js} +13 -13
  43. package/{chunk-xvm0y99b.js → chunk-pdt65s31.js} +2 -2
  44. package/{chunk-ymg7mtcx.js → chunk-pjgt1bdx.js} +2 -2
  45. package/{chunk-959z9efn.js → chunk-pyj6avd5.js} +2 -2
  46. package/chunk-qd2enpr2.js +3 -0
  47. package/{chunk-tnj2kqb8.js → chunk-qe76naq9.js} +1 -1
  48. package/{chunk-z0c8ek0j.js → chunk-qjnx4fsn.js} +2 -2
  49. package/{chunk-2tf7qfbx.js → chunk-qs161f2q.js} +2 -2
  50. package/{chunk-nbjnwd54.js → chunk-rghqprav.js} +1 -1
  51. package/{chunk-7chv3knf.js → chunk-t33bm5aa.js} +1 -1
  52. package/chunk-vd5332ps.js +2 -0
  53. package/{chunk-22az84sh.js → chunk-w55cnj0f.js} +2 -2
  54. package/{chunk-4k9t9jvx.js → chunk-wnd3y4c0.js} +1 -1
  55. package/{chunk-snz19yc2.js → chunk-xafx1p7z.js} +2 -2
  56. package/{chunk-15ve3nmv.js → chunk-xf7zw32f.js} +12 -12
  57. package/chunk-xk3t5ves.js +482 -0
  58. package/{chunk-kbpbrr11.js → chunk-xq74x4gc.js} +2 -2
  59. package/{chunk-mdkfm1ak.js → chunk-y0274xr2.js} +3 -3
  60. package/{chunk-y4pvhes1.js → chunk-z9p6s986.js} +6 -6
  61. package/{chunk-41das1ty.js → chunk-zcwz44db.js} +1 -1
  62. package/{chunk-77c2cqp2.js → chunk-zhyzhekt.js} +1 -1
  63. package/compiled.js +12 -12
  64. package/package.json +1 -1
  65. package/ui-test-worker.js +51 -51
  66. package/web/chunk-15g9pnzy.js +1 -0
  67. package/web/{chunk-16jc5m0f.js → chunk-17wwzrp4.js} +1 -1
  68. package/web/chunk-19tkjg9w.js +1 -0
  69. package/web/chunk-1y387f45.js +1 -0
  70. package/web/{chunk-mykrm8ba.js → chunk-25sn840r.js} +2 -2
  71. package/web/chunk-26sp6jre.js +1 -0
  72. package/web/{chunk-wpxtkxjt.js → chunk-2c7kxr4v.js} +2 -2
  73. package/web/{chunk-et1rsgmp.js → chunk-2gsf89vs.js} +2 -2
  74. package/web/{chunk-jpem3qvs.js → chunk-2gvz70wr.js} +5 -5
  75. package/web/chunk-2s3my1jn.js +1 -0
  76. package/web/{chunk-yn4t5s9r.js → chunk-32dh0hft.js} +1 -1
  77. package/web/{chunk-5cwxhhae.js → chunk-3haw3wcw.js} +2 -2
  78. package/web/{chunk-t82sngk9.js → chunk-3rxhs9qm.js} +7 -7
  79. package/web/chunk-410qdvmv.js +1 -0
  80. package/web/chunk-4qehf2xx.js +2 -0
  81. package/web/{chunk-b9jry5a3.js → chunk-51b8n5e1.js} +1 -1
  82. package/web/{chunk-xe121vg7.js → chunk-54mgncq3.js} +1 -1
  83. package/web/{chunk-ze6azq7z.js → chunk-59g6rrew.js} +4 -4
  84. package/web/{chunk-h6k1x096.js → chunk-5d9veaef.js} +2 -2
  85. package/web/chunk-6481wt3t.js +1 -0
  86. package/web/chunk-6ehecat3.js +1 -0
  87. package/web/chunk-6m8hq6ph.js +1 -0
  88. package/web/chunk-73941p08.js +1 -0
  89. package/web/{chunk-0jbf73pr.js → chunk-783s8jds.js} +3 -3
  90. package/web/{chunk-qbmtah1x.js → chunk-78m018ya.js} +1 -1
  91. package/web/{chunk-3p9w8sg5.js → chunk-797bh7z6.js} +3 -3
  92. package/web/{chunk-1xm9x7d6.js → chunk-7hpqrfgg.js} +2 -2
  93. package/web/{chunk-zxrbbbtp.js → chunk-7kywe73f.js} +2 -2
  94. package/web/chunk-7qq1ypvj.js +1 -0
  95. package/web/{chunk-awkdw9rw.js → chunk-7wzszsf5.js} +2 -2
  96. package/web/{chunk-c57f714b.js → chunk-7zfqppsx.js} +2 -2
  97. package/web/{chunk-jh33m2mq.js → chunk-8sr9w61v.js} +3 -3
  98. package/web/{chunk-4py9sndw.js → chunk-8ttp8fh3.js} +6 -6
  99. package/web/chunk-8zg89764.js +1 -0
  100. package/web/{chunk-ct7z7bea.js → chunk-988e9wx6.js} +3 -3
  101. package/web/{chunk-vk7ch6fh.js → chunk-9h0f3gar.js} +2 -2
  102. package/web/{chunk-p6e2vr51.js → chunk-9vr6hpmk.js} +6 -6
  103. package/web/chunk-9vrp249f.js +2 -0
  104. package/web/{chunk-eqxy6535.js → chunk-a205cj09.js} +2 -2
  105. package/web/{chunk-980zhtht.js → chunk-ahn2frbt.js} +1 -1
  106. package/web/{chunk-xvm66b7v.js → chunk-aknsydan.js} +4 -4
  107. package/web/chunk-at0xtfhy.js +1 -0
  108. package/web/chunk-bahccwb9.js +1 -0
  109. package/web/{chunk-w4tfad6c.js → chunk-c7fqrs8j.js} +1 -1
  110. package/web/{chunk-zqcg6frm.js → chunk-d3hyf9yd.js} +1 -1
  111. package/web/chunk-dcegr80c.js +1 -0
  112. package/web/{chunk-v4cqc9f9.js → chunk-dwtatme7.js} +1 -1
  113. package/web/{chunk-cr04125j.js → chunk-ex8rmqn1.js} +12 -12
  114. package/web/{chunk-jh3k7xex.js → chunk-faskbfjf.js} +3 -3
  115. package/web/{chunk-zb61mf0a.js → chunk-feanedhx.js} +1 -1
  116. package/web/{chunk-xk1vkcj4.js → chunk-ffywf5w5.js} +4 -4
  117. package/web/chunk-fx3d48e6.js +1 -0
  118. package/web/{chunk-3jjksgze.js → chunk-g3szt4c4.js} +1 -1
  119. package/web/chunk-g7bcntpm.js +1 -0
  120. package/web/chunk-gr1tjqbd.js +1 -0
  121. package/web/{chunk-2sef2wft.js → chunk-hbwxtbq3.js} +2 -2
  122. package/web/{chunk-6e87m0nm.js → chunk-hdtvrh0f.js} +2 -2
  123. package/web/chunk-j031r08w.js +1 -0
  124. package/web/{chunk-5ym5ffd5.js → chunk-j6wcszxq.js} +2 -2
  125. package/web/{chunk-jccz14ye.js → chunk-jdx7qp2w.js} +2 -2
  126. package/web/chunk-jge7nn3s.js +1 -0
  127. package/web/chunk-jy8zat04.js +1 -0
  128. package/web/{chunk-0rhx7qb8.js → chunk-jzge034r.js} +1 -1
  129. package/web/{chunk-qq6m2my8.js → chunk-k4qrqmdk.js} +2 -2
  130. package/web/chunk-k8s7kye3.js +1 -0
  131. package/web/{chunk-ke8dffnk.js → chunk-k9fyqrhp.js} +2 -2
  132. package/web/chunk-k9zn1n6d.js +1 -0
  133. package/web/chunk-kg3tksv7.js +1 -0
  134. package/web/chunk-kk5rw81s.js +2 -0
  135. package/web/{chunk-y9waq403.js → chunk-kpmd893m.js} +2 -2
  136. package/web/chunk-md9j949p.js +1 -0
  137. package/web/{chunk-e57h40qa.js → chunk-mn2wv9ye.js} +2 -2
  138. package/web/{chunk-14vmr99v.js → chunk-mv7jgmnb.js} +3 -3
  139. package/web/{chunk-qq06x2ce.js → chunk-mvm68qtt.js} +2 -2
  140. package/web/chunk-nbcpbqq4.js +1 -0
  141. package/web/{chunk-6rsr2cyw.js → chunk-nfpff7yf.js} +8 -8
  142. package/web/chunk-nk7jkpam.js +1 -0
  143. package/web/chunk-nmvt1rn3.js +1 -0
  144. package/web/{chunk-3ctmehg4.js → chunk-npw1s1h2.js} +1 -1
  145. package/web/chunk-nzzxv84v.js +8 -0
  146. package/web/{chunk-a9er7a7c.js → chunk-p4pqtybm.js} +19 -19
  147. package/web/{chunk-ba9qy65y.js → chunk-p79c7aak.js} +1 -1
  148. package/web/{chunk-frnh4zqf.js → chunk-pafw34vg.js} +2 -2
  149. package/web/{chunk-ct90yf8z.js → chunk-pf65cank.js} +2 -2
  150. package/web/{chunk-g0be12na.js → chunk-ppa21760.js} +1 -1
  151. package/web/{chunk-g7hqafb8.js → chunk-ptpkv0te.js} +1 -1
  152. package/web/{chunk-ddg8rz82.js → chunk-qcdej581.js} +1 -1
  153. package/web/{chunk-xxmaqj1m.js → chunk-qftcdcps.js} +2 -2
  154. package/web/{chunk-eqndhs21.js → chunk-qv1w36ja.js} +2 -2
  155. package/web/{chunk-mnf4ngj9.js → chunk-r8p741qj.js} +2 -2
  156. package/web/chunk-rcexbkjj.js +1 -0
  157. package/web/{chunk-w28dn4dw.js → chunk-rjakb64x.js} +1 -1
  158. package/web/{chunk-k0cg4n2k.js → chunk-s0xy00v5.js} +2 -2
  159. package/web/{chunk-cr05dttm.js → chunk-s2ps0ct5.js} +1 -1
  160. package/web/{chunk-xcyqd7cn.js → chunk-s45g7fp6.js} +1 -1
  161. package/web/{chunk-h1k2kqbs.js → chunk-s70aj1v5.js} +4 -4
  162. package/web/chunk-say8bvkc.js +1 -0
  163. package/web/{chunk-qh62nkem.js → chunk-sd3cdqcm.js} +2 -2
  164. package/web/{chunk-a6g3nqp0.js → chunk-sgkevxdf.js} +2 -2
  165. package/web/chunk-sjffrcq9.js +1 -0
  166. package/web/{chunk-2y1avvqj.js → chunk-snaepr87.js} +3 -3
  167. package/web/{chunk-p7pa02k9.js → chunk-tdzh6nsz.js} +2 -2
  168. package/web/{chunk-ga07tv37.js → chunk-tjd8qp87.js} +1 -1
  169. package/web/chunk-tncc9e57.js +1 -0
  170. package/web/{chunk-ve8gy05p.js → chunk-ty2rmwda.js} +92 -92
  171. package/web/chunk-v22hp18w.js +1 -0
  172. package/web/{chunk-zh7193nq.js → chunk-ve9dz857.js} +2 -2
  173. package/web/{chunk-s935z8er.js → chunk-vg346gxc.js} +2 -2
  174. package/web/{chunk-b4gcpsbg.js → chunk-vpegzgzb.js} +5 -5
  175. package/web/{chunk-pzg25qqe.js → chunk-vvvd3grf.js} +2 -2
  176. package/web/{chunk-ss96cz1f.js → chunk-vwv6pqy7.js} +1 -1
  177. package/web/{chunk-sq75q603.js → chunk-vxm7n7w6.js} +6 -6
  178. package/web/{chunk-qb8mbptk.js → chunk-w5q7978e.js} +1 -1
  179. package/web/{chunk-97t3ngqf.js → chunk-we4mhfmq.js} +7 -7
  180. package/web/{chunk-20jxvmbw.js → chunk-wfgrdabk.js} +1 -1
  181. package/web/{chunk-3wpxymxa.js → chunk-wkhj4hsw.js} +3 -3
  182. package/web/{chunk-q4vy3dkk.js → chunk-wspk8qbg.js} +2 -2
  183. package/web/{chunk-9wz8jne3.js → chunk-xf1hnpme.js} +1 -1
  184. package/web/{chunk-fnvgdvrg.js → chunk-xhqvzmfj.js} +4 -4
  185. package/web/chunk-xq70hgre.js +1 -0
  186. package/web/chunk-xtss82z2.js +1 -0
  187. package/web/{chunk-8j4tzff5.js → chunk-y3tb6410.js} +3 -3
  188. package/web/{chunk-mkxeenph.js → chunk-y6mcxfm0.js} +1 -1
  189. package/web/{chunk-0rvwj2wh.js → chunk-ya696bfe.js} +2 -2
  190. package/web/{chunk-2x7vmhm0.js → chunk-ysw5fs45.js} +3 -3
  191. package/web/{chunk-atppv8fk.js → chunk-zkq1xknc.js} +1 -1
  192. package/web/chunk-zkv025s5.js +1 -0
  193. package/web/{chunk-dmha2y9c.js → chunk-zpzvz973.js} +18 -18
  194. package/web/{chunk-c6m4vfn5.js → chunk-zsat72qd.js} +68 -68
  195. package/web/{chunk-9k7fkx80.js → chunk-zx3h7v72.js} +1 -1
  196. package/web/index.html +1 -1
  197. package/chunk-1dbfmejf.js +0 -2
  198. package/chunk-4w9zqv0k.js +0 -2
  199. package/chunk-6f4ht2hw.js +0 -2
  200. package/chunk-edbq461k.js +0 -5
  201. package/chunk-m71pj3g1.js +0 -2
  202. package/chunk-n22vd4at.js +0 -2
  203. package/chunk-sgrrxsnz.js +0 -482
  204. package/chunk-ydzag81d.js +0 -3
  205. package/web/chunk-12qf1r6m.js +0 -1
  206. package/web/chunk-1m6fx2h7.js +0 -2
  207. package/web/chunk-2n5xbnrt.js +0 -1
  208. package/web/chunk-36s08nye.js +0 -1
  209. package/web/chunk-4swea9sn.js +0 -1
  210. package/web/chunk-4zz5a483.js +0 -1
  211. package/web/chunk-6y55gk1n.js +0 -1
  212. package/web/chunk-7aep7k4v.js +0 -1
  213. package/web/chunk-8tgavnwx.js +0 -1
  214. package/web/chunk-a00vg115.js +0 -1
  215. package/web/chunk-a4gbxnm3.js +0 -1
  216. package/web/chunk-bq6mep6p.js +0 -2
  217. package/web/chunk-bwy3e58v.js +0 -1
  218. package/web/chunk-de29pe57.js +0 -1
  219. package/web/chunk-eeesa5q1.js +0 -1
  220. package/web/chunk-f7jpakwh.js +0 -1
  221. package/web/chunk-fp62avjh.js +0 -1
  222. package/web/chunk-gr163fex.js +0 -1
  223. package/web/chunk-gx340asc.js +0 -1
  224. package/web/chunk-gxtz10wf.js +0 -1
  225. package/web/chunk-k9qnvx86.js +0 -2
  226. package/web/chunk-kcnj0gan.js +0 -1
  227. package/web/chunk-kpp5xqsb.js +0 -1
  228. package/web/chunk-m33yted6.js +0 -1
  229. package/web/chunk-me5jqqn6.js +0 -1
  230. package/web/chunk-mzqqwbmr.js +0 -1
  231. package/web/chunk-mzzaet63.js +0 -1
  232. package/web/chunk-q34as3v6.js +0 -1
  233. package/web/chunk-q6c8p73w.js +0 -1
  234. package/web/chunk-qn93we3a.js +0 -1
  235. package/web/chunk-r1f1egve.js +0 -1
  236. package/web/chunk-tt9410zw.js +0 -8
  237. package/web/chunk-vg1ebkce.js +0 -1
  238. package/web/chunk-vnt34mkb.js +0 -1
  239. package/web/chunk-xh4xn1az.js +0 -1
  240. package/web/chunk-xrk5ewsn.js +0 -1
  241. package/web/chunk-xzwxcxb4.js +0 -1
  242. package/web/chunk-ydhnkws0.js +0 -1
  243. package/web/chunk-ys2tns0p.js +0 -1
@@ -1,13 +1,13 @@
1
- import{_,o,W,r,e,y}from"./chunk-ve8gy05p.js";import{t,a,Gr,Re,$i,Bi,Tn,xr,Da,co,se,Kt,N,Fi,on,ht,Na,uo,po,mo,zi,Ui,x,fo,Wr,ke,F,Ma,go,Hr,Oa,p,V,nt,rt,In,un,Dr,Kr,ii,_o,si,Xi,U,M,wo,jt,li,eo}from"./chunk-c6m4vfn5.js";import{ra}from"./chunk-xxmaqj1m.js";function ze(i){let n=i?.constructor;return i===(typeof n==="function"?n.prototype:Object.prototype)}function De(i){if(i==null)return!0;if(ii(i)){if(typeof i.splice!=="function"&&typeof i!=="string"&&!Dr(i)&&!un(i)&&!Kr(i))return!1;return i.length===0}if(typeof i==="object"||typeof i==="function"){if(i instanceof Map||i instanceof Set)return i.size===0;let n=Object.keys(i);if(ze(i))return n.filter((s)=>s!=="constructor").length===0;return n.length===0}return!0}var Z="comm",le="rule",fe="decl";var Fe="@media",Oe="@import";var Be="@supports";var Pe="@namespace",oe="@keyframes";var me="@layer",Ne="@scope";var Ve=Math.abs,X=String.fromCharCode;function ue(i){return i.trim()}function ne(i,n,s){return i.replace(n,s)}function H(i,n){return i.charCodeAt(n)|0}function j(i,n,s){return i.slice(n,s)}function R(i){return i.length}function pe(i){return i.length}function J(i,n){return n.push(i),i}var ge=1,ee=1,Ge=0,O=0,T=0,te="";function ve(i,n,s,d,c,l,m,f){return{value:i,root:n,parent:s,type:d,props:c,children:l,line:ge,column:ee,length:m,return:"",siblings:f}}function He(){return T}function Ue(){if(T=O>0?H(te,--O):0,ee--,T===10)ee=1,ge--;return T}function B(){if(T=O<Ge?H(te,O++):0,ee++,T===10)ee=1,ge++;return T}function Y(){return H(te,O)}function de(){return O}function he(i,n){return j(te,i,n)}function re(i){switch(i){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 We(i){return ge=ee=1,Ge=R(te=i),O=0,[]}function je(i){return te="",i}function ye(i){return ue(he(O-1,Me(i===91?i+2:i===40?i+1:i)))}function Ye(i){while(T=Y())if(T<33)B();else break;return re(i)>2||re(T)>3?"":" "}function qe(i,n){while(--n&&B())if(T<48||T>102||T>57&&T<65||T>70&&T<97)break;return he(i,de()+(n<6&&Y()==32&&B()==32))}function Me(i){while(B())switch(T){case i:return O;case 34:case 39:if(i!==34&&i!==39)Me(T);break;case 40:if(i===41)Me(i);break;case 92:B();break}return O}function Xe(i,n){while(B())if(i+T===57)break;else if(i+T===84&&Y()===47)break;return"/*"+he(n,O-1)+"*"+X(i===47?i:B())}function Ke(i){while(!re(Y()))B();return he(i,O)}function Je(i){return je(we("",null,null,null,[""],i=We(i),0,[0],i))}function we(i,n,s,d,c,l,m,f,u){var v=0,w=0,b=m,h=0,C=0,A=0,k=1,E=1,D=1,I=0,S=0,P="",Q=c,G=l,z=d,g=P;while(E)switch(A=S,S=B()){case 40:if(A!=108&&H(g,b-1)==58)I++,g+="(";else g+=ye(S);break;case 41:I--,g+=")";break;case 34:case 39:case 91:g+=ye(S);break;case 9:case 10:case 13:case 32:if(I>0){g+=X(S);break}g+=Ye(A);break;case 92:g+=qe(de()-1,7);continue;case 47:switch(Y()){case 42:case 47:if(J(bt(Xe(B(),de()),n,s,u),u),(re(A||1)==5||re(Y()||1)==5)&&R(g)&&j(g,-1,void 0)!==" ")g+=" ";break;default:g+="/"}break;case 123*k:f[v++]=R(g)*D;case 125*k:case 59:case 0:if(I>0&&S){g+=X(S);break}switch(S){case 0:case 125:E=0;case 59+w:if(D==-1)g=ne(g,/\f/g,"");if(C>0&&(R(g)-b||k===0))J(C>32?Ze(g+";",d,s,b-1,u):Ze(ne(g," ","")+";",d,s,b-2,u),u);break;case 59:g+=";";default:if(J(z=Qe(g,n,s,v,w,c,f,P,Q=[],G=[],b,l),l),S===123)if(w===0)we(g,n,z,z,Q,l,b,f,G);else{switch(h){case 99:if(H(g,3)===110)break;case 108:if(H(g,2)===97)break;default:w=0;case 100:case 109:case 115:}if(w)we(i,z,z,d&&J(Qe(i,z,z,0,0,c,f,P,c,Q=[],b,G),G),c,G,b,f,d?Q:G);else we(g,z,z,z,[""],G,0,f,G)}}v=w=C=0,k=D=1,P=g="",b=m;break;case 58:b=1+R(g),C=A;default:if(k<1){if(S==123)--k;else if(S==125&&k++==0&&Ue()==125)continue}switch(g+=X(S),S*k){case 38:D=w>0?1:(g+="\f",-1);break;case 44:if(I>0)break;f[v++]=(R(g)-1)*D,D=1;break;case 64:if(Y()===45)g+=ye(B());h=Y(),w=b=R(P=g+=Ke(de())),S++;break;case 45:if(A===45&&R(g)==2)k=0}}return l}function Qe(i,n,s,d,c,l,m,f,u,v,w,b){var h=c-1,C=c===0?l:[""],A=pe(C);for(var k=0,E=0,D=0;k<d;++k)for(var I=0,S=j(i,h+1,h=Ve(E=m[k])),P=i;I<A;++I)if(P=ue(E>0?C[I]+" "+S:ne(S,/&\f/g,C[I])))u[D++]=P;return ve(i,n,s,c===0?le:f,u,v,w,b)}function bt(i,n,s,d){return ve(i,n,s,Z,X(He()),j(i,2,-2),0,d)}function Ze(i,n,s,d,c){return ve(i,n,s,fe,j(i,0,d),j(i,d+1,-1),d,c)}function xe(i,n){var s="";for(var d=0;d<i.length;d++)s+=n(i[d],d,i,n)||"";return s}function er(i,n,s,d){switch(i.type){case me:if(i.children.length)break;case Oe:case Pe:case fe:return i.return=i.return||i.value;case Z:return"";case oe:return i.return=i.value+"{"+xe(i.children,d)+"}";case le:if(!R(i.value=i.props.join(",")))return""}return R(s=xe(i.children,d))?i.return=i.value+"{"+s+"}":""}function rr(i){var n=pe(i);return function(s,d,c,l){var m="";for(var f=0;f<n;f++)m+=i[f](s,d,c,l)||"";return m}}var nr="c4",St=t((i)=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(i),"detector"),Et=t(async()=>{let{diagram:i}=await (_("et1rsgmp"),import("./chunk-et1rsgmp.js"));return{id:nr,diagram:i}},"loader"),Tt={id:nr,detector:St,loader:Et},Ct=Tt,sr="flowchart-v2",kt=t((i)=>/^\s*(graph|flowchart)/.test(i),"detector"),Dt=t(async()=>{let{diagram:i}=await (_("a00vg115"),import("./chunk-a00vg115.js"));return{id:sr,diagram:i}},"loader"),Mt={id:sr,detector:kt,loader:Dt},_t=Mt,dr="agentflow",Lt=t((i)=>/^\s*agentflow-beta\b/.test(i),"detector"),At=t(async()=>{let{diagram:i}=await (_("xk1vkcj4"),import("./chunk-xk1vkcj4.js"));return{id:dr,diagram:i}},"loader"),It={id:dr,detector:Lt,loader:At},Rt=It,cr="swimlane",$t=t((i)=>/^\s*swimlane-beta\b/.test(i),"detector"),zt=t(async()=>{let{diagram:i}=await (_("tt9410zw"),import("./chunk-tt9410zw.js"));return{id:cr,diagram:i}},"loader"),Ft={id:cr,detector:$t,loader:zt},Ot=Ft,lr="er",Bt=t((i)=>/^\s*erDiagram/.test(i),"detector"),Pt=t(async()=>{let{diagram:i}=await (_("jpem3qvs"),import("./chunk-jpem3qvs.js"));return{id:lr,diagram:i}},"loader"),Nt={id:lr,detector:Bt,loader:Pt},Vt=Nt,fr="gitGraph",Gt=t((i)=>/^\s*gitGraph/.test(i),"detector"),Ht=t(async()=>{let{diagram:i}=await (_("4py9sndw"),import("./chunk-4py9sndw.js"));return{id:fr,diagram:i}},"loader"),Ut={id:fr,detector:Gt,loader:Ht},Wt=Ut,mr="gantt",Yt=t((i)=>/^\s*gantt/.test(i),"detector"),qt=t(async()=>{let{diagram:i}=await (_("0jbf73pr"),import("./chunk-0jbf73pr.js"));return{id:mr,diagram:i}},"loader"),Xt={id:mr,detector:Yt,loader:qt},Qt=Xt,ur="info",Zt=t((i)=>/^\s*info/.test(i),"detector"),Jt=t(async()=>{let{diagram:i}=await (_("yn4t5s9r"),import("./chunk-yn4t5s9r.js"));return{id:ur,diagram:i}},"loader"),ea={id:ur,detector:Zt,loader:Jt},pr="pie",ta=t((i)=>/^\s*pie/.test(i),"detector"),aa=t(async()=>{let{diagram:i}=await (_("3p9w8sg5"),import("./chunk-3p9w8sg5.js"));return{id:pr,diagram:i}},"loader"),ia={id:pr,detector:ta,loader:aa},gr="quadrantChart",oa=t((i)=>/^\s*quadrantChart/.test(i),"detector"),na=t(async()=>{let{diagram:i}=await (_("fnvgdvrg"),import("./chunk-fnvgdvrg.js"));return{id:gr,diagram:i}},"loader"),sa={id:gr,detector:oa,loader:na},da=sa,vr="xychart",ca=t((i)=>/^\s*xychart(-beta)?/.test(i),"detector"),la=t(async()=>{let{diagram:i}=await (_("h1k2kqbs"),import("./chunk-h1k2kqbs.js"));return{id:vr,diagram:i}},"loader"),fa={id:vr,detector:ca,loader:la},ma=fa,hr="requirement",ua=t((i)=>/^\s*requirement(Diagram)?/.test(i),"detector"),pa=t(async()=>{let{diagram:i}=await (_("2y1avvqj"),import("./chunk-2y1avvqj.js"));return{id:hr,diagram:i}},"loader"),ga={id:hr,detector:ua,loader:pa},va=ga,yr="sequence",ha=t((i)=>/^\s*sequenceDiagram/.test(i),"detector"),ya=t(async()=>{let{diagram:i}=await (_("97t3ngqf"),import("./chunk-97t3ngqf.js"));return{id:yr,diagram:i}},"loader"),wa={id:yr,detector:ha,loader:ya},xa=wa,wr="classDiagram",ba=t((i)=>/^\s*classDiagram/.test(i),"detector"),Sa=t(async()=>{let{diagram:i}=await (_("5cwxhhae"),import("./chunk-5cwxhhae.js"));return{id:wr,diagram:i}},"loader"),Ea={id:wr,detector:ba,loader:Sa},Ta=Ea,br="stateDiagram",Ca=t((i)=>/^\s*stateDiagram/.test(i),"detector"),ka=t(async()=>{let{diagram:i}=await (_("ct7z7bea"),import("./chunk-ct7z7bea.js"));return{id:br,diagram:i}},"loader"),_a={id:br,detector:Ca,loader:ka},La=_a,Sr="journey",Aa=t((i)=>/^\s*journey/.test(i),"detector"),Ia=t(async()=>{let{diagram:i}=await (_("q4vy3dkk"),import("./chunk-q4vy3dkk.js"));return{id:Sr,diagram:i}},"loader"),Ra={id:Sr,detector:Aa,loader:Ia},$a=Ra,be=4,ce=75,za=t((i)=>{let n=[];for(let c of i.split(/\s+/)){let l=[...c];while(l.length>ce)n.push(l.slice(0,ce).join("")),l=l.slice(ce);if(l.length>0)n.push(l.join(""))}let s=[],d="";for(let c of n){let l=d?`${d} ${c}`:c;if([...l].length>ce)s.push(d),d=c;else d=l}if(d)s.push(d);if(s.length>be){s.length=be;let c=s[be-1]??"";s[be-1]=`${[...c].slice(0,ce-3).join("")}...`}return s},"wrapErrorMessage"),Fa=t((i,n,s,d)=>{a.debug(`rendering svg for syntax error
2
- `);let c=V(n),l=c.append("g"),m=za(d?.db.getErrorMessage?.()??""),f=m.length>0?500+m.length*56:512;c.attr("viewBox",`0 0 2412 ${f}`),F(c,100,f,!0),l.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"),l.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"),l.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"),l.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"),l.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"),l.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"),l.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"),l.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${s}`),m.forEach((u,v)=>{l.append("text").attr("class","error-text").attr("x",1440).attr("y",510+v*56).attr("font-size","42px").style("text-anchor","middle").text(u)})},"draw"),Er={draw:Fa},Ba=Er,_e,Pa={clear(){_e=void 0},setErrorMessage(i){_e=i},getErrorMessage(){return _e}},Va={db:Pa,renderer:Er,parser:{parse:t(()=>{return},"parse")}},Ga=Va,Tr="flowchart-elk",Ha=t((i,n={})=>{if(/^\s*flowchart-elk/.test(i))return n.layout="elk",!0;return!1},"detector"),Ua=t(async()=>{let{diagram:i}=await (_("a00vg115"),import("./chunk-a00vg115.js"));return{id:Tr,diagram:i}},"loader"),Wa={id:Tr,detector:Ha,loader:Ua},ja=Wa,Cr="timeline",Ya=t((i)=>/^\s*timeline/.test(i),"detector"),qa=t(async()=>{let{diagram:i}=await (_("vk7ch6fh"),import("./chunk-vk7ch6fh.js"));return{id:Cr,diagram:i}},"loader"),Xa={id:Cr,detector:Ya,loader:qa},Ka=Xa,kr="mindmap",Qa=t((i)=>/^\s*mindmap/.test(i),"detector"),Za=t(async()=>{let{diagram:i}=await (_("y9waq403"),import("./chunk-y9waq403.js"));return{id:kr,diagram:i}},"loader"),Ja={id:kr,detector:Qa,loader:Za},ei=Ja,Mr="kanban",ri=t((i)=>/^\s*kanban/.test(i),"detector"),ti=t(async()=>{let{diagram:i}=await (_("qq06x2ce"),import("./chunk-qq06x2ce.js"));return{id:Mr,diagram:i}},"loader"),ai={id:Mr,detector:ri,loader:ti},oi=ai,_r="sankey",ni=t((i)=>/^\s*sankey(-beta)?/.test(i),"detector"),di=t(async()=>{let{diagram:i}=await (_("2x7vmhm0"),import("./chunk-2x7vmhm0.js"));return{id:_r,diagram:i}},"loader"),ci={id:_r,detector:ni,loader:di},fi=ci,Lr="packet",mi=t((i)=>/^\s*packet(-beta)?/.test(i),"detector"),ui=t(async()=>{let{diagram:i}=await (_("a6g3nqp0"),import("./chunk-a6g3nqp0.js"));return{id:Lr,diagram:i}},"loader"),pi={id:Lr,detector:mi,loader:ui},Ar="radar",gi=t((i)=>/^\s*radar-beta/.test(i),"detector"),vi=t(async()=>{let{diagram:i}=await (_("1xm9x7d6"),import("./chunk-1xm9x7d6.js"));return{id:Ar,diagram:i}},"loader"),hi={id:Ar,detector:gi,loader:vi},Ir="block",yi=t((i)=>/^\s*block(-beta)?/.test(i),"detector"),wi=t(async()=>{let{diagram:i}=await (_("xvm66b7v"),import("./chunk-xvm66b7v.js"));return{id:Ir,diagram:i}},"loader"),xi={id:Ir,detector:yi,loader:wi},bi=xi,Rr="treeView",Si=t((i)=>/^\s*treeView-beta/.test(i),"detector"),Ei=t(async()=>{let{diagram:i}=await (_("3wpxymxa"),import("./chunk-3wpxymxa.js"));return{id:Rr,diagram:i}},"loader"),Ti={id:Rr,detector:Si,loader:Ei},Ci=Ti,$r="architecture",ki=t((i)=>/^\s*architecture/.test(i),"detector"),Di=t(async()=>{let{diagram:i}=await (_("8j4tzff5"),import("./chunk-8j4tzff5.js"));return{id:$r,diagram:i}},"loader"),Mi={id:$r,detector:ki,loader:Di},_i=Mi,zr="eventmodeling",Li=t((i)=>/^\s*eventmodeling/.test(i),"detector"),Ai=t(async()=>{let{diagram:i}=await (_("jh3k7xex"),import("./chunk-jh3k7xex.js"));return{id:zr,diagram:i}},"loader"),Ii={id:zr,detector:Li,loader:Ai},Ri=Ii,Fr="ishikawa",Oi=t((i)=>/^\s*ishikawa(-beta)?\b/i.test(i),"detector"),Pi=t(async()=>{let{diagram:i}=await (_("e57h40qa"),import("./chunk-e57h40qa.js"));return{id:Fr,diagram:i}},"loader"),Ni={id:Fr,detector:Oi,loader:Pi},Or="venn",Vi=t((i)=>/^\s*venn-beta/.test(i),"detector"),Gi=t(async()=>{let{diagram:i}=await (_("p6e2vr51"),import("./chunk-p6e2vr51.js"));return{id:Or,diagram:i}},"loader"),Hi={id:Or,detector:Vi,loader:Gi},Wi=Hi,Br="treemap",ji=t((i)=>/^\s*treemap/.test(i),"detector"),Yi=t(async()=>{let{diagram:i}=await (_("v4cqc9f9"),import("./chunk-v4cqc9f9.js"));return{id:Br,diagram:i}},"loader"),qi={id:Br,detector:ji,loader:Yi},Pr="usecase",Ki=t((i)=>/^\s*usecase-beta(?:\s|$)/.test(i),"detector"),Qi=t(async()=>{let{diagram:i}=await (_("dmha2y9c"),import("./chunk-dmha2y9c.js"));return{id:Pr,diagram:i}},"loader"),Zi={id:Pr,detector:Ki,loader:Qi},Nr="wardley",Ji=t((i)=>/^\s*wardley-beta/i.test(i),"detector"),ro=t(async()=>{let{diagram:i}=await (_("jh33m2mq"),import("./chunk-jh33m2mq.js"));return{id:Nr,diagram:i}},"loader"),to={id:Nr,detector:Ji,loader:ro},ao=to,Vr="cynefin",io=t((i)=>/^\s*cynefin-beta(?:[\s:]|$)/.test(i),"detector"),oo=t(async()=>{let{diagram:i}=await (_("g7hqafb8"),import("./chunk-g7hqafb8.js"));return{id:Vr,diagram:i}},"loader"),no={id:Vr,detector:io,loader:oo},Ur="railroad",so=t((i)=>/^\s*railroad-beta/i.test(i),"detector"),lo=t(async()=>{let{diagram:i}=await (_("zqcg6frm"),import("./chunk-zqcg6frm.js"));return{id:Ur,diagram:i}},"loader"),vo={id:Ur,detector:so,loader:lo},jr="railroadEbnf",ho=t((i)=>/^\s*railroad-ebnf-beta/i.test(i),"detector"),yo=t(async()=>{let{diagram:i}=await (_("xe121vg7"),import("./chunk-xe121vg7.js"));return{id:jr,diagram:i}},"loader"),xo={id:jr,detector:ho,loader:yo},Yr="railroadAbnf",bo=t((i)=>/^\s*railroad-abnf-beta/i.test(i),"detector"),So=t(async()=>{let{diagram:i}=await (_("9k7fkx80"),import("./chunk-9k7fkx80.js"));return{id:Yr,diagram:i}},"loader"),Eo={id:Yr,detector:bo,loader:So},qr="railroadPeg",To=t((i)=>/^\s*railroad-peg-beta/i.test(i),"detector"),Co=t(async()=>{let{diagram:i}=await (_("atppv8fk"),import("./chunk-atppv8fk.js"));return{id:qr,diagram:i}},"loader"),ko={id:qr,detector:To,loader:Co},tr=!1,Te=t(()=>{if(tr)return;tr=!0,Hr("error",Ga,(i)=>i.toLowerCase().trim()==="error"),Hr("---",{db:{clear:t(()=>{},"clear")},styles:{},renderer:{draw:t(()=>{},"draw")},parser:{parse:t(()=>{throw Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:t(()=>null,"init")},(i)=>i.toLowerCase().trimStart().startsWith("---")),Da(ja,ei,_i),Da(Rt,Ct,oi,Ta,Vt,Qt,ea,ia,va,xa,Ot,_t,Ka,Wt,La,$a,da,fi,pi,ma,bi,Ri,Ci,hi,Ni,qi,vo,xo,Eo,ko,Wi,ao,no,Zi)},"addDiagrams"),Do=t(async()=>{a.debug("Loading registered diagrams");let n=(await Promise.allSettled(Object.entries(Tn).map(async([s,{detector:d,loader:c}])=>{if(!c)return;try{Oa(s)}catch{try{let{diagram:l,id:m}=await c();Hr(m,l,d)}catch(l){throw a.error(`Failed to load external diagram with key ${s}. Removing from detectors.`),delete Tn[s],l}}}))).filter((s)=>s.status==="rejected");if(n.length>0){a.error(`Failed to load ${n.length} external diagrams`);for(let s of n)a.error(s);throw Error(`Failed to load ${n.length} external diagrams`)}},"loadRegisteredDiagrams"),Mo="graphics-document document";function Xr(i,n){if(i.attr("role",Mo),n!=="")i.attr("aria-roledescription",n)}t(Xr,"setA11yDiagramInfo");function Qr(i,n,s,d){if(i.insert===void 0)return;if(s){let c=`chart-desc-${d}`;i.attr("aria-describedby",c),i.insert("desc",":first-child").attr("id",c).text(s)}if(n){let c=`chart-title-${d}`;i.attr("aria-labelledby",c),i.insert("title",":first-child").attr("id",c).text(n)}}t(Qr,"addSVGa11yTitleDescription");var Se=class i{constructor(n,s,d,c,l){this.type=n,this.text=s,this.db=d,this.parser=c,this.renderer=l}static{t(this,"Diagram")}static async fromText(n,s={}){let d=typeof n==="string"?{raw:n,cleaned:n}:n,c=x(),l=xr(d.cleaned,c);try{Oa(l)}catch{let h=co(l);if(!h)throw new Bi(`Diagram ${l} not found.`);let{id:C,diagram:A}=await h();Hr(C,A)}let{db:m,parser:f,renderer:u,init:v}=Oa(l);if(f.parser)f.parser.yy=m;if(m.clear?.(),v?.(c),s.title)m.setDiagramTitle?.(s.title);let w=d.cleaned;if(m.preserveCommentsWhenParsing&&d.withComments){let h=c.maxTextSize??N.maxTextSize;if(d.withComments.length>h)a.warn(`Comment-preserving source exceeds maxTextSize (${d.withComments.length} > ${h}); parsing the comment-stripped text instead. Reported source positions will not account for comment lines.`);else w=d.withComments}let b=wo(w)+`
3
- `;if(d.frontmatterLineOffset)m.setFrontmatterLineOffset?.(d.frontmatterLineOffset);return await f.parse(b),new i(l,b,m,f,u)}async render(n,s){await this.renderer.draw(this.text,n,s,this)}getParser(){return this.parser}getType(){return this.type}},ar=[],Lo=t(()=>{ar.forEach((i)=>{i()}),ar=[]},"attachFunctions"),Ao=t((i)=>i.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function Zr(i){let n=$i(i);if(!n)return{text:i,metadata:{}};let s=n.indent,d=s?n.body.split(`
1
+ import{_,o,G,r,e,y}from"./chunk-ty2rmwda.js";import{t,a,Hr,Re,Fi,zi,En,wr,Ma,po,se,Qt,N,Ui,sn,gt,Pa,mo,fo,ho,ji,qi,x,go,Yr,ke,F,Oa,vo,Zr,Ba,p,V,nt,rt,Dn,dn,Mr,Jr,si,ko,ci,Qi,j,M,Co,jt,ui,no}from"./chunk-zsat72qd.js";import{ia}from"./chunk-qftcdcps.js";function ze(i){let n=i?.constructor;return i===(typeof n==="function"?n.prototype:Object.prototype)}function De(i){if(i==null)return!0;if(si(i)){if(typeof i.splice!=="function"&&typeof i!=="string"&&!Mr(i)&&!dn(i)&&!Jr(i))return!1;return i.length===0}if(typeof i==="object"||typeof i==="function"){if(i instanceof Map||i instanceof Set)return i.size===0;let n=Object.keys(i);if(ze(i))return n.filter((s)=>s!=="constructor").length===0;return n.length===0}return!0}var Z="comm",le="rule",fe="decl";var Fe="@media",Oe="@import";var Be="@supports";var Pe="@namespace",oe="@keyframes";var me="@layer",Ne="@scope";var Ve=Math.abs,X=String.fromCharCode;function ue(i){return i.trim()}function ne(i,n,s){return i.replace(n,s)}function U(i,n){return i.charCodeAt(n)|0}function W(i,n,s){return i.slice(n,s)}function R(i){return i.length}function pe(i){return i.length}function J(i,n){return n.push(i),i}var ge=1,ee=1,Ge=0,O=0,T=0,te="";function ve(i,n,s,d,c,l,m,f){return{value:i,root:n,parent:s,type:d,props:c,children:l,line:ge,column:ee,length:m,return:"",siblings:f}}function He(){return T}function Ue(){if(T=O>0?U(te,--O):0,ee--,T===10)ee=1,ge--;return T}function B(){if(T=O<Ge?U(te,O++):0,ee++,T===10)ee=1,ge++;return T}function Y(){return U(te,O)}function de(){return O}function he(i,n){return W(te,i,n)}function re(i){switch(i){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 We(i){return ge=ee=1,Ge=R(te=i),O=0,[]}function je(i){return te="",i}function ye(i){return ue(he(O-1,Me(i===91?i+2:i===40?i+1:i)))}function Ye(i){while(T=Y())if(T<33)B();else break;return re(i)>2||re(T)>3?"":" "}function qe(i,n){while(--n&&B())if(T<48||T>102||T>57&&T<65||T>70&&T<97)break;return he(i,de()+(n<6&&Y()==32&&B()==32))}function Me(i){while(B())switch(T){case i:return O;case 34:case 39:if(i!==34&&i!==39)Me(T);break;case 40:if(i===41)Me(i);break;case 92:B();break}return O}function Xe(i,n){while(B())if(i+T===57)break;else if(i+T===84&&Y()===47)break;return"/*"+he(n,O-1)+"*"+X(i===47?i:B())}function Ke(i){while(!re(Y()))B();return he(i,O)}function Je(i){return je(we("",null,null,null,[""],i=We(i),0,[0],i))}function we(i,n,s,d,c,l,m,f,u){var v=0,w=0,b=m,h=0,C=0,A=0,k=1,E=1,D=1,I=0,S=0,P="",Q=c,H=l,z=d,g=P;while(E)switch(A=S,S=B()){case 40:if(A!=108&&U(g,b-1)==58)I++,g+="(";else g+=ye(S);break;case 41:I--,g+=")";break;case 34:case 39:case 91:g+=ye(S);break;case 9:case 10:case 13:case 32:if(I>0){g+=X(S);break}g+=Ye(A);break;case 92:g+=qe(de()-1,7);continue;case 47:switch(Y()){case 42:case 47:if(J(bt(Xe(B(),de()),n,s,u),u),(re(A||1)==5||re(Y()||1)==5)&&R(g)&&W(g,-1,void 0)!==" ")g+=" ";break;default:g+="/"}break;case 123*k:f[v++]=R(g)*D;case 125*k:case 59:case 0:if(I>0&&S){g+=X(S);break}switch(S){case 0:case 125:E=0;case 59+w:if(D==-1)g=ne(g,/\f/g,"");if(C>0&&(R(g)-b||k===0))J(C>32?Ze(g+";",d,s,b-1,u):Ze(ne(g," ","")+";",d,s,b-2,u),u);break;case 59:g+=";";default:if(J(z=Qe(g,n,s,v,w,c,f,P,Q=[],H=[],b,l),l),S===123)if(w===0)we(g,n,z,z,Q,l,b,f,H);else{switch(h){case 99:if(U(g,3)===110)break;case 108:if(U(g,2)===97)break;default:w=0;case 100:case 109:case 115:}if(w)we(i,z,z,d&&J(Qe(i,z,z,0,0,c,f,P,c,Q=[],b,H),H),c,H,b,f,d?Q:H);else we(g,z,z,z,[""],H,0,f,H)}}v=w=C=0,k=D=1,P=g="",b=m;break;case 58:b=1+R(g),C=A;default:if(k<1){if(S==123)--k;else if(S==125&&k++==0&&Ue()==125)continue}switch(g+=X(S),S*k){case 38:D=w>0?1:(g+="\f",-1);break;case 44:if(I>0)break;f[v++]=(R(g)-1)*D,D=1;break;case 64:if(Y()===45)g+=ye(B());h=Y(),w=b=R(P=g+=Ke(de())),S++;break;case 45:if(A===45&&R(g)==2)k=0}}return l}function Qe(i,n,s,d,c,l,m,f,u,v,w,b){var h=c-1,C=c===0?l:[""],A=pe(C);for(var k=0,E=0,D=0;k<d;++k)for(var I=0,S=W(i,h+1,h=Ve(E=m[k])),P=i;I<A;++I)if(P=ue(E>0?C[I]+" "+S:ne(S,/&\f/g,C[I])))u[D++]=P;return ve(i,n,s,c===0?le:f,u,v,w,b)}function bt(i,n,s,d){return ve(i,n,s,Z,X(He()),W(i,2,-2),0,d)}function Ze(i,n,s,d,c){return ve(i,n,s,fe,W(i,0,d),W(i,d+1,-1),d,c)}function xe(i,n){var s="";for(var d=0;d<i.length;d++)s+=n(i[d],d,i,n)||"";return s}function er(i,n,s,d){switch(i.type){case me:if(i.children.length)break;case Oe:case Pe:case fe:return i.return=i.return||i.value;case Z:return"";case oe:return i.return=i.value+"{"+xe(i.children,d)+"}";case le:if(!R(i.value=i.props.join(",")))return""}return R(s=xe(i.children,d))?i.return=i.value+"{"+s+"}":""}function rr(i){var n=pe(i);return function(s,d,c,l){var m="";for(var f=0;f<n;f++)m+=i[f](s,d,c,l)||"";return m}}var nr="c4",St=t((i)=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(i),"detector"),Et=t(async()=>{let{diagram:i}=await (_("2gsf89vs"),import("./chunk-2gsf89vs.js"));return{id:nr,diagram:i}},"loader"),Tt={id:nr,detector:St,loader:Et},Ct=Tt,sr="flowchart-v2",kt=t((i)=>/^\s*(graph|flowchart)/.test(i),"detector"),Dt=t(async()=>{let{diagram:i}=await (_("tncc9e57"),import("./chunk-tncc9e57.js"));return{id:sr,diagram:i}},"loader"),Mt={id:sr,detector:kt,loader:Dt},_t=Mt,dr="agentflow",Lt=t((i)=>/^\s*agentflow-beta\b/.test(i),"detector"),At=t(async()=>{let{diagram:i}=await (_("ffywf5w5"),import("./chunk-ffywf5w5.js"));return{id:dr,diagram:i}},"loader"),It={id:dr,detector:Lt,loader:At},Rt=It,cr="swimlane",$t=t((i)=>/^\s*swimlane-beta\b/.test(i),"detector"),zt=t(async()=>{let{diagram:i}=await (_("nzzxv84v"),import("./chunk-nzzxv84v.js"));return{id:cr,diagram:i}},"loader"),Ft={id:cr,detector:$t,loader:zt},Ot=Ft,lr="er",Bt=t((i)=>/^\s*erDiagram/.test(i),"detector"),Pt=t(async()=>{let{diagram:i}=await (_("2gvz70wr"),import("./chunk-2gvz70wr.js"));return{id:lr,diagram:i}},"loader"),Nt={id:lr,detector:Bt,loader:Pt},Vt=Nt,fr="gitGraph",Gt=t((i)=>/^\s*gitGraph/.test(i),"detector"),Ht=t(async()=>{let{diagram:i}=await (_("8ttp8fh3"),import("./chunk-8ttp8fh3.js"));return{id:fr,diagram:i}},"loader"),Ut={id:fr,detector:Gt,loader:Ht},Wt=Ut,mr="gantt",Yt=t((i)=>/^\s*gantt/.test(i),"detector"),qt=t(async()=>{let{diagram:i}=await (_("783s8jds"),import("./chunk-783s8jds.js"));return{id:mr,diagram:i}},"loader"),Xt={id:mr,detector:Yt,loader:qt},Kt=Xt,ur="info",Zt=t((i)=>/^\s*info/.test(i),"detector"),Jt=t(async()=>{let{diagram:i}=await (_("32dh0hft"),import("./chunk-32dh0hft.js"));return{id:ur,diagram:i}},"loader"),ea={id:ur,detector:Zt,loader:Jt},pr="pie",ra=t((i)=>/^\s*pie/.test(i),"detector"),ta=t(async()=>{let{diagram:i}=await (_("797bh7z6"),import("./chunk-797bh7z6.js"));return{id:pr,diagram:i}},"loader"),aa={id:pr,detector:ra,loader:ta},gr="quadrantChart",oa=t((i)=>/^\s*quadrantChart/.test(i),"detector"),na=t(async()=>{let{diagram:i}=await (_("xhqvzmfj"),import("./chunk-xhqvzmfj.js"));return{id:gr,diagram:i}},"loader"),sa={id:gr,detector:oa,loader:na},da=sa,vr="xychart",ca=t((i)=>/^\s*xychart(-beta)?/.test(i),"detector"),la=t(async()=>{let{diagram:i}=await (_("s70aj1v5"),import("./chunk-s70aj1v5.js"));return{id:vr,diagram:i}},"loader"),fa={id:vr,detector:ca,loader:la},ma=fa,hr="requirement",ua=t((i)=>/^\s*requirement(Diagram)?/.test(i),"detector"),pa=t(async()=>{let{diagram:i}=await (_("snaepr87"),import("./chunk-snaepr87.js"));return{id:hr,diagram:i}},"loader"),ga={id:hr,detector:ua,loader:pa},va=ga,yr="sequence",ha=t((i)=>/^\s*sequenceDiagram/.test(i),"detector"),ya=t(async()=>{let{diagram:i}=await (_("we4mhfmq"),import("./chunk-we4mhfmq.js"));return{id:yr,diagram:i}},"loader"),wa={id:yr,detector:ha,loader:ya},xa=wa,xr="classDiagram",ba=t((i)=>/^\s*classDiagram/.test(i),"detector"),Sa=t(async()=>{let{diagram:i}=await (_("3haw3wcw"),import("./chunk-3haw3wcw.js"));return{id:xr,diagram:i}},"loader"),Ea={id:xr,detector:ba,loader:Sa},Ta=Ea,br="stateDiagram",Ca=t((i)=>/^\s*stateDiagram/.test(i),"detector"),ka=t(async()=>{let{diagram:i}=await (_("988e9wx6"),import("./chunk-988e9wx6.js"));return{id:br,diagram:i}},"loader"),Da={id:br,detector:Ca,loader:ka},_a=Da,Sr="journey",La=t((i)=>/^\s*journey/.test(i),"detector"),Aa=t(async()=>{let{diagram:i}=await (_("wspk8qbg"),import("./chunk-wspk8qbg.js"));return{id:Sr,diagram:i}},"loader"),Ia={id:Sr,detector:La,loader:Aa},Ra=Ia,be=4,ce=75,$a=t((i)=>{let n=[];for(let c of i.split(/\s+/)){let l=[...c];while(l.length>ce)n.push(l.slice(0,ce).join("")),l=l.slice(ce);if(l.length>0)n.push(l.join(""))}let s=[],d="";for(let c of n){let l=d?`${d} ${c}`:c;if([...l].length>ce)s.push(d),d=c;else d=l}if(d)s.push(d);if(s.length>be){s.length=be;let c=s[be-1]??"";s[be-1]=`${[...c].slice(0,ce-3).join("")}...`}return s},"wrapErrorMessage"),za=t((i,n,s,d)=>{a.debug(`rendering svg for syntax error
2
+ `);let c=V(n),l=c.append("g"),m=$a(d?.db.getErrorMessage?.()??""),f=m.length>0?500+m.length*56:512;c.attr("viewBox",`0 0 2412 ${f}`),F(c,100,f,!0),l.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"),l.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"),l.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"),l.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"),l.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"),l.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"),l.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"),l.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${s}`),m.forEach((u,v)=>{l.append("text").attr("class","error-text").attr("x",1440).attr("y",510+v*56).attr("font-size","42px").style("text-anchor","middle").text(u)})},"draw"),Er={draw:za},Fa=Er,_e,Na={clear(){_e=void 0},setErrorMessage(i){_e=i},getErrorMessage(){return _e}},Va={db:Na,renderer:Er,parser:{parse:t(()=>{return},"parse")}},Ga=Va,Tr="flowchart-elk",Ha=t((i,n={})=>{if(/^\s*flowchart-elk/.test(i))return n.layout="elk",!0;return!1},"detector"),Ua=t(async()=>{let{diagram:i}=await (_("tncc9e57"),import("./chunk-tncc9e57.js"));return{id:Tr,diagram:i}},"loader"),Wa={id:Tr,detector:Ha,loader:Ua},ja=Wa,Cr="timeline",Ya=t((i)=>/^\s*timeline/.test(i),"detector"),qa=t(async()=>{let{diagram:i}=await (_("9h0f3gar"),import("./chunk-9h0f3gar.js"));return{id:Cr,diagram:i}},"loader"),Xa={id:Cr,detector:Ya,loader:qa},Ka=Xa,kr="mindmap",Qa=t((i)=>/^\s*mindmap/.test(i),"detector"),Za=t(async()=>{let{diagram:i}=await (_("kpmd893m"),import("./chunk-kpmd893m.js"));return{id:kr,diagram:i}},"loader"),Ja={id:kr,detector:Qa,loader:Za},ei=Ja,Dr="kanban",ri=t((i)=>/^\s*kanban/.test(i),"detector"),ti=t(async()=>{let{diagram:i}=await (_("mvm68qtt"),import("./chunk-mvm68qtt.js"));return{id:Dr,diagram:i}},"loader"),ai={id:Dr,detector:ri,loader:ti},ii=ai,_r="sankey",oi=t((i)=>/^\s*sankey(-beta)?/.test(i),"detector"),ni=t(async()=>{let{diagram:i}=await (_("ysw5fs45"),import("./chunk-ysw5fs45.js"));return{id:_r,diagram:i}},"loader"),di={id:_r,detector:oi,loader:ni},li=di,Lr="packet",fi=t((i)=>/^\s*packet(-beta)?/.test(i),"detector"),mi=t(async()=>{let{diagram:i}=await (_("sgkevxdf"),import("./chunk-sgkevxdf.js"));return{id:Lr,diagram:i}},"loader"),pi={id:Lr,detector:fi,loader:mi},Ar="radar",gi=t((i)=>/^\s*radar-beta/.test(i),"detector"),vi=t(async()=>{let{diagram:i}=await (_("7hpqrfgg"),import("./chunk-7hpqrfgg.js"));return{id:Ar,diagram:i}},"loader"),hi={id:Ar,detector:gi,loader:vi},Ir="block",yi=t((i)=>/^\s*block(-beta)?/.test(i),"detector"),wi=t(async()=>{let{diagram:i}=await (_("aknsydan"),import("./chunk-aknsydan.js"));return{id:Ir,diagram:i}},"loader"),xi={id:Ir,detector:yi,loader:wi},bi=xi,Rr="treeView",Si=t((i)=>/^\s*treeView-beta/.test(i),"detector"),Ei=t(async()=>{let{diagram:i}=await (_("wkhj4hsw"),import("./chunk-wkhj4hsw.js"));return{id:Rr,diagram:i}},"loader"),Ti={id:Rr,detector:Si,loader:Ei},Ci=Ti,$r="architecture",ki=t((i)=>/^\s*architecture/.test(i),"detector"),Di=t(async()=>{let{diagram:i}=await (_("y3tb6410"),import("./chunk-y3tb6410.js"));return{id:$r,diagram:i}},"loader"),Mi={id:$r,detector:ki,loader:Di},_i=Mi,zr="eventmodeling",Li=t((i)=>/^\s*eventmodeling/.test(i),"detector"),Ai=t(async()=>{let{diagram:i}=await (_("faskbfjf"),import("./chunk-faskbfjf.js"));return{id:zr,diagram:i}},"loader"),Ii={id:zr,detector:Li,loader:Ai},Ri=Ii,Fr="ishikawa",$i=t((i)=>/^\s*ishikawa(-beta)?\b/i.test(i),"detector"),Oi=t(async()=>{let{diagram:i}=await (_("mn2wv9ye"),import("./chunk-mn2wv9ye.js"));return{id:Fr,diagram:i}},"loader"),Bi={id:Fr,detector:$i,loader:Oi},Or="venn",Pi=t((i)=>/^\s*venn-beta/.test(i),"detector"),Ni=t(async()=>{let{diagram:i}=await (_("9vr6hpmk"),import("./chunk-9vr6hpmk.js"));return{id:Or,diagram:i}},"loader"),Vi={id:Or,detector:Pi,loader:Ni},Gi=Vi,Br="treemap",Hi=t((i)=>/^\s*treemap/.test(i),"detector"),Wi=t(async()=>{let{diagram:i}=await (_("dwtatme7"),import("./chunk-dwtatme7.js"));return{id:Br,diagram:i}},"loader"),Yi={id:Br,detector:Hi,loader:Wi},Pr="usecase",Xi=t((i)=>/^\s*usecase-beta(?:\s|$)/.test(i),"detector"),Ki=t(async()=>{let{diagram:i}=await (_("zpzvz973"),import("./chunk-zpzvz973.js"));return{id:Pr,diagram:i}},"loader"),Zi={id:Pr,detector:Xi,loader:Ki},Nr="wardley",Ji=t((i)=>/^\s*wardley-beta/i.test(i),"detector"),eo=t(async()=>{let{diagram:i}=await (_("8sr9w61v"),import("./chunk-8sr9w61v.js"));return{id:Nr,diagram:i}},"loader"),ro={id:Nr,detector:Ji,loader:eo},to=ro,Vr="cynefin",ao=t((i)=>/^\s*cynefin-beta(?:[\s:]|$)/.test(i),"detector"),io=t(async()=>{let{diagram:i}=await (_("ptpkv0te"),import("./chunk-ptpkv0te.js"));return{id:Vr,diagram:i}},"loader"),oo={id:Vr,detector:ao,loader:io},Gr="railroad",so=t((i)=>/^\s*railroad-beta/i.test(i),"detector"),co=t(async()=>{let{diagram:i}=await (_("d3hyf9yd"),import("./chunk-d3hyf9yd.js"));return{id:Gr,diagram:i}},"loader"),lo={id:Gr,detector:so,loader:co},Ur="railroadEbnf",uo=t((i)=>/^\s*railroad-ebnf-beta/i.test(i),"detector"),yo=t(async()=>{let{diagram:i}=await (_("54mgncq3"),import("./chunk-54mgncq3.js"));return{id:Ur,diagram:i}},"loader"),wo={id:Ur,detector:uo,loader:yo},Wr="railroadAbnf",xo=t((i)=>/^\s*railroad-abnf-beta/i.test(i),"detector"),bo=t(async()=>{let{diagram:i}=await (_("zx3h7v72"),import("./chunk-zx3h7v72.js"));return{id:Wr,diagram:i}},"loader"),So={id:Wr,detector:xo,loader:bo},jr="railroadPeg",Eo=t((i)=>/^\s*railroad-peg-beta/i.test(i),"detector"),To=t(async()=>{let{diagram:i}=await (_("zkq1xknc"),import("./chunk-zkq1xknc.js"));return{id:jr,diagram:i}},"loader"),Do={id:jr,detector:Eo,loader:To},tr=!1,Te=t(()=>{if(tr)return;tr=!0,Zr("error",Ga,(i)=>i.toLowerCase().trim()==="error"),Zr("---",{db:{clear:t(()=>{},"clear")},styles:{},renderer:{draw:t(()=>{},"draw")},parser:{parse:t(()=>{throw Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:t(()=>null,"init")},(i)=>i.toLowerCase().trimStart().startsWith("---")),Ma(ja,ei,_i),Ma(Rt,Ct,ii,Ta,Vt,Kt,ea,aa,va,xa,Ot,_t,Ka,Wt,_a,Ra,da,li,pi,ma,bi,Ri,Ci,hi,Bi,Yi,lo,wo,So,Do,Gi,to,oo,Zi)},"addDiagrams"),Mo=t(async()=>{a.debug("Loading registered diagrams");let n=(await Promise.allSettled(Object.entries(En).map(async([s,{detector:d,loader:c}])=>{if(!c)return;try{Ba(s)}catch{try{let{diagram:l,id:m}=await c();Zr(m,l,d)}catch(l){throw a.error(`Failed to load external diagram with key ${s}. Removing from detectors.`),delete En[s],l}}}))).filter((s)=>s.status==="rejected");if(n.length>0){a.error(`Failed to load ${n.length} external diagrams`);for(let s of n)a.error(s);throw Error(`Failed to load ${n.length} external diagrams`)}},"loadRegisteredDiagrams"),_o="graphics-document document";function qr(i,n){if(i.attr("role",_o),n!=="")i.attr("aria-roledescription",n)}t(qr,"setA11yDiagramInfo");function Xr(i,n,s,d){if(i.insert===void 0)return;if(s){let c=`chart-desc-${d}`;i.attr("aria-describedby",c),i.insert("desc",":first-child").attr("id",c).text(s)}if(n){let c=`chart-title-${d}`;i.attr("aria-labelledby",c),i.insert("title",":first-child").attr("id",c).text(n)}}t(Xr,"addSVGa11yTitleDescription");var Se=class i{constructor(n,s,d,c,l){this.type=n,this.text=s,this.db=d,this.parser=c,this.renderer=l}static{t(this,"Diagram")}static async fromText(n,s={}){let d=typeof n==="string"?{raw:n,cleaned:n}:n,c=x(),l=wr(d.cleaned,c);try{Ba(l)}catch{let h=po(l);if(!h)throw new zi(`Diagram ${l} not found.`);let{id:C,diagram:A}=await h();Zr(C,A)}let{db:m,parser:f,renderer:u,init:v}=Ba(l);if(f.parser)f.parser.yy=m;if(m.clear?.(),v?.(c),s.title)m.setDiagramTitle?.(s.title);let w=d.cleaned;if(m.preserveCommentsWhenParsing&&d.withComments){let h=c.maxTextSize??N.maxTextSize;if(d.withComments.length>h)a.warn(`Comment-preserving source exceeds maxTextSize (${d.withComments.length} > ${h}); parsing the comment-stripped text instead. Reported source positions will not account for comment lines.`);else w=d.withComments}let b=Co(w)+`
3
+ `;if(d.frontmatterLineOffset)m.setFrontmatterLineOffset?.(d.frontmatterLineOffset);return await f.parse(b),new i(l,b,m,f,u)}async render(n,s){await this.renderer.draw(this.text,n,s,this)}getParser(){return this.parser}getType(){return this.type}},ar=[],Lo=t(()=>{ar.forEach((i)=>{i()}),ar=[]},"attachFunctions"),Ao=t((i)=>i.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function Kr(i){let n=Fi(i);if(!n)return{text:i,metadata:{}};let s=n.indent,d=s?n.body.split(`
4
4
  `).map((m)=>m.startsWith(s)?m.slice(s.length):m).join(`
5
- `):n.body,c=rt(d,{schema:nt})??{};c=typeof c==="object"&&!Array.isArray(c)?c:{};let l={};if(c.displayMode)l.displayMode=c.displayMode.toString();if(c.title)l.title=c.title.toString();if(c.config)l.config=c.config;return{text:i.slice(n.length),metadata:l}}t(Zr,"extractFrontMatter");var Io=t((i)=>i.replace(/\r\n?/g,`
6
- `).replace(/<(\w+)([^>]*)>/g,(n,s,d)=>"<"+s+d.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),Ro=t((i)=>{let{text:n,metadata:s}=Zr(i),{displayMode:d,title:c,config:l={}}=s;if(d){if(!l.gantt)l.gantt={};l.gantt.displayMode=d}return{title:c,config:l,text:n}},"processFrontmatter"),$o=t((i)=>{let n=M.detectInit(i)??{},s=M.detectDirective(i,"wrap");if(Array.isArray(s))n.wrap=s.some(({type:d})=>d==="wrap");else if(s?.type==="wrap")n.wrap=!0;return{text:_o(i),directive:n}},"processDirectives");function Ie(i){let n=i,s=Io(i),d=Ro(s),c=$o(d.text),l=U(d.config,c.directive),m=c.text,f=Ao(m),u=s.length>d.text.length?(s.substring(0,s.length-d.text.length).match(/\n/g)??[]).length:0;return{code:{raw:n,cleaned:f,withComments:m,frontmatterLineOffset:u},title:d.title,config:l}}t(Ie,"preprocessDiagram");function Jr(i){let n=new TextEncoder().encode(i),s=Array.from(n,(d)=>String.fromCodePoint(d)).join("");return btoa(s)}t(Jr,"toBase64");var zo=50000,Fo="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",Oo="sandbox",Bo="loose",Po="http://www.w3.org/2000/svg",No="http://www.w3.org/1999/xlink",Vo="http://www.w3.org/1999/xhtml",Go="100%",Ho="100%",Uo="border:0;margin:0;",Wo="margin:0",jo="allow-top-navigation-by-user-activation allow-popups",Yo='The "iframe" tag is not supported by your browser.',qo=["foreignobject"],Xo=["dominant-baseline"];function $e(i){let n=Ie(i);Wr();let s;try{s=xr(n.code.cleaned,x())}catch{s=void 0}return Na(s),fo(n.config??{}),n}t($e,"processAndSetConfigs");async function et(i,n){Te();try{let{code:s,config:d}=$e(i);return{diagramType:(await Se.fromText(s)).type,config:d}}catch(s){if(n?.suppressErrors)return!1;throw s}finally{Na(void 0)}}t(et,"parse");var ir=t((i,n,s=[])=>{let d=Fi(`{ ${s.join(" !important; ")} !important; }`);return`.${i} ${n} ${d}`},"cssImportantStyles"),Ko=t((i,n=new Map)=>{let s=new CSSStyleSheet;if(i.fontFamily!==void 0)s.insertRule(`:root { --mermaid-font-family: ${i.fontFamily}}`,s.cssRules.length);if(i.altFontFamily!==void 0)s.insertRule(`:root { --mermaid-alt-font-family: ${i.altFontFamily}}`,s.cssRules.length);if(n instanceof Map){let f=ke(i)?["> *","span"]:["rect","polygon","ellipse","circle","path"];n.forEach((u)=>{if(!De(u.styles))f.forEach((v)=>{s.insertRule(ir(u.id,v,u.styles),s.cssRules.length)});if(!De(u.textStyles))s.insertRule(ir(u.id,"tspan",(u?.textStyles||[]).map((v)=>v.replace("color","fill"))),s.cssRules.length)})}let d="";if(i.themeCSS!==void 0)if(typeof s.replaceSync==="function"){let c=new CSSStyleSheet;c.replaceSync(i.themeCSS),d=Ma(c)+`
5
+ `):n.body,c=rt(d,{schema:nt})??{};c=typeof c==="object"&&!Array.isArray(c)?c:{};let l={};if(c.displayMode)l.displayMode=c.displayMode.toString();if(c.title)l.title=c.title.toString();if(c.config)l.config=c.config;return{text:i.slice(n.length),metadata:l}}t(Kr,"extractFrontMatter");var Io=t((i)=>i.replace(/\r\n?/g,`
6
+ `).replace(/<(\w+)([^>]*)>/g,(n,s,d)=>"<"+s+d.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),Ro=t((i)=>{let{text:n,metadata:s}=Kr(i),{displayMode:d,title:c,config:l={}}=s;if(d){if(!l.gantt)l.gantt={};l.gantt.displayMode=d}return{title:c,config:l,text:n}},"processFrontmatter"),$o=t((i)=>{let n=M.detectInit(i)??{},s=M.detectDirective(i,"wrap");if(Array.isArray(s))n.wrap=s.some(({type:d})=>d==="wrap");else if(s?.type==="wrap")n.wrap=!0;return{text:ko(i),directive:n}},"processDirectives");function Ie(i){let n=i,s=Io(i),d=Ro(s),c=$o(d.text),l=j(d.config,c.directive),m=c.text,f=Ao(m),u=s.length>d.text.length?(s.substring(0,s.length-d.text.length).match(/\n/g)??[]).length:0;return{code:{raw:n,cleaned:f,withComments:m,frontmatterLineOffset:u},title:d.title,config:l}}t(Ie,"preprocessDiagram");function Qr(i){let n=new TextEncoder().encode(i),s=Array.from(n,(d)=>String.fromCodePoint(d)).join("");return btoa(s)}t(Qr,"toBase64");var zo=50000,Fo="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",Oo="sandbox",Bo="loose",Po="http://www.w3.org/2000/svg",No="http://www.w3.org/1999/xlink",Vo="http://www.w3.org/1999/xhtml",Go="100%",Ho="100%",Uo="border:0;margin:0;",Wo="margin:0",jo="allow-top-navigation-by-user-activation allow-popups",Yo='The "iframe" tag is not supported by your browser.',qo=["foreignobject"],Xo=["dominant-baseline"];function $e(i){let n=Ie(i);Yr();let s;try{s=wr(n.code.cleaned,x())}catch{s=void 0}return Pa(s),go(n.config??{}),n}t($e,"processAndSetConfigs");async function et(i,n){Te();try{let{code:s,config:d}=$e(i);return{diagramType:(await Se.fromText(s)).type,config:d}}catch(s){if(n?.suppressErrors)return!1;throw s}finally{Pa(void 0)}}t(et,"parse");var ir=t((i,n,s=[])=>{let d=Ui(`{ ${s.join(" !important; ")} !important; }`);return`.${i} ${n} ${d}`},"cssImportantStyles"),Ko=t((i,n=new Map)=>{let s=new CSSStyleSheet;if(i.fontFamily!==void 0)s.insertRule(`:root { --mermaid-font-family: ${i.fontFamily}}`,s.cssRules.length);if(i.altFontFamily!==void 0)s.insertRule(`:root { --mermaid-alt-font-family: ${i.altFontFamily}}`,s.cssRules.length);if(n instanceof Map){let f=ke(i)?["> *","span"]:["rect","polygon","ellipse","circle","path"];n.forEach((u)=>{if(!De(u.styles))f.forEach((v)=>{s.insertRule(ir(u.id,v,u.styles),s.cssRules.length)});if(!De(u.textStyles))s.insertRule(ir(u.id,"tspan",(u?.textStyles||[]).map((v)=>v.replace("color","fill"))),s.cssRules.length)})}let d="";if(i.themeCSS!==void 0)if(typeof s.replaceSync==="function"){let c=new CSSStyleSheet;c.replaceSync(i.themeCSS),d=Oa(c)+`
7
7
  `}else d+=`${i.themeCSS}
8
- `;return d+Ma(s)},"createCssStyles"),Qo=t((i,n)=>xe(Je(`${i}{${n}}`),rr([t(function(d,c,l,m){if(d.type==="rule"&&Array.isArray(d.props)){if(d.parent&&d.parent.type===oe)return;d.props=d.props.map((f)=>{if(f===i&&Array.isArray(d.children)&&d.children.every((v)=>{if(v.type!=="decl")return!1;return new Set(["font-family","font-size","fill"]).has(v.props)}))return f;if(!((f.startsWith(`${i} `)||f.startsWith(`${i}>`))&&!f.startsWith(`${i} ||`)))return`${i} ${f}`;return f})}else if(d.type.startsWith("@")){if(![Fe,Be,me,Ne,"@container","@starting-style",oe].includes(d.type))a.warn(`Removing unsupported at-rule ${d.type} from CSS`),d.type=Z}},"addNamespace"),er])),"compileCSS"),Zo=t((i,n,s,d)=>{let c=Ko(i,s),l=go(n,c,{...i.themeVariables,theme:i.theme,look:i.look},d);return Qo(d,l)},"createUserStyles"),Jo=t((i="",n,s)=>{let d=i;if(!s&&!n)d=d.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#');return d=jt(d),d=d.replace(/<br>/g,"<br/>"),d},"cleanUpSvgCode"),en=t((i="",n)=>{let s=n?.viewBox?.baseVal?.height?n.viewBox.baseVal.height+"px":Ho,d=Jr(`<body style="${Wo}">${i}</body>`);return`<iframe style="width:${Go};height:${s};${Uo}" src="data:text/html;charset=UTF-8;base64,${d}" sandbox="${jo}">
8
+ `;return d+Oa(s)},"createCssStyles"),Qo=t((i,n)=>xe(Je(`${i}{${n}}`),rr([t(function(d,c,l,m){if(d.type==="rule"&&Array.isArray(d.props)){if(d.parent&&d.parent.type===oe)return;d.props=d.props.map((f)=>{if(f===i&&Array.isArray(d.children)&&d.children.every((v)=>{if(v.type!=="decl")return!1;return new Set(["font-family","font-size","fill"]).has(v.props)}))return f;if(!((f.startsWith(`${i} `)||f.startsWith(`${i}>`))&&!f.startsWith(`${i} ||`)))return`${i} ${f}`;return f})}else if(d.type.startsWith("@")){if(![Fe,Be,me,Ne,"@container","@starting-style",oe].includes(d.type))a.warn(`Removing unsupported at-rule ${d.type} from CSS`),d.type=Z}},"addNamespace"),er])),"compileCSS"),Zo=t((i,n,s,d)=>{let c=Ko(i,s),l=vo(n,c,{...i.themeVariables,theme:i.theme,look:i.look},d);return Qo(d,l)},"createUserStyles"),Jo=t((i="",n,s)=>{let d=i;if(!s&&!n)d=d.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#');return d=jt(d),d=d.replace(/<br>/g,"<br/>"),d},"cleanUpSvgCode"),en=t((i="",n)=>{let s=n?.viewBox?.baseVal?.height?n.viewBox.baseVal.height+"px":Ho,d=Qr(`<body style="${Wo}">${i}</body>`);return`<iframe style="width:${Go};height:${s};${Uo}" src="data:text/html;charset=UTF-8;base64,${d}" sandbox="${jo}">
9
9
  ${Yo}
10
- </iframe>`},"putIntoIFrame"),or=t((i,n,s,d,c)=>{let l=i.append("div");if(l.attr("id",s),d)l.attr("style",d);let m=l.append("svg").attr("id",n).attr("width","100%").attr("xmlns",Po);if(c)m.attr("xmlns:xlink",c);return m.append("g"),i},"appendDivSvgG");function Ae(i,n){return i.append("iframe").attr("id",n).attr("style","width: 100%; height: 100%;").attr("sandbox","")}t(Ae,"sandboxedIframe");var rn=t((i,n,s,d)=>{i.getElementById(n)?.remove(),i.getElementById(s)?.remove(),i.getElementById(d)?.remove()},"removeExistingElements"),tn=t(async function(i,n,s){Te();let d=$e(n),c=d.code;n=c.cleaned;let l=x();if(a.debug(l),n.length>(l?.maxTextSize??zo))n=Fo,c={raw:n,cleaned:n};let m=`#${i}`,f="i"+i,u="#"+f,v="d"+i,w="#"+v,b=t(()=>{let ie=p(C?u:w).node();if(ie&&"remove"in ie)ie.remove()},"removeTempElements"),h=p(document.body),C=l.securityLevel===Oo,A=l.securityLevel===Bo,k=l.fontFamily;if(s!==void 0){if(s)s.innerHTML="";if(C){let L=Ae(p(s),f);h=p(L.nodes()[0].contentDocument.body),h.node().style.margin="0"}else h=p(s);or(h,i,v,`font-family: ${k}`,No)}else{if(rn(document,i,v,f),C){let L=Ae(p(document.body),f);h=p(L.nodes()[0].contentDocument.body),h.node().style.margin="0"}else h=p("body");or(h,i,v)}let E,D;try{E=await Se.fromText(c,{title:d.title})}catch(L){if(l.suppressErrorRendering)throw b(),L;E=await Se.fromText("error"),D=L,E.db.setErrorMessage?.(Xi(L))}let I=h.select(w).node(),S=E.type,P=I.firstChild,Q=P.firstChild,G=E.renderer.getClasses?.(n,E),z=Zo(l,S,G,m),g=document.createElement("style");g.innerHTML=z,P.insertBefore(g,Q);try{await E.renderer.draw(n,i,"12.2.0",E)}catch(L){if(l.suppressErrorRendering)b();else Ba.draw(n,i,"12.2.0");throw L}let gt=h.select(`${w} svg`),vt=E.db.getAccTitle?.(),yt=E.db.getAccDescription?.();at(S,gt,vt,yt);let wt=t(()=>{h.select(`[id="${i}"]`).selectAll("foreignobject > *").attr("xmlns",Vo);let L=h.select(w).node().innerHTML;if(a.debug("config.arrowMarkerAbsolute",l.arrowMarkerAbsolute),L=Jo(L,C,ht(l.arrowMarkerAbsolute)),C){let ie=h.select(w+" svg").node();L=en(L,ie)}else if(!A)L=Re.sanitize(L,{ADD_TAGS:qo,ADD_ATTR:Xo,HTML_INTEGRATION_POINTS:{foreignobject:!0}});return Lo(),L},"serializeSvg")();if(D)throw D;return b(),{diagramType:S,svg:wt,bindFunctions:E.db.bindFunctions}},"renderDiagram"),an=t(async function(i,n,s){try{return await tn(i,n,s)}finally{Na(void 0)}},"render");function tt(i={}){let n=se({},i);if(n?.fontFamily&&!n.themeVariables?.fontFamily){if(!n.themeVariables)n.themeVariables={};n.themeVariables.fontFamily=n.fontFamily}po(n);let s=on.theme;if(n?.theme&&Object.hasOwn(Kt,n.theme))n.themeVariables=Kt[n.theme].getThemeVariables(n.themeVariables);else if(n){if(n.theme!=null&&n.theme!=="null")n.theme=s;n.themeVariables=Kt[s].getThemeVariables(n.themeVariables)}let d=typeof n==="object"?uo(n):zi();Gr(d.logLevel),Te()}t(tt,"initialize");var nn=t((i,n={})=>{let{code:s}=Ie(i);return Se.fromText(s,n)},"getDiagramFromText");function at(i,n,s,d){Xr(n,i),Qr(n,s,d,n.attr("id"))}t(at,"addA11yInfo");var K=Object.freeze({render:an,parse:et,getDiagramFromText:nn,initialize:tt,getConfig:x,setConfig:Ui,getSiteConfig:zi,updateSiteConfig:mo,reset:t(()=>{Wr()},"reset"),globalReset:t(()=>{Wr(on)},"globalReset"),defaultConfig:on});Gr(x().logLevel);Wr(x());var sn=t((i,n,s)=>{if(a.warn(i),si(i)){if(s)s(i.str,i.hash);n.push({...i,message:i.str,error:i})}else{if(s)s(i);if(i instanceof Error)n.push({str:i.message,message:i.message,hash:i.name,error:i})}},"handleError"),it=t(async function(i={querySelector:".mermaid"}){try{await dn(i)}catch(n){if(si(n))a.error(n.str);if(q.parseError)q.parseError(n);if(!i.suppressErrors)throw a.error("Use the suppressErrors option to suppress these errors"),n}},"run"),dn=t(async function({postRenderCallback:i,querySelector:n,nodes:s}={querySelector:".mermaid"}){let d=K.getConfig();a.debug(`${!i?"No ":""}Callback function found`);let c;if(s)c=s;else if(n)c=document.querySelectorAll(n);else throw Error("Nodes and querySelector are both undefined");if(a.debug(`Found ${c.length} diagrams`),d?.startOnLoad!==void 0)a.debug("Start On Load: "+d?.startOnLoad),K.updateSiteConfig({startOnLoad:d?.startOnLoad});let l=new M.InitIDGenerator(d.deterministicIds,d.deterministicIDSeed),m,f=[];for(let u of Array.from(c)){if(a.info("Rendering diagram: "+u.id),u.getAttribute("data-processed"))continue;u.setAttribute("data-processed","true");let v=`mermaid-${l.next()}`;m=u.innerHTML,m=li(M.entityDecode(m)).trim().replace(/<br\s*\/?>/gi,"<br/>");let w=M.detectInit(m);if(w)a.debug("Detected early reinit: ",w);try{let{svg:b,bindFunctions:h}=await ct(v,m,u);if(u.innerHTML=b,i)await i(v);if(h)h(u)}catch(b){sn(b,f,q.parseError)}}if(f.length>0)throw f[0]},"runThrowsErrors"),ot=t(function(i){K.initialize(i)},"initialize"),cn=t(async function(i,n,s){if(a.warn("mermaid.init is deprecated. Please use run instead."),i)ot(i);let d={postRenderCallback:s,querySelector:".mermaid"};if(typeof n==="string")d.querySelector=n;else if(n)if(n instanceof HTMLElement)d.nodes=[n];else d.nodes=n;await it(d)},"init"),ln=t(async(i,{lazyLoad:n=!0}={})=>{if(Te(),Da(...i),n===!1)await Do()},"registerExternalDiagrams"),st=t(function(){if(q.startOnLoad){let{startOnLoad:i}=K.getConfig();if(i)q.run().catch((n)=>a.error("Mermaid failed to initialize",n))}},"contentLoaded");if(typeof document<"u")window.addEventListener("load",st,!1);var fn=t(function(i){q.parseError=i},"setParseErrorHandler"),Ee=[],Le=!1,dt=t(async()=>{if(Le)return;Le=!0;while(Ee.length>0){let i=Ee.shift();if(i)try{await i()}catch(n){a.error("Error executing queue",n)}}Le=!1},"executeQueue"),mn=t(async(i,n)=>new Promise((s,d)=>{let c=t(()=>new Promise((l,m)=>{K.parse(i,n).then((f)=>{l(f),s(f)},(f)=>{a.error("Error parsing",f),q.parseError?.(f),m(f),d(f)})}),"performCall");Ee.push(c),dt().catch(d)}),"parse"),ct=t((i,n,s)=>new Promise((d,c)=>{let l=t(()=>new Promise((m,f)=>{K.render(i,n,s).then((u)=>{m(u),d(u)},(u)=>{a.error("Error parsing",u),q.parseError?.(u),f(u),c(u)})}),"performCall");Ee.push(l),dt().catch(c)}),"render"),pn=t(()=>Object.keys(Tn).map((i)=>({id:i})),"getRegisteredDiagramsMetadata"),q={startOnLoad:!0,mermaidAPI:K,parse:mn,render:ct,init:cn,run:it,registerExternalDiagrams:ln,registerLayoutLoaders:eo,initialize:ot,parseError:void 0,contentLoaded:st,setParseErrorHandler:fn,detectType:xr,registerIconPacks:In,getRegisteredDiagramsMetadata:pn},Ce=q;/*! Check if previously processed *//*!
10
+ </iframe>`},"putIntoIFrame"),or=t((i,n,s,d,c)=>{let l=i.append("div");if(l.attr("id",s),d)l.attr("style",d);let m=l.append("svg").attr("id",n).attr("width","100%").attr("xmlns",Po);if(c)m.attr("xmlns:xlink",c);return m.append("g"),i},"appendDivSvgG");function Ae(i,n){return i.append("iframe").attr("id",n).attr("style","width: 100%; height: 100%;").attr("sandbox","")}t(Ae,"sandboxedIframe");var rn=t((i,n,s,d)=>{i.getElementById(n)?.remove(),i.getElementById(s)?.remove(),i.getElementById(d)?.remove()},"removeExistingElements"),tn=t(async function(i,n,s){Te();let d=$e(n),c=d.code;n=c.cleaned;let l=x();if(a.debug(l),n.length>(l?.maxTextSize??zo))n=Fo,c={raw:n,cleaned:n};let m=`#${i}`,f="i"+i,u="#"+f,v="d"+i,w="#"+v,b=t(()=>{let ie=p(C?u:w).node();if(ie&&"remove"in ie)ie.remove()},"removeTempElements"),h=p(document.body),C=l.securityLevel===Oo,A=l.securityLevel===Bo,k=l.fontFamily;if(s!==void 0){if(s)s.innerHTML="";if(C){let L=Ae(p(s),f);h=p(L.nodes()[0].contentDocument.body),h.node().style.margin="0"}else h=p(s);or(h,i,v,`font-family: ${k}`,No)}else{if(rn(document,i,v,f),C){let L=Ae(p(document.body),f);h=p(L.nodes()[0].contentDocument.body),h.node().style.margin="0"}else h=p("body");or(h,i,v)}let E,D;try{E=await Se.fromText(c,{title:d.title})}catch(L){if(l.suppressErrorRendering)throw b(),L;E=await Se.fromText("error"),D=L,E.db.setErrorMessage?.(Qi(L))}let I=h.select(w).node(),S=E.type,P=I.firstChild,Q=P.firstChild,H=E.renderer.getClasses?.(n,E),z=Zo(l,S,H,m),g=document.createElement("style");g.innerHTML=z,P.insertBefore(g,Q);try{await E.renderer.draw(n,i,"12.2.0",E)}catch(L){if(l.suppressErrorRendering)b();else Fa.draw(n,i,"12.2.0");throw L}let vt=h.select(`${w} svg`),ht=E.db.getAccTitle?.(),yt=E.db.getAccDescription?.();at(S,vt,ht,yt);let wt=t(()=>{h.select(`[id="${i}"]`).selectAll("foreignobject > *").attr("xmlns",Vo);let L=h.select(w).node().innerHTML;if(a.debug("config.arrowMarkerAbsolute",l.arrowMarkerAbsolute),L=Jo(L,C,gt(l.arrowMarkerAbsolute)),C){let ie=h.select(w+" svg").node();L=en(L,ie)}else if(!A)L=Re.sanitize(L,{ADD_TAGS:qo,ADD_ATTR:Xo,HTML_INTEGRATION_POINTS:{foreignobject:!0}});return Lo(),L},"serializeSvg")();if(D)throw D;return b(),{diagramType:S,svg:wt,bindFunctions:E.db.bindFunctions}},"renderDiagram"),an=t(async function(i,n,s){try{return await tn(i,n,s)}finally{Pa(void 0)}},"render");function tt(i={}){let n=se({},i);if(n?.fontFamily&&!n.themeVariables?.fontFamily){if(!n.themeVariables)n.themeVariables={};n.themeVariables.fontFamily=n.fontFamily}fo(n);let s=sn.theme;if(n?.theme&&Object.hasOwn(Qt,n.theme))n.themeVariables=Qt[n.theme].getThemeVariables(n.themeVariables);else if(n){if(n.theme!=null&&n.theme!=="null")n.theme=s;n.themeVariables=Qt[s].getThemeVariables(n.themeVariables)}let d=typeof n==="object"?mo(n):ji();Hr(d.logLevel),Te()}t(tt,"initialize");var on=t((i,n={})=>{let{code:s}=Ie(i);return Se.fromText(s,n)},"getDiagramFromText");function at(i,n,s,d){qr(n,i),Xr(n,s,d,n.attr("id"))}t(at,"addA11yInfo");var K=Object.freeze({render:an,parse:et,getDiagramFromText:on,initialize:tt,getConfig:x,setConfig:qi,getSiteConfig:ji,updateSiteConfig:ho,reset:t(()=>{Yr()},"reset"),globalReset:t(()=>{Yr(sn)},"globalReset"),defaultConfig:sn});Hr(x().logLevel);Yr(x());var nn=t((i,n,s)=>{if(a.warn(i),ci(i)){if(s)s(i.str,i.hash);n.push({...i,message:i.str,error:i})}else{if(s)s(i);if(i instanceof Error)n.push({str:i.message,message:i.message,hash:i.name,error:i})}},"handleError"),it=t(async function(i={querySelector:".mermaid"}){try{await cn(i)}catch(n){if(ci(n))a.error(n.str);if(q.parseError)q.parseError(n);if(!i.suppressErrors)throw a.error("Use the suppressErrors option to suppress these errors"),n}},"run"),cn=t(async function({postRenderCallback:i,querySelector:n,nodes:s}={querySelector:".mermaid"}){let d=K.getConfig();a.debug(`${!i?"No ":""}Callback function found`);let c;if(s)c=s;else if(n)c=document.querySelectorAll(n);else throw Error("Nodes and querySelector are both undefined");if(a.debug(`Found ${c.length} diagrams`),d?.startOnLoad!==void 0)a.debug("Start On Load: "+d?.startOnLoad),K.updateSiteConfig({startOnLoad:d?.startOnLoad});let l=new M.InitIDGenerator(d.deterministicIds,d.deterministicIDSeed),m,f=[];for(let u of Array.from(c)){if(a.info("Rendering diagram: "+u.id),u.getAttribute("data-processed"))continue;u.setAttribute("data-processed","true");let v=`mermaid-${l.next()}`;m=u.innerHTML,m=ui(M.entityDecode(m)).trim().replace(/<br\s*\/?>/gi,"<br/>");let w=M.detectInit(m);if(w)a.debug("Detected early reinit: ",w);try{let{svg:b,bindFunctions:h}=await ct(v,m,u);if(u.innerHTML=b,i)await i(v);if(h)h(u)}catch(b){nn(b,f,q.parseError)}}if(f.length>0)throw f[0]},"runThrowsErrors"),ot=t(function(i){K.initialize(i)},"initialize"),ln=t(async function(i,n,s){if(a.warn("mermaid.init is deprecated. Please use run instead."),i)ot(i);let d={postRenderCallback:s,querySelector:".mermaid"};if(typeof n==="string")d.querySelector=n;else if(n)if(n instanceof HTMLElement)d.nodes=[n];else d.nodes=n;await it(d)},"init"),fn=t(async(i,{lazyLoad:n=!0}={})=>{if(Te(),Ma(...i),n===!1)await Mo()},"registerExternalDiagrams"),st=t(function(){if(q.startOnLoad){let{startOnLoad:i}=K.getConfig();if(i)q.run().catch((n)=>a.error("Mermaid failed to initialize",n))}},"contentLoaded");if(typeof document<"u")window.addEventListener("load",st,!1);var mn=t(function(i){q.parseError=i},"setParseErrorHandler"),Ee=[],Le=!1,dt=t(async()=>{if(Le)return;Le=!0;while(Ee.length>0){let i=Ee.shift();if(i)try{await i()}catch(n){a.error("Error executing queue",n)}}Le=!1},"executeQueue"),un=t(async(i,n)=>new Promise((s,d)=>{let c=t(()=>new Promise((l,m)=>{K.parse(i,n).then((f)=>{l(f),s(f)},(f)=>{a.error("Error parsing",f),q.parseError?.(f),m(f),d(f)})}),"performCall");Ee.push(c),dt().catch(d)}),"parse"),ct=t((i,n,s)=>new Promise((d,c)=>{let l=t(()=>new Promise((m,f)=>{K.render(i,n,s).then((u)=>{m(u),d(u)},(u)=>{a.error("Error parsing",u),q.parseError?.(u),f(u),c(u)})}),"performCall");Ee.push(l),dt().catch(c)}),"render"),pn=t(()=>Object.keys(En).map((i)=>({id:i})),"getRegisteredDiagramsMetadata"),q={startOnLoad:!0,mermaidAPI:K,parse:un,render:ct,init:ln,run:it,registerExternalDiagrams:fn,registerLayoutLoaders:no,initialize:ot,parseError:void 0,contentLoaded:st,setParseErrorHandler:mn,detectType:wr,registerIconPacks:Dn,getRegisteredDiagramsMetadata:pn},Ce=q;/*! Check if previously processed *//*!
11
11
  * Wait for document loaded before starting the execution
12
12
  */function lt(i,n){if(!(n instanceof Error)||!("hash"in n))return;let s=n.hash;if(typeof s!=="object"||s===null)return;if(!("token"in s)||s.token!=="LINK_ID")return;if(!("text"in s)||typeof s.text!=="string"||!s.text.endsWith("@"))return;if(!("line"in s)||typeof s.line!=="number"||!Number.isInteger(s.line))return;let d=i.split(`
13
13
  `),c=d[s.line];if(c===void 0)return;let l=c.lastIndexOf(s.text);if(l<0)return;let m=l+s.text.length-1;return d[s.line]=`${c.slice(0,m)}&#64;${c.slice(m+1)}`,d.join(`
@@ -18,4 +18,4 @@ import{_,o,W,r,e,y}from"./chunk-ve8gy05p.js";import{t,a,Gr,Re,$i,Bi,Tn,xr,Da,co,
18
18
  .edgeLabel, .edgeLabel p, .edgeLabel rect { border-radius: 999px; font-size: 12px; }
19
19
  .edgeLabel p { padding: 1px 6px; }
20
20
  .cluster rect { rx: 12px; ry: 12px; stroke-dasharray: 4 3; }
21
- `}var gn=60,ae=new Map;function ut(i,n,s=""){return`${n}:${s}:${i}`}function vn(i,n){if(ae.size>=gn){let s=ae.keys().next().value;if(s!==void 0)ae.delete(s)}ae.set(i,n)}var pt;function hn(i,n,s){let d=s??i;if(pt===d)return;Ce.initialize({startOnLoad:!1,suppressErrorRendering:!0,securityLevel:"strict",theme:"base",themeVariables:ft(i,n),themeCSS:mt(i),fontFamily:n?.fonts?.sans||"var(--font-sans)",flowchart:{useMaxWidth:!1,curve:"basis",padding:14,nodeSpacing:44,rankSpacing:56},sequence:{useMaxWidth:!1},state:{useMaxWidth:!1},class:{useMaxWidth:!1},er:{useMaxWidth:!1},gantt:{useMaxWidth:!1},mindmap:{useMaxWidth:!1},timeline:{useMaxWidth:!1}}),pt=d}var yn=0,wn=32;async function xn(i,n,s,d,c){hn(n,d,c);let l=`${s}-${++yn}`,m=i,f=0;try{while(!0)try{let{svg:u}=await Ce.render(l,m);return u.replace(/filter="url\(#[^"]+\)"/g,"").replace(/filter:\s*url\(#[^)]+\);?/g,"")}catch(u){let v=f<wn?lt(m,u):void 0;if(!v)throw u;m=v,f+=1}}finally{document.getElementById(`d${l}`)?.remove()}}var bn=(i)=>i instanceof Error?i.message:String(i);function Ts(i){let n=y(),s=n.useTheme?.(),d=n.useColorScheme?.(),c=s?.resolved??d??"light",l=s?.tokens,m=s?.themeID?`${s.themeID}-${c}`:c,f=`mermaid-${W().replace(/[^\w-]/g,"")}`,u=i.code.trim(),[v,w]=r(()=>ae.get(ut(u,c,m))),[b,h]=r(),[C,A]=r(!v);return o(()=>{let k=ut(u,c,m),E=ae.get(k);if(E){w(E),h(void 0),A(!1);return}let D=!0;A(!0);let I=setTimeout(async()=>{try{if(i.streaming&&!await Ce.parse(u,{suppressErrors:!0})){if(D)A(!1);return}let S=await xn(u,c,f,l,m);if(vn(k,S),!D)return;w(S),h(void 0)}catch(S){if(D)h(bn(S))}if(D)A(!1)},i.streaming?200:0);return()=>{D=!1,clearTimeout(I)}},[u,c,m,l,i.streaming,f]),e(ra,{title:"流程图",code:i.code,codeLang:"mermaid",rendered:Boolean(v),pending:C,streaming:i.streaming,error:b,children:e("div",{role:"img","aria-label":"Mermaid 流程图",className:"flex overflow-x-auto px-6 py-7 [background-image:radial-gradient(var(--color-line)_1px,transparent_1px)] [background-size:16px_16px] [&_svg]:mx-auto [&_svg]:h-auto [&_svg]:max-w-full",dangerouslySetInnerHTML:{__html:v??""}})})}export{Ts as MermaidBlock};
21
+ `}var gn=60,ae=new Map;function ut(i,n,s=""){return`${n}:${s}:${i}`}function vn(i,n){if(ae.size>=gn){let s=ae.keys().next().value;if(s!==void 0)ae.delete(s)}ae.set(i,n)}var pt;function hn(i,n,s){let d=s??i;if(pt===d)return;Ce.initialize({startOnLoad:!1,suppressErrorRendering:!0,securityLevel:"strict",theme:"base",themeVariables:ft(i,n),themeCSS:mt(i),fontFamily:n?.fonts?.sans||"var(--font-sans)",flowchart:{useMaxWidth:!1,curve:"basis",padding:14,nodeSpacing:44,rankSpacing:56},sequence:{useMaxWidth:!1},state:{useMaxWidth:!1},class:{useMaxWidth:!1},er:{useMaxWidth:!1},gantt:{useMaxWidth:!1},mindmap:{useMaxWidth:!1},timeline:{useMaxWidth:!1}}),pt=d}var yn=0,wn=32;async function xn(i,n,s,d,c){hn(n,d,c);let l=`${s}-${++yn}`,m=i,f=0;try{while(!0)try{let{svg:u}=await Ce.render(l,m);return u.replace(/filter="url\(#[^"]+\)"/g,"").replace(/filter:\s*url\(#[^)]+\);?/g,"")}catch(u){let v=f<wn?lt(m,u):void 0;if(!v)throw u;m=v,f+=1}}finally{document.getElementById(`d${l}`)?.remove()}}var bn=(i)=>i instanceof Error?i.message:String(i);function Ts(i){let n=y(),s=n.useTheme?.(),d=n.useColorScheme?.(),c=s?.resolved??d??"light",l=s?.tokens,m=s?.themeID?`${s.themeID}-${c}`:c,f=`mermaid-${G().replace(/[^\w-]/g,"")}`,u=i.code.trim(),[v,w]=r(()=>ae.get(ut(u,c,m))),[b,h]=r(),[C,A]=r(!v);return o(()=>{let k=ut(u,c,m),E=ae.get(k);if(E){w(E),h(void 0),A(!1);return}let D=!0;A(!0);let I=setTimeout(async()=>{try{if(i.streaming&&!await Ce.parse(u,{suppressErrors:!0})){if(D)A(!1);return}let S=await xn(u,c,f,l,m);if(vn(k,S),!D)return;w(S),h(void 0)}catch(S){if(D)h(bn(S))}if(D)A(!1)},i.streaming?200:0);return()=>{D=!1,clearTimeout(I)}},[u,c,m,l,i.streaming,f]),e(ia,{title:"流程图",code:i.code,codeLang:"mermaid",rendered:Boolean(v),pending:C,streaming:i.streaming,error:b,children:e("div",{role:"img","aria-label":"Mermaid 流程图",className:"flex overflow-x-auto px-6 py-7 [background-image:radial-gradient(var(--color-line)_1px,transparent_1px)] [background-size:16px_16px] [&_svg]:mx-auto [&_svg]:h-auto [&_svg]:max-w-full",dangerouslySetInnerHTML:{__html:v??""}})})}export{Ts as MermaidBlock};
@@ -0,0 +1 @@
1
+ import{Ni}from"./chunk-p4pqtybm.js";export{Ni as createPieServices};
@@ -0,0 +1 @@
1
+ import{ir}from"./chunk-p4pqtybm.js";export{ir as createRailroadServices};
@@ -1 +1 @@
1
- import{h,o,i,r,m,e,n,y,s,te,st,Te,oe,ne,je,Ke,Q,Z}from"./chunk-ve8gy05p.js";import{$r,Br,Fr}from"./chunk-1m6fx2h7.js";var ke=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],ye=s("rotate-cw",ke);function Ce(t){let p=[],g="",S,v=!1;for(let f=0;f<t.length;f++){let c=t.charAt(f);if(S)if(c===S)S=void 0;else if(c==="\\"&&S==='"'&&f+1<t.length)g+=t[++f];else g+=c;else if(c==='"'||c==="'")S=c,v=!0;else if(c==="\\"&&f+1<t.length)g+=t[++f],v=!0;else if(/\s/.test(c)){if(v||g)p.push(g);g="",v=!1}else g+=c,v=!0}if(v||g)p.push(g);return p}function fe(t){return t.map((p)=>p===""||/[\s"'\\]/.test(p)?`"${p.replace(/(["\\])/g,"\\$1")}"`:p).join(" ")}var $e={connected:{label:"已连接",dot:"bg-success"},idle:{label:"待连接",dot:"bg-faint"},disabled:{label:"已停用",dot:"bg-faint"},failed:{label:"连接失败",dot:"bg-danger"},needs_auth:{label:"需要认证",dot:"bg-warning"}};function ge(t){if(t==="project")return"项目";if(t==="file")return".mcp.json";return"全局"}function pe(t){return t.type==="local"?fe(t.command):t.url}function he({info:t,tools:p=!1}){let g=$e[t.status.status];return n("span",{className:"inline-flex shrink-0 items-center gap-1.5 text-xs text-dim",children:[e("span",{"aria-hidden":!0,className:`size-1.5 shrink-0 rounded-full ${g.dot}`}),e("span",{className:p?void 0:"hidden @md/panel:inline",children:g.label}),p&&t.status.status==="connected"&&n("span",{className:"text-faint",children:[t.toolCount," 个工具"]})]})}function xe(t){let{Button:p,CopyButton:g,DetailChip:S,DetailList:v,DetailRow:f,DetailTitle:c,Dialog:D,Switch:M,Tooltip:V,cn:d,confirm:Y,useTheme:I}=y();I();let{info:u,connection:E}=t,k=t.projectID?`?projectID=${encodeURIComponent(t.projectID)}`:"",[B,ee]=r(),[le,F]=r(),[T,P]=r(!1),J=u.status.status==="connected",j=u.status.status==="needs_auth",U=u.status.status==="failed",L=u.config.type==="remote"&&Boolean(u.config.oauth),R=u.scope==="file";o(()=>{function l(N){if(N&&N!==u.name)return;E.request(`/api/mcp/${encodeURIComponent(u.name)}/connect${k}`,{method:"POST"}).then((re)=>t.onChanged(re)).catch(()=>{})}function ie(N){if(N.data?.type==="mcp-oauth-success")l(N.data.name)}function de(N){if(N.key==="basalt-mcp-oauth-event"&&N.newValue)try{let re=JSON.parse(N.newValue);l(re.name)}catch(re){}}window.addEventListener("message",ie),window.addEventListener("storage",de);let q;if("BroadcastChannel"in window)q=new BroadcastChannel("basalt-mcp-oauth"),q.onmessage=(N)=>{if(N.data?.type==="mcp-oauth-success")l(N.data.name)};return()=>{window.removeEventListener("message",ie),window.removeEventListener("storage",de),q?.close()}},[E,u.name,k,t]),o(()=>{if(u.status.status!=="connected")return;E.request(`/api/mcp/${encodeURIComponent(u.name)}/tools${k}`).then((l)=>{if(Array.isArray(l))ee(l),F(void 0)}).catch((l)=>{F(l instanceof Error?l.message:"获取工具失败")})},[E,u.name,k,u.status.status]);async function ae(l){P(!0);try{let ie=await E.request(`/api/mcp/${encodeURIComponent(u.name)}/${l}${k}`,{method:"POST"});t.onChanged(ie)}catch{}finally{P(!1)}}async function se(){P(!0);try{let l=u.status.status==="needs_auth"?u.status.authorizationUrl:void 0;if(!l)l=(await E.request(`/api/mcp/${encodeURIComponent(u.name)}/oauth/authorize${k}`,{method:"POST"})).authorizationUrl;if(l)window.open(l,"_blank","width=600,height=700")}catch(l){F(l instanceof Error?l.message:"获取授权链接失败")}finally{P(!1)}}async function _(){P(!0);try{let l=await E.request(`/api/mcp/${encodeURIComponent(u.name)}/oauth/clear${k}`,{method:"POST"});t.onChanged(l)}finally{P(!1)}}async function a(){if(!await Y({title:`删除 ${u.name}?`,description:"删除后将断开连接并不再向会话提供其工具。",action:"删除",danger:!0}))return;P(!0);try{await E.request(`/api/mcp/${encodeURIComponent(u.name)}${k}`,{method:"DELETE"}),t.onChanged(),t.onClose()}finally{P(!1)}}let C=u.config,x=pe(C),W="error"in u.status?u.status.error:void 0,z=C.enabled===!1,ce=!z&&!j;return e(D,{open:!0,onOpenChange:(l)=>{if(!l&&!T)t.onClose()},title:e(c,{icon:C.type==="local"?e(Ke,{}):e(Te,{}),name:u.name,meta:[C.type==="local"?"本地命令":"远程服务",ge(u.scope),L&&"OAuth 2.0"]}),size:"lg",footer:n("div",{className:"flex w-full items-center justify-between gap-2 max-sm:[&>*]:flex-none",children:[n("div",{className:"inline-flex items-center gap-2.5 text-[13px] text-dim",children:[!R&&e(M,{label:`启用 ${u.name}`,checked:!z,disabled:T||t.toggling,onCheckedChange:t.onToggle}),e(he,{info:u,tools:!0})]}),n("div",{className:"flex items-center gap-1.5",children:[L&&e(p,{type:"button",variant:"ghost",size:"sm",onClick:_,disabled:T,children:"清除凭据"}),!R&&e(V,{label:"删除服务器",children:e(p,{type:"button",variant:"danger-ghost",size:"icon","aria-label":"删除服务器",onClick:a,disabled:T,children:e(Q,{className:"size-4"})})}),ce&&e(V,{label:"终止服务进程并重新启动,让更新后的代码生效",children:e(p,{type:"button",variant:"ghost",size:"icon","aria-label":"重启",onClick:()=>ae("restart"),disabled:T,children:e(ye,{className:d("size-4",T&&"animate-spin")})})}),ce&&e(p,{type:"button",size:"sm",onClick:()=>ae(J?"disconnect":"connect"),disabled:T,children:J?"断开连接":"连接"}),!R&&n(p,{type:"button",size:"sm",onClick:t.onEdit,disabled:T,children:[e(je,{className:"size-3.5"}),e("span",{children:"编辑配置"})]})]})]}),children:n(v,{children:[n(f,{label:C.type==="local"?"命令":"地址",children:[e("span",{className:"min-w-0 font-mono text-[12px] text-dim leading-5.5 [overflow-wrap:anywhere]",children:x}),e(g,{text:x,label:"复制",size:"icon-xs",className:"shrink-0 text-faint hover:text-ink"})]}),j&&n(f,{label:"授权",children:[e("span",{className:"text-dim leading-7",children:"需要完成 OAuth 授权后才能使用,令牌会自动保存。"}),e(p,{type:"button",variant:"primary",size:"sm",onClick:se,disabled:T,children:"前往授权"})]}),U&&e(f,{label:"错误",children:e("p",{className:"min-w-0 font-mono text-[11.5px] text-danger leading-5 [overflow-wrap:anywhere]",children:W})}),e(f,{label:"工具",children:le?e("span",{className:"text-danger",children:le}):!J?e("span",{className:"text-faint",children:"连接后列出工具"}):!B?e("span",{role:"status",className:"text-faint",children:"正在获取"}):B.length===0?e("span",{className:"text-faint",children:"服务器没有声明任何工具"}):B.map((l)=>e(S,{mono:!0,title:l.description,children:l.name},l.name))})]})})}var Pe=/^[A-Za-z0-9_-]{1,64}$/;function K(t){return e("span",{className:"truncate text-xs text-faint",children:t.children})}function Ne(t){let{pairs:p,onChange:g,InputComponent:S}=t,v=(f,c)=>g(p.map((D,M)=>M===f?{...D,...c}:D));return n("div",{className:"space-y-2",children:[n("div",{className:"flex min-h-7 items-center gap-2",children:[e("span",{className:"shrink-0 text-[13px] font-medium text-dim",children:t.label}),e(K,{children:t.tip}),n("button",{type:"button",className:"ml-auto inline-flex h-7 shrink-0 cursor-pointer items-center gap-1 rounded-lg px-2 text-xs font-medium text-dim transition-colors hover:bg-raised hover:text-ink",onClick:()=>g([...p,{key:"",value:"",saved:!1}]),children:[e(oe,{className:"size-3.5"}),"添加"]})]}),p.map((f,c)=>n("div",{className:"flex min-w-0 items-center gap-1.5",children:[e(S,{"aria-label":`${t.keyLabel} ${c+1}`,placeholder:t.keyLabel,value:f.key,readOnly:f.saved,onChange:(D)=>v(c,{key:D.target.value}),className:"min-w-0 flex-[2] font-mono text-xs"}),e(S,{"aria-label":`${t.keyLabel} ${f.key||c+1} 的值`,type:"password",autoComplete:"off",placeholder:f.saved?"已保存,留空保持不变":"值",value:f.value,onChange:(D)=>v(c,{value:D.target.value}),className:"min-w-0 flex-[3] font-mono text-xs"}),e("button",{type:"button","aria-label":`删除 ${f.key||"该项"}`,className:"flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-lg text-faint transition-colors hover:bg-danger/10 hover:text-danger",onClick:()=>g(p.filter((D,M)=>M!==c)),children:e(Z,{className:"size-4"})})]},c))]})}function we(t){return Object.keys(t??{}).map((p)=>({key:p,value:"",saved:!0}))}function Ie(t){let{Button:p,Segmented:g,Dialog:S,Form:v,Field:f,Input:c,Switch:D,style:M,useTheme:V}=y();V();let{existing:d}=t,[Y,I]=r(d?.config.type??"local"),[u,E]=r(d?.name??""),[k,B]=r(d?.config.type==="local"?fe(d.config.command):""),[ee,le]=r(d?.config.type==="remote"?d.config.url:""),[F,T]=r(we(d?.config.type==="local"?d.config.environment:void 0)),[P,J]=r(we(d?.config.type==="remote"?d.config.headers:void 0)),j=d?.config.type==="remote"?d.config.oauth:void 0,[U,L]=r(Boolean(j)),[R,ae]=r(typeof j==="object"&&j.clientId?j.clientId:""),[se,_]=r(""),[a,C]=r(typeof j==="object"&&j.scope?j.scope:""),[x,W]=r(d?.config.defer??"default"),[z,ce]=r(d?.config.timeout!==void 0?String(d.config.timeout):""),[l,ie]=r(d?.config.defer!==void 0||d?.config.timeout!==void 0),[de,q]=r(),[N,re]=r(!1);async function Se(b){b.preventDefault(),q(void 0);let w=u.trim();if(!d&&!Pe.test(w)){q("名称只能包含英文字母、数字、下划线与中划线,长度 1-64");return}if(!d&&t.taken.includes(w)){q("同名服务器已存在");return}let ue=z.trim()?Number.parseInt(z.trim(),10):void 0;if(ue!==void 0&&(!Number.isFinite(ue)||ue<=0)){q("超时时间须为大于 0 的毫秒数");return}let be;if(Y==="local"){let H=Ce(k.trim());if(!H.length){q("请输入启动命令");return}let G={};for(let A of F){let O=A.key.trim();if(!O)continue;if(!A.saved||A.value)G[O]=A.value}be={type:"local",command:H,environment:Object.keys(G).length?G:void 0,enabled:d?d.config.enabled:!0,defer:x==="default"?void 0:x,timeout:ue}}else{let H=ee.trim();try{let O=new URL(H);if(O.protocol!=="http:"&&O.protocol!=="https:")throw Error("bad protocol")}catch{q("请输入合法的 HTTP 或 HTTPS 地址");return}let G={};for(let O of P){let me=O.key.trim();if(!me)continue;if(!O.saved||O.value)G[me]=O.value}let A;if(U){let O=R.trim(),me=se.trim(),ve=a.trim();if(O||me||ve)A={clientId:O||void 0,clientSecret:me||void 0,scope:ve||void 0};else A=!0}else A=!1;be={type:"remote",url:H,headers:Object.keys(G).length?G:void 0,oauth:A,enabled:d?d.config.enabled:!0,defer:x==="default"?void 0:x,timeout:ue}}re(!0);try{let H=d?.name??w,G=d?d.projectID:t.projectID,A=G?`?projectID=${encodeURIComponent(G)}`:"";await t.connection.request(`/api/mcp/${encodeURIComponent(H)}${A}`,{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify(be)}),t.onSaved()}catch(H){q(H instanceof Error?H.message:"保存失败")}finally{re(!1)}}return e(S,{open:!0,onOpenChange:(b)=>{if(!b&&!N)t.onClose()},title:d?`编辑 ${d.name}`:"添加 MCP 服务器",size:"lg",footer:n("div",{className:"flex w-full justify-end gap-2.5",children:[e(p,{type:"button",variant:"ghost",onClick:t.onClose,disabled:N,className:"min-w-20",children:"取消"}),e(p,{type:"submit",form:"mcp-server-form",variant:"primary",disabled:N,className:"min-w-24",children:N?"保存中...":"保存"})]}),children:n(v,{id:"mcp-server-form",onSubmit:Se,children:[e(g,{value:Y,onChange:(b)=>I(b),className:"w-full [&>button]:flex-1",options:[{value:"local",label:"本地(标准输入输出)"},{value:"remote",label:"远程(HTTP / SSE)"}]}),!d&&e(f,{label:"名称",aside:e(K,{children:"唯一标识,如 postgres"}),children:(b)=>e(c,{id:b,value:u,onChange:(w)=>E(w.target.value),placeholder:"postgres",className:"font-mono text-xs"})}),Y==="local"?n(m,{children:[e(f,{label:"启动命令",aside:e(K,{children:"完整命令及参数"}),children:(b)=>e(c,{id:b,value:k,onChange:(w)=>B(w.target.value),placeholder:"npx -y @modelcontextprotocol/server-postgres ...",className:"font-mono text-xs"})}),e(Ne,{label:"环境变量",tip:"启动进程时注入",keyLabel:"变量名",pairs:F,onChange:T,InputComponent:c})]}):n(m,{children:[e(f,{label:"服务地址",aside:e(K,{children:"HTTP / HTTPS 端点"}),children:(b)=>e(c,{id:b,value:ee,onChange:(w)=>le(w.target.value),placeholder:"https://example.com/mcp",className:"font-mono text-xs"})}),e(Ne,{label:"请求头",tip:"随每次请求发送",keyLabel:"头字段",pairs:P,onChange:J,InputComponent:c}),n("div",{className:"flex items-center justify-between gap-4",children:[n("div",{className:"min-w-0",children:[e("span",{className:"block text-[13px] font-medium text-dim",children:"OAuth 2.0 认证"}),e("span",{className:"block truncate text-xs text-faint",children:"自动发现授权端点,使用 PKCE 并刷新令牌"})]}),e(D,{checked:U,onCheckedChange:L,label:"启用 OAuth 2.0"})]}),U&&n(m,{children:[e(f,{label:"Client ID",aside:e(K,{children:"留空自动动态注册(DCR)"}),children:(b)=>e(c,{id:b,value:R,onChange:(w)=>ae(w.target.value),placeholder:"留空自动动态注册",className:"font-mono text-xs"})}),e(f,{label:"Client Secret",aside:e(K,{children:"留空保持不变"}),children:(b)=>e(c,{id:b,type:"password",autoComplete:"off",value:se,onChange:(w)=>_(w.target.value),placeholder:"••••••••",className:"font-mono text-xs"})}),e(f,{label:"Scope",aside:e(K,{children:"选填授权范围"}),children:(b)=>e(c,{id:b,value:a,onChange:(w)=>C(w.target.value),placeholder:"repo read:org",className:"font-mono text-xs"})})]})]}),n("div",{className:"space-y-3 border-t border-line/60 pt-3",children:[n("button",{type:"button","aria-expanded":l,className:"flex w-full cursor-pointer items-center gap-1.5 text-[13px] font-medium text-dim transition-colors hover:text-ink",onClick:()=>ie(!l),children:[e(st,{className:`size-3.5 transition-transform ${l?"rotate-90":""}`}),"高级设置",e("span",{className:"truncate text-xs font-normal text-faint",children:"加载时机、超时"})]}),l&&n("div",{className:"grid grid-cols-2 gap-3 max-sm:grid-cols-1",children:[e(f,{label:"加载时机",aside:e(K,{children:"延迟 = 按需加载"}),children:()=>e(g,{value:x,onChange:(b)=>W(b),className:"w-full [&>button]:flex-1",options:[{value:"default",label:"默认"},{value:"defer",label:"延迟"},{value:"always",label:"常驻"}]})}),e(f,{label:"超时(毫秒)",aside:e(K,{children:"留空用默认"}),children:(b)=>e(c,{id:b,value:z,onChange:(w)=>ce(w.target.value),placeholder:"默认",className:"font-mono text-xs"})})]})]}),de&&n("div",{role:"alert",className:M("callout.base",M("callout.danger"),"px-3 py-2.5 text-xs"),children:[e(te,{className:"mt-0.5 size-3.5 shrink-0"}),e("span",{className:"min-w-0 break-words",children:de})]})]})})}var X="global";function at({connection:t}){let{Button:p,Select:g,CatalogRow:S,style:v,useTheme:f}=y();f();let[c,D]=r(""),[M,V]=r(),[d,Y]=r([]),[I,u]=r(X),[E,k]=r(),[B,ee]=r(!1),[le,F]=r(),[T,P]=r(!1),J=i(!1),[j,U]=r(),L=i(0),R=h(async()=>{let a=++L.current;ee(!0);try{let C=I===X?"":`?projectID=${encodeURIComponent(I)}`,[x,W]=await Promise.all([t.request(`/api/mcp${C}`),t.request("/api/mcp/projects")]);if(a!==L.current)return;if(V(x),Y(W),I!==X&&!W.some((z)=>z.id===I))u(X);k(void 0)}catch(C){if(a===L.current)k(C instanceof Error?C.message:"读取失败")}finally{if(a===L.current)ee(!1)}},[t,I]);o(()=>(R(),()=>{L.current++}),[R]);async function ae(a,C){if(J.current)return;J.current=!0,P(!0);let x=L.current;try{let W=a.projectID?`?projectID=${encodeURIComponent(a.projectID)}`:"",z=await t.request(`/api/mcp/${encodeURIComponent(a.name)}${W}`,{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({...a.config,enabled:C})});if(x===L.current)V((ce)=>ce?.map((l)=>l.name===z.name&&l.projectID===z.projectID?z:l))}finally{J.current=!1,P(!1)}}let se=M?.filter((a)=>`${a.name} ${pe(a.config)}`.toLowerCase().includes(c.trim().toLowerCase())),_=M?.find((a)=>a.name===le);return n("div",{className:"min-w-0 space-y-6",children:[n("section",{className:"min-w-0",children:[n("div",{className:"mb-2.5 flex flex-wrap items-end justify-between gap-3 px-0.5",children:[n("div",{className:"min-w-0 flex-1 basis-48",children:[e("h2",{className:v("settings.groupTitle"),children:"MCP 服务器"}),e("p",{className:v("settings.groupDesc"),children:"外部工具与数据源管理"})]}),n("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[e(g,{value:I,disabled:B,onValueChange:(a)=>{F(void 0),U(void 0),V(void 0),u(a)},groups:[{options:[{value:X,label:"全局"}]},...$r(d)],className:"w-44"}),e(p,{variant:"ghost",disabled:B,onClick:R,className:"h-9 px-2.5 text-xs",children:e(ne,{className:`size-3.5 ${B?"animate-spin":""}`})}),n(p,{variant:"secondary",onClick:()=>U({}),className:"h-9 px-2.5 text-xs",children:[e(oe,{className:"size-3.5 mr-1"}),"添加服务器"]})]})]}),E&&n("div",{role:"alert",className:v("callout.base",v("callout.danger"),"mb-3 flex-wrap items-center justify-between"),children:[n("p",{className:"min-w-0 flex-1 break-words text-sm text-danger",children:["无法读取 MCP 服务器:",E]}),e(p,{disabled:B,onClick:R,children:"重试"})]}),e(Br,{label:"搜索 MCP 服务器",placeholder:"搜索服务器",value:c,onChange:D}),e("div",{className:v("settings.groupBox"),children:!M?e(Fr,{}):se?.length===0?e("p",{className:"p-4 text-sm text-dim",children:"没有匹配的 MCP 服务器"}):e("ul",{className:"divide-y divide-line",children:se?.map((a)=>{let C=a.config.enabled===!1,x=a.scope==="file";return e("li",{children:e(S,{name:a.name,selectLabel:`查看 ${a.name}`,onSelect:()=>F(a.name),title:x?"来自项目的 .mcp.json,配置只读,可查看工具与重启":void 0,description:e("span",{className:"font-mono text-[11px]",children:pe(a.config)}),icon:a.config.type==="local"?e(Ke,{}):e(Te,{}),inactive:C,aside:n(m,{children:[e("span",{className:v("control.badge"),children:ge(a.scope)}),e(he,{info:a})]}),toggle:x?void 0:{checked:!C,label:`启用服务器 ${a.name}`,disabled:T||B,onCheckedChange:(W)=>ae(a,W)}})},a.name)})})})]}),_&&!j&&e(xe,{connection:t,info:_,toggling:T,onToggle:(a)=>ae(_,a),projectID:I===X?void 0:I,onClose:()=>F(void 0),onEdit:()=>U({info:_}),onChanged:(a)=>a?V((C)=>C?.map((x)=>x.name===a.name?a:x)):R()},`${_.projectID}:${_.name}`),j&&e(Ie,{connection:t,projectID:I===X?void 0:I,existing:j.info,taken:(M??[]).filter((a)=>a.scope===(I===X?"global":"project")).map((a)=>a.name),onClose:()=>U(void 0),onSaved:()=>{U(void 0),R()}})]})}export{at as McpSection};
1
+ import{h,o,i,r,m,e,n,y,s,te,lt,Te,oe,ne,je,Ke,Q,Z}from"./chunk-ty2rmwda.js";import{Fr,zr,Ur}from"./chunk-kk5rw81s.js";var ke=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],ye=s("rotate-cw",ke);function Ce(t){let p=[],g="",S,v=!1;for(let f=0;f<t.length;f++){let c=t.charAt(f);if(S)if(c===S)S=void 0;else if(c==="\\"&&S==='"'&&f+1<t.length)g+=t[++f];else g+=c;else if(c==='"'||c==="'")S=c,v=!0;else if(c==="\\"&&f+1<t.length)g+=t[++f],v=!0;else if(/\s/.test(c)){if(v||g)p.push(g);g="",v=!1}else g+=c,v=!0}if(v||g)p.push(g);return p}function fe(t){return t.map((p)=>p===""||/[\s"'\\]/.test(p)?`"${p.replace(/(["\\])/g,"\\$1")}"`:p).join(" ")}var $e={connected:{label:"已连接",dot:"bg-success"},idle:{label:"待连接",dot:"bg-faint"},disabled:{label:"已停用",dot:"bg-faint"},failed:{label:"连接失败",dot:"bg-danger"},needs_auth:{label:"需要认证",dot:"bg-warning"}};function ge(t){if(t==="project")return"项目";if(t==="file")return".mcp.json";return"全局"}function pe(t){return t.type==="local"?fe(t.command):t.url}function he({info:t,tools:p=!1}){let g=$e[t.status.status];return n("span",{className:"inline-flex shrink-0 items-center gap-1.5 text-xs text-dim",children:[e("span",{"aria-hidden":!0,className:`size-1.5 shrink-0 rounded-full ${g.dot}`}),e("span",{className:p?void 0:"hidden @md/panel:inline",children:g.label}),p&&t.status.status==="connected"&&n("span",{className:"text-faint",children:[t.toolCount," 个工具"]})]})}function xe(t){let{Button:p,CopyButton:g,DetailChip:S,DetailList:v,DetailRow:f,DetailTitle:c,Dialog:D,Switch:M,Tooltip:V,cn:d,confirm:Y,useTheme:I}=y();I();let{info:u,connection:E}=t,k=t.projectID?`?projectID=${encodeURIComponent(t.projectID)}`:"",[B,ee]=r(),[le,F]=r(),[T,P]=r(!1),J=u.status.status==="connected",j=u.status.status==="needs_auth",U=u.status.status==="failed",L=u.config.type==="remote"&&Boolean(u.config.oauth),R=u.scope==="file";o(()=>{function l(N){if(N&&N!==u.name)return;E.request(`/api/mcp/${encodeURIComponent(u.name)}/connect${k}`,{method:"POST"}).then((re)=>t.onChanged(re)).catch(()=>{})}function ie(N){if(N.data?.type==="mcp-oauth-success")l(N.data.name)}function de(N){if(N.key==="basalt-mcp-oauth-event"&&N.newValue)try{let re=JSON.parse(N.newValue);l(re.name)}catch(re){}}window.addEventListener("message",ie),window.addEventListener("storage",de);let q;if("BroadcastChannel"in window)q=new BroadcastChannel("basalt-mcp-oauth"),q.onmessage=(N)=>{if(N.data?.type==="mcp-oauth-success")l(N.data.name)};return()=>{window.removeEventListener("message",ie),window.removeEventListener("storage",de),q?.close()}},[E,u.name,k,t]),o(()=>{if(u.status.status!=="connected")return;E.request(`/api/mcp/${encodeURIComponent(u.name)}/tools${k}`).then((l)=>{if(Array.isArray(l))ee(l),F(void 0)}).catch((l)=>{F(l instanceof Error?l.message:"获取工具失败")})},[E,u.name,k,u.status.status]);async function ae(l){P(!0);try{let ie=await E.request(`/api/mcp/${encodeURIComponent(u.name)}/${l}${k}`,{method:"POST"});t.onChanged(ie)}catch{}finally{P(!1)}}async function se(){P(!0);try{let l=u.status.status==="needs_auth"?u.status.authorizationUrl:void 0;if(!l)l=(await E.request(`/api/mcp/${encodeURIComponent(u.name)}/oauth/authorize${k}`,{method:"POST"})).authorizationUrl;if(l)window.open(l,"_blank","width=600,height=700")}catch(l){F(l instanceof Error?l.message:"获取授权链接失败")}finally{P(!1)}}async function _(){P(!0);try{let l=await E.request(`/api/mcp/${encodeURIComponent(u.name)}/oauth/clear${k}`,{method:"POST"});t.onChanged(l)}finally{P(!1)}}async function a(){if(!await Y({title:`删除 ${u.name}?`,description:"删除后将断开连接并不再向会话提供其工具。",action:"删除",danger:!0}))return;P(!0);try{await E.request(`/api/mcp/${encodeURIComponent(u.name)}${k}`,{method:"DELETE"}),t.onChanged(),t.onClose()}finally{P(!1)}}let C=u.config,x=pe(C),W="error"in u.status?u.status.error:void 0,z=C.enabled===!1,ce=!z&&!j;return e(D,{open:!0,onOpenChange:(l)=>{if(!l&&!T)t.onClose()},title:e(c,{icon:C.type==="local"?e(Ke,{}):e(Te,{}),name:u.name,meta:[C.type==="local"?"本地命令":"远程服务",ge(u.scope),L&&"OAuth 2.0"]}),size:"lg",footer:n("div",{className:"flex w-full items-center justify-between gap-2 max-sm:[&>*]:flex-none",children:[n("div",{className:"inline-flex items-center gap-2.5 text-[13px] text-dim",children:[!R&&e(M,{label:`启用 ${u.name}`,checked:!z,disabled:T||t.toggling,onCheckedChange:t.onToggle}),e(he,{info:u,tools:!0})]}),n("div",{className:"flex items-center gap-1.5",children:[L&&e(p,{type:"button",variant:"ghost",size:"sm",onClick:_,disabled:T,children:"清除凭据"}),!R&&e(V,{label:"删除服务器",children:e(p,{type:"button",variant:"danger-ghost",size:"icon","aria-label":"删除服务器",onClick:a,disabled:T,children:e(Q,{className:"size-4"})})}),ce&&e(V,{label:"终止服务进程并重新启动,让更新后的代码生效",children:e(p,{type:"button",variant:"ghost",size:"icon","aria-label":"重启",onClick:()=>ae("restart"),disabled:T,children:e(ye,{className:d("size-4",T&&"animate-spin")})})}),ce&&e(p,{type:"button",size:"sm",onClick:()=>ae(J?"disconnect":"connect"),disabled:T,children:J?"断开连接":"连接"}),!R&&n(p,{type:"button",size:"sm",onClick:t.onEdit,disabled:T,children:[e(je,{className:"size-3.5"}),e("span",{children:"编辑配置"})]})]})]}),children:n(v,{children:[n(f,{label:C.type==="local"?"命令":"地址",children:[e("span",{className:"min-w-0 font-mono text-[12px] text-dim leading-5.5 [overflow-wrap:anywhere]",children:x}),e(g,{text:x,label:"复制",size:"icon-xs",className:"shrink-0 text-faint hover:text-ink"})]}),j&&n(f,{label:"授权",children:[e("span",{className:"text-dim leading-7",children:"需要完成 OAuth 授权后才能使用,令牌会自动保存。"}),e(p,{type:"button",variant:"primary",size:"sm",onClick:se,disabled:T,children:"前往授权"})]}),U&&e(f,{label:"错误",children:e("p",{className:"min-w-0 font-mono text-[11.5px] text-danger leading-5 [overflow-wrap:anywhere]",children:W})}),e(f,{label:"工具",children:le?e("span",{className:"text-danger",children:le}):!J?e("span",{className:"text-faint",children:"连接后列出工具"}):!B?e("span",{role:"status",className:"text-faint",children:"正在获取"}):B.length===0?e("span",{className:"text-faint",children:"服务器没有声明任何工具"}):B.map((l)=>e(S,{mono:!0,title:l.description,children:l.name},l.name))})]})})}var Pe=/^[A-Za-z0-9_-]{1,64}$/;function K(t){return e("span",{className:"truncate text-xs text-faint",children:t.children})}function Ne(t){let{pairs:p,onChange:g,InputComponent:S}=t,v=(f,c)=>g(p.map((D,M)=>M===f?{...D,...c}:D));return n("div",{className:"space-y-2",children:[n("div",{className:"flex min-h-7 items-center gap-2",children:[e("span",{className:"shrink-0 text-[13px] font-medium text-dim",children:t.label}),e(K,{children:t.tip}),n("button",{type:"button",className:"ml-auto inline-flex h-7 shrink-0 cursor-pointer items-center gap-1 rounded-lg px-2 text-xs font-medium text-dim transition-colors hover:bg-raised hover:text-ink",onClick:()=>g([...p,{key:"",value:"",saved:!1}]),children:[e(oe,{className:"size-3.5"}),"添加"]})]}),p.map((f,c)=>n("div",{className:"flex min-w-0 items-center gap-1.5",children:[e(S,{"aria-label":`${t.keyLabel} ${c+1}`,placeholder:t.keyLabel,value:f.key,readOnly:f.saved,onChange:(D)=>v(c,{key:D.target.value}),className:"min-w-0 flex-[2] font-mono text-xs"}),e(S,{"aria-label":`${t.keyLabel} ${f.key||c+1} 的值`,type:"password",autoComplete:"off",placeholder:f.saved?"已保存,留空保持不变":"值",value:f.value,onChange:(D)=>v(c,{value:D.target.value}),className:"min-w-0 flex-[3] font-mono text-xs"}),e("button",{type:"button","aria-label":`删除 ${f.key||"该项"}`,className:"flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-lg text-faint transition-colors hover:bg-danger/10 hover:text-danger",onClick:()=>g(p.filter((D,M)=>M!==c)),children:e(Z,{className:"size-4"})})]},c))]})}function we(t){return Object.keys(t??{}).map((p)=>({key:p,value:"",saved:!0}))}function Ie(t){let{Button:p,Segmented:g,Dialog:S,Form:v,Field:f,Input:c,Switch:D,style:M,useTheme:V}=y();V();let{existing:d}=t,[Y,I]=r(d?.config.type??"local"),[u,E]=r(d?.name??""),[k,B]=r(d?.config.type==="local"?fe(d.config.command):""),[ee,le]=r(d?.config.type==="remote"?d.config.url:""),[F,T]=r(we(d?.config.type==="local"?d.config.environment:void 0)),[P,J]=r(we(d?.config.type==="remote"?d.config.headers:void 0)),j=d?.config.type==="remote"?d.config.oauth:void 0,[U,L]=r(Boolean(j)),[R,ae]=r(typeof j==="object"&&j.clientId?j.clientId:""),[se,_]=r(""),[a,C]=r(typeof j==="object"&&j.scope?j.scope:""),[x,W]=r(d?.config.defer??"default"),[z,ce]=r(d?.config.timeout!==void 0?String(d.config.timeout):""),[l,ie]=r(d?.config.defer!==void 0||d?.config.timeout!==void 0),[de,q]=r(),[N,re]=r(!1);async function Se(b){b.preventDefault(),q(void 0);let w=u.trim();if(!d&&!Pe.test(w)){q("名称只能包含英文字母、数字、下划线与中划线,长度 1-64");return}if(!d&&t.taken.includes(w)){q("同名服务器已存在");return}let ue=z.trim()?Number.parseInt(z.trim(),10):void 0;if(ue!==void 0&&(!Number.isFinite(ue)||ue<=0)){q("超时时间须为大于 0 的毫秒数");return}let be;if(Y==="local"){let H=Ce(k.trim());if(!H.length){q("请输入启动命令");return}let G={};for(let A of F){let O=A.key.trim();if(!O)continue;if(!A.saved||A.value)G[O]=A.value}be={type:"local",command:H,environment:Object.keys(G).length?G:void 0,enabled:d?d.config.enabled:!0,defer:x==="default"?void 0:x,timeout:ue}}else{let H=ee.trim();try{let O=new URL(H);if(O.protocol!=="http:"&&O.protocol!=="https:")throw Error("bad protocol")}catch{q("请输入合法的 HTTP 或 HTTPS 地址");return}let G={};for(let O of P){let me=O.key.trim();if(!me)continue;if(!O.saved||O.value)G[me]=O.value}let A;if(U){let O=R.trim(),me=se.trim(),ve=a.trim();if(O||me||ve)A={clientId:O||void 0,clientSecret:me||void 0,scope:ve||void 0};else A=!0}else A=!1;be={type:"remote",url:H,headers:Object.keys(G).length?G:void 0,oauth:A,enabled:d?d.config.enabled:!0,defer:x==="default"?void 0:x,timeout:ue}}re(!0);try{let H=d?.name??w,G=d?d.projectID:t.projectID,A=G?`?projectID=${encodeURIComponent(G)}`:"";await t.connection.request(`/api/mcp/${encodeURIComponent(H)}${A}`,{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify(be)}),t.onSaved()}catch(H){q(H instanceof Error?H.message:"保存失败")}finally{re(!1)}}return e(S,{open:!0,onOpenChange:(b)=>{if(!b&&!N)t.onClose()},title:d?`编辑 ${d.name}`:"添加 MCP 服务器",size:"lg",footer:n("div",{className:"flex w-full justify-end gap-2.5",children:[e(p,{type:"button",variant:"ghost",onClick:t.onClose,disabled:N,className:"min-w-20",children:"取消"}),e(p,{type:"submit",form:"mcp-server-form",variant:"primary",disabled:N,className:"min-w-24",children:N?"保存中...":"保存"})]}),children:n(v,{id:"mcp-server-form",onSubmit:Se,children:[e(g,{value:Y,onChange:(b)=>I(b),className:"w-full [&>button]:flex-1",options:[{value:"local",label:"本地(标准输入输出)"},{value:"remote",label:"远程(HTTP / SSE)"}]}),!d&&e(f,{label:"名称",aside:e(K,{children:"唯一标识,如 postgres"}),children:(b)=>e(c,{id:b,value:u,onChange:(w)=>E(w.target.value),placeholder:"postgres",className:"font-mono text-xs"})}),Y==="local"?n(m,{children:[e(f,{label:"启动命令",aside:e(K,{children:"完整命令及参数"}),children:(b)=>e(c,{id:b,value:k,onChange:(w)=>B(w.target.value),placeholder:"npx -y @modelcontextprotocol/server-postgres ...",className:"font-mono text-xs"})}),e(Ne,{label:"环境变量",tip:"启动进程时注入",keyLabel:"变量名",pairs:F,onChange:T,InputComponent:c})]}):n(m,{children:[e(f,{label:"服务地址",aside:e(K,{children:"HTTP / HTTPS 端点"}),children:(b)=>e(c,{id:b,value:ee,onChange:(w)=>le(w.target.value),placeholder:"https://example.com/mcp",className:"font-mono text-xs"})}),e(Ne,{label:"请求头",tip:"随每次请求发送",keyLabel:"头字段",pairs:P,onChange:J,InputComponent:c}),n("div",{className:"flex items-center justify-between gap-4",children:[n("div",{className:"min-w-0",children:[e("span",{className:"block text-[13px] font-medium text-dim",children:"OAuth 2.0 认证"}),e("span",{className:"block truncate text-xs text-faint",children:"自动发现授权端点,使用 PKCE 并刷新令牌"})]}),e(D,{checked:U,onCheckedChange:L,label:"启用 OAuth 2.0"})]}),U&&n(m,{children:[e(f,{label:"Client ID",aside:e(K,{children:"留空自动动态注册(DCR)"}),children:(b)=>e(c,{id:b,value:R,onChange:(w)=>ae(w.target.value),placeholder:"留空自动动态注册",className:"font-mono text-xs"})}),e(f,{label:"Client Secret",aside:e(K,{children:"留空保持不变"}),children:(b)=>e(c,{id:b,type:"password",autoComplete:"off",value:se,onChange:(w)=>_(w.target.value),placeholder:"••••••••",className:"font-mono text-xs"})}),e(f,{label:"Scope",aside:e(K,{children:"选填授权范围"}),children:(b)=>e(c,{id:b,value:a,onChange:(w)=>C(w.target.value),placeholder:"repo read:org",className:"font-mono text-xs"})})]})]}),n("div",{className:"space-y-3 border-t border-line/60 pt-3",children:[n("button",{type:"button","aria-expanded":l,className:"flex w-full cursor-pointer items-center gap-1.5 text-[13px] font-medium text-dim transition-colors hover:text-ink",onClick:()=>ie(!l),children:[e(lt,{className:`size-3.5 transition-transform ${l?"rotate-90":""}`}),"高级设置",e("span",{className:"truncate text-xs font-normal text-faint",children:"加载时机、超时"})]}),l&&n("div",{className:"grid grid-cols-2 gap-3 max-sm:grid-cols-1",children:[e(f,{label:"加载时机",aside:e(K,{children:"延迟 = 按需加载"}),children:()=>e(g,{value:x,onChange:(b)=>W(b),className:"w-full [&>button]:flex-1",options:[{value:"default",label:"默认"},{value:"defer",label:"延迟"},{value:"always",label:"常驻"}]})}),e(f,{label:"超时(毫秒)",aside:e(K,{children:"留空用默认"}),children:(b)=>e(c,{id:b,value:z,onChange:(w)=>ce(w.target.value),placeholder:"默认",className:"font-mono text-xs"})})]})]}),de&&n("div",{role:"alert",className:M("callout.base",M("callout.danger"),"px-3 py-2.5 text-xs"),children:[e(te,{className:"mt-0.5 size-3.5 shrink-0"}),e("span",{className:"min-w-0 break-words",children:de})]})]})})}var X="global";function at({connection:t}){let{Button:p,Select:g,CatalogRow:S,style:v,useTheme:f}=y();f();let[c,D]=r(""),[M,V]=r(),[d,Y]=r([]),[I,u]=r(X),[E,k]=r(),[B,ee]=r(!1),[le,F]=r(),[T,P]=r(!1),J=i(!1),[j,U]=r(),L=i(0),R=h(async()=>{let a=++L.current;ee(!0);try{let C=I===X?"":`?projectID=${encodeURIComponent(I)}`,[x,W]=await Promise.all([t.request(`/api/mcp${C}`),t.request("/api/mcp/projects")]);if(a!==L.current)return;if(V(x),Y(W),I!==X&&!W.some((z)=>z.id===I))u(X);k(void 0)}catch(C){if(a===L.current)k(C instanceof Error?C.message:"读取失败")}finally{if(a===L.current)ee(!1)}},[t,I]);o(()=>(R(),()=>{L.current++}),[R]);async function ae(a,C){if(J.current)return;J.current=!0,P(!0);let x=L.current;try{let W=a.projectID?`?projectID=${encodeURIComponent(a.projectID)}`:"",z=await t.request(`/api/mcp/${encodeURIComponent(a.name)}${W}`,{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({...a.config,enabled:C})});if(x===L.current)V((ce)=>ce?.map((l)=>l.name===z.name&&l.projectID===z.projectID?z:l))}finally{J.current=!1,P(!1)}}let se=M?.filter((a)=>`${a.name} ${pe(a.config)}`.toLowerCase().includes(c.trim().toLowerCase())),_=M?.find((a)=>a.name===le);return n("div",{className:"min-w-0 space-y-6",children:[n("section",{className:"min-w-0",children:[n("div",{className:"mb-2.5 flex flex-wrap items-end justify-between gap-3 px-0.5",children:[n("div",{className:"min-w-0 flex-1 basis-48",children:[e("h2",{className:v("settings.groupTitle"),children:"MCP 服务器"}),e("p",{className:v("settings.groupDesc"),children:"外部工具与数据源管理"})]}),n("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[e(g,{value:I,disabled:B,onValueChange:(a)=>{F(void 0),U(void 0),V(void 0),u(a)},groups:[{options:[{value:X,label:"全局"}]},...Fr(d)],className:"w-44"}),e(p,{variant:"ghost",disabled:B,onClick:R,className:"h-9 px-2.5 text-xs",children:e(ne,{className:`size-3.5 ${B?"animate-spin":""}`})}),n(p,{variant:"secondary",onClick:()=>U({}),className:"h-9 px-2.5 text-xs",children:[e(oe,{className:"size-3.5 mr-1"}),"添加服务器"]})]})]}),E&&n("div",{role:"alert",className:v("callout.base",v("callout.danger"),"mb-3 flex-wrap items-center justify-between"),children:[n("p",{className:"min-w-0 flex-1 break-words text-sm text-danger",children:["无法读取 MCP 服务器:",E]}),e(p,{disabled:B,onClick:R,children:"重试"})]}),e(zr,{label:"搜索 MCP 服务器",placeholder:"搜索服务器",value:c,onChange:D}),e("div",{className:v("settings.groupBox"),children:!M?e(Ur,{}):se?.length===0?e("p",{className:"p-4 text-sm text-dim",children:"没有匹配的 MCP 服务器"}):e("ul",{className:"divide-y divide-line",children:se?.map((a)=>{let C=a.config.enabled===!1,x=a.scope==="file";return e("li",{children:e(S,{name:a.name,selectLabel:`查看 ${a.name}`,onSelect:()=>F(a.name),title:x?"来自项目的 .mcp.json,配置只读,可查看工具与重启":void 0,description:e("span",{className:"font-mono text-[11px]",children:pe(a.config)}),icon:a.config.type==="local"?e(Ke,{}):e(Te,{}),inactive:C,aside:n(m,{children:[e("span",{className:v("control.badge"),children:ge(a.scope)}),e(he,{info:a})]}),toggle:x?void 0:{checked:!C,label:`启用服务器 ${a.name}`,disabled:T||B,onCheckedChange:(W)=>ae(a,W)}})},a.name)})})})]}),_&&!j&&e(xe,{connection:t,info:_,toggling:T,onToggle:(a)=>ae(_,a),projectID:I===X?void 0:I,onClose:()=>F(void 0),onEdit:()=>U({info:_}),onChanged:(a)=>a?V((C)=>C?.map((x)=>x.name===a.name?a:x)):R()},`${_.projectID}:${_.name}`),j&&e(Ie,{connection:t,projectID:I===X?void 0:I,existing:j.info,taken:(M??[]).filter((a)=>a.scope===(I===X?"global":"project")).map((a)=>a.name),onClose:()=>U(void 0),onSaved:()=>{U(void 0),R()}})]})}export{at as McpSection};
@@ -0,0 +1,8 @@
1
+ import{t}from"./chunk-zsat72qd.js";import"./chunk-k9fyqrhp.js";import{$i,Bi}from"./chunk-vpegzgzb.js";import"./chunk-w5q7978e.js";import"./chunk-9vrp249f.js";import"./chunk-y6mcxfm0.js";import"./chunk-51b8n5e1.js";var o=t((r)=>`${$i(r)}
2
+ .swimlane.cluster:not([data-color-id]) rect {
3
+ stroke: ${r.clusterBorder} !important;
4
+ }
5
+ [data-look="neo"].cluster rect {
6
+ filter: none;
7
+ }
8
+ `,"getStyles"),m=o,D=Bi({styles:m});export{D as diagram};