@bkm016/basalt 0.1.11 → 0.1.13

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 (287) hide show
  1. package/{chunk-7jezts2n.js → chunk-06s9pr82.js} +2 -2
  2. package/{chunk-msm9hmk9.js → chunk-095adzn5.js} +2 -2
  3. package/chunk-0a7ft50x.js +18 -0
  4. package/{chunk-tevejprz.js → chunk-0nedq669.js} +4 -4
  5. package/chunk-0x9netvr.js +5 -0
  6. package/{chunk-9as0p561.js → chunk-15ve3nmv.js} +11 -11
  7. package/chunk-1dbfmejf.js +2 -0
  8. package/{chunk-hbnmymaq.js → chunk-1q6e3mj7.js} +2 -2
  9. package/{chunk-wnzvnskb.js → chunk-22az84sh.js} +2 -2
  10. package/{chunk-ax04trym.js → chunk-2q56egb8.js} +1 -1
  11. package/{chunk-r4ttdkrz.js → chunk-2tf7qfbx.js} +2 -2
  12. package/{chunk-a1352w87.js → chunk-2zbj8ny6.js} +2 -2
  13. package/chunk-302n9g7p.js +2 -0
  14. package/{chunk-bk4rpnm8.js → chunk-37ndxehw.js} +2 -2
  15. package/chunk-41das1ty.js +2 -0
  16. package/{chunk-c71173py.js → chunk-44a7f5ta.js} +6 -6
  17. package/{chunk-jn5pqy5v.js → chunk-46vy2m29.js} +1 -1
  18. package/{chunk-1zj3zvw5.js → chunk-4k9t9jvx.js} +4 -4
  19. package/{chunk-c4qr1f41.js → chunk-4rnmxtpx.js} +2 -2
  20. package/{chunk-fgwda4m0.js → chunk-4w9zqv0k.js} +1 -1
  21. package/chunk-6d9r9p91.js +20 -0
  22. package/chunk-6f4ht2hw.js +2 -0
  23. package/{chunk-jj4hqbrx.js → chunk-6sea12mw.js} +3 -3
  24. package/chunk-74wwdx3y.js +3 -0
  25. package/{chunk-gkf5jwvj.js → chunk-77c2cqp2.js} +1 -1
  26. package/chunk-7chv3knf.js +2 -0
  27. package/chunk-86yr2c0r.js +3 -0
  28. package/{chunk-d0a1jxk5.js → chunk-8cgz8xv7.js} +2 -2
  29. package/{chunk-tvm4zmgj.js → chunk-959z9efn.js} +2 -2
  30. package/{chunk-zc9ar0r4.js → chunk-9e8vhzy7.js} +1 -1
  31. package/chunk-b516bp7n.js +3 -0
  32. package/chunk-bja7p3em.js +25 -0
  33. package/chunk-bng72094.js +2 -0
  34. package/{chunk-a98wma9j.js → chunk-bp61xdsc.js} +1 -1
  35. package/chunk-bq54argx.js +2 -0
  36. package/chunk-ct77cdg7.js +2 -0
  37. package/{chunk-02d3x4mj.js → chunk-dk6fgprw.js} +3 -3
  38. package/chunk-drett6hb.js +2 -0
  39. package/{chunk-4gtgqcct.js → chunk-edbq461k.js} +3 -3
  40. package/{chunk-xh444pfn.js → chunk-f0h2bv11.js} +12 -12
  41. package/{chunk-8mezk0cb.js → chunk-g2etemv5.js} +2 -2
  42. package/{chunk-n0ybj4h9.js → chunk-g5p9mj1r.js} +2 -2
  43. package/{chunk-zyyzk5ha.js → chunk-gpnqmtbk.js} +1 -1
  44. package/{chunk-q9f4xb0w.js → chunk-h9zxqeqr.js} +3 -3
  45. package/{chunk-hb4f2v34.js → chunk-jjtt9aq8.js} +3 -3
  46. package/{chunk-29qrxygd.js → chunk-kbpbrr11.js} +2 -2
  47. package/chunk-m71pj3g1.js +2 -0
  48. package/chunk-mdkfm1ak.js +7 -0
  49. package/chunk-mf04h0yy.js +7 -0
  50. package/chunk-n22vd4at.js +2 -0
  51. package/{chunk-c0zfefq8.js → chunk-nbjnwd54.js} +1 -1
  52. package/{chunk-d5j74pcp.js → chunk-pryvvs96.js} +22 -22
  53. package/{chunk-13gvs0ax.js → chunk-r1jn77q6.js} +2 -2
  54. package/{chunk-ypqjfv3a.js → chunk-rn3jwyh1.js} +2 -2
  55. package/chunk-sgrrxsnz.js +482 -0
  56. package/chunk-sgz87ht5.js +2 -0
  57. package/{chunk-stj493dn.js → chunk-snz19yc2.js} +2 -2
  58. package/{chunk-n2jcx65v.js → chunk-szj85dqe.js} +2 -2
  59. package/{chunk-nrsd810j.js → chunk-tfhp09nj.js} +2 -2
  60. package/{chunk-xtq1xpq0.js → chunk-tfhze1vq.js} +2 -2
  61. package/{chunk-755sy11p.js → chunk-tjg0gcks.js} +1 -1
  62. package/{chunk-en218k4y.js → chunk-tnj2kqb8.js} +1 -1
  63. package/{chunk-h1kb8b49.js → chunk-vqm94hz2.js} +2 -2
  64. package/{chunk-82v8jh1h.js → chunk-xvm0y99b.js} +2 -2
  65. package/{chunk-asyr3gnq.js → chunk-y23dpz5e.js} +2 -2
  66. package/{chunk-1n7dat03.js → chunk-y4pvhes1.js} +6 -6
  67. package/{chunk-bwawt15q.js → chunk-ydzag81d.js} +2 -2
  68. package/chunk-ymg7mtcx.js +3 -0
  69. package/chunk-yy1f9jxc.js +4044 -0
  70. package/{chunk-30rjf7my.js → chunk-z0c8ek0j.js} +5 -5
  71. package/chunk-zk91579b.js +3 -0
  72. package/{chunk-jtsve11b.js → chunk-zx75vnw8.js} +18 -18
  73. package/compiled.js +85 -12
  74. package/package.json +1 -1
  75. package/ui-test-worker.js +53 -53
  76. package/web/{chunk-3a57m7xm.js → chunk-0jbf73pr.js} +3 -3
  77. package/web/{chunk-dk0fnj87.js → chunk-0rhx7qb8.js} +1 -1
  78. package/web/{chunk-q8v5j963.js → chunk-0rvwj2wh.js} +2 -2
  79. package/web/chunk-12qf1r6m.js +1 -0
  80. package/web/{chunk-2ds0a2z1.js → chunk-14vmr99v.js} +3 -3
  81. package/web/{chunk-v3dn9bfw.js → chunk-16jc5m0f.js} +1 -1
  82. package/web/{chunk-f79ajymt.js → chunk-1m6fx2h7.js} +2 -2
  83. package/web/{chunk-793m5jjh.js → chunk-1xm9x7d6.js} +2 -2
  84. package/web/{chunk-j4gvtszc.js → chunk-1zwc09e8.js} +2 -2
  85. package/web/{chunk-mykbcvqz.js → chunk-20jxvmbw.js} +1 -1
  86. package/web/chunk-2n5xbnrt.js +1 -0
  87. package/web/{chunk-57pyz29y.js → chunk-2sef2wft.js} +2 -2
  88. package/web/{chunk-9kkzmss7.js → chunk-2x7vmhm0.js} +3 -3
  89. package/web/{chunk-cbwvfedy.js → chunk-2y1avvqj.js} +8 -8
  90. package/web/chunk-36s08nye.js +1 -0
  91. package/web/chunk-3ctmehg4.js +1 -0
  92. package/web/{chunk-cpshsp24.js → chunk-3jjksgze.js} +1 -1
  93. package/web/{chunk-94denx9h.js → chunk-3p9w8sg5.js} +3 -3
  94. package/web/{chunk-47mbbmst.js → chunk-3wpxymxa.js} +3 -3
  95. package/web/{chunk-2tsxj613.js → chunk-4py9sndw.js} +9 -9
  96. package/web/chunk-4swea9sn.js +1 -0
  97. package/web/chunk-4zz5a483.js +1 -0
  98. package/web/{chunk-hjyev38w.js → chunk-5cwxhhae.js} +5 -5
  99. package/web/chunk-5ym5ffd5.js +4 -0
  100. package/web/{chunk-gten0rpx.js → chunk-6e87m0nm.js} +2 -2
  101. package/web/{chunk-5ahx98zj.js → chunk-6rsr2cyw.js} +8 -8
  102. package/web/chunk-6y55gk1n.js +1 -0
  103. package/web/chunk-7aep7k4v.js +1 -0
  104. package/web/{chunk-tggja45g.js → chunk-8j4tzff5.js} +4 -4
  105. package/web/chunk-8tgavnwx.js +1 -0
  106. package/web/{chunk-zdhyq3ch.js → chunk-97t3ngqf.js} +12 -12
  107. package/web/{chunk-0hvxb5d5.js → chunk-980zhtht.js} +1 -1
  108. package/web/chunk-9k7fkx80.js +1 -0
  109. package/web/{chunk-yrh86m0n.js → chunk-9wz8jne3.js} +1 -1
  110. package/web/chunk-a00vg115.js +1 -0
  111. package/web/chunk-a4gbxnm3.js +1 -0
  112. package/web/{chunk-nhx8pw7p.js → chunk-a6g3nqp0.js} +2 -2
  113. package/web/{chunk-xjc5fmcr.js → chunk-a9er7a7c.js} +24 -24
  114. package/web/chunk-atppv8fk.js +1 -0
  115. package/web/{chunk-xbyrgyy0.js → chunk-awkdw9rw.js} +2 -2
  116. package/web/{chunk-2f2agfpj.js → chunk-b4gcpsbg.js} +11 -11
  117. package/web/{chunk-n33753da.js → chunk-b9jry5a3.js} +1 -1
  118. package/web/chunk-ba9qy65y.js +2 -0
  119. package/web/chunk-bq6mep6p.js +2 -0
  120. package/web/chunk-bwy3e58v.js +1 -0
  121. package/web/{chunk-drchr3yn.js → chunk-c57f714b.js} +2 -2
  122. package/web/{chunk-e763h2px.js → chunk-c6m4vfn5.js} +118 -118
  123. package/web/{chunk-mpdeqzc9.js → chunk-cr04125j.js} +9 -9
  124. package/web/{chunk-dsbyfvwz.js → chunk-cr05dttm.js} +1 -1
  125. package/web/{chunk-a3pye9ag.js → chunk-ct7z7bea.js} +3 -3
  126. package/web/{chunk-2weaa3gn.js → chunk-ct90yf8z.js} +2 -2
  127. package/web/{chunk-gyhr27dm.js → chunk-ddg8rz82.js} +3 -3
  128. package/web/{chunk-wbwets5x.js → chunk-dmha2y9c.js} +28 -28
  129. package/web/{chunk-4gc663j0.js → chunk-e57h40qa.js} +6 -6
  130. package/web/chunk-eeesa5q1.js +1 -0
  131. package/web/{chunk-4wwd3pfz.js → chunk-eqndhs21.js} +2 -2
  132. package/web/{chunk-zv73g4qq.js → chunk-eqxy6535.js} +2 -2
  133. package/web/{chunk-hm8thq7c.js → chunk-et1rsgmp.js} +3 -3
  134. package/web/chunk-f7jpakwh.js +1 -0
  135. package/web/{chunk-enryqmj7.js → chunk-fnvgdvrg.js} +5 -5
  136. package/web/chunk-fp62avjh.js +1 -0
  137. package/web/{chunk-6jb2zyp6.js → chunk-frnh4zqf.js} +2 -2
  138. package/web/chunk-g0be12na.js +1 -0
  139. package/web/{chunk-1zfxaafq.js → chunk-g7hqafb8.js} +1 -1
  140. package/web/{chunk-kfbgvh0c.js → chunk-ga07tv37.js} +1 -1
  141. package/web/chunk-gr163fex.js +1 -0
  142. package/web/chunk-gx340asc.js +1 -0
  143. package/web/chunk-gxtz10wf.js +1 -0
  144. package/web/chunk-h0c42zy3.js +1 -0
  145. package/web/{chunk-b3j07x0n.js → chunk-h1k2kqbs.js} +6 -6
  146. package/web/{chunk-pq56b3mq.js → chunk-h6k1x096.js} +2 -2
  147. package/web/{chunk-885kpj14.js → chunk-jccz14ye.js} +2 -2
  148. package/web/{chunk-1t38sgrk.js → chunk-jh33m2mq.js} +4 -4
  149. package/web/{chunk-g0rtcedn.js → chunk-jh3k7xex.js} +3 -3
  150. package/web/{chunk-nafe18y9.js → chunk-jpem3qvs.js} +10 -10
  151. package/web/{chunk-s0xy00v5.js → chunk-k0cg4n2k.js} +2 -2
  152. package/web/chunk-k9qnvx86.js +2 -0
  153. package/web/chunk-kcnj0gan.js +1 -0
  154. package/web/{chunk-8csw0mvf.js → chunk-ke8dffnk.js} +2 -2
  155. package/web/chunk-kpp5xqsb.js +1 -0
  156. package/web/chunk-m33yted6.js +1 -0
  157. package/web/chunk-me5jqqn6.js +1 -0
  158. package/web/{chunk-tpdcrrf1.js → chunk-mkxeenph.js} +1 -1
  159. package/web/chunk-mnf4ngj9.js +2 -0
  160. package/web/{chunk-30aeb767.js → chunk-mykrm8ba.js} +2 -2
  161. package/web/chunk-mzqqwbmr.js +1 -0
  162. package/web/chunk-mzzaet63.js +1 -0
  163. package/web/chunk-npyrdsf8.css +1 -0
  164. package/web/chunk-p6e2vr51.js +34 -0
  165. package/web/chunk-p7pa02k9.js +2 -0
  166. package/web/chunk-q34as3v6.js +1 -0
  167. package/web/{chunk-27812gqr.js → chunk-q4vy3dkk.js} +3 -3
  168. package/web/chunk-q6c8p73w.js +1 -0
  169. package/web/{chunk-m24yb8md.js → chunk-qb8mbptk.js} +1 -1
  170. package/web/{chunk-b6sqwmq7.js → chunk-qbmtah1x.js} +1 -1
  171. package/web/{chunk-ydtrc1ay.js → chunk-qh62nkem.js} +2 -2
  172. package/web/chunk-qn93we3a.js +1 -0
  173. package/web/{chunk-3ftb27f3.js → chunk-qq06x2ce.js} +8 -8
  174. package/web/{chunk-fj753yzt.js → chunk-qq6m2my8.js} +2 -2
  175. package/web/chunk-r1f1egve.js +1 -0
  176. package/web/chunk-s935z8er.js +2 -0
  177. package/web/{chunk-90fkdzx3.js → chunk-sq75q603.js} +21 -21
  178. package/web/{chunk-05mvzx00.js → chunk-ss96cz1f.js} +1 -1
  179. package/web/{chunk-3b4wqmnh.js → chunk-t82sngk9.js} +7 -7
  180. package/web/chunk-tt9410zw.js +8 -0
  181. package/web/{chunk-8151c970.js → chunk-v4cqc9f9.js} +1 -1
  182. package/web/chunk-ve8gy05p.js +1142 -0
  183. package/web/chunk-vg1ebkce.js +1 -0
  184. package/web/{chunk-g31dbnzm.js → chunk-vk7ch6fh.js} +5 -5
  185. package/web/chunk-vnt34mkb.js +1 -0
  186. package/web/{chunk-59nk506k.js → chunk-w28dn4dw.js} +1 -1
  187. package/web/{chunk-ppjw1mps.js → chunk-w4tfad6c.js} +4 -4
  188. package/web/{chunk-36dc7tcg.js → chunk-wpxtkxjt.js} +2 -2
  189. package/web/chunk-xcyqd7cn.js +1 -0
  190. package/web/chunk-xe121vg7.js +1 -0
  191. package/web/chunk-xh4xn1az.js +1 -0
  192. package/web/{chunk-d4519smc.js → chunk-xk1vkcj4.js} +15 -15
  193. package/web/chunk-xrk5ewsn.js +1 -0
  194. package/web/{chunk-96xhmmqz.js → chunk-xvm66b7v.js} +5 -5
  195. package/web/chunk-xxmaqj1m.js +2 -0
  196. package/web/chunk-xzwxcxb4.js +1 -0
  197. package/web/{chunk-7dycbjxn.js → chunk-y9waq403.js} +4 -4
  198. package/web/chunk-ydhnkws0.js +1 -0
  199. package/web/{chunk-3020mmp1.js → chunk-yn4t5s9r.js} +1 -1
  200. package/web/chunk-ys2tns0p.js +1 -0
  201. package/web/chunk-zb61mf0a.js +1 -0
  202. package/web/{chunk-g4as4zzd.js → chunk-ze6azq7z.js} +4 -4
  203. package/web/chunk-zh7193nq.js +2 -0
  204. package/web/chunk-zqcg6frm.js +1 -0
  205. package/web/{chunk-qykt7avq.js → chunk-zxrbbbtp.js} +2 -2
  206. package/web/index.html +1 -1
  207. package/worker.js +1 -1
  208. package/chunk-38g3gctw.js +0 -3
  209. package/chunk-3k627vf2.js +0 -3
  210. package/chunk-4dw43syb.js +0 -2
  211. package/chunk-7zkswxvk.js +0 -2
  212. package/chunk-95964592.js +0 -25
  213. package/chunk-a1rb1a48.js +0 -20
  214. package/chunk-b2bxqeb4.js +0 -2
  215. package/chunk-bdjr0kfr.js +0 -7
  216. package/chunk-bpw6q7g0.js +0 -3
  217. package/chunk-c6q04xrd.js +0 -3
  218. package/chunk-cmwdjes8.js +0 -18
  219. package/chunk-dfh9m9n7.js +0 -7
  220. package/chunk-dq01v5eq.js +0 -2
  221. package/chunk-e1x629v0.js +0 -5
  222. package/chunk-gbjn6d81.js +0 -2
  223. package/chunk-jymx3a77.js +0 -3951
  224. package/chunk-m1eam0s5.js +0 -2
  225. package/chunk-mbpb5c7w.js +0 -2
  226. package/chunk-pnspvnyd.js +0 -2
  227. package/chunk-pz2afna8.js +0 -2
  228. package/chunk-qaeyhe65.js +0 -2
  229. package/chunk-qnkrrwmg.js +0 -2
  230. package/chunk-v3ee9z3f.js +0 -2
  231. package/chunk-vtqr7dm8.js +0 -3
  232. package/chunk-zq32mwxj.js +0 -479
  233. package/web/chunk-086dshck.js +0 -1
  234. package/web/chunk-0fy590s0.js +0 -1
  235. package/web/chunk-0mdf1qja.js +0 -1
  236. package/web/chunk-0y971zgq.js +0 -2
  237. package/web/chunk-32zmk3f5.js +0 -1
  238. package/web/chunk-3d3wnh8a.js +0 -2
  239. package/web/chunk-48479gnx.js +0 -1
  240. package/web/chunk-4rwwtfnd.js +0 -2
  241. package/web/chunk-6cjm2yr7.js +0 -1
  242. package/web/chunk-7ycxz39p.js +0 -1
  243. package/web/chunk-8z7texmv.js +0 -1
  244. package/web/chunk-9jy8nc4r.js +0 -1
  245. package/web/chunk-9wr33d0t.js +0 -1
  246. package/web/chunk-a4tdrxdh.js +0 -1
  247. package/web/chunk-a9fvsyc1.js +0 -1
  248. package/web/chunk-apvbvg4d.js +0 -1
  249. package/web/chunk-bkxcc7v5.js +0 -1
  250. package/web/chunk-bve354k7.js +0 -1
  251. package/web/chunk-cwpxakby.js +0 -1
  252. package/web/chunk-d3f763n7.js +0 -2
  253. package/web/chunk-dtrh40vr.js +0 -1
  254. package/web/chunk-e68jw0bg.js +0 -1
  255. package/web/chunk-jd7npyv9.js +0 -8
  256. package/web/chunk-jhpg2kcf.js +0 -1
  257. package/web/chunk-jqqbkdtw.js +0 -4
  258. package/web/chunk-jzz5htxp.js +0 -1
  259. package/web/chunk-ka3q31t1.js +0 -1
  260. package/web/chunk-kahab58k.js +0 -1139
  261. package/web/chunk-krgvx75q.js +0 -1
  262. package/web/chunk-kxeaj44h.js +0 -1
  263. package/web/chunk-m1rdyvb5.js +0 -1
  264. package/web/chunk-m7k4wr3k.js +0 -1
  265. package/web/chunk-mdj3r75b.js +0 -1
  266. package/web/chunk-nbcpbqq4.js +0 -1
  267. package/web/chunk-nkpdd9hw.js +0 -1
  268. package/web/chunk-p1yc8hwn.js +0 -2
  269. package/web/chunk-p29brxyt.js +0 -1
  270. package/web/chunk-p8fbes0t.js +0 -1
  271. package/web/chunk-pbp1p5ex.js +0 -1
  272. package/web/chunk-q65zxczs.js +0 -34
  273. package/web/chunk-r6q1301x.js +0 -1
  274. package/web/chunk-r8kghrkb.js +0 -1
  275. package/web/chunk-rhxn7mxg.js +0 -1
  276. package/web/chunk-rqympya7.js +0 -2
  277. package/web/chunk-svqshmpg.js +0 -1
  278. package/web/chunk-swzxq7r3.css +0 -1
  279. package/web/chunk-t18tn37m.js +0 -2
  280. package/web/chunk-tbsaseer.js +0 -1
  281. package/web/chunk-tgkdyxbn.js +0 -1
  282. package/web/chunk-v0zfnvc1.js +0 -1
  283. package/web/chunk-vj31fs16.js +0 -1
  284. package/web/chunk-vr79r8vh.js +0 -1
  285. package/web/chunk-wb9tax0m.js +0 -1
  286. package/web/chunk-x9eghjjd.js +0 -1
  287. package/web/chunk-z3ky5ews.js +0 -2
