@bkm016/basalt 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/README.md +1 -1
  2. package/{chunk-n981vx1t.js → chunk-0d51ggzj.js} +6 -6
  3. package/chunk-12trygzx.js +25 -0
  4. package/{chunk-s6dejhfj.js → chunk-26cz8et8.js} +1 -1
  5. package/{chunk-zxkq9m8e.js → chunk-2ek3wq4b.js} +2 -2
  6. package/chunk-2gcp3xdc.js +2 -0
  7. package/{chunk-x4874m8e.js → chunk-2ks2tnac.js} +2 -2
  8. package/{chunk-0javrjcm.js → chunk-2nrkqq45.js} +22 -22
  9. package/chunk-320174qe.js +2 -0
  10. package/{chunk-ey15ye2h.js → chunk-3hg7yn1t.js} +1 -1
  11. package/{chunk-benrzwea.js → chunk-3j2kkgsc.js} +1 -1
  12. package/{chunk-8x21n7y9.js → chunk-47vf66t6.js} +1 -1
  13. package/chunk-4n49ptbz.js +3 -0
  14. package/{chunk-7hr6zw2m.js → chunk-5gxj9560.js} +1 -1
  15. package/{chunk-g0t9c3gv.js → chunk-6vnjg5x9.js} +1 -1
  16. package/{chunk-dnx91jrd.js → chunk-7kjr9gdx.js} +2 -2
  17. package/{chunk-y8dkfpmj.js → chunk-7p6e2f5s.js} +3 -3
  18. package/{chunk-053vb71h.js → chunk-86xhmz7k.js} +1 -1
  19. package/{chunk-ebpyvs1d.js → chunk-91r5nvth.js} +2 -2
  20. package/{chunk-c7rcw9fb.js → chunk-adys4qq4.js} +4 -4
  21. package/{chunk-npez1492.js → chunk-ckjw3b61.js} +2 -2
  22. package/{chunk-f156y565.js → chunk-d37gemt2.js} +3 -3
  23. package/{chunk-j7yvh0ae.js → chunk-dcwdmpw2.js} +1 -1
  24. package/chunk-dvb5nd2x.js +2 -0
  25. package/{chunk-063vbmtp.js → chunk-e6c2mzxc.js} +2 -2
  26. package/{chunk-s7skpgm2.js → chunk-ef9yhnk3.js} +1 -1
  27. package/{chunk-ecf896fz.js → chunk-fpxc6qjr.js} +2 -2
  28. package/chunk-frt9k18g.js +480 -0
  29. package/{chunk-bdy4jksd.js → chunk-fzcmzbsq.js} +1 -1
  30. package/{chunk-q9dd6fhj.js → chunk-g3ed130w.js} +3 -3
  31. package/{chunk-d48bfd2e.js → chunk-h1kb8b49.js} +2 -2
  32. package/{chunk-arcqjt91.js → chunk-hd3x1w46.js} +1 -1
  33. package/{chunk-dpz4hwqb.js → chunk-j781n7ca.js} +2 -2
  34. package/{chunk-z02sj1je.js → chunk-jp5afrwm.js} +2 -2
  35. package/{chunk-r8vvcp6c.js → chunk-jyv9cae6.js} +1 -1
  36. package/{chunk-whj87h4r.js → chunk-k3q5jqjj.js} +3 -3
  37. package/{chunk-75434aay.js → chunk-k3rmjrf1.js} +1 -1
  38. package/{chunk-peja51xv.js → chunk-kgkrccr1.js} +2 -2
  39. package/{chunk-pg5nkf1y.js → chunk-kpvaqb7c.js} +2 -2
  40. package/{chunk-sjjtxpg2.js → chunk-ky55taar.js} +330 -288
  41. package/{chunk-10p3mb40.js → chunk-mr807v9n.js} +1 -1
  42. package/chunk-n015c8nx.js +2 -0
  43. package/chunk-ndt6rjt9.js +2 -0
  44. package/{chunk-gv7wqkey.js → chunk-nmtk9xra.js} +2 -2
  45. package/{chunk-d6p2hgxh.js → chunk-pehyqj8k.js} +1 -1
  46. package/{chunk-ca982n62.js → chunk-pkpj7s2k.js} +1 -1
  47. package/{chunk-fx7f4m3c.js → chunk-pn413hjw.js} +1 -1
  48. package/{chunk-6ptv4g5e.js → chunk-ppxv5q7y.js} +3 -3
  49. package/{chunk-8wj32837.js → chunk-qmdpgbg3.js} +1 -1
  50. package/{chunk-8wv5t0w6.js → chunk-rnt1ckk9.js} +6 -6
  51. package/{chunk-prgm07j4.js → chunk-t40fag3z.js} +2 -2
  52. package/{chunk-w67dvqtb.js → chunk-t66jqz12.js} +2 -2
  53. package/{chunk-39vwrg8n.js → chunk-v2srrqcv.js} +2 -2
  54. package/{chunk-n85qs7cs.js → chunk-x496kg3v.js} +1 -1
  55. package/{chunk-6kdgk70p.js → chunk-xjw78yey.js} +4 -4
  56. package/chunk-xy2bxwq8.js +2 -0
  57. package/{chunk-y69ewdn2.js → chunk-ypqjfv3a.js} +2 -2
  58. package/{chunk-f544p9rh.js → chunk-yyy2yp6f.js} +10 -10
  59. package/{chunk-8gw5bvh3.js → chunk-yzevjkms.js} +5 -5
  60. package/chunk-z3ch1wg6.js +16 -0
  61. package/chunk-zdyd8hbn.js +2 -0
  62. package/compiled.js +6 -6
  63. package/package.json +1 -1
  64. package/ui-test-worker.js +19 -19
  65. package/web/{chunk-kjacapzd.js → chunk-0j9a7811.js} +6 -6
  66. package/web/chunk-0jfda4jw.js +2 -0
  67. package/web/{chunk-z1geewdf.js → chunk-0zwc2rvh.js} +2 -2
  68. package/web/{chunk-ht4mx2dt.js → chunk-1gx0zpmp.js} +7 -7
  69. package/web/{chunk-q3jevm51.js → chunk-1s8zg6fb.js} +51 -51
  70. package/web/chunk-2axwda8c.js +89 -0
  71. package/web/chunk-2p3fkhy8.js +1 -0
  72. package/web/{chunk-tz4twwmw.js → chunk-33w36n91.js} +2 -2
  73. package/web/{chunk-1s53190z.js → chunk-3q0v8w45.js} +81 -81
  74. package/web/chunk-3sz5qcwj.js +1 -0
  75. package/web/chunk-433c80pc.js +1 -0
  76. package/web/chunk-48cnmhvd.js +106 -0
  77. package/web/{chunk-da7m1kva.js → chunk-4anjs6yp.js} +2 -2
  78. package/web/chunk-5r37rwq1.js +4 -0
  79. package/web/{chunk-pjz30xcp.js → chunk-6e38yf3a.js} +23 -23
  80. package/web/{chunk-xckxtfp8.js → chunk-7a4xk6j9.js} +72 -72
  81. package/web/chunk-7f1t7z72.js +2 -0
  82. package/web/chunk-7qq1ypvj.js +1 -0
  83. package/web/{chunk-h6k1x096.js → chunk-7tkgbbf9.js} +2 -2
  84. package/web/chunk-7x35g67d.js +78 -0
  85. package/web/{chunk-xbpc6x9m.js → chunk-823b7866.js} +15 -15
  86. package/web/chunk-85gdsmt4.js +1 -0
  87. package/web/{chunk-gyp6v7jd.js → chunk-8773nwdc.js} +2 -2
  88. package/web/{chunk-2cem4sv7.js → chunk-8dp7h6w8.js} +24 -24
  89. package/web/{chunk-y99ed8rd.js → chunk-8nv7q5ac.js} +9 -9
  90. package/web/chunk-8pzg8qw4.js +1 -0
  91. package/web/chunk-8wg44w91.js +2 -0
  92. package/web/chunk-9p5dfvav.js +1 -0
  93. package/web/chunk-9q9w9pay.js +1 -0
  94. package/web/chunk-a3teqvz2.js +39 -0
  95. package/web/chunk-bd8ftfxn.js +3 -0
  96. package/web/chunk-c03bt2pz.js +1 -0
  97. package/web/chunk-c1ha2xg6.js +8 -0
  98. package/web/chunk-cez1k71m.js +1 -0
  99. package/web/chunk-cgng31df.js +1 -0
  100. package/web/chunk-cn0tmwjs.js +2 -0
  101. package/web/{chunk-t6sq85s6.js → chunk-cn1xpg3q.js} +2 -2
  102. package/web/chunk-cvd4f51j.js +1 -0
  103. package/web/chunk-cybvxssy.js +1 -0
  104. package/web/{chunk-geh05ghh.js → chunk-cyjnert7.js} +19 -19
  105. package/web/{chunk-twdy2f67.js → chunk-d0m0h0eb.js} +1 -1
  106. package/web/{chunk-sn3tkwme.js → chunk-dgwkqcz6.js} +37 -37
  107. package/web/{chunk-nfvqjzz5.js → chunk-dtg5yhhs.js} +1 -1
  108. package/web/chunk-dynajx8x.js +2 -0
  109. package/web/{chunk-svh4n157.js → chunk-et8q775x.js} +4 -4
  110. package/web/chunk-f3vv7n52.js +1 -0
  111. package/web/{chunk-tmndcktk.js → chunk-f93pe4kb.js} +15 -15
  112. package/web/{chunk-5nda24gv.js → chunk-fe31sv6t.js} +1 -1
  113. package/web/chunk-fpa81dv7.js +62 -0
  114. package/web/{chunk-4q7wf0wd.js → chunk-fx4mackk.js} +9 -9
  115. package/web/chunk-g17n6asp.js +1 -0
  116. package/web/chunk-g9dzaw9e.js +30 -0
  117. package/web/chunk-gcwhx3av.js +1139 -0
  118. package/web/chunk-gf8vm6b5.js +1 -0
  119. package/web/chunk-gnmeyy4h.js +1 -0
  120. package/web/chunk-h5cfg3vv.js +2 -0
  121. package/web/{chunk-femhej5w.js → chunk-hbkasy6c.js} +46 -46
  122. package/web/chunk-hn7mhsbg.js +1 -0
  123. package/web/{chunk-tfn0rqg9.js → chunk-hstbgb83.js} +26 -26
  124. package/web/chunk-jjjtv2r1.js +2 -0
  125. package/web/chunk-jzte2phh.js +2 -0
  126. package/web/chunk-k8h8zx6r.js +24 -0
  127. package/web/chunk-m3ajw575.js +1 -0
  128. package/web/chunk-m5y2d4zv.js +1 -0
  129. package/web/chunk-mbwwj216.js +1 -0
  130. package/web/chunk-mf6xng5b.js +2 -0
  131. package/web/chunk-nky3bqfg.js +1 -0
  132. package/web/chunk-np33kmn4.js +1 -0
  133. package/web/chunk-nvk8mazs.js +1 -0
  134. package/web/chunk-nyw5ewgv.js +1 -0
  135. package/web/{chunk-dg3p8db5.js → chunk-p0cjvjdx.js} +1 -1
  136. package/web/chunk-p56dcqpr.js +1 -0
  137. package/web/chunk-pdn4r8x4.js +1 -0
  138. package/web/chunk-q1xxs319.js +41 -0
  139. package/web/chunk-qpt34d8d.js +1 -0
  140. package/web/{chunk-4fm55fgb.js → chunk-qq2v8h6d.js} +7 -7
  141. package/web/chunk-qskt3tqa.js +1 -0
  142. package/web/chunk-qt3n897m.js +4 -0
  143. package/web/chunk-r1rt48h9.js +1 -0
  144. package/web/{chunk-4sve9xrj.js → chunk-r4ffr96e.js} +1 -1
  145. package/web/chunk-r7tgd2fm.js +7 -0
  146. package/web/{chunk-gksf7cek.js → chunk-rbdvc8x7.js} +7 -7
  147. package/web/{chunk-q97hn4j5.js → chunk-rkjkynm3.js} +33 -33
  148. package/web/chunk-rznszqmy.js +1 -0
  149. package/web/chunk-s1pefd34.js +1 -0
  150. package/web/chunk-s38s9ff9.js +370 -0
  151. package/web/{chunk-n754s8xd.js → chunk-s7e93552.js} +8 -8
  152. package/web/chunk-sc29azev.js +1 -0
  153. package/web/{chunk-czjk218p.js → chunk-sda7cyrt.js} +52 -52
  154. package/web/chunk-svh2gkx8.js +2 -0
  155. package/web/chunk-t4jc4nac.js +1 -0
  156. package/web/chunk-t7g366a5.js +24 -0
  157. package/web/chunk-tj1fn8v2.js +1 -0
  158. package/web/{chunk-sy7e4dmq.js → chunk-tkp72r9b.js} +1 -1
  159. package/web/{chunk-5wbnjjhg.js → chunk-v14s4vgc.js} +1 -1
  160. package/web/chunk-v94v68xg.js +36 -0
  161. package/web/{chunk-0whceqes.js → chunk-vvvd3grf.js} +2 -2
  162. package/web/chunk-w37n09px.js +21 -0
  163. package/web/chunk-wcphswcx.js +2 -0
  164. package/web/{chunk-aangfjqc.js → chunk-wj3ymejj.js} +38 -38
  165. package/web/chunk-wwcnvyjh.css +1 -0
  166. package/web/{chunk-e8yj05t1.js → chunk-xabcx3ry.js} +6 -6
  167. package/web/chunk-xb9m0092.js +1 -0
  168. package/web/chunk-xfd3b01q.js +1 -0
  169. package/web/{chunk-4vjnrz87.js → chunk-xqyazzm7.js} +17 -17
  170. package/web/{chunk-bdydzbqk.js → chunk-xsz1dfm2.js} +23 -23
  171. package/web/chunk-z0zrp8n8.js +1 -0
  172. package/web/index.html +1 -1
  173. package/worker.js +1 -1
  174. package/chunk-654cny9a.js +0 -480
  175. package/chunk-8saewt61.js +0 -3
  176. package/chunk-a0c989ky.js +0 -2
  177. package/chunk-a5apjjcn.js +0 -16
  178. package/chunk-a81p46j7.js +0 -2
  179. package/chunk-agsfy9w7.js +0 -2
  180. package/chunk-d20p02ny.js +0 -2
  181. package/chunk-ejsneb6f.js +0 -2
  182. package/chunk-fmq3zwzk.js +0 -2
  183. package/chunk-rfb85nj7.js +0 -2
  184. package/chunk-rfdt992v.js +0 -25
  185. package/web/chunk-079091ar.js +0 -39
  186. package/web/chunk-083r4f80.js +0 -1
  187. package/web/chunk-0cng7r2x.js +0 -2
  188. package/web/chunk-0k0ande6.js +0 -1
  189. package/web/chunk-14deqqhr.js +0 -2
  190. package/web/chunk-2b63adsj.js +0 -89
  191. package/web/chunk-3baypnwn.js +0 -4
  192. package/web/chunk-4067nwjp.js +0 -19
  193. package/web/chunk-59678wmg.js +0 -1
  194. package/web/chunk-5k8sv4f5.js +0 -1
  195. package/web/chunk-5vjhvw1m.js +0 -2
  196. package/web/chunk-6ft5pz3c.js +0 -1
  197. package/web/chunk-7c8rwqtx.js +0 -1
  198. package/web/chunk-7qzz025k.js +0 -1
  199. package/web/chunk-7xbaqqd7.css +0 -1
  200. package/web/chunk-80eyv2mk.js +0 -1
  201. package/web/chunk-89paytbk.js +0 -4
  202. package/web/chunk-8ceej2g7.js +0 -1
  203. package/web/chunk-8nyhy122.js +0 -1
  204. package/web/chunk-989jq2h8.js +0 -2
  205. package/web/chunk-9w5tf22s.js +0 -1
  206. package/web/chunk-c3nn0vvc.js +0 -1
  207. package/web/chunk-cpwtt6ny.js +0 -1
  208. package/web/chunk-dsw5t58p.js +0 -1
  209. package/web/chunk-dv72fat3.js +0 -1
  210. package/web/chunk-dvvs1jjq.js +0 -3
  211. package/web/chunk-e131rg6p.js +0 -2
  212. package/web/chunk-ekw54h1q.js +0 -1
  213. package/web/chunk-hwsvhst3.js +0 -1
  214. package/web/chunk-k02b36g1.js +0 -62
  215. package/web/chunk-kkfrs7d1.js +0 -41
  216. package/web/chunk-kkyn8yhj.js +0 -106
  217. package/web/chunk-mh4rx5cf.js +0 -1
  218. package/web/chunk-n448vaba.js +0 -1
  219. package/web/chunk-n8j88qxy.js +0 -1
  220. package/web/chunk-nmpbsvwb.js +0 -2
  221. package/web/chunk-nws1s56b.js +0 -1
  222. package/web/chunk-p7126wwy.js +0 -7
  223. package/web/chunk-phnqnhj9.js +0 -1
  224. package/web/chunk-qg31p6cn.js +0 -1
  225. package/web/chunk-qhm3cfq9.js +0 -1
  226. package/web/chunk-qsd595b9.js +0 -1
  227. package/web/chunk-r7frwjqx.js +0 -2
  228. package/web/chunk-rddft5ce.js +0 -1139
  229. package/web/chunk-rgbdf2m9.js +0 -370
  230. package/web/chunk-rsbkbg6x.js +0 -78
  231. package/web/chunk-s2bs5vxh.js +0 -2
  232. package/web/chunk-sgwccs54.js +0 -1
  233. package/web/chunk-sjh8gtm9.js +0 -30
  234. package/web/chunk-t3658ehb.js +0 -2
  235. package/web/chunk-t81p4wqc.js +0 -24
  236. package/web/chunk-tewmsd7t.js +0 -1
  237. package/web/chunk-tf57s7ry.js +0 -1
  238. package/web/chunk-tqr80b5w.js +0 -2
  239. package/web/chunk-v282r683.js +0 -24
  240. package/web/chunk-v4vjjtn7.js +0 -1
  241. package/web/chunk-vbwdwcdp.js +0 -1
  242. package/web/chunk-vjngfh0q.js +0 -1
  243. package/web/chunk-vnt34mkb.js +0 -1
  244. package/web/chunk-wbgkwxrc.js +0 -1
  245. package/web/chunk-wjbk50hn.js +0 -2
  246. package/web/chunk-wjy848e2.js +0 -1
  247. package/web/chunk-wqsczy57.js +0 -36
  248. package/web/chunk-wvfmmw1v.js +0 -8
  249. package/web/chunk-x1jm4zsg.js +0 -1
  250. package/web/chunk-xmsb2g71.js +0 -1
@@ -1,4 +0,0 @@
1
- import{e,a,l,I,Tt,go,yt,tn,At,Zn,nn}from"./chunk-1s53190z.js";import{xe,Oe,Qe,Ee,dt,Gt,H,me,it,Ht,ot,ur,da,pa,ma,bn,Ct,fa,xn,$e,_n,Ft,St,wn,Yt,kn,ha,ga,dr,_e,ya,Cn,Zt,Sn,pr,mr,Xt,va,fr,ba,Ur,pt,hr,xa,_a,wa,Ge,gr,yr,Tn,ka,vr,f,Je,mt,we,Kt,te}from"./chunk-tz4twwmw.js";import{la,ca,W,Fn,to,ua,cr}from"./chunk-s2bs5vxh.js";import{Rt}from"./chunk-rddft5ce.js";var br={};Rt(br,{default:()=>rr});var co=/\s/;function po(r){var t=r.length;while(t--&&co.test(r.charAt(t)));return t}var ee=po;var lo=/^\s+/;function mo(r){return r?r.slice(0,ee(r)+1).replace(lo,""):r}var ne=mo;var oe=NaN,ho=/^[-+]0x[0-9a-f]+$/i,vo=/^0b[01]+$/i,bo=/^0o[0-7]+$/i,yo=parseInt;function wo(r){if(typeof r=="number")return r;if(dt(r))return oe;if(me(r)){var t=typeof r.valueOf=="function"?r.valueOf():r;r=me(t)?t+"":t}if(typeof r!="string")return r===0?r:+r;r=ne(r);var n=vo.test(r);return n||bo.test(r)?yo(r.slice(2),n?2:8):ho.test(r)?oe:+r}var ie=wo;var ae=1/0,_o=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;function xo(r){if(!r)return r===0?r:0;if(r=ie(r),r===ae||r===-ae){var t=r<0?-1:1;return t*_o}return r===r?r:0}var V=xo;function Oo(r){var t=V(r),n=t%1;return t===t?n?t-n:t:0}var fe=Oo;var se=Object.create,Lo=function(){function r(){}return function(t){if(!me(t))return{};if(se)return se(t);r.prototype=t;var n=new r;return r.prototype=void 0,n}}(),ue=Lo;function Io(r,t){var n=-1,o=r.length;t||(t=Array(o));while(++n<o)t[n]=r[n];return t}var sr=Io;function No(r,t,n){if(t=="__proto__"&&ur)ur(r,t,{configurable:!0,enumerable:!0,value:n,writable:!0});else r[t]=n}var M=No;var Po=Object.prototype,ko=Po.hasOwnProperty;function Co(r,t,n){var o=r[t];if(!(ko.call(r,t)&&Ct(o,n))||n===void 0&&!(t in r))M(r,t,n)}var j=Co;function Ao(r,t,n,o){var i=!n;n||(n={});var s=-1,u=t.length;while(++s<u){var d=t[s],c=o?o(n[d],r[d],d,n,r):void 0;if(c===void 0)c=r[d];if(i)M(n,d,c);else j(n,d,c)}return n}var k=Ao;function Ro(r,t,n){if(!me(n))return!1;var o=typeof t;if(o=="number"?$e(n)&&bn(t,n.length):o=="string"&&(t in n))return Ct(n[t],r);return!1}var C=Ro;function Mo(r){return xn(function(t,n){var o=-1,i=n.length,s=i>1?n[i-1]:void 0,u=i>2?n[2]:void 0;if(s=r.length>3&&typeof s=="function"?(i--,s):void 0,u&&C(n[0],n[1],u))s=i<3?void 0:s,i=1;t=Object(t);while(++o<i){var d=n[o];if(d)r(t,d,o,s)}return t})}var de=Mo;function jo(r){var t=[];if(r!=null)for(var n in Object(r))t.push(n);return t}var ce=jo;var Bo=Object.prototype,Do=Bo.hasOwnProperty;function Fo(r){if(!me(r))return ce(r);var t=_n(r),n=[];for(var o in r)if(!(o=="constructor"&&(t||!Do.call(r,o))))n.push(o);return n}var pe=Fo;function Go(r){return $e(r)?ha(r,!0):pe(r)}var L=Go;function Xo(r){var t=r==null?0:r.length;return t?mr(r,1):[]}var N=Xo;function Uo(r){return da(fa(r,void 0,N),r+"")}var le=Uo;var Vo=ga(Object.getPrototypeOf,Object),Y=Vo;var Yo="[object Object]",zo=Function.prototype,Wo=Object.prototype,he=zo.toString,qo=Wo.hasOwnProperty,Ho=he.call(Object);function Ko(r){if(!Ee(r)||Qe(r)!=Yo)return!1;var t=Y(r);if(t===null)return!0;var n=qo.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&he.call(n)==Ho}var ge=Ko;var Jo="\\ud800-\\udfff",Zo="\\u0300-\\u036f",$o="\\ufe20-\\ufe2f",Qo="\\u20d0-\\u20ff",ri=Zo+$o+Qo,ei="\\ufe0e\\ufe0f",ti="\\u200d",ni=RegExp("["+ti+Jo+ri+ei+"]");function oi(r){return ni.test(r)}var ve=oi;function ii(r,t){return r&&k(t,_e(t),r)}var be=ii;function ai(r,t){return r&&k(t,L(t),r)}var ye=ai;var Ne=typeof br=="object"&&br&&!br.nodeType&&br,Le=Ne&&typeof lr=="object"&&lr&&!lr.nodeType&&lr,fi=Le&&Le.exports===Ne,Ie=fi?xe.Buffer:void 0,Se=Ie?Ie.allocUnsafe:void 0;function si(r,t){if(t)return r.slice();var n=r.length,o=Se?Se(n):new r.constructor(n);return r.copy(o),o}var rr=si;function ui(r,t){return k(r,fr(r),t)}var Pe=ui;var di=Object.getOwnPropertySymbols,ci=!di?va:function(r){var t=[];while(r)pr(t,fr(r)),r=Y(r);return t},wr=ci;function pi(r,t){return k(r,wr(r),t)}var ke=pi;function li(r){return ba(r,L,wr)}var Te=li;var mi=Object.prototype,hi=mi.hasOwnProperty;function gi(r){var t=r.length,n=new r.constructor(t);if(t&&typeof r[0]=="string"&&hi.call(r,"index"))n.index=r.index,n.input=r.input;return n}var Ce=gi;function vi(r){var t=new r.constructor(r.byteLength);return new hr(t).set(new hr(r)),t}var z=vi;function bi(r,t){var n=t?z(r.buffer):r.buffer;return new r.constructor(n,r.byteOffset,r.byteLength)}var Ae=bi;var yi=/\w*$/;function wi(r){var t=new r.constructor(r.source,yi.exec(r));return t.lastIndex=r.lastIndex,t}var Re=wi;var Me=Oe?Oe.prototype:void 0,je=Me?Me.valueOf:void 0;function _i(r){return je?Object(je.call(r)):{}}var Be=_i;function Ei(r,t){var n=t?z(r.buffer):r.buffer;return new r.constructor(n,r.byteOffset,r.length)}var _r=Ei;var xi="[object Boolean]",Oi="[object Date]",Li="[object Map]",Ii="[object Number]",Si="[object RegExp]",Ni="[object Set]",Pi="[object String]",ki="[object Symbol]",Ti="[object ArrayBuffer]",Ci="[object DataView]",Ai="[object Float32Array]",Ri="[object Float64Array]",Mi="[object Int8Array]",ji="[object Int16Array]",Bi="[object Int32Array]",Di="[object Uint8Array]",Fi="[object Uint8ClampedArray]",Gi="[object Uint16Array]",Xi="[object Uint32Array]";function Ui(r,t,n){var o=r.constructor;switch(t){case Ti:return z(r);case xi:case Oi:return new o(+r);case Ci:return Ae(r,n);case Ai:case Ri:case Mi:case ji:case Bi:case Di:case Fi:case Gi:case Xi:return _r(r,n);case Li:return new o;case Ii:case Pi:return new o(r);case Si:return Re(r);case Ni:return new o;case ki:return Be(r)}}var De=Ui;function Vi(r){return typeof r.constructor=="function"&&!_n(r)?ue(Y(r)):{}}var Er=Vi;var Yi="[object Map]";function zi(r){return Ee(r)&&pt(r)==Yi}var Fe=zi;var Xe=Yt&&Yt.isMap,Wi=Xe?wn(Xe):Fe,Ue=Wi;var qi="[object Set]";function Hi(r){return Ee(r)&&pt(r)==qi}var Ve=Hi;var Ye=Yt&&Yt.isSet,Ki=Ye?wn(Ye):Ve,ze=Ki;var Zi=1,$i=2,ra=4,We="[object Arguments]",ea="[object Array]",ta="[object Boolean]",na="[object Date]",oa="[object Error]",qe="[object Function]",ia="[object GeneratorFunction]",aa="[object Map]",sa="[object Number]",He="[object Object]",Ea="[object RegExp]",Oa="[object Set]",La="[object String]",Ia="[object Symbol]",Sa="[object WeakMap]",Na="[object ArrayBuffer]",Pa="[object DataView]",Ta="[object Float32Array]",Ca="[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[We]=x[ea]=x[Na]=x[Pa]=x[ta]=x[na]=x[Ta]=x[Ca]=x[Aa]=x[Ra]=x[Ma]=x[aa]=x[sa]=x[He]=x[Ea]=x[Oa]=x[La]=x[Ia]=x[ja]=x[Ba]=x[Da]=x[Fa]=!0;x[oa]=x[qe]=x[Sa]=!1;function xr(r,t,n,o,i,s){var u,d=t&Zi,c=t&$i,p=t&ra;if(n)u=i?n(r,o,i,s):n(r);if(u!==void 0)return u;if(!me(r))return r;var m=H(r);if(m){if(u=Ce(r),!d)return sr(r,u)}else{var h=pt(r),g=h==qe||h==ia;if(St(r))return rr(r,d);if(h==He||h==We||g&&!i){if(u=c||g?{}:Er(r),!d)return c?ke(r,ye(u,r)):Pe(r,be(u,r))}else{if(!x[h])return i?r:{};u=De(r,h,d)}}s||(s=new Xt);var b=s.get(r);if(b)return b;if(s.set(r,u),ze(r))r.forEach(function(v){u.add(xr(v,t,n,v,r,s))});else if(Ue(r))r.forEach(function(v,_){u.set(_,xr(v,t,n,_,r,s))});var w=p?c?Te:Ur:c?L:_e,y=m?void 0:w(r);return pa(y||r,function(v,_){if(y)_=v,v=r[_];j(u,_,xr(v,t,n,_,r,s))}),u}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=xn(function(r,t){r=Object(r);var n=-1,o=t.length,i=o>2?t[2]:void 0;if(i&&C(t[0],t[1],i))o=1;while(++n<o){var s=t[n],u=L(s),d=-1,c=u.length;while(++d<c){var p=u[d],m=r[p];if(m===void 0||Ct(m,rt[p])&&!Ya.call(r,p))r[p]=s[p]}}return r}),et=za;function Wa(r,t,n){if(n!==void 0&&!Ct(r[t],n)||n===void 0&&!(t in r))M(r,t,n)}var er=Wa;function qa(r,t){if(t==="constructor"&&typeof r[t]==="function")return;if(t=="__proto__")return;return r[t]}var tr=qa;function Ha(r){return k(r,L(r))}var tt=Ha;function Ka(r,t,n,o,i,s,u){var d=tr(r,n),c=tr(t,n),p=u.get(c);if(p){er(r,n,p);return}var m=s?s(d,c,n+"",r,t,u):void 0,h=m===void 0;if(h){var g=H(c),b=!g&&St(c),w=!g&&!b&&kn(c);if(m=c,g||b||w)if(H(d))m=d;else if(ka(d))m=sr(d);else if(b)h=!1,m=rr(c,!0);else if(w)h=!1,m=_r(c,!0);else m=[];else if(ge(c)||Ft(c)){if(m=d,Ft(d))m=tt(d);else if(!me(d)||Ht(d))m=Er(c)}else h=!1}if(h)u.set(c,m),i(m,c,o,s,u),u.delete(c);er(r,n,m)}var nt=Ka;function at(r,t,n,o,i){if(r===t)return;gr(t,function(s,u){if(i||(i=new Xt),me(s))nt(r,t,u,n,at,o,i);else{var d=o?o(tr(r,u),s,u+"",r,t,i):void 0;if(d===void 0)d=s;er(r,u,d)}},L)}var ft=at;function Ja(r){var t=r==null?0:r.length;return t?r[t-1]:void 0}var X=Ja;function Za(r){return function(t,n,o){var i=Object(t);if(!$e(t)){var s=Ge(n,3);t=_e(t),n=function(d){return s(i[d],d,i)}}var u=r(t,n,o);return u>-1?i[s?t[u]:u]:void 0}}var st=Za;var $a=Math.max;function Qa(r,t,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 ma(r,Ge(t,3),i)}var ut=Qa;var rf=st(ut),nr=rf;function ef(r,t){var n=-1,o=$e(r)?Array(r.length):[];return Tn(r,function(i,s,u){o[++n]=t(i,s,u)}),o}var Or=ef;function tf(r,t){var n=H(r)?Gt:Or;return n(r,Ge(t,3))}var E=tf;function nf(r,t){return r==null?r:gr(r,vr(t),L)}var ct=nf;function of(r,t){return r&&yr(r,vr(t))}var lt=of;function af(r,t){return r>t}var ht=af;var ff=Object.prototype,sf=ff.hasOwnProperty;function uf(r,t){return r!=null&&sf.call(r,t)}var gt=uf;function df(r,t){return r!=null&&xa(r,t,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,t){return r<t}var Ir=lf;function mf(r,t){var n={};return t=Ge(t,3),yr(r,function(o,i,s){M(n,i,t(o,i,s))}),n}var q=mf;function hf(r,t,n){var o=-1,i=r.length;while(++o<i){var s=r[o],u=t(s);if(u!=null&&(d===void 0?u===u&&!dt(u):n(u,d)))var d=u,c=s}return c}var K=hf;function gf(r){return r&&r.length?K(r,it,ht):void 0}var S=gf;var vf=de(function(r,t,n){ft(r,t,n)}),or=vf;function bf(r){return r&&r.length?K(r,it,Ir):void 0}var B=bf;function yf(r,t){return r&&r.length?K(r,Ge(t,2),Ir):void 0}var J=yf;function wf(r,t,n,o){if(!me(r))return r;t=Cn(t,r);var i=-1,s=t.length,u=s-1,d=r;while(d!=null&&++i<s){var c=Zt(t[i]),p=n;if(c==="__proto__"||c==="constructor"||c==="prototype")return r;if(i!=u){var m=d[c];if(p=o?o(m,c,d):void 0,p===void 0)p=me(m)?m:bn(t[i+1])?[]:{}}j(d,c,p),d=d[c]}return r}var bt=wf;function _f(r,t,n){var o=-1,i=t.length,s={};while(++o<i){var u=t[o],d=Sn(r,u);if(n(d,u))bt(s,Cn(u,r),d)}return s}var wt=_f;function Ef(r,t){var n=r.length;r.sort(t);while(n--)r[n]=r[n].value;return r}var _t=Ef;function xf(r,t){if(r!==t){var n=r!==void 0,o=r===null,i=r===r,s=dt(r),u=t!==void 0,d=t===null,c=t===t,p=dt(t);if(!d&&!p&&!s&&r>t||s&&u&&c&&!d&&!p||o&&u&&c||!n&&c||!i)return 1;if(!o&&!s&&!p&&r<t||p&&n&&i&&!o&&!s||d&&n&&i||!u&&i||!c)return-1}return 0}var Et=xf;function Of(r,t,n){var o=-1,i=r.criteria,s=t.criteria,u=i.length,d=n.length;while(++o<u){var c=Et(i[o],s[o]);if(c){if(o>=d)return c;var p=n[o];return c*(p=="desc"?-1:1)}}return r.index-t.index}var xt=Of;function Lf(r,t,n){if(t.length)t=Gt(t,function(s){if(H(s))return function(u){return Sn(u,s.length===1?s[0]:s)};return s});else t=[it];var o=-1;t=Gt(t,wn(Ge));var i=Or(r,function(s,u,d){var c=Gt(t,function(p){return p(s)});return{criteria:c,index:++o,value:s}});return _t(i,function(s,u){return xt(s,u,n)})}var Ot=Lf;var If=wa("length"),Lt=If;var Nt="\\ud800-\\udfff",Sf="\\u0300-\\u036f",Nf="\\ufe20-\\ufe2f",Pf="\\u20d0-\\u20ff",kf=Sf+Nf+Pf,Tf="\\ufe0e\\ufe0f",Cf="["+Nt+"]",Tr="["+kf+"]",Cr="\\ud83c[\\udffb-\\udfff]",Af="(?:"+Tr+"|"+Cr+")",Pt="[^"+Nt+"]",kt="(?:\\ud83c[\\udde6-\\uddff]){2}",Mt="[\\ud800-\\udbff][\\udc00-\\udfff]",Rf="\\u200d",jt=Af+"?",Bt="["+Tf+"]?",Mf="(?:"+Rf+"(?:"+[Pt,kt,Mt].join("|")+")"+Bt+jt+")*",jf=Bt+jt+Mf,Bf="(?:"+[Pt+Tr+"?",Tr,kt,Mt,Cf].join("|")+")",It=RegExp(Cr+"(?="+Cr+")|"+Bf+jf,"g");function Df(r){var t=It.lastIndex=0;while(It.test(r))++t;return t}var Dt=Df;function Ff(r){return ve(r)?Dt(r):Lt(r)}var Ut=Ff;function Gf(r,t){return wt(r,t,function(n,o){return _a(r,o)})}var Vt=Gf;var Xf=le(function(r,t){return r==null?{}:Vt(r,t)}),Z=Xf;var{ceil:Uf,max:Vf}=Math;function Yf(r,t,n,o){var i=-1,s=Vf(Uf((t-r)/(n||1)),0),u=Array(s);while(s--)u[o?s:++i]=r,r+=n;return u}var zt=Yf;function zf(r){return function(t,n,o){if(o&&typeof o!="number"&&C(t,n,o))n=o=void 0;if(t=V(t),n===void 0)n=t,t=0;else n=V(n);return o=o===void 0?t<n?1:-1:V(o),zt(t,n,o,r)}}var Wt=zf;var Wf=Wt(),P=Wf;var qf="[object Map]",Hf="[object Set]";function Kf(r){if(r==null)return 0;if($e(r))return vt(r)?Ut(r):r.length;var t=pt(r);if(t==qf||t==Hf)return r.size;return dr(r).length}var qt=Kf;var Jf=xn(function(r,t){if(r==null)return[];var n=t.length;if(n>1&&C(r,t[0],t[1]))t=[];else if(n>2&&C(t[0],t[1],t[2]))t=[t[0]];return Ot(r,mr(t,1),[])}),A=Jf;var Zf=0;function $f(r){var t=++Zf;return ya(r)+t}var Q=$f;function Qf(r,t,n){var o=-1,i=r.length,s=t.length,u={};while(++o<i){var d=o<s?t[o]:void 0;n(u,r[o],d)}return u}var Jt=Qf;function rs(r,t){return Jt(r||[],t||[],j)}var Ar=rs;class Rr{constructor(){var r={};r._next=r._prev=r,this._sentinel=r}dequeue(){var r=this._sentinel,t=r._prev;if(t!==r)return $t(t),t}enqueue(r){var t=this._sentinel;if(r._prev&&r._next)$t(r);r._next=t._next,t._next._prev=r,t._next=r,r._prev=t}toString(){var r=[],t=this._sentinel,n=t._prev;while(n!==t)r.push(JSON.stringify(n,es)),n=n._prev;return"["+r.join(", ")+"]"}}function $t(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function es(r,t){if(r!=="_next"&&r!=="_prev")return t}var ts=ot(1);function Qt(r,t){if(r.nodeCount()<=1)return[];var n=os(r,t||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,t,n){var o=[],i=t[t.length-1],s=t[0],u;while(r.nodeCount()){while(u=s.dequeue())Mr(r,t,n,u);while(u=i.dequeue())Mr(r,t,n,u);if(r.nodeCount()){for(var d=t.length-2;d>0;--d)if(u=t[d].dequeue(),u){o=o.concat(Mr(r,t,n,u,!0));break}}}return o}function Mr(r,t,n,o,i){var s=i?[]:void 0;return f(r.inEdges(o.v),function(u){var d=r.edge(u),c=r.node(u.v);if(i)s.push({v:u.v,w:u.w});c.out-=d,jr(t,n,c)}),f(r.outEdges(o.v),function(u){var d=r.edge(u),c=u.w,p=r.node(c);p.in-=d,jr(t,n,p)}),r.removeNode(o.v),s}function os(r,t){var n=new te,o=0,i=0;f(r.nodes(),function(d){n.setNode(d,{v:d,in:0,out:0})}),f(r.edges(),function(d){var c=n.edge(d.v,d.w)||0,p=t(d),m=c+p;n.setEdge(d.v,d.w,m),i=Math.max(i,n.node(d.v).out+=p),o=Math.max(o,n.node(d.w).in+=p)});var s=P(i+o+3).map(function(){return new Rr}),u=o+1;return f(n.nodes(),function(d){jr(s,u,n.node(d))}),{graph:n,buckets:s,zeroIdx:u}}function jr(r,t,n){if(!n.out)r[0].enqueue(n);else if(!n.in)r[r.length-1].enqueue(n);else r[n.out-n.in+t].enqueue(n)}function rn(r){var t=r.graph().acyclicer==="greedy"?Qt(r,n(r)):is(r);f(t,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 t=[],n={},o={};function i(s){if(Object.prototype.hasOwnProperty.call(o,s))return;o[s]=!0,n[s]=!0,f(r.outEdges(s),function(u){if(Object.prototype.hasOwnProperty.call(n,u.w))t.push(u);else i(u.w)}),delete n[s]}return f(r.nodes(),i),t}function en(r){f(r.edges(),function(t){var n=r.edge(t);if(n.reversed){r.removeEdge(t);var o=n.forwardName;delete n.reversed,delete n.forwardName,r.setEdge(t.w,t.v,n,o)}})}function T(r,t,n,o){var i;do i=Q(o);while(r.hasNode(i));return n.dummy=t,r.setNode(i,n),i}function an(r){var t=new te().setGraph(r.graph());return f(r.nodes(),function(n){t.setNode(n,r.node(n))}),f(r.edges(),function(n){var o=t.edge(n.v,n.w)||{weight:0,minlen:1},i=r.edge(n);t.setEdge(n.v,n.w,{weight:o.weight+i.weight,minlen:Math.max(o.minlen,i.minlen)})}),t}function Sr(r){var t=new te({multigraph:r.isMultigraph()}).setGraph(r.graph());return f(r.nodes(),function(n){if(!r.children(n).length)t.setNode(n,r.node(n))}),f(r.edges(),function(n){t.setEdge(n,r.edge(n))}),t}function Br(r,t){var{x:n,y:o}=r,i=t.x-n,s=t.y-o,u=r.width/2,d=r.height/2;if(!i&&!s)throw Error("Not possible to find intersection inside of the rectangle");var c,p;if(Math.abs(s)*u>Math.abs(i)*d){if(s<0)d=-d;c=d*i/s,p=d}else{if(i<0)u=-u;c=u,p=u*s/i}return{x:n+c,y:o+p}}function D(r){var t=E(P(Fr(r)+1),function(){return[]});return f(r.nodes(),function(n){var o=r.node(n),i=o.rank;if(!we(i))t[i][o.order]=n}),t}function fn(r){var t=B(E(r.nodes(),function(n){return r.node(n).rank}));f(r.nodes(),function(n){var o=r.node(n);if(Lr(o,"rank"))o.rank-=t})}function sn(r){var t=B(E(r.nodes(),function(s){return r.node(s).rank})),n=[];f(r.nodes(),function(s){var u=r.node(s).rank-t;if(!n[u])n[u]=[];n[u].push(s)});var o=0,i=r.graph().nodeRankFactor;f(n,function(s,u){if(we(s)&&u%i!==0)--o;else if(o)f(s,function(d){r.node(d).rank+=o})})}function Dr(r,t,n,o){var i={width:0,height:0};if(arguments.length>=4)i.rank=n,i.order=o;return T(r,"border",i,t)}function Fr(r){return S(E(r.nodes(),function(t){var n=r.node(t).rank;if(!we(n))return n}))}function un(r,t){var n={lhs:[],rhs:[]};return f(r,function(o){if(t(o))n.lhs.push(o);else n.rhs.push(o)}),n}function dn(r,t){var n=kr();try{return t()}finally{console.log(r+" time: "+(kr()-n)+"ms")}}function cn(r,t){return t()}function ln(r){function t(n){var o=r.children(n),i=r.node(n);if(o.length)f(o,t);if(Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var s=i.minRank,u=i.maxRank+1;s<u;++s)pn(r,"borderLeft","_bl",n,i,s),pn(r,"borderRight","_br",n,i,s)}}f(r.children(),t)}function pn(r,t,n,o,i,s){var u={width:0,height:0,rank:s,borderType:t},d=i[t][s-1],c=T(r,"border",u,n);if(i[t][s]=c,r.setParent(c,o),d)r.setEdge(d,c,{weight:1})}function hn(r){var t=r.graph().rankdir.toLowerCase();if(t==="lr"||t==="rl")vn(r)}function gn(r){var t=r.graph().rankdir.toLowerCase();if(t==="bt"||t==="rl")as(r);if(t==="lr"||t==="rl")fs(r),vn(r)}function vn(r){f(r.nodes(),function(t){mn(r.node(t))}),f(r.edges(),function(t){mn(r.edge(t))})}function mn(r){var t=r.width;r.width=r.height,r.height=t}function as(r){f(r.nodes(),function(t){Gr(r.node(t))}),f(r.edges(),function(t){var n=r.edge(t);if(f(n.points,Gr),Object.prototype.hasOwnProperty.call(n,"y"))Gr(n)})}function Gr(r){r.y=-r.y}function fs(r){f(r.nodes(),function(t){Xr(r.node(t))}),f(r.edges(),function(t){var n=r.edge(t);if(f(n.points,Xr),Object.prototype.hasOwnProperty.call(n,"x"))Xr(n)})}function Xr(r){var t=r.x;r.x=r.y,r.y=t}function yn(r){r.graph().dummyChains=[],f(r.edges(),function(t){us(r,t)})}function us(r,t){var n=t.v,o=r.node(n).rank,i=t.w,s=r.node(i).rank,u=t.name,d=r.edge(t),c=d.labelRank;if(s===o+1)return;r.removeEdge(t);var p=void 0,m,h;for(h=0,++o;o<s;++h,++o){if(d.points=[],p={width:0,height:0,edgeLabel:d,edgeObj:t,rank:o},m=T(r,"edge",p,"_d"),o===c)p.width=d.width,p.height=d.height,p.dummy="edge-label",p.labelpos=d.labelpos;if(r.setEdge(n,m,{weight:d.weight},u),h===0)r.graph().dummyChains.push(m);n=m}r.setEdge(n,i,{weight:d.weight},u)}function En(r){f(r.graph().dummyChains,function(t){var n=r.node(t),o=n.edgeLabel,i;r.setEdge(n.edgeObj,o);while(n.dummy){if(i=r.successors(t)[0],r.removeNode(t),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;t=i,n=r.node(t)}})}function ir(r){var t={};function n(o){var i=r.node(o);if(Object.prototype.hasOwnProperty.call(t,o))return i.rank;t[o]=!0;var s=B(E(r.outEdges(o),function(u){return n(u.w)-r.edge(u).minlen}));if(s===Number.POSITIVE_INFINITY||s===void 0||s===null)s=0;return i.rank=s}f(r.sources(),n)}function U(r,t){return r.node(t.w).rank-r.node(t.v).rank-r.edge(t).minlen}function Nr(r){var t=new te({directed:!1}),n=r.nodes()[0],o=r.nodeCount();t.setNode(n,{});var i,s;while(ds(t,r)<o)i=cs(t,r),s=t.hasNode(i.v)?U(r,i):-U(r,i),ps(t,r,s);return t}function ds(r,t){function n(o){f(t.nodeEdges(o),function(i){var s=i.v,u=o===s?i.w:s;if(!r.hasNode(u)&&!U(t,i))r.setNode(u,{}),r.setEdge(o,u,{}),n(u)})}return f(r.nodes(),n),r.nodeCount()}function cs(r,t){return J(t.edges(),function(n){if(r.hasNode(n.v)!==r.hasNode(n.w))return U(t,n)})}function ps(r,t,n){f(r.nodes(),function(o){t.node(o).rank+=n})}var dh=ot(1);var vh=ot(1);Vr.CycleException=ar;function Vr(r){var t={},n={},o=[];function i(s){if(Object.prototype.hasOwnProperty.call(n,s))throw new ar;if(!Object.prototype.hasOwnProperty.call(t,s))n[s]=!0,t[s]=!0,f(r.predecessors(s),i),delete n[s],o.push(s)}if(f(r.sinks(),i),qt(t)!==r.nodeCount())throw new ar;return o}function ar(){}ar.prototype=Error();function Pr(r,t,n){if(!H(t))t=[t];var o=(r.isDirected()?r.successors:r.neighbors).bind(r),i=[],s={};return f(t,function(u){if(!r.hasNode(u))throw Error("Graph does not have node: "+u);Ln(r,u,n==="post",s,o,i)}),i}function Ln(r,t,n,o,i,s){if(!Object.prototype.hasOwnProperty.call(o,t)){if(o[t]=!0,!n)s.push(t);if(f(i(t),function(u){Ln(r,u,n,o,i,s)}),n)s.push(t)}}function Yr(r,t){return Pr(r,t,"post")}function zr(r,t){return Pr(r,t,"pre")}G.initLowLimValues=qr;G.initCutValues=Wr;G.calcCutValue=Nn;G.leaveEdge=An;G.enterEdge=Rn;G.exchangeEdges=Mn;function G(r){r=an(r),ir(r);var t=Nr(r);qr(t),Wr(t,r);var n,o;while(n=An(t))o=Rn(t,r,n),Mn(t,r,n,o)}function Wr(r,t){var n=Yr(r,r.nodes());n=n.slice(0,n.length-1),f(n,function(o){vs(r,t,o)})}function vs(r,t,n){var o=r.node(n),i=o.parent;r.edge(n,i).cutvalue=Nn(r,t,n)}function Nn(r,t,n){var o=r.node(n),i=o.parent,s=!0,u=t.edge(n,i),d=0;if(!u)s=!1,u=t.edge(i,n);return d=u.weight,f(t.nodeEdges(n),function(c){var p=c.v===n,m=p?c.w:c.v;if(m!==i){var h=p===s,g=t.edge(c).weight;if(d+=h?g:-g,ys(r,n,m)){var b=r.edge(n,m).cutvalue;d+=h?-b:b}}}),d}function qr(r,t){if(arguments.length<2)t=r.nodes()[0];Pn(r,{},1,t)}function Pn(r,t,n,o,i){var s=n,u=r.node(o);if(t[o]=!0,f(r.neighbors(o),function(d){if(!Object.prototype.hasOwnProperty.call(t,d))n=Pn(r,t,n,d,o)}),u.low=s,u.lim=n++,i)u.parent=i;else delete u.parent;return n}function An(r){return nr(r.edges(),function(t){return r.edge(t).cutvalue<0})}function Rn(r,t,n){var{v:o,w:i}=n;if(!t.hasEdge(o,i))o=n.w,i=n.v;var s=r.node(o),u=r.node(i),d=s,c=!1;if(s.lim>u.lim)d=u,c=!0;var p=Je(t.edges(),function(m){return c===In(r,r.node(m.v),d)&&c!==In(r,r.node(m.w),d)});return J(p,function(m){return U(t,m)})}function Mn(r,t,n,o){var{v:i,w:s}=n;r.removeEdge(i,s),r.setEdge(o.v,o.w,{}),qr(r),Wr(r,t),bs(r,t)}function bs(r,t){var n=nr(r.nodes(),function(i){return!t.node(i).parent}),o=zr(r,n);o=o.slice(1),f(o,function(i){var s=r.node(i).parent,u=t.edge(i,s),d=!1;if(!u)u=t.edge(s,i),d=!0;t.node(i).rank=t.node(s).rank+(d?u.minlen:-u.minlen)})}function ys(r,t,n){return r.hasEdge(t,n)}function In(r,t,n){return n.low<=t.lim&&t.lim<=n.lim}function Hr(r){switch(r.graph().ranker){case"network-simplex":jn(r);break;case"tight-tree":_s(r);break;case"longest-path":ws(r);break;default:jn(r)}}var ws=ir;function _s(r){ir(r),Nr(r)}function jn(r){G(r)}function Bn(r){var t=T(r,"root",{},"_root"),n=Es(r),o=S(mt(n))-1,i=2*o+1;r.graph().nestingRoot=t,f(r.edges(),function(u){r.edge(u).minlen*=i});var s=xs(r)+1;f(r.children(),function(u){Dn(r,t,i,s,o,n,u)}),r.graph().nodeRankFactor=i}function Dn(r,t,n,o,i,s,u){var d=r.children(u);if(!d.length){if(u!==t)r.setEdge(t,u,{weight:0,minlen:n});return}var c=Dr(r,"_bt"),p=Dr(r,"_bb"),m=r.node(u);if(r.setParent(c,u),m.borderTop=c,r.setParent(p,u),m.borderBottom=p,f(d,function(h){Dn(r,t,n,o,i,s,h);var g=r.node(h),b=g.borderTop?g.borderTop:h,w=g.borderBottom?g.borderBottom:h,y=g.borderTop?o:2*o,v=b!==w?1:i-s[u]+1;r.setEdge(c,b,{weight:y,minlen:v,nestingEdge:!0}),r.setEdge(w,p,{weight:y,minlen:v,nestingEdge:!0})}),!r.parent(u))r.setEdge(t,c,{weight:0,minlen:i+s[u]})}function Es(r){var t={};function n(o,i){var s=r.children(o);if(s&&s.length)f(s,function(u){n(u,i+1)});t[o]=i}return f(r.children(),function(o){n(o,1)}),t}function xs(r){return Kt(r.edges(),function(t,n){return t+r.edge(n).weight},0)}function Gn(r){var t=r.graph();r.removeNode(t.nestingRoot),delete t.nestingRoot,f(r.edges(),function(n){var o=r.edge(n);if(o.nestingEdge)r.removeEdge(n)})}function Xn(r,t,n){var o={},i;f(n,function(s){var u=r.parent(s),d,c;while(u){if(d=r.parent(u),d)c=o[d],o[d]=u;else c=i,i=u;if(c&&c!==u){t.setEdge(c,u);return}u=d}})}function Un(r,t,n){var o=Ls(r),i=new te({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(function(s){return r.node(s)});return f(r.nodes(),function(s){var u=r.node(s),d=r.parent(s);if(u.rank===t||u.minRank<=t&&t<=u.maxRank){if(i.setNode(s),i.setParent(s,d||o),f(r[n](s),function(c){var p=c.v===s?c.w:c.v,m=i.edge(p,s),h=!we(m)?m.weight:0;i.setEdge(p,s,{weight:r.edge(c).weight+h})}),Object.prototype.hasOwnProperty.call(u,"minRank"))i.setNode(s,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]})}}),i}function Ls(r){var t;while(r.hasNode(t=Q("_root")));return t}function Vn(r,t){var n=0;for(var o=1;o<t.length;++o)n+=Is(r,t[o-1],t[o]);return n}function Is(r,t,n){var o=Ar(n,E(n,function(p,m){return m})),i=N(E(t,function(p){return A(E(r.outEdges(p),function(m){return{pos:o[m.w],weight:r.edge(m).weight}}),"pos")})),s=1;while(s<n.length)s<<=1;var u=2*s-1;s-=1;var d=E(Array(u),function(){return 0}),c=0;return f(i.forEach(function(p){var m=p.pos+s;d[m]+=p.weight;var h=0;while(m>0){if(m%2)h+=d[m+1];m=m-1>>1,d[m]+=p.weight}c+=p.weight*h})),c}function Yn(r){var t={},n=Je(r.nodes(),function(d){return!r.children(d).length}),o=S(E(n,function(d){return r.node(d).rank})),i=E(P(o+1),function(){return[]});function s(d){if(Lr(t,d))return;t[d]=!0;var c=r.node(d);i[c.rank].push(d),f(r.successors(d),s)}var u=A(n,function(d){return r.node(d).rank});return f(u,s),i}function zn(r,t){return E(t,function(n){var o=r.inEdges(n);if(!o.length)return{v:n};else{var i=Kt(o,function(s,u){var d=r.edge(u),c=r.node(u.v);return{sum:s.sum+d.weight*c.order,weight:s.weight+d.weight}},{sum:0,weight:0});return{v:n,barycenter:i.sum/i.weight,weight:i.weight}}})}function Wn(r,t){var n={};f(r,function(i,s){var u=n[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:s};if(!we(i.barycenter))u.barycenter=i.barycenter,u.weight=i.weight}),f(t.edges(),function(i){var s=n[i.v],u=n[i.w];if(!we(s)&&!we(u))u.indegree++,s.out.push(n[i.w])});var o=Je(n,function(i){return!i.indegree});return Ss(o)}function Ss(r){var t=[];function n(s){return function(u){if(u.merged)return;if(we(u.barycenter)||we(s.barycenter)||u.barycenter>=s.barycenter)Ns(s,u)}}function o(s){return function(u){if(u.in.push(s),--u.indegree===0)r.push(u)}}while(r.length){var i=r.pop();t.push(i),f(i.in.reverse(),n(i)),f(i.out,o(i))}return E(Je(t,function(s){return!s.merged}),function(s){return Z(s,["vs","i","barycenter","weight"])})}function Ns(r,t){var n=0,o=0;if(r.weight)n+=r.barycenter*r.weight,o+=r.weight;if(t.weight)n+=t.barycenter*t.weight,o+=t.weight;r.vs=t.vs.concat(r.vs),r.barycenter=n/o,r.weight=o,r.i=Math.min(t.i,r.i),t.merged=!0}function Hn(r,t){var n=un(r,function(m){return Object.prototype.hasOwnProperty.call(m,"barycenter")}),o=n.lhs,i=A(n.rhs,function(m){return-m.i}),s=[],u=0,d=0,c=0;o.sort(Ps(!!t)),c=qn(s,i,c),f(o,function(m){c+=m.vs.length,s.push(m.vs),u+=m.barycenter*m.weight,d+=m.weight,c=qn(s,i,c)});var p={vs:N(s)};if(d)p.barycenter=u/d,p.weight=d;return p}function qn(r,t,n){var o;while(t.length&&(o=X(t)).i<=n)t.pop(),r.push(o.vs),n++;return n}function Ps(r){return function(t,n){if(t.barycenter<n.barycenter)return-1;else if(t.barycenter>n.barycenter)return 1;return!r?t.i-n.i:n.i-t.i}}function Kr(r,t,n,o){var i=r.children(t),s=r.node(t),u=s?s.borderLeft:void 0,d=s?s.borderRight:void 0,c={};if(u)i=Je(i,function(w){return w!==u&&w!==d});var p=zn(r,i);f(p,function(w){if(r.children(w.v).length){var y=Kr(r,w.v,n,o);if(c[w.v]=y,Object.prototype.hasOwnProperty.call(y,"barycenter"))Ts(w,y)}});var m=Wn(p,n);ks(m,c);var h=Hn(m,o);if(u){if(h.vs=N([u,h.vs,d]),r.predecessors(u).length){var g=r.node(r.predecessors(u)[0]),b=r.node(r.predecessors(d)[0]);if(!Object.prototype.hasOwnProperty.call(h,"barycenter"))h.barycenter=0,h.weight=0;h.barycenter=(h.barycenter*h.weight+g.order+b.order)/(h.weight+2),h.weight+=2}}return h}function ks(r,t){f(r,function(n){n.vs=N(n.vs.map(function(o){if(t[o])return t[o].vs;return o}))})}function Ts(r,t){if(!we(r.barycenter))r.barycenter=(r.barycenter*r.weight+t.barycenter*t.weight)/(r.weight+t.weight),r.weight+=t.weight;else r.barycenter=t.barycenter,r.weight=t.weight}function $n(r){var t=Fr(r),n=Kn(r,P(1,t+1),"inEdges"),o=Kn(r,P(t-1,-1,-1),"outEdges"),i=Yn(r);Jn(r,i);var s=Number.POSITIVE_INFINITY,u;for(var d=0,c=0;c<4;++d,++c){Cs(d%2?n:o,d%4>=2),i=D(r);var p=Vn(r,i);if(p<s)c=0,u=Ze(i),s=p}Jn(r,u)}function Kn(r,t,n){return E(t,function(o){return Un(r,o,n)})}function Cs(r,t){var n=new te;f(r,function(o){var i=o.graph().root,s=Kr(o,i,n,t);f(s.vs,function(u,d){o.node(u).order=d}),Xn(o,n,s.vs)})}function Jn(r,t){f(t,function(n){f(n,function(o,i){r.node(o).order=i})})}function Qn(r){var t=Rs(r);f(r.graph().dummyChains,function(n){var o=r.node(n),i=o.edgeObj,s=As(r,t,i.v,i.w),{path:u,lca:d}=s,c=0,p=u[c],m=!0;while(n!==i.w){if(o=r.node(n),m){while((p=u[c])!==d&&r.node(p).maxRank<o.rank)c++;if(p===d)m=!1}if(!m){while(c<u.length-1&&r.node(p=u[c+1]).minRank<=o.rank)c++;p=u[c]}r.setParent(n,p),n=r.successors(n)[0]}})}function As(r,t,n,o){var i=[],s=[],u=Math.min(t[n].low,t[o].low),d=Math.max(t[n].lim,t[o].lim),c,p;c=n;do c=r.parent(c),i.push(c);while(c&&(t[c].low>u||d>t[c].lim));p=c,c=o;while((c=r.parent(c))!==p)s.push(c);return{path:i.concat(s.reverse()),lca:p}}function Rs(r){var t={},n=0;function o(i){var s=n;f(r.children(i),o),t[i]={low:s,lim:n++}}return f(r.children(),o),t}function Ms(r,t){var n={};function o(i,s){var u=0,d=0,c=i.length,p=X(s);return f(s,function(m,h){var g=Bs(r,m),b=g?r.node(g).order:c;if(g||m===p)f(s.slice(d,h+1),function(w){f(r.predecessors(w),function(y){var v=r.node(y),_=v.order;if((_<u||b<_)&&!(v.dummy&&r.node(w).dummy))ro(n,y,w)})}),d=h+1,u=b}),s}return Kt(t,o),n}function js(r,t){var n={};function o(s,u,d,c,p){var m;f(P(u,d),function(h){if(m=s[h],r.node(m).dummy)f(r.predecessors(m),function(g){var b=r.node(g);if(b.dummy&&(b.order<c||b.order>p))ro(n,g,m)})})}function i(s,u){var d=-1,c,p=0;return f(u,function(m,h){if(r.node(m).dummy==="border"){var g=r.predecessors(m);if(g.length)c=r.node(g[0]).order,o(u,p,h,d,c),p=h,d=c}o(u,p,u.length,c,s.length)}),u}return Kt(t,i),n}function Bs(r,t){if(r.node(t).dummy)return nr(r.predecessors(t),function(n){return r.node(n).dummy})}function ro(r,t,n){if(t>n){var o=t;t=n,n=o}if(!Object.prototype.hasOwnProperty.call(r,t))Object.defineProperty(r,t,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=r[t];Object.defineProperty(i,n,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function Ds(r,t,n){if(t>n){var o=t;t=n,n=o}return!!r[t]&&Object.prototype.hasOwnProperty.call(r[t],n)}function Fs(r,t,n,o){var i={},s={},u={};return f(t,function(d){f(d,function(c,p){i[c]=c,s[c]=c,u[c]=p})}),f(t,function(d){var c=-1;f(d,function(p){var m=o(p);if(m.length){m=A(m,function(y){return u[y]});var h=(m.length-1)/2;for(var g=Math.floor(h),b=Math.ceil(h);g<=b;++g){var w=m[g];if(s[p]===p&&c<u[w]&&!Ds(n,p,w))s[w]=p,s[p]=i[p]=i[w],c=u[w]}}})}),{root:i,align:s}}function Gs(r,t,n,o,i){var s={},u=Xs(r,t,n,i),d=i?"borderLeft":"borderRight";function c(h,g){var b=u.nodes(),w=b.pop(),y={};while(w){if(y[w])h(w);else y[w]=!0,b.push(w),b=b.concat(g(w));w=b.pop()}}function p(h){s[h]=u.inEdges(h).reduce(function(g,b){return Math.max(g,s[b.v]+u.edge(b))},0)}function m(h){var g=u.outEdges(h).reduce(function(w,y){return Math.min(w,s[y.w]-u.edge(y))},Number.POSITIVE_INFINITY),b=r.node(h);if(g!==Number.POSITIVE_INFINITY&&b.borderType!==d)s[h]=Math.max(s[h],g)}return c(p,u.predecessors.bind(u)),c(m,u.successors.bind(u)),f(o,function(h){s[h]=s[n[h]]}),s}function Xs(r,t,n,o){var i=new te,s=r.graph(),u=zs(s.nodesep,s.edgesep,o);return f(t,function(d){var c;f(d,function(p){var m=n[p];if(i.setNode(m),c){var h=n[c],g=i.edge(h,m);i.setEdge(h,m,Math.max(u(r,p,c),g||0))}c=p})}),i}function Us(r,t){return J(mt(t),function(n){var{NEGATIVE_INFINITY:o,POSITIVE_INFINITY:i}=Number;return ct(n,function(s,u){var d=Ws(r,u)/2;o=Math.max(s+d,o),i=Math.min(s-d,i)}),o-i})}function Vs(r,t){var n=mt(t),o=B(n),i=S(n);f(["u","d"],function(s){f(["l","r"],function(u){var d=s+u,c=r[d],p;if(c===t)return;var m=mt(c);if(p=u==="l"?o-B(m):i-S(m),p)r[d]=q(c,function(h){return h+p})})})}function Ys(r,t){return q(r.ul,function(n,o){if(t)return r[t.toLowerCase()][o];else{var i=A(E(r,o));return(i[1]+i[2])/2}})}function no(r){var t=D(r),n=or(Ms(r,t),js(r,t)),o={},i;f(["u","d"],function(u){i=u==="u"?t:mt(t).reverse(),f(["l","r"],function(d){if(d==="r")i=E(i,function(h){return mt(h).reverse()});var c=(u==="u"?r.predecessors:r.successors).bind(r),p=Fs(r,i,n,c),m=Gs(r,i,p.root,p.align,d==="r");if(d==="r")m=q(m,function(h){return-h});o[u+d]=m})});var s=Us(r,o);return Vs(o,s),Ys(o,r.graph().align)}function zs(r,t,n){return function(o,i,s){var u=o.node(i),d=o.node(s),c=0,p;if(c+=u.width/2,Object.prototype.hasOwnProperty.call(u,"labelpos"))switch(u.labelpos.toLowerCase()){case"l":p=-u.width/2;break;case"r":p=u.width/2;break}if(p)c+=n?p:-p;if(p=0,c+=(u.dummy?t:r)/2,c+=(d.dummy?t:r)/2,c+=d.width/2,Object.prototype.hasOwnProperty.call(d,"labelpos"))switch(d.labelpos.toLowerCase()){case"l":p=d.width/2;break;case"r":p=-d.width/2;break}if(p)c+=n?p:-p;return p=0,c}}function Ws(r,t){return r.node(t).width}function oo(r){r=Sr(r),qs(r),lt(no(r),function(t,n){r.node(n).x=t})}function qs(r){var t=D(r),n=r.graph().ranksep,o=0;f(t,function(i){var s=S(E(i,function(u){return r.node(u).height}));f(i,function(u){r.node(u).y=o+s/2}),o+=s+n})}function $r(r,t){var n=t&&t.debugTiming?dn:cn;n("layout",()=>{var o=n(" buildLayoutGraph",()=>ou(r));n(" runLayout",()=>Hs(o,n)),n(" updateInputGraph",()=>Ks(r,o))})}function Hs(r,t){t(" makeSpaceForEdgeLabels",()=>iu(r)),t(" removeSelfEdges",()=>mu(r)),t(" acyclic",()=>rn(r)),t(" nestingGraph.run",()=>Bn(r)),t(" rank",()=>Hr(Sr(r))),t(" injectEdgeLabelProxies",()=>au(r)),t(" removeEmptyRanks",()=>sn(r)),t(" nestingGraph.cleanup",()=>Gn(r)),t(" normalizeRanks",()=>fn(r)),t(" assignRankMinMax",()=>fu(r)),t(" removeEdgeLabelProxies",()=>su(r)),t(" normalize.run",()=>yn(r)),t(" parentDummyChains",()=>Qn(r)),t(" addBorderSegments",()=>ln(r)),t(" order",()=>$n(r)),t(" insertSelfEdges",()=>hu(r)),t(" adjustCoordinateSystem",()=>hn(r)),t(" position",()=>oo(r)),t(" positionSelfEdges",()=>gu(r)),t(" removeBorderNodes",()=>lu(r)),t(" normalize.undo",()=>En(r)),t(" fixupEdgeLabelCoords",()=>cu(r)),t(" undoCoordinateSystem",()=>gn(r)),t(" translateGraph",()=>uu(r)),t(" assignNodeIntersects",()=>du(r)),t(" reversePoints",()=>pu(r)),t(" acyclic.undo",()=>en(r))}function Ks(r,t){f(r.nodes(),function(n){var o=r.node(n),i=t.node(n);if(o){if(o.x=i.x,o.y=i.y,t.children(n).length)o.width=i.width,o.height=i.height}}),f(r.edges(),function(n){var o=r.edge(n),i=t.edge(n);if(o.points=i.points,Object.prototype.hasOwnProperty.call(i,"x"))o.x=i.x,o.y=i.y}),r.graph().width=t.graph().width,r.graph().height=t.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 t=new te({multigraph:!0,compound:!0}),n=Zr(r.graph());return t.setGraph(or({},Zs,Jr(n,Js),Z(n,$s))),f(r.nodes(),function(o){var i=Zr(r.node(o));t.setNode(o,et(Jr(i,Qs),ru)),t.setParent(o,r.parent(o))}),f(r.edges(),function(o){var i=Zr(r.edge(o));t.setEdge(o,or({},tu,Jr(i,eu),Z(i,nu)))}),t}function iu(r){var t=r.graph();t.ranksep/=2,f(r.edges(),function(n){var o=r.edge(n);if(o.minlen*=2,o.labelpos.toLowerCase()!=="c")if(t.rankdir==="TB"||t.rankdir==="BT")o.width+=o.labeloffset;else o.height+=o.labeloffset})}function au(r){f(r.edges(),function(t){var n=r.edge(t);if(n.width&&n.height){var o=r.node(t.v),i=r.node(t.w),s={rank:(i.rank-o.rank)/2+o.rank,e:t};T(r,"edge-proxy",s,"_ep")}})}function fu(r){var t=0;f(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,t=S(t,o.maxRank)}),r.graph().maxRank=t}function su(r){f(r.nodes(),function(t){var n=r.node(t);if(n.dummy==="edge-proxy")r.edge(n.e).labelRank=n.rank,r.removeNode(t)})}function uu(r){var t=Number.POSITIVE_INFINITY,n=0,o=Number.POSITIVE_INFINITY,i=0,s=r.graph(),u=s.marginx||0,d=s.marginy||0;function c(p){var{x:m,y:h,width:g,height:b}=p;t=Math.min(t,m-g/2),n=Math.max(n,m+g/2),o=Math.min(o,h-b/2),i=Math.max(i,h+b/2)}f(r.nodes(),function(p){c(r.node(p))}),f(r.edges(),function(p){var m=r.edge(p);if(Object.prototype.hasOwnProperty.call(m,"x"))c(m)}),t-=u,o-=d,f(r.nodes(),function(p){var m=r.node(p);m.x-=t,m.y-=o}),f(r.edges(),function(p){var m=r.edge(p);if(f(m.points,function(h){h.x-=t,h.y-=o}),Object.prototype.hasOwnProperty.call(m,"x"))m.x-=t;if(Object.prototype.hasOwnProperty.call(m,"y"))m.y-=o}),s.width=n-t+u,s.height=i-o+d}function du(r){f(r.edges(),function(t){var n=r.edge(t),o=r.node(t.v),i=r.node(t.w),s,u;if(!n.points)n.points=[],s=i,u=o;else s=n.points[0],u=n.points[n.points.length-1];n.points.unshift(Br(o,s)),n.points.push(Br(i,u))})}function cu(r){f(r.edges(),function(t){var n=r.edge(t);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){f(r.edges(),function(t){var n=r.edge(t);if(n.reversed)n.points.reverse()})}function lu(r){f(r.nodes(),function(t){if(r.children(t).length){var n=r.node(t),o=r.node(n.borderTop),i=r.node(n.borderBottom),s=r.node(X(n.borderLeft)),u=r.node(X(n.borderRight));n.width=Math.abs(u.x-s.x),n.height=Math.abs(i.y-o.y),n.x=s.x+n.width/2,n.y=o.y+n.height/2}}),f(r.nodes(),function(t){if(r.node(t).dummy==="border")r.removeNode(t)})}function mu(r){f(r.edges(),function(t){if(t.v===t.w){var n=r.node(t.v);if(!n.selfEdges)n.selfEdges=[];n.selfEdges.push({e:t,label:r.edge(t)}),r.removeEdge(t)}})}function hu(r){var t=D(r);f(t,function(n){var o=0;f(n,function(i,s){var u=r.node(i);u.order=s+o,f(u.selfEdges,function(d){T(r,"selfedge",{width:d.label.width,height:d.label.height,rank:u.rank,order:s+ ++o,e:d.e,label:d.label},"_se")}),delete u.selfEdges})})}function gu(r){f(r.nodes(),function(t){var n=r.node(t);if(n.dummy==="selfedge"){var o=r.node(n.e.v),i=o.x+o.width/2,s=o.y,u=n.x-i,d=o.height/2;r.setEdge(n.e,n.label),r.removeNode(t),n.label.points=[{x:i+2*u/3,y:s-d},{x:i+5*u/6,y:s-d},{x:i+u,y:s},{x:i+5*u/6,y:s+d},{x:i+2*u/3,y:s+d}],n.label.x=n.x,n.label.y=n.y}})}function Jr(r,t){return q(Z(r,t),Number)}function Zr(r){var t={};return f(r,function(n,o){t[o.toLowerCase()]=n}),t}var io=e((r,t,n)=>Math.max(t,Math.min(n,r)),"clamp"),ao=e((r="TB")=>{switch(r){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";case"TB":default:return"top"}},"getDefaultSelfLoopSide"),vu=e((r)=>r==="flowchart"||r==="flowchart-v2"||r==="stateDiagram"||r==="er"||r==="classDiagram","shouldMergeSelfLoopSegments"),bu=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],yu=e((r,t,n,o,i)=>{let s=[],u=new Set;if(n.forEach(({start:m,end:h})=>{if(m!==o)u.add(m);if(h!==o)u.add(h)}),u.forEach((m)=>{let h=r.node(m);if(typeof h?.x==="number"&&typeof h?.y==="number")s.push(h)}),s.length===0)n.forEach(({edge:m})=>{(m.points??[]).forEach((h)=>{if(typeof h?.x==="number"&&typeof h?.y==="number")s.push(h)})});if(s.length===0)return ao(i);let d=s.reduce((m,h)=>({x:m.x+h.x/s.length,y:m.y+h.y/s.length}),{x:0,y:0}),c=d.x-t.x,p=d.y-t.y;if(Math.abs(c)>Math.abs(p))return c>0?"right":"left";if(Math.abs(p)>0)return p>0?"bottom":"top";return ao(i)},"getSelfLoopSide"),wu=e((r,t="top",n=0,o=0)=>{let i=r.x,s=r.y-n,u=r.width/2,d=r.height/2,c=Math.max(36,Math.min(100,r.width*0.8)),p=io(Math.max(o,r.width*0.35),36,c),m=io(Math.min(r.width,r.height)*0.45,24,48);switch(t){case"bottom":{let h=s+d;return[{x:i-p/2,y:h},{x:i-p/2,y:h+m},{x:i+p/2,y:h+m},{x:i+p/2,y:h}]}case"right":{let h=i+u;return[{x:h,y:s-p/2},{x:h+m,y:s-p/2},{x:h+m,y:s+p/2},{x:h,y:s+p/2}]}case"left":{let h=i-u;return[{x:h,y:s-p/2},{x:h-m,y:s-p/2},{x:h-m,y:s+p/2},{x:h,y:s+p/2}]}case"top":default:{let h=s-d;return[{x:i-p/2,y:h},{x:i-p/2,y:h-m},{x:i+p/2,y:h-m},{x:i+p/2,y:h}]}}},"getSelfLoopPoints"),_u=e((r,t,n="top",o=0,i={})=>{let u=r.x,d=r.y-o,c=i.width??0,p=i.height??0;switch(n){case"bottom":return{x:u,y:Math.max(...t.map((m)=>m.y))+p/2+4};case"right":return{x:Math.max(...t.map((m)=>m.x))+c/2+4,y:d};case"left":return{x:Math.min(...t.map((m)=>m.x))-c/2-4,y:d};case"top":default:return{x:u,y:Math.min(...t.map((m)=>m.y))-p/2-4}}},"getSelfLoopLabelPosition"),Qi=e((r,t=0,{mergeSelfLoops:n=!0}={})=>{let o=new Map,i=[],s=r.graph()?.rankdir;return r.edges().forEach((u)=>{let d=r.edge(u);if(n&&d.selfLoop){let c=d.selfLoop.id;if(!o.has(c))o.set(c,[]);o.get(c).push({edge:d,start:u.v,end:u.w})}else i.push({edge:d,start:u.v,end:u.w})}),o.forEach((u)=>{if(u.length!==3){u.forEach((_)=>i.push(_));return}u.sort((_,R)=>_.edge.selfLoop.order-R.edge.selfLoop.order);let[d,c,p]=u,m=d.edge.originalEdge??c.edge.originalEdge??p.edge.originalEdge??c.edge,h=r.node(m.start);if(!h){u.forEach((_)=>i.push(_));return}let g={width:c.edge.width,height:c.edge.height},b=yu(r,h,u,m.start,s),w=wu(h,b,t,g.width??0),y=_u(h,w,b,t,g),v={...c.edge,...m,id:m.id,points:w,start:m.start,end:m.end,x:y.x,y:y.y,width:g.width,height:g.height,labelStyle:c.edge.labelStyle,fromCluster:d.edge.fromCluster??c.edge.fromCluster??p.edge.fromCluster,toCluster:d.edge.toCluster??c.edge.toCluster??p.edge.toCluster};delete v.selfLoop,delete v.originalEdge,i.push({edge:v,start:v.start,end:v.end})}),i},"getEdgesToRender"),so=e(async({element:r,graph:t,diagramType:n,id:o,parentCluster:i,siteConfig:s})=>{let u=t.graph().rankdir;a.trace("Dir in recursive render - dir:",u);let{clusters:d,edgePaths:c,edgeLabels:p,nodes:m,rootGroups:h}=la(r,{edgePathsClass:"edgePaths"});if(!t.nodes())a.info("No nodes found for",t);else a.info("Recursive render XXX",t.nodes());if(t.edges().length>0)a.info("Recursive edges",t.edge(t.edges()[0]));let g=vu(n);await Promise.all(t.nodes().map(async function(y){let v=t.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),t.setNode(i.id,_),!t.parent(y))a.trace("Setting parent",y,i.id),t.setParent(y,i.id,_)}if(a.info("(Insert) Node XXX"+y+": "+JSON.stringify(t.node(y))),v?.clusterNode){a.info("Cluster identified XBX",y,v.width,t.node(y));let{ranksep:_,nodesep:R}=t.graph();v.graph.setGraph({...v.graph.graph(),ranksep:_+25,nodesep:R});let Qr=await Lu({element:m,graph:v.graph,diagramType:n,id:o,parentCluster:t.node(y),siteConfig:s}),re=Qr.elem;I(v,re),v.diff=Qr.diff||0,a.info("New compound node after recursive render XAX",y,"width",v.width,"height",v.height),go(re,v)}else if(t.children(y).length>0)a.trace("Cluster - the non recursive path XBX",y,v.id,v,v.width,"Graph:",t),a.trace(Fn(v.id,t)),W.set(v.id,{id:Fn(v.id,t),node:v});else a.trace("Node - the non recursive path XAX",y,m,t.node(y),u),await ca(m,t.node(y),{config:s,dir:u})})),await e(async()=>{let y=t.edges().map(async function(v){let _=t.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(t.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 At(p,R),_.width=R.width,_.height=R.height,_.labelStyle=R.labelStyle;return}await At(p,_)});await Promise.all(y)},"processEdges")();let{subGraphTitleTotalMargin:w}=Tt(s);return{elem:h,graph:t,groups:{clusters:d,edgePaths:c,edgeLabels:p,nodes:m,rootGroups:h},diagramType:n,id:o,mergeSelfLoops:g,subGraphTitleTotalMargin:w}},"measureDagreGraph"),uo=e((r)=>{a.info("############################################# XXX"),a.info("### Layout ### XXX"),a.info("############################################# XXX"),$r(r)},"runDagreGraphLayout"),Eu=e((r,t,n)=>{let o=r.node(t);if(!o)return;let i={...o};if(o?.clusterNode)i.y=(o.y??0)+n;else if(r.children(t).length>0)i.height=(o.height??0)+n;else i.y=(o.y??0)+n/2;return i},"normalizeDagreNode"),fo=e((r,t)=>{bu.forEach((n)=>{if(t[n]!==void 0)r[n]=t[n]})},"applyDagreNodeLayout"),xu=e((r,t,n,o)=>({...r,start:r.start??t,end:r.end??n,points:(r.points??[]).map((i)=>({...i,y:typeof i.y==="number"?i.y+o:i.y}))}),"normalizeDagreEdge"),So=e((r,t)=>{let{graph:n,mergeSelfLoops:o,subGraphTitleTotalMargin:i=0}=t,s=new Map(r.nodes.map((d)=>[d.id,d]));ua(n).forEach((d)=>{let c=Eu(n,d,i);if(!c)return;fo(n.node(d),c);let p=s.get(d);if(p)fo(p,c)});let u=i/2;return r.edges=Qi(n,u,{mergeSelfLoops:o}).map(({edge:d,start:c,end:p})=>xu(d,c,p,u)),r},"applyDagreLayoutResult"),Ou=e(async({elem:r,graph:t,groups:{clusters:n,edgePaths:o},diagramType:i,id:s,mergeSelfLoops:u,subGraphTitleTotalMargin:d})=>{let c=0;await Promise.all(ua(t).map(async function(h){let g=t.node(h);if(a.info("Position XBX => "+h+": ("+g.x,","+g.y,") width: ",g.width," height: ",g.height),g?.clusterNode)g.y+=d,a.info("A tainted cluster node XBX1",h,g.id,g.width,g.height,g.x,g.y,t.parent(h)),W.get(g.id).node=g,yt(g);else if(t.children(h).length>0){a.info("A pure cluster node XBX1",h,g.id,g.x,g.y,g.width,g.height,t.parent(h)),g.height+=d,t.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 tn(n,g),W.get(g.id).node=g}else{let b=t.node(g.parentId);g.y+=d/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),yt(g)}}));let p=d/2;return Qi(t,p,{mergeSelfLoops:u}).forEach(function({edge:h,start:g,end:b}){a.info("Edge "+g+" -> "+b+": "+JSON.stringify(h),h),h.points.forEach((_)=>_.y+=p);let w=t.node(g),y=t.node(b),v=nn(o,h,W,i,w,y,s);Zn(h,v)}),t.nodes().forEach(function(h){let g=t.node(h);if(a.info(h,g.type,g.diff),g.isGroup)c=g.diff}),a.warn("Returning from recursive render XAX",r,c),{elem:r,diff:c}},"paintDagreLayoutCore"),Lu=e(async(r)=>{let t=await so(r);return uo(t.graph),await Ou(t)},"renderDagreSubgraph"),Ji=e((r)=>{let t=new te({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(t.setNode(n.id,{...n}),n.parentId)t.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",s=o+"---"+o+"---2",u=t.node(o);t.setNode(i,{domId:i,id:i,parentId:u.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),t.setParent(i,u.parentId),t.setNode(s,{domId:s,id:s,parentId:u.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),t.setParent(s,u.parentId);let d=structuredClone(n),c=structuredClone(n),p=structuredClone(n),m=structuredClone(n);if(c.originalEdge=d,c.selfLoop={id:d.id,order:0},p.originalEdge=d,p.selfLoop={id:d.id,order:1},m.originalEdge=d,m.selfLoop={id:d.id,order:2},c.label="",c.arrowTypeEnd="none",c.endLabelLeft="",c.endLabelRight="",c.startLabelLeft="",c.id=o+"-cyclic-special-1",p.startLabelRight="",p.startLabelLeft="",p.endLabelLeft="",p.endLabelRight="",p.arrowTypeStart="none",p.arrowTypeEnd="none",p.id=o+"-cyclic-special-mid",m.label="",m.startLabelRight="",m.startLabelLeft="",m.arrowTypeStart="none",u.isGroup)c.fromCluster=o,m.toCluster=o;m.id=o+"-cyclic-special-2",m.arrowTypeStart="none",t.setEdge(o,i,c,o+"-cyclic-special-0"),t.setEdge(i,s,p,o+"-cyclic-special-1"),t.setEdge(s,o,m,o+"-cyclic-special-2")}else t.setEdge(n.start,n.end,{...n},n.id)}),to(t),{graph:t}},"prepareLayoutForDagre"),To=e(async(r,{element:t,preparedLayout:n})=>{let o=n??Ji(r),i=l(),s=await so({element:t,graph:o.graph,diagramType:r.type,id:r.diagramId,parentCluster:void 0,siteConfig:i});return o.measuredLayout=s,s},"measureDagreLayout"),Eo=e((r,t)=>{let n=t.preparedLayout?.measuredLayout;if(!n)throw Error("runDagreLayoutCore requires measureDagreLayout to run first");return uo(n.graph),So(r,n),n},"runDagreLayoutCore"),Iu=e((r,{measure:t})=>ua(t.graph).map((n)=>t.graph.node(n)).filter(Boolean),"getDagrePaintNodes"),Su=e((r,t,{measure:n})=>r?n.graph.node(r):void 0,"getDagreEdgeNode"),eo=cr({prepareLayout:Ji,measureLayout:To,runLayoutCore:Eo,paintOptions:{clusterDb:W,getNodes:Iu,getEdgeNode:Su,skipNode:e((r,{measure:t})=>!t.graph.hasNode(r.id),"skipNode"),isCluster:e((r,{measure:t})=>t.graph.hasNode(r.id)&&(t.graph.children(r.id)??[]).length>0,"isCluster")}});export{Qi,So,Ji,To,Eo,eo};
@@ -1 +0,0 @@
1
- import"./chunk-1s53190z.js";import"./chunk-tz4twwmw.js";import"./chunk-s2bs5vxh.js";import{eo}from"./chunk-89paytbk.js";export{eo as render};
@@ -1 +0,0 @@
1
- import{gi}from"./chunk-2cem4sv7.js";export{gi as createRadarServices};
@@ -1,2 +0,0 @@
1
- import{e,a,B}from"./chunk-1s53190z.js";var le=e((t,i,o,h)=>{t.attr("class",o);let{width:r,height:n,x:w,y:x}=u(t,i);B(t,n,r,h);let c=m(w,x,r,n,i);t.attr("viewBox",c),a.debug(`viewBox configured: ${c} with padding: ${i}`)},"setupViewPortForSVG"),u=e((t,i)=>{let o=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:o.width+i*2,height:o.height+i*2,x:o.x,y:o.y}},"calculateDimensionsWithPadding"),m=e((t,i,o,h,r)=>`${t-r} ${i-r} ${o} ${h}`,"createViewBox");
2
- export{le};
@@ -1 +0,0 @@
1
- import{Jn}from"./chunk-gyp6v7jd.js";export{Jn as default};
@@ -1 +0,0 @@
1
- import{Lt}from"./chunk-0whceqes.js";export{Lt as default};
@@ -1 +0,0 @@
1
- import{h,o,J,i,r,g,t,n,_,Vt,tr,Ue,Pn,De,mn,pe,re}from"./chunk-rddft5ce.js";var M=[{label:"每天 9:00",cron:"0 9 * * *"},{label:"每个工作日 9:00",cron:"0 9 * * 1-5"},{label:"每周一 9:00",cron:"0 9 * * 1"},{label:"每小时",cron:"0 * * * *"},{label:"每天 18:00",cron:"0 18 * * *"},{label:"每月 1 号 9:00",cron:"0 9 1 * *"}],ae=["日","一","二","三","四","五","六","日"],ie=(a)=>a.padStart(2,"0");function X(a){let p=M.find((I)=>I.cron===a.trim());if(p)return p.label;let N=a.trim().split(/\s+/);if(N.length!==5)return a;let[u="",y="",v="",D="",c=""]=N,C=(I)=>/^\d+$/.test(I);if(D!=="*")return a;if(C(u)&&y==="*"&&v==="*"&&c==="*")return`每小时第 ${u} 分`;let P=u.match(/^\*\/(\d+)$/);if(P&&y==="*"&&v==="*"&&c==="*")return`每 ${P[1]} 分钟`;if(!C(u)||!C(y))return a;let m=`${y}:${ie(u)}`;if(v==="*"&&c==="*")return`每天 ${m}`;if(v==="*"&&c==="1-5")return`每个工作日 ${m}`;if(v==="*"&&/^[0-7](,[0-7])*$/.test(c))return`每周${c.split(",").map((I)=>ae[Number(I)]).join("、")} ${m}`;if(C(v)&&c==="*")return`每月 ${v} 号 ${m}`;return a}function Z(a){let p=Date.now()-a,N=Math.floor(Math.abs(p)/1000);if(N<60)return"刚刚";let u=Math.floor(N/60);if(u<60)return`${u} 分钟${p>0?"前":"后"}`;let y=Math.floor(u/60);if(y<24)return`${y} 小时${p>0?"前":"后"}`;return`${Math.floor(y/24)} 天${p>0?"前":"后"}`}function he(a){let{Button:p,confirm:N,PageLayout:u,Switch:y,cn:v,style:D}=_(),{connection:c,onOpen:C}=a,[P,m]=r([]),[I,U]=r([]),[T,V]=r([]),[j,R]=r(),[B,W]=r([]),[F,K]=r(!0),[O,w]=r(),[z,L]=r(),[Y,A]=r(!1),[G,f]=r({}),s=i(0),q=h(async()=>{let e=++s.current;try{let[l,d,b,x]=await Promise.all([c.request("/api/automations"),c.request("/api/projects").catch(()=>[]),c.request("/api/info").catch(()=>{return}),c.request("/api/models").catch(()=>({models:[]}))]),oe=[...new Set(l.flatMap((S)=>S.lastSessionID?[S.lastSessionID]:[]))],se=(await Promise.all(oe.map(async(S)=>c.request(`/api/sessions/${encodeURIComponent(S)}`).catch((k)=>{if(k instanceof Error&&"status"in k&&k.status===404)return;throw k})))).filter((S)=>S!==void 0);if(e!==s.current)return;if(m(l.sort((S,k)=>S.created-k.created)),U(d),V(se),R(b),x?.models)W(x.models.map((S)=>S.id));w(void 0)}catch(l){if(e===s.current)w(l instanceof Error?l.message:"加载失败")}finally{if(e===s.current)K(!1)}},[c]);o(()=>(q(),()=>{s.current++}),[q]);let E=(e)=>{L(e),A(!0)},ee=async(e)=>{f((l)=>({...l,[e.id]:!0}));try{let l=await c.request(`/api/automations/${e.id}/run`,{method:"POST"});C(l.id)}catch(l){w(l instanceof Error?l.message:"运行失败")}finally{f((l)=>({...l,[e.id]:!1}))}},te=async(e)=>{if(!await N({title:`删除自动化「${e.name}」?`,description:"已经跑出来的会话会保留。",action:"删除",danger:!0}))return;try{await c.request(`/api/automations/${e.id}`,{method:"DELETE"}),m((d)=>d.filter((b)=>b.id!==e.id))}catch(d){w(d instanceof Error?d.message:"删除失败")}},ne=async(e,l)=>{try{let d=await c.request(`/api/automations/${e.id}`,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({enabled:l})});m((b)=>b.map((x)=>x.id===e.id?d:x))}catch(d){w(d instanceof Error?d.message:"状态切换失败")}};return n(u,{title:"自动化",description:n(g,{children:["到点自动开一个新会话执行提示词,跑完的结果在会话里查看。",j?.timezone&&n("span",{className:"text-faint",children:["按服务器时区 ",j.timezone,"。"]})]}),actions:n(p,{variant:"primary",onClick:()=>E(null),children:[t(pe,{className:"size-4"}),"新建"]}),children:[O&&t("div",{className:"mb-4 rounded-lg bg-danger/10 px-3 py-2 text-xs text-danger",children:O}),F?t("div",{className:"flex justify-center py-12 text-xs text-faint",children:"正在加载自动化…"}):P.length===0?n("div",{className:D("surface.emptyDashed","animate-fade"),children:[t("div",{className:"grid size-11 place-items-center rounded-xl bg-raised text-dim",children:t(Vt,{className:"size-5"})}),n("div",{children:[t("p",{className:"text-[15px] font-medium",children:"还没有自动化"}),t("p",{className:"mt-1 text-sm text-dim",children:"比如「每个工作日 9 点总结昨天的提交」。"})]}),n(p,{size:"sm",onClick:()=>E(null),className:"mt-1",children:[t(pe,{className:"size-3.5"}),"新建自动化"]})]}):t("ul",{className:"flex animate-fade flex-col gap-3",children:P.map((e)=>{let l=e.projectID?I.find((x)=>x.id===e.projectID):void 0,d=e.lastSessionID?T.find((x)=>x.id===e.lastSessionID):void 0,b=Boolean(G[e.id]);return t("li",{children:n("article",{className:D("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:v("min-w-0 flex-1 transition-opacity duration-200",!e.enabled&&"opacity-55"),children:[t("h2",{className:"truncate text-[15px] font-medium",children:e.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:[t(Vt,{}),X(e.schedule)]}),n("span",{className:"flex items-center gap-1.5 [&_svg]:size-3.5 [&_svg]:text-faint",children:[l?t(Ue,{}):t(Pn,{}),l?l.name:"聊天"]}),e.enabled&&e.nextRun!==null&&n("span",{className:"flex items-center gap-1.5 [&_svg]:size-3.5 [&_svg]:text-faint",children:[t(tr,{}),"下次 ",Z(e.nextRun)]})]})]}),t(y,{checked:e.enabled,label:e.enabled?"停用":"启用",onCheckedChange:(x)=>ne(e,x),className:"mt-0.5"})]}),t("p",{className:v("mt-3 line-clamp-2 text-sm leading-6 whitespace-pre-wrap text-faint transition-opacity duration-200",!e.enabled&&"opacity-55"),children:e.prompt}),n("div",{className:"mt-3 -mb-1 flex items-center gap-1",children:[n(p,{size:"sm",onClick:()=>ee(e),disabled:b,children:[t(mn,{className:"size-3.5"}),b?"正在启动…":"立即运行"]}),n(p,{size:"sm",variant:"ghost",onClick:()=>E(e),children:[t(De,{className:"size-3.5"}),"编辑"]}),n(p,{size:"sm",variant:"danger-ghost",onClick:()=>te(e),children:[t(re,{className:"size-3.5"}),"删除"]}),t("div",{className:"flex-1"}),e.lastRun!==null&&n("button",{type:"button",disabled:!d,onClick:()=>d&&C(d.id),className:"rounded-md px-1.5 py-1 text-[13px] text-faint transition-colors enabled:hover:bg-raised enabled:hover:text-ink",children:["上次运行 ",Z(e.lastRun),d?.archivedAt!=null?" · 已归档":"",!d?" · 会话已删除":""]})]})]})},e.id)})}),z!==void 0&&t(le,{open:Y,onOpenChange:A,automation:z??void 0,projects:I,models:B,timezone:j?.timezone,onSaved:(e)=>{m((l)=>{let d=l.findIndex((b)=>b.id===e.id);if(d>=0){let b=[...l];return b[d]=e,b}return[...l,e].sort((b,x)=>b.created-x.created)}),A(!1)},connection:c},z?.id??"new")]})}var H="custom",Q="chat";function le(a){let{Button:p,Dialog:N,Field:u,Form:y,FormError:v,Input:D,Select:c,Textarea:C}=_(),P=J(),m=a.automation,[I,U]=r(m?.name??""),[T,V]=r(m?.prompt??""),[j,R]=r(m?.schedule??M[0]?.cron??"0 9 * * *"),[B,W]=r(()=>!M.some((f)=>f.cron===j)),[F,K]=r(m?.projectID??Q),[O,w]=r(m?.model??""),[z,L]=r(!1),[Y,A]=r();async function G(f){f.preventDefault(),L(!0),A(void 0);try{let s=F===Q?void 0:F,q={name:I,prompt:T,schedule:j,model:O||void 0},E;if(m)E=await a.connection.request(`/api/automations/${m.id}`,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({...q,projectID:s??null})});else E=await a.connection.request("/api/automations",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({...q,projectID:s})});a.onSaved(E)}catch(s){A(s instanceof Error?s.message:"保存失败")}finally{L(!1)}}return t(N,{open:a.open,onOpenChange:a.onOpenChange,title:a.automation?"编辑自动化":"新建自动化",size:"lg",footer:n(g,{children:[t("div",{className:"flex-1 max-sm:hidden"}),t(p,{onClick:()=>a.onOpenChange(!1),children:"取消"}),t(p,{type:"submit",form:P,variant:"primary",disabled:z,children:z?"正在保存…":a.automation?"保存":"创建"})]}),children:n(y,{id:P,onSubmit:G,children:[t(u,{label:"名称",children:(f)=>t(D,{id:f,autoFocus:!m,required:!0,value:I,onChange:(s)=>U(s.target.value),placeholder:"例如:每日提交总结"})}),t(u,{label:"提示词",hint:"没人盯着运行,写清楚要做什么、结果怎么汇报。",children:(f)=>t(C,{id:f,required:!0,value:T,onChange:(s)=>V(s.target.value),rows:5,placeholder:"总结昨天到现在的 git 提交,按模块分组,列出需要我关注的改动。"})}),n("div",{className:"grid gap-x-3 gap-y-4 sm:grid-cols-2",children:[t(u,{label:"时间",children:(f)=>t(c,{id:f,value:B?H:j,onValueChange:(s)=>{if(W(s===H),s!==H)R(s)},groups:[{options:M.map((s)=>({value:s.cron,label:s.label}))},{options:[{value:H,label:"自定义(cron)"}]}]})}),t(u,{label:"在哪里运行",children:(f)=>t(c,{id:f,value:F,onValueChange:K,groups:[{options:[{value:Q,label:"聊天",description:"不绑定目录",icon:t(Pn,{})}]},...a.projects.length?[{label:"项目",options:a.projects.map((s)=>({value:s.id,label:s.name,icon:t(Ue,{})}))}]:[]]})})]}),B&&t(u,{label:"cron 表达式",hint:`分 时 日 月 周,例如 30 8 * * 1-5 是工作日 8:30。${a.timezone?`按 ${a.timezone} 时间。`:""}`,children:(f)=>t(D,{id:f,required:!0,value:j,onChange:(s)=>R(s.target.value),spellCheck:!1,className:"font-mono"})}),a.models.length>0&&t(u,{label:"模型",children:(f)=>t(c,{id:f,value:O||"default",onValueChange:(s)=>w(s==="default"?"":s),groups:[{options:[{value:"default",label:"默认模型"},...a.models.map((s)=>({value:s,label:s}))]}]})}),t(v,{children:Y})]})})}export{he as AutomationsPage};
@@ -1 +0,0 @@
1
- import{Ci}from"./chunk-2cem4sv7.js";export{Ci as createPieServices};
@@ -1 +0,0 @@
1
- import{e,a}from"./chunk-1s53190z.js";import{K,Dt,Mt}from"./chunk-2b63adsj.js";import{G}from"./chunk-14deqqhr.js";import{or,kt}from"./chunk-2cem4sv7.js";var l=or().RailroadAbnf.parser.LangiumParser,s=e((r)=>{let t=r.alternatives.map(p);if(t.length===1)return t[0];return{type:"choice",alternatives:t}},"transformAlternation"),p=e((r)=>{let t=r.elements.map(f);if(t.length===1)return t[0];return{type:"sequence",elements:t}},"transformConcatenation"),u=e((r)=>{if(r.includes("*")){let[n,o]=r.split("*"),i=n?parseInt(n,10):0,m=o?parseInt(o,10):1/0;return{min:i,max:m}}let t=parseInt(r,10);return{min:t,max:t}},"parseRepeat"),f=e((r)=>{let t=c(r.primary);if(!r.repeat)return t;let{min:n,max:o}=u(r.repeat);if(n===0&&o===1)return{type:"optional",element:t};return{type:"repetition",element:t,min:n,max:o}},"transformElement"),c=e((r)=>{switch(r.$type){case"AbnfStringLiteral":return{type:"terminal",value:r.value};case"AbnfNumVal":return{type:"terminal",value:r.value};case"AbnfRuleName":return{type:"nonterminal",name:r.name};case"AbnfGroup":return s(r.element);case"AbnfOptionalGroup":return{type:"optional",element:s(r.element)};default:throw Error(`Unsupported ABNF primary node: ${r.$type}`)}},"transformPrimary"),d=e((r)=>({name:r.name,definition:s(r.definition)}),"transformRule"),v=e((r)=>{if(G(r,K),r.title)K.setTitle(r.title);r.rules.map((t)=>K.addRule(d(t)))},"populateDb"),g={parse:e((r)=>{K.clear(),a.debug("[ABNF Parser] Starting Langium parse");let t=l.parse(r);if(t.lexerErrors.length>0||t.parserErrors.length>0)throw new kt(t);let n=t.value;a.debug("[ABNF Parser] Parsed rules:",n.rules.length),v(n),a.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:K}},E={parser:g,db:K,renderer:Mt,styles:Dt};export{E as diagram};
@@ -1,3 +0,0 @@
1
- import{G}from"./chunk-14deqqhr.js";import{e,a,D,b,O,C,S,E,T,A,R,L,l,kr,p,Nn,Xr,U}from"./chunk-1s53190z.js";import{Br,X}from"./chunk-2cem4sv7.js";var _="position frame",V="frame positioned",F="position relation",j="relation positioned",pe=e(function(t){a.debug("options str",t)},"setOptions"),ve=e(function(){return{}},"getOptions"),be=e(function(){Y(),C()},"clear");function Y(){M={}}e(Y,"reset");var we=D.eventmodeling,ye=e(()=>U({...we,...b().eventmodeling}),"getConfig"),M={};function z(){let t=Pe,{ast:i}=M,n=I();if(!i)throw Error("No data for EventModel");return i.frames.forEach((r,o)=>{let s=te(r,i.dataEntities,n);t=P(t,{$kind:_,index:o,frame:r,textProps:s});let c=void 0;if(se(r))a.debug("source frame",r.sourceFrames),c=i.frames.filter((m)=>r.sourceFrames.some((u)=>u.$refText===m.name)),c.forEach((m)=>{t=P(t,{$kind:F,index:o,frame:r,sourceFrame:m})});else t=P(t,{$kind:F,index:o,frame:r})}),t={...t,sortedSwimlanesArray:W(t.swimlanes)},t}e(z,"getState");function K(t){M.ast=void 0;let i=new Set;for(let n of t.frames){if(i.has(n.name)){let r=n.$cstNode?.range.start.line,o=r===void 0?"":` on line ${r+1}`;throw Error(`Duplicate event modeling frame ID "${n.name}"${o}`)}i.add(n.name)}M.ast=t}e(K,"setAst");var d={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function I(){return d}e(I,"getDiagramProps");var Pe={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function q(t){let i=t.split(".");if(i.length===2)return i[0];return}e(q,"extractNamespace");function J(t){let i=t.split(".");if(i.length===2)return i[1];return t}e(J,"extractName");function Q(t,i){if(!i||i.length===0)return;return Object.values(t).find((n)=>n.namespace===i)}e(Q,"findSwimlaneByNamespace");function y(t,i,n){return Math.max(i,...Object.keys(t).filter((r)=>{let o=Number.parseInt(r);return o>i&&o<n}).map((r)=>Number.parseInt(r)))+1}e(y,"findNextAvailableIndex");function Z(t,i){let n=q(t.entityIdentifier),r=Q(i,n);switch(t.modelEntityType){case"ui":case"pcr":case"processor":if(r)return{index:r.index,label:r.namespace||d.labelUiAutomation};else if(n)return{index:y(i,0,100),label:d.labelUiAutomationPrefix+n};return{index:0,label:d.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":if(r)return{index:r.index,label:r.namespace||d.labelCommandReadModel};else if(n)return{index:y(i,100,200),label:d.labelCommandReadModelPrefix+n};return{index:100,label:d.labelCommandReadModel};case"evt":case"event":default:if(r)return{index:r.index,label:r.namespace||d.labelEvents};else if(n)return{index:y(i,200,300),label:d.labelEventsPrefix+n};return{index:200,label:d.labelEvents}}}e(Z,"calculateSwimlaneProps");function ee(t){let{themeVariables:i}=b();switch(t.modelEntityType){case"ui":return{fill:i.emUiFill??"white",stroke:i.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:i.emProcessorFill??"#edb3f6",stroke:i.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:i.emReadModelFill??"#d3f1a2",stroke:i.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:i.emCommandFill??"#bcd6fe",stroke:i.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:i.emEventFill??"#ffb778",stroke:i.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}e(ee,"calculateEntityVisualProps");function te(t,i,n){let r=b(),o=O(J(t.entityIdentifier)??"",r),s,c={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"},u=`<b>${Nn(o,n.textMaxWidth,c)}</b>`;if(t.dataInlineValue)s=t.dataInlineValue,s=s.substring(s.indexOf("{")+1),s=s.substring(0,s.lastIndexOf("}")-1),s=O(s,r),s=Nn(s,n.textMaxWidth,c),s=s.replaceAll(" ","&nbsp;");if(t.dataReference){let w=i.find((k)=>k.name===t.dataReference?.$refText);if(w)s=w.dataBlockValue,s=s.substring(s.indexOf(`{
2
- `)+2),s=s.substring(0,s.lastIndexOf("}")-1),s=O(s,r),s=Nn(s,n.textMaxWidth,c),s=s.replaceAll(" ","&nbsp;"),s+="<br/>"}let x=s!==void 0;if(x)u+=`<br/><br/><code style="text-align: left; display: block;max-width:${n.textMaxWidth}px">${s}</code>`;let g={fontSize:c.fontSize,fontWeight:c.fontWeight,fontFamily:c.fontFamily},f=Xr(u,g),v=x?f.width/3:f.width,h={content:u,width:v,height:f.height};return a.debug(`[${t.name}] ${t.entityIdentifier} text`,h),h}e(te,"calculateTextProps");function ne(t,i){let n=i,r=ee(n.frame),o={width:n.textProps.width+2*d.boxTextPadding,height:n.textProps.height+2*d.boxTextPadding};return[{$kind:V,frame:n.frame,index:n.index,visual:r,dimension:o,textProps:n.textProps}]}e(ne,"decidePositionFrame");function ie(t,i,n){if(i===void 0)return d.contentStartX;if(i.index===t.index&&t.r)return t.r+d.boxPadding;if(n===void 0)return d.contentStartX;return n.r-d.boxOverlap+d.boxPadding}e(ie,"calculateX");function re(t,i){let n=[...t.map((r)=>r.r),i];return Math.max(...n)}e(re,"calculateMaxRight");function W(t){return Object.values(t).sort((i,n)=>i.index-n.index)}e(W,"sortedSwimlanesArray");function ae(t,i){let n=i,r=Z(n.frame,t.swimlanes),o;if(r.index in t.swimlanes)o=t.swimlanes[r.index];else o={index:r.index,label:r.label,r:0,y:r.index*d.swimlaneMinHeight+d.swimlaneGap,height:d.swimlaneMinHeight,maxHeight:d.swimlaneMinHeight};let s=t.boxes.length>0?t.boxes[t.boxes.length-1]:void 0,c=t.previousSwimlaneNumber!==void 0?t.swimlanes[t.previousSwimlaneNumber]:void 0,m={width:Math.max(d.boxMinWidth,Math.min(d.boxMaxWidth,n.dimension.width))+2*d.boxPadding,height:Math.max(d.boxMinHeight,Math.min(d.boxMaxHeight,n.dimension.height))+2*d.boxPadding},u=ie(o,c,s),x=u+m.width+d.boxPadding,g=re(Object.values(t.swimlanes),x);o.r=u+m.width,o.maxHeight=Math.max(o.maxHeight,m.height),o.height=Math.max(d.swimlaneMinHeight,o.maxHeight)+2*d.swimlanePadding;let f={x:u,y:d.swimlanePadding+o.y,r:x,dimension:m,leftSibling:!1,swimlane:o,visual:n.visual,text:n.textProps.content,frame:n.frame,index:n.index},v={...t,boxes:[...t.boxes,f],swimlanes:{...t.swimlanes,[`${o.index}`]:o},previousSwimlaneNumber:r.index,previousFrame:n.frame,maxR:g},h=W(v.swimlanes);if(h.length>0)h[0].y=0;for(let w=1;w<h.length;w++){let k=h[w],H=h[w-1];k.y=H.y+H.height+d.swimlaneGap}return v}e(ae,"evolveFramePositioned");function oe(t,i){if(t===0&&i.sourceFrames.length===0)return!0;return!1}e(oe,"isFirstFrame");function se(t){return t.sourceFrames!==void 0&&t.sourceFrames!==null&&t.sourceFrames.length>0}e(se,"hasSourceFrame");function B(t,i){if(i===void 0||i===null)return;return t.find((n)=>n.frame.name===i.name)}e(B,"findBoxByFrame");function de(t,i,n){if(n<0)return;for(let r=n;r>=0;r--){let o=t[r];if(o.swimlane.index!==i)return o}return}e(de,"findBoxByLineIndex");function le(t,i){let n=i;if(oe(n.index,n.frame))return[];let r=B(t.boxes,n.frame);if(r===void 0)throw Error(`Target box not found for frame ${n.frame.name}`);let o;if(n.sourceFrame)o=B(t.boxes,n.sourceFrame);else{if(Br(n.frame))return[];o=de(t.boxes,r.swimlane.index,n.index-1)}if(o===void 0)return[];return[{$kind:j,frame:n.frame,index:n.index,sourceBox:o,targetBox:r}]}e(le,"decidePositionRelation");function ce(t,i){let n=i,r={visual:{fill:"none",stroke:"#000"},source:{x:n.sourceBox.x,y:n.sourceBox.y},target:{x:n.targetBox.x,y:n.targetBox.y},sourceBox:n.sourceBox,targetBox:n.targetBox};return{...t,relations:[...t.relations,r]}}e(ce,"evolveRelationPositioned");var Se={[_]:ne,[F]:le},Me={[V]:ae,[j]:ce};function me(t,i){let n=Se[i.$kind];if(n===void 0||n===null)return[];let r=n(t,i);return a.debug("decided events",r),r}e(me,"decide");function ue(t,i){let n=i.reduce((r,o)=>{let s=Me[o.$kind];if(s===void 0||s===null)return r;return s(r,o)},t);return a.debug("evolve events",{state:t,newState:n,events:i}),n}e(ue,"evolve");function P(t,i){let n=me(t,i);return ue(t,n)}e(P,"dispatch");var N={getConfig:ye,preserveCommentsWhenParsing:!0,setOptions:pe,getOptions:ve,clear:be,setAccTitle:S,getAccTitle:E,getAccDescription:A,setAccDescription:T,setDiagramTitle:R,getDiagramTitle:L,setAst:K,getDiagramProps:I,getState:z},ke={parse:e(async(t)=>{let i=await X("eventmodeling",t);a.debug(i),N.setAst(i),G(i,N)},"parse")},Fe=l(),Be=Fe?.eventmodeling;function xe(t,i){return(n)=>{let r=n.swimlane.y+i.swimlanePadding,o=t.append("g").attr("class","em-box");o.append("rect").attr("x",n.x).attr("y",r).attr("rx","3").attr("width",n.dimension.width).attr("height",n.dimension.height).attr("stroke",n.visual.stroke).attr("fill",n.visual.fill),o.append("foreignObject").attr("x",n.x+i.boxPadding).attr("y",r+10).attr("width",n.dimension.width-2*i.boxPadding).attr("height",n.dimension.height-2*i.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(n.text)}}e(xe,"renderD3Box");function fe(t,i){return t>i}e(fe,"dirUpwards");function ge(t,i,n,r){return(o)=>{let s=o.sourceBox.swimlane.y+i.swimlanePadding,c=o.targetBox.swimlane.y+i.swimlanePadding,m=fe(s,c),u=o.sourceBox.x+o.sourceBox.dimension.width*2/3,x=o.targetBox.x+o.targetBox.dimension.width/3,g,f;if(a.debug(`rendering relation up=${m} for `,{sourceBox:o.sourceBox,targetBox:o.targetBox}),m)g=s,f=c+o.targetBox.dimension.height;else g=s+o.sourceBox.dimension.height,f=c;let v=r.emRelationStroke??o.visual.stroke;t.append("path").attr("class","em-relation").attr("fill",o.visual.fill).attr("stroke",v).attr("stroke-width","1").attr("marker-end",`url(#${n})`).attr("d",`M${u} ${g} L${x} ${f}`)}}e(ge,"renderD3Relation");function he(t,i,n,r){return(o)=>{let s=t.append("g").attr("class","em-swimlane"),c=r.emSwimlaneBackgroundOdd??"rgb(250,250,250)",m=r.emSwimlaneBackgroundStroke??"rgb(240,240,240)";s.append("rect").attr("x",0).attr("y",o.y).attr("rx","3").attr("width",i+n.swimlanePadding).attr("height",o.height).attr("fill",c).attr("stroke",m),s.append("text").attr("font-weight",n.swimlaneTextFontWeight).attr("x",30).attr("y",o.y+30).text(o.label)}}e(he,"renderD3Swimlane");var Ee=e(function(t,i,n,r){if(a.debug("in eventmodeling renderer",t+`
3
- `,"id:",i,n),!Be)throw Error("EventModeling config not found");let o=r.db,{themeVariables:s,eventmodeling:c}=l(),m=p(`[id="${i}"]`),u=o.getDiagramProps(),x=o.getState(),g=`em-arrowhead-${i}`,f=s.emArrowhead??"#000000";x.sortedSwimlanesArray.forEach(he(m,x.maxR,u,s)),x.boxes.forEach(xe(m,u)),x.relations.forEach(ge(m,u,g,s)),m.append("defs").append("marker").attr("id",g).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",f),kr(void 0,m,c?.padding??30,c?.useMaxWidth)},"draw"),Ae={draw:Ee},$e=e((t)=>"","getStyles"),Re=$e,Ue={parser:ke,db:N,renderer:Ae,styles:Re};export{Ue as diagram};
@@ -1,2 +0,0 @@
1
- import{r,g,t,n,_,s,Z,ae,er}from"./chunk-rddft5ce.js";var u=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],c=s("code-xml",u);function zr(e){let i=_();i.useTheme();let[m,d]=r("preview"),o=e.streaming&&!e.rendered,l=!e.streaming&&!e.rendered&&Boolean(e.error),a=m==="code"||o;return n(i.Panel,{"aria-label":e.title,"data-render-pending":e.pending&&!l?"true":void 0,className:"group/graph relative my-4 font-sans not-italic first:mt-0 last:mb-0",children:[t("div",{role:"toolbar","aria-label":`${e.title}操作`,className:o?"absolute top-2 right-2 z-10 flex items-center":i.style("surface.toolbarFloating","absolute top-2 right-2 z-10 opacity-0 transition-opacity duration-150 group-hover/graph:opacity-100 focus-within:opacity-100 [@media(hover:none)]:opacity-70"),children:o?n("span",{className:i.style("control.badge","gap-1.5 rounded-full px-2 py-0.5 text-[11px]"),children:[t(ae,{className:"size-3 animate-spin"}),"生成",e.title]}):n(g,{children:[t("button",{type:"button","aria-label":a?"查看图表":"查看代码",title:a?"查看图表":"查看代码",onClick:()=>d(a?"preview":"code"),className:"flex size-6 items-center justify-center rounded-md text-dim hover:bg-raised hover:text-ink [&_svg]:size-3.5",children:a?t(er,{}):t(c,{})}),t(i.CopyButton,{text:e.code,size:"icon-sm",label:"复制代码"})]})}),a&&t(i.Code,{code:e.code,lang:e.codeLang,className:"px-4 py-3"}),l&&!a&&n("div",{role:"alert",className:"flex flex-col items-center gap-2 px-4 py-8 text-center",children:[t(Z,{className:"size-5 text-warning"}),t("p",{className:"max-w-full text-xs break-words text-dim",children:e.error}),t("button",{type:"button",onClick:()=>d("code"),className:"text-xs text-accent-strong underline underline-offset-2",children:"查看代码"})]}),t("div",{hidden:a||l,children:e.children})]})}
2
- export{zr};
@@ -1 +0,0 @@
1
- import{h,o,i,r,g,t,n,_,vt,ee,de}from"./chunk-rddft5ce.js";var te={global:"全局",project:"项目",custom:"自定义",builtin:"内置"};function F({skill:s,issue:x,connection:y}){let{Button:q,CopyButton:j,style:m,useTheme:z}=_();z();let[l,C]=r(),[S,L]=r(),[d,E]=r(0);return o(()=>{let p=!0;L(void 0),C(void 0);let b=new URLSearchParams;if(s.projectID)b.set("projectID",s.projectID);if(s.location)b.set("location",s.location);let v=b.toString()?`?${b.toString()}`:"";return Promise.all([y.request(`/api/skills/${encodeURIComponent(s.name)}/content${v}`),y.request(`/api/skills/${encodeURIComponent(s.name)}/files${v}`)]).then(([f,P])=>{if(p)C({text:f.text,files:P.files})}).catch((f)=>{if(p)L(f instanceof Error?f.message:"读取失败")}),()=>{p=!1}},[y,s.name,s.projectID,s.location,d]),n("div",{className:"min-w-0 space-y-5 text-sm text-ink",children:[t("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:[te[s.scope],s.projectName?` · ${s.projectName}`:""]}),n("div",{className:"mt-1 flex min-w-0 items-center gap-2",children:[t("code",{className:m("markdown.inlineCode","min-w-0 flex-1 break-all text-xs"),children:s.location}),t(j,{text:s.location,label:"复制完整路径",className:"size-10"})]})]}),n("ul",{className:"space-y-1 break-words text-xs text-dim",children:[t("li",{children:"启用状态按名称生效,影响所有同名技能的新会话可用性。"}),s.disableModelInvocation&&t("li",{children:"仅手动:可由用户调用,不向模型自动提供。"}),s.platforms&&n("li",{children:["平台限制:",s.platforms.join("、")]}),s.disabled&&t("li",{children:"已禁用:不会提供给新会话。"}),x?.overriddenBy&&n("li",{className:"break-all",children:["被覆盖:同名技能优先使用 ",x.overriddenBy]})]}),s.commands?.length?n("div",{children:[t("h3",{className:"font-medium",children:"bin 命令"}),t("p",{className:"mt-1 text-xs text-dim",children:"技能目录中的可执行命令。"}),t("ul",{className:"mt-2 space-y-1 font-mono text-xs",children:s.commands.map((p)=>t("li",{className:"break-all",children:p},p))})]}):null,S?n("div",{role:"alert",className:"space-y-2",children:[n("p",{className:"break-words text-danger",children:["读取失败:",S]}),t(q,{className:"h-10",onClick:()=>E(d+1),children:"重试"})]}):!l?t("p",{role:"status",className:"text-dim",children:"正在读取文件…"}):n(g,{children:[n("section",{children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[t("h3",{className:"font-medium",children:"SKILL.md 原文"}),t(j,{text:l.text,label:"复制 SKILL.md 原文",className:"size-10"})]}),n("p",{className:"mb-2 text-xs text-faint",children:[l.text.length.toLocaleString()," 字符 · 约 ",Math.ceil(l.text.length/4).toLocaleString()," ","tokens(估算)"]}),t("pre",{className:m("surface.subtle",m("chat.toolOutput"),"rounded-lg bg-raised p-3 text-xs leading-5 break-all"),children:l.text})]}),n("section",{children:[n("h3",{className:"font-medium",children:["目录文件 · ",l.files.length,l.files.length===200?"(最多显示 200 个)":""]}),t("ul",{className:"mt-2 space-y-1 font-mono text-xs text-dim",children:l.files.map((p)=>t("li",{className:"break-all",children:p},p))})]})]})]})}var U="all",H="non-project",se="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:x,Input:y,Select:q,Dialog:j,style:m,useTheme:z}=_();z();let[l,C]=r([]),[S,L]=r([]),[d,E]=r(U),[p,b]=r([]),[v,f]=r(),[P,Q]=r(""),[w,D]=r(),[N,B]=r(!0),[A,O]=r(),[K,V]=r(),u=i(0),I=i(!1),k=h(async(e=!1)=>{let c=++u.current;I.current=!0,B(!0);try{if(e)await s.request("/api/skills/rescan",{method:"POST"});let[a,R,T]=await Promise.all([s.request("/api/skills?all=true"),s.request("/api/skills/settings"),s.request("/api/projects")]);if(c!==u.current)return;C(a.skills),L(T),b(a.issues),f(R),V(new Date),O(void 0)}catch(a){if(c===u.current)O(a instanceof Error?a.message:"读取失败")}finally{if(c===u.current)I.current=!1,B(!1)}},[s]);o(()=>(k(),()=>{u.current++}),[k]);async function G(e){if(I.current)return;I.current=!0;let c=++u.current;B(!0);try{let a=await s.request("/api/skills/settings",{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify(e)});if(c!==u.current)return;f(a),await k()}catch(a){if(c!==u.current)return;O(a instanceof Error?a.message:"保存设置失败"),I.current=!1,B(!1)}}let X=P.trim().toLocaleLowerCase(),W=d===U?l:l.filter((e)=>{if(e.scope!=="project")return!0;return d!==H&&e.projectID===d}),J=W.filter((e)=>`${e.name} ${e.description??""}`.toLocaleLowerCase().includes(X)),M=(e)=>p.find((c)=>c.kind==="overridden"&&(c.path==="<built-in>"?e.scope==="builtin":c.path.replace(/\\/g,"/")===`${e.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:[t("h2",{className:m("settings.groupTitle"),children:"技能"}),t("p",{"aria-live":"polite",className:m("settings.groupDesc"),children:K&&`找到 ${W.length} 个 · ${K.toLocaleTimeString("zh-CN",{hour12:!1})}`})]}),n("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[t(q,{value:d,disabled:N,onValueChange:(e)=>{D(void 0),E(e)},groups:[{options:[{value:U,label:"全部来源"},{value:H,label:"非项目技能"}]},...S.length?[{label:"项目",options:S.map((e)=>({value:e.id,label:e.name,description:e.directory}))}]:[]],className:"w-44"}),n(x,{variant:"ghost",disabled:N,onClick:()=>k(!0),className:"h-9 px-2.5 text-xs",children:[t(ee,{className:`size-3.5 ${N?"animate-spin":""}`}),t("span",{className:"ml-1",children:"重新扫描"})]})]})]}),A&&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:["无法更新技能:",A]}),t(x,{disabled:N,onClick:()=>k(),children:"重试"})]}),n("div",{className:"relative mb-3 min-w-0",children:[t(de,{"aria-hidden":!0,className:"pointer-events-none absolute top-3 left-3 size-4 text-faint"}),t(y,{type:"search","aria-label":"搜索技能",placeholder:"搜索技能",value:P,onChange:(e)=>Q(e.target.value),className:"h-10 min-w-0 pl-9"})]}),t("div",{className:m("settings.groupBox"),children:N&&!l.length?t("div",{role:"status","aria-label":"正在加载",className:"divide-y divide-line",children:[0,1,2].map((e)=>n("div",{className:"h-16 space-y-2 px-4 py-3",children:[t("div",{className:"h-3 w-24 animate-pulse rounded bg-raised"}),t("div",{className:"h-3 w-2/3 animate-pulse rounded bg-raised"})]},e))}):J.length===0?t("p",{className:"p-4 text-sm text-dim",children:"没有找到匹配的技能"}):t("ul",{className:"divide-y divide-line",children:J.map((e)=>{let c=M(e),a=e.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":`查看技能 ${e.name}`,onClick:()=>D(e),children:[n("span",{className:"min-w-0 flex-1",children:[n("span",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[t("span",{className:"truncate text-sm font-medium text-ink",title:e.name,children:e.name}),c&&n("span",{className:"flex shrink-0 items-center gap-1 text-xs text-warning",children:[t(vt,{className:"size-3.5"}),"被覆盖"]})]}),e.description&&t("span",{className:"mt-0.5 block truncate text-xs text-dim",title:e.description,children:e.description})]}),t("span",{className:m("control.badge","shrink-0 text-[11px] text-dim"),children:e.scope==="project"?"项目":e.scope==="builtin"?"built-in":"全局"})]}),t("span",{className:"relative flex size-10 shrink-0 items-center justify-center",children:t("input",{type:"checkbox","aria-label":`启用技能 ${e.name}`,className:se,disabled:N,checked:!a,onChange:(R)=>{if(!v)return;let T=v.disabled??[],Y=R.target.checked?T.filter((Z)=>Z!==e.name):[...T,e.name];G({...v,disabled:Y})}})})]},`${e.scope}:${e.projectID??""}:${e.name}`)})})})]}),t(j,{open:Boolean(w),onOpenChange:(e)=>{if(!e)D(void 0)},title:w?.name??"",size:"lg",footer:t("div",{className:"flex w-full justify-end",children:t(x,{variant:"primary",onClick:()=>D(void 0),children:"关闭"})}),children:w&&t(F,{skill:w,issue:M(w),connection:s})})]})}export{me as SkillsSection};
@@ -1 +0,0 @@
1
- import{_i}from"./chunk-2cem4sv7.js";export{_i as createGitGraphServices};
@@ -1,62 +0,0 @@
1
- import{G}from"./chunk-14deqqhr.js";import{e,a,ke,D,b,B,C,S,E,T,A,R,L,V,U}from"./chunk-1s53190z.js";import{X}from"./chunk-2cem4sv7.js";var ht=e(()=>({domains:new Map,transitions:[]}),"createDefaultData"),ot=ht(),St=e(()=>ot.domains,"getDomains"),Mt=e(()=>ot.transitions,"getTransitions"),zt=e((t)=>{if(!t)return;for(let n of t){let o=n.domain,r=(n.items??[]).map((l)=>({label:l.label}));ot.domains.set(o,{name:o,items:r})}},"setDomains"),Lt=e((t)=>{if(!t)return;ot.transitions=t.filter((n)=>{if(n.from===n.to)return a.warn(`Cynefin: self-loop transition on domain "${n.from}" is not meaningful and will be skipped.`),!1;return!0}).map((n)=>({from:n.from,to:n.to,label:n.label||void 0}))},"setTransitions"),Nt=e(()=>U({...D.cynefin,...b().cynefin}),"getConfig"),Pt=e(()=>{C(),ot=ht()},"clear"),it={getDomains:St,getTransitions:Mt,setDomains:zt,setTransitions:Lt,getConfig:Nt,clear:Pt,setAccTitle:S,getAccTitle:E,setDiagramTitle:R,getDiagramTitle:L,getAccDescription:A,setAccDescription:T},It=e((t)=>{G(t,it),it.setDomains(t.domains),it.setTransitions(t.transitions)},"populate"),Wt={parse:e(async(t)=>{let n=await X("cynefin",t);a.debug(n),It(n)},"parse")};function nt(t){let n=t+1831565813|0;return n=Math.imul(n^n>>>15,n|1),n^=n+Math.imul(n^n>>>7,n|61),((n^n>>>14)>>>0)/4294967296}e(nt,"seededRandom");function xt(t){let n=0;for(let o=0;o<t.length;o++){let r=t.charCodeAt(o);n=(n<<5)-n+r,n|=0}return n}e(xt,"hashString");function $t(t,n){if(typeof t==="number"&&Number.isFinite(t)&&t!==0)return t;return xt(n)}e($t,"resolveSeed");function bt(t,n,o,r){let l=t/2,p=r??t*0.015,at=7,Z=n/7,f=[];for(let i=0;i<=7;i++){let y=nt(o+i*17)*p*2-p;f.push({x:l+y,y:i*Z})}let N=`M${f[0].x},${f[0].y}`;for(let i=0;i<f.length-1;i++){let y=f[i],c=f[i+1],m=(y.y+c.y)/2,k=i%2===0?1:-1,h=p*1.5*k*nt(o+i*31+7),J=y.x+h,K=m,tt=c.x-h;N+=` C${J},${K} ${tt},${m} ${c.x},${c.y}`}return N}e(bt,"generateFoldPath");function wt(t,n,o,r){let l=n/2,p=r??n*0.015,at=7,Z=t/7,f=[];for(let i=0;i<=7;i++){let y=nt(o+i*23)*p*2-p;f.push({x:i*Z,y:l+y})}let N=`M${f[0].x},${f[0].y}`;for(let i=0;i<f.length-1;i++){let y=f[i],c=f[i+1],m=(y.x+c.x)/2,k=i%2===0?1:-1,h=p*1.5*k*nt(o+i*37+11),J=m,K=y.y+h,tt=m,Y=c.y-h;N+=` C${J},${K} ${tt},${Y} ${c.x},${c.y}`}return N}e(wt,"generateHorizontalBoundary");function Ct(t,n){let o=t/2,r=n*0.5,l=n,p=t*0.03;return[`M${o},${r}`,`C${o+p},${r+(l-r)*0.2}`,`${o-p*1.5},${r+(l-r)*0.55}`,`${o+p*0.5},${r+(l-r)*0.75}`,`C${o-p},${r+(l-r)*0.85}`,`${o+p*0.3},${r+(l-r)*0.95}`,`${o},${l}`].join(" ")}e(Ct,"generateCliffPath");function vt(t,n,o,r){return[`M${t-o},${n}`,`A${o},${r} 0 1,1 ${t+o},${n}`,`A${o},${r} 0 1,1 ${t-o},${n}`,"Z"].join(" ")}e(vt,"generateConfusionPath");var gt={complex:{model:"Probe → Sense → Respond",practice:"Emergent Practices"},complicated:{model:"Sense → Analyse → Respond",practice:"Good Practices"},clear:{model:"Sense → Categorise → Respond",practice:"Best Practices"},chaotic:{model:"Act → Sense → Respond",practice:"Novel Practices"},confusion:{model:"",practice:"Disorder"}},Rt=e((t,n)=>{let o=t/2,r=n/2;return{complex:{cx:o/2,cy:r/2,x:0,y:0,w:o,h:r},complicated:{cx:o+o/2,cy:r/2,x:o,y:0,w:o,h:r},chaotic:{cx:o/2,cy:r+r/2,x:0,y:r,w:o,h:r},clear:{cx:o+o/2,cy:r+r/2,x:o,y:r,w:o,h:r},confusion:{cx:o,cy:r,x:o*0.7,y:r*0.7,w:o*0.6,h:r*0.6}}},"getDomainLayouts"),Ft=e(()=>{let t=ke(),n=b();return U(t,n.themeVariables).cynefin},"getCynefinDomainColors"),lt=3,Vt=e((t,n,o,r)=>{let l=r.db,p=l.getDomains(),at=l.getTransitions(),Z=l.getDiagramTitle(),f=l.getAccTitle(),N=l.getAccDescription(),i=l.getConfig(),y=Ft();a.debug("Rendering Cynefin diagram");let{width:c,height:m,padding:k,showDomainDescriptions:h,boundaryAmplitude:J}=i,K=c+k*2,tt=m+k*2,Y={complex:y.complexBg,complicated:y.complicatedBg,clear:y.clearBg,chaotic:y.chaoticBg,confusion:y.confusionBg},P=V(n);if(B(P,tt,K,i.useMaxWidth??!0),P.attr("viewBox",`0 0 ${K} ${tt}`),f)P.append("title").text(f);if(N)P.append("desc").text(N);let I=P.append("g").attr("transform",`translate(${k}, ${k})`),et=Rt(c,m),dt=$t(i.seed,n),Dt=I.append("g").attr("class","cynefin-backgrounds"),st=["complex","complicated","chaotic","clear"];for(let d of st){let s=et[d];Dt.append("rect").attr("class","cynefinDomain").attr("x",s.x).attr("y",s.y).attr("width",s.w).attr("height",s.h).attr("fill",Y[d]).attr("fill-opacity",0.4).attr("stroke","none")}let ct=I.append("g").attr("class","cynefin-boundaries");ct.append("path").attr("class","cynefinBoundary").attr("d",bt(c,m,dt,J)).attr("fill","none"),ct.append("path").attr("class","cynefinBoundary").attr("d",wt(c,m,dt+100,J)).attr("fill","none"),ct.append("path").attr("class","cynefinCliff").attr("d",Ct(c,m)).attr("fill","none");let kt=c*0.15,Tt=m*0.15;I.append("path").attr("class","cynefinConfusion").attr("d",vt(c/2,m/2,kt,Tt)).attr("fill",Y.confusion).attr("fill-opacity",0.5);let ft=I.append("g").attr("class","cynefin-labels");for(let d of st){let s=et[d];ft.append("text").attr("class","cynefinDomainLabel").attr("x",s.cx).attr("y",h?s.cy-30:s.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(d.charAt(0).toUpperCase()+d.slice(1))}if(ft.append("text").attr("class","cynefinDomainLabel").attr("x",c/2).attr("y",h?m/2-10:m/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),h){let d=I.append("g").attr("class","cynefin-subtitles");for(let s of st){let g=et[s],u=gt[s];d.append("text").attr("class","cynefinSubtitle").attr("x",g.cx).attr("y",g.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(u.model),d.append("text").attr("class","cynefinSubtitle").attr("x",g.cx).attr("y",g.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(u.practice)}d.append("text").attr("class","cynefinSubtitle").attr("x",c/2).attr("y",m/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(gt.confusion.practice)}let mt=I.append("g").attr("class","cynefin-items"),W=26,pt=10,At=["complex","complicated","chaotic","clear","confusion"];for(let d of At){let s=p.get(d);if(!s||s.items.length===0)continue;let g=et[d],u=d==="confusion",O=s.items,j=0;if(u&&s.items.length>lt)j=s.items.length-lt,O=s.items.slice(0,lt);let F;if(u){let w=h?22:14;F=g.cy+w}else F=g.cy+(h?25:15);if([...O].forEach((w,_)=>{let M=F+_*(W+4),H=mt.append("g"),q=H.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",W/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(w.label),v=w.label.length*7,x=q.node();if(x&&typeof x.getBBox==="function"){let rt=x.getBBox();if(rt.width>0)v=rt.width}let z=v+pt*2,Q=g.cx-z/2;H.attr("transform",`translate(${Q}, ${M})`),H.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",z).attr("height",W).attr("rx",4).attr("ry",4).attr("fill",Y[d]).attr("fill-opacity",0.95),q.attr("x",z/2).attr("y",W/2)}),j>0){let w=F+O.length*(W+4),_=`+${j} more`,M=mt.append("g"),H=M.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",W/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(_),q=_.length*7,v=H.node();if(v&&typeof v.getBBox==="function"){let Q=v.getBBox();if(Q.width>0)q=Q.width}let x=q+pt*2,z=g.cx-x/2;M.attr("transform",`translate(${z}, ${w})`),M.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",x).attr("height",W).attr("rx",4).attr("ry",4).attr("fill",Y[d]).attr("fill-opacity",0.6),H.attr("x",x/2).attr("y",W/2)}}if(at.length>0){let d=P.select("defs").empty()?P.append("defs"):P.select("defs"),s=`cynefin-arrow-${n}`;d.append("marker").attr("id",s).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");let g=I.append("g").attr("class","cynefin-arrows");at.forEach((u)=>{let O=et[u.from],j=et[u.to];if(!O||!j)return;if(u.from===u.to){a.warn(`Cynefin renderer: skipping self-loop on domain "${u.from}"`);return}let{cx:F,cy:w}=O,{cx:_,cy:M}=j,H=(F+_)/2,q=(w+M)/2,v=_-F,x=M-w,z=Math.sqrt(v*v+x*x),Q=z*0.15,rt=-x/z,Bt=v/z,yt=H+rt*Q,ut=q+Bt*Q;if(g.append("path").attr("class","cynefinArrowLine").attr("d",`M${F},${w} Q${yt},${ut} ${_},${M}`).attr("fill","none").attr("marker-end",`url(#${s})`),u.label)g.append("text").attr("class","cynefinArrowLabel").attr("x",yt).attr("y",ut-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(u.label)})}if(Z)I.append("text").attr("class","cynefinTitle").attr("x",c/2).attr("y",-k/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(Z)},"draw"),_t={draw:Vt},Et=e(()=>{let t=ke(),n=b();return U(t,n.themeVariables).cynefin},"getCynefinTheme"),Ht=e(()=>{let t=Et();return`
2
- .cynefinDomain {
3
- stroke: none;
4
- }
5
- .cynefinDomainLabel {
6
- font-size: ${t.domainFontSize}px;
7
- font-weight: bold;
8
- fill: ${t.labelColor};
9
- }
10
- .cynefinSubtitle {
11
- font-size: ${t.itemFontSize-1}px;
12
- fill: ${t.textColor};
13
- font-style: italic;
14
- }
15
- .cynefinItem {
16
- fill-opacity: 0.95;
17
- stroke: ${t.boundaryColor};
18
- stroke-width: 1;
19
- }
20
- .cynefinItemText {
21
- font-size: ${t.itemFontSize}px;
22
- fill: ${t.textColor};
23
- }
24
- .cynefinItemOverflow {
25
- fill-opacity: 0.6;
26
- stroke: ${t.boundaryColor};
27
- stroke-width: 1;
28
- stroke-dasharray: 3 2;
29
- }
30
- .cynefinBoundary {
31
- stroke: ${t.boundaryColor};
32
- stroke-width: ${t.boundaryWidth};
33
- stroke-dasharray: 6 3;
34
- }
35
- .cynefinCliff {
36
- stroke: ${t.cliffColor};
37
- stroke-width: ${t.cliffWidth};
38
- }
39
- .cynefinConfusion {
40
- stroke: ${t.boundaryColor};
41
- stroke-width: 1.5;
42
- stroke-dasharray: 4 2;
43
- }
44
- .cynefinArrowLine {
45
- stroke: ${t.arrowColor};
46
- stroke-width: ${t.arrowWidth};
47
- fill: none;
48
- }
49
- .cynefinArrowHead {
50
- fill: ${t.arrowColor};
51
- stroke: none;
52
- }
53
- .cynefinArrowLabel {
54
- font-size: ${t.itemFontSize-1}px;
55
- fill: ${t.textColor};
56
- }
57
- .cynefinTitle {
58
- font-size: ${t.domainFontSize+2}px;
59
- font-weight: bold;
60
- fill: ${t.labelColor};
61
- }
62
- `},"styles"),Gt=Ht,Zt={parser:Wt,db:it,renderer:_t,styles:Gt};export{Zt as diagram};
@@ -1,41 +0,0 @@
1
- import{G}from"./chunk-14deqqhr.js";import{e,a,ke,D,b,B,C,S,E,T,A,R,L,V,U}from"./chunk-1s53190z.js";import{X}from"./chunk-2cem4sv7.js";var h={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},M=32,k={axes:[],curves:[],options:h},x=structuredClone(k),H=D.radar,j=e(()=>U({...H,...b().radar}),"getConfig"),O=e(()=>x.axes,"getAxes"),K=e(()=>x.curves,"getCurves"),N=e(()=>x.options,"getOptions"),Y=e((n)=>{x.axes=n.map((t)=>({name:t.name,label:t.label??t.name}))},"setAxes"),Z=e((n)=>{x.curves=n.map((t)=>({name:t.name,label:t.label??t.name,entries:q(t.entries)}))},"setCurves"),q=e((n)=>{if(n[0].axis==null)return n.map((r)=>r.value);let t=O();if(t.length===0)throw Error("Axes must be populated before curves for reference entries");return t.map((r)=>{let s=n.find((o)=>o.axis?.$refText===r.name);if(s===void 0)throw Error("Missing entry for axis "+r.label);return s.value})},"computeCurveEntries"),J=e((n)=>{let t=n.reduce((r,s)=>(r[s.name]=s,r),{});if(x.options={showLegend:t.showLegend?.value??h.showLegend,ticks:t.ticks?.value??h.ticks,max:t.max?.value??h.max,min:t.min?.value??h.min,graticule:t.graticule?.value??h.graticule},x.options.ticks>M)a.warn(`Radar diagram ticks (${x.options.ticks}) exceeds maximum allowed (${M}). Using ${M} instead.`),x.options.ticks=M},"setOptions"),Q=e(()=>{C(),x=structuredClone(k)},"clear"),y={getAxes:O,getCurves:K,getOptions:N,setAxes:Y,setCurves:Z,setOptions:J,getConfig:j,clear:Q,setAccTitle:S,getAccTitle:E,setDiagramTitle:R,getDiagramTitle:L,getAccDescription:A,setAccDescription:T},tt=e((n)=>{G(n,y);let{axes:t,curves:r,options:s}=n;y.setAxes(t),y.setCurves(r),y.setOptions(s)},"populate"),et={parse:e(async(n)=>{let t=await X("radar",n);a.debug(t),tt(t)},"parse")},at=e((n,t,r,s)=>{let o=s.db,c=o.getAxes(),d=o.getCurves(),i=o.getOptions(),l=o.getConfig(),u=o.getDiagramTitle(),m=V(t),p=rt(m,l),g=i.max??Math.max(...d.map((w)=>Math.max(...w.entries))),v=i.min,f=Math.min(l.width,l.height)/2;nt(p,c,f,i.ticks,i.graticule),st(p,c,f,l),I(p,c,d,v,g,i.graticule,l),P(p,d,i.showLegend,l),p.append("text").attr("class","radarTitle").text(u).attr("x",0).attr("y",-l.height/2-l.marginTop)},"draw"),rt=e((n,t)=>{let r=t.width+t.marginLeft+t.marginRight,s=t.height+t.marginTop+t.marginBottom,o={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return B(n,s,r,t.useMaxWidth??!0),n.attr("viewBox",`0 0 ${r} ${s}`).attr("overflow","visible"),n.append("g").attr("transform",`translate(${o.x}, ${o.y})`)},"drawFrame"),nt=e((n,t,r,s,o)=>{if(o==="circle")for(let c=0;c<s;c++){let d=r*(c+1)/s;n.append("circle").attr("r",d).attr("class","radarGraticule")}else if(o==="polygon"){let c=t.length;for(let d=0;d<s;d++){let i=r*(d+1)/s,l=t.map((u,m)=>{let p=2*m*Math.PI/c-Math.PI/2,g=i*Math.cos(p),v=i*Math.sin(p);return`${g},${v}`}).join(" ");n.append("polygon").attr("points",l).attr("class","radarGraticule")}}},"drawGraticule"),st=e((n,t,r,s)=>{let o=t.length;for(let c=0;c<o;c++){let d=t[c].label,i=2*c*Math.PI/o-Math.PI/2,l=Math.cos(i),u=Math.sin(i);n.append("line").attr("x1",0).attr("y1",0).attr("x2",r*s.axisScaleFactor*l).attr("y2",r*s.axisScaleFactor*u).attr("class","radarAxisLine");let m=l>0.01?"start":l<-0.01?"end":"middle",p=u>0.01?"hanging":u<-0.01?"auto":"central",g=4;n.append("text").text(d).attr("x",r*s.axisLabelFactor*l+g*l).attr("y",r*s.axisLabelFactor*u+g*u).attr("text-anchor",m).attr("dominant-baseline",p).attr("class","radarAxisLabel")}},"drawAxes");function I(n,t,r,s,o,c,d){let i=t.length,l=Math.min(d.width,d.height)/2;r.forEach((u,m)=>{if(u.entries.length!==i)return;let p=u.entries.map((g,v)=>{let f=2*Math.PI*v/i-Math.PI/2,w=_(g,s,o,l),z=w*Math.cos(f),W=w*Math.sin(f);return{x:z,y:W}});if(c==="circle")n.append("path").attr("d",F(p,d.curveTension)).attr("class",`radarCurve-${m}`);else if(c==="polygon")n.append("polygon").attr("points",p.map((g)=>`${g.x},${g.y}`).join(" ")).attr("class",`radarCurve-${m}`)})}e(I,"drawCurves");function _(n,t,r,s){let o=Math.min(Math.max(n,t),r);return s*(o-t)/(r-t)}e(_,"relativeRadius");function F(n,t){let r=n.length,s=`M${n[0].x},${n[0].y}`;for(let o=0;o<r;o++){let c=n[(o-1+r)%r],d=n[o],i=n[(o+1)%r],l=n[(o+2)%r],u={x:d.x+(i.x-c.x)*t,y:d.y+(i.y-c.y)*t},m={x:i.x-(l.x-d.x)*t,y:i.y-(l.y-d.y)*t};s+=` C${u.x},${u.y} ${m.x},${m.y} ${i.x},${i.y}`}return`${s} Z`}e(F,"closedRoundCurve");function P(n,t,r,s){if(!r)return;let o=(s.width/2+s.marginRight)*3/4,c=-(s.height/2+s.marginTop)*3/4,d=20;t.forEach((i,l)=>{let u=n.append("g").attr("transform",`translate(${o}, ${c+l*d})`);u.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${l}`),u.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(i.label)})}e(P,"drawLegend");var ot={draw:at},it=e((n,t)=>{let r="";for(let s=0;s<n.THEME_COLOR_LIMIT;s++){let o=n[`cScale${s}`];r+=`
2
- .radarCurve-${s} {
3
- color: ${o};
4
- fill: ${o};
5
- fill-opacity: ${t.curveOpacity};
6
- stroke: ${o};
7
- stroke-width: ${t.curveStrokeWidth};
8
- }
9
- .radarLegendBox-${s} {
10
- fill: ${o};
11
- fill-opacity: ${t.curveOpacity};
12
- stroke: ${o};
13
- }
14
- `}return r},"genIndexStyles"),lt=e((n)=>{let t=ke(),r=b(),s=U(t,r.themeVariables),o=U(s.radar,n);return{themeVariables:s,radarOptions:o}},"buildRadarStyleOptions"),ct=e(({radar:n}={})=>{let{themeVariables:t,radarOptions:r}=lt(n);return`
15
- .radarTitle {
16
- font-size: ${t.fontSize};
17
- color: ${t.titleColor};
18
- dominant-baseline: hanging;
19
- text-anchor: middle;
20
- }
21
- .radarAxisLine {
22
- stroke: ${r.axisColor};
23
- stroke-width: ${r.axisStrokeWidth};
24
- }
25
- .radarAxisLabel {
26
- font-size: ${r.axisLabelFontSize}px;
27
- color: ${r.axisColor};
28
- }
29
- .radarGraticule {
30
- fill: ${r.graticuleColor};
31
- fill-opacity: ${r.graticuleOpacity};
32
- stroke: ${r.graticuleColor};
33
- stroke-width: ${r.graticuleStrokeWidth};
34
- }
35
- .radarLegendText {
36
- text-anchor: start;
37
- font-size: ${r.legendFontSize}px;
38
- dominant-baseline: hanging;
39
- }
40
- ${it(t,r)}
41
- `},"styles"),vt={parser:et,db:y,renderer:ot,styles:ct};export{vt as diagram};
@@ -1,106 +0,0 @@
1
- import{yn}from"./chunk-wjbk50hn.js";import{G}from"./chunk-14deqqhr.js";import{e,a,D,b,v,C,S,E,T,A,R,L,l,kr,p,ji,U,M}from"./chunk-1s53190z.js";import{X}from"./chunk-2cem4sv7.js";var k={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},Ce=D.gitGraph,J=e(()=>U({...Ce,...b().gitGraph}),"getConfig"),m=new yn(()=>{let t=J(),{mainBranchName:r,mainBranchOrder:o}=t;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:o}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function ne(){return ji({length:7})}e(ne,"getID");function pe(t,r){let o=Object.create(null);return t.reduce((c,i)=>{let h=r(i);if(!o[h])o[h]=!0,c.push(i);return c},[])}e(pe,"uniqBy");var ve=e(function(t){m.records.direction=t},"setDirection"),Ee=e(function(t){a.debug("options str",t),t=t?.trim(),t=t||"{}";try{m.records.options=JSON.parse(t)}catch(r){a.error("error while parsing gitGraph options",r.message)}},"setOptions"),Te=e(function(){return m.records.options},"getOptions"),Le=e(function(t){let{msg:r,id:o,type:c,tags:i}=t;a.info("commit",r,o,c,i),a.debug("Entering commit:",r,o,c,i);let h=J();o=v.sanitizeText(o,h),r=v.sanitizeText(r,h),i=i?.map((s)=>v.sanitizeText(s,h));let n={id:o?o:m.records.seq+"-"+ne(),message:r,seq:m.records.seq++,type:c??k.NORMAL,tags:i??[],parents:m.records.head==null?[]:[m.records.head.id],branch:m.records.currBranch};if(m.records.head=n,a.info("main branch",h.mainBranchName),m.records.commits.has(n.id))a.warn(`Commit ID ${n.id} already exists`);m.records.commits.set(n.id,n),m.records.branches.set(m.records.currBranch,n.id),a.debug("in pushCommit "+n.id)},"commit"),Me=e(function(t){let{name:r,order:o}=t;if(r=v.sanitizeText(r,J()),m.records.branches.has(r))throw Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);m.records.branches.set(r,m.records.head!=null?m.records.head.id:null),m.records.branchConfig.set(r,{name:r,order:o}),ye(r),a.debug("in createBranch")},"branch"),Pe=e((t)=>{let{branch:r,id:o,type:c,tags:i}=t,h=J();if(r=v.sanitizeText(r,h),o)o=v.sanitizeText(o,h);let n=m.records.branches.get(m.records.currBranch),s=m.records.branches.get(r),g=n?m.records.commits.get(n):void 0,y=s?m.records.commits.get(s):void 0;if(g&&y&&g.branch===r)throw Error(`Cannot merge branch '${r}' into itself.`);if(m.records.currBranch===r){let d=Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if(g===void 0||!g){let d=Error(`Incorrect usage of "merge". Current branch (${m.records.currBranch})has no commits`);throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},d}if(!m.records.branches.has(r)){let d=Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},d}if(y===void 0||!y){let d=Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},d}if(g===y){let d=Error('Incorrect usage of "merge". Both branches have same head');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if(o&&m.records.commits.has(o)){let d=Error('Incorrect usage of "merge". Commit with id:'+o+" already exists, use different custom id");throw d.hash={text:`merge ${r} ${o} ${c} ${i?.join(" ")}`,token:`merge ${r} ${o} ${c} ${i?.join(" ")}`,expected:[`merge ${r} ${o}_UNIQUE ${c} ${i?.join(" ")}`]},d}let x=s?s:"",f={id:o||`${m.records.seq}-${ne()}`,message:`merged branch ${r} into ${m.records.currBranch}`,seq:m.records.seq++,parents:m.records.head==null?[]:[m.records.head.id,x],branch:m.records.currBranch,type:k.MERGE,customType:c,customId:o?!0:!1,tags:i??[]};m.records.head=f,m.records.commits.set(f.id,f),m.records.branches.set(m.records.currBranch,f.id),a.debug(m.records.branches),a.debug("in mergeBranch")},"merge"),Re=e(function(t){let{id:r,targetId:o,tags:c,parent:i}=t;a.debug("Entering cherryPick:",r,o,c);let h=J();if(r=v.sanitizeText(r,h),o=v.sanitizeText(o,h),c=c?.map((g)=>v.sanitizeText(g,h)),i=v.sanitizeText(i,h),!r||!m.records.commits.has(r)){let g=Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw g.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},g}let n=m.records.commits.get(r);if(n===void 0||!n)throw Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(n.parents)&&n.parents.includes(i)))throw Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let s=n.branch;if(n.type===k.MERGE&&!i)throw Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!o||!m.records.commits.has(o)){if(s===m.records.currBranch){let f=Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw f.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},f}let g=m.records.branches.get(m.records.currBranch);if(g===void 0||!g){let f=Error(`Incorrect usage of "cherry-pick". Current branch (${m.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},f}let y=m.records.commits.get(g);if(y===void 0||!y){let f=Error(`Incorrect usage of "cherry-pick". Current branch (${m.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},f}let x={id:m.records.seq+"-"+ne(),message:`cherry-picked ${n?.message} into ${m.records.currBranch}`,seq:m.records.seq++,parents:m.records.head==null?[]:[m.records.head.id,n.id],branch:m.records.currBranch,type:k.CHERRY_PICK,tags:c?c.filter(Boolean):[`cherry-pick:${n.id}${n.type===k.MERGE?`|parent:${i}`:""}`]};m.records.head=x,m.records.commits.set(x.id,x),m.records.branches.set(m.records.currBranch,x.id),a.debug(m.records.branches),a.debug("in cherryPick")}},"cherryPick"),ye=e(function(t){if(t=v.sanitizeText(t,J()),!m.records.branches.has(t)){let r=Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw r.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},r}else{m.records.currBranch=t;let r=m.records.branches.get(m.records.currBranch);if(r===void 0||!r)m.records.head=null;else m.records.head=m.records.commits.get(r)??null}},"checkout");function he(t,r,o){let c=t.indexOf(r);if(c===-1)t.push(o);else t.splice(c,1,o)}e(he,"upsert");function me(t){let r=t.reduce((i,h)=>{if(i.seq>h.seq)return i;return h},t[0]),o="";t.forEach(function(i){if(i===r)o+="\t*";else o+="\t|"});let c=[o,r.id,r.seq];for(let i in m.records.branches)if(m.records.branches.get(i)===r.id)c.push(i);if(a.debug(c.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){let i=m.records.commits.get(r.parents[0]);if(he(t,r,i),r.parents[1])t.push(m.records.commits.get(r.parents[1]))}else if(r.parents.length==0)return;else if(r.parents[0]){let i=m.records.commits.get(r.parents[0]);he(t,r,i)}t=pe(t,(i)=>i.id),me(t)}e(me,"prettyPrintCommitHistory");var Oe=e(function(){a.debug(m.records.commits);let t=xe()[0];me([t])},"prettyPrint"),Ie=e(function(){m.reset(),C()},"clear"),_e=e(function(){return[...m.records.branchConfig.values()].map((r,o)=>{if(r.order!==null&&r.order!==void 0)return r;return{...r,order:parseFloat(`0.${o}`)}}).sort((r,o)=>(r.order??0)-(o.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),Ge=e(function(){return m.records.branches},"getBranches"),De=e(function(){return m.records.commits},"getCommits"),xe=e(function(){let t=[...m.records.commits.values()];return t.forEach(function(r){a.debug(r.id)}),t.sort((r,o)=>r.seq-o.seq),t},"getCommitsArray"),We=e(function(){return m.records.currBranch},"getCurrentBranch"),qe=e(function(){return m.records.direction},"getDirection"),Ae=e(function(){return m.records.head},"getHead"),ue={commitType:k,getConfig:J,setDirection:ve,setOptions:Ee,getOptions:Te,commit:Le,branch:Me,merge:Pe,cherryPick:Re,checkout:ye,prettyPrint:Oe,clear:Ie,getBranchesAsObjArray:_e,getBranches:Ge,getCommits:De,getCommitsArray:xe,getCurrentBranch:We,getDirection:qe,getHead:Ae,setAccTitle:S,getAccTitle:E,getAccDescription:A,setAccDescription:T,setDiagramTitle:R,getDiagramTitle:L},He=e((t,r)=>{if(G(t,r),t.dir)r.setDirection(t.dir);for(let o of t.statements)Se(o,r)},"populate"),Se=e((t,r)=>{let c={Commit:e((i)=>r.commit(Ne(i)),"Commit"),Branch:e((i)=>r.branch(Fe(i)),"Branch"),Merge:e((i)=>r.merge(ze(i)),"Merge"),Checkout:e((i)=>r.checkout(Ye(i)),"Checkout"),CherryPicking:e((i)=>r.cherryPick(je(i)),"CherryPicking")}[t.$type];if(c)c(t);else a.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),Ne=e((t)=>({id:t.id,msg:t.message??"",type:t.type!==void 0?k[t.type]:k.NORMAL,tags:t.tags??void 0}),"parseCommit"),Fe=e((t)=>({name:t.name,order:t.order??0}),"parseBranch"),ze=e((t)=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?k[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),Ye=e((t)=>t.branch,"parseCheckout"),je=e((t)=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),Ke={parse:e(async(t)=>{let r=await X("gitGraph",t);a.debug(r),He(r,ue)},"parse")},j=10,K=40,N=4,z=2,V=8,ce=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),le=12,ge=new Set(["redux-color","redux-dark-color"]),Ue=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Z=e((t,r,o=!1)=>{if(o&&t>0)return(t-1)%(r-1)+1;return t%r},"calcColorIndex"),W=new Map,q=new Map,oe=30,te=new Map,se=[],Y=0,w="LR",Ve=e(()=>{W.clear(),q.clear(),te.clear(),Y=0,se=[],w="LR"},"clear"),be=e((t)=>{let r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t==="string"?t.split(/\\n|\n|<br\s*\/?>/gi):t).forEach((c)=>{let i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=c.trim(),r.appendChild(i)}),r},"drawText"),we=e((t)=>{let r,o,c;if(w==="BT")o=e((i,h)=>i<=h,"comparisonFunc"),c=1/0;else o=e((i,h)=>i>=h,"comparisonFunc"),c=0;return t.forEach((i)=>{let h=w==="TB"||w=="BT"?q.get(i)?.y:q.get(i)?.x;if(h!==void 0&&o(h,c))r=i,c=h}),r},"findClosestParent"),Ze=e((t)=>{let r="",o=1/0;return t.forEach((c)=>{let i=q.get(c).y;if(i<=o)r=c,o=i}),r||void 0},"findClosestParentBT"),Xe=e((t,r,o)=>{let c=o,i=o,h=[];t.forEach((n)=>{let s=r.get(n);if(!s)throw Error(`Commit not found for key ${n}`);if(s.parents.length)c=Qe(s),i=Math.max(c,i);else h.push(s);et(s,c)}),c=i,h.forEach((n)=>{tt(n,c,o)}),t.forEach((n)=>{let s=r.get(n);if(s?.parents.length){let g=Ze(s.parents);if(c=q.get(g).y-K,c<=i)i=c;let y=W.get(s.branch).pos,x=c-j;q.set(s.id,{x:y,y:x})}})},"setParallelBTPos"),Je=e((t)=>{let r=we(t.parents.filter((c)=>c!==null));if(!r)throw Error(`Closest parent not found for commit ${t.id}`);let o=q.get(r)?.y;if(o===void 0)throw Error(`Closest parent position not found for commit ${t.id}`);return o},"findClosestParentPos"),Qe=e((t)=>Je(t)+K,"calculateCommitPosition"),et=e((t,r)=>{let o=W.get(t.branch);if(!o)throw Error(`Branch not found for commit ${t.id}`);let c=o.pos,i=r+j;return q.set(t.id,{x:c,y:i}),{x:c,y:i}},"setCommitPosition"),tt=e((t,r,o)=>{let c=W.get(t.branch);if(!c)throw Error(`Branch not found for commit ${t.id}`);let i=r+o,h=c.pos;q.set(t.id,{x:h,y:i})},"setRootPosition"),rt=e((t,r,o,c,i,h)=>{let{theme:n}=l(),s=ce.has(n??""),g=ge.has(n??""),y=Ue.has(n??"");if(h===k.HIGHLIGHT)t.append("rect").attr("x",o.x-10+(s?3:0)).attr("y",o.y-10+(s?3:0)).attr("width",s?14:20).attr("height",s?14:20).attr("class",`commit ${r.id} commit-highlight${Z(i,V,g)} ${c}-outer`),t.append("rect").attr("x",o.x-6+(s?2:0)).attr("y",o.y-6+(s?2:0)).attr("width",s?8:12).attr("height",s?8:12).attr("class",`commit ${r.id} commit${Z(i,V,g)} ${c}-inner`);else if(h===k.CHERRY_PICK)t.append("circle").attr("cx",o.x).attr("cy",o.y).attr("r",s?7:10).attr("class",`commit ${r.id} ${c}`),t.append("circle").attr("cx",o.x-3).attr("cy",o.y+2).attr("r",s?2.5:2.75).attr("fill",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`),t.append("circle").attr("cx",o.x+3).attr("cy",o.y+2).attr("r",s?2.5:2.75).attr("fill",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`),t.append("line").attr("x1",o.x+3).attr("y1",o.y+1).attr("x2",o.x).attr("y2",o.y-5).attr("stroke",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`),t.append("line").attr("x1",o.x-3).attr("y1",o.y+1).attr("x2",o.x).attr("y2",o.y-5).attr("stroke",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`);else{let x=t.append("circle");if(x.attr("cx",o.x),x.attr("cy",o.y),x.attr("r",s?7:10),x.attr("class",`commit ${r.id} commit${Z(i,V,g)}`),h===k.MERGE){let f=t.append("circle");f.attr("cx",o.x),f.attr("cy",o.y),f.attr("r",s?5:6),f.attr("class",`commit ${c} ${r.id} commit${Z(i,V,g)}`)}if(h===k.REVERSE){let f=t.append("path"),d=s?4:5;f.attr("d",`M ${o.x-d},${o.y-d}L${o.x+d},${o.y+d}M${o.x-d},${o.y+d}L${o.x+d},${o.y-d}`).attr("class",`commit ${c} ${r.id} commit${Z(i,V,g)}`)}}},"drawCommitBullet"),at=e((t,r,o,c,i)=>{if(r.type!==k.CHERRY_PICK&&(r.customId&&r.type===k.MERGE||r.type!==k.MERGE)&&i.showCommitLabel){let h=t.append("g"),n=h.insert("rect").attr("class","commit-label-bkg"),s=h.append("text").attr("x",c).attr("y",o.y+25).attr("class","commit-label").text(r.id),g=s.node()?.getBBox();if(g){if(n.attr("x",o.posWithOffset-g.width/2-z).attr("y",o.y+13.5).attr("width",g.width+2*z).attr("height",g.height+2*z),w==="TB"||w==="BT")n.attr("x",o.x-(g.width+4*N+5)).attr("y",o.y-12),s.attr("x",o.x-(g.width+4*N)).attr("y",o.y+g.height-12);else s.attr("x",o.posWithOffset-g.width/2);if(i.rotateCommitLabel)if(w==="TB"||w==="BT")s.attr("transform","rotate(-45, "+o.x+", "+o.y+")"),n.attr("transform","rotate(-45, "+o.x+", "+o.y+")");else{let y=-7.5-(g.width+10)/25*9.5,x=10+g.width/25*8.5;h.attr("transform","translate("+y+", "+x+") rotate(-45, "+c+", "+o.y+")")}}}},"drawCommitLabel"),ot=e((t,r,o,c)=>{if(r.tags.length>0){let i=0,h=0,n=0,s=[];for(let g of r.tags.reverse()){let y=t.insert("polygon"),x=t.append("circle"),f=t.append("text").attr("y",o.y-16-i).attr("class","tag-label").text(g),d=f.node()?.getBBox();if(!d)throw Error("Tag bbox not found");h=Math.max(h,d.width),n=Math.max(n,d.height),f.attr("x",o.posWithOffset-d.width/2),s.push({tag:f,hole:x,rect:y,yOffset:i}),i+=20}for(let{tag:g,hole:y,rect:x,yOffset:f}of s){let d=n/2,B=o.y-19.2-f;if(x.attr("class","tag-label-bkg").attr("points",`
2
- ${c-h/2-N/2},${B+z}
3
- ${c-h/2-N/2},${B-z}
4
- ${o.posWithOffset-h/2-N},${B-d-z}
5
- ${o.posWithOffset+h/2+N},${B-d-z}
6
- ${o.posWithOffset+h/2+N},${B+d+z}
7
- ${o.posWithOffset-h/2-N},${B+d+z}`),y.attr("cy",B).attr("cx",c-h/2+N/2).attr("r",1.5).attr("class","tag-hole"),w==="TB"||w==="BT"){let u=c+f;x.attr("class","tag-label-bkg").attr("points",`
8
- ${o.x},${u+2}
9
- ${o.x},${u-2}
10
- ${o.x+j},${u-d-2}
11
- ${o.x+j+h+4},${u-d-2}
12
- ${o.x+j+h+4},${u+d+2}
13
- ${o.x+j},${u+d+2}`).attr("transform","translate(12,12) rotate(45, "+o.x+","+c+")"),y.attr("cx",o.x+N/2).attr("cy",u).attr("transform","translate(12,12) rotate(45, "+o.x+","+c+")"),g.attr("x",o.x+5).attr("y",u+3).attr("transform","translate(14,14) rotate(45, "+o.x+","+c+")")}}}},"drawCommitTags"),st=e((t)=>{switch(t.customType??t.type){case k.NORMAL:return"commit-normal";case k.REVERSE:return"commit-reverse";case k.HIGHLIGHT:return"commit-highlight";case k.MERGE:return"commit-merge";case k.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),nt=e((t,r,o,c)=>{let i={x:0,y:0};if(t.parents.length>0){let h=we(t.parents);if(h){let n=c.get(h)??i;if(r==="TB")return n.y+K;else if(r==="BT")return(c.get(t.id)??i).y-K;else return n.x+K}}else if(r==="TB")return oe;else if(r==="BT")return(c.get(t.id)??i).y-K;else return 0;return 0},"calculatePosition"),ct=e((t,r,o)=>{let c=w==="BT"&&o?r:r+j,i=W.get(t.branch)?.pos,h=w==="TB"||w==="BT"?W.get(t.branch)?.pos:c;if(h===void 0||i===void 0)throw Error(`Position were undefined for commit ${t.id}`);let n=ce.has(l().theme??""),s=w==="TB"||w==="BT"?c:i+(n?le/2+1:-2);return{x:h,y:s,posWithOffset:c}},"getCommitPosition"),$e=e((t,r,o,c)=>{let i=t.append("g").attr("class","commit-bullets"),h=t.append("g").attr("class","commit-labels"),n=w==="TB"||w==="BT"?oe:0,s=[...r.keys()],g=c.parallelCommits??!1,y=e((f,d)=>{let B=r.get(f)?.seq,u=r.get(d)?.seq;return B!==void 0&&u!==void 0?B-u:0},"sortKeys"),x=s.sort(y);if(w==="BT"){if(g)Xe(x,r,n);x=x.reverse()}x.forEach((f)=>{let d=r.get(f);if(!d)throw Error(`Commit not found for key ${f}`);if(g)n=nt(d,w,n,q);let B=ct(d,n,g);if(o){let u=st(d),P=d.customType??d.type,O=W.get(d.branch)?.index??0;rt(i,d,B,u,O,P),at(h,d,B,n,c),ot(h,d,B,n)}if(w==="TB"||w==="BT")q.set(d.id,{x:B.x,y:B.posWithOffset});else q.set(d.id,{x:B.posWithOffset,y:B.y});if(n=w==="BT"&&g?n+K:n+K+j,n>Y)Y=n})},"drawCommits"),it=e((t,r,o,c,i)=>{let n=(w==="TB"||w==="BT"?o.x<c.x:o.y<c.y)?r.branch:t.branch,s=e((y)=>y.branch===n,"isOnBranchToGetCurve"),g=e((y)=>y.seq>t.seq&&y.seq<r.seq,"isBetweenCommits");return[...i.values()].some((y)=>g(y)&&s(y))},"shouldRerouteArrow"),re=e((t,r,o=0)=>{let c=t+Math.abs(t-r)/2;if(o>5)return c;if(se.every((n)=>Math.abs(n-c)>=10))return se.push(c),c;let h=Math.abs(t-r);return re(t,r-h/5,o+1)},"findLane"),dt=e((t,r,o,c)=>{let{theme:i}=l(),h=ge.has(i??""),n=q.get(r.id),s=q.get(o.id);if(n===void 0||s===void 0)throw Error(`Commit positions not found for commits ${r.id} and ${o.id}`);let g=it(r,o,n,s,c),y="",x="",f=0,d=0,B=W.get(o.branch)?.index;if(o.type===k.MERGE&&r.id!==o.parents[0])B=W.get(r.branch)?.index;let u;if(g){y="A 10 10, 0, 0, 0,",x="A 10 10, 0, 0, 1,",f=10,d=10;let P=n.y<s.y?re(n.y,s.y):re(s.y,n.y),O=n.x<s.x?re(n.x,s.x):re(s.x,n.x);if(w==="TB")if(n.x<s.x)u=`M ${n.x} ${n.y} L ${O-f} ${n.y} ${x} ${O} ${n.y+d} L ${O} ${s.y-f} ${y} ${O+d} ${s.y} L ${s.x} ${s.y}`;else B=W.get(r.branch)?.index,u=`M ${n.x} ${n.y} L ${O+f} ${n.y} ${y} ${O} ${n.y+d} L ${O} ${s.y-f} ${x} ${O-d} ${s.y} L ${s.x} ${s.y}`;else if(w==="BT")if(n.x<s.x)u=`M ${n.x} ${n.y} L ${O-f} ${n.y} ${y} ${O} ${n.y-d} L ${O} ${s.y+f} ${x} ${O+d} ${s.y} L ${s.x} ${s.y}`;else B=W.get(r.branch)?.index,u=`M ${n.x} ${n.y} L ${O+f} ${n.y} ${x} ${O} ${n.y-d} L ${O} ${s.y+f} ${y} ${O-d} ${s.y} L ${s.x} ${s.y}`;else if(n.y<s.y)u=`M ${n.x} ${n.y} L ${n.x} ${P-f} ${y} ${n.x+d} ${P} L ${s.x-f} ${P} ${x} ${s.x} ${P+d} L ${s.x} ${s.y}`;else B=W.get(r.branch)?.index,u=`M ${n.x} ${n.y} L ${n.x} ${P+f} ${x} ${n.x+d} ${P} L ${s.x-f} ${P} ${y} ${s.x} ${P-d} L ${s.x} ${s.y}`}else if(y="A 20 20, 0, 0, 0,",x="A 20 20, 0, 0, 1,",f=20,d=20,w==="TB"){if(n.x<s.x)if(o.type===k.MERGE&&r.id!==o.parents[0])u=`M ${n.x} ${n.y} L ${n.x} ${s.y-f} ${y} ${n.x+d} ${s.y} L ${s.x} ${s.y}`;else u=`M ${n.x} ${n.y} L ${s.x-f} ${n.y} ${x} ${s.x} ${n.y+d} L ${s.x} ${s.y}`;if(n.x>s.x)if(y="A 20 20, 0, 0, 0,",x="A 20 20, 0, 0, 1,",f=20,d=20,o.type===k.MERGE&&r.id!==o.parents[0])u=`M ${n.x} ${n.y} L ${n.x} ${s.y-f} ${x} ${n.x-d} ${s.y} L ${s.x} ${s.y}`;else u=`M ${n.x} ${n.y} L ${s.x+f} ${n.y} ${y} ${s.x} ${n.y+d} L ${s.x} ${s.y}`;if(n.x===s.x)u=`M ${n.x} ${n.y} L ${s.x} ${s.y}`}else if(w==="BT"){if(n.x<s.x)if(o.type===k.MERGE&&r.id!==o.parents[0])u=`M ${n.x} ${n.y} L ${n.x} ${s.y+f} ${x} ${n.x+d} ${s.y} L ${s.x} ${s.y}`;else u=`M ${n.x} ${n.y} L ${s.x-f} ${n.y} ${y} ${s.x} ${n.y-d} L ${s.x} ${s.y}`;if(n.x>s.x)if(y="A 20 20, 0, 0, 0,",x="A 20 20, 0, 0, 1,",f=20,d=20,o.type===k.MERGE&&r.id!==o.parents[0])u=`M ${n.x} ${n.y} L ${n.x} ${s.y+f} ${y} ${n.x-d} ${s.y} L ${s.x} ${s.y}`;else u=`M ${n.x} ${n.y} L ${s.x+f} ${n.y} ${x} ${s.x} ${n.y-d} L ${s.x} ${s.y}`;if(n.x===s.x)u=`M ${n.x} ${n.y} L ${s.x} ${s.y}`}else{if(n.y<s.y)if(o.type===k.MERGE&&r.id!==o.parents[0])u=`M ${n.x} ${n.y} L ${s.x-f} ${n.y} ${x} ${s.x} ${n.y+d} L ${s.x} ${s.y}`;else u=`M ${n.x} ${n.y} L ${n.x} ${s.y-f} ${y} ${n.x+d} ${s.y} L ${s.x} ${s.y}`;if(n.y>s.y)if(o.type===k.MERGE&&r.id!==o.parents[0])u=`M ${n.x} ${n.y} L ${s.x-f} ${n.y} ${y} ${s.x} ${n.y-d} L ${s.x} ${s.y}`;else u=`M ${n.x} ${n.y} L ${n.x} ${s.y+f} ${x} ${n.x+d} ${s.y} L ${s.x} ${s.y}`;if(n.y===s.y)u=`M ${n.x} ${n.y} L ${s.x} ${s.y}`}if(u===void 0)throw Error("Line definition not found");t.append("path").attr("d",u).attr("class","arrow arrow"+Z(B,V,h))},"drawArrow"),ht=e((t,r)=>{let o=t.append("g").attr("class","commit-arrows");[...r.keys()].forEach((c)=>{let i=r.get(c);if(i.parents&&i.parents.length>0)i.parents.forEach((h)=>{dt(o,r.get(h),i,r)})})},"drawArrows"),lt=e((t,r,o,c)=>{let{look:i,theme:h,themeVariables:n}=l(),{dropShadow:s,THEME_COLOR_LIMIT:g}=n,y=ce.has(h??""),x=ge.has(h??""),f=t.append("g");r.forEach((d,B)=>{let u=Z(B,y?g:V,x),P=W.get(d.name)?.pos;if(P===void 0)throw Error(`Position not found for branch ${d.name}`);let O=w==="TB"||w==="BT"?P:y?P+le/2+1:P-2,I=f.append("line");if(I.attr("x1",0),I.attr("y1",O),I.attr("x2",Y),I.attr("y2",O),I.attr("class","branch branch"+u),w==="TB")I.attr("y1",oe),I.attr("x1",P),I.attr("y2",Y),I.attr("x2",P);else if(w==="BT")I.attr("y1",Y),I.attr("x1",P),I.attr("y2",oe),I.attr("x2",P);se.push(O);let ie=d.name,ee=be(ie),H=f.insert("rect"),F=f.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+u);F.node().appendChild(ee);let _=ee.getBBox(),fe=y?0:4,ae=y?16:0,Q=y?le:0;if(i==="neo")H.attr("data-look","neo");if(H.attr("class","branchLabelBkg label"+u).attr("style",i==="neo"?`filter:${y?`url(#${c}-drop-shadow)`:s}`:"").attr("rx",fe).attr("ry",fe).attr("x",-_.width-4-(o.rotateCommitLabel===!0?30:0)).attr("y",-_.height/2+10).attr("width",_.width+18+ae).attr("height",_.height+4+Q),F.attr("transform","translate("+(-_.width-14-(o.rotateCommitLabel===!0?30:0)+ae/2)+", "+(O-_.height/2-2)+")"),w==="TB"){if(H.attr("x",P-_.width/2-10).attr("y",0),F.attr("transform","translate("+(P-_.width/2-5)+", 0)"),y)H.attr("transform",`translate(${-ae/2-3}, ${-Q-10})`),F.attr("transform","translate("+(P-_.width/2-5)+", "+(-Q*2+7)+")")}else if(w==="BT"){if(H.attr("x",P-_.width/2-10).attr("y",Y),F.attr("transform","translate("+(P-_.width/2-5)+", "+Y+")"),y)H.attr("transform",`translate(${-ae/2-3}, ${Q+10})`),F.attr("transform","translate("+(P-_.width/2-5)+", "+(Y+Q*2+4)+")")}else H.attr("transform","translate(-19, "+(O-12-Q/2)+")")})},"drawBranches"),mt=e(function(t,r,o,c,i){return W.set(t,{pos:r,index:o}),r+=50+(i?40:0)+(w==="TB"||w==="BT"?c.width/2:0),r},"setBranchPosition"),gt=e(function(t,r,o,c){Ve(),a.debug("in gitgraph renderer",t+`
14
- `,"id:",r,o);let i=c.db;if(!i.getConfig){a.error("getConfig method is not available on db");return}let h=i.getConfig(),n=h.rotateCommitLabel??!1;te=i.getCommits();let s=i.getBranchesAsObjArray();w=i.getDirection();let g=p(`[id="${r}"]`),{look:y,theme:x,themeVariables:f}=l(),{useGradient:d,gradientStart:B,gradientStop:u,filterColor:P}=f;if(d){let I=g.append("defs").append("linearGradient").attr("id",r+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");I.append("stop").attr("offset","0%").attr("stop-color",B).attr("stop-opacity",1),I.append("stop").attr("offset","100%").attr("stop-color",u).attr("stop-opacity",1)}if(y==="neo"&&ce.has(x??""))g.append("defs").append("filter").attr("id",r+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",P);let O=0;if(s.forEach((I,ie)=>{let ee=be(I.name),H=g.append("g"),de=H.insert("g").attr("class","branchLabel"),F=de.insert("g").attr("class","label branch-label");F.node()?.appendChild(ee);let _=ee.getBBox();O=mt(I.name,O,ie,_,n),F.remove(),de.remove(),H.remove()}),$e(g,te,!1,h),h.showBranches)lt(g,s,h,r);ht(g,te),$e(g,te,!0,h),M.insertTitle(g,"gitTitleText",h.titleTopMargin??0,i.getDiagramTitle()),kr(void 0,g,h.diagramPadding,h.useMaxWidth)},"draw"),ft={draw:gt},Be=8,ke=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),$t=new Set(["redux-color","redux-dark-color"]),pt=new Set(["neo","neo-dark"]),yt=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),xt=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),ut=e((t)=>{let{svgId:r}=t,o="";if(t.useGradient&&r)for(let c=0;c<t.THEME_COLOR_LIMIT;c++)o+=`
15
- .label${c} { fill: ${t.mainBkg}; stroke: url(${r}-gradient); stroke-width: ${t.strokeWidth};}
16
- `;return o},"genGitGraphGradient"),bt=e((t)=>{let r=b(),{theme:o,themeVariables:c}=r,{borderColorArray:i}=c,h=ke.has(o);if(pt.has(o)){let n="";for(let s=0;s<t.THEME_COLOR_LIMIT;s++)if(s===0)n+=`
17
- .branch-label${s} { fill: ${t.nodeBorder};}
18
- .commit${s} { stroke: ${t.nodeBorder}; }
19
- .commit-highlight${s} { stroke: ${t.nodeBorder}; fill: ${t.nodeBorder}; }
20
- .arrow${s} { stroke: ${t.nodeBorder}; }
21
- .commit-bullets { fill: ${t.nodeBorder}; }
22
- .commit-cherry-pick${s} { stroke: ${t.nodeBorder}; }
23
- ${ut(t)}`;else{let g=s%Be;n+=`
24
- .branch-label${s} { fill: ${t["gitBranchLabel"+g]}; }
25
- .commit${s} { stroke: ${t["git"+g]}; fill: ${t["git"+g]}; }
26
- .commit-highlight${s} { stroke: ${t["gitInv"+g]}; fill: ${t["gitInv"+g]}; }
27
- .arrow${s} { stroke: ${t["git"+g]}; }
28
- `}return n}else if(!$t.has(o)){let n="";for(let s=0;s<t.THEME_COLOR_LIMIT;s++)n+=`
29
- .branch-label${s} { fill: ${t.nodeBorder}; ${h?`font-weight:${t.noteFontWeight}`:""} }
30
- .commit${s} { stroke: ${t.nodeBorder}; }
31
- .commit-highlight${s} { stroke: ${t.nodeBorder}; fill: ${t.nodeBorder}; }
32
- .label${s} { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; stroke-width: ${t.strokeWidth}; ${h?`font-weight:${t.noteFontWeight}`:""}}
33
- .arrow${s} { stroke: ${t.nodeBorder}; }
34
- .commit-bullets { fill: ${t.nodeBorder}; }
35
- .commit-cherry-pick${s} { stroke: ${t.nodeBorder}; }
36
- `;return n}else{let n="";for(let s=0;s<t.THEME_COLOR_LIMIT;s++)if(s===0)n+=`
37
- .branch-label${s} { fill: ${t.nodeBorder}; ${h?`font-weight:${t.noteFontWeight}`:""} }
38
- .commit${s} { stroke: ${t.nodeBorder}; }
39
- .commit-highlight${s} { stroke: ${t.nodeBorder}; fill: ${t.mainBkg}; }
40
- .label${s} { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; stroke-width: ${t.strokeWidth}; ${h?`font-weight:${t.noteFontWeight}`:""} }
41
- .arrow${s} { stroke: ${t.nodeBorder}; }
42
- .commit-bullets { fill: ${t.nodeBorder}; }
43
- `;else{let g=s%i.length;n+=`
44
- .branch-label${s} { fill: ${t.nodeBorder}; ${h?`font-weight:${t.noteFontWeight}`:""} }
45
- .commit${s} { stroke: ${i[g]}; fill: ${i[g]}; }
46
- .commit-highlight${s} { stroke: ${i[g]}; fill: ${i[g]}; }
47
- .label${s} { fill: ${yt.has(o)?t.mainBkg:i[g]}; stroke: ${i[g]}; stroke-width: ${t.strokeWidth}; }
48
- .arrow${s} { stroke: ${i[g]}; }
49
- `}return n}},"genColor"),wt=e((t)=>`${Array.from({length:t.THEME_COLOR_LIMIT},(r,o)=>o).map((r)=>{let o=r%Be;return`
50
- .branch-label${r} { fill: ${t["gitBranchLabel"+o]}; }
51
- .commit${r} { stroke: ${t["git"+o]}; fill: ${t["git"+o]}; }
52
- .commit-highlight${r} { stroke: ${t["gitInv"+o]}; fill: ${t["gitInv"+o]}; }
53
- .label${r} { fill: ${t["git"+o]}; }
54
- .arrow${r} { stroke: ${t["git"+o]}; }
55
- `}).join(`
56
- `)}`,"normalTheme"),Bt=e((t)=>{let r=b(),{theme:o}=r,c=xt.has(o);return`
57
- .commit-id,
58
- .commit-msg,
59
- .branch-label {
60
- fill: lightgrey;
61
- color: lightgrey;
62
- font-family: 'trebuchet ms', verdana, arial, sans-serif;
63
- font-family: var(--mermaid-font-family);
64
- }
65
-
66
- ${c?bt(t):wt(t)}
67
-
68
- .branch {
69
- stroke-width: ${t.strokeWidth};
70
- stroke: ${t.commitLineColor??t.lineColor};
71
- stroke-dasharray: ${c?"4 2":"2"};
72
- }
73
- .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${c?t.nodeBorder:t.commitLabelColor}; ${c?`font-weight:${t.noteFontWeight};`:""}}
74
- .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${c?"transparent":t.commitLabelBackground}; opacity: ${c?"":0.5}; }
75
- .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}
76
- .tag-label-bkg { fill: ${c?t.mainBkg:t.tagLabelBackground}; stroke: ${c?t.nodeBorder:t.tagLabelBorder}; ${c?`filter:${t.dropShadow}`:""} }
77
- .tag-hole { fill: ${t.textColor}; }
78
-
79
- .commit-merge {
80
- stroke: ${c?t.mainBkg:t.primaryColor};
81
- fill: ${c?t.mainBkg:t.primaryColor};
82
- }
83
- .commit-reverse {
84
- stroke: ${c?t.mainBkg:t.primaryColor};
85
- fill: ${c?t.mainBkg:t.primaryColor};
86
- stroke-width: ${c?t.strokeWidth:3};
87
- }
88
- .commit-highlight-outer {
89
- }
90
- .commit-highlight-inner {
91
- stroke: ${c?t.mainBkg:t.primaryColor};
92
- fill: ${c?t.mainBkg:t.primaryColor};
93
- }
94
-
95
- .arrow {
96
- /* Intentional: neo themes keep the bold 8px arrow (like classic themes); only redux-geometry themes use the thinner options.strokeWidth. */
97
- stroke-width: ${ke.has(o)?t.strokeWidth:8};
98
- stroke-linecap: round;
99
- fill: none
100
- }
101
- .gitTitleText {
102
- text-anchor: middle;
103
- font-size: 18px;
104
- fill: ${t.textColor};
105
- }
106
- `},"getStyles"),kt=Bt,Ot={parser:Ke,db:ue,renderer:ft,styles:kt};export{Ot as diagram};
@@ -1 +0,0 @@
1
- import{ir}from"./chunk-2cem4sv7.js";export{ir as createRailroadEbnfServices};
@@ -1 +0,0 @@
1
- import{e,a}from"./chunk-1s53190z.js";import{K,Dt,Mt}from"./chunk-2b63adsj.js";import{G}from"./chunk-14deqqhr.js";import{ar,kt}from"./chunk-2cem4sv7.js";var o=ar().Railroad.parser.LangiumParser,n=e((r)=>{switch(r.$type){case"RailroadTerminalExpr":return{type:"terminal",value:r.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:r.name};case"RailroadSpecialExpr":return{type:"special",text:r.text};case"RailroadSequenceExpr":{let t=r.elements.map(n);return t.length===1?t[0]:{type:"sequence",elements:t}}case"RailroadChoiceExpr":{let t=r.alternatives.map(n);return t.length===1?t[0]:{type:"choice",alternatives:t}}case"RailroadOptionalExpr":return{type:"optional",element:n(r.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:n(r.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:n(r.element),min:0,max:1/0};default:throw Error(`Unsupported railroad expression: ${r.$type}`)}},"transformExpression"),l=e((r)=>({name:r.name,definition:n(r.definition)}),"transformRule"),s=e((r)=>{if(G(r,K),r.title)K.setTitle(r.title);r.rules.map((t)=>K.addRule(l(t)))},"populateDb"),m={parse:e((r)=>{K.clear(),a.debug("[Railroad Parser] Starting Langium parse");let t=o.parse(r);if(t.lexerErrors.length>0||t.parserErrors.length>0)throw new kt(t);let i=t.value;a.debug("[Railroad Parser] Parsed rules:",i.rules.length),s(i),a.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:K}},R={parser:m,db:K,renderer:Mt,styles:Dt};export{R as diagram};
@@ -1 +0,0 @@
1
- import{Ei}from"./chunk-2cem4sv7.js";export{Ei as createEventModelingServices};
@@ -1,2 +0,0 @@
1
- import{o,r,g,t,n,_,rn,qt,ve,Le}from"./chunk-rddft5ce.js";var L={running:"运行中",waiting:"等待回答",context_exhausted:"上下文耗尽",done:"完成",error:"失败",failed:"失败",aborted:"已取消",cancelled:"已取消",interrupted:"已中断"},W={running:"warning",waiting:"warning",context_exhausted:"warning",done:"success",error:"danger",failed:"danger",aborted:"neutral",cancelled:"neutral",interrupted:"warning"},N=(a)=>a>=1000?`${(a/1000).toFixed(a>=1e4?0:1)}k`:String(a),H=(a)=>a>=60000?`${Math.floor(a/60000)} 分 ${Math.round(a%60000/1000)} 秒`:`${Math.round(a/1000)} 秒`;function X(a){let{Button:I,Panel:R,StatusChip:T,Markdown:z,ModelIcon:M,cn:c,style:B,useTheme:U}=_();U();let{connection:x,sessionID:f,payload:A,onOpen:E}=a,e=A,[s,Q]=r(),[k,b]=r(),[S,C]=r(!1),[d,q]=r(!1),[F,O]=r(!1),p=F||e.state==="aborted"||e.state==="cancelled",m=p?"aborted":e.state,u=(e.state==="running"||e.state==="waiting")&&!p;o(()=>{let i,v=!1,D=()=>{x.request(`/api/sessions/${encodeURIComponent(f)}/tasks/${encodeURIComponent(e.childSessionID)}`).then((h)=>{if(!v)Q(h),b(void 0)}).catch((h)=>{if(!v)b(h instanceof Error?h.message:"任务详情加载失败")})};if(D(),u)i=setInterval(D,1500);return()=>{if(v=!0,i)clearInterval(i)}},[x,f,e.childSessionID,u]);let j=async()=>{if(S)return;C(!0);try{await x.request(`/api/sessions/${encodeURIComponent(f)}/tasks/${encodeURIComponent(e.childSessionID)}/kill`,{method:"POST"}),O(!0)}catch(i){b(i instanceof Error?i.message:"取消任务失败")}finally{C(!1)}},l=e.summary?.trim()||e.handoff?.conclusion.trim()||"",w=l.length>360||l.split(`
2
- `).length>8,y=[s&&u&&s.lastTool&&`最近 ${s.lastTool}`,s&&H(s.elapsedMs),s&&`输入 ${N(s.usage.input)}`,s&&`输出 ${N(s.usage.output)}`,s&&s.usage.cacheRead>0&&`缓存 ${N(s.usage.cacheRead)}`,s&&s.usage.cost>0&&`$${s.usage.cost.toFixed(4)}`].filter(Boolean),G=Boolean(l||e.state==="waiting"&&!p||k),P=e.model||s?.session.model;return t(R,{className:"my-2 animate-fade",header:n(g,{children:[P?t(M,{modelID:P,className:"size-3.5 shrink-0",size:14}):t(Le,{className:c("size-3.5 shrink-0",u?"text-warning":"text-faint")}),t("h4",{className:"truncate font-medium text-ink",title:e.description,children:e.description}),y.length>0&&n("span",{className:"min-w-0 truncate text-faint tabular-nums",title:y.join(" · "),children:["· ",y.join(" · ")]})]}),actions:n(g,{children:[t(T,{tone:W[m]??"neutral",pulse:m==="running",children:L[m]??m}),u&&t(I,{size:"sm",variant:"danger-ghost",className:"h-6 rounded-md px-2 text-xs",disabled:S,onClick:()=>{j()},children:"取消"}),n(I,{size:"sm",variant:"ghost",className:"h-6 gap-1 rounded-md px-2 text-xs text-faint hover:text-ink",onClick:()=>E(e.childSessionID),children:["进入子会话",t(qt,{className:"size-3.5"})]})]}),children:G&&n(g,{children:[e.state==="waiting"&&!p&&n("div",{className:c("px-4 py-3",l&&"border-b border-line"),children:[n("p",{className:"flex items-center gap-1.5 text-xs font-medium text-warning",children:[t(rn,{className:"size-3.5"}),"子任务向主代理提问,等待回答"]}),e.pendingQuestions&&e.pendingQuestions.length>0&&t("ul",{className:"mt-1.5 flex flex-col gap-1 text-[13px] leading-relaxed text-ink",children:e.pendingQuestions.map((i)=>t("li",{className:"break-words",children:i.text},i.askedAt))})]}),l&&n("div",{className:"px-4 py-3",children:[n("div",{className:c("relative text-[13.5px] leading-[1.65] break-words text-ink/90 overflow-hidden transition-[max-height] duration-300 ease-out-quint [&_p]:my-1.5 [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",w&&!d?"max-h-40":"max-h-[1800px]"),children:[t(z,{text:l}),w&&t("div",{className:c("pointer-events-none absolute inset-x-0 bottom-0 h-10 bg-gradient-to-t from-panel via-panel/70 to-transparent transition-opacity duration-300",d?"opacity-0":"opacity-100")})]}),w&&n("button",{type:"button",className:B("chat.timelineRow","cursor-pointer select-none"),onClick:()=>q(!d),children:[t("span",{children:d?"收起":"展开全部"}),t(ve,{className:c("size-3.5 transition-transform duration-300 ease-out-quint",d&&"rotate-180")})]})]}),k&&t("p",{role:"status",className:"px-4 py-2.5 text-xs text-danger",children:k})]})})}export{X as TaskCard};
@@ -1 +0,0 @@
1
- import{Ti}from"./chunk-2cem4sv7.js";export{Ti as createArchitectureServices};