@@ -1 +0,0 @@
1
- import{t,a}from"./chunk-e763h2px.js";import{J,It,Dt}from"./chunk-ppjw1mps.js";import{G}from"./chunk-p1yc8hwn.js";import{nr,_t}from"./chunk-xjc5fmcr.js";var i=nr().RailroadEbnf.parser.LangiumParser,o=t((e)=>{let r=e.alternatives.map(m);if(r.length===1)return r[0];return{type:"choice",alternatives:r}},"transformChoice"),m=t((e)=>{let r=e.elements.map(p);if(r.length===1)return r[0];return{type:"sequence",elements:r}},"transformSequence"),s=t((e)=>{switch(e.$type){case"EbnfTerminal":return{type:"terminal",value:e.value};case"EbnfNonTerminal":return{type:"nonterminal",name:e.name};case"EbnfSpecial":return{type:"special",text:e.text};case"EbnfGroup":return o(e.element);case"EbnfOptional":return{type:"optional",element:o(e.element)};case"EbnfRepetition":return{type:"repetition",element:o(e.element),min:0,max:1/0};default:throw Error(`Unsupported EBNF primary node: ${e.$type}`)}},"transformPrimary"),l=t((e,r)=>{switch(r.$type){case"EbnfOptionalPostfix":return{type:"optional",element:e};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:e,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:e,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[e,{type:"terminal",value:"-"},s(r.except)]};default:throw Error(`Unsupported EBNF postfix node: ${r.$type}`)}},"transformPostfix"),p=t((e)=>e.postfixes.reduce((r,n)=>l(r,n),s(e.base)),"transformTerm"),f=t((e)=>({name:e.name,definition:o(e.definition)}),"transformRule"),u=t((e)=>{if(G(e,J),e.title)J.setTitle(e.title);e.rules.map((r)=>J.addRule(f(r)))},"populateDb"),c={parse:t((e)=>{J.clear(),a.debug("[EBNF Parser] Starting Langium parse");let r=i.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new _t(r);let n=r.value;a.debug("[EBNF Parser] Parsed rules:",n.rules.length),u(n),a.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:J}},x={parser:c,db:J,renderer:Dt,styles:It};export{x as diagram};
@@ -1 +0,0 @@
1
- import{t,a}from"./chunk-e763h2px.js";import{J,It,Dt}from"./chunk-ppjw1mps.js";import{G}from"./chunk-p1yc8hwn.js";import{rr,_t}from"./chunk-xjc5fmcr.js";var l=rr().RailroadAbnf.parser.LangiumParser,s=t((e)=>{let r=e.alternatives.map(p);if(r.length===1)return r[0];return{type:"choice",alternatives:r}},"transformAlternation"),p=t((e)=>{let r=e.elements.map(f);if(r.length===1)return r[0];return{type:"sequence",elements:r}},"transformConcatenation"),u=t((e)=>{if(e.includes("*")){let[n,o]=e.split("*"),i=n?parseInt(n,10):0,m=o?parseInt(o,10):1/0;return{min:i,max:m}}let r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),f=t((e)=>{let r=c(e.primary);if(!e.repeat)return r;let{min:n,max:o}=u(e.repeat);if(n===0&&o===1)return{type:"optional",element:r};return{type:"repetition",element:r,min:n,max:o}},"transformElement"),c=t((e)=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return s(e.element);case"AbnfOptionalGroup":return{type:"optional",element:s(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),d=t((e)=>({name:e.name,definition:s(e.definition)}),"transformRule"),v=t((e)=>{if(G(e,J),e.title)J.setTitle(e.title);e.rules.map((r)=>J.addRule(d(r)))},"populateDb"),g={parse:t((e)=>{J.clear(),a.debug("[ABNF Parser] Starting Langium parse");let r=l.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new _t(r);let n=r.value;a.debug("[ABNF Parser] Parsed rules:",n.rules.length),v(n),a.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:J}},E={parser:g,db:J,renderer:Dt,styles:It};export{E as diagram};
@@ -1 +0,0 @@
1
- import{ui}from"./chunk-30aeb767.js";export{ui as default};
@@ -1,2 +0,0 @@
1
- import{g,o,r,e,n,y,te}from"./chunk-kahab58k.js";import{ea}from"./chunk-d3f763n7.js";function In(t){let{Button:i,SettingActions:l,cn:d}=y();return n(l,{children:[t.notice&&n("span",{role:t.notice.type==="error"?"alert":"status",className:d("mr-auto flex min-w-0 items-center gap-1.5 text-xs",t.notice.type==="success"?"text-success":"text-danger"),children:[t.notice.type==="success"?e(ea,{className:"size-3.5 shrink-0"}):e(te,{className:"size-3.5 shrink-0"}),e("span",{className:"min-w-0 break-words",children:t.notice.text})]}),t.dirty&&e(i,{type:"button",variant:"ghost",size:"sm",disabled:t.busy,onClick:t.onReset,children:"撤销更改"}),e(i,{form:t.formID,type:"submit",variant:"primary",size:"sm",disabled:t.busy||!t.dirty,children:t.saving?"保存中…":"保存"})]})}function Jr(t){let{connection:i,endpoint:l,loadError:d}=t,[m,b]=r(null),[c,f]=r(null),[N,P]=r({models:[]}),[p,T]=r(!0),[M,v]=r(!1),[h,x]=r(!1),[k,a]=r(null),S=g(async(u=!1)=>{if(u)v(!0);else T(!0);a(null);try{let[s,C]=await Promise.all([i.request(l),i.request("/api/models")]);b(s),f(s),P(C)}catch(s){a({type:"error",text:s instanceof Error?s.message:d})}finally{T(!1),v(!1)}},[i,l,d]);o(()=>{S()},[S]);let w=c&&m?t.differs(c,m):!1;return{settings:c,modelList:N,loading:p,refreshing:M,saving:h,notice:k,dirty:w,load:S,save:async(u)=>{if(u?.preventDefault(),!c||h||p)return;x(!0),a(null);try{let s=await i.request(l,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t.toBody(c))});b(s),f(s),a({type:"success",text:"设置已保存"})}catch(s){a({type:"error",text:s instanceof Error?s.message:"保存设置失败"})}finally{x(!1)}},reset:()=>{f(m),a(null)},edit:(u)=>{f((s)=>s?u(s):null),a(null)}}}
2
- export{In,Jr};
@@ -1 +0,0 @@
1
- import{Ro}from"./chunk-kahab58k.js";export{Ro as QuestionDock};
@@ -1,2 +0,0 @@
1
- import{z,De}from"./chunk-e763h2px.js";var n=(r,o)=>z.lang.round(De.parse(r)[o]),$t=n;
2
- export{$t};
@@ -1 +0,0 @@
1
- import{t,a}from"./chunk-e763h2px.js";import{J,It,Dt}from"./chunk-ppjw1mps.js";import{G}from"./chunk-p1yc8hwn.js";import{tr,_t}from"./chunk-xjc5fmcr.js";var o=tr().Railroad.parser.LangiumParser,n=t((e)=>{switch(e.$type){case"RailroadTerminalExpr":return{type:"terminal",value:e.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:e.name};case"RailroadSpecialExpr":return{type:"special",text:e.text};case"RailroadSequenceExpr":{let r=e.elements.map(n);return r.length===1?r[0]:{type:"sequence",elements:r}}case"RailroadChoiceExpr":{let r=e.alternatives.map(n);return r.length===1?r[0]:{type:"choice",alternatives:r}}case"RailroadOptionalExpr":return{type:"optional",element:n(e.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:n(e.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:n(e.element),min:0,max:1/0};default:throw Error(`Unsupported railroad expression: ${e.$type}`)}},"transformExpression"),l=t((e)=>({name:e.name,definition:n(e.definition)}),"transformRule"),s=t((e)=>{if(G(e,J),e.title)J.setTitle(e.title);e.rules.map((r)=>J.addRule(l(r)))},"populateDb"),m={parse:t((e)=>{J.clear(),a.debug("[Railroad Parser] Starting Langium parse");let r=o.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new _t(r);let i=r.value;a.debug("[Railroad Parser] Parsed rules:",i.rules.length),s(i),a.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:J}},R={parser:m,db:J,renderer:Dt,styles:It};export{R as diagram};
@@ -1,2 +0,0 @@
1
- import{Rt}from"./chunk-kahab58k.js";var Z={};Rt(Z,{default:()=>Ct});var Q={};Rt(Q,{default:()=>Wt});var Kr=typeof global=="object"&&global&&global.Object===Object&&global,q=Kr;var Hr=typeof self=="object"&&self&&self.Object===Object&&self,qr=q||Hr||Function("return this")(),xe=qr;var $r=xe.Symbol,Oe=$r;var wt=Object.prototype,{hasOwnProperty:kr,toString:Yr}=wt,G=Oe?Oe.toStringTag:void 0;function Xr(t){var e=kr.call(t,G),r=t[G];try{t[G]=void 0;var o=!0}catch(f){}var a=Yr.call(t);if(o)if(e)t[G]=r;else delete t[G];return a}var St=Xr;var Zr=Object.prototype,Jr=Zr.toString;function Qr(t){return Jr.call(t)}var Pt=Qr;var Vr="[object Null]",to="[object Undefined]",Et=Oe?Oe.toStringTag:void 0;function eo(t){if(t==null)return t===void 0?to:Vr;return Et&&Et in Object(t)?St(t):Pt(t)}var Qe=eo;function ro(t){return t!=null&&typeof t=="object"}var Ee=ro;var oo="[object Symbol]";function ao(t){return typeof t=="symbol"||Ee(t)&&Qe(t)==oo}var pt=ao;function fo(t,e){var r=-1,o=t==null?0:t.length,a=Array(o);while(++r<o)a[r]=e(t[r],r,t);return a}var qt=fo;var io=Array.isArray,H=io;var no=1/0,It=Oe?Oe.prototype:void 0,Lt=It?It.toString:void 0;function jt(t){if(typeof t=="string")return t;if(H(t))return qt(t,jt)+"";if(pt(t))return Lt?Lt.call(t):"";var e=t+"";return e=="0"&&1/t==-no?"-0":e}var Mt=jt;function so(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var me=so;function po(t){return t}var st=po;var uo="[object AsyncFunction]",mo="[object Function]",lo="[object GeneratorFunction]",xo="[object Proxy]";function ho(t){if(!me(t))return!1;var e=Qe(t);return e==mo||e==lo||e==uo||e==xo}var Vt=ho;var co=xe["__core-js_shared__"],k=co;var Nt=function(){var t=/[^.]+$/.exec(k&&k.keys&&k.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function go(t){return!!Nt&&Nt in t}var Dt=go;var yo=Function.prototype,_o=yo.toString;function bo(t){if(t!=null){try{return _o.call(t)}catch(e){}try{return t+""}catch(e){}}return""}var _=bo;var vo=/[\\^$.*+?()[\]{}|]/g,Oo=/^\[object .+?Constructor\]$/,Ao=Function.prototype,To=Object.prototype,wo=Ao.toString,So=To.hasOwnProperty,Po=RegExp("^"+wo.call(So).replace(vo,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Co(t){if(!me(t)||Dt(t))return!1;var e=Vt(t)?Po:Oo;return e.test(_(t))}var Ft=Co;function Eo(t,e){return t==null?void 0:t[e]}var Bt=Eo;function Io(t,e){var r=Bt(t,e);return Ft(r)?r:void 0}var x=Io;var Lo=x(xe,"WeakMap"),Y=Lo;function jo(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var Ut=jo;function Mo(){}var zt=Mo;var No=800,Do=16,Ro=Date.now;function Fo(t){var e=0,r=0;return function(){var o=Ro(),a=Do-(o-r);if(r=o,a>0){if(++e>=No)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var Kt=Fo;function Bo(t){return function(){return t}}var lt=Bo;var Go=function(){try{var t=x(Object,"defineProperty");return t({},"",{}),t}catch(e){}}(),sr=Go;var Uo=!sr?st:function(t,e){return sr(t,"toString",{configurable:!0,enumerable:!1,value:lt(e),writable:!0})},$t=Uo;var zo=Kt($t),ma=zo;function Wo(t,e){var r=-1,o=t==null?0:t.length;while(++r<o)if(e(t[r],r,t)===!1)break;return t}var fa=Wo;function Ko(t,e,r,o){var a=t.length,f=r+(o?1:-1);while(o?f--:++f<a)if(e(t[f],f,t))return f;return-1}var ha=Ko;function Ho(t){return t!==t}var Xt=Ho;function qo(t,e,r){var o=r-1,a=t.length;while(++o<a)if(t[o]===e)return o;return-1}var Zt=qo;function $o(t,e,r){return e===e?Zt(t,e,r):ha(t,Xt,r)}var Jt=$o;function ko(t,e){var r=t==null?0:t.length;return!!r&&Jt(t,e,0)>-1}var Qt=ko;var Yo=9007199254740991,Xo=/^(?:0|[1-9]\d*)$/;function Zo(t,e){var r=typeof t;return e=e==null?Yo:e,!!e&&(r=="number"||r!="symbol"&&Xo.test(t))&&(t>-1&&t%1==0&&t<e)}var hn=Zo;function Jo(t,e){return t===e||t!==t&&e!==e}var kt=Jo;var te=Math.max;function Qo(t,e,r){return e=te(e===void 0?t.length-1:e,0),function(){var o=arguments,a=-1,f=te(o.length-e,0),i=Array(f);while(++a<f)i[a]=o[e+a];a=-1;var n=Array(e+1);while(++a<e)n[a]=o[a];return n[e]=r(i),Ut(t,this,n)}}var ga=Qo;function Vo(t,e){return ma(ga(t,e,st),t+"")}var gn=Vo;var ta=9007199254740991;function ea(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=ta}var j=ea;function ra(t){return t!=null&&j(t.length)&&!Vt(t)}var $e=ra;var oa=Object.prototype;function aa(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||oa;return t===r}var yn=aa;function ia(t,e){var r=-1,o=Array(t);while(++r<t)o[r]=e(r);return o}var ee=ia;var na="[object Arguments]";function sa(t){return Ee(t)&&Qe(t)==na}var ct=sa;var oe=Object.prototype,{hasOwnProperty:pa,propertyIsEnumerable:ua}=oe,la=ct(function(){return arguments}())?ct:function(t){return Ee(t)&&pa.call(t,"callee")&&!ua.call(t,"callee")},Ot=la;function da(){return!1}var ae=da;var ne=typeof Z=="object"&&Z&&!Z.nodeType&&Z,fe=ne&&typeof X=="object"&&X&&!X.nodeType&&X,ca=fe&&fe.exports===ne,ie=ca?xe.Buffer:void 0,Oa=ie?ie.isBuffer:void 0,Aa=Oa||ae,Ct=Aa;var Ta="[object Arguments]",Pa="[object Array]",Ea="[object Boolean]",Ia="[object Date]",La="[object Error]",ja="[object Function]",Ma="[object Map]",Na="[object Number]",Da="[object Object]",Ra="[object RegExp]",Fa="[object Set]",Ba="[object String]",Ga="[object WeakMap]",Ua="[object ArrayBuffer]",za="[object DataView]",Wa="[object Float32Array]",Ka="[object Float64Array]",Ha="[object Int8Array]",qa="[object Int16Array]",$a="[object Int32Array]",Ya="[object Uint8Array]",Xa="[object Uint8ClampedArray]",Za="[object Uint16Array]",Ja="[object Uint32Array]",u={};u[Wa]=u[Ka]=u[Ha]=u[qa]=u[$a]=u[Ya]=u[Xa]=u[Za]=u[Ja]=!0;u[Ta]=u[Pa]=u[Ua]=u[Ea]=u[za]=u[Ia]=u[La]=u[ja]=u[Ma]=u[Na]=u[Da]=u[Ra]=u[Fa]=u[Ba]=u[Ga]=!1;function Qa(t){return Ee(t)&&j(t.length)&&!!u[Qe(t)]}var se=Qa;function Va(t){return function(e){return t(e)}}var vn=Va;var pe=typeof Q=="object"&&Q&&!Q.nodeType&&Q,U=pe&&typeof J=="object"&&J&&!J.nodeType&&J,tf=U&&U.exports===pe,gt=tf&&q.process,ef=function(){try{var t=U&&U.require&&U.require("util").types;if(t)return t;return gt&&gt.binding&&gt.binding("util")}catch(e){}}(),Wt=ef;var ue=Wt&&Wt.isTypedArray,rf=ue?vn(ue):se,bn=rf;var of=Object.prototype,af=of.hasOwnProperty;function ff(t,e){var r=H(t),o=!r&&Ot(t),a=!r&&!o&&Ct(t),f=!r&&!o&&!a&&bn(t),i=r||o||a||f,n=i?ee(t.length,String):[],s=n.length;for(var p in t)if((e||af.call(t,p))&&!(i&&(p=="length"||a&&(p=="offset"||p=="parent")||f&&(p=="buffer"||p=="byteLength"||p=="byteOffset")||hn(p,s))))n.push(p);return n}var ya=ff;function nf(t,e){return function(r){return t(e(r))}}var va=nf;var sf=va(Object.keys,Object),le=sf;var pf=Object.prototype,uf=pf.hasOwnProperty;function mf(t){if(!yn(t))return le(t);var e=[];for(var r in Object(t))if(uf.call(t,r)&&r!="constructor")e.push(r);return e}var lr=mf;function lf(t){return $e(t)?ya(t):lr(t)}var _e=lf;var df=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xf=/^\w*$/;function hf(t,e){if(H(t))return!1;var r=typeof t;if(r=="number"||r=="symbol"||r=="boolean"||t==null||pt(t))return!0;return xf.test(t)||!df.test(t)||e!=null&&t in Object(e)}var M=hf;var cf=x(Object,"create"),b=cf;function gf(){this.__data__=b?b(null):{},this.size=0}var de=gf;function yf(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var he=yf;var _f="__lodash_hash_undefined__",bf=Object.prototype,vf=bf.hasOwnProperty;function Of(t){var e=this.__data__;if(b){var r=e[t];return r===_f?void 0:r}return vf.call(e,t)?e[t]:void 0}var ce=Of;var Af=Object.prototype,Tf=Af.hasOwnProperty;function wf(t){var e=this.__data__;return b?e[t]!==void 0:Tf.call(e,t)}var ge=wf;var Sf="__lodash_hash_undefined__";function Pf(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=b&&e===void 0?Sf:e,this}var ye=Pf;function N(t){var e=-1,r=t==null?0:t.length;this.clear();while(++e<r){var o=t[e];this.set(o[0],o[1])}}N.prototype.clear=de;N.prototype.delete=he;N.prototype.get=ce;N.prototype.has=ge;N.prototype.set=ye;var yt=N;function Cf(){this.__data__=[],this.size=0}var be=Cf;function Ef(t,e){var r=t.length;while(r--)if(kt(t[r][0],e))return r;return-1}var O=Ef;var If=Array.prototype,Lf=If.splice;function jf(t){var e=this.__data__,r=O(e,t);if(r<0)return!1;var o=e.length-1;if(r==o)e.pop();else Lf.call(e,r,1);return--this.size,!0}var ve=jf;function Mf(t){var e=this.__data__,r=O(e,t);return r<0?void 0:e[r][1]}var Ae=Mf;function Nf(t){return O(this.__data__,t)>-1}var Te=Nf;function Df(t,e){var r=this.__data__,o=O(r,t);if(o<0)++this.size,r.push([t,e]);else r[o][1]=e;return this}var Se=Df;function D(t){var e=-1,r=t==null?0:t.length;this.clear();while(++e<r){var o=t[e];this.set(o[0],o[1])}}D.prototype.clear=be;D.prototype.delete=ve;D.prototype.get=Ae;D.prototype.has=Te;D.prototype.set=Se;var A=D;var Rf=x(xe,"Map"),T=Rf;function Ff(){this.size=0,this.__data__={hash:new yt,map:new(T||A),string:new yt}}var Pe=Ff;function Bf(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var Ce=Bf;function Gf(t,e){var r=t.__data__;return Ce(e)?r[typeof e=="string"?"string":"hash"]:r.map}var w=Gf;function Uf(t){var e=w(this,t).delete(t);return this.size-=e?1:0,e}var Ie=Uf;function zf(t){return w(this,t).get(t)}var Le=zf;function Wf(t){return w(this,t).has(t)}var je=Wf;function Kf(t,e){var r=w(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}var Me=Kf;function R(t){var e=-1,r=t==null?0:t.length;this.clear();while(++e<r){var o=t[e];this.set(o[0],o[1])}}R.prototype.clear=Pe;R.prototype.delete=Ie;R.prototype.get=Le;R.prototype.has=je;R.prototype.set=Me;var E=R;var Hf="Expected a function";function _t(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw TypeError(Hf);var r=function(){var o=arguments,a=e?e.apply(this,o):o[0],f=r.cache;if(f.has(a))return f.get(a);var i=t.apply(this,o);return r.cache=f.set(a,i)||f,i};return r.cache=new(_t.Cache||E),r}_t.Cache=E;var Ne=_t;var qf=500;function $f(t){var e=Ne(t,function(o){if(r.size===qf)r.clear();return o}),r=e.cache;return e}var De=$f;var kf=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Yf=/\\(\\)?/g,Xf=De(function(t){var e=[];if(t.charCodeAt(0)===46)e.push("");return t.replace(kf,function(r,o,a,f){e.push(a?f.replace(Yf,"$1"):o||r)}),e}),Re=Xf;function Zf(t){return t==null?"":Mt(t)}var ba=Zf;function Jf(t,e){if(H(t))return t;return M(t,e)?[t]:Re(ba(t))}var xn=Jf;var Qf=1/0;function Vf(t){if(typeof t=="string"||pt(t))return t;var e=t+"";return e=="0"&&1/t==-Qf?"-0":e}var Gt=Vf;function ti(t,e){e=xn(e,t);var r=0,o=e.length;while(t!=null&&r<o)t=t[Gt(e[r++])];return r&&r==o?t:void 0}var _n=ti;function ei(t,e,r){var o=t==null?void 0:_n(t,e);return o===void 0?r:o}var Fe=ei;function ri(t,e){var r=-1,o=e.length,a=t.length;while(++r<o)t[a+r]=e[r];return t}var cr=ri;var Be=Oe?Oe.isConcatSpreadable:void 0;function oi(t){return H(t)||Ot(t)||!!(Be&&t&&t[Be])}var Ge=oi;function Ue(t,e,r,o,a){var f=-1,i=t.length;r||(r=Ge),a||(a=[]);while(++f<i){var n=t[f];if(e>0&&r(n))if(e>1)Ue(n,e-1,r,o,a);else cr(a,n);else if(!o)a[a.length]=n}return a}var ur=Ue;function ai(t,e,r,o){var a=-1,f=t==null?0:t.length;if(o&&f)r=t[++a];while(++a<f)r=e(r,t[a],a,t);return r}var ze=ai;function fi(){this.__data__=new A,this.size=0}var We=fi;function ii(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var Ke=ii;function ni(t){return this.__data__.get(t)}var qe=ni;function si(t){return this.__data__.has(t)}var ke=si;var pi=200;function ui(t,e){var r=this.__data__;if(r instanceof A){var o=r.__data__;if(!T||o.length<pi-1)return o.push([t,e]),this.size=++r.size,this;r=this.__data__=new E(o)}return r.set(t,e),this.size=r.size,this}var Ye=ui;function F(t){var e=this.__data__=new A(t);this.size=e.size}F.prototype.clear=We;F.prototype.delete=Ke;F.prototype.get=qe;F.prototype.has=ke;F.prototype.set=Ye;var Ht=F;function mi(t,e){var r=-1,o=t==null?0:t.length,a=0,f=[];while(++r<o){var i=t[r];if(e(i,r,t))f[a++]=i}return f}var V=mi;function li(){return[]}var xa=li;var di=Object.prototype,xi=di.propertyIsEnumerable,Xe=Object.getOwnPropertySymbols,hi=!Xe?xa:function(t){if(t==null)return[];return t=Object(t),V(Xe(t),function(e){return xi.call(t,e)})},dr=hi;function ci(t,e,r){var o=e(t);return H(t)?o:cr(o,r(t))}var _a=ci;function gi(t){return _a(t,_e,dr)}var zr=gi;var yi=x(xe,"DataView"),tt=yi;var _i=x(xe,"Promise"),et=_i;var bi=x(xe,"Set"),S=bi;var Ze="[object Map]",vi="[object Object]",Ve="[object Promise]",tr="[object Set]",er="[object WeakMap]",rr="[object DataView]",Oi=_(tt),Ai=_(T),Ti=_(et),wi=_(S),Si=_(Y),I=Qe;if(tt&&I(new tt(new ArrayBuffer(1)))!=rr||T&&I(new T)!=Ze||et&&I(et.resolve())!=Ve||S&&I(new S)!=tr||Y&&I(new Y)!=er)I=function(t){var e=Qe(t),r=e==vi?t.constructor:void 0,o=r?_(r):"";if(o)switch(o){case Oi:return rr;case Ai:return Ze;case Ti:return Ve;case wi:return tr;case Si:return er}return e};var mt=I;var Pi=xe.Uint8Array,pr=Pi;var Ci="__lodash_hash_undefined__";function Ei(t){return this.__data__.set(t,Ci),this}var or=Ei;function Ii(t){return this.__data__.has(t)}var ar=Ii;function rt(t){var e=-1,r=t==null?0:t.length;this.__data__=new E;while(++e<r)this.add(t[e])}rt.prototype.add=rt.prototype.push=or;rt.prototype.has=ar;var ot=rt;function Li(t,e){var r=-1,o=t==null?0:t.length;while(++r<o)if(e(t[r],r,t))return!0;return!1}var ir=Li;function ji(t,e){return t.has(e)}var at=ji;var Mi=1,Ni=2;function Di(t,e,r,o,a,f){var i=r&Mi,n=t.length,s=e.length;if(n!=s&&!(i&&s>n))return!1;var p=f.get(t),d=f.get(e);if(p&&d)return p==e&&d==t;var l=-1,m=!0,y=r&Ni?new ot:void 0;f.set(t,e),f.set(e,t);while(++l<n){var c=t[l],g=e[l];if(o)var v=i?o(g,c,l,e,t,f):o(c,g,l,t,e,f);if(v!==void 0){if(v)continue;m=!1;break}if(y){if(!ir(e,function(P,C){if(!at(y,C)&&(c===P||a(c,P,r,o,f)))return y.push(C)})){m=!1;break}}else if(!(c===g||a(c,g,r,o,f))){m=!1;break}}return f.delete(t),f.delete(e),m}var it=Di;function Ri(t){var e=-1,r=Array(t.size);return t.forEach(function(o,a){r[++e]=[a,o]}),r}var nr=Ri;function Fi(t){var e=-1,r=Array(t.size);return t.forEach(function(o){r[++e]=o}),r}var B=Fi;var Bi=1,Gi=2,Ui="[object Boolean]",zi="[object Date]",Wi="[object Error]",Ki="[object Map]",Hi="[object Number]",qi="[object RegExp]",$i="[object Set]",ki="[object String]",Yi="[object Symbol]",Xi="[object ArrayBuffer]",Zi="[object DataView]",xr=Oe?Oe.prototype:void 0,bt=xr?xr.valueOf:void 0;function Ji(t,e,r,o,a,f,i){switch(r){case Zi:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case Xi:if(t.byteLength!=e.byteLength||!f(new pr(t),new pr(e)))return!1;return!0;case Ui:case zi:case Hi:return kt(+t,+e);case Wi:return t.name==e.name&&t.message==e.message;case qi:case ki:return t==e+"";case Ki:var n=nr;case $i:var s=o&Bi;if(n||(n=B),t.size!=e.size&&!s)return!1;var p=i.get(t);if(p)return p==e;o|=Gi,i.set(t,e);var d=it(n(t),n(e),o,a,f,i);return i.delete(t),d;case Yi:if(bt)return bt.call(t)==bt.call(e)}return!1}var gr=Ji;var Qi=1,Vi=Object.prototype,tn=Vi.hasOwnProperty;function en(t,e,r,o,a,f){var i=r&Qi,n=zr(t),s=n.length,p=zr(e),d=p.length;if(s!=d&&!i)return!1;var l=s;while(l--){var m=n[l];if(!(i?m in e:tn.call(e,m)))return!1}var y=f.get(t),c=f.get(e);if(y&&c)return y==e&&c==t;var g=!0;f.set(t,e),f.set(e,t);var v=i;while(++l<s){m=n[l];var P=t[m],C=e[m];if(o)var Tt=i?o(C,P,m,e,t,f):o(P,C,m,t,e,f);if(!(Tt===void 0?P===C||a(P,C,r,o,f):Tt)){g=!1;break}v||(v=m=="constructor")}if(g&&!v){var W=t.constructor,K=e.constructor;if(W!=K&&(("constructor"in t)&&("constructor"in e))&&!(typeof W=="function"&&W instanceof W&&typeof K=="function"&&K instanceof K))g=!1}return f.delete(t),f.delete(e),g}var yr=en;var rn=1,_r="[object Arguments]",br="[object Array]",nt="[object Object]",on=Object.prototype,vr=on.hasOwnProperty;function an(t,e,r,o,a,f){var i=H(t),n=H(e),s=i?br:mt(t),p=n?br:mt(e);s=s==_r?nt:s,p=p==_r?nt:p;var d=s==nt,l=p==nt,m=s==p;if(m&&Ct(t)){if(!Ct(e))return!1;i=!0,d=!1}if(m&&!d)return f||(f=new Ht),i||bn(t)?it(t,e,r,o,a,f):gr(t,e,s,r,o,a,f);if(!(r&rn)){var y=d&&vr.call(t,"__wrapped__"),c=l&&vr.call(e,"__wrapped__");if(y||c){var g=y?t.value():t,v=c?e.value():e;return f||(f=new Ht),a(g,v,r,o,f)}}if(!m)return!1;return f||(f=new Ht),yr(t,e,r,o,a,f)}var Or=an;function Ar(t,e,r,o,a){if(t===e)return!0;if(t==null||e==null||!Ee(t)&&!Ee(e))return t!==t&&e!==e;return Or(t,e,r,o,Ar,a)}var ut=Ar;var fn=1,nn=2;function sn(t,e,r,o){var a=r.length,f=a,i=!o;if(t==null)return!f;t=Object(t);while(a--){var n=r[a];if(i&&n[2]?n[1]!==t[n[0]]:!(n[0]in t))return!1}while(++a<f){n=r[a];var s=n[0],p=t[s],d=n[1];if(i&&n[2]){if(p===void 0&&!(s in t))return!1}else{var l=new Ht;if(o)var m=o(p,d,s,t,e,l);if(!(m===void 0?ut(d,p,fn|nn,o,l):m))return!1}}return!0}var Tr=sn;function pn(t){return t===t&&!me(t)}var dt=pn;function un(t){var e=_e(t),r=e.length;while(r--){var o=e[r],a=t[o];e[r]=[o,a,dt(a)]}return e}var wr=un;function mn(t,e){return function(r){if(r==null)return!1;return r[t]===e&&(e!==void 0||(t in Object(r)))}}var xt=mn;function ln(t){var e=wr(t);if(e.length==1&&e[0][2])return xt(e[0][0],e[0][1]);return function(r){return r===t||Tr(r,t,e)}}var Sr=ln;function dn(t,e){return t!=null&&e in Object(t)}var Pr=dn;function cn(t,e,r){e=xn(e,t);var o=-1,a=e.length,f=!1;while(++o<a){var i=Gt(e[o]);if(!(f=t!=null&&r(t,i)))break;t=t[i]}if(f||++o!=a)return f;return a=t==null?0:t.length,!!a&&j(a)&&hn(i,a)&&(H(t)||Ot(t))}var wa=cn;function On(t,e){return t!=null&&wa(t,e,Pr)}var ka=On;var An=1,Tn=2;function Sn(t,e){if(M(t)&&dt(e))return xt(Gt(t),e);return function(r){var o=Fe(r,t);return o===void 0&&o===e?ka(r,t):ut(e,o,An|Tn)}}var Cr=Sn;function Pn(t){return function(e){return e==null?void 0:e[t]}}var Ca=Pn;function Cn(t){return function(e){return _n(e,t)}}var Er=Cn;function En(t){return M(t)?Ca(Gt(t)):Er(t)}var Ir=En;function In(t){if(typeof t=="function")return t;if(t==null)return st;if(typeof t=="object")return H(t)?Cr(t[0],t[1]):Sr(t);return Ir(t)}var He=In;function Ln(t){return function(e,r,o){var a=-1,f=Object(e),i=o(e),n=i.length;while(n--){var s=i[t?n:++a];if(r(f[s],s,f)===!1)break}return e}}var Lr=Ln;var jn=Lr(),mr=jn;function Mn(t,e){return t&&mr(t,e,_e)}var fr=Mn;function Nn(t,e){return function(r,o){if(r==null)return r;if(!$e(r))return t(r,o);var a=r.length,f=e?a:-1,i=Object(r);while(e?f--:++f<a)if(o(i[f],f,i)===!1)break;return r}}var jr=Nn;var Dn=jr(fr),wn=Dn;function Rn(t){return Ee(t)&&$e(t)}var Sa=Rn;function Fn(t,e,r){var o=-1,a=t==null?0:t.length;while(++o<a)if(r(e,t[o]))return!0;return!1}var Mr=Fn;function Bn(t){return typeof t=="function"?t:st}var hr=Bn;function Gn(t,e){var r=H(t)?fa:wn;return r(t,hr(e))}var h=Gn;function Un(t,e){var r=[];return wn(t,function(o,a,f){if(e(o,a,f))r.push(o)}),r}var Nr=Un;function zn(t,e){var r=H(t)?V:Nr;return r(t,He(e,3))}var Je=zn;function Wn(t,e){return qt(e,function(r){return t[r]})}var Dr=Wn;function Kn(t){return t==null?[]:Dr(t,_e(t))}var ft=Kn;var Hn="[object Map]",qn="[object Set]",$n=Object.prototype,kn=$n.hasOwnProperty;function Yn(t){if(t==null)return!0;if($e(t)&&(H(t)||typeof t=="string"||typeof t.splice=="function"||Ct(t)||bn(t)||Ot(t)))return!t.length;var e=mt(t);if(e==Hn||e==qn)return!t.size;if(yn(t))return!lr(t).length;for(var r in t)if(kn.call(t,r))return!1;return!0}var ht=Yn;function Xn(t){return t===void 0}var we=Xn;function Zn(t,e,r,o,a){return a(t,function(f,i,n){r=o?(o=!1,f):e(r,f,i,n)}),r}var Rr=Zn;function Jn(t,e,r){var o=H(t)?ze:Rr,a=arguments.length<3;return o(t,He(e,4),r,a,wn)}var Yt=Jn;var Qn=1/0,Vn=!(S&&1/B(new S([,-0]))[1]==Qn)?zt:function(t){return new S(t)},Fr=Vn;var ts=200;function es(t,e,r){var o=-1,a=Qt,f=t.length,i=!0,n=[],s=n;if(r)i=!1,a=Mr;else if(f>=ts){var p=e?null:Fr(t);if(p)return B(p);i=!1,a=at,s=new ot}else s=e?[]:n;t:while(++o<f){var d=t[o],l=e?e(d):d;if(d=r||d!==0?d:0,i&&l===l){var m=s.length;while(m--)if(s[m]===l)continue t;if(e)s.push(l);n.push(d)}else if(!a(s,l,r)){if(s!==n)s.push(l);n.push(d)}}return n}var Br=es;var rs=gn(function(t){return Br(ur(t,1,Sa,!0))}),vt=rs;var as="\x00",L="\x00",Gr="\x01";class re{constructor(t={}){if(this._isDirected=Object.prototype.hasOwnProperty.call(t,"directed")?t.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(t,"multigraph")?t.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(t,"compound")?t.compound:!1,this._label=void 0,this._defaultNodeLabelFn=lt(void 0),this._defaultEdgeLabelFn=lt(void 0),this._nodes={},this._isCompound)this._parent={},this._children={},this._children[L]={};this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){if(!Vt(t))t=lt(t);return this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return _e(this._nodes)}sources(){var t=this;return Je(this.nodes(),function(e){return ht(t._in[e])})}sinks(){var t=this;return Je(this.nodes(),function(e){return ht(t._out[e])})}setNodes(t,e){var r=arguments,o=this;return h(t,function(a){if(r.length>1)o.setNode(a,e);else o.setNode(a)}),this}setNode(t,e){if(Object.prototype.hasOwnProperty.call(this._nodes,t)){if(arguments.length>1)this._nodes[t]=e;return this}if(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound)this._parent[t]=L,this._children[t]={},this._children[L][t]=!0;return this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this}node(t){return this._nodes[t]}hasNode(t){return Object.prototype.hasOwnProperty.call(this._nodes,t)}removeNode(t){if(Object.prototype.hasOwnProperty.call(this._nodes,t)){var e=(r)=>this.removeEdge(this._edgeObjs[r]);if(delete this._nodes[t],this._isCompound)this._removeFromParentsChildList(t),delete this._parent[t],h(this.children(t),(r)=>{this.setParent(r)}),delete this._children[t];h(_e(this._in[t]),e),delete this._in[t],delete this._preds[t],h(_e(this._out[t]),e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(we(e))e=L;else{e+="";for(var r=e;!we(r);r=this.parent(r))if(r===t)throw Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var e=this._parent[t];if(e!==L)return e}}children(t){if(we(t))t=L;if(this._isCompound){var e=this._children[t];if(e)return _e(e)}else if(t===L)return this.nodes();else if(this.hasNode(t))return[]}predecessors(t){var e=this._preds[t];if(e)return _e(e)}successors(t){var e=this._sucs[t];if(e)return _e(e)}neighbors(t){var e=this.predecessors(t);if(e)return vt(e,this.successors(t))}isLeaf(t){var e;if(this.isDirected())e=this.successors(t);else e=this.neighbors(t);return e.length===0}filterNodes(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var r=this;h(this._nodes,function(f,i){if(t(i))e.setNode(i,f)}),h(this._edgeObjs,function(f){if(e.hasNode(f.v)&&e.hasNode(f.w))e.setEdge(f,r.edge(f))});var o={};function a(f){var i=r.parent(f);if(i===void 0||e.hasNode(i))return o[f]=i,i;else if(i in o)return o[i];else return a(i)}if(this._isCompound)h(e.nodes(),function(f){e.setParent(f,a(f))});return e}setDefaultEdgeLabel(t){if(!Vt(t))t=lt(t);return this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return ft(this._edgeObjs)}setPath(t,e){var r=this,o=arguments;return Yt(t,function(a,f){if(o.length>1)r.setEdge(a,f,e);else r.setEdge(a,f);return f}),this}setEdge(){var t,e,r,o,a=!1,f=arguments[0];if(typeof f==="object"&&f!==null&&"v"in f){if(t=f.v,e=f.w,r=f.name,arguments.length===2)o=arguments[1],a=!0}else if(t=f,e=arguments[1],r=arguments[3],arguments.length>2)o=arguments[2],a=!0;if(t=""+t,e=""+e,!we(r))r=""+r;var i=z(this._isDirected,t,e,r);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,i)){if(a)this._edgeLabels[i]=o;return this}if(!we(r)&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[i]=a?o:this._defaultEdgeLabelFn(t,e,r);var n=fs(this._isDirected,t,e,r);return t=n.v,e=n.w,Object.freeze(n),this._edgeObjs[i]=n,Ur(this._preds[e],t),Ur(this._sucs[t],e),this._in[e][i]=n,this._out[t][i]=n,this._edgeCount++,this}edge(t,e,r){var o=arguments.length===1?At(this._isDirected,arguments[0]):z(this._isDirected,t,e,r);return this._edgeLabels[o]}hasEdge(t,e,r){var o=arguments.length===1?At(this._isDirected,arguments[0]):z(this._isDirected,t,e,r);return Object.prototype.hasOwnProperty.call(this._edgeLabels,o)}removeEdge(t,e,r){var o=arguments.length===1?At(this._isDirected,arguments[0]):z(this._isDirected,t,e,r),a=this._edgeObjs[o];if(a)t=a.v,e=a.w,delete this._edgeLabels[o],delete this._edgeObjs[o],Wr(this._preds[e],t),Wr(this._sucs[t],e),delete this._in[e][o],delete this._out[t][o],this._edgeCount--;return this}inEdges(t,e){var r=this._in[t];if(r){var o=ft(r);if(!e)return o;return Je(o,function(a){return a.v===e})}}outEdges(t,e){var r=this._out[t];if(r){var o=ft(r);if(!e)return o;return Je(o,function(a){return a.w===e})}}nodeEdges(t,e){var r=this.inEdges(t,e);if(r)return r.concat(this.outEdges(t,e))}}re.prototype._nodeCount=0;re.prototype._edgeCount=0;function Ur(t,e){if(t[e])t[e]++;else t[e]=1}function Wr(t,e){if(!--t[e])delete t[e]}function z(t,e,r,o){var a=""+e,f=""+r;if(!t&&a>f){var i=a;a=f,f=i}return a+Gr+f+Gr+(we(o)?as:o)}function fs(t,e,r,o){var a=""+e,f=""+r;if(!t&&a>f){var i=a;a=f,f=i}var n={v:a,w:f};if(o)n.name=o;return n}function At(t,e){return z(t,e.v,e.w,e.name)}
2
- export{xe,Oe,Qe,Ee,pt,qt,H,me,st,Vt,lt,sr,ma,fa,ha,hn,kt,ga,gn,$e,yn,Ot,Ct,vn,Wt,bn,ya,va,lr,_e,ba,xn,Gt,_n,cr,ur,Ht,xa,dr,_a,zr,mt,pr,wa,ka,Ca,He,mr,fr,wn,Sa,hr,h,Je,ft,we,Yt,re};
@@ -1 +0,0 @@
1
- import{Ti}from"./chunk-xjc5fmcr.js";export{Ti as createGitGraphServices};
@@ -1 +0,0 @@
1
- import{wi}from"./chunk-xjc5fmcr.js";export{wi as createRadarServices};
@@ -1 +0,0 @@
1
- import{g,o,Y,i,r,f,e,n,y,jt,Qn,Ue,Dn,Ie,un,ce,ee,ra,So,aa}from"./chunk-kahab58k.js";function de(d){let{Button:b,confirm:L,PageLayout:x,Switch:_,cn:F,style:z}=y(),{connection:u,onOpen:O}=d,[D,p]=r([]),[w,H]=r([]),[q,J]=r([]),[I,T]=r(),[B,U]=r([]),[A,V]=r(!0),[k,N]=r(),[C,R]=r(),[W,P]=r(!1),[G,c]=r({}),s=i(0),E=g(async()=>{let t=++s.current;try{let[a,l,m,v]=await Promise.all([u.request("/api/automations"),u.request("/api/projects").catch(()=>[]),u.request("/api/info").catch(()=>{return}),u.request("/api/models").catch(()=>({models:[]}))]),te=[...new Set(a.flatMap((h)=>h.lastSessionID?[h.lastSessionID]:[]))],ne=(await Promise.all(te.map(async(h)=>u.request(`/api/sessions/${encodeURIComponent(h)}`).catch((j)=>{if(j instanceof Error&&"status"in j&&j.status===404)return;throw j})))).filter((h)=>h!==void 0);if(t!==s.current)return;if(p(a.sort((h,j)=>h.created-j.created)),H(l),J(ne),T(m),v?.models)U(v.models.map((h)=>h.id));N(void 0)}catch(a){if(t===s.current)N(a instanceof Error?a.message:"加载失败")}finally{if(t===s.current)V(!1)}},[u]);o(()=>(E(),()=>{s.current++}),[E]);let S=(t)=>{R(t),P(!0)},Q=async(t)=>{c((a)=>({...a,[t.id]:!0}));try{let a=await u.request(`/api/automations/${t.id}/run`,{method:"POST"});O(a.id)}catch(a){N(a instanceof Error?a.message:"运行失败")}finally{c((a)=>({...a,[t.id]:!1}))}},X=async(t)=>{if(!await L({title:`删除自动化「${t.name}」?`,description:"已经跑出来的会话会保留。",action:"删除",danger:!0}))return;try{await u.request(`/api/automations/${t.id}`,{method:"DELETE"}),p((l)=>l.filter((m)=>m.id!==t.id))}catch(l){N(l instanceof Error?l.message:"删除失败")}},Z=async(t,a)=>{try{let l=await u.request(`/api/automations/${t.id}`,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({enabled:a})});p((m)=>m.map((v)=>v.id===t.id?l:v))}catch(l){N(l instanceof Error?l.message:"状态切换失败")}};return n(x,{title:"自动化",description:n(f,{children:["到点自动开一个新会话执行提示词,跑完的结果在会话里查看。",I?.timezone&&n("span",{className:"text-faint",children:["按服务器时区 ",I.timezone,"。"]})]}),actions:n(b,{variant:"primary",onClick:()=>S(null),children:[e(ce,{className:"size-4"}),"新建"]}),children:[k&&e("div",{className:"mb-4 rounded-lg bg-danger/10 px-3 py-2 text-xs text-danger",children:k}),A?e("div",{className:"flex justify-center py-12 text-xs text-faint",children:"正在加载自动化…"}):D.length===0?n("div",{className:z("surface.emptyDashed","animate-fade"),children:[e("div",{className:"grid size-11 place-items-center rounded-xl bg-raised text-dim",children:e(jt,{className:"size-5"})}),n("div",{children:[e("p",{className:"text-[15px] font-medium",children:"还没有自动化"}),e("p",{className:"mt-1 text-sm text-dim",children:"比如「每个工作日 9 点总结昨天的提交」。"})]}),n(b,{size:"sm",onClick:()=>S(null),className:"mt-1",children:[e(ce,{className:"size-3.5"}),"新建自动化"]})]}):e("ul",{className:"flex animate-fade flex-col gap-3",children:D.map((t)=>{let a=t.projectID?w.find((v)=>v.id===t.projectID):void 0,l=t.lastSessionID?q.find((v)=>v.id===t.lastSessionID):void 0,m=Boolean(G[t.id]);return e("li",{children:n("article",{className:z("surface.card","group p-4 transition-[border-color,box-shadow] duration-200 hover:border-line-strong hover:shadow-composer"),children:[n("div",{className:"flex items-start gap-3",children:[n("div",{className:F("min-w-0 flex-1 transition-opacity duration-200",!t.enabled&&"opacity-55"),children:[e("h2",{className:"truncate text-[15px] font-medium",children:t.name}),n("div",{className:"mt-1 flex flex-wrap items-center gap-x-3.5 gap-y-1 text-[13px] text-dim",children:[n("span",{className:"flex items-center gap-1.5 [&_svg]:size-3.5 [&_svg]:text-faint",children:[e(jt,{}),So(t.schedule)]}),n("span",{className:"flex items-center gap-1.5 [&_svg]:size-3.5 [&_svg]:text-faint",children:[a?e(Ue,{}):e(Dn,{}),a?a.name:"聊天"]}),t.enabled&&t.nextRun!==null&&n("span",{className:"flex items-center gap-1.5 [&_svg]:size-3.5 [&_svg]:text-faint",children:[e(Qn,{}),"下次 ",aa(t.nextRun)]})]})]}),e(_,{checked:t.enabled,label:t.enabled?"停用":"启用",onCheckedChange:(v)=>Z(t,v),className:"mt-0.5"})]}),e("p",{className:F("mt-3 line-clamp-2 text-sm leading-6 whitespace-pre-wrap text-faint transition-opacity duration-200",!t.enabled&&"opacity-55"),children:t.prompt}),n("div",{className:"mt-3 -mb-1 flex items-center gap-1",children:[n(b,{size:"sm",onClick:()=>Q(t),disabled:m,children:[e(un,{className:"size-3.5"}),m?"正在启动…":"立即运行"]}),n(b,{size:"sm",variant:"ghost",onClick:()=>S(t),children:[e(Ie,{className:"size-3.5"}),"编辑"]}),n(b,{size:"sm",variant:"danger-ghost",onClick:()=>X(t),children:[e(ee,{className:"size-3.5"}),"删除"]}),e("div",{className:"flex-1"}),t.lastRun!==null&&n("button",{type:"button",disabled:!l,onClick:()=>l&&O(l.id),className:"rounded-md px-1.5 py-1 text-[13px] text-faint transition-colors enabled:hover:bg-raised enabled:hover:text-ink",children:["上次运行 ",aa(t.lastRun),l?.archivedAt!=null?" · 已归档":"",!l?" · 会话已删除":""]})]})]})},t.id)})}),C!==void 0&&e(oe,{open:W,onOpenChange:P,automation:C??void 0,projects:w,models:B,timezone:I?.timezone,onSaved:(t)=>{p((a)=>{let l=a.findIndex((m)=>m.id===t.id);if(l>=0){let m=[...a];return m[l]=t,m}return[...a,t].sort((m,v)=>m.created-v.created)}),P(!1)},connection:u},C?.id??"new")]})}var M="custom",K="chat";function oe(d){let{Button:b,Dialog:L,Field:x,Form:_,FormError:F,Input:z,Select:u,Textarea:O}=y(),D=Y(),p=d.automation,[w,H]=r(p?.name??""),[q,J]=r(p?.prompt??""),[I,T]=r(p?.schedule??ra[0]?.cron??"0 9 * * *"),[B,U]=r(()=>!ra.some((c)=>c.cron===I)),[A,V]=r(p?.projectID??K),[k,N]=r(p?.model??""),[C,R]=r(!1),[W,P]=r();async function G(c){c.preventDefault(),R(!0),P(void 0);try{let s=A===K?void 0:A,E={name:w,prompt:q,schedule:I,model:k||void 0},S;if(p)S=await d.connection.request(`/api/automations/${p.id}`,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({...E,projectID:s??null})});else S=await d.connection.request("/api/automations",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({...E,projectID:s})});d.onSaved(S)}catch(s){P(s instanceof Error?s.message:"保存失败")}finally{R(!1)}}return e(L,{open:d.open,onOpenChange:d.onOpenChange,title:d.automation?"编辑自动化":"新建自动化",size:"lg",footer:n(f,{children:[e("div",{className:"flex-1 max-sm:hidden"}),e(b,{onClick:()=>d.onOpenChange(!1),children:"取消"}),e(b,{type:"submit",form:D,variant:"primary",disabled:C,children:C?"正在保存…":d.automation?"保存":"创建"})]}),children:n(_,{id:D,onSubmit:G,children:[e(x,{label:"名称",children:(c)=>e(z,{id:c,autoFocus:!p,required:!0,value:w,onChange:(s)=>H(s.target.value),placeholder:"例如:每日提交总结"})}),e(x,{label:"提示词",hint:"没人盯着运行,写清楚要做什么、结果怎么汇报。",children:(c)=>e(O,{id:c,required:!0,value:q,onChange:(s)=>J(s.target.value),rows:5,placeholder:"总结昨天到现在的 git 提交,按模块分组,列出需要我关注的改动。"})}),n("div",{className:"grid gap-x-3 gap-y-4 sm:grid-cols-2",children:[e(x,{label:"时间",children:(c)=>e(u,{id:c,value:B?M:I,onValueChange:(s)=>{if(U(s===M),s!==M)T(s)},groups:[{options:ra.map((s)=>({value:s.cron,label:s.label}))},{options:[{value:M,label:"自定义(cron)"}]}]})}),e(x,{label:"在哪里运行",children:(c)=>e(u,{id:c,value:A,onValueChange:V,groups:[{options:[{value:K,label:"聊天",description:"不绑定目录",icon:e(Dn,{})}]},...d.projects.length?[{label:"项目",options:d.projects.map((s)=>({value:s.id,label:s.name,icon:e(Ue,{})}))}]:[]]})})]}),B&&e(x,{label:"cron 表达式",hint:`分 时 日 月 周,例如 30 8 * * 1-5 是工作日 8:30。${d.timezone?`按 ${d.timezone} 时间。`:""}`,children:(c)=>e(z,{id:c,required:!0,value:I,onChange:(s)=>T(s.target.value),spellCheck:!1,className:"font-mono"})}),d.models.length>0&&e(x,{label:"模型",children:(c)=>e(u,{id:c,value:k||"default",onValueChange:(s)=>N(s==="default"?"":s),groups:[{options:[{value:"default",label:"默认模型"},...d.models.map((s)=>({value:s,label:s}))]}]})}),e(F,{children:W})]})})}export{de as AutomationsPage};
@@ -1 +0,0 @@
1
- import{sa}from"./chunk-4wwd3pfz.js";export{sa as default};
@@ -1 +0,0 @@
1
- import{g,o,i,r,f,e,n,y,s,te,ot,ve,ce,ne,je,ut,ee,X}from"./chunk-kahab58k.js";import{Nr,Pr,Or}from"./chunk-f79ajymt.js";var $e=[["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"}]],xe=s("rotate-cw",$e);function Ce(t){let m=[],h="",v,j=!1;for(let l=0;l<t.length;l++){let p=t.charAt(l);if(v)if(p===v)v=void 0;else if(p==="\\"&&v==='"'&&l+1<t.length)h+=t[++l];else h+=p;else if(p==='"'||p==="'")v=p,j=!0;else if(p==="\\"&&l+1<t.length)h+=t[++l],j=!0;else if(/\s/.test(p)){if(j||h)m.push(h);h="",j=!1}else h+=p,j=!0}if(j||h)m.push(h);return m}function fe(t){return t.map((m)=>m===""||/[\s"'\\]/.test(m)?`"${m.replace(/(["\\])/g,"\\$1")}"`:m).join(" ")}var Ne="size-4 cursor-pointer rounded border-line text-accent accent-accent focus-visible:outline-2 focus-visible:outline-accent",Pe={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 de(t){return t.type==="local"?fe(t.command):t.url}function he({info:t,tools:m=!1}){let h=Pe[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 ${h.dot}`}),e("span",{className:m?void 0:"hidden @md/panel:inline",children:h.label}),m&&t.status.status==="connected"&&n("span",{className:"text-faint",children:[t.toolCount," 个工具"]})]})}function we(t){let{Button:m,CopyButton:h,DetailChip:v,DetailList:j,DetailRow:l,DetailTitle:p,Dialog:I,Switch:E,Tooltip:ie,cn:c,confirm:x,useTheme:re}=y();re();let{info:d,connection:R}=t,C=t.projectID?`?projectID=${encodeURIComponent(t.projectID)}`:"",[J,le]=r(),[K,_]=r(),[M,P]=r(!1),W=d.status.status==="connected",S=d.status.status==="needs_auth",z=d.status.status==="failed",L=d.config.type==="remote"&&Boolean(d.config.oauth),H=d.scope==="file";o(()=>{function u(w){if(w&&w!==d.name)return;R.request(`/api/mcp/${encodeURIComponent(d.name)}/connect${C}`,{method:"POST"}).then((se)=>t.onChanged(se)).catch(()=>{})}function oe(w){if(w.data?.type==="mcp-oauth-success")u(w.data.name)}function ue(w){if(w.key==="basalt-mcp-oauth-event"&&w.newValue)try{let se=JSON.parse(w.newValue);u(se.name)}catch(se){}}window.addEventListener("message",oe),window.addEventListener("storage",ue);let U;if("BroadcastChannel"in window)U=new BroadcastChannel("basalt-mcp-oauth"),U.onmessage=(w)=>{if(w.data?.type==="mcp-oauth-success")u(w.data.name)};return()=>{window.removeEventListener("message",oe),window.removeEventListener("storage",ue),U?.close()}},[R,d.name,C,t]),o(()=>{if(d.status.status!=="connected")return;R.request(`/api/mcp/${encodeURIComponent(d.name)}/tools${C}`).then((u)=>{if(Array.isArray(u))le(u),_(void 0)}).catch((u)=>{_(u instanceof Error?u.message:"获取工具失败")})},[R,d.name,C,d.status.status]);async function ae(u){P(!0);try{let oe=await R.request(`/api/mcp/${encodeURIComponent(d.name)}/${u}${C}`,{method:"POST"});t.onChanged(oe)}catch{}finally{P(!1)}}async function B(){P(!0);try{let u=d.status.status==="needs_auth"?d.status.authorizationUrl:void 0;if(!u)u=(await R.request(`/api/mcp/${encodeURIComponent(d.name)}/oauth/authorize${C}`,{method:"POST"})).authorizationUrl;if(u)window.open(u,"_blank","width=600,height=700")}catch(u){_(u instanceof Error?u.message:"获取授权链接失败")}finally{P(!1)}}async function a(){P(!0);try{let u=await R.request(`/api/mcp/${encodeURIComponent(d.name)}/oauth/clear${C}`,{method:"POST"});t.onChanged(u)}finally{P(!1)}}async function T(){if(!await x({title:`删除 ${d.name}?`,description:"删除后将断开连接并不再向会话提供其工具。",action:"删除",danger:!0}))return;P(!0);try{await R.request(`/api/mcp/${encodeURIComponent(d.name)}${C}`,{method:"DELETE"}),t.onChanged(),t.onClose()}finally{P(!1)}}let N=d.config,D=de(N),G="error"in d.status?d.status.error:void 0,Q=N.enabled===!1,Z=!Q&&!S;return e(I,{open:!0,onOpenChange:(u)=>{if(!u&&!M)t.onClose()},title:e(p,{icon:N.type==="local"?e(ut,{}):e(ve,{}),name:d.name,meta:[N.type==="local"?"本地命令":"远程服务",ge(d.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:[!H&&e(E,{label:`启用 ${d.name}`,checked:!Q,disabled:M||t.toggling,onCheckedChange:t.onToggle}),e(he,{info:d,tools:!0})]}),n("div",{className:"flex items-center gap-1.5",children:[L&&e(m,{type:"button",variant:"ghost",size:"sm",onClick:a,disabled:M,children:"清除凭据"}),!H&&e(ie,{label:"删除服务器",children:e(m,{type:"button",variant:"danger-ghost",size:"icon","aria-label":"删除服务器",onClick:T,disabled:M,children:e(ee,{className:"size-4"})})}),Z&&e(ie,{label:"终止服务进程并重新启动,让更新后的代码生效",children:e(m,{type:"button",variant:"ghost",size:"icon","aria-label":"重启",onClick:()=>ae("restart"),disabled:M,children:e(xe,{className:c("size-4",M&&"animate-spin")})})}),Z&&e(m,{type:"button",size:"sm",onClick:()=>ae(W?"disconnect":"connect"),disabled:M,children:W?"断开连接":"连接"}),!H&&n(m,{type:"button",size:"sm",onClick:t.onEdit,disabled:M,children:[e(je,{className:"size-3.5"}),e("span",{children:"编辑配置"})]})]})]}),children:n(j,{children:[n(l,{label:N.type==="local"?"命令":"地址",children:[e("span",{className:"min-w-0 font-mono text-[12px] text-dim leading-5.5 [overflow-wrap:anywhere]",children:D}),e(h,{text:D,label:"复制",size:"icon-xs",className:"shrink-0 text-faint hover:text-ink"})]}),S&&n(l,{label:"授权",children:[e("span",{className:"text-dim leading-7",children:"需要完成 OAuth 授权后才能使用,令牌会自动保存。"}),e(m,{type:"button",variant:"primary",size:"sm",onClick:B,disabled:M,children:"前往授权"})]}),z&&e(l,{label:"错误",children:e("p",{className:"min-w-0 font-mono text-[11.5px] text-danger leading-5 [overflow-wrap:anywhere]",children:G})}),e(l,{label:"工具",children:K?e("span",{className:"text-danger",children:K}):!W?e("span",{className:"text-faint",children:"连接后列出工具"}):!J?e("span",{role:"status",className:"text-faint",children:"正在获取"}):J.length===0?e("span",{className:"text-faint",children:"服务器没有声明任何工具"}):J.map((u)=>e(v,{mono:!0,title:u.description,children:u.name},u.name))})]})})}var De=/^[A-Za-z0-9_-]{1,64}$/;function V(t){return e("span",{className:"truncate text-xs text-faint",children:t.children})}function ke(t){let{pairs:m,onChange:h,InputComponent:v}=t,j=(l,p)=>h(m.map((I,E)=>E===l?{...I,...p}:I));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(V,{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:()=>h([...m,{key:"",value:"",saved:!1}]),children:[e(ce,{className:"size-3.5"}),"添加"]})]}),m.map((l,p)=>n("div",{className:"flex min-w-0 items-center gap-1.5",children:[e(v,{"aria-label":`${t.keyLabel} ${p+1}`,placeholder:t.keyLabel,value:l.key,readOnly:l.saved,onChange:(I)=>j(p,{key:I.target.value}),className:"min-w-0 flex-[2] font-mono text-xs"}),e(v,{"aria-label":`${t.keyLabel} ${l.key||p+1} 的值`,type:"password",autoComplete:"off",placeholder:l.saved?"已保存,留空保持不变":"值",value:l.value,onChange:(I)=>j(p,{value:I.target.value}),className:"min-w-0 flex-[3] font-mono text-xs"}),e("button",{type:"button","aria-label":`删除 ${l.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:()=>h(m.filter((I,E)=>E!==p)),children:e(X,{className:"size-4"})})]},p))]})}function Ie(t){return Object.keys(t??{}).map((m)=>({key:m,value:"",saved:!0}))}function Se(t){let{Button:m,Segmented:h,Dialog:v,Form:j,Field:l,Input:p,Switch:I,style:E,useTheme:ie}=y();ie();let{existing:c}=t,[x,re]=r(c?.config.type??"local"),[d,R]=r(c?.name??""),[C,J]=r(c?.config.type==="local"?fe(c.config.command):""),[le,K]=r(c?.config.type==="remote"?c.config.url:""),[_,M]=r(Ie(c?.config.type==="local"?c.config.environment:void 0)),[P,W]=r(Ie(c?.config.type==="remote"?c.config.headers:void 0)),S=c?.config.type==="remote"?c.config.oauth:void 0,[z,L]=r(Boolean(S)),[H,ae]=r(typeof S==="object"&&S.clientId?S.clientId:""),[B,a]=r(""),[T,N]=r(typeof S==="object"&&S.scope?S.scope:""),[D,G]=r(c?.config.defer??"default"),[Q,Z]=r(c?.config.timeout!==void 0?String(c.config.timeout):""),[u,oe]=r(c?.config.defer!==void 0||c?.config.timeout!==void 0),[ue,U]=r(),[w,se]=r(!1);async function Te(b){b.preventDefault(),U(void 0);let k=d.trim();if(!c&&!De.test(k)){U("名称只能包含英文字母、数字、下划线与中划线,长度 1-64");return}if(!c&&t.taken.includes(k)){U("同名服务器已存在");return}let me=Q.trim()?Number.parseInt(Q.trim(),10):void 0;if(me!==void 0&&(!Number.isFinite(me)||me<=0)){U("超时时间须为大于 0 的毫秒数");return}let be;if(x==="local"){let A=Ce(C.trim());if(!A.length){U("请输入启动命令");return}let F={};for(let q of _){let O=q.key.trim();if(!O)continue;if(!q.saved||q.value)F[O]=q.value}be={type:"local",command:A,environment:Object.keys(F).length?F:void 0,enabled:c?c.config.enabled:!0,defer:D==="default"?void 0:D,timeout:me}}else{let A=le.trim();try{let O=new URL(A);if(O.protocol!=="http:"&&O.protocol!=="https:")throw Error("bad protocol")}catch{U("请输入合法的 HTTP 或 HTTPS 地址");return}let F={};for(let O of P){let pe=O.key.trim();if(!pe)continue;if(!O.saved||O.value)F[pe]=O.value}let q;if(z){let O=H.trim(),pe=B.trim(),ye=T.trim();if(O||pe||ye)q={clientId:O||void 0,clientSecret:pe||void 0,scope:ye||void 0};else q=!0}else q=!1;be={type:"remote",url:A,headers:Object.keys(F).length?F:void 0,oauth:q,enabled:c?c.config.enabled:!0,defer:D==="default"?void 0:D,timeout:me}}se(!0);try{let A=c?.name??k,F=c?c.projectID:t.projectID,q=F?`?projectID=${encodeURIComponent(F)}`:"";await t.connection.request(`/api/mcp/${encodeURIComponent(A)}${q}`,{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify(be)}),t.onSaved()}catch(A){U(A instanceof Error?A.message:"保存失败")}finally{se(!1)}}return e(v,{open:!0,onOpenChange:(b)=>{if(!b&&!w)t.onClose()},title:c?`编辑 ${c.name}`:"添加 MCP 服务器",size:"lg",footer:n("div",{className:"flex w-full justify-end gap-2.5",children:[e(m,{type:"button",variant:"ghost",onClick:t.onClose,disabled:w,className:"min-w-20",children:"取消"}),e(m,{type:"submit",form:"mcp-server-form",variant:"primary",disabled:w,className:"min-w-24",children:w?"保存中...":"保存"})]}),children:n(j,{id:"mcp-server-form",onSubmit:Te,children:[e(h,{value:x,onChange:(b)=>re(b),className:"w-full [&>button]:flex-1",options:[{value:"local",label:"本地(标准输入输出)"},{value:"remote",label:"远程(HTTP / SSE)"}]}),!c&&e(l,{label:"名称",aside:e(V,{children:"唯一标识,如 postgres"}),children:(b)=>e(p,{id:b,value:d,onChange:(k)=>R(k.target.value),placeholder:"postgres",className:"font-mono text-xs"})}),x==="local"?n(f,{children:[e(l,{label:"启动命令",aside:e(V,{children:"完整命令及参数"}),children:(b)=>e(p,{id:b,value:C,onChange:(k)=>J(k.target.value),placeholder:"npx -y @modelcontextprotocol/server-postgres ...",className:"font-mono text-xs"})}),e(ke,{label:"环境变量",tip:"启动进程时注入",keyLabel:"变量名",pairs:_,onChange:M,InputComponent:p})]}):n(f,{children:[e(l,{label:"服务地址",aside:e(V,{children:"HTTP / HTTPS 端点"}),children:(b)=>e(p,{id:b,value:le,onChange:(k)=>K(k.target.value),placeholder:"https://example.com/mcp",className:"font-mono text-xs"})}),e(ke,{label:"请求头",tip:"随每次请求发送",keyLabel:"头字段",pairs:P,onChange:W,InputComponent:p}),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(I,{checked:z,onCheckedChange:L,label:"启用 OAuth 2.0"})]}),z&&n(f,{children:[e(l,{label:"Client ID",aside:e(V,{children:"留空自动动态注册(DCR)"}),children:(b)=>e(p,{id:b,value:H,onChange:(k)=>ae(k.target.value),placeholder:"留空自动动态注册",className:"font-mono text-xs"})}),e(l,{label:"Client Secret",aside:e(V,{children:"留空保持不变"}),children:(b)=>e(p,{id:b,type:"password",autoComplete:"off",value:B,onChange:(k)=>a(k.target.value),placeholder:"••••••••",className:"font-mono text-xs"})}),e(l,{label:"Scope",aside:e(V,{children:"选填授权范围"}),children:(b)=>e(p,{id:b,value:T,onChange:(k)=>N(k.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":u,className:"flex w-full cursor-pointer items-center gap-1.5 text-[13px] font-medium text-dim transition-colors hover:text-ink",onClick:()=>oe(!u),children:[e(ot,{className:`size-3.5 transition-transform ${u?"rotate-90":""}`}),"高级设置",e("span",{className:"truncate text-xs font-normal text-faint",children:"加载时机、超时"})]}),u&&n("div",{className:"grid grid-cols-2 gap-3 max-sm:grid-cols-1",children:[e(l,{label:"加载时机",aside:e(V,{children:"延迟 = 按需加载"}),children:()=>e(h,{value:D,onChange:(b)=>G(b),className:"w-full [&>button]:flex-1",options:[{value:"default",label:"默认"},{value:"defer",label:"延迟"},{value:"always",label:"常驻"}]})}),e(l,{label:"超时(毫秒)",aside:e(V,{children:"留空用默认"}),children:(b)=>e(p,{id:b,value:Q,onChange:(k)=>Z(k.target.value),placeholder:"默认",className:"font-mono text-xs"})})]})]}),ue&&n("div",{role:"alert",className:E("callout.base",E("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:ue})]})]})})}var Y="global";function at({connection:t}){let{Button:m,Select:h,style:v,useTheme:j}=y();j();let[l,p]=r(""),[I,E]=r(),[ie,c]=r([]),[x,re]=r(Y),[d,R]=r(),[C,J]=r(!1),[le,K]=r(),[_,M]=r(!1),P=i(!1),[W,S]=r(),z=i(0),L=g(async()=>{let a=++z.current;J(!0);try{let T=x===Y?"":`?projectID=${encodeURIComponent(x)}`,[N,D]=await Promise.all([t.request(`/api/mcp${T}`),t.request("/api/mcp/projects")]);if(a!==z.current)return;if(E(N),c(D),x!==Y&&!D.some((G)=>G.id===x))re(Y);R(void 0)}catch(T){if(a===z.current)R(T instanceof Error?T.message:"读取失败")}finally{if(a===z.current)J(!1)}},[t,x]);o(()=>(L(),()=>{z.current++}),[L]);async function H(a,T){if(P.current)return;P.current=!0,M(!0);let N=z.current;try{let D=a.projectID?`?projectID=${encodeURIComponent(a.projectID)}`:"",G=await t.request(`/api/mcp/${encodeURIComponent(a.name)}${D}`,{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({...a.config,enabled:T})});if(N===z.current)E((Q)=>Q?.map((Z)=>Z.name===G.name&&Z.projectID===G.projectID?G:Z))}finally{P.current=!1,M(!1)}}let ae=I?.filter((a)=>`${a.name} ${de(a.config)}`.toLowerCase().includes(l.trim().toLowerCase())),B=I?.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(h,{value:x,disabled:C,onValueChange:(a)=>{K(void 0),S(void 0),E(void 0),re(a)},groups:[{options:[{value:Y,label:"全局"}]},...Nr(ie)],className:"w-44"}),e(m,{variant:"ghost",disabled:C,onClick:L,className:"h-9 px-2.5 text-xs",children:e(ne,{className:`size-3.5 ${C?"animate-spin":""}`})}),n(m,{variant:"secondary",onClick:()=>S({}),className:"h-9 px-2.5 text-xs",children:[e(ce,{className:"size-3.5 mr-1"}),"添加服务器"]})]})]}),d&&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 服务器:",d]}),e(m,{disabled:C,onClick:L,children:"重试"})]}),e(Pr,{label:"搜索 MCP 服务器",placeholder:"搜索服务器",value:l,onChange:p}),e("div",{className:v("settings.groupBox"),children:!I?e(Or,{}):ae?.length===0?e("p",{className:"p-4 text-sm text-dim",children:"没有匹配的 MCP 服务器"}):e("ul",{className:"divide-y divide-line",children:ae?.map((a)=>{let T=a.config.enabled===!1,N=a.scope==="file";return n("li",{className:`flex min-w-0 items-center justify-between gap-3 px-4 py-2.5 transition-colors hover:bg-raised/40 ${T?"opacity-55":""}`,children:[n("button",{type:"button",className:"group flex min-h-12 min-w-0 flex-1 cursor-pointer items-center gap-3 py-1 text-left focus-visible:outline-2 focus-visible:outline-accent","aria-label":`查看 ${a.name}`,title:N?"来自项目的 .mcp.json,配置只读,可查看工具与重启":void 0,onClick:()=>K(a.name),children:[e("span",{"aria-hidden":!0,className:"flex size-9 shrink-0 items-center justify-center rounded-lg bg-raised text-dim",children:a.config.type==="local"?e(ut,{className:"size-4"}):e(ve,{className:"size-4"})}),n("span",{className:"min-w-0 flex-1",children:[e("span",{className:"block truncate text-sm font-medium text-ink",title:a.name,children:a.name}),e("span",{className:"mt-0.5 block truncate font-mono text-xs text-dim",title:de(a.config),children:de(a.config)})]}),e("span",{className:v("control.badge","shrink-0 text-[11px] text-dim"),children:ge(a.scope)}),e(he,{info:a})]}),!N&&e("span",{className:"relative flex size-10 shrink-0 items-center justify-center",children:e("input",{type:"checkbox","aria-label":`启用服务器 ${a.name}`,className:Ne,disabled:_||C,checked:!T,onChange:(D)=>H(a,D.target.checked)})})]},a.name)})})})]}),B&&!W&&e(we,{connection:t,info:B,toggling:_,onToggle:(a)=>H(B,a),projectID:x===Y?void 0:x,onClose:()=>K(void 0),onEdit:()=>S({info:B}),onChanged:(a)=>a?E((T)=>T?.map((N)=>N.name===a.name?a:N)):L()},`${B.projectID}:${B.name}`),W&&e(Se,{connection:t,projectID:x===Y?void 0:x,existing:W.info,taken:(I??[]).filter((a)=>a.scope===(x===Y?"global":"project")).map((a)=>a.name),onClose:()=>S(void 0),onSaved:()=>{S(void 0),L()}})]})}export{at as McpSection};
@@ -1 +0,0 @@
1
- import{Ii}from"./chunk-xjc5fmcr.js";export{Ii as createArchitectureServices};
@@ -1 +0,0 @@
1
- import"./chunk-e763h2px.js";import"./chunk-4rwwtfnd.js";import"./chunk-36dc7tcg.js";import{ao}from"./chunk-jqqbkdtw.js";export{ao as render};
@@ -1 +0,0 @@
1
- import{Di}from"./chunk-xjc5fmcr.js";export{Di as createEventModelingServices};
@@ -1 +0,0 @@
1
- import{tr}from"./chunk-xjc5fmcr.js";export{tr as createRailroadServices};
@@ -1 +0,0 @@
1
- import{g,o,i,r,f,e,n,y,tn,ne}from"./chunk-kahab58k.js";import{Nr,Pr,Or}from"./chunk-f79ajymt.js";var Z={global:"全局",project:"项目",custom:"自定义",builtin:"内置"};function F({skill:s,issue:N,connection:S}){let{Button:E,CopyButton:d,style:v,useTheme:w}=y();w();let[p,L]=r(),[P,x]=r(),[D,z]=r(0);return o(()=>{let c=!0;x(void 0),L(void 0);let m=new URLSearchParams;if(s.projectID)m.set("projectID",s.projectID);if(s.location)m.set("location",s.location);let I=m.toString()?`?${m.toString()}`:"";return Promise.all([S.request(`/api/skills/${encodeURIComponent(s.name)}/content${I}`),S.request(`/api/skills/${encodeURIComponent(s.name)}/files${I}`)]).then(([b,O])=>{if(c)L({text:b.text,files:O.files})}).catch((b)=>{if(c)x(b instanceof Error?b.message:"读取失败")}),()=>{c=!1}},[S,s.name,s.projectID,s.location,D]),n("div",{className:"min-w-0 space-y-5 text-sm text-ink",children:[e("p",{className:"whitespace-pre-wrap break-words [overflow-wrap:anywhere] text-dim",children:s.description||"暂无描述"}),n("div",{children:[n("p",{className:"break-all text-xs text-dim",children:[Z[s.scope],s.projectName?` · ${s.projectName}`:""]}),n("div",{className:"mt-1 flex min-w-0 items-center gap-2",children:[e("code",{className:v("markdown.inlineCode","min-w-0 flex-1 break-all text-xs"),children:s.location}),e(d,{text:s.location,label:"复制完整路径",className:"size-10"})]})]}),n("ul",{className:"space-y-1 break-words text-xs text-dim",children:[e("li",{children:"启用状态按名称生效,影响所有同名技能的新会话可用性。"}),s.disableModelInvocation&&e("li",{children:"仅手动:可由用户调用,不向模型自动提供。"}),s.platforms&&n("li",{children:["平台限制:",s.platforms.join("、")]}),s.disabled&&e("li",{children:"已禁用:不会提供给新会话。"}),N?.overriddenBy&&n("li",{className:"break-all",children:["被覆盖:同名技能优先使用 ",N.overriddenBy]})]}),s.commands?.length?n("div",{children:[e("h3",{className:"font-medium",children:"bin 命令"}),e("p",{className:"mt-1 text-xs text-dim",children:"技能目录中的可执行命令。"}),e("ul",{className:"mt-2 space-y-1 font-mono text-xs",children:s.commands.map((c)=>e("li",{className:"break-all",children:c},c))})]}):null,P?n("div",{role:"alert",className:"space-y-2",children:[n("p",{className:"break-words text-danger",children:["读取失败:",P]}),e(E,{className:"h-10",onClick:()=>z(D+1),children:"重试"})]}):!p?e("p",{role:"status",className:"text-dim",children:"正在读取文件…"}):n(f,{children:[n("section",{children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[e("h3",{className:"font-medium",children:"SKILL.md 原文"}),e(d,{text:p.text,label:"复制 SKILL.md 原文",className:"size-10"})]}),n("p",{className:"mb-2 text-xs text-faint",children:[p.text.length.toLocaleString()," 字符 · 约 ",Math.ceil(p.text.length/4).toLocaleString()," ","tokens(估算)"]}),e("pre",{className:v("surface.subtle",v("chat.toolOutput"),"rounded-lg bg-raised p-3 text-xs leading-5 break-all"),children:p.text})]}),n("section",{children:[n("h3",{className:"font-medium",children:["目录文件 · ",p.files.length,p.files.length===200?"(最多显示 200 个)":""]}),e("ul",{className:"mt-2 space-y-1 font-mono text-xs text-dim",children:p.files.map((c)=>e("li",{className:"break-all",children:c},c))})]})]})]})}var A="all",G="non-project",ee="size-4 cursor-pointer rounded border-line text-accent accent-accent focus-visible:outline-2 focus-visible:outline-accent";function me({connection:s}){let{Button:N,Select:S,Dialog:E,style:d,useTheme:v}=y();v();let[w,p]=r([]),[L,P]=r([]),[x,D]=r(A),[z,c]=r([]),[m,I]=r(),[b,O]=r(""),[k,B]=r(),[h,T]=r(!0),[K,R]=r(),[W,H]=r(),u=i(0),j=i(!1),C=g(async(t=!1)=>{let l=++u.current;j.current=!0,T(!0);try{if(t)await s.request("/api/skills/rescan",{method:"POST"});let[a,U,q]=await Promise.all([s.request("/api/skills?all=true"),s.request("/api/skills/settings"),s.request("/api/projects")]);if(l!==u.current)return;p(a.skills),P(q),c(a.issues),I(U),H(new Date),R(void 0)}catch(a){if(l===u.current)R(a instanceof Error?a.message:"读取失败")}finally{if(l===u.current)j.current=!1,T(!1)}},[s]);o(()=>(C(),()=>{u.current++}),[C]);async function Q(t){if(j.current)return;j.current=!0;let l=++u.current;T(!0);try{let a=await s.request("/api/skills/settings",{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify(t)});if(l!==u.current)return;I(a),await C()}catch(a){if(l!==u.current)return;R(a instanceof Error?a.message:"保存设置失败"),j.current=!1,T(!1)}}let V=b.trim().toLocaleLowerCase(),J=x===A?w:w.filter((t)=>{if(t.scope!=="project")return!0;return x!==G&&t.projectID===x}),M=J.filter((t)=>`${t.name} ${t.description??""}`.toLocaleLowerCase().includes(V)),_=(t)=>z.find((l)=>l.kind==="overridden"&&(l.path==="<built-in>"?t.scope==="builtin":l.path.replace(/\\/g,"/")===`${t.location.replace(/\\/g,"/")}/SKILL.md`));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:d("settings.groupTitle"),children:"技能"}),e("p",{"aria-live":"polite",className:d("settings.groupDesc"),children:W&&`找到 ${J.length} 个 · ${W.toLocaleTimeString("zh-CN",{hour12:!1})}`})]}),n("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[e(S,{value:x,disabled:h,onValueChange:(t)=>{B(void 0),D(t)},groups:[{options:[{value:A,label:"全部来源"},{value:G,label:"非项目技能"}]},...Nr(L)],className:"w-44"}),n(N,{variant:"ghost",disabled:h,onClick:()=>C(!0),className:"h-9 px-2.5 text-xs",children:[e(ne,{className:`size-3.5 ${h?"animate-spin":""}`}),e("span",{className:"ml-1",children:"重新扫描"})]})]})]}),K&&n("div",{role:"alert",className:"mb-3 flex flex-wrap items-center gap-2 rounded-xl border border-line p-3",children:[n("p",{className:"min-w-0 flex-1 break-words text-sm text-danger",children:["无法更新技能:",K]}),e(N,{disabled:h,onClick:()=>C(),children:"重试"})]}),e(Pr,{label:"搜索技能",placeholder:"搜索技能",value:b,onChange:O}),e("div",{className:d("settings.groupBox"),children:h&&!w.length?e(Or,{}):M.length===0?e("p",{className:"p-4 text-sm text-dim",children:"没有找到匹配的技能"}):e("ul",{className:"divide-y divide-line",children:M.map((t)=>{let l=_(t),a=t.disabled;return n("li",{className:`flex min-w-0 items-center justify-between gap-3 px-4 py-2.5 transition-colors hover:bg-raised/40 ${a?"opacity-55":""}`,children:[n("button",{type:"button",className:"group flex min-h-12 min-w-0 flex-1 cursor-pointer items-center gap-3 py-1 text-left focus-visible:outline-2 focus-visible:outline-accent","aria-label":`查看技能 ${t.name}`,onClick:()=>B(t),children:[n("span",{className:"min-w-0 flex-1",children:[n("span",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[e("span",{className:"truncate text-sm font-medium text-ink",title:t.name,children:t.name}),l&&n("span",{className:"flex shrink-0 items-center gap-1 text-xs text-warning",children:[e(tn,{className:"size-3.5"}),"被覆盖"]})]}),t.description&&e("span",{className:"mt-0.5 block truncate text-xs text-dim",title:t.description,children:t.description})]}),e("span",{className:d("control.badge","shrink-0 text-[11px] text-dim"),children:t.scope==="project"?"项目":t.scope==="builtin"?"built-in":"全局"})]}),e("span",{className:"relative flex size-10 shrink-0 items-center justify-center",children:e("input",{type:"checkbox","aria-label":`启用技能 ${t.name}`,className:ee,disabled:h,checked:!a,onChange:(U)=>{if(!m)return;let q=m.disabled??[],X=U.target.checked?q.filter((Y)=>Y!==t.name):[...q,t.name];Q({...m,disabled:X})}})})]},`${t.scope}:${t.projectID??""}:${t.name}`)})})})]}),e(E,{open:Boolean(k),onOpenChange:(t)=>{if(!t)B(void 0)},title:k?.name??"",size:"lg",footer:e("div",{className:"flex w-full justify-end",children:e(N,{variant:"primary",onClick:()=>B(void 0),children:"关闭"})}),children:k&&e(F,{skill:k,issue:_(k),connection:s})})]})}export{me as SkillsSection};
@@ -1 +0,0 @@
1
- import{li}from"./chunk-drchr3yn.js";export{li as default};
@@ -1,2 +0,0 @@
1
- import{s}from"./chunk-kahab58k.js";var c=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],ea=s("circle-check",c);
2
- export{ea};
@@ -1 +0,0 @@
1
- import{o,i,r,at,f,e,n,y,s,Z,it,ie,Jn,X}from"./chunk-kahab58k.js";var pe=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]],A=s("at-sign",pe);var ue=[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m5 12-3 3 3 3",key:"oke12k"}],["path",{d:"m9 18 3-3-3-3",key:"112psh"}]],te=s("file-code-2",ue);var xe=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],ne=s("maximize-2",xe);var fe=[["path",{d:"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4",key:"re6nr2"}],["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["path",{d:"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"pqwjuv"}]],J=s("notebook-pen",fe);var be=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],se=s("user",be);var C={approve:{label:"通过",text:"text-success",ring:"ring-success/80",soft:"bg-success/12 text-success"},reject:{label:"反对",text:"text-danger",ring:"ring-danger/80",soft:"bg-danger/12 text-danger"},abstain:{label:"弃权",text:"text-dim",ring:"ring-line-strong",soft:"bg-raised text-dim"},pending:{label:"未表态",text:"text-faint",ring:"ring-line",soft:"bg-raised text-faint"}},ge={thinking:"思考中",reading:"查阅中",speaking:"发言中",idle:"等待中",error:"出错",aborted:"已中止"},U={success:"text-success",warning:"text-warning",danger:"text-danger",neutral:"text-faint"},G={success:"bg-success",warning:"bg-warning",danger:"bg-danger",neutral:"bg-faint"};function q(t){return t==="thinking"||t==="reading"||t==="speaking"}function F(t){let d=q(t.status);return{busy:d,text:d&&t.activeTool?t.activeTool:ge[t.status]}}function Q(t){let d=t.members.filter((v)=>v.verdict==="approve").length,u=t.members.filter((v)=>v.verdict==="reject").length;if(t.state==="running"){if(t.phase==="research")return{tone:"warning",label:"调研中"};if(t.phase==="opening")return{tone:"warning",label:"开场表态"};return{tone:"warning",label:"群聊交流"}}if(t.state==="consensus"){if(d===t.members.length)return{tone:"success",label:"全票通过"};if(u===t.members.length)return{tone:"danger",label:"全票反对"};if(u>d)return{tone:"danger",label:"共识:反对"};return{tone:"success",label:"共识:通过"}}if(t.state==="diverged")return{tone:"warning",label:"存在分歧"};if(t.state==="error")return{tone:"danger",label:"失败"};return{tone:"neutral",label:"已中止"}}function V(t){let d=Math.max(1,Math.round(t/1000));if(d<60)return`${d}s`;return`${Math.floor(d/60)}m ${String(d%60).padStart(2,"0")}s`}var ve={research:"调研",opening:"开场表态",discussion:"群聊交流"};function K(t){let{cn:d}=y(),{room:u}=t,v=Q(u),x=u.state==="running",b=u.research?["research","opening","discussion"]:["opening","discussion"],a=x?b.indexOf(u.phase==="closed"?"discussion":u.phase??"discussion"):-1,c=[...b.map((p,m)=>({key:p,label:ve[p],done:!x||m<a,active:m===a})),{key:"closed",label:x?"结论":v.label,done:!x,active:!1}];return e("ol",{className:d("flex min-w-0 gap-1",t.className),children:c.map((p,m)=>{let N=m===c.length-1&&!x;return n("li",{className:"min-w-0 flex-1",children:[e("span",{className:d("block h-[3px] rounded-full transition-colors duration-300",N?G[v.tone]:p.active?"bg-accent animate-pulse":p.done?"bg-line-strong":"bg-line/60")}),e("span",{className:d("mt-1.5 block truncate text-[11px]",N?d("font-medium",U[v.tone]):p.active?"font-medium text-ink":p.done?"text-dim":"text-faint"),children:p.label})]},p.key)})})}function oe(t){let{Collapsible:d,CollapsibleContent:u,Composer:v,Markdown:x,cn:b,confirm:a}=y(),{room:c,onClose:p}=t,[m,N]=r(!1),[w,M]=r(""),[g,L]=r(!1),[I,O]=r(),[S,H]=r(!1),[E,D]=r(!0),[B,h]=r(),z=i(!1);z.current=B!==void 0;let R=i(null),T=i(null),P=c.state==="running",j=Q(c),re=new Map(c.members.map((l)=>[l.id,l]));o(()=>{let l=(ee)=>{if(ee.key==="Escape"&&!ee.defaultPrevented&&!z.current)N(!0)},k=document.body.style.overflow;return document.body.style.overflow="hidden",window.addEventListener("keydown",l),()=>{window.removeEventListener("keydown",l),document.body.style.overflow=k}},[]);let Y=c.messages.length;o(()=>{let l=T.current;if(!l||!E||Y===0)return;l.scrollTo({top:l.scrollHeight,behavior:"smooth"})},[Y,E]);let le=async(l)=>{await t.onPost(l),D(!0)},ce=async()=>{if(g)return;if(!await a({title:"中止理事会?",description:"所有成员会立即停止,已有发言保留。",action:"中止",danger:!0}))return;L(!0),O(void 0);try{await t.onAbort()}catch(k){O(k instanceof Error?k.message:"中止理事会失败")}finally{L(!1)}},W=(l)=>{M((k)=>k.includes(`@${l}`)?k:`${k?`${k.trimEnd()} `:""}@${l} `),R.current?.focus()},me=c.members.filter((l)=>l.verdict==="approve").length,de=c.members.filter((l)=>l.verdict==="reject").length,_=c.members.find((l)=>l.id===B);return at(n("div",{role:"dialog","aria-modal":"true","aria-label":`理事会:${c.topic}`,onAnimationEnd:(l)=>{if(m&&l.target===l.currentTarget)p()},className:b("fixed inset-0 z-50 flex flex-col bg-bg pt-[env(safe-area-inset-top)] text-ink",m?"pointer-events-none animate-dialog-out":"animate-dialog-in"),children:[n(d,{open:S,onOpenChange:H,className:"shrink-0 border-b border-line px-4 pt-3 pb-3 sm:px-6",children:[n("div",{className:"flex items-start gap-3",children:[n("div",{className:"min-w-0 flex-1",children:[n("div",{className:"flex items-center gap-3 text-[11px] text-faint",children:[e("span",{className:"font-medium tracking-[0.2em] text-dim",children:"COUNCIL"}),e("span",{className:"tabular-nums",children:V(t.elapsedMs)}),n("span",{className:"tabular-nums",children:[c.messages.length," 条发言"]})]}),n("button",{type:"button","aria-expanded":S,onClick:()=>H((l)=>!l),className:"mt-0.5 flex max-w-full cursor-pointer items-start gap-1.5 text-left md:items-center",children:[e("h2",{className:"line-clamp-2 text-[15px] leading-snug font-semibold md:truncate md:text-lg",children:c.topic}),e(ie,{className:b("mt-0.5 size-4 shrink-0 text-faint transition-transform duration-300 ease-out-quint md:mt-0",!S&&"-rotate-90")})]})]}),n("div",{className:"flex shrink-0 items-center gap-1",children:[n("span",{className:b("inline-flex items-center gap-1.5 rounded-full border border-line px-2.5 py-1 text-xs font-medium",U[j.tone]),children:[e("span",{className:b("size-1.5 rounded-full",G[j.tone],P&&"animate-pulse")}),j.label]}),e("button",{type:"button","aria-label":"关闭理事会页面",title:"关闭(Esc)",onClick:()=>N(!0),className:"ml-1 inline-flex size-10 -mr-2 cursor-pointer items-center justify-center rounded-full text-faint transition-colors hover:bg-raised hover:text-ink md:size-8 md:mr-0",children:e(X,{className:"size-4"})})]})]}),e(u,{children:e("div",{className:"mt-2 max-h-[40dvh] overflow-y-auto overscroll-contain rounded-xl bg-panel px-3.5 py-2.5 text-[13px] leading-relaxed text-dim md:max-h-48",children:e(x,{text:c.brief})})}),e(K,{room:c,className:"mt-3"})]}),n("div",{className:"flex min-h-0 flex-1 flex-col md:flex-row",children:[e("div",{className:"flex shrink-0 gap-2 overflow-x-auto overscroll-x-contain border-b border-line px-4 py-2.5 [scrollbar-width:none] md:hidden",children:c.members.map((l)=>e(he,{member:l,onSelect:()=>h(l.id)},l.id))}),n("aside",{className:"hidden w-72 shrink-0 flex-col gap-2 overflow-y-auto border-r border-line p-4 md:flex",children:[n("div",{className:"flex items-center justify-between text-[11px] text-faint",children:[e("span",{className:"font-medium tracking-wide",children:"席位"}),n("span",{className:"tabular-nums",children:[e("span",{className:"text-success",children:me})," / ",e("span",{className:"text-danger",children:de})," /"," ",c.members.length]})]}),c.members.map((l)=>e(ye,{member:l,onMention:()=>W(l.name),onOpen:()=>t.onOpenMember(l.childSessionID)},l.id))]}),n("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[e("div",{ref:T,onScroll:(l)=>{let k=l.currentTarget;D(k.scrollHeight-k.scrollTop-k.clientHeight<80)},className:"min-h-0 flex-1 overflow-y-auto",children:n("div",{className:"mx-auto w-full max-w-3xl px-4 py-4 sm:px-6 md:py-5",children:[c.messages.length===0?n("div",{className:"flex flex-col items-center justify-center gap-3 py-24 text-center text-faint",children:[P?e(Z,{className:"size-5 animate-spin"}):null,e("p",{className:"text-sm",children:P?c.phase==="research"?"成员正在各自调研,笔记不会进入群聊":"成员正在独立准备开场观点,彼此不可见":"这场理事会没有产生发言"})]}):e("ol",{className:"space-y-5",children:c.messages.map((l)=>e(ke,{message:l,membersByID:re,onMention:()=>W(l.senderName)},l.floor))}),c.summary&&!P&&n("section",{className:"mt-8 rounded-2xl border border-line bg-panel px-4 py-3",children:[n("h3",{className:b("text-xs font-semibold",U[j.tone]),children:["结论:",j.label]}),e("div",{className:"mt-1.5 text-[13px] leading-relaxed text-dim",children:e(x,{text:c.summary})})]})]})}),e("div",{className:"shrink-0 px-3 pb-[max(0.75rem,env(safe-area-inset-bottom))] sm:px-6 md:pb-4",children:n("div",{className:"mx-auto w-full max-w-3xl",children:[I&&e("p",{role:"status",className:"px-1 pb-2 text-[13px] text-danger",children:I}),e(v,{draftKey:`council:${c.roomID}`,placeholder:P?"插话,@ 某位成员会点名要求其回应":"理事会已结束,插话会重新唤醒成员",busy:P,allowAttachments:!1,text:w,onTextChange:M,inputRef:R,onSend:le,onAbort:()=>void ce()})]})})]})]}),_&&e(Ne,{member:_,onClose:()=>h(void 0),onMention:()=>{h(void 0),W(_.name)},onOpen:()=>t.onOpenMember(_.childSessionID)})]}),document.body)}function he(t){let{ModelIcon:d,cn:u}=y(),{member:v}=t,x=C[v.verdict]??C.pending,{busy:b}=F(v);return n("button",{type:"button",onClick:t.onSelect,"aria-label":`${v.name},${x.label},查看详情`,className:"flex h-11 max-w-[11rem] shrink-0 cursor-pointer items-center gap-2 rounded-full border border-line bg-panel/60 pr-3.5 pl-1.5 active:bg-raised",children:[n("span",{className:u("relative flex size-8 shrink-0 items-center justify-center rounded-full bg-raised ring-2",x.ring),children:[e(d,{modelID:v.model,className:"size-4",size:16}),b&&e(Z,{className:"absolute -right-1 -bottom-1 size-3.5 animate-spin rounded-full bg-bg text-accent"})]}),n("span",{className:"min-w-0 text-left leading-tight",children:[e("span",{className:"block truncate text-[13px] font-medium",children:v.name}),e("span",{className:u("block text-[11px]",x.text),children:x.label})]})]})}function Ne(t){let{Button:d,Dialog:u,Markdown:v,ModelIcon:x,cn:b}=y(),{member:a}=t,c=C[a.verdict]??C.pending,p=F(a);return e(u,{open:!0,onOpenChange:(m)=>!m&&t.onClose(),title:n("span",{className:"flex min-w-0 items-center gap-2.5",children:[e("span",{className:b("flex size-8 shrink-0 items-center justify-center rounded-full bg-raised ring-2",c.ring),children:e(x,{modelID:a.model,className:"size-4",size:16})}),e("span",{className:"min-w-0 truncate",children:a.name}),e("span",{className:b("shrink-0 rounded px-1.5 py-px text-[11px] font-medium",c.soft),children:c.label})]}),description:a.model,footer:n(f,{children:[n(d,{variant:"secondary",onClick:t.onMention,children:[e(A,{className:"size-4"}),"点名"]}),n(d,{variant:"secondary",onClick:t.onOpen,children:[e(it,{className:"size-4"}),"查看推理"]})]}),children:n("div",{className:"space-y-3 pb-1",children:[n("div",{className:"flex items-center gap-3 text-[13px]",children:[n("span",{className:b("flex min-w-0 flex-1 items-center gap-1.5",p.busy?"text-accent":"text-dim"),children:[p.busy&&e(Z,{className:"size-3.5 shrink-0 animate-spin"}),e("span",{className:"truncate",children:p.text})]}),n("span",{className:"shrink-0 text-faint tabular-nums",children:["发言 ",a.turns??0," 次"]})]}),a.notes?n("section",{children:[n("h3",{className:"mb-1.5 flex items-center gap-1.5 text-xs font-medium text-faint",children:[e(J,{className:"size-3.5"}),"调研笔记"]}),e("div",{className:"rounded-xl bg-bg/60 px-3.5 py-2.5 text-[13px] leading-relaxed text-dim",children:e(v,{text:a.notes})})]}):e("p",{className:"text-[13px] text-faint",children:"没有调研笔记"})]})})}function ye(t){let{Collapsible:d,CollapsibleContent:u,Markdown:v,ModelIcon:x,cn:b}=y(),{member:a}=t,[c,p]=r(!1),m=C[a.verdict]??C.pending,{busy:N,text:w}=F(a);return n(d,{open:c,onOpenChange:p,className:"shrink-0 rounded-xl border border-line bg-panel/60 p-2.5",children:[n("div",{className:"flex items-center gap-2.5",children:[e("span",{className:b("relative flex size-8 shrink-0 items-center justify-center rounded-full bg-raised ring-2",m.ring),children:e(x,{modelID:a.model,className:"size-4",size:16})}),n("div",{className:"min-w-0 flex-1",children:[n("div",{className:"flex items-center gap-1.5",children:[e("span",{className:"truncate text-[13px] font-medium",title:a.model,children:a.name}),e("span",{className:b("shrink-0 rounded px-1 text-[10.5px] font-medium",m.soft),children:m.label})]}),n("div",{className:b("flex min-w-0 items-center gap-1 text-[11px]",N?"text-accent":"text-faint"),children:[N&&e(Z,{className:"size-3 shrink-0 animate-spin"}),e("span",{className:"truncate",children:w})]})]})]}),n("div",{className:"mt-2 flex items-center gap-1 text-[11px] text-faint",children:[n("span",{className:"tabular-nums",children:["发言 ",a.turns??0," 次"]}),e("span",{className:"ml-auto"}),a.notes&&n("button",{type:"button","aria-expanded":c,onClick:()=>p((M)=>!M),className:b("inline-flex cursor-pointer items-center gap-1 rounded px-1.5 py-0.5 hover:bg-raised hover:text-ink",c&&"text-ink"),children:[e(J,{className:"size-3"}),"笔记"]}),e("button",{type:"button","aria-label":`@ ${a.name}`,title:`@ ${a.name}`,onClick:t.onMention,className:"inline-flex cursor-pointer items-center rounded p-1 hover:bg-raised hover:text-ink",children:e(A,{className:"size-3"})}),e("button",{type:"button","aria-label":`查看 ${a.name} 的推理过程`,title:"查看推理与工具调用",onClick:t.onOpen,className:"inline-flex cursor-pointer items-center rounded p-1 hover:bg-raised hover:text-ink",children:e(it,{className:"size-3"})})]}),a.notes&&e(u,{children:e("div",{className:"mt-2 max-h-56 overflow-y-auto rounded-lg bg-bg/60 px-2.5 py-2 text-xs leading-relaxed text-dim",children:e(v,{text:a.notes})})})]})}function ke(t){let{Code:d,Collapsible:u,CollapsibleContent:v,Markdown:x,cn:b}=y(),{message:a}=t,[c,p]=r(!1),m=a.senderID==="user"||a.senderID==="host",N=a.verdict&&a.verdict!=="pending"?C[a.verdict]:void 0,w=a.evidences??[],M=(a.mentions??[]).map((g)=>t.membersByID.get(g)).filter((g)=>g!==void 0);return n("li",{id:`council-floor-${a.floor}`,className:"group flex gap-3 animate-fade",children:[e(ae,{message:a,isHuman:m,className:"mt-0.5 hidden size-8 md:flex"}),n("div",{className:"min-w-0 flex-1",children:[n("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-0.5 text-xs",children:[e(ae,{message:a,isHuman:m,className:"flex size-6 md:hidden"}),e("span",{className:"font-semibold text-ink",title:a.senderModel,children:a.senderName}),n("a",{href:`#council-floor-${a.floor}`,className:"font-mono text-[11px] text-faint hover:text-dim",onClick:(g)=>g.preventDefault(),children:["#",a.floor]}),N&&e("span",{className:b("rounded px-1.5 py-px text-[10.5px] font-medium",N.soft),children:N.label}),!m&&n("button",{type:"button",onClick:t.onMention,className:"ml-auto inline-flex cursor-pointer items-center gap-1 rounded-md px-2 py-1 text-[11px] text-faint transition-opacity hover:bg-raised hover:text-ink focus-visible:opacity-100 md:px-1.5 md:py-0.5 md:opacity-0 md:group-hover:opacity-100",children:[e(A,{className:"size-3"}),"回复"]})]}),(a.replyToFloor||M.length>0)&&n("div",{className:"mt-1 flex flex-wrap items-center gap-1.5 text-[11px] text-faint",children:[a.replyToFloor&&n("button",{type:"button",onClick:()=>document.getElementById(`council-floor-${a.replyToFloor}`)?.scrollIntoView({block:"center",behavior:"smooth"}),className:"inline-flex min-w-0 max-w-full cursor-pointer items-center gap-1 rounded-md bg-raised/70 px-1.5 py-0.5 hover:text-ink",children:[e(Jn,{className:"size-3 shrink-0"}),n("span",{className:"shrink-0 text-dim",children:["#",a.replyToFloor," ",a.replyToName]}),a.replyToPreview&&e("span",{className:"truncate",children:a.replyToPreview})]}),M.map((g)=>n("span",{className:"inline-flex items-center gap-1 rounded-md bg-accent/10 px-1.5 py-0.5 text-accent",children:[e(A,{className:"size-3"}),g.name]},g.id))]}),e("div",{className:"mt-1.5 break-words text-[14px] leading-relaxed text-ink/90 md:text-[13.5px] [&_p]:my-1.5 [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",children:e(x,{text:a.text})}),w.length>0&&n(u,{open:c,onOpenChange:p,className:"mt-2",children:[n("button",{type:"button","aria-expanded":c,onClick:()=>p((g)=>!g),className:"inline-flex max-w-full cursor-pointer items-center gap-1 text-[11px] text-faint hover:text-ink",children:[e(te,{className:"size-3 shrink-0"}),n("span",{className:"shrink-0",children:["查阅 ",w.length," 处"]}),!c&&e("span",{className:"truncate font-mono",children:w.map((g)=>g.label).join(",")}),e(ie,{className:b("size-3 shrink-0 transition-transform duration-300 ease-out-quint",!c&&"-rotate-90")})]}),e(v,{children:e("div",{className:"mt-1.5 space-y-1.5",children:w.map((g)=>n("div",{className:"overflow-hidden rounded-lg border border-line bg-panel text-xs",children:[e("div",{className:"truncate border-b border-line/70 px-2.5 py-1 font-mono text-[11px] text-dim",children:g.label}),g.snippet&&e(d,{code:g.snippet,lang:g.lang||"ts",className:"max-h-40 overflow-auto px-2.5 py-1.5 text-[11.5px]"})]},`${g.tool}:${g.label}:${g.snippet?.slice(0,32)??""}`))})})]})]})]})}function ae(t){let{ModelIcon:d,cn:u}=y();return e("span",{className:u("shrink-0 items-center justify-center rounded-full",t.isHuman?"bg-accent/12 text-accent":"bg-raised",t.className),children:t.message.senderModel?e(d,{modelID:t.message.senderModel,className:"size-4",size:16}):e(se,{className:"size-4"})})}function Je(t){let{ModelIcon:d,cn:u,useTheme:v}=y();v();let{connection:x,sessionID:b,payload:a,onOpen:c}=t,p=a,[m,N]=r(p),[w,M]=r(!1),[g,L]=r(Date.now);o(()=>{N(p)},[p]);let I=m.state==="running",O=`/api/sessions/${encodeURIComponent(b)}/council/${encodeURIComponent(m.roomID)}`;o(()=>{if(!I)return;let h=!1,R=setInterval(()=>{if(x.request(O).then((T)=>{if(!h&&T&&typeof T==="object"&&"roomID"in T)N(T)}).catch(()=>{}),!h)L(Date.now())},1200);return()=>{h=!0,clearInterval(R)}},[x,O,I]);let S=async(h)=>{let z=await x.request(`${O}/post`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({text:h})});N(z)},H=async()=>{let h=await x.request(`${O}/kill`,{method:"POST"});N(h)},E=(I?g:m.updatedAt)-m.createdAt,D=m.messages.at(-1),B=m.members.filter((h)=>q(h.status)).length;return n(f,{children:[n("button",{type:"button","aria-label":`进入理事会:${m.topic}`,onClick:()=>M(!0),className:"group relative my-2 block w-full cursor-pointer overflow-hidden rounded-2xl border border-line bg-panel text-left transition-colors hover:border-line-strong animate-fade",children:[n("div",{className:"px-4 pt-3.5",children:[n("div",{className:"flex items-center gap-1.5 text-[11px] text-faint",children:[e("span",{className:"font-medium text-dim",children:"理事会"}),e("span",{"aria-hidden":!0,children:"·"}),e("span",{className:"tabular-nums",children:V(E)}),n("span",{className:"ml-auto tabular-nums",children:[m.members.length," 位成员"]})]}),e("h4",{className:"mt-1 line-clamp-2 text-sm font-semibold text-ink md:truncate",title:m.topic,children:m.topic})]}),e(K,{room:m,className:"mt-3 px-4"}),e("div",{className:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2 px-4",children:m.members.map((h)=>{let z=C[h.verdict]??C.pending,R=q(h.status);return n("span",{className:"flex min-w-0 items-center gap-1.5 text-xs",title:h.model,children:[n("span",{className:u("relative flex size-6 shrink-0 items-center justify-center rounded-full bg-raised ring-2",z.ring),children:[e(d,{modelID:h.model,className:"size-3.5",size:14}),R&&e(Z,{className:"absolute -right-1 -bottom-1 size-3 animate-spin rounded-full bg-panel text-accent"})]}),e("span",{className:"truncate text-dim",children:h.name}),e("span",{className:u("shrink-0 text-[11px]",z.text),children:z.label})]},h.id)})}),n("div",{className:"mt-3 flex items-center gap-2 border-t border-line/70 px-4 py-2.5 text-xs",children:[D?n(f,{children:[e("span",{className:"shrink-0 font-medium text-dim",children:D.senderName}),e("span",{className:"min-w-0 flex-1 truncate text-faint",children:D.text.replace(/\s+/g," ")})]}):e("span",{className:"min-w-0 flex-1 truncate text-faint",children:I?`${B} 位成员正在${m.phase==="research"?"调研":"思考"}…`:"没有发言"}),n("span",{className:"inline-flex shrink-0 items-center gap-1 text-faint transition-colors group-hover:text-ink",children:[m.messages.length>0&&n("span",{className:"tabular-nums",children:[m.messages.length," 条"]}),e(ne,{className:"size-3.5"})]})]})]}),w&&e(oe,{room:m,elapsedMs:E,onClose:()=>M(!1),onOpenMember:c,onPost:S,onAbort:H})]})}export{Je as CouncilCard};
@@ -1 +0,0 @@
1
- import{_i}from"./chunk-gten0rpx.js";export{_i as default};
@@ -1,8 +0,0 @@
1
- import{t}from"./chunk-e763h2px.js";import"./chunk-8csw0mvf.js";import{Mi,Ni}from"./chunk-2f2agfpj.js";import"./chunk-m24yb8md.js";import"./chunk-3d3wnh8a.js";import"./chunk-tpdcrrf1.js";import"./chunk-n33753da.js";var o=t((r)=>`${Mi(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=Ni({styles:m});export{D as diagram};
@@ -1 +0,0 @@
1
- import{t,a}from"./chunk-e763h2px.js";import{J,It,Dt}from"./chunk-ppjw1mps.js";import{G}from"./chunk-p1yc8hwn.js";import{ar,_t}from"./chunk-xjc5fmcr.js";var i=ar().RailroadPeg.parser.LangiumParser,s=t((e)=>{let r=e.alternatives.map(l);if(r.length===1)return r[0];return{type:"choice",alternatives:r}},"transformOrderedChoice"),l=t((e)=>{let r=e.elements.map(m);if(r.length===1)return r[0];return{type:"sequence",elements:r}},"transformSequence"),m=t((e)=>{let r=p(e.suffix);if(!e.operator)return r;return{type:"special",text:e.operator==="&"?`&${o(r)}`:`!${o(r)}`}},"transformPrefix"),o=t((e)=>{switch(e.type){case"terminal":return`"${e.value}"`;case"nonterminal":return e.name;case"special":return e.text;default:return"(...)"}},"nodeToLabel"),p=t((e)=>{let r=u(e.primary);if(!e.operator)return r;switch(e.operator){case"?":return{type:"optional",element:r};case"*":return{type:"repetition",element:r,min:0,max:1/0};case"+":return{type:"repetition",element:r,min:1,max:1/0};default:throw Error(`Unsupported PEG suffix operator: ${e.operator}`)}},"transformSuffix"),u=t((e)=>{switch(e.$type){case"PegLiteral":return{type:"terminal",value:e.value};case"PegIdentifier":return{type:"nonterminal",name:e.name};case"PegGroup":return s(e.element);case"PegAny":return{type:"special",text:e.dot};default:throw Error(`Unsupported PEG primary node: ${e.$type}`)}},"transformPrimary"),c=t((e)=>({name:e.name,definition:s(e.definition)}),"transformRule"),f=t((e)=>{if(G(e,J),e.title)J.setTitle(e.title);e.rules.map((r)=>J.addRule(c(r)))},"populateDb"),d={parse:t((e)=>{J.clear(),a.debug("[PEG Parser] Starting Langium parse");let r=i.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new _t(r);let n=r.value;a.debug("[PEG Parser] Parsed rules:",n.rules.length),f(n),a.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:J}},w={parser:d,db:J,renderer:Dt,styles:It};export{w as diagram};
@@ -1,4 +0,0 @@
1
- import{t,a,l,I,St,_o,bt,Qt,Et,Gn,Jt}from"./chunk-e763h2px.js";import{xe,Oe,Qe,Ee,pt,qt,H,me,st,Vt,lt,sr,ma,fa,ha,hn,kt,ga,gn,$e,yn,Ot,Ct,vn,Wt,bn,ya,va,lr,_e,ba,xn,Gt,_n,cr,ur,Ht,xa,dr,_a,zr,mt,pr,wa,ka,Ca,He,mr,fr,wn,Sa,hr,h,Je,ft,we,Yt,re}from"./chunk-4rwwtfnd.js";import{ua,da,W,On,io,pa,or}from"./chunk-36dc7tcg.js";import{Rt}from"./chunk-kahab58k.js";var yr={};Rt(yr,{default:()=>rr});var lo=/\s/;function mo(r){var e=r.length;while(e--&&lo.test(r.charAt(e)));return e}var te=mo;var ho=/^\s+/;function go(r){return r?r.slice(0,te(r)+1).replace(ho,""):r}var ne=go;var oe=NaN,vo=/^[-+]0x[0-9a-f]+$/i,bo=/^0b[01]+$/i,yo=/^0o[0-7]+$/i,wo=parseInt;function Eo(r){if(typeof r=="number")return r;if(pt(r))return oe;if(me(r)){var e=typeof r.valueOf=="function"?r.valueOf():r;r=me(e)?e+"":e}if(typeof r!="string")return r===0?r:+r;r=ne(r);var n=bo.test(r);return n||yo.test(r)?wo(r.slice(2),n?2:8):vo.test(r)?oe:+r}var ie=Eo;var ae=1/0,xo=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;function Oo(r){if(!r)return r===0?r:0;if(r=ie(r),r===ae||r===-ae){var e=r<0?-1:1;return e*xo}return r===r?r:0}var V=Oo;function So(r){var e=V(r),n=e%1;return e===e?n?e-n:e:0}var fe=So;var se=Object.create,No=function(){function r(){}return function(e){if(!me(e))return{};if(se)return se(e);r.prototype=e;var n=new r;return r.prototype=void 0,n}}(),ue=No;function Po(r,e){var n=-1,o=r.length;e||(e=Array(o));while(++n<o)e[n]=r[n];return e}var vr=Po;function ko(r,e,n){if(e=="__proto__"&&sr)sr(r,e,{configurable:!0,enumerable:!0,value:n,writable:!0});else r[e]=n}var M=ko;var To=Object.prototype,Co=To.hasOwnProperty;function Ao(r,e,n){var o=r[e];if(!(Co.call(r,e)&&kt(o,n))||n===void 0&&!(e in r))M(r,e,n)}var j=Ao;function Ro(r,e,n,o){var i=!n;n||(n={});var f=-1,s=e.length;while(++f<s){var u=e[f],d=o?o(n[u],r[u],u,n,r):void 0;if(d===void 0)d=r[u];if(i)M(n,u,d);else j(n,u,d)}return n}var k=Ro;function Mo(r,e,n){if(!me(n))return!1;var o=typeof e;if(o=="number"?$e(n)&&hn(e,n.length):o=="string"&&(e in n))return kt(n[e],r);return!1}var C=Mo;function jo(r){return gn(function(e,n){var o=-1,i=n.length,f=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;if(f=r.length>3&&typeof f=="function"?(i--,f):void 0,s&&C(n[0],n[1],s))f=i<3?void 0:f,i=1;e=Object(e);while(++o<i){var u=n[o];if(u)r(e,u,o,f)}return e})}var de=jo;function Bo(r){var e=[];if(r!=null)for(var n in Object(r))e.push(n);return e}var ce=Bo;var Fo=Object.prototype,Go=Fo.hasOwnProperty;function Xo(r){if(!me(r))return ce(r);var e=yn(r),n=[];for(var o in r)if(!(o=="constructor"&&(e||!Go.call(r,o))))n.push(o);return n}var pe=Xo;function Uo(r){return $e(r)?ya(r,!0):pe(r)}var L=Uo;function Vo(r){var e=r==null?0:r.length;return e?ur(r,1):[]}var N=Vo;function Yo(r){return ma(ga(r,void 0,N),r+"")}var le=Yo;var zo=va(Object.getPrototypeOf,Object),Y=zo;var Wo="[object Object]",qo=Function.prototype,Ho=Object.prototype,he=qo.toString,Ko=Ho.hasOwnProperty,Jo=he.call(Object);function Zo(r){if(!Ee(r)||Qe(r)!=Wo)return!1;var e=Y(r);if(e===null)return!0;var n=Ko.call(e,"constructor")&&e.constructor;return typeof n=="function"&&n instanceof n&&he.call(n)==Jo}var ge=Zo;var $o="\\ud800-\\udfff",Qo="\\u0300-\\u036f",ri="\\ufe20-\\ufe2f",ei="\\u20d0-\\u20ff",ti=Qo+ri+ei,ni="\\ufe0e\\ufe0f",oi="\\u200d",ii=RegExp("["+oi+$o+ti+ni+"]");function ai(r){return ii.test(r)}var ve=ai;function fi(r,e){return r&&k(e,_e(e),r)}var be=fi;function si(r,e){return r&&k(e,L(e),r)}var ye=si;var Ne=typeof yr=="object"&&yr&&!yr.nodeType&&yr,Le=Ne&&typeof br=="object"&&br&&!br.nodeType&&br,ui=Le&&Le.exports===Ne,Ie=ui?xe.Buffer:void 0,Se=Ie?Ie.allocUnsafe:void 0;function di(r,e){if(e)return r.slice();var n=r.length,o=Se?Se(n):new r.constructor(n);return r.copy(o),o}var rr=di;function ci(r,e){return k(r,dr(r),e)}var Pe=ci;var pi=Object.getOwnPropertySymbols,li=!pi?xa:function(r){var e=[];while(r)cr(e,dr(r)),r=Y(r);return e},wr=li;function mi(r,e){return k(r,wr(r),e)}var ke=mi;function hi(r){return _a(r,L,wr)}var Te=hi;var gi=Object.prototype,vi=gi.hasOwnProperty;function bi(r){var e=r.length,n=new r.constructor(e);if(e&&typeof r[0]=="string"&&vi.call(r,"index"))n.index=r.index,n.input=r.input;return n}var Ce=bi;function yi(r){var e=new r.constructor(r.byteLength);return new pr(e).set(new pr(r)),e}var z=yi;function wi(r,e){var n=e?z(r.buffer):r.buffer;return new r.constructor(n,r.byteOffset,r.byteLength)}var Ae=wi;var _i=/\w*$/;function Ei(r){var e=new r.constructor(r.source,_i.exec(r));return e.lastIndex=r.lastIndex,e}var Re=Ei;var Me=Oe?Oe.prototype:void 0,je=Me?Me.valueOf:void 0;function xi(r){return je?Object(je.call(r)):{}}var Be=xi;function Oi(r,e){var n=e?z(r.buffer):r.buffer;return new r.constructor(n,r.byteOffset,r.length)}var _r=Oi;var Li="[object Boolean]",Ii="[object Date]",Si="[object Map]",Ni="[object Number]",Pi="[object RegExp]",ki="[object Set]",Ti="[object String]",Ci="[object Symbol]",Ai="[object ArrayBuffer]",Ri="[object DataView]",Mi="[object Float32Array]",ji="[object Float64Array]",Bi="[object Int8Array]",Di="[object Int16Array]",Fi="[object Int32Array]",Gi="[object Uint8Array]",Xi="[object Uint8ClampedArray]",Ui="[object Uint16Array]",Vi="[object Uint32Array]";function Yi(r,e,n){var o=r.constructor;switch(e){case Ai:return z(r);case Li:case Ii:return new o(+r);case Ri:return Ae(r,n);case Mi:case ji:case Bi:case Di:case Fi:case Gi:case Xi:case Ui:case Vi:return _r(r,n);case Si:return new o;case Ni:case Ti:return new o(r);case Pi:return Re(r);case ki:return new o;case Ci:return Be(r)}}var De=Yi;function zi(r){return typeof r.constructor=="function"&&!yn(r)?ue(Y(r)):{}}var Er=zi;var Wi="[object Map]";function qi(r){return Ee(r)&&mt(r)==Wi}var Fe=qi;var Ge=Wt&&Wt.isMap,Hi=Ge?vn(Ge):Fe,Xe=Hi;var Ki="[object Set]";function Ji(r){return Ee(r)&&mt(r)==Ki}var Ue=Ji;var Ve=Wt&&Wt.isSet,Zi=Ve?vn(Ve):Ue,Ye=Zi;var $i=1,Qi=2,ra=4,ze="[object Arguments]",ea="[object Array]",ta="[object Boolean]",na="[object Date]",oa="[object Error]",We="[object Function]",ia="[object GeneratorFunction]",aa="[object Map]",sa="[object Number]",qe="[object Object]",ca="[object RegExp]",la="[object Set]",Ea="[object String]",Oa="[object Symbol]",La="[object WeakMap]",Ia="[object ArrayBuffer]",Na="[object DataView]",Pa="[object Float32Array]",Ta="[object Float64Array]",Aa="[object Int8Array]",Ra="[object Int16Array]",Ma="[object Int32Array]",ja="[object Uint8Array]",Ba="[object Uint8ClampedArray]",Da="[object Uint16Array]",Fa="[object Uint32Array]",x={};x[ze]=x[ea]=x[Ia]=x[Na]=x[ta]=x[na]=x[Pa]=x[Ta]=x[Aa]=x[Ra]=x[Ma]=x[aa]=x[sa]=x[qe]=x[ca]=x[la]=x[Ea]=x[Oa]=x[ja]=x[Ba]=x[Da]=x[Fa]=!0;x[oa]=x[We]=x[La]=!1;function xr(r,e,n,o,i,f){var s,u=e&$i,d=e&Qi,c=e&ra;if(n)s=i?n(r,o,i,f):n(r);if(s!==void 0)return s;if(!me(r))return r;var p=H(r);if(p){if(s=Ce(r),!u)return vr(r,s)}else{var m=mt(r),g=m==We||m==ia;if(Ct(r))return rr(r,u);if(m==qe||m==ze||g&&!i){if(s=d||g?{}:Er(r),!u)return d?ke(r,ye(s,r)):Pe(r,be(s,r))}else{if(!x[m])return i?r:{};s=De(r,m,u)}}f||(f=new Ht);var b=f.get(r);if(b)return b;if(f.set(r,s),Ye(r))r.forEach(function(v){s.add(xr(v,e,n,v,r,f))});else if(Xe(r))r.forEach(function(v,_){s.set(_,xr(v,e,n,_,r,f))});var w=c?d?Te:zr:d?L:_e,y=p?void 0:w(r);return fa(y||r,function(v,_){if(y)_=v,v=r[_];j(s,_,xr(v,e,n,_,r,f))}),s}var Ke=xr;var Ga=1,Xa=4;function Ua(r){return Ke(r,Ga|Xa)}var Ze=Ua;var Va=function(){return xe.Date.now()},kr=Va;var rt=Object.prototype,Ya=rt.hasOwnProperty,za=gn(function(r,e){r=Object(r);var n=-1,o=e.length,i=o>2?e[2]:void 0;if(i&&C(e[0],e[1],i))o=1;while(++n<o){var f=e[n],s=L(f),u=-1,d=s.length;while(++u<d){var c=s[u],p=r[c];if(p===void 0||kt(p,rt[c])&&!Ya.call(r,c))r[c]=f[c]}}return r}),et=za;function Wa(r,e,n){if(n!==void 0&&!kt(r[e],n)||n===void 0&&!(e in r))M(r,e,n)}var er=Wa;function qa(r,e){if(e==="constructor"&&typeof r[e]==="function")return;if(e=="__proto__")return;return r[e]}var tr=qa;function Ha(r){return k(r,L(r))}var tt=Ha;function Ka(r,e,n,o,i,f,s){var u=tr(r,n),d=tr(e,n),c=s.get(d);if(c){er(r,n,c);return}var p=f?f(u,d,n+"",r,e,s):void 0,m=p===void 0;if(m){var g=H(d),b=!g&&Ct(d),w=!g&&!b&&bn(d);if(p=d,g||b||w)if(H(u))p=u;else if(Sa(u))p=vr(u);else if(b)m=!1,p=rr(d,!0);else if(w)m=!1,p=_r(d,!0);else p=[];else if(ge(d)||Ot(d)){if(p=u,Ot(u))p=tt(u);else if(!me(u)||Vt(u))p=Er(d)}else m=!1}if(m)s.set(d,p),i(p,d,o,f,s),s.delete(d);er(r,n,p)}var nt=Ka;function ot(r,e,n,o,i){if(r===e)return;mr(e,function(f,s){if(i||(i=new Ht),me(f))nt(r,e,s,n,ot,o,i);else{var u=o?o(tr(r,s),f,s+"",r,e,i):void 0;if(u===void 0)u=f;er(r,s,u)}},L)}var it=ot;function Ja(r){var e=r==null?0:r.length;return e?r[e-1]:void 0}var X=Ja;function Za(r){return function(e,n,o){var i=Object(e);if(!$e(e)){var f=He(n,3);e=_e(e),n=function(u){return f(i[u],u,i)}}var s=r(e,n,o);return s>-1?i[f?e[s]:s]:void 0}}var at=Za;var $a=Math.max;function Qa(r,e,n){var o=r==null?0:r.length;if(!o)return-1;var i=n==null?0:fe(n);if(i<0)i=$a(o+i,0);return ha(r,He(e,3),i)}var ut=Qa;var rf=at(ut),nr=rf;function ef(r,e){var n=-1,o=$e(r)?Array(r.length):[];return wn(r,function(i,f,s){o[++n]=e(i,f,s)}),o}var Or=ef;function tf(r,e){var n=H(r)?qt:Or;return n(r,He(e,3))}var E=tf;function nf(r,e){return r==null?r:mr(r,hr(e),L)}var dt=nf;function of(r,e){return r&&fr(r,hr(e))}var ct=of;function af(r,e){return r>e}var ht=af;var ff=Object.prototype,sf=ff.hasOwnProperty;function uf(r,e){return r!=null&&sf.call(r,e)}var gt=uf;function df(r,e){return r!=null&&wa(r,e,gt)}var Lr=df;var cf="[object String]";function pf(r){return typeof r=="string"||!H(r)&&Ee(r)&&Qe(r)==cf}var vt=pf;function lf(r,e){return r<e}var Ir=lf;function mf(r,e){var n={};return e=He(e,3),fr(r,function(o,i,f){M(n,i,e(o,i,f))}),n}var q=mf;function hf(r,e,n){var o=-1,i=r.length;while(++o<i){var f=r[o],s=e(f);if(s!=null&&(u===void 0?s===s&&!pt(s):n(s,u)))var u=s,d=f}return d}var K=hf;function gf(r){return r&&r.length?K(r,st,ht):void 0}var S=gf;var vf=de(function(r,e,n){it(r,e,n)}),ir=vf;function bf(r){return r&&r.length?K(r,st,Ir):void 0}var B=bf;function yf(r,e){return r&&r.length?K(r,He(e,2),Ir):void 0}var J=yf;function wf(r,e,n,o){if(!me(r))return r;e=xn(e,r);var i=-1,f=e.length,s=f-1,u=r;while(u!=null&&++i<f){var d=Gt(e[i]),c=n;if(d==="__proto__"||d==="constructor"||d==="prototype")return r;if(i!=s){var p=u[d];if(c=o?o(p,d,u):void 0,c===void 0)c=me(p)?p:hn(e[i+1])?[]:{}}j(u,d,c),u=u[d]}return r}var yt=wf;function _f(r,e,n){var o=-1,i=e.length,f={};while(++o<i){var s=e[o],u=_n(r,s);if(n(u,s))yt(f,xn(s,r),u)}return f}var wt=_f;function Ef(r,e){var n=r.length;r.sort(e);while(n--)r[n]=r[n].value;return r}var _t=Ef;function xf(r,e){if(r!==e){var n=r!==void 0,o=r===null,i=r===r,f=pt(r),s=e!==void 0,u=e===null,d=e===e,c=pt(e);if(!u&&!c&&!f&&r>e||f&&s&&d&&!u&&!c||o&&s&&d||!n&&d||!i)return 1;if(!o&&!f&&!c&&r<e||c&&n&&i&&!o&&!f||u&&n&&i||!s&&i||!d)return-1}return 0}var xt=xf;function Of(r,e,n){var o=-1,i=r.criteria,f=e.criteria,s=i.length,u=n.length;while(++o<s){var d=xt(i[o],f[o]);if(d){if(o>=u)return d;var c=n[o];return d*(c=="desc"?-1:1)}}return r.index-e.index}var Lt=Of;function Lf(r,e,n){if(e.length)e=qt(e,function(f){if(H(f))return function(s){return _n(s,f.length===1?f[0]:f)};return f});else e=[st];var o=-1;e=qt(e,vn(He));var i=Or(r,function(f,s,u){var d=qt(e,function(c){return c(f)});return{criteria:d,index:++o,value:f}});return _t(i,function(f,s){return Lt(f,s,n)})}var It=Lf;var If=Ca("length"),Nt=If;var Tt="\\ud800-\\udfff",Sf="\\u0300-\\u036f",Nf="\\ufe20-\\ufe2f",Pf="\\u20d0-\\u20ff",kf=Sf+Nf+Pf,Tf="\\ufe0e\\ufe0f",Cf="["+Tt+"]",Tr="["+kf+"]",Cr="\\ud83c[\\udffb-\\udfff]",Af="(?:"+Tr+"|"+Cr+")",At="[^"+Tt+"]",Mt="(?:\\ud83c[\\udde6-\\uddff]){2}",jt="[\\ud800-\\udbff][\\udc00-\\udfff]",Rf="\\u200d",Bt=Af+"?",Dt="["+Tf+"]?",Mf="(?:"+Rf+"(?:"+[At,Mt,jt].join("|")+")"+Dt+Bt+")*",jf=Dt+Bt+Mf,Bf="(?:"+[At+Tr+"?",Tr,Mt,jt,Cf].join("|")+")",Pt=RegExp(Cr+"(?="+Cr+")|"+Bf+jf,"g");function Df(r){var e=Pt.lastIndex=0;while(Pt.test(r))++e;return e}var Ft=Df;function Ff(r){return ve(r)?Ft(r):Nt(r)}var Xt=Ff;function Gf(r,e){return wt(r,e,function(n,o){return ka(r,o)})}var Ut=Gf;var Xf=le(function(r,e){return r==null?{}:Ut(r,e)}),Z=Xf;var{ceil:Uf,max:Vf}=Math;function Yf(r,e,n,o){var i=-1,f=Vf(Uf((e-r)/(n||1)),0),s=Array(f);while(f--)s[o?f:++i]=r,r+=n;return s}var zt=Yf;function zf(r){return function(e,n,o){if(o&&typeof o!="number"&&C(e,n,o))n=o=void 0;if(e=V(e),n===void 0)n=e,e=0;else n=V(n);return o=o===void 0?e<n?1:-1:V(o),zt(e,n,o,r)}}var Kt=zf;var Wf=Kt(),P=Wf;var qf="[object Map]",Hf="[object Set]";function Kf(r){if(r==null)return 0;if($e(r))return vt(r)?Xt(r):r.length;var e=mt(r);if(e==qf||e==Hf)return r.size;return lr(r).length}var Zt=Kf;var Jf=gn(function(r,e){if(r==null)return[];var n=e.length;if(n>1&&C(r,e[0],e[1]))e=[];else if(n>2&&C(e[0],e[1],e[2]))e=[e[0]];return It(r,ur(e,1),[])}),A=Jf;var Zf=0;function $f(r){var e=++Zf;return ba(r)+e}var Q=$f;function Qf(r,e,n){var o=-1,i=r.length,f=e.length,s={};while(++o<i){var u=o<f?e[o]:void 0;n(s,r[o],u)}return s}var $t=Qf;function rs(r,e){return $t(r||[],e||[],j)}var Ar=rs;class Rr{constructor(){var r={};r._next=r._prev=r,this._sentinel=r}dequeue(){var r=this._sentinel,e=r._prev;if(e!==r)return rn(e),e}enqueue(r){var e=this._sentinel;if(r._prev&&r._next)rn(r);r._next=e._next,e._next._prev=r,e._next=r,r._prev=e}toString(){var r=[],e=this._sentinel,n=e._prev;while(n!==e)r.push(JSON.stringify(n,es)),n=n._prev;return"["+r.join(", ")+"]"}}function rn(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function es(r,e){if(r!=="_next"&&r!=="_prev")return e}var ts=lt(1);function en(r,e){if(r.nodeCount()<=1)return[];var n=os(r,e||ts),o=ns(n.graph,n.buckets,n.zeroIdx);return N(E(o,function(i){return r.outEdges(i.v,i.w)}))}function ns(r,e,n){var o=[],i=e[e.length-1],f=e[0],s;while(r.nodeCount()){while(s=f.dequeue())Mr(r,e,n,s);while(s=i.dequeue())Mr(r,e,n,s);if(r.nodeCount()){for(var u=e.length-2;u>0;--u)if(s=e[u].dequeue(),s){o=o.concat(Mr(r,e,n,s,!0));break}}}return o}function Mr(r,e,n,o,i){var f=i?[]:void 0;return h(r.inEdges(o.v),function(s){var u=r.edge(s),d=r.node(s.v);if(i)f.push({v:s.v,w:s.w});d.out-=u,jr(e,n,d)}),h(r.outEdges(o.v),function(s){var u=r.edge(s),d=s.w,c=r.node(d);c.in-=u,jr(e,n,c)}),r.removeNode(o.v),f}function os(r,e){var n=new re,o=0,i=0;h(r.nodes(),function(u){n.setNode(u,{v:u,in:0,out:0})}),h(r.edges(),function(u){var d=n.edge(u.v,u.w)||0,c=e(u),p=d+c;n.setEdge(u.v,u.w,p),i=Math.max(i,n.node(u.v).out+=c),o=Math.max(o,n.node(u.w).in+=c)});var f=P(i+o+3).map(function(){return new Rr}),s=o+1;return h(n.nodes(),function(u){jr(f,s,n.node(u))}),{graph:n,buckets:f,zeroIdx:s}}function jr(r,e,n){if(!n.out)r[0].enqueue(n);else if(!n.in)r[r.length-1].enqueue(n);else r[n.out-n.in+e].enqueue(n)}function tn(r){var e=r.graph().acyclicer==="greedy"?en(r,n(r)):is(r);h(e,function(o){var i=r.edge(o);r.removeEdge(o),i.forwardName=o.name,i.reversed=!0,r.setEdge(o.w,o.v,i,Q("rev"))});function n(o){return function(i){return o.edge(i).weight}}}function is(r){var e=[],n={},o={};function i(f){if(Object.prototype.hasOwnProperty.call(o,f))return;o[f]=!0,n[f]=!0,h(r.outEdges(f),function(s){if(Object.prototype.hasOwnProperty.call(n,s.w))e.push(s);else i(s.w)}),delete n[f]}return h(r.nodes(),i),e}function nn(r){h(r.edges(),function(e){var n=r.edge(e);if(n.reversed){r.removeEdge(e);var o=n.forwardName;delete n.reversed,delete n.forwardName,r.setEdge(e.w,e.v,n,o)}})}function T(r,e,n,o){var i;do i=Q(o);while(r.hasNode(i));return n.dummy=e,r.setNode(i,n),i}function an(r){var e=new re().setGraph(r.graph());return h(r.nodes(),function(n){e.setNode(n,r.node(n))}),h(r.edges(),function(n){var o=e.edge(n.v,n.w)||{weight:0,minlen:1},i=r.edge(n);e.setEdge(n.v,n.w,{weight:o.weight+i.weight,minlen:Math.max(o.minlen,i.minlen)})}),e}function Sr(r){var e=new re({multigraph:r.isMultigraph()}).setGraph(r.graph());return h(r.nodes(),function(n){if(!r.children(n).length)e.setNode(n,r.node(n))}),h(r.edges(),function(n){e.setEdge(n,r.edge(n))}),e}function Br(r,e){var{x:n,y:o}=r,i=e.x-n,f=e.y-o,s=r.width/2,u=r.height/2;if(!i&&!f)throw Error("Not possible to find intersection inside of the rectangle");var d,c;if(Math.abs(f)*s>Math.abs(i)*u){if(f<0)u=-u;d=u*i/f,c=u}else{if(i<0)s=-s;d=s,c=s*f/i}return{x:n+d,y:o+c}}function D(r){var e=E(P(Fr(r)+1),function(){return[]});return h(r.nodes(),function(n){var o=r.node(n),i=o.rank;if(!we(i))e[i][o.order]=n}),e}function fn(r){var e=B(E(r.nodes(),function(n){return r.node(n).rank}));h(r.nodes(),function(n){var o=r.node(n);if(Lr(o,"rank"))o.rank-=e})}function sn(r){var e=B(E(r.nodes(),function(f){return r.node(f).rank})),n=[];h(r.nodes(),function(f){var s=r.node(f).rank-e;if(!n[s])n[s]=[];n[s].push(f)});var o=0,i=r.graph().nodeRankFactor;h(n,function(f,s){if(we(f)&&s%i!==0)--o;else if(o)h(f,function(u){r.node(u).rank+=o})})}function Dr(r,e,n,o){var i={width:0,height:0};if(arguments.length>=4)i.rank=n,i.order=o;return T(r,"border",i,e)}function Fr(r){return S(E(r.nodes(),function(e){var n=r.node(e).rank;if(!we(n))return n}))}function un(r,e){var n={lhs:[],rhs:[]};return h(r,function(o){if(e(o))n.lhs.push(o);else n.rhs.push(o)}),n}function dn(r,e){var n=kr();try{return e()}finally{console.log(r+" time: "+(kr()-n)+"ms")}}function cn(r,e){return e()}function ln(r){function e(n){var o=r.children(n),i=r.node(n);if(o.length)h(o,e);if(Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var f=i.minRank,s=i.maxRank+1;f<s;++f)pn(r,"borderLeft","_bl",n,i,f),pn(r,"borderRight","_br",n,i,f)}}h(r.children(),e)}function pn(r,e,n,o,i,f){var s={width:0,height:0,rank:f,borderType:e},u=i[e][f-1],d=T(r,"border",s,n);if(i[e][f]=d,r.setParent(d,o),u)r.setEdge(u,d,{weight:1})}function En(r){var e=r.graph().rankdir.toLowerCase();if(e==="lr"||e==="rl")In(r)}function Ln(r){var e=r.graph().rankdir.toLowerCase();if(e==="bt"||e==="rl")as(r);if(e==="lr"||e==="rl")fs(r),In(r)}function In(r){h(r.nodes(),function(e){mn(r.node(e))}),h(r.edges(),function(e){mn(r.edge(e))})}function mn(r){var e=r.width;r.width=r.height,r.height=e}function as(r){h(r.nodes(),function(e){Gr(r.node(e))}),h(r.edges(),function(e){var n=r.edge(e);if(h(n.points,Gr),Object.prototype.hasOwnProperty.call(n,"y"))Gr(n)})}function Gr(r){r.y=-r.y}function fs(r){h(r.nodes(),function(e){Xr(r.node(e))}),h(r.edges(),function(e){var n=r.edge(e);if(h(n.points,Xr),Object.prototype.hasOwnProperty.call(n,"x"))Xr(n)})}function Xr(r){var e=r.x;r.x=r.y,r.y=e}function Sn(r){r.graph().dummyChains=[],h(r.edges(),function(e){us(r,e)})}function us(r,e){var n=e.v,o=r.node(n).rank,i=e.w,f=r.node(i).rank,s=e.name,u=r.edge(e),d=u.labelRank;if(f===o+1)return;r.removeEdge(e);var c=void 0,p,m;for(m=0,++o;o<f;++m,++o){if(u.points=[],c={width:0,height:0,edgeLabel:u,edgeObj:e,rank:o},p=T(r,"edge",c,"_d"),o===d)c.width=u.width,c.height=u.height,c.dummy="edge-label",c.labelpos=u.labelpos;if(r.setEdge(n,p,{weight:u.weight},s),m===0)r.graph().dummyChains.push(p);n=p}r.setEdge(n,i,{weight:u.weight},s)}function Nn(r){h(r.graph().dummyChains,function(e){var n=r.node(e),o=n.edgeLabel,i;r.setEdge(n.edgeObj,o);while(n.dummy){if(i=r.successors(e)[0],r.removeNode(e),o.points.push({x:n.x,y:n.y}),n.dummy==="edge-label")o.x=n.x,o.y=n.y,o.width=n.width,o.height=n.height;e=i,n=r.node(e)}})}function ar(r){var e={};function n(o){var i=r.node(o);if(Object.prototype.hasOwnProperty.call(e,o))return i.rank;e[o]=!0;var f=B(E(r.outEdges(o),function(s){return n(s.w)-r.edge(s).minlen}));if(f===Number.POSITIVE_INFINITY||f===void 0||f===null)f=0;return i.rank=f}h(r.sources(),n)}function U(r,e){return r.node(e.w).rank-r.node(e.v).rank-r.edge(e).minlen}function Nr(r){var e=new re({directed:!1}),n=r.nodes()[0],o=r.nodeCount();e.setNode(n,{});var i,f;while(ds(e,r)<o)i=cs(e,r),f=e.hasNode(i.v)?U(r,i):-U(r,i),ps(e,r,f);return e}function ds(r,e){function n(o){h(e.nodeEdges(o),function(i){var f=i.v,s=o===f?i.w:f;if(!r.hasNode(s)&&!U(e,i))r.setNode(s,{}),r.setEdge(o,s,{}),n(s)})}return h(r.nodes(),n),r.nodeCount()}function cs(r,e){return J(e.edges(),function(n){if(r.hasNode(n.v)!==r.hasNode(n.w))return U(e,n)})}function ps(r,e,n){h(r.nodes(),function(o){e.node(o).rank+=n})}var dh=lt(1);var vh=lt(1);Ur.CycleException=gr;function Ur(r){var e={},n={},o=[];function i(f){if(Object.prototype.hasOwnProperty.call(n,f))throw new gr;if(!Object.prototype.hasOwnProperty.call(e,f))n[f]=!0,e[f]=!0,h(r.predecessors(f),i),delete n[f],o.push(f)}if(h(r.sinks(),i),Zt(e)!==r.nodeCount())throw new gr;return o}function gr(){}gr.prototype=Error();function Pr(r,e,n){if(!H(e))e=[e];var o=(r.isDirected()?r.successors:r.neighbors).bind(r),i=[],f={};return h(e,function(s){if(!r.hasNode(s))throw Error("Graph does not have node: "+s);kn(r,s,n==="post",f,o,i)}),i}function kn(r,e,n,o,i,f){if(!Object.prototype.hasOwnProperty.call(o,e)){if(o[e]=!0,!n)f.push(e);if(h(i(e),function(s){kn(r,s,n,o,i,f)}),n)f.push(e)}}function Vr(r,e){return Pr(r,e,"post")}function Yr(r,e){return Pr(r,e,"pre")}G.initLowLimValues=qr;G.initCutValues=Wr;G.calcCutValue=Cn;G.leaveEdge=Rn;G.enterEdge=Mn;G.exchangeEdges=jn;function G(r){r=an(r),ar(r);var e=Nr(r);qr(e),Wr(e,r);var n,o;while(n=Rn(e))o=Mn(e,r,n),jn(e,r,n,o)}function Wr(r,e){var n=Vr(r,r.nodes());n=n.slice(0,n.length-1),h(n,function(o){vs(r,e,o)})}function vs(r,e,n){var o=r.node(n),i=o.parent;r.edge(n,i).cutvalue=Cn(r,e,n)}function Cn(r,e,n){var o=r.node(n),i=o.parent,f=!0,s=e.edge(n,i),u=0;if(!s)f=!1,s=e.edge(i,n);return u=s.weight,h(e.nodeEdges(n),function(d){var c=d.v===n,p=c?d.w:d.v;if(p!==i){var m=c===f,g=e.edge(d).weight;if(u+=m?g:-g,ys(r,n,p)){var b=r.edge(n,p).cutvalue;u+=m?-b:b}}}),u}function qr(r,e){if(arguments.length<2)e=r.nodes()[0];An(r,{},1,e)}function An(r,e,n,o,i){var f=n,s=r.node(o);if(e[o]=!0,h(r.neighbors(o),function(u){if(!Object.prototype.hasOwnProperty.call(e,u))n=An(r,e,n,u,o)}),s.low=f,s.lim=n++,i)s.parent=i;else delete s.parent;return n}function Rn(r){return nr(r.edges(),function(e){return r.edge(e).cutvalue<0})}function Mn(r,e,n){var{v:o,w:i}=n;if(!e.hasEdge(o,i))o=n.w,i=n.v;var f=r.node(o),s=r.node(i),u=f,d=!1;if(f.lim>s.lim)u=s,d=!0;var c=Je(e.edges(),function(p){return d===Tn(r,r.node(p.v),u)&&d!==Tn(r,r.node(p.w),u)});return J(c,function(p){return U(e,p)})}function jn(r,e,n,o){var{v:i,w:f}=n;r.removeEdge(i,f),r.setEdge(o.v,o.w,{}),qr(r),Wr(r,e),bs(r,e)}function bs(r,e){var n=nr(r.nodes(),function(i){return!e.node(i).parent}),o=Yr(r,n);o=o.slice(1),h(o,function(i){var f=r.node(i).parent,s=e.edge(i,f),u=!1;if(!s)s=e.edge(f,i),u=!0;e.node(i).rank=e.node(f).rank+(u?s.minlen:-s.minlen)})}function ys(r,e,n){return r.hasEdge(e,n)}function Tn(r,e,n){return n.low<=e.lim&&e.lim<=n.lim}function Hr(r){switch(r.graph().ranker){case"network-simplex":Bn(r);break;case"tight-tree":_s(r);break;case"longest-path":ws(r);break;default:Bn(r)}}var ws=ar;function _s(r){ar(r),Nr(r)}function Bn(r){G(r)}function Dn(r){var e=T(r,"root",{},"_root"),n=Es(r),o=S(ft(n))-1,i=2*o+1;r.graph().nestingRoot=e,h(r.edges(),function(s){r.edge(s).minlen*=i});var f=xs(r)+1;h(r.children(),function(s){Fn(r,e,i,f,o,n,s)}),r.graph().nodeRankFactor=i}function Fn(r,e,n,o,i,f,s){var u=r.children(s);if(!u.length){if(s!==e)r.setEdge(e,s,{weight:0,minlen:n});return}var d=Dr(r,"_bt"),c=Dr(r,"_bb"),p=r.node(s);if(r.setParent(d,s),p.borderTop=d,r.setParent(c,s),p.borderBottom=c,h(u,function(m){Fn(r,e,n,o,i,f,m);var g=r.node(m),b=g.borderTop?g.borderTop:m,w=g.borderBottom?g.borderBottom:m,y=g.borderTop?o:2*o,v=b!==w?1:i-f[s]+1;r.setEdge(d,b,{weight:y,minlen:v,nestingEdge:!0}),r.setEdge(w,c,{weight:y,minlen:v,nestingEdge:!0})}),!r.parent(s))r.setEdge(e,d,{weight:0,minlen:i+f[s]})}function Es(r){var e={};function n(o,i){var f=r.children(o);if(f&&f.length)h(f,function(s){n(s,i+1)});e[o]=i}return h(r.children(),function(o){n(o,1)}),e}function xs(r){return Yt(r.edges(),function(e,n){return e+r.edge(n).weight},0)}function Xn(r){var e=r.graph();r.removeNode(e.nestingRoot),delete e.nestingRoot,h(r.edges(),function(n){var o=r.edge(n);if(o.nestingEdge)r.removeEdge(n)})}function Un(r,e,n){var o={},i;h(n,function(f){var s=r.parent(f),u,d;while(s){if(u=r.parent(s),u)d=o[u],o[u]=s;else d=i,i=s;if(d&&d!==s){e.setEdge(d,s);return}s=u}})}function Vn(r,e,n){var o=Ls(r),i=new re({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(function(f){return r.node(f)});return h(r.nodes(),function(f){var s=r.node(f),u=r.parent(f);if(s.rank===e||s.minRank<=e&&e<=s.maxRank){if(i.setNode(f),i.setParent(f,u||o),h(r[n](f),function(d){var c=d.v===f?d.w:d.v,p=i.edge(c,f),m=!we(p)?p.weight:0;i.setEdge(c,f,{weight:r.edge(d).weight+m})}),Object.prototype.hasOwnProperty.call(s,"minRank"))i.setNode(f,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]})}}),i}function Ls(r){var e;while(r.hasNode(e=Q("_root")));return e}function Yn(r,e){var n=0;for(var o=1;o<e.length;++o)n+=Is(r,e[o-1],e[o]);return n}function Is(r,e,n){var o=Ar(n,E(n,function(c,p){return p})),i=N(E(e,function(c){return A(E(r.outEdges(c),function(p){return{pos:o[p.w],weight:r.edge(p).weight}}),"pos")})),f=1;while(f<n.length)f<<=1;var s=2*f-1;f-=1;var u=E(Array(s),function(){return 0}),d=0;return h(i.forEach(function(c){var p=c.pos+f;u[p]+=c.weight;var m=0;while(p>0){if(p%2)m+=u[p+1];p=p-1>>1,u[p]+=c.weight}d+=c.weight*m})),d}function zn(r){var e={},n=Je(r.nodes(),function(u){return!r.children(u).length}),o=S(E(n,function(u){return r.node(u).rank})),i=E(P(o+1),function(){return[]});function f(u){if(Lr(e,u))return;e[u]=!0;var d=r.node(u);i[d.rank].push(u),h(r.successors(u),f)}var s=A(n,function(u){return r.node(u).rank});return h(s,f),i}function Wn(r,e){return E(e,function(n){var o=r.inEdges(n);if(!o.length)return{v:n};else{var i=Yt(o,function(f,s){var u=r.edge(s),d=r.node(s.v);return{sum:f.sum+u.weight*d.order,weight:f.weight+u.weight}},{sum:0,weight:0});return{v:n,barycenter:i.sum/i.weight,weight:i.weight}}})}function qn(r,e){var n={};h(r,function(i,f){var s=n[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:f};if(!we(i.barycenter))s.barycenter=i.barycenter,s.weight=i.weight}),h(e.edges(),function(i){var f=n[i.v],s=n[i.w];if(!we(f)&&!we(s))s.indegree++,f.out.push(n[i.w])});var o=Je(n,function(i){return!i.indegree});return Ss(o)}function Ss(r){var e=[];function n(f){return function(s){if(s.merged)return;if(we(s.barycenter)||we(f.barycenter)||s.barycenter>=f.barycenter)Ns(f,s)}}function o(f){return function(s){if(s.in.push(f),--s.indegree===0)r.push(s)}}while(r.length){var i=r.pop();e.push(i),h(i.in.reverse(),n(i)),h(i.out,o(i))}return E(Je(e,function(f){return!f.merged}),function(f){return Z(f,["vs","i","barycenter","weight"])})}function Ns(r,e){var n=0,o=0;if(r.weight)n+=r.barycenter*r.weight,o+=r.weight;if(e.weight)n+=e.barycenter*e.weight,o+=e.weight;r.vs=e.vs.concat(r.vs),r.barycenter=n/o,r.weight=o,r.i=Math.min(e.i,r.i),e.merged=!0}function Kn(r,e){var n=un(r,function(p){return Object.prototype.hasOwnProperty.call(p,"barycenter")}),o=n.lhs,i=A(n.rhs,function(p){return-p.i}),f=[],s=0,u=0,d=0;o.sort(Ps(!!e)),d=Hn(f,i,d),h(o,function(p){d+=p.vs.length,f.push(p.vs),s+=p.barycenter*p.weight,u+=p.weight,d=Hn(f,i,d)});var c={vs:N(f)};if(u)c.barycenter=s/u,c.weight=u;return c}function Hn(r,e,n){var o;while(e.length&&(o=X(e)).i<=n)e.pop(),r.push(o.vs),n++;return n}function Ps(r){return function(e,n){if(e.barycenter<n.barycenter)return-1;else if(e.barycenter>n.barycenter)return 1;return!r?e.i-n.i:n.i-e.i}}function Kr(r,e,n,o){var i=r.children(e),f=r.node(e),s=f?f.borderLeft:void 0,u=f?f.borderRight:void 0,d={};if(s)i=Je(i,function(w){return w!==s&&w!==u});var c=Wn(r,i);h(c,function(w){if(r.children(w.v).length){var y=Kr(r,w.v,n,o);if(d[w.v]=y,Object.prototype.hasOwnProperty.call(y,"barycenter"))Ts(w,y)}});var p=qn(c,n);ks(p,d);var m=Kn(p,o);if(s){if(m.vs=N([s,m.vs,u]),r.predecessors(s).length){var g=r.node(r.predecessors(s)[0]),b=r.node(r.predecessors(u)[0]);if(!Object.prototype.hasOwnProperty.call(m,"barycenter"))m.barycenter=0,m.weight=0;m.barycenter=(m.barycenter*m.weight+g.order+b.order)/(m.weight+2),m.weight+=2}}return m}function ks(r,e){h(r,function(n){n.vs=N(n.vs.map(function(o){if(e[o])return e[o].vs;return o}))})}function Ts(r,e){if(!we(r.barycenter))r.barycenter=(r.barycenter*r.weight+e.barycenter*e.weight)/(r.weight+e.weight),r.weight+=e.weight;else r.barycenter=e.barycenter,r.weight=e.weight}function $n(r){var e=Fr(r),n=Jn(r,P(1,e+1),"inEdges"),o=Jn(r,P(e-1,-1,-1),"outEdges"),i=zn(r);Zn(r,i);var f=Number.POSITIVE_INFINITY,s;for(var u=0,d=0;d<4;++u,++d){Cs(u%2?n:o,u%4>=2),i=D(r);var c=Yn(r,i);if(c<f)d=0,s=Ze(i),f=c}Zn(r,s)}function Jn(r,e,n){return E(e,function(o){return Vn(r,o,n)})}function Cs(r,e){var n=new re;h(r,function(o){var i=o.graph().root,f=Kr(o,i,n,e);h(f.vs,function(s,u){o.node(s).order=u}),Un(o,n,f.vs)})}function Zn(r,e){h(e,function(n){h(n,function(o,i){r.node(o).order=i})})}function Qn(r){var e=Rs(r);h(r.graph().dummyChains,function(n){var o=r.node(n),i=o.edgeObj,f=As(r,e,i.v,i.w),{path:s,lca:u}=f,d=0,c=s[d],p=!0;while(n!==i.w){if(o=r.node(n),p){while((c=s[d])!==u&&r.node(c).maxRank<o.rank)d++;if(c===u)p=!1}if(!p){while(d<s.length-1&&r.node(c=s[d+1]).minRank<=o.rank)d++;c=s[d]}r.setParent(n,c),n=r.successors(n)[0]}})}function As(r,e,n,o){var i=[],f=[],s=Math.min(e[n].low,e[o].low),u=Math.max(e[n].lim,e[o].lim),d,c;d=n;do d=r.parent(d),i.push(d);while(d&&(e[d].low>s||u>e[d].lim));c=d,d=o;while((d=r.parent(d))!==c)f.push(d);return{path:i.concat(f.reverse()),lca:c}}function Rs(r){var e={},n=0;function o(i){var f=n;h(r.children(i),o),e[i]={low:f,lim:n++}}return h(r.children(),o),e}function Ms(r,e){var n={};function o(i,f){var s=0,u=0,d=i.length,c=X(f);return h(f,function(p,m){var g=Bs(r,p),b=g?r.node(g).order:d;if(g||p===c)h(f.slice(u,m+1),function(w){h(r.predecessors(w),function(y){var v=r.node(y),_=v.order;if((_<s||b<_)&&!(v.dummy&&r.node(w).dummy))eo(n,y,w)})}),u=m+1,s=b}),f}return Yt(e,o),n}function js(r,e){var n={};function o(f,s,u,d,c){var p;h(P(s,u),function(m){if(p=f[m],r.node(p).dummy)h(r.predecessors(p),function(g){var b=r.node(g);if(b.dummy&&(b.order<d||b.order>c))eo(n,g,p)})})}function i(f,s){var u=-1,d,c=0;return h(s,function(p,m){if(r.node(p).dummy==="border"){var g=r.predecessors(p);if(g.length)d=r.node(g[0]).order,o(s,c,m,u,d),c=m,u=d}o(s,c,s.length,d,f.length)}),s}return Yt(e,i),n}function Bs(r,e){if(r.node(e).dummy)return nr(r.predecessors(e),function(n){return r.node(n).dummy})}function eo(r,e,n){if(e>n){var o=e;e=n,n=o}if(!Object.prototype.hasOwnProperty.call(r,e))Object.defineProperty(r,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=r[e];Object.defineProperty(i,n,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function Ds(r,e,n){if(e>n){var o=e;e=n,n=o}return!!r[e]&&Object.prototype.hasOwnProperty.call(r[e],n)}function Fs(r,e,n,o){var i={},f={},s={};return h(e,function(u){h(u,function(d,c){i[d]=d,f[d]=d,s[d]=c})}),h(e,function(u){var d=-1;h(u,function(c){var p=o(c);if(p.length){p=A(p,function(y){return s[y]});var m=(p.length-1)/2;for(var g=Math.floor(m),b=Math.ceil(m);g<=b;++g){var w=p[g];if(f[c]===c&&d<s[w]&&!Ds(n,c,w))f[w]=c,f[c]=i[c]=i[w],d=s[w]}}})}),{root:i,align:f}}function Gs(r,e,n,o,i){var f={},s=Xs(r,e,n,i),u=i?"borderLeft":"borderRight";function d(m,g){var b=s.nodes(),w=b.pop(),y={};while(w){if(y[w])m(w);else y[w]=!0,b.push(w),b=b.concat(g(w));w=b.pop()}}function c(m){f[m]=s.inEdges(m).reduce(function(g,b){return Math.max(g,f[b.v]+s.edge(b))},0)}function p(m){var g=s.outEdges(m).reduce(function(w,y){return Math.min(w,f[y.w]-s.edge(y))},Number.POSITIVE_INFINITY),b=r.node(m);if(g!==Number.POSITIVE_INFINITY&&b.borderType!==u)f[m]=Math.max(f[m],g)}return d(c,s.predecessors.bind(s)),d(p,s.successors.bind(s)),h(o,function(m){f[m]=f[n[m]]}),f}function Xs(r,e,n,o){var i=new re,f=r.graph(),s=zs(f.nodesep,f.edgesep,o);return h(e,function(u){var d;h(u,function(c){var p=n[c];if(i.setNode(p),d){var m=n[d],g=i.edge(m,p);i.setEdge(m,p,Math.max(s(r,c,d),g||0))}d=c})}),i}function Us(r,e){return J(ft(e),function(n){var{NEGATIVE_INFINITY:o,POSITIVE_INFINITY:i}=Number;return dt(n,function(f,s){var u=Ws(r,s)/2;o=Math.max(f+u,o),i=Math.min(f-u,i)}),o-i})}function Vs(r,e){var n=ft(e),o=B(n),i=S(n);h(["u","d"],function(f){h(["l","r"],function(s){var u=f+s,d=r[u],c;if(d===e)return;var p=ft(d);if(c=s==="l"?o-B(p):i-S(p),c)r[u]=q(d,function(m){return m+c})})})}function Ys(r,e){return q(r.ul,function(n,o){if(e)return r[e.toLowerCase()][o];else{var i=A(E(r,o));return(i[1]+i[2])/2}})}function to(r){var e=D(r),n=ir(Ms(r,e),js(r,e)),o={},i;h(["u","d"],function(s){i=s==="u"?e:ft(e).reverse(),h(["l","r"],function(u){if(u==="r")i=E(i,function(m){return ft(m).reverse()});var d=(s==="u"?r.predecessors:r.successors).bind(r),c=Fs(r,i,n,d),p=Gs(r,i,c.root,c.align,u==="r");if(u==="r")p=q(p,function(m){return-m});o[s+u]=p})});var f=Us(r,o);return Vs(o,f),Ys(o,r.graph().align)}function zs(r,e,n){return function(o,i,f){var s=o.node(i),u=o.node(f),d=0,c;if(d+=s.width/2,Object.prototype.hasOwnProperty.call(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":c=-s.width/2;break;case"r":c=s.width/2;break}if(c)d+=n?c:-c;if(c=0,d+=(s.dummy?e:r)/2,d+=(u.dummy?e:r)/2,d+=u.width/2,Object.prototype.hasOwnProperty.call(u,"labelpos"))switch(u.labelpos.toLowerCase()){case"l":c=u.width/2;break;case"r":c=-u.width/2;break}if(c)d+=n?c:-c;return c=0,d}}function Ws(r,e){return r.node(e).width}function oo(r){r=Sr(r),qs(r),ct(to(r),function(e,n){r.node(n).x=e})}function qs(r){var e=D(r),n=r.graph().ranksep,o=0;h(e,function(i){var f=S(E(i,function(s){return r.node(s).height}));h(i,function(s){r.node(s).y=o+f/2}),o+=f+n})}function $r(r,e){var n=e&&e.debugTiming?dn:cn;n("layout",()=>{var o=n(" buildLayoutGraph",()=>ou(r));n(" runLayout",()=>Hs(o,n)),n(" updateInputGraph",()=>Ks(r,o))})}function Hs(r,e){e(" makeSpaceForEdgeLabels",()=>iu(r)),e(" removeSelfEdges",()=>mu(r)),e(" acyclic",()=>tn(r)),e(" nestingGraph.run",()=>Dn(r)),e(" rank",()=>Hr(Sr(r))),e(" injectEdgeLabelProxies",()=>au(r)),e(" removeEmptyRanks",()=>sn(r)),e(" nestingGraph.cleanup",()=>Xn(r)),e(" normalizeRanks",()=>fn(r)),e(" assignRankMinMax",()=>fu(r)),e(" removeEdgeLabelProxies",()=>su(r)),e(" normalize.run",()=>Sn(r)),e(" parentDummyChains",()=>Qn(r)),e(" addBorderSegments",()=>ln(r)),e(" order",()=>$n(r)),e(" insertSelfEdges",()=>hu(r)),e(" adjustCoordinateSystem",()=>En(r)),e(" position",()=>oo(r)),e(" positionSelfEdges",()=>gu(r)),e(" removeBorderNodes",()=>lu(r)),e(" normalize.undo",()=>Nn(r)),e(" fixupEdgeLabelCoords",()=>cu(r)),e(" undoCoordinateSystem",()=>Ln(r)),e(" translateGraph",()=>uu(r)),e(" assignNodeIntersects",()=>du(r)),e(" reversePoints",()=>pu(r)),e(" acyclic.undo",()=>nn(r))}function Ks(r,e){h(r.nodes(),function(n){var o=r.node(n),i=e.node(n);if(o){if(o.x=i.x,o.y=i.y,e.children(n).length)o.width=i.width,o.height=i.height}}),h(r.edges(),function(n){var o=r.edge(n),i=e.edge(n);if(o.points=i.points,Object.prototype.hasOwnProperty.call(i,"x"))o.x=i.x,o.y=i.y}),r.graph().width=e.graph().width,r.graph().height=e.graph().height}var Js=["nodesep","edgesep","ranksep","marginx","marginy"],Zs={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},$s=["acyclicer","ranker","rankdir","align"],Qs=["width","height"],ru={width:0,height:0},eu=["minlen","weight","width","height","labeloffset"],tu={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},nu=["labelpos"];function ou(r){var e=new re({multigraph:!0,compound:!0}),n=Zr(r.graph());return e.setGraph(ir({},Zs,Jr(n,Js),Z(n,$s))),h(r.nodes(),function(o){var i=Zr(r.node(o));e.setNode(o,et(Jr(i,Qs),ru)),e.setParent(o,r.parent(o))}),h(r.edges(),function(o){var i=Zr(r.edge(o));e.setEdge(o,ir({},tu,Jr(i,eu),Z(i,nu)))}),e}function iu(r){var e=r.graph();e.ranksep/=2,h(r.edges(),function(n){var o=r.edge(n);if(o.minlen*=2,o.labelpos.toLowerCase()!=="c")if(e.rankdir==="TB"||e.rankdir==="BT")o.width+=o.labeloffset;else o.height+=o.labeloffset})}function au(r){h(r.edges(),function(e){var n=r.edge(e);if(n.width&&n.height){var o=r.node(e.v),i=r.node(e.w),f={rank:(i.rank-o.rank)/2+o.rank,e};T(r,"edge-proxy",f,"_ep")}})}function fu(r){var e=0;h(r.nodes(),function(n){var o=r.node(n);if(o.borderTop)o.minRank=r.node(o.borderTop).rank,o.maxRank=r.node(o.borderBottom).rank,e=S(e,o.maxRank)}),r.graph().maxRank=e}function su(r){h(r.nodes(),function(e){var n=r.node(e);if(n.dummy==="edge-proxy")r.edge(n.e).labelRank=n.rank,r.removeNode(e)})}function uu(r){var e=Number.POSITIVE_INFINITY,n=0,o=Number.POSITIVE_INFINITY,i=0,f=r.graph(),s=f.marginx||0,u=f.marginy||0;function d(c){var{x:p,y:m,width:g,height:b}=c;e=Math.min(e,p-g/2),n=Math.max(n,p+g/2),o=Math.min(o,m-b/2),i=Math.max(i,m+b/2)}h(r.nodes(),function(c){d(r.node(c))}),h(r.edges(),function(c){var p=r.edge(c);if(Object.prototype.hasOwnProperty.call(p,"x"))d(p)}),e-=s,o-=u,h(r.nodes(),function(c){var p=r.node(c);p.x-=e,p.y-=o}),h(r.edges(),function(c){var p=r.edge(c);if(h(p.points,function(m){m.x-=e,m.y-=o}),Object.prototype.hasOwnProperty.call(p,"x"))p.x-=e;if(Object.prototype.hasOwnProperty.call(p,"y"))p.y-=o}),f.width=n-e+s,f.height=i-o+u}function du(r){h(r.edges(),function(e){var n=r.edge(e),o=r.node(e.v),i=r.node(e.w),f,s;if(!n.points)n.points=[],f=i,s=o;else f=n.points[0],s=n.points[n.points.length-1];n.points.unshift(Br(o,f)),n.points.push(Br(i,s))})}function cu(r){h(r.edges(),function(e){var n=r.edge(e);if(Object.prototype.hasOwnProperty.call(n,"x")){if(n.labelpos==="l"||n.labelpos==="r")n.width-=n.labeloffset;switch(n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset;break}}})}function pu(r){h(r.edges(),function(e){var n=r.edge(e);if(n.reversed)n.points.reverse()})}function lu(r){h(r.nodes(),function(e){if(r.children(e).length){var n=r.node(e),o=r.node(n.borderTop),i=r.node(n.borderBottom),f=r.node(X(n.borderLeft)),s=r.node(X(n.borderRight));n.width=Math.abs(s.x-f.x),n.height=Math.abs(i.y-o.y),n.x=f.x+n.width/2,n.y=o.y+n.height/2}}),h(r.nodes(),function(e){if(r.node(e).dummy==="border")r.removeNode(e)})}function mu(r){h(r.edges(),function(e){if(e.v===e.w){var n=r.node(e.v);if(!n.selfEdges)n.selfEdges=[];n.selfEdges.push({e,label:r.edge(e)}),r.removeEdge(e)}})}function hu(r){var e=D(r);h(e,function(n){var o=0;h(n,function(i,f){var s=r.node(i);s.order=f+o,h(s.selfEdges,function(u){T(r,"selfedge",{width:u.label.width,height:u.label.height,rank:s.rank,order:f+ ++o,e:u.e,label:u.label},"_se")}),delete s.selfEdges})})}function gu(r){h(r.nodes(),function(e){var n=r.node(e);if(n.dummy==="selfedge"){var o=r.node(n.e.v),i=o.x+o.width/2,f=o.y,s=n.x-i,u=o.height/2;r.setEdge(n.e,n.label),r.removeNode(e),n.label.points=[{x:i+2*s/3,y:f-u},{x:i+5*s/6,y:f-u},{x:i+s,y:f},{x:i+5*s/6,y:f+u},{x:i+2*s/3,y:f+u}],n.label.x=n.x,n.label.y=n.y}})}function Jr(r,e){return q(Z(r,e),Number)}function Zr(r){var e={};return h(r,function(n,o){e[o.toLowerCase()]=n}),e}var fo=t((r,e,n)=>Math.max(e,Math.min(n,r)),"clamp"),so=t((r="TB")=>{switch(r){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";case"TB":default:return"top"}},"getDefaultSelfLoopSide"),vu=t((r)=>r==="flowchart"||r==="flowchart-v2"||r==="stateDiagram"||r==="er"||r==="classDiagram","shouldMergeSelfLoopSegments"),bu=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],yu=t((r,e,n,o,i)=>{let f=[],s=new Set;if(n.forEach(({start:p,end:m})=>{if(p!==o)s.add(p);if(m!==o)s.add(m)}),s.forEach((p)=>{let m=r.node(p);if(typeof m?.x==="number"&&typeof m?.y==="number")f.push(m)}),f.length===0)n.forEach(({edge:p})=>{(p.points??[]).forEach((m)=>{if(typeof m?.x==="number"&&typeof m?.y==="number")f.push(m)})});if(f.length===0)return so(i);let u=f.reduce((p,m)=>({x:p.x+m.x/f.length,y:p.y+m.y/f.length}),{x:0,y:0}),d=u.x-e.x,c=u.y-e.y;if(Math.abs(d)>Math.abs(c))return d>0?"right":"left";if(Math.abs(c)>0)return c>0?"bottom":"top";return so(i)},"getSelfLoopSide"),wu=t((r,e="top",n=0,o=0)=>{let i=r.x,f=r.y-n,s=r.width/2,u=r.height/2,d=Math.max(36,Math.min(100,r.width*0.8)),c=fo(Math.max(o,r.width*0.35),36,d),p=fo(Math.min(r.width,r.height)*0.45,24,48);switch(e){case"bottom":{let m=f+u;return[{x:i-c/2,y:m},{x:i-c/2,y:m+p},{x:i+c/2,y:m+p},{x:i+c/2,y:m}]}case"right":{let m=i+s;return[{x:m,y:f-c/2},{x:m+p,y:f-c/2},{x:m+p,y:f+c/2},{x:m,y:f+c/2}]}case"left":{let m=i-s;return[{x:m,y:f-c/2},{x:m-p,y:f-c/2},{x:m-p,y:f+c/2},{x:m,y:f+c/2}]}case"top":default:{let m=f-u;return[{x:i-c/2,y:m},{x:i-c/2,y:m-p},{x:i+c/2,y:m-p},{x:i+c/2,y:m}]}}},"getSelfLoopPoints"),_u=t((r,e,n="top",o=0,i={})=>{let s=r.x,u=r.y-o,d=i.width??0,c=i.height??0;switch(n){case"bottom":return{x:s,y:Math.max(...e.map((p)=>p.y))+c/2+4};case"right":return{x:Math.max(...e.map((p)=>p.x))+d/2+4,y:u};case"left":return{x:Math.min(...e.map((p)=>p.x))-d/2-4,y:u};case"top":default:return{x:s,y:Math.min(...e.map((p)=>p.y))-c/2-4}}},"getSelfLoopLabelPosition"),no=t((r,e=0,{mergeSelfLoops:n=!0}={})=>{let o=new Map,i=[],f=r.graph()?.rankdir;return r.edges().forEach((s)=>{let u=r.edge(s);if(n&&u.selfLoop){let d=u.selfLoop.id;if(!o.has(d))o.set(d,[]);o.get(d).push({edge:u,start:s.v,end:s.w})}else i.push({edge:u,start:s.v,end:s.w})}),o.forEach((s)=>{if(s.length!==3){s.forEach((_)=>i.push(_));return}s.sort((_,R)=>_.edge.selfLoop.order-R.edge.selfLoop.order);let[u,d,c]=s,p=u.edge.originalEdge??d.edge.originalEdge??c.edge.originalEdge??d.edge,m=r.node(p.start);if(!m){s.forEach((_)=>i.push(_));return}let g={width:d.edge.width,height:d.edge.height},b=yu(r,m,s,p.start,f),w=wu(m,b,e,g.width??0),y=_u(m,w,b,e,g),v={...d.edge,...p,id:p.id,points:w,start:p.start,end:p.end,x:y.x,y:y.y,width:g.width,height:g.height,labelStyle:d.edge.labelStyle,fromCluster:u.edge.fromCluster??d.edge.fromCluster??c.edge.fromCluster,toCluster:u.edge.toCluster??d.edge.toCluster??c.edge.toCluster};delete v.selfLoop,delete v.originalEdge,i.push({edge:v,start:v.start,end:v.end})}),i},"getEdgesToRender"),co=t(async({element:r,graph:e,diagramType:n,id:o,parentCluster:i,siteConfig:f})=>{let s=e.graph().rankdir;a.trace("Dir in recursive render - dir:",s);let{clusters:u,edgePaths:d,edgeLabels:c,nodes:p,rootGroups:m}=ua(r,{edgePathsClass:"edgePaths"});if(!e.nodes())a.info("No nodes found for",e);else a.info("Recursive render XXX",e.nodes());if(e.edges().length>0)a.info("Recursive edges",e.edge(e.edges()[0]));let g=vu(n);await Promise.all(e.nodes().map(async function(y){let v=e.node(y);if(i!==void 0){let _=JSON.parse(JSON.stringify(i.clusterData));if(a.trace(`Setting data for parent cluster XXX
2
- Node.id = `,y,`
3
- data=`,_.height,`
4
- Parent cluster`,i.height),e.setNode(i.id,_),!e.parent(y))a.trace("Setting parent",y,i.id),e.setParent(y,i.id,_)}if(a.info("(Insert) Node XXX"+y+": "+JSON.stringify(e.node(y))),v?.clusterNode){a.info("Cluster identified XBX",y,v.width,e.node(y));let{ranksep:_,nodesep:R}=e.graph();v.graph.setGraph({...v.graph.graph(),ranksep:_+25,nodesep:R});let Qr=await Lu({element:p,graph:v.graph,diagramType:n,id:o,parentCluster:e.node(y),siteConfig:f}),ee=Qr.elem;I(v,ee),v.diff=Qr.diff||0,a.info("New compound node after recursive render XAX",y,"width",v.width,"height",v.height),_o(ee,v)}else if(e.children(y).length>0)a.trace("Cluster - the non recursive path XBX",y,v.id,v,v.width,"Graph:",e),a.trace(On(v.id,e)),W.set(v.id,{id:On(v.id,e),node:v});else a.trace("Node - the non recursive path XAX",y,p,e.node(y),s),await da(p,e.node(y),{config:f,dir:s})})),await t(async()=>{let y=e.edges().map(async function(v){let _=e.edge(v.v,v.w,v.name);if(a.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(v)),a.info("Edge "+v.v+" -> "+v.w+": ",v," ",JSON.stringify(e.edge(v))),a.info("Fix",W,"ids:",v.v,v.w,"Translating: ",W.get(v.v),W.get(v.w)),g&&_.selfLoop){if(_.selfLoop.order!==1)return;let R={..._.originalEdge,..._,id:_.selfLoop.id,startLabelLeft:_.originalEdge?.startLabelLeft??_.startLabelLeft,startLabelRight:_.originalEdge?.startLabelRight??_.startLabelRight,endLabelLeft:_.originalEdge?.endLabelLeft??_.endLabelLeft,endLabelRight:_.originalEdge?.endLabelRight??_.endLabelRight};await Et(c,R),_.width=R.width,_.height=R.height,_.labelStyle=R.labelStyle;return}await Et(c,_)});await Promise.all(y)},"processEdges")();let{subGraphTitleTotalMargin:w}=St(f);return{elem:m,graph:e,groups:{clusters:u,edgePaths:d,edgeLabels:c,nodes:p,rootGroups:m},diagramType:n,id:o,mergeSelfLoops:g,subGraphTitleTotalMargin:w}},"measureDagreGraph"),po=t((r)=>{a.info("############################################# XXX"),a.info("### Layout ### XXX"),a.info("############################################# XXX"),$r(r)},"runDagreGraphLayout"),Eu=t((r,e,n)=>{let o=r.node(e);if(!o)return;let i={...o};if(o?.clusterNode)i.y=(o.y??0)+n;else if(r.children(e).length>0)i.height=(o.height??0)+n;else i.y=(o.y??0)+n/2;return i},"normalizeDagreNode"),uo=t((r,e)=>{bu.forEach((n)=>{if(e[n]!==void 0)r[n]=e[n]})},"applyDagreNodeLayout"),xu=t((r,e,n,o)=>({...r,start:r.start??e,end:r.end??n,points:(r.points??[]).map((i)=>({...i,y:typeof i.y==="number"?i.y+o:i.y}))}),"normalizeDagreEdge"),Lo=t((r,e)=>{let{graph:n,mergeSelfLoops:o,subGraphTitleTotalMargin:i=0}=e,f=new Map(r.nodes.map((u)=>[u.id,u]));pa(n).forEach((u)=>{let d=Eu(n,u,i);if(!d)return;uo(n.node(u),d);let c=f.get(u);if(c)uo(c,d)});let s=i/2;return r.edges=no(n,s,{mergeSelfLoops:o}).map(({edge:u,start:d,end:c})=>xu(u,d,c,s)),r},"applyDagreLayoutResult"),Ou=t(async({elem:r,graph:e,groups:{clusters:n,edgePaths:o},diagramType:i,id:f,mergeSelfLoops:s,subGraphTitleTotalMargin:u})=>{let d=0;await Promise.all(pa(e).map(async function(m){let g=e.node(m);if(a.info("Position XBX => "+m+": ("+g.x,","+g.y,") width: ",g.width," height: ",g.height),g?.clusterNode)g.y+=u,a.info("A tainted cluster node XBX1",m,g.id,g.width,g.height,g.x,g.y,e.parent(m)),W.get(g.id).node=g,bt(g);else if(e.children(m).length>0){a.info("A pure cluster node XBX1",m,g.id,g.x,g.y,g.width,g.height,e.parent(m)),g.height+=u,e.node(g.parentId);let b=g?.padding/2||0,w=g?.labelBBox?.height||0,y=w-b||0;a.debug("OffsetY",y,"labelHeight",w,"halfPadding",b),await Qt(n,g),W.get(g.id).node=g}else{let b=e.node(g.parentId);g.y+=u/2,a.info("A regular node XBX1 - using the padding",g.id,"parent",g.parentId,g.width,g.height,g.x,g.y,"offsetY",g.offsetY,"parent",b,b?.offsetY,g),bt(g)}}));let c=u/2;return no(e,c,{mergeSelfLoops:s}).forEach(function({edge:m,start:g,end:b}){a.info("Edge "+g+" -> "+b+": "+JSON.stringify(m),m),m.points.forEach((_)=>_.y+=c);let w=e.node(g),y=e.node(b),v=Jt(o,m,W,i,w,y,f);Gn(m,v)}),e.nodes().forEach(function(m){let g=e.node(m);if(a.info(m,g.type,g.diff),g.isGroup)d=g.diff}),a.warn("Returning from recursive render XAX",r,d),{elem:r,diff:d}},"paintDagreLayoutCore"),Lu=t(async(r)=>{let e=await co(r);return po(e.graph),await Ou(e)},"renderDagreSubgraph"),ro=t((r)=>{let e=new re({multigraph:!0,compound:!0}).setGraph({rankdir:r.direction,nodesep:r.config?.nodeSpacing||r.nodeSpacing||r.config?.flowchart?.nodeSpacing,ranksep:r.config?.rankSpacing||r.rankSpacing||r.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return r.nodes.forEach((n)=>{if(e.setNode(n.id,{...n}),n.parentId)e.setParent(n.id,n.parentId)}),a.debug("Edges:",r.edges),r.edges.forEach((n)=>{if(n.start===n.end){let o=n.start,i=o+"---"+o+"---1",f=o+"---"+o+"---2",s=e.node(o);e.setNode(i,{domId:i,id:i,parentId:s.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),e.setParent(i,s.parentId),e.setNode(f,{domId:f,id:f,parentId:s.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),e.setParent(f,s.parentId);let u=structuredClone(n),d=structuredClone(n),c=structuredClone(n),p=structuredClone(n);if(d.originalEdge=u,d.selfLoop={id:u.id,order:0},c.originalEdge=u,c.selfLoop={id:u.id,order:1},p.originalEdge=u,p.selfLoop={id:u.id,order:2},d.label="",d.arrowTypeEnd="none",d.endLabelLeft="",d.endLabelRight="",d.startLabelLeft="",d.id=o+"-cyclic-special-1",c.startLabelRight="",c.startLabelLeft="",c.endLabelLeft="",c.endLabelRight="",c.arrowTypeStart="none",c.arrowTypeEnd="none",c.id=o+"-cyclic-special-mid",p.label="",p.startLabelRight="",p.startLabelLeft="",p.arrowTypeStart="none",s.isGroup)d.fromCluster=o,p.toCluster=o;p.id=o+"-cyclic-special-2",p.arrowTypeStart="none",e.setEdge(o,i,d,o+"-cyclic-special-0"),e.setEdge(i,f,c,o+"-cyclic-special-1"),e.setEdge(f,o,p,o+"-cyclic-special-2")}else e.setEdge(n.start,n.end,{...n},n.id)}),io(e),{graph:e}},"prepareLayoutForDagre"),Io=t(async(r,{element:e,preparedLayout:n})=>{let o=n??ro(r),i=l(),f=await co({element:e,graph:o.graph,diagramType:r.type,id:r.diagramId,parentCluster:void 0,siteConfig:i});return o.measuredLayout=f,f},"measureDagreLayout"),Do=t((r,e)=>{let n=e.preparedLayout?.measuredLayout;if(!n)throw Error("runDagreLayoutCore requires measureDagreLayout to run first");return po(n.graph),Lo(r,n),n},"runDagreLayoutCore"),Iu=t((r,{measure:e})=>pa(e.graph).map((n)=>e.graph.node(n)).filter(Boolean),"getDagrePaintNodes"),Su=t((r,e,{measure:n})=>r?n.graph.node(r):void 0,"getDagreEdgeNode"),ao=or({prepareLayout:ro,measureLayout:Io,runLayoutCore:Do,paintOptions:{clusterDb:W,getNodes:Iu,getEdgeNode:Su,skipNode:t((r,{measure:e})=>!e.graph.hasNode(r.id),"skipNode"),isCluster:t((r,{measure:e})=>e.graph.hasNode(r.id)&&(e.graph.children(r.id)??[]).length>0,"isCluster")}});export{no,Lo,ro,Io,Do,ao};
@@ -1 +0,0 @@
1
- import{Ei}from"./chunk-xjc5fmcr.js";export{Ei as createInfoServices};
@@ -1 +0,0 @@
1
- import{cn}from"./chunk-ydtrc1ay.js";export{cn as default};