@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,39 +0,0 @@
1
- import{G}from"./chunk-14deqqhr.js";import{e,a,D,B,C,S,E,T,A,R,L,l,ne,qn,Gr,V,We,U}from"./chunk-1s53190z.js";import{X}from"./chunk-2cem4sv7.js";import{_t}from"./chunk-5wbnjjhg.js";import{Xe}from"./chunk-07agqp8h.js";function rt(t,o){return o<t?-1:o>t?1:o>=t?0:NaN}function at(t){return t}function nt(){var t=at,o=rt,k=null,H=ne(0),g=ne(qn),h=ne(0);function s(r){var i,u=(r=Gr(r)).length,m,z,W=0,v=Array(u),c=Array(u),F=+H.apply(this,arguments),_=Math.min(qn,Math.max(-qn,g.apply(this,arguments)-F)),N,Z=Math.min(Math.abs(_)/u,h.apply(this,arguments)),p=Z*(_<0?-1:1),M;for(i=0;i<u;++i)if((M=c[v[i]=i]=+t(r[i],i,r))>0)W+=M;if(o!=null)v.sort(function(I,x){return o(c[I],c[x])});else if(k!=null)v.sort(function(I,x){return k(r[I],r[x])});for(i=0,z=W?(_-u*p)/W:0;i<u;++i,F=N)m=v[i],M=c[m],N=F+(M>0?M*z:0)+p,c[m]={data:r[m],index:i,value:M,startAngle:F,endAngle:N,padAngle:Z};return c}return s.value=function(r){return arguments.length?(t=typeof r==="function"?r:ne(+r),s):t},s.sortValues=function(r){return arguments.length?(o=r,k=null,s):o},s.sort=function(r){return arguments.length?(k=r,o=null,s):k},s.startAngle=function(r){return arguments.length?(H=typeof r==="function"?r:ne(+r),s):H},s.endAngle=function(r){return arguments.length?(g=typeof r==="function"?r:ne(+r),s):g},s.padAngle=function(r){return arguments.length?(h=typeof r==="function"?r:ne(+r),s):h},s}var gt=D.pie,it={sections:new Map,showData:!1,config:gt},{sections:K,showData:ot}=it,xt=structuredClone(gt),St=e(()=>structuredClone(xt),"getConfig"),yt=e(()=>{K=new Map,ot=it.showData,C()},"clear"),wt=e(({label:t,value:o})=>{if(o<0)throw Error(`"${t}" has invalid value: ${o}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);if(!K.has(t))K.set(t,o),a.debug(`added new section: ${t}, with value: ${o}`)},"addSection"),At=e(()=>K,"getSections"),Ct=e((t)=>{ot=t},"setShowData"),$t=e(()=>ot,"getShowData"),dt={getConfig:St,clear:yt,setDiagramTitle:R,getDiagramTitle:L,setAccTitle:S,getAccTitle:E,setAccDescription:T,getAccDescription:A,addSection:wt,getSections:At,setShowData:Ct,getShowData:$t},Dt=e((t,o)=>{G(t,o),o.setShowData(t.showData),t.sections.map(o.addSection)},"populateDb"),Tt={parse:e(async(t)=>{let o=await X("pie",t);a.debug(o),Dt(o,dt)},"parse")},bt=e((t)=>`
2
- .pieCircle{
3
- stroke: ${t.pieStrokeColor};
4
- stroke-width : ${t.pieStrokeWidth};
5
- opacity : ${t.pieOpacity};
6
- }
7
- .pieCircle.highlighted{
8
- scale: 1.05;
9
- opacity: 1;
10
- }
11
- .pieCircle.highlightedOnHover:hover{
12
- transition-duration: 250ms;
13
- scale: 1.05;
14
- opacity: 1;
15
- }
16
- .pieOuterCircle{
17
- stroke: ${t.pieOuterStrokeColor};
18
- stroke-width: ${t.pieOuterStrokeWidth};
19
- fill: none;
20
- }
21
- .pieTitleText {
22
- text-anchor: middle;
23
- font-size: ${t.pieTitleTextSize};
24
- fill: ${t.pieTitleTextColor};
25
- font-family: ${t.fontFamily};
26
- }
27
- .slice {
28
- font-family: ${t.fontFamily};
29
- fill: ${t.pieSectionTextColor};
30
- font-size:${t.pieSectionTextSize};
31
- // fill: white;
32
- }
33
- .legend text {
34
- fill: ${t.pieLegendTextColor};
35
- font-family: ${t.fontFamily};
36
- font-size: ${t.pieLegendTextSize};
37
- }
38
- `,"getStyles"),kt=bt,zt=e((t)=>{let o=[...t.values()].reduce((g,h)=>g+h,0),k=[...t.entries()].map(([g,h])=>({label:g,value:h})).filter((g)=>g.value/o*100>=1);return nt().value((g)=>g.value).sort(null)(k)},"createPieArcs"),Et=e((t,o,k,H)=>{a.debug(`rendering pie chart
39
- `+t);let g=H.db,h=l(),s=U(g.getConfig(),h.pie),r=40,i=18,u=4,m=450,z=m,W=V(o),v=W.append("g");v.attr("transform","translate("+z/2+","+m/2+")");let{themeVariables:c}=h,[F]=We(c.pieOuterStrokeWidth);F??=2;let{legendPosition:_,textPosition:N}=s,Z=s.donutHole>0&&s.donutHole<=0.9?s.donutHole:0,p=Math.min(z,m)/2-r,M=_t().innerRadius(Z*p).outerRadius(p),I=_t().innerRadius(p*N).outerRadius(p*N),x=v.append("g");x.append("circle").attr("cx",0).attr("cy",0).attr("r",p+F/2).attr("class","pieOuterCircle");let q=g.getSections(),pt=zt(q),ft=[c.pie1,c.pie2,c.pie3,c.pie4,c.pie5,c.pie6,c.pie7,c.pie8,c.pie9,c.pie10,c.pie11,c.pie12],Q=0;q.forEach((n)=>{Q+=n});let lt=pt.filter((n)=>(n.data.value/Q*100).toFixed(0)!=="0"),Y=Xe(ft).domain([...q.keys()]);x.selectAll("mySlices").data(lt).enter().append("path").attr("d",M).attr("fill",(n)=>Y(n.data.label)).attr("class",(n)=>{let d="pieCircle";if(s.highlightSlice==="hover")d+=" highlightedOnHover";else if(s.highlightSlice===n.data.label)d+=" highlighted";return d}),x.selectAll("mySlices").data(lt).enter().append("text").text((n)=>(n.data.value/Q*100).toFixed(0)+"%").attr("transform",(n)=>"translate("+I.centroid(n)+")").style("text-anchor","middle").attr("class","slice");let ht=v.append("text").text(g.getDiagramTitle()).attr("x",0).attr("y",-(m-50)/2).attr("class","pieTitleText"),j=[...q.entries()].map(([n,d])=>({label:n,value:d})),O=v.selectAll(".legend").data(j).enter().append("g").attr("class","legend");O.append("rect").attr("width",i).attr("height",i).style("fill",(n)=>Y(n.label)).style("stroke",(n)=>Y(n.label)),O.append("text").attr("x",i+u).attr("y",i-u).text((n)=>{if(g.getShowData())return`${n.label} [${n.value}]`;return n.label});let P=Math.max(...O.selectAll("text").nodes().map((n)=>n?.getBoundingClientRect().width??0)),J=m,tt=z+r,f=i+u,et=j.length*f;switch(_){case"center":O.attr("transform",(n,d)=>{let y=f*j.length/2,w=-P/2-(i+u),b=d*f-y;return"translate("+w+","+b+")"});break;case"top":J+=et,O.attr("transform",(n,d)=>{let y=p,w=-P/2-(i+u),b=d*f-y;return`translate(${w}, ${b})`}),x.attr("transform",()=>`translate(0, ${et+f})`);break;case"bottom":J+=et,O.attr("transform",(n,d)=>{let y=-p-f,w=-P/2-(i+u),b=d*f-y;return"translate("+w+","+b+")"});break;case"left":tt+=i+u+P,O.attr("transform",(n,d)=>{let y=f*j.length/2,w=-p-(i+u),b=d*f-y;return"translate("+w+","+b+")"}),x.attr("transform",()=>`translate(${P+i+u}, 0)`);break;case"right":default:tt+=i+u+P,O.attr("transform",(n,d)=>{let y=f*j.length/2,w=12*i,b=d*f-y;return"translate("+w+","+b+")"});break}let st=ht.node()?.getBoundingClientRect().width??0,mt=z/2-st/2,vt=z/2+st/2,ct=Math.min(0,mt),ut=Math.max(tt,vt)-ct;W.attr("viewBox",`${ct} 0 ${ut} ${J}`),B(W,J,ut,s.useMaxWidth)},"draw"),Mt={draw:Et},Jt={parser:Tt,db:dt,renderer:Mt,styles:kt};export{Jt as diagram};
@@ -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{ir,kt}from"./chunk-2cem4sv7.js";var i=ir().RailroadEbnf.parser.LangiumParser,o=e((r)=>{let t=r.alternatives.map(m);if(t.length===1)return t[0];return{type:"choice",alternatives:t}},"transformChoice"),m=e((r)=>{let t=r.elements.map(p);if(t.length===1)return t[0];return{type:"sequence",elements:t}},"transformSequence"),s=e((r)=>{switch(r.$type){case"EbnfTerminal":return{type:"terminal",value:r.value};case"EbnfNonTerminal":return{type:"nonterminal",name:r.name};case"EbnfSpecial":return{type:"special",text:r.text};case"EbnfGroup":return o(r.element);case"EbnfOptional":return{type:"optional",element:o(r.element)};case"EbnfRepetition":return{type:"repetition",element:o(r.element),min:0,max:1/0};default:throw Error(`Unsupported EBNF primary node: ${r.$type}`)}},"transformPrimary"),l=e((r,t)=>{switch(t.$type){case"EbnfOptionalPostfix":return{type:"optional",element:r};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:r,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:r,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[r,{type:"terminal",value:"-"},s(t.except)]};default:throw Error(`Unsupported EBNF postfix node: ${t.$type}`)}},"transformPostfix"),p=e((r)=>r.postfixes.reduce((t,n)=>l(t,n),s(r.base)),"transformTerm"),f=e((r)=>({name:r.name,definition:o(r.definition)}),"transformRule"),u=e((r)=>{if(G(r,K),r.title)K.setTitle(r.title);r.rules.map((t)=>K.addRule(f(t)))},"populateDb"),c={parse:e((r)=>{K.clear(),a.debug("[EBNF Parser] Starting Langium parse");let t=i.parse(r);if(t.lexerErrors.length>0||t.parserErrors.length>0)throw new kt(t);let n=t.value;a.debug("[EBNF Parser] Parsed rules:",n.rules.length),u(n),a.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:K}},x={parser:c,db:K,renderer:Mt,styles:Dt};export{x as diagram};
@@ -1,2 +0,0 @@
1
- import{e,a,B,V}from"./chunk-1s53190z.js";import{X}from"./chunk-2cem4sv7.js";var i={parse:e(async(r)=>{let t=await X("info",r);a.debug(t)},"parse")},s={version:"12.2.0"},p=e(()=>s.version,"getVersion"),g={getVersion:p},m=e((r,t,n)=>{a.debug(`rendering info diagram
2
- `+r);let o=V(t);B(o,100,400,!0),o.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${n}`)},"draw"),v={draw:m},y={parser:i,db:g,renderer:v};export{y as diagram};
@@ -1 +0,0 @@
1
- import{ko}from"./chunk-rddft5ce.js";export{ko as QuestionDock};
@@ -1,2 +0,0 @@
1
- import{e}from"./chunk-1s53190z.js";function G(c,i){if(c.accDescr)i.setAccDescription?.(c.accDescr);if(c.accTitle)i.setAccTitle?.(c.accTitle);if(c.title)i.setDiagramTitle?.(c.title)}e(G,"populateCommonDb");
2
- export{G};
@@ -1,89 +0,0 @@
1
- import{e,a,ke,b,O,B,C,l,V}from"./chunk-1s53190z.js";var M="",D="",E="",W=[],N=new Map,S=e((t)=>O(t,l()),"sanitizeText"),R=e((t)=>{switch(t.type){case"terminal":return{...t,value:S(t.value)};case"nonterminal":return{...t,name:S(t.name)};case"sequence":return{...t,elements:t.elements.map(R)};case"choice":return{...t,alternatives:t.alternatives.map(R)};case"optional":return{...t,element:R(t.element)};case"repetition":return{...t,element:R(t.element),separator:t.separator?R(t.separator):void 0};case"special":return{...t,text:S(t.text)}}},"sanitizeAstNode"),G=e(()=>{M="",D="",E="",W.length=0,N.clear(),C(),a.debug("[Railroad] Database cleared")},"clear"),L=e((t)=>{M=S(t),a.debug("[Railroad] Title set:",t)},"setTitle"),I=e(()=>M,"getTitle"),U=e((t)=>{let n={...t,name:S(t.name),definition:R(t.definition),comment:t.comment?S(t.comment):void 0};if(a.debug("[Railroad] Adding rule:",n.name),N.has(n.name))a.warn(`[Railroad] Rule '${n.name}' is already defined. Overwriting.`);W.push(n),N.set(n.name,n)},"addRule"),j=e(()=>W,"getRules"),J=e((t)=>N.get(t),"getRule"),Q=e((t)=>{D=S(t).replace(/^\s+/g,""),a.debug("[Railroad] Accessibility title set:",t)},"setAccTitle"),Z=e(()=>D,"getAccTitle"),ee=e((t)=>{E=S(t).replace(/\n\s+/g,`
2
- `),a.debug("[Railroad] Accessibility description set:",t)},"setAccDescription"),te=e(()=>E,"getAccDescription"),re=L,ie=I,K={clear:G,setTitle:L,getTitle:I,addRule:U,getRules:j,getRule:J,setAccTitle:Q,getAccTitle:Z,setAccDescription:ee,getAccDescription:te,setDiagramTitle:re,getDiagramTitle:ie},T={compactMode:!1,padding:10,verticalSeparation:8,horizontalSeparation:10,arcRadius:10,fontSize:14,fontFamily:"monospace",terminalFill:"#FFFFC0",terminalStroke:"#000000",terminalTextColor:"#000000",nonTerminalFill:"#FFFFFF",nonTerminalStroke:"#000000",nonTerminalTextColor:"#000000",lineColor:"#000000",strokeWidth:2,markerFill:"#000000",commentFill:"#E8E8E8",commentStroke:"#888888",commentTextColor:"#666666",specialFill:"#F0E0FF",specialStroke:"#8800CC",ruleNameColor:"#000066",showMarkers:!0,markerRadius:5},ne=/^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\([\d\s%+,./-]+\)$|^[a-z]+$/i,ae=/^[\w "',.-]+$/,oe=new Set(["compactMode","padding","verticalSeparation","horizontalSeparation","arcRadius","fontSize","fontFamily","terminalFill","terminalStroke","terminalTextColor","nonTerminalFill","nonTerminalStroke","nonTerminalTextColor","lineColor","strokeWidth","markerFill","commentFill","commentStroke","commentTextColor","specialFill","specialStroke","ruleNameColor","showMarkers","markerRadius"]),X=e((t)=>{if(!t)return!1;return Object.keys(t).every((n)=>n==="railroad"||oe.has(n))},"isRailroadStyleOptions"),le=e((t)=>{if(!t)return{};if("railroad"in t&&t.railroad)return t.railroad;return X(t)?t:{}},"extractRailroadOverrides"),se=e((t)=>{if(!t||X(t))return{};let{railroad:n,svgId:s,theme:i,look:r,...o}=t;return o},"extractThemeOverrides"),u=e((t,n)=>{if(typeof t!=="string")return n;let s=t.trim();return ne.test(s)?s:n},"sanitizeColorValue"),H=e((t,n)=>{if(typeof t!=="string")return n;let s=t.trim();return ae.test(s)?s:n},"sanitizeFontFamilyValue"),y=e((t,n)=>{let s=typeof t==="number"?t:typeof t==="string"?Number.parseFloat(t):Number.NaN;return Number.isFinite(s)&&s>=0?s:n},"sanitizeNumberValue"),de=e((t)=>{let n=typeof t==="number"?t:typeof t==="string"?Number.parseFloat(t):Number.NaN;return Number.isFinite(n)&&n>0?n:void 0},"parseThemeFontSize"),ce=e((t)=>{let n=H(t.fontFamily,T.fontFamily),s=de(t.fontSize)??T.fontSize;return{...T,fontFamily:n,fontSize:s,terminalFill:u(t.secondBkg??t.secondaryColor,T.terminalFill),terminalStroke:u(t.secondaryBorderColor??t.lineColor,T.terminalStroke),terminalTextColor:u(t.secondaryTextColor??t.textColor,T.terminalTextColor),nonTerminalFill:u(t.mainBkg??t.background,T.nonTerminalFill),nonTerminalStroke:u(t.primaryBorderColor??t.lineColor,T.nonTerminalStroke),nonTerminalTextColor:u(t.primaryTextColor??t.textColor,T.nonTerminalTextColor),lineColor:u(t.lineColor,T.lineColor),markerFill:u(t.lineColor,T.markerFill),commentFill:u(t.labelBackground??t.tertiaryColor,T.commentFill),commentStroke:u(t.tertiaryBorderColor??t.lineColor,T.commentStroke),commentTextColor:u(t.tertiaryTextColor??t.textColor,T.commentTextColor),specialFill:u(t.tertiaryColor??t.secondaryColor,T.specialFill),specialStroke:u(t.tertiaryBorderColor??t.secondaryBorderColor,T.specialStroke),ruleNameColor:u(t.titleColor??t.textColor,T.ruleNameColor)}},"buildThemeDefaults"),_=e((t)=>{let n=b(),s={...ke(),...n.themeVariables??{},...se(t)},i=ce(s),r={...n.railroad??{},...le(t)};return{compactMode:r.compactMode??i.compactMode,padding:y(r.padding,i.padding),verticalSeparation:y(r.verticalSeparation,i.verticalSeparation),horizontalSeparation:y(r.horizontalSeparation,i.horizontalSeparation),arcRadius:y(r.arcRadius,i.arcRadius),fontSize:y(r.fontSize,i.fontSize),fontFamily:H(r.fontFamily,i.fontFamily),terminalFill:u(r.terminalFill,i.terminalFill),terminalStroke:u(r.terminalStroke,i.terminalStroke),terminalTextColor:u(r.terminalTextColor,i.terminalTextColor),nonTerminalFill:u(r.nonTerminalFill,i.nonTerminalFill),nonTerminalStroke:u(r.nonTerminalStroke,i.nonTerminalStroke),nonTerminalTextColor:u(r.nonTerminalTextColor,i.nonTerminalTextColor),lineColor:u(r.lineColor,i.lineColor),strokeWidth:y(r.strokeWidth,i.strokeWidth),markerFill:u(r.markerFill,i.markerFill),commentFill:u(r.commentFill,i.commentFill),commentStroke:u(r.commentStroke,i.commentStroke),commentTextColor:u(r.commentTextColor,i.commentTextColor),specialFill:u(r.specialFill,i.specialFill),specialStroke:u(r.specialStroke,i.specialStroke),ruleNameColor:u(r.ruleNameColor,i.ruleNameColor),showMarkers:r.showMarkers??i.showMarkers,markerRadius:y(r.markerRadius,i.markerRadius)}},"buildRailroadStyleOptions"),Dt=e((t)=>{let{fontFamily:n,fontSize:s,terminalFill:i,terminalStroke:r,terminalTextColor:o,nonTerminalFill:g,nonTerminalStroke:m,nonTerminalTextColor:d,lineColor:f,strokeWidth:p,markerFill:h,commentFill:k,commentStroke:c,commentTextColor:x,specialFill:z,specialStroke:F,ruleNameColor:v}=_(t);return`
3
- .railroad-diagram {
4
- font-family: ${n};
5
- font-size: ${s}px;
6
- }
7
-
8
- .railroad-terminal rect {
9
- fill: ${i};
10
- stroke: ${r};
11
- stroke-width: ${p}px;
12
- }
13
-
14
- .railroad-terminal text {
15
- fill: ${o};
16
- font-family: ${n};
17
- font-size: ${s}px;
18
- text-anchor: middle;
19
- dominant-baseline: middle;
20
- }
21
-
22
- .railroad-nonterminal rect {
23
- fill: ${g};
24
- stroke: ${m};
25
- stroke-width: ${p}px;
26
- }
27
-
28
- .railroad-nonterminal text {
29
- fill: ${d};
30
- font-family: ${n};
31
- font-size: ${s}px;
32
- text-anchor: middle;
33
- dominant-baseline: middle;
34
- }
35
-
36
- .railroad-line {
37
- stroke: ${f};
38
- stroke-width: ${p}px;
39
- fill: none;
40
- }
41
-
42
- .railroad-start circle,
43
- .railroad-end circle {
44
- fill: ${h};
45
- }
46
-
47
- .railroad-comment ellipse {
48
- fill: ${k};
49
- stroke: ${c};
50
- stroke-width: ${p}px;
51
- }
52
-
53
- .railroad-comment text {
54
- fill: ${x};
55
- font-style: italic;
56
- font-family: ${n};
57
- font-size: ${s}px;
58
- text-anchor: middle;
59
- dominant-baseline: middle;
60
- }
61
-
62
- .railroad-special rect {
63
- fill: ${z};
64
- stroke: ${F};
65
- stroke-width: ${p}px;
66
- stroke-dasharray: 5,3;
67
- }
68
-
69
- .railroad-special text {
70
- fill: ${d};
71
- font-family: ${n};
72
- font-size: ${s}px;
73
- text-anchor: middle;
74
- dominant-baseline: middle;
75
- }
76
-
77
- .railroad-rule-name {
78
- font-weight: bold;
79
- fill: ${v};
80
- font-family: ${n};
81
- font-size: ${s}px;
82
- }
83
-
84
- .railroad-group {
85
- /* Grouping container, no specific styles */
86
- }
87
- `},"getStyles"),w=class{constructor(){this.d=""}static{e(this,"PathBuilder")}moveTo(t,n){return this.d+=`M ${t} ${n} `,this}lineTo(t,n){return this.d+=`L ${t} ${n} `,this}horizontalTo(t){return this.d+=`H ${t} `,this}verticalTo(t){return this.d+=`V ${t} `,this}arcTo(t,n,s,i,r,o,g){return this.d+=`A ${t} ${n} ${s} ${i?1:0} ${r?1:0} ${o} ${g} `,this}build(){return this.d.trim()}},me=class{constructor(t,n=_()){this.textCache=new Map,this.svg=t,this.config=n}static{e(this,"RailroadRenderer")}measureText(t){if(this.textCache.has(t))return this.textCache.get(t);let n=this.svg.append("text").attr("font-family",this.config.fontFamily).attr("font-size",this.config.fontSize).text(t),s=n.node().getBBox(),i={width:s.width,height:s.height};return n.remove(),this.textCache.set(t,i),i}renderTerminal(t,n){let s=this.measureText(n),i=s.width+this.config.padding*2,r=s.height+this.config.padding*2,o=t.append("g").attr("class","railroad-terminal");return o.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",r).attr("rx",10).attr("ry",10),o.append("text").attr("x",i/2).attr("y",r/2).text(n),{element:o.node(),dimensions:{width:i,height:r,up:r/2,down:r/2}}}renderNonTerminal(t,n){let s=this.measureText(n),i=s.width+this.config.padding*2,r=s.height+this.config.padding*2,o=t.append("g").attr("class","railroad-nonterminal");return o.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",r),o.append("text").attr("x",i/2).attr("y",r/2).text(n),{element:o.node(),dimensions:{width:i,height:r,up:r/2,down:r/2}}}renderSequence(t,n){let s=n.map((d)=>this.renderExpression(t,d)),i=0,r=0,o=0;for(let d of s)i+=d.dimensions.width,r=Math.max(r,d.dimensions.up),o=Math.max(o,d.dimensions.down);i+=(s.length-1)*this.config.horizontalSeparation;let g=t.append("g").attr("class","railroad-sequence"),m=0;for(let d=0;d<s.length;d++){let f=s[d],p=r-f.dimensions.up;if(g.node().appendChild(f.element).setAttribute("transform",`translate(${m}, ${p})`),d<s.length-1){let k=m+f.dimensions.width,c=k+this.config.horizontalSeparation,x=r;g.append("path").attr("class","railroad-line").attr("d",new w().moveTo(k,x).lineTo(c,x).build())}m+=f.dimensions.width+this.config.horizontalSeparation}return{element:g.node(),dimensions:{width:i,height:r+o,up:r,down:o}}}renderChoice(t,n){let s=n.map((h)=>this.renderExpression(t,h)),i=0,r=0;for(let h of s)i=Math.max(i,h.dimensions.width),r+=h.dimensions.height;r+=(s.length-1)*this.config.verticalSeparation;let o=this.config.arcRadius,g=o*4,m=i+g,d=t.append("g").attr("class","railroad-choice"),f=0,p=r/2;for(let h of s){let k=f,c=k+h.dimensions.up,x=o*2+(i-h.dimensions.width)/2;d.node().appendChild(h.element).setAttribute("transform",`translate(${x}, ${k})`);let F=new w,v=c>p;if(c===p)F.moveTo(0,p).lineTo(x,c);else F.moveTo(0,p).arcTo(o,o,0,!1,v,o,p+(v?o:-o)).lineTo(o,c-(v?o:-o)).arcTo(o,o,0,!1,!v,o*2,c).lineTo(x,c);d.append("path").attr("class","railroad-line").attr("d",F.build());let A=new w,Y=x+h.dimensions.width,q=m-o*2;if(c===p)A.moveTo(Y,c).lineTo(m,p);else A.moveTo(Y,c).lineTo(q,c).arcTo(o,o,0,!1,!v,m-o,c+(v?-o:o)).lineTo(m-o,p+(v?o:-o)).arcTo(o,o,0,!1,v,m,p);d.append("path").attr("class","railroad-line").attr("d",A.build()),f+=h.dimensions.height+this.config.verticalSeparation}return{element:d.node(),dimensions:{width:m,height:r,up:p,down:r-p}}}renderOptional(t,n){let s=this.renderExpression(t,n),i=this.config.arcRadius,r=i*2,o=s.dimensions.width+i*4,g=s.dimensions.height+r,m=t.append("g").attr("class","railroad-optional"),d=i*2,f=r;m.node().appendChild(s.element).setAttribute("transform",`translate(${d}, ${f})`);let h=f+s.dimensions.up,k=new w().moveTo(0,h).lineTo(i*2,h);m.append("path").attr("class","railroad-line").attr("d",k.build());let c=new w().moveTo(d+s.dimensions.width,h).lineTo(o,h);m.append("path").attr("class","railroad-line").attr("d",c.build());let x=new w().moveTo(0,h).arcTo(i,i,0,!1,!1,i,h-i).lineTo(i,i).arcTo(i,i,0,!1,!0,i*2,0).lineTo(o-i*2,0).arcTo(i,i,0,!1,!0,o-i,i).lineTo(o-i,h-i).arcTo(i,i,0,!1,!1,o,h);return m.append("path").attr("class","railroad-line").attr("d",x.build()),{element:m.node(),dimensions:{width:o,height:g,up:h,down:g-h}}}renderRepetition(t,n,s){let i=this.renderExpression(t,n),r=this.config.arcRadius,o=r*2,g=i.dimensions.width+r*4,m=s===0,d=i.dimensions.height+o+(m?o:0),f=t.append("g").attr("class","railroad-repetition"),p=r*2,h=m?o:0;f.node().appendChild(i.element).setAttribute("transform",`translate(${p}, ${h})`);let c=h+i.dimensions.up;f.append("path").attr("class","railroad-line").attr("d",new w().moveTo(0,c).lineTo(r*2,c).build()),f.append("path").attr("class","railroad-line").attr("d",new w().moveTo(p+i.dimensions.width,c).lineTo(g,c).build());let x=h+i.dimensions.height+r,z=new w().moveTo(p+i.dimensions.width,c).arcTo(r,r,0,!1,!0,p+i.dimensions.width+r,c+r).lineTo(p+i.dimensions.width+r,x).arcTo(r,r,0,!1,!0,p+i.dimensions.width,x+r).lineTo(r*2,x+r).arcTo(r,r,0,!1,!0,r,x).lineTo(r,c+r).arcTo(r,r,0,!1,!0,r*2,c);if(f.append("path").attr("class","railroad-line").attr("d",z.build()),m){let F=new w().moveTo(0,c).arcTo(r,r,0,!1,!1,r,c-r).lineTo(r,r).arcTo(r,r,0,!1,!0,r*2,0).lineTo(g-r*2,0).arcTo(r,r,0,!1,!0,g-r,r).lineTo(g-r,c-r).arcTo(r,r,0,!1,!1,g,c);f.append("path").attr("class","railroad-line").attr("d",F.build())}return{element:f.node(),dimensions:{width:g,height:d,up:c,down:d-c}}}renderSpecial(t,n){let s=this.measureText("? "+n+" ?"),i=s.width+this.config.padding*2,r=s.height+this.config.padding*2,o=t.append("g").attr("class","railroad-special");return o.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",r),o.append("text").attr("x",i/2).attr("y",r/2).text("? "+n+" ?"),{element:o.node(),dimensions:{width:i,height:r,up:r/2,down:r/2}}}renderExpression(t,n){switch(n.type){case"terminal":return this.renderTerminal(t,n.value);case"nonterminal":return this.renderNonTerminal(t,n.name);case"sequence":return this.renderSequence(t,n.elements);case"choice":return this.renderChoice(t,n.alternatives);case"optional":return this.renderOptional(t,n.element);case"repetition":return this.renderRepetition(t,n.element,n.min);case"special":return this.renderSpecial(t,n.text);default:throw Error(`Unknown node type: ${n.type}`)}}renderRule(t,n){let s=this.svg.append("g").attr("class","railroad-rule").attr("transform",`translate(0, ${n})`),i=t.name+" =",r=this.measureText(i).width+20,o=r+20,g=s.append("g"),m=this.renderExpression(g,t.definition),d=Math.max(20,m.dimensions.up),f=d-m.dimensions.up;return g.attr("transform",`translate(${o}, ${f})`),s.append("g").attr("class","railroad-rule-name-group").append("text").attr("class","railroad-rule-name").attr("x",0).attr("y",d).text(i),s.append("g").attr("class","railroad-start").append("circle").attr("cx",r).attr("cy",d).attr("r",this.config.markerRadius),s.append("g").attr("class","railroad-end").append("circle").attr("cx",o+m.dimensions.width+10).attr("cy",d).attr("r",this.config.markerRadius),s.append("path").attr("class","railroad-line").attr("d",new w().moveTo(r+this.config.markerRadius,d).lineTo(o,d).build()),s.append("path").attr("class","railroad-line").attr("d",new w().moveTo(o+m.dimensions.width,d).lineTo(o+m.dimensions.width+10-this.config.markerRadius,d).build()),{height:Math.max(40,f+m.dimensions.height+this.config.padding*2),width:o+m.dimensions.width+10+this.config.markerRadius}}renderDiagram(t){let n=this.config.padding,s=0;for(let i of t){let r=this.renderRule(i,n);n+=r.height+this.config.verticalSeparation,s=Math.max(s,r.width)}return{width:s+this.config.padding*2,height:n+this.config.padding}}},P=e((t,n,s)=>{B(t,n.height,n.width,s),t.attr("viewBox",`0 0 ${n.width} ${n.height}`)},"configureRailroadSvgSize"),he=e((t,n,s)=>{a.debug(`[Railroad] Rendering diagram
88
- `+t);try{let i=V(n);i.attr("class","railroad-diagram");let o=b().railroad?.useMaxWidth??!0,g=K.getRules();if(a.debug(`[Railroad] Rendering ${g.length} rules`),g.length===0){a.warn("[Railroad] No rules to render"),P(i,{height:100,width:200},o);return}let d=new me(i,_()).renderDiagram(g);P(i,d,o),a.debug("[Railroad] Render complete")}catch(i){throw a.error("[Railroad] Render error:",i),i}},"draw"),Mt={draw:he};
89
- export{K,Dt,Mt};
@@ -1,4 +0,0 @@
1
- import{F,o,y,i,r,g,t,n,_,j,ci,xo,Yi,Pr,nr,_o,Zi,wo,ea,ta,$n,ui,di}from"./chunk-rddft5ce.js";var P={sealed:"已封存",folded:"已折叠",archived:"已移出"},T=["bg-accent","bg-accent-strong","bg-warning","bg-success"];function W(e,d){if(e.startsWith("recent-"))return"json";let c=d.trimStart();if(!c)return"markdown";if(c.startsWith("{")||c.startsWith("["))return"json";if(/^<[a-zA-Z_][\w.-]*(?:\s+[^>]*)?>/.test(c))return"xml";return"markdown"}function B(e){if(!e||e.length>32000)return e;if(!e.trimStart().startsWith("<"))return e;let c=[],m=0,a=(p)=>" ".repeat(p),l=/(<([a-zA-Z_][\w.-]*)(?:\s+[^>]*)?>([^\r\n<]*)<\/\2>)|(<\/[a-zA-Z_][\w.-]*>)|(<[a-zA-Z_][\w.-]*(?:\s+[^>]*)?\/>)|(<[a-zA-Z_][\w.-]*(?:\s+[^>]*)?>)|([^<]+)/g,u;while((u=l.exec(e))!==null){let[,p,,,f,s,x,v]=u;if(p)c.push(`${a(m)}${p.trim()}`);else if(f)m=Math.max(0,m-1),c.push(`${a(m)}${f.trim()}`);else if(x)c.push(`${a(m)}${x.trim()}`),m++;else if(s)c.push(`${a(m)}${s.trim()}`);else if(v){let h=v.trim();if(h)for(let w of h.split(/\r?\n/)){let E=w.trim();if(E)c.push(`${a(m)}${E}`)}}}return c.length>0?c.join(`
2
- `):e}function R(){return n("div",{role:"status","aria-busy":"true","aria-label":"正在加载上下文",className:"space-y-2 animate-pulse",children:[t("div",{className:"h-10 rounded-xl border border-line bg-panel/40"}),t("div",{className:"h-10 rounded-xl border border-line bg-panel/40"}),t("div",{className:"h-10 rounded-xl border border-line bg-panel/40"})]})}function k(e){let{style:d}=_();return t("p",{className:d("surface.empty"),children:e.children})}function A(e){let{cn:d}=_();if(!e.items.length)return t(k,{children:"新会话还没有上下文。发送第一条消息后,这里会显示构成。"});let c=e.items.reduce((m,a)=>m+a.tokens,0)||1;return n("div",{className:"space-y-2.5",children:[t("div",{className:"flex h-2 overflow-hidden rounded-full bg-raised",children:e.items.map((m,a)=>t("span",{className:d(T[a%T.length],"transition-[width] duration-300 ease-out-quint"),title:`${m.label}:${m.tokens.toLocaleString()} token`,style:{width:`${m.tokens/c*100}%`}},m.id))}),t("div",{className:"space-y-1.5",children:e.items.map((m,a)=>t(G,{item:m,total:c,index:a,color:T[a%T.length]??"bg-accent"},m.id))})]})}function G(e){let{cn:d,Chevron:c,CopyButton:m,Code:a,style:l,useTheme:u}=_();u();let[p,f]=r(!1),s=(e.item.tokens/e.total*100).toFixed(1),x=y(()=>p&&e.item.detail?nr(e.item.detail):"",[p,e.item.detail]),v=y(()=>x?W(e.item.id,x):"markdown",[x,e.item.id]),h=y(()=>{if(!x)return"";return v==="xml"?B(x):x},[x,v]);return n("div",{"data-state":p?"open":"closed",className:l("surface.interactive","group/collapsible"),children:[n("button",{type:"button","aria-expanded":p,onClick:()=>f((w)=>!w),className:"flex w-full items-center gap-2 px-3 py-2 text-left text-xs",children:[t("span",{className:d("size-2 shrink-0 rounded-full",e.color),"aria-hidden":!0}),t("span",{className:"min-w-0 flex-1 truncate font-medium text-ink",children:e.item.label}),e.item.state&&t("span",{className:l("control.badge","text-[10px]"),children:P[e.item.state]}),t("span",{className:"font-mono tabular-nums text-dim",children:e.item.tokens.toLocaleString()}),n("span",{className:"w-10 text-right font-mono text-[11px] tabular-nums text-faint",children:[s,"%"]}),t(c,{className:"-rotate-90 text-faint group-data-[state=open]/collapsible:rotate-90"})]}),p&&n("div",{className:"border-t border-line/60 bg-raised/20 px-3 py-2 text-xs text-dim",children:[t("div",{className:"mb-2 h-1 overflow-hidden rounded-full bg-raised",children:t("div",{className:d("h-full",e.color),style:{width:`${s}%`}})}),h?n("div",{className:l("surface.subtle","group/detail relative overflow-hidden rounded-lg bg-panel/70 p-2.5"),children:[t("div",{className:"absolute right-1.5 top-1.5 z-10",children:t(m,{text:e.item.detail,size:"icon-xs",className:"bg-raised/60 hover:bg-raised text-faint hover:text-ink backdrop-blur-sm"})}),t("div",{className:"max-h-80 overflow-y-auto pr-6 text-dim",children:t(a,{code:h,lang:v,className:"text-[11px]! leading-relaxed! [&_pre]:whitespace-pre-wrap [&_pre]:break-words [&_pre]:[overflow-wrap:anywhere]"})})]}):t("p",{className:"py-2 text-center text-xs text-faint",children:"(空)"})]})]})}var I=40,Q={accent:"bg-accent/15 text-accent",success:"bg-success/15 text-success",warning:"bg-warning/15 text-warning",danger:"bg-danger/15 text-danger",neutral:"bg-raised text-dim"};function O(e){let{Button:d,CopyButton:c,style:m,useTheme:a}=_();a();let[l,u]=r(I),p=i(null),f=l<e.entries.length;o(()=>{let x=p.current;if(!x||!f||typeof IntersectionObserver>"u")return;let v=new IntersectionObserver((h)=>{if(h.some((w)=>w.isIntersecting))u((w)=>Math.min(e.entries.length,w+I))},{rootMargin:"480px"});return v.observe(x),()=>v.disconnect()},[f,e.entries.length]);let s=y(()=>e.entries.slice(-l).reverse(),[e.entries,l]);if(!e.entries.length)return t(k,{children:"还没有消息。"});return n("div",{className:"space-y-1.5",children:[n("div",{className:m("surface.subtle","flex items-center justify-between px-3 py-1.5 text-xs text-faint"),children:[n("span",{children:["共 ",e.entries.length," 条记录"]}),t(c,{text:()=>e.entries.map((x)=>JSON.stringify(x,null,2)).join(`
3
-
4
- `),size:"icon-xs",label:"复制全部原始 JSON",className:"hover:bg-raised text-faint hover:text-ink"})]}),s.map((x)=>t(Y,{entry:x},x.seq)),f&&n("div",{ref:p,className:m("surface.subtle","flex items-center justify-between bg-panel/40 px-3 py-2 text-xs text-faint"),children:[n("span",{children:["已显示 ",s.length," / ",e.entries.length," 条"]}),n("div",{className:"flex items-center gap-1.5",children:[t(d,{size:"sm",variant:"ghost",onClick:()=>u((x)=>Math.min(e.entries.length,x+I)),children:"加载更多"}),t(d,{size:"sm",variant:"ghost",onClick:()=>u(e.entries.length),children:"显示全部"})]})]})]})}var Y=F(function(d){let{Chevron:c,CopyButton:m,style:a,useTheme:l}=_();l();let[u,p]=r(!1),f=_o(d.entry),s=y(()=>xo(d.entry.time),[d.entry.time]);return n("div",{"data-state":u?"open":"closed",className:a("surface.interactive","group/collapsible"),children:[n("button",{type:"button","aria-expanded":u,onClick:()=>p((x)=>!x),className:"flex w-full items-center gap-2 px-3 py-2 text-left text-xs",children:[n("span",{className:"shrink-0 font-mono text-[10.5px] tabular-nums text-faint",children:["#",d.entry.seq]}),t("span",{className:a("control.badge","shrink-0 font-medium text-[10px]",Q[f.tone]),children:f.badge}),t("span",{className:"min-w-0 flex-1 truncate text-ink",children:f.title}),f.meta&&t("span",{className:a("control.badge","shrink-0 font-mono text-[10px] text-faint"),children:f.meta}),t("span",{className:"shrink-0 font-mono text-[10.5px] tabular-nums text-faint",children:s}),t(c,{className:"-rotate-90 text-faint group-data-[state=open]/collapsible:rotate-90"})]}),u&&t("div",{className:"border-t border-line/60 bg-raised/20 px-3 py-2.5 text-xs text-dim",children:n("div",{className:"space-y-2",children:[n("div",{className:"flex items-center justify-between text-[11px] text-faint",children:[n("span",{className:"font-mono",children:[d.entry.type," · #",d.entry.seq]}),t(m,{text:()=>JSON.stringify(d.entry,null,2),size:"icon-xs",label:"复制此条 JSON",className:"bg-raised/60 hover:bg-raised text-faint hover:text-ink"})]}),t(ee,{entry:d.entry})]})})]})});function ee(e){let{Code:d,style:c,useTheme:m}=_();m();let a=e.entry;if(a.type==="user")return n("div",{className:"space-y-2",children:[a.text&&t("pre",{className:c("surface.subtle","max-h-72 overflow-y-auto p-2.5 font-sans text-xs leading-relaxed text-ink whitespace-pre-wrap break-words [overflow-wrap:anywhere]"),children:Pr(a.text)}),a.attachments&&a.attachments.length>0&&n("div",{className:"space-y-1",children:[n("div",{className:"text-[10.5px] font-medium text-faint",children:["附件(",a.attachments.length,")"]}),t("div",{className:"flex flex-wrap gap-1.5",children:a.attachments.map((l,u)=>{let p=l.kind==="image"?Math.floor(l.data.length*0.75):l.data.length;return n("div",{className:c("surface.subtle","inline-flex items-center gap-1.5 px-2 py-1 text-[11px]"),children:[t("span",{className:c("control.badge","text-[10px] text-faint"),children:l.kind==="image"?"图片":l.kind==="path"?"路径":"文本"}),t("span",{className:"max-w-40 truncate font-medium text-ink",children:l.name}),n("span",{className:"font-mono text-[10px] text-faint",children:[l.mimeType," · ",Yi(p)]})]},`${l.name}-${u}`)})})]}),a.notices&&a.notices.length>0&&n("div",{className:"space-y-1",children:[n("div",{className:"text-[10.5px] font-medium text-faint",children:["通知来源(",a.notices.length,")"]}),a.notices.map((l)=>n("div",{className:c("surface.subtle","flex items-center justify-between px-2.5 py-1.5 font-mono text-[11px]"),children:[n("span",{className:"truncate text-ink",children:[l.sourceKind,"/",l.sourceID]}),t("span",{className:"text-faint",children:l.state})]},l.dedupeKey))]})]});if(a.type==="assistant")return n("div",{className:"space-y-2",children:[n("div",{className:"font-mono text-[11px] text-faint",children:["模型:",a.model]}),a.error&&t("div",{className:"rounded-lg border border-danger/30 bg-danger/8 px-2.5 py-2 text-xs text-danger",children:a.error}),a.parts.map((l,u)=>{if(l.type==="thinking")return n("div",{className:c("surface.subtle","p-2.5 space-y-1"),children:[t("div",{className:"text-[10.5px] font-medium text-faint",children:"思考"}),t("pre",{className:"max-h-60 overflow-y-auto font-sans text-xs italic leading-relaxed text-dim whitespace-pre-wrap break-words [overflow-wrap:anywhere]",children:Pr(l.text)})]},`thinking-${u}`);if(l.type==="text")return n("div",{className:c("surface.subtle","p-2.5 space-y-1"),children:[t("div",{className:"text-[10.5px] font-medium text-faint",children:"回复"}),t("pre",{className:"max-h-60 overflow-y-auto font-sans text-xs leading-relaxed text-ink whitespace-pre-wrap break-words [overflow-wrap:anywhere]",children:Pr(l.text)})]},`text-${u}`);return n("div",{className:c("surface.subtle","p-2.5 space-y-1.5"),children:[n("div",{className:"flex items-center justify-between gap-2 text-[11px]",children:[n("span",{className:"font-mono font-medium text-ink",children:["工具调用 · ",l.name]}),t("span",{className:"truncate font-mono text-[10px] text-faint",children:l.id})]}),t("div",{className:"max-h-60 overflow-y-auto text-dim",children:t(d,{code:nr(JSON.stringify(l.input,Zi,2)),lang:"json",className:"text-[11px]! leading-relaxed! [&_pre]:whitespace-pre-wrap [&_pre]:break-words [&_pre]:[overflow-wrap:anywhere]"})})]},l.id||`tool-${u}`)})]});if(a.type==="tool_result")return n("div",{className:"space-y-2",children:[n("div",{className:"flex flex-wrap items-center gap-2 font-mono text-[11px] text-faint",children:[t("span",{className:"text-ink",children:a.name}),t("span",{children:"·"}),t("span",{className:"truncate",children:a.callID}),t("span",{className:c("control.badge","ml-auto font-sans text-[10px]",a.isError?"bg-danger/15 text-danger":"text-dim"),children:a.isError?"执行失败":"执行完成"})]}),a.images&&a.images.length>0&&t("div",{className:"flex flex-wrap gap-1.5",children:a.images.map((l,u)=>n("span",{className:c("surface.subtle","px-2 py-1 font-mono text-[10.5px] text-faint"),children:["图片 #",u+1," · ",l.mimeType," · ",Yi(Math.floor(l.data.length*0.75))]},`${l.mimeType}-${u}`))}),ci(a.output)?t("pre",{className:c("surface.subtle","max-h-72 overflow-y-auto p-2.5 font-mono text-[11px] leading-relaxed whitespace-pre-wrap break-words [overflow-wrap:anywhere]",a.isError?"text-danger":"text-dim"),children:Pr(a.output)}):t("p",{className:"py-1 text-faint",children:"(无文本输出)"})]});return t("pre",{className:c("surface.subtle","max-h-72 overflow-y-auto p-2.5 font-mono text-[11px] leading-relaxed text-dim whitespace-pre-wrap break-words [overflow-wrap:anywhere]"),children:wo(a)})}function D(e){let{cn:d,style:c,useTheme:m}=_();if(m(),!e.todos.length)return t(k,{children:"暂无待办。"});return t("ul",{className:"space-y-1.5",children:e.todos.map((a)=>n("li",{className:c("surface.interactive","flex items-start gap-2.5 px-3 py-2 text-xs"),children:[n("span",{className:d("mt-0.5 flex size-4 shrink-0 items-center justify-center rounded-full border transition-colors duration-300",a.status==="completed"&&"border-success bg-success text-panel",a.status==="in_progress"&&"border-accent",a.status==="pending"&&"border-line-strong"),children:[a.status==="completed"&&t(j,{className:"size-2.5 animate-pop",strokeWidth:3.5}),a.status==="in_progress"&&t("span",{className:"size-1.5 animate-pulse rounded-full bg-accent"})]}),t("span",{className:d("min-w-0 flex-1 break-words leading-relaxed [overflow-wrap:anywhere]",a.status==="completed"&&"text-faint line-through decoration-faint/60",a.status==="in_progress"&&"font-medium text-ink",a.status==="pending"&&"text-dim"),children:a.content})]},`${a.status}-${a.content}`))})}function L(e){let{cn:d,style:c,useTheme:m}=_();m();let[a,l]=r("all"),u=y(()=>e.tools.filter((s)=>s.deferred).length,[e.tools]),p=e.tools.length-u,f=y(()=>{if(a==="deferred")return e.tools.filter((s)=>s.deferred);if(a==="active")return e.tools.filter((s)=>!s.deferred);return e.tools},[e.tools,a]);if(!e.tools.length)return t(k,{children:"当前会话没有可用工具。"});return n("div",{className:"space-y-2",children:[u>0&&n("div",{className:"flex items-center gap-1 text-[11px]",children:[n("button",{type:"button",onClick:()=>l("all"),className:d("rounded-lg px-2 py-1 transition-colors",a==="all"?"bg-raised font-medium text-ink":"text-faint hover:text-dim"),children:["全部 (",e.tools.length,")"]}),n("button",{type:"button",onClick:()=>l("active"),className:d("rounded-lg px-2 py-1 transition-colors",a==="active"?"bg-raised font-medium text-ink":"text-faint hover:text-dim"),children:["常驻 (",p,")"]}),n("button",{type:"button",onClick:()=>l("deferred"),className:d("rounded-lg px-2 py-1 transition-colors",a==="deferred"?"bg-raised font-medium text-ink":"text-faint hover:text-dim"),children:["延迟加载 (",u,")"]})]}),t("div",{className:"space-y-1.5",children:f.map((s)=>t(te,{tool:s},`${s.group}-${s.name}`))})]})}function te(e){let{Chevron:d,CopyButton:c,Code:m,style:a,useTheme:l}=_();l();let[u,p]=r(!1),f=y(()=>u?JSON.stringify(e.tool.schema,null,2):"",[u,e.tool.schema]);return n("div",{"data-state":u?"open":"closed",className:a("surface.interactive","group/collapsible"),children:[n("button",{type:"button","aria-expanded":u,onClick:()=>p((s)=>!s),className:"flex w-full items-center justify-between px-3 py-2 text-left text-xs",children:[n("div",{className:"flex min-w-0 flex-1 items-center gap-1.5 truncate font-mono text-ink",children:[t("span",{className:"truncate",children:e.tool.name}),e.tool.group&&t("span",{className:a("control.badge","font-sans text-[10px]"),children:e.tool.group}),e.tool.deferred&&t("span",{className:a("control.badge","font-sans text-[10px]"),children:"延迟加载"})]}),t(d,{className:"-rotate-90 text-faint group-data-[state=open]/collapsible:rotate-90"})]}),u&&n("div",{className:"border-t border-line/60 bg-raised/20 px-3 py-2 text-xs text-dim",children:[e.tool.deferred&&t("div",{className:a("surface.subtle","mb-2 px-2.5 py-1.5 text-[11px] text-faint"),children:"延迟加载:此工具默认以精简描述挂载,模型通过 toolsearch 取回定义后才向上下文注入完整参数 Schema。"}),e.tool.description&&t("pre",{className:"mb-2 max-h-60 overflow-y-auto font-sans text-xs leading-relaxed text-dim whitespace-pre-wrap break-words [overflow-wrap:anywhere]",children:nr(e.tool.description)}),n("div",{className:a("surface.subtle","group/schema relative overflow-hidden rounded-lg p-2.5"),children:[t("div",{className:"absolute right-1.5 top-1.5 z-10",children:t(c,{text:f,size:"icon-xs",className:"bg-raised/60 hover:bg-raised text-faint hover:text-ink backdrop-blur-sm"})}),t("div",{className:"max-h-72 overflow-y-auto pr-6 text-dim",children:t(m,{code:nr(f),lang:"json",className:"text-[11px]! leading-relaxed! [&_pre]:whitespace-pre-wrap [&_pre]:break-words [&_pre]:[overflow-wrap:anywhere]"})})]})]})]})}function ae(){try{let e=localStorage.getItem("basalt.contextSidebar.tab");if(e==="tools"||e==="todos"||e==="raw")return e}catch{}return"breakdown"}function se(e){let{style:d,useTheme:c}=_();return c(),n("div",{className:d("surface.panel","bg-panel/70 px-3 py-2"),children:[t("div",{className:"text-[10px] font-medium uppercase tracking-wider text-faint",children:e.label}),t("div",{className:"mt-0.5 truncate font-mono text-xs font-semibold tabular-nums text-ink",children:e.value})]})}function Oe(e){let{Button:d,StatusChip:c,Segmented:m,cn:a,style:l,useTheme:u}=_();u();let[p,f]=r(ae),[s,x]=r(()=>$n.get(e.session.id)),[v,h]=r(!1),[w,E]=r(0),[H,U]=r(!1);o(()=>{let b=setTimeout(()=>U(!0),140);return()=>clearTimeout(b)},[]),o(()=>{let b=$n.get(e.session.id);if(b)x(b);return ui((C,X)=>{if(C===e.session.id)x(X)})},[e.session.id]),o(()=>{let b=new AbortController;return h(!1),e.connection.request(`/api/sessions/${encodeURIComponent(e.session.id)}/context`,{signal:AbortSignal.any([b.signal,AbortSignal.timeout(15000)])}).then((C)=>{if(!b.signal.aborted)di(e.session.id,C),x(C)},()=>{if(!b.signal.aborted)h(!0)}),()=>b.abort()},[e.connection,e.session.id,e.session.updated,e.entries.length,w]);let N=ea(s?.items??[],s?.usableWindow,s?.calibratedTokens,s?.lastInputTokens,s?.hasPendingOutput),S=ta(N.percent),z=s?.lastCacheHitRate,M=s?.usage?.cacheHitRate,J=z===void 0?"—":`${(z*100).toFixed(1)}%`,q=M===void 0?"—":`${(M*100).toFixed(1)}%`,Z=(b)=>{f(b);try{localStorage.setItem("basalt.contextSidebar.tab",b)}catch{}},K=[{value:"breakdown",label:"构成"},{value:"tools",label:n("span",{className:"inline-flex items-center gap-1",children:["工具",s&&t("span",{className:"text-[10px] text-faint tabular-nums",children:s.tools.length})]})},{value:"todos",label:n("span",{className:"inline-flex items-center gap-1",children:["待办",e.session.todos.length>0&&t("span",{className:"text-[10px] text-faint tabular-nums",children:e.session.todos.length})]})},{value:"raw",label:"原始消息"}],V=n("div",{className:"px-3.5 pt-1 pb-3",children:[n("div",{className:"flex items-start justify-between gap-3",children:[n("div",{children:[t("div",{className:"text-[10.5px] font-medium uppercase tracking-wider text-faint",children:"上下文用量"}),n("div",{className:"mt-0.5 flex items-baseline gap-1.5",children:[t("span",{className:"font-mono text-xl font-semibold tabular-nums text-ink",children:s?N.totalTokens.toLocaleString():"—"}),n("span",{className:"font-mono text-xs text-dim",children:["/ ",s?.usableWindow.toLocaleString()??"—"]})]})]}),t(c,{tone:S==="overflow"||S==="near_limit"?"danger":S==="sealing"?"warning":"success",children:S==="overflow"?"预计超限":S==="near_limit"?"接近上限":S==="sealing"?"接近封存":"正常"})]}),N.percent!==null&&t("meter",{className:"sr-only","aria-label":"可用上下文窗口占比",min:0,max:100,value:Math.min(100,N.percent)}),t("div",{"aria-hidden":!0,className:a("relative mt-2.5 h-2 w-full overflow-hidden rounded-full bg-raised",!s&&"animate-pulse"),children:t("div",{className:"h-full rounded-full bg-accent transition-[width] duration-500 ease-out-quint",style:{width:`${Math.min(100,N.percent??0)}%`}})}),n("div",{className:"mt-2 flex items-center justify-between text-[11px]",children:[t("span",{className:"text-dim",children:N.percent===null?"暂无窗口数据":`${N.percent.toFixed(1)}% 可用窗口`}),n("span",{className:"text-faint",children:["总窗口 ",s?.contextWindow.toLocaleString()??"—"," · 80% 封存 · 97% 折叠"]})]}),s?.usage&&(s.usage.input>0||s.usage.output>0||s.usage.cacheRead>0||s.usage.cacheWrite>0||s.usage.cost>0)&&t("div",{className:"mt-3 grid grid-cols-2 gap-2",children:[["Input",s.usage.input.toLocaleString()],["Output",s.usage.output.toLocaleString()],["缓存命中 当前 / 平均",`${J} / ${q}`],["平均 TPS",s.usage.tps!==void 0?`${s.usage.tps.toFixed(1)} tok/s`:"—"]].map(([b,C])=>t(se,{label:b,value:C},b))})]});return n(g,{children:[V,t("div",{className:"px-3 py-2",children:t(m,{value:p,onChange:Z,options:K,className:"w-full grid grid-cols-4"})}),n("div",{className:"min-h-0 flex-1 overflow-y-auto px-3 py-3",children:[v&&!s&&n("div",{role:"alert",className:"flex items-center justify-between rounded-xl border border-danger/30 bg-danger/8 px-3 py-2 text-xs text-danger",children:[t("span",{children:"上下文加载失败。"}),t(d,{size:"sm",variant:"ghost",onClick:()=>E((b)=>b+1),children:"重试"})]}),t("div",{children:!H?t(R,{}):n(g,{children:[p==="raw"&&t(O,{entries:e.entries}),p==="todos"&&t(D,{todos:e.session.todos}),p==="breakdown"&&(s?t(A,{items:N.items}):!v?t(R,{}):null),p==="tools"&&(s?t(L,{tools:s.tools??[]}):!v?t(R,{}):null)]})},p)]})]})}export{Oe as ContextSidebar};
@@ -1,19 +0,0 @@
1
- import{x,o,J,r,t,_}from"./chunk-rddft5ce.js";import{e,a,jr,Re,Ri,Ii,En,xr,Sa,no,ie,Jt,D,Di,sn,ft,Ta,ro,ao,io,Mi,Ni,b,oo,qr,Ce,B,Ea,lo,Vr,La,p,V,et,tt,Dn,dn,Dr,Yr,Qa,fo,ei,qi,U,M,ho,jt,ti,Hi}from"./chunk-1s53190z.js";import{zr}from"./chunk-e131rg6p.js";function ze(i){let n=i?.constructor;return i===(typeof n==="function"?n.prototype:Object.prototype)}function De(i){if(i==null)return!0;if(Qa(i)){if(typeof i.splice!=="function"&&typeof i!=="string"&&!Dr(i)&&!dn(i)&&!Yr(i))return!1;return i.length===0}if(typeof i==="object"||typeof i==="function"){if(i instanceof Map||i instanceof Set)return i.size===0;let n=Object.keys(i);if(ze(i))return n.filter((s)=>s!=="constructor").length===0;return n.length===0}return!0}var Q="comm",le="rule",me="decl";var Fe="@media",Oe="@import";var Be="@supports";var Pe="@namespace",ne="@keyframes";var fe="@layer",Ne="@scope";var Ve=Math.abs,q=String.fromCharCode;function ue(i){return i.trim()}function se(i,n,s){return i.replace(n,s)}function H(i,n){return i.charCodeAt(n)|0}function W(i,n,s){return i.slice(n,s)}function z(i){return i.length}function pe(i){return i.length}function Z(i,n){return n.push(i),i}var ge=1,ee=1,Ge=0,O=0,T=0,te="";function ve(i,n,s,d,c,l,f,m){return{value:i,root:n,parent:s,type:d,props:c,children:l,line:ge,column:ee,length:f,return:"",siblings:m}}function He(){return T}function Ue(){if(T=O>0?H(te,--O):0,ee--,T===10)ee=1,ge--;return T}function P(){if(T=O<Ge?H(te,O++):0,ee++,T===10)ee=1,ge++;return T}function j(){return H(te,O)}function de(){return O}function he(i,n){return W(te,i,n)}function re(i){switch(i){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function We(i){return ge=ee=1,Ge=z(te=i),O=0,[]}function je(i){return te="",i}function ye(i){return ue(he(O-1,Me(i===91?i+2:i===40?i+1:i)))}function Ye(i){while(T=j())if(T<33)P();else break;return re(i)>2||re(T)>3?"":" "}function qe(i,n){while(--n&&P())if(T<48||T>102||T>57&&T<65||T>70&&T<97)break;return he(i,de()+(n<6&&j()==32&&P()==32))}function Me(i){while(P())switch(T){case i:return O;case 34:case 39:if(i!==34&&i!==39)Me(T);break;case 40:if(i===41)Me(i);break;case 92:P();break}return O}function Xe(i,n){while(P())if(i+T===57)break;else if(i+T===84&&j()===47)break;return"/*"+he(n,O-1)+"*"+q(i===47?i:P())}function Ke(i){while(!re(j()))P();return he(i,O)}function Je(i){return je(we("",null,null,null,[""],i=We(i),0,[0],i))}function we(i,n,s,d,c,l,f,m,u){var h=0,y=0,w=f,v=0,C=0,I=0,k=1,E=1,L=1,R=0,S=0,N="",K=c,G=l,F=d,g=N;while(E)switch(I=S,S=P()){case 40:if(I!=108&&H(g,w-1)==58)R++,g+="(";else g+=ye(S);break;case 41:R--,g+=")";break;case 34:case 39:case 91:g+=ye(S);break;case 9:case 10:case 13:case 32:if(R>0){g+=q(S);break}g+=Ye(I);break;case 92:g+=qe(de()-1,7);continue;case 47:switch(j()){case 42:case 47:if(Z(bt(Xe(P(),de()),n,s,u),u),(re(I||1)==5||re(j()||1)==5)&&z(g)&&W(g,-1,void 0)!==" ")g+=" ";break;default:g+="/"}break;case 123*k:m[h++]=z(g)*L;case 125*k:case 59:case 0:if(R>0&&S){g+=q(S);break}switch(S){case 0:case 125:E=0;case 59+y:if(L==-1)g=se(g,/\f/g,"");if(C>0&&(z(g)-w||k===0))Z(C>32?Ze(g+";",d,s,w-1,u):Ze(se(g," ","")+";",d,s,w-2,u),u);break;case 59:g+=";";default:if(Z(F=Qe(g,n,s,h,y,c,m,N,K=[],G=[],w,l),l),S===123)if(y===0)we(g,n,F,F,K,l,w,m,G);else{switch(v){case 99:if(H(g,3)===110)break;case 108:if(H(g,2)===97)break;default:y=0;case 100:case 109:case 115:}if(y)we(i,F,F,d&&Z(Qe(i,F,F,0,0,c,m,N,c,K=[],w,G),G),c,G,w,m,d?K:G);else we(g,F,F,F,[""],G,0,m,G)}}h=y=C=0,k=L=1,N=g="",w=f;break;case 58:w=1+z(g),C=I;default:if(k<1){if(S==123)--k;else if(S==125&&k++==0&&Ue()==125)continue}switch(g+=q(S),S*k){case 38:L=y>0?1:(g+="\f",-1);break;case 44:if(R>0)break;m[h++]=(z(g)-1)*L,L=1;break;case 64:if(j()===45)g+=ye(P());v=j(),y=w=z(N=g+=Ke(de())),S++;break;case 45:if(I===45&&z(g)==2)k=0}}return l}function Qe(i,n,s,d,c,l,f,m,u,h,y,w){var v=c-1,C=c===0?l:[""],I=pe(C);for(var k=0,E=0,L=0;k<d;++k)for(var R=0,S=W(i,v+1,v=Ve(E=f[k])),N=i;R<I;++R)if(N=ue(E>0?C[R]+" "+S:se(S,/&\f/g,C[R])))u[L++]=N;return ve(i,n,s,c===0?le:m,u,h,y,w)}function bt(i,n,s,d){return ve(i,n,s,Q,q(He()),W(i,2,-2),0,d)}function Ze(i,n,s,d,c){return ve(i,n,s,me,W(i,0,d),W(i,d+1,-1),d,c)}function xe(i,n){var s="";for(var d=0;d<i.length;d++)s+=n(i[d],d,i,n)||"";return s}function er(i,n,s,d){switch(i.type){case fe:if(i.children.length)break;case Oe:case Pe:case me:return i.return=i.return||i.value;case Q:return"";case ne:return i.return=i.value+"{"+xe(i.children,d)+"}";case le:if(!z(i.value=i.props.join(",")))return""}return z(s=xe(i.children,d))?i.return=i.value+"{"+s+"}":""}function rr(i){var n=pe(i);return function(s,d,c,l){var f="";for(var m=0;m<n;m++)f+=i[m](s,d,c,l)||"";return f}}var nr="c4",St=e((i)=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(i),"detector"),Et=e(async()=>{let{diagram:i}=await (x("4q7wf0wd"),import("./chunk-4q7wf0wd.js"));return{id:nr,diagram:i}},"loader"),Tt={id:nr,detector:St,loader:Et},Ct=Tt,sr="flowchart-v2",kt=e((i)=>/^\s*(graph|flowchart)/.test(i),"detector"),Dt=e(async()=>{let{diagram:i}=await (x("vbwdwcdp"),import("./chunk-vbwdwcdp.js"));return{id:sr,diagram:i}},"loader"),Mt={id:sr,detector:kt,loader:Dt},_t=Mt,dr="agentflow",Lt=e((i)=>/^\s*agentflow-beta\b/.test(i),"detector"),At=e(async()=>{let{diagram:i}=await (x("czjk218p"),import("./chunk-czjk218p.js"));return{id:dr,diagram:i}},"loader"),It={id:dr,detector:Lt,loader:At},Rt=It,cr="swimlane",$t=e((i)=>/^\s*swimlane-beta\b/.test(i),"detector"),zt=e(async()=>{let{diagram:i}=await (x("wvfmmw1v"),import("./chunk-wvfmmw1v.js"));return{id:cr,diagram:i}},"loader"),Ft={id:cr,detector:$t,loader:zt},Ot=Ft,lr="er",Bt=e((i)=>/^\s*erDiagram/.test(i),"detector"),Pt=e(async()=>{let{diagram:i}=await (x("y99ed8rd"),import("./chunk-y99ed8rd.js"));return{id:lr,diagram:i}},"loader"),Nt={id:lr,detector:Bt,loader:Pt},Vt=Nt,mr="gitGraph",Gt=e((i)=>/^\s*gitGraph/.test(i),"detector"),Ht=e(async()=>{let{diagram:i}=await (x("kkyn8yhj"),import("./chunk-kkyn8yhj.js"));return{id:mr,diagram:i}},"loader"),Ut={id:mr,detector:Gt,loader:Ht},Wt=Ut,fr="gantt",Yt=e((i)=>/^\s*gantt/.test(i),"detector"),qt=e(async()=>{let{diagram:i}=await (x("q3jevm51"),import("./chunk-q3jevm51.js"));return{id:fr,diagram:i}},"loader"),Xt={id:fr,detector:Yt,loader:qt},Kt=Xt,ur="info",Qt=e((i)=>/^\s*info/.test(i),"detector"),Zt=e(async()=>{let{diagram:i}=await (x("0cng7r2x"),import("./chunk-0cng7r2x.js"));return{id:ur,diagram:i}},"loader"),ea={id:ur,detector:Qt,loader:Zt},pr="pie",ra=e((i)=>/^\s*pie/.test(i),"detector"),ta=e(async()=>{let{diagram:i}=await (x("079091ar"),import("./chunk-079091ar.js"));return{id:pr,diagram:i}},"loader"),aa={id:pr,detector:ra,loader:ta},gr="quadrantChart",oa=e((i)=>/^\s*quadrantChart/.test(i),"detector"),ia=e(async()=>{let{diagram:i}=await (x("e8yj05t1"),import("./chunk-e8yj05t1.js"));return{id:gr,diagram:i}},"loader"),na={id:gr,detector:oa,loader:ia},sa=na,vr="xychart",da=e((i)=>/^\s*xychart(-beta)?/.test(i),"detector"),ca=e(async()=>{let{diagram:i}=await (x("kjacapzd"),import("./chunk-kjacapzd.js"));return{id:vr,diagram:i}},"loader"),la={id:vr,detector:da,loader:ca},ma=la,hr="requirement",fa=e((i)=>/^\s*requirement(Diagram)?/.test(i),"detector"),ua=e(async()=>{let{diagram:i}=await (x("aangfjqc"),import("./chunk-aangfjqc.js"));return{id:hr,diagram:i}},"loader"),pa={id:hr,detector:fa,loader:ua},ga=pa,yr="sequence",va=e((i)=>/^\s*sequenceDiagram/.test(i),"detector"),ha=e(async()=>{let{diagram:i}=await (x("xbpc6x9m"),import("./chunk-xbpc6x9m.js"));return{id:yr,diagram:i}},"loader"),ya={id:yr,detector:va,loader:ha},wa=ya,wr="classDiagram",xa=e((i)=>/^\s*classDiagram/.test(i),"detector"),ba=e(async()=>{let{diagram:i}=await (x("ht4mx2dt"),import("./chunk-ht4mx2dt.js"));return{id:wr,diagram:i}},"loader"),Ca={id:wr,detector:xa,loader:ba},ka=Ca,br="stateDiagram",Da=e((i)=>/^\s*stateDiagram/.test(i),"detector"),Ma=e(async()=>{let{diagram:i}=await (x("xckxtfp8"),import("./chunk-xckxtfp8.js"));return{id:br,diagram:i}},"loader"),_a={id:br,detector:Da,loader:Ma},Aa=_a,Sr="journey",Ia=e((i)=>/^\s*journey/.test(i),"detector"),Ra=e(async()=>{let{diagram:i}=await (x("sn3tkwme"),import("./chunk-sn3tkwme.js"));return{id:Sr,diagram:i}},"loader"),$a={id:Sr,detector:Ia,loader:Ra},za=$a,be=4,ce=75,Fa=e((i)=>{let n=[];for(let c of i.split(/\s+/)){let l=[...c];while(l.length>ce)n.push(l.slice(0,ce).join("")),l=l.slice(ce);if(l.length>0)n.push(l.join(""))}let s=[],d="";for(let c of n){let l=d?`${d} ${c}`:c;if([...l].length>ce)s.push(d),d=c;else d=l}if(d)s.push(d);if(s.length>be){s.length=be;let c=s[be-1]??"";s[be-1]=`${[...c].slice(0,ce-3).join("")}...`}return s},"wrapErrorMessage"),Oa=e((i,n,s,d)=>{a.debug(`rendering svg for syntax error
2
- `);let c=V(n),l=c.append("g"),f=Fa(d?.db.getErrorMessage?.()??""),m=f.length>0?500+f.length*56:512;c.attr("viewBox",`0 0 2412 ${m}`),B(c,100,m,!0),l.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),l.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),l.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),l.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),l.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),l.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),l.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),l.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${s}`),f.forEach((u,h)=>{l.append("text").attr("class","error-text").attr("x",1440).attr("y",510+h*56).attr("font-size","42px").style("text-anchor","middle").text(u)})},"draw"),Er={draw:Oa},Ba=Er,_e,Pa={clear(){_e=void 0},setErrorMessage(i){_e=i},getErrorMessage(){return _e}},Na={db:Pa,renderer:Er,parser:{parse:e(()=>{return},"parse")}},Va=Na,Tr="flowchart-elk",Ga=e((i,n={})=>{if(/^\s*flowchart-elk/.test(i))return n.layout="elk",!0;return!1},"detector"),Ha=e(async()=>{let{diagram:i}=await (x("vbwdwcdp"),import("./chunk-vbwdwcdp.js"));return{id:Tr,diagram:i}},"loader"),Ua={id:Tr,detector:Ga,loader:Ha},Wa=Ua,Cr="timeline",ja=e((i)=>/^\s*timeline/.test(i),"detector"),Ya=e(async()=>{let{diagram:i}=await (x("n754s8xd"),import("./chunk-n754s8xd.js"));return{id:Cr,diagram:i}},"loader"),qa={id:Cr,detector:ja,loader:Ya},Xa=qa,kr="mindmap",Ka=e((i)=>/^\s*mindmap/.test(i),"detector"),Za=e(async()=>{let{diagram:i}=await (x("tfn0rqg9"),import("./chunk-tfn0rqg9.js"));return{id:kr,diagram:i}},"loader"),Ja={id:kr,detector:Ka,loader:Za},eo=Ja,Mr="kanban",to=e((i)=>/^\s*kanban/.test(i),"detector"),so=e(async()=>{let{diagram:i}=await (x("pjz30xcp"),import("./chunk-pjz30xcp.js"));return{id:Mr,diagram:i}},"loader"),co={id:Mr,detector:to,loader:so},mo=co,_r="sankey",uo=e((i)=>/^\s*sankey(-beta)?/.test(i),"detector"),po=e(async()=>{let{diagram:i}=await (x("4fm55fgb"),import("./chunk-4fm55fgb.js"));return{id:_r,diagram:i}},"loader"),go={id:_r,detector:uo,loader:po},vo=go,Lr="packet",yo=e((i)=>/^\s*packet(-beta)?/.test(i),"detector"),wo=e(async()=>{let{diagram:i}=await (x("v282r683"),import("./chunk-v282r683.js"));return{id:Lr,diagram:i}},"loader"),xo={id:Lr,detector:yo,loader:wo},Ar="radar",bo=e((i)=>/^\s*radar-beta/.test(i),"detector"),So=e(async()=>{let{diagram:i}=await (x("kkfrs7d1"),import("./chunk-kkfrs7d1.js"));return{id:Ar,diagram:i}},"loader"),Eo={id:Ar,detector:bo,loader:So},Ir="block",To=e((i)=>/^\s*block(-beta)?/.test(i),"detector"),Co=e(async()=>{let{diagram:i}=await (x("q97hn4j5"),import("./chunk-q97hn4j5.js"));return{id:Ir,diagram:i}},"loader"),ko={id:Ir,detector:To,loader:Co},Do=ko,Rr="treeView",Mo=e((i)=>/^\s*treeView-beta/.test(i),"detector"),_o=e(async()=>{let{diagram:i}=await (x("sjh8gtm9"),import("./chunk-sjh8gtm9.js"));return{id:Rr,diagram:i}},"loader"),Lo={id:Rr,detector:Mo,loader:_o},Ao=Lo,$r="architecture",Io=e((i)=>/^\s*architecture/.test(i),"detector"),Ro=e(async()=>{let{diagram:i}=await (x("wqsczy57"),import("./chunk-wqsczy57.js"));return{id:$r,diagram:i}},"loader"),$o={id:$r,detector:Io,loader:Ro},zo=$o,Fr="eventmodeling",Fo=e((i)=>/^\s*eventmodeling/.test(i),"detector"),Oo=e(async()=>{let{diagram:i}=await (x("dvvs1jjq"),import("./chunk-dvvs1jjq.js"));return{id:Fr,diagram:i}},"loader"),Bo={id:Fr,detector:Fo,loader:Oo},Po=Bo,Or="ishikawa",No=e((i)=>/^\s*ishikawa(-beta)?\b/i.test(i),"detector"),Vo=e(async()=>{let{diagram:i}=await (x("tmndcktk"),import("./chunk-tmndcktk.js"));return{id:Or,diagram:i}},"loader"),Go={id:Or,detector:No,loader:Vo},Br="venn",Ho=e((i)=>/^\s*venn-beta/.test(i),"detector"),Uo=e(async()=>{let{diagram:i}=await (x("4vjnrz87"),import("./chunk-4vjnrz87.js"));return{id:Br,diagram:i}},"loader"),Wo={id:Br,detector:Ho,loader:Uo},jo=Wo,Pr="treemap",Yo=e((i)=>/^\s*treemap/.test(i),"detector"),qo=e(async()=>{let{diagram:i}=await (x("t81p4wqc"),import("./chunk-t81p4wqc.js"));return{id:Pr,diagram:i}},"loader"),Xo={id:Pr,detector:Yo,loader:qo},Nr="usecase",Ko=e((i)=>/^\s*usecase-beta(?:\s|$)/.test(i),"detector"),Qo=e(async()=>{let{diagram:i}=await (x("rgbdf2m9"),import("./chunk-rgbdf2m9.js"));return{id:Nr,diagram:i}},"loader"),Zo={id:Nr,detector:Ko,loader:Qo},Gr="wardley",Jo=e((i)=>/^\s*wardley-beta/i.test(i),"detector"),ri=e(async()=>{let{diagram:i}=await (x("rsbkbg6x"),import("./chunk-rsbkbg6x.js"));return{id:Gr,diagram:i}},"loader"),ai={id:Gr,detector:Jo,loader:ri},oi=ai,Hr="cynefin",ii=e((i)=>/^\s*cynefin-beta(?:[\s:]|$)/.test(i),"detector"),ni=e(async()=>{let{diagram:i}=await (x("k02b36g1"),import("./chunk-k02b36g1.js"));return{id:Hr,diagram:i}},"loader"),si={id:Hr,detector:ii,loader:ni},Ur="railroad",di=e((i)=>/^\s*railroad-beta/i.test(i),"detector"),ci=e(async()=>{let{diagram:i}=await (x("n448vaba"),import("./chunk-n448vaba.js"));return{id:Ur,diagram:i}},"loader"),li={id:Ur,detector:di,loader:ci},Wr="railroadEbnf",mi=e((i)=>/^\s*railroad-ebnf-beta/i.test(i),"detector"),fi=e(async()=>{let{diagram:i}=await (x("083r4f80"),import("./chunk-083r4f80.js"));return{id:Wr,diagram:i}},"loader"),ui={id:Wr,detector:mi,loader:fi},Xr="railroadAbnf",pi=e((i)=>/^\s*railroad-abnf-beta/i.test(i),"detector"),gi=e(async()=>{let{diagram:i}=await (x("dv72fat3"),import("./chunk-dv72fat3.js"));return{id:Xr,diagram:i}},"loader"),vi={id:Xr,detector:pi,loader:gi},Kr="railroadPeg",hi=e((i)=>/^\s*railroad-peg-beta/i.test(i),"detector"),yi=e(async()=>{let{diagram:i}=await (x("sgwccs54"),import("./chunk-sgwccs54.js"));return{id:Kr,diagram:i}},"loader"),wi={id:Kr,detector:hi,loader:yi},tr=!1,Te=e(()=>{if(tr)return;tr=!0,Vr("error",Va,(i)=>i.toLowerCase().trim()==="error"),Vr("---",{db:{clear:e(()=>{},"clear")},styles:{},renderer:{draw:e(()=>{},"draw")},parser:{parse:e(()=>{throw Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:e(()=>null,"init")},(i)=>i.toLowerCase().trimStart().startsWith("---")),Sa(Wa,eo,zo),Sa(Rt,Ct,mo,ka,Vt,Kt,ea,aa,ga,wa,Ot,_t,Xa,Wt,Aa,za,sa,vo,xo,ma,Do,Po,Ao,Eo,Go,Xo,li,ui,vi,wi,jo,oi,si,Zo)},"addDiagrams"),xi=e(async()=>{a.debug("Loading registered diagrams");let n=(await Promise.allSettled(Object.entries(En).map(async([s,{detector:d,loader:c}])=>{if(!c)return;try{La(s)}catch{try{let{diagram:l,id:f}=await c();Vr(f,l,d)}catch(l){throw a.error(`Failed to load external diagram with key ${s}. Removing from detectors.`),delete En[s],l}}}))).filter((s)=>s.status==="rejected");if(n.length>0){a.error(`Failed to load ${n.length} external diagrams`);for(let s of n)a.error(s);throw Error(`Failed to load ${n.length} external diagrams`)}},"loadRegisteredDiagrams"),bi="graphics-document document";function Qr(i,n){if(i.attr("role",bi),n!=="")i.attr("aria-roledescription",n)}e(Qr,"setA11yDiagramInfo");function Zr(i,n,s,d){if(i.insert===void 0)return;if(s){let c=`chart-desc-${d}`;i.attr("aria-describedby",c),i.insert("desc",":first-child").attr("id",c).text(s)}if(n){let c=`chart-title-${d}`;i.attr("aria-labelledby",c),i.insert("title",":first-child").attr("id",c).text(n)}}e(Zr,"addSVGa11yTitleDescription");var Se=class i{constructor(n,s,d,c,l){this.type=n,this.text=s,this.db=d,this.parser=c,this.renderer=l}static{e(this,"Diagram")}static async fromText(n,s={}){let d=typeof n==="string"?{raw:n,cleaned:n}:n,c=b(),l=xr(d.cleaned,c);try{La(l)}catch{let v=no(l);if(!v)throw new Ii(`Diagram ${l} not found.`);let{id:C,diagram:I}=await v();Vr(C,I)}let{db:f,parser:m,renderer:u,init:h}=La(l);if(m.parser)m.parser.yy=f;if(f.clear?.(),h?.(c),s.title)f.setDiagramTitle?.(s.title);let y=d.cleaned;if(f.preserveCommentsWhenParsing&&d.withComments){let v=c.maxTextSize??D.maxTextSize;if(d.withComments.length>v)a.warn(`Comment-preserving source exceeds maxTextSize (${d.withComments.length} > ${v}); parsing the comment-stripped text instead. Reported source positions will not account for comment lines.`);else y=d.withComments}let w=ho(y)+`
3
- `;if(d.frontmatterLineOffset)f.setFrontmatterLineOffset?.(d.frontmatterLineOffset);return await m.parse(w),new i(l,w,f,m,u)}async render(n,s){await this.renderer.draw(this.text,n,s,this)}getParser(){return this.parser}getType(){return this.type}},ar=[],Si=e(()=>{ar.forEach((i)=>{i()}),ar=[]},"attachFunctions"),Ei=e((i)=>i.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function Jr(i){let n=Ri(i);if(!n)return{text:i,metadata:{}};let s=n.indent,d=s?n.body.split(`
4
- `).map((f)=>f.startsWith(s)?f.slice(s.length):f).join(`
5
- `):n.body,c=tt(d,{schema:et})??{};c=typeof c==="object"&&!Array.isArray(c)?c:{};let l={};if(c.displayMode)l.displayMode=c.displayMode.toString();if(c.title)l.title=c.title.toString();if(c.config)l.config=c.config;return{text:i.slice(n.length),metadata:l}}e(Jr,"extractFrontMatter");var Ti=e((i)=>i.replace(/\r\n?/g,`
6
- `).replace(/<(\w+)([^>]*)>/g,(n,s,d)=>"<"+s+d.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),Ci=e((i)=>{let{text:n,metadata:s}=Jr(i),{displayMode:d,title:c,config:l={}}=s;if(d){if(!l.gantt)l.gantt={};l.gantt.displayMode=d}return{title:c,config:l,text:n}},"processFrontmatter"),ki=e((i)=>{let n=M.detectInit(i)??{},s=M.detectDirective(i,"wrap");if(Array.isArray(s))n.wrap=s.some(({type:d})=>d==="wrap");else if(s?.type==="wrap")n.wrap=!0;return{text:fo(i),directive:n}},"processDirectives");function Ie(i){let n=i,s=Ti(i),d=Ci(s),c=ki(d.text),l=U(d.config,c.directive),f=c.text,m=Ei(f),u=s.length>d.text.length?(s.substring(0,s.length-d.text.length).match(/\n/g)??[]).length:0;return{code:{raw:n,cleaned:m,withComments:f,frontmatterLineOffset:u},title:d.title,config:l}}e(Ie,"preprocessDiagram");function rt(i){let n=new TextEncoder().encode(i),s=Array.from(n,(d)=>String.fromCodePoint(d)).join("");return btoa(s)}e(rt,"toBase64");var _i=50000,Li="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",Ai="sandbox",$i="loose",zi="http://www.w3.org/2000/svg",Fi="http://www.w3.org/1999/xlink",Oi="http://www.w3.org/1999/xhtml",Bi="100%",Pi="100%",Vi="border:0;margin:0;",Gi="margin:0",Ui="allow-top-navigation-by-user-activation allow-popups",Wi='The "iframe" tag is not supported by your browser.',ji=["foreignobject"],Yi=["dominant-baseline"];function $e(i){let n=Ie(i);qr();let s;try{s=xr(n.code.cleaned,b())}catch{s=void 0}return Ta(s),oo(n.config??{}),n}e($e,"processAndSetConfigs");async function at(i,n){Te();try{let{code:s,config:d}=$e(i);return{diagramType:(await Se.fromText(s)).type,config:d}}catch(s){if(n?.suppressErrors)return!1;throw s}finally{Ta(void 0)}}e(at,"parse");var or=e((i,n,s=[])=>{let d=Di(`{ ${s.join(" !important; ")} !important; }`);return`.${i} ${n} ${d}`},"cssImportantStyles"),Xi=e((i,n=new Map)=>{let s=new CSSStyleSheet;if(i.fontFamily!==void 0)s.insertRule(`:root { --mermaid-font-family: ${i.fontFamily}}`,s.cssRules.length);if(i.altFontFamily!==void 0)s.insertRule(`:root { --mermaid-alt-font-family: ${i.altFontFamily}}`,s.cssRules.length);if(n instanceof Map){let m=Ce(i)?["> *","span"]:["rect","polygon","ellipse","circle","path"];n.forEach((u)=>{if(!De(u.styles))m.forEach((h)=>{s.insertRule(or(u.id,h,u.styles),s.cssRules.length)});if(!De(u.textStyles))s.insertRule(or(u.id,"tspan",(u?.textStyles||[]).map((h)=>h.replace("color","fill"))),s.cssRules.length)})}let d="";if(i.themeCSS!==void 0)if(typeof s.replaceSync==="function"){let c=new CSSStyleSheet;c.replaceSync(i.themeCSS),d=Ea(c)+`
7
- `}else d+=`${i.themeCSS}
8
- `;return d+Ea(s)},"createCssStyles"),Ki=e((i,n)=>xe(Je(`${i}{${n}}`),rr([e(function(d,c,l,f){if(d.type==="rule"&&Array.isArray(d.props)){if(d.parent&&d.parent.type===ne)return;d.props=d.props.map((m)=>{if(m===i&&Array.isArray(d.children)&&d.children.every((h)=>{if(h.type!=="decl")return!1;return new Set(["font-family","font-size","fill"]).has(h.props)}))return m;if(!((m.startsWith(`${i} `)||m.startsWith(`${i}>`))&&!m.startsWith(`${i} ||`)))return`${i} ${m}`;return m})}else if(d.type.startsWith("@")){if(![Fe,Be,fe,Ne,"@container","@starting-style",ne].includes(d.type))a.warn(`Removing unsupported at-rule ${d.type} from CSS`),d.type=Q}},"addNamespace"),er])),"compileCSS"),Qi=e((i,n,s,d)=>{let c=Xi(i,s),l=lo(n,c,{...i.themeVariables,theme:i.theme,look:i.look},d);return Ki(d,l)},"createUserStyles"),Zi=e((i="",n,s)=>{let d=i;if(!s&&!n)d=d.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#');return d=jt(d),d=d.replace(/<br>/g,"<br/>"),d},"cleanUpSvgCode"),Ji=e((i="",n)=>{let s=n?.viewBox?.baseVal?.height?n.viewBox.baseVal.height+"px":Pi,d=rt(`<body style="${Gi}">${i}</body>`);return`<iframe style="width:${Bi};height:${s};${Vi}" src="data:text/html;charset=UTF-8;base64,${d}" sandbox="${Ui}">
9
- ${Wi}
10
- </iframe>`},"putIntoIFrame"),ir=e((i,n,s,d,c)=>{let l=i.append("div");if(l.attr("id",s),d)l.attr("style",d);let f=l.append("svg").attr("id",n).attr("width","100%").attr("xmlns",zi);if(c)f.attr("xmlns:xlink",c);return f.append("g"),i},"appendDivSvgG");function Ae(i,n){return i.append("iframe").attr("id",n).attr("style","width: 100%; height: 100%;").attr("sandbox","")}e(Ae,"sandboxedIframe");var en=e((i,n,s,d)=>{i.getElementById(n)?.remove(),i.getElementById(s)?.remove(),i.getElementById(d)?.remove()},"removeExistingElements"),rn=e(async function(i,n,s){Te();let d=$e(n),c=d.code;n=c.cleaned;let l=b();if(a.debug(l),n.length>(l?.maxTextSize??_i))n=Li,c={raw:n,cleaned:n};let f=`#${i}`,m="i"+i,u="#"+m,h="d"+i,y="#"+h,w=e(()=>{let oe=p(C?u:y).node();if(oe&&"remove"in oe)oe.remove()},"removeTempElements"),v=p(document.body),C=l.securityLevel===Ai,I=l.securityLevel===$i,k=l.fontFamily;if(s!==void 0){if(s)s.innerHTML="";if(C){let A=Ae(p(s),m);v=p(A.nodes()[0].contentDocument.body),v.node().style.margin="0"}else v=p(s);ir(v,i,h,`font-family: ${k}`,Fi)}else{if(en(document,i,h,m),C){let A=Ae(p(document.body),m);v=p(A.nodes()[0].contentDocument.body),v.node().style.margin="0"}else v=p("body");ir(v,i,h)}let E,L;try{E=await Se.fromText(c,{title:d.title})}catch(A){if(l.suppressErrorRendering)throw w(),A;E=await Se.fromText("error"),L=A,E.db.setErrorMessage?.(qi(A))}let R=v.select(y).node(),S=E.type,N=R.firstChild,K=N.firstChild,G=E.renderer.getClasses?.(n,E),F=Qi(l,S,G,f),g=document.createElement("style");g.innerHTML=F,N.insertBefore(g,K);try{await E.renderer.draw(n,i,"12.2.0",E)}catch(A){if(l.suppressErrorRendering)w();else Ba.draw(n,i,"12.2.0");throw A}let vt=v.select(`${y} svg`),ht=E.db.getAccTitle?.(),yt=E.db.getAccDescription?.();it(S,vt,ht,yt);let wt=e(()=>{v.select(`[id="${i}"]`).selectAll("foreignobject > *").attr("xmlns",Oi);let A=v.select(y).node().innerHTML;if(a.debug("config.arrowMarkerAbsolute",l.arrowMarkerAbsolute),A=Zi(A,C,ft(l.arrowMarkerAbsolute)),C){let oe=v.select(y+" svg").node();A=Ji(A,oe)}else if(!I)A=Re.sanitize(A,{ADD_TAGS:ji,ADD_ATTR:Yi,HTML_INTEGRATION_POINTS:{foreignobject:!0}});return Si(),A},"serializeSvg")();if(L)throw L;return w(),{diagramType:S,svg:wt,bindFunctions:E.db.bindFunctions}},"renderDiagram"),tn=e(async function(i,n,s){try{return await rn(i,n,s)}finally{Ta(void 0)}},"render");function ot(i={}){let n=ie({},i);if(n?.fontFamily&&!n.themeVariables?.fontFamily){if(!n.themeVariables)n.themeVariables={};n.themeVariables.fontFamily=n.fontFamily}ao(n);let s=sn.theme;if(n?.theme&&Object.hasOwn(Jt,n.theme))n.themeVariables=Jt[n.theme].getThemeVariables(n.themeVariables);else if(n){if(n.theme!=null&&n.theme!=="null")n.theme=s;n.themeVariables=Jt[s].getThemeVariables(n.themeVariables)}let d=typeof n==="object"?ro(n):Mi();jr(d.logLevel),Te()}e(ot,"initialize");var an=e((i,n={})=>{let{code:s}=Ie(i);return Se.fromText(s,n)},"getDiagramFromText");function it(i,n,s,d){Qr(n,i),Zr(n,s,d,n.attr("id"))}e(it,"addA11yInfo");var X=Object.freeze({render:tn,parse:at,getDiagramFromText:an,initialize:ot,getConfig:b,setConfig:Ni,getSiteConfig:Mi,updateSiteConfig:io,reset:e(()=>{qr()},"reset"),globalReset:e(()=>{qr(sn)},"globalReset"),defaultConfig:sn});jr(b().logLevel);qr(b());var on=e((i,n,s)=>{if(a.warn(i),ei(i)){if(s)s(i.str,i.hash);n.push({...i,message:i.str,error:i})}else{if(s)s(i);if(i instanceof Error)n.push({str:i.message,message:i.message,hash:i.name,error:i})}},"handleError"),nt=e(async function(i={querySelector:".mermaid"}){try{await nn(i)}catch(n){if(ei(n))a.error(n.str);if(Y.parseError)Y.parseError(n);if(!i.suppressErrors)throw a.error("Use the suppressErrors option to suppress these errors"),n}},"run"),nn=e(async function({postRenderCallback:i,querySelector:n,nodes:s}={querySelector:".mermaid"}){let d=X.getConfig();a.debug(`${!i?"No ":""}Callback function found`);let c;if(s)c=s;else if(n)c=document.querySelectorAll(n);else throw Error("Nodes and querySelector are both undefined");if(a.debug(`Found ${c.length} diagrams`),d?.startOnLoad!==void 0)a.debug("Start On Load: "+d?.startOnLoad),X.updateSiteConfig({startOnLoad:d?.startOnLoad});let l=new M.InitIDGenerator(d.deterministicIds,d.deterministicIDSeed),f,m=[];for(let u of Array.from(c)){if(a.info("Rendering diagram: "+u.id),u.getAttribute("data-processed"))continue;u.setAttribute("data-processed","true");let h=`mermaid-${l.next()}`;f=u.innerHTML,f=ti(M.entityDecode(f)).trim().replace(/<br\s*\/?>/gi,"<br/>");let y=M.detectInit(f);if(y)a.debug("Detected early reinit: ",y);try{let{svg:w,bindFunctions:v}=await lt(h,f,u);if(u.innerHTML=w,i)await i(h);if(v)v(u)}catch(w){on(w,m,Y.parseError)}}if(m.length>0)throw m[0]},"runThrowsErrors"),st=e(function(i){X.initialize(i)},"initialize"),cn=e(async function(i,n,s){if(a.warn("mermaid.init is deprecated. Please use run instead."),i)st(i);let d={postRenderCallback:s,querySelector:".mermaid"};if(typeof n==="string")d.querySelector=n;else if(n)if(n instanceof HTMLElement)d.nodes=[n];else d.nodes=n;await nt(d)},"init"),ln=e(async(i,{lazyLoad:n=!0}={})=>{if(Te(),Sa(...i),n===!1)await xi()},"registerExternalDiagrams"),dt=e(function(){if(Y.startOnLoad){let{startOnLoad:i}=X.getConfig();if(i)Y.run().catch((n)=>a.error("Mermaid failed to initialize",n))}},"contentLoaded");if(typeof document<"u")window.addEventListener("load",dt,!1);var mn=e(function(i){Y.parseError=i},"setParseErrorHandler"),Ee=[],Le=!1,ct=e(async()=>{if(Le)return;Le=!0;while(Ee.length>0){let i=Ee.shift();if(i)try{await i()}catch(n){a.error("Error executing queue",n)}}Le=!1},"executeQueue"),fn=e(async(i,n)=>new Promise((s,d)=>{let c=e(()=>new Promise((l,f)=>{X.parse(i,n).then((m)=>{l(m),s(m)},(m)=>{a.error("Error parsing",m),Y.parseError?.(m),f(m),d(m)})}),"performCall");Ee.push(c),ct().catch(d)}),"parse"),lt=e((i,n,s)=>new Promise((d,c)=>{let l=e(()=>new Promise((f,m)=>{X.render(i,n,s).then((u)=>{f(u),d(u)},(u)=>{a.error("Error parsing",u),Y.parseError?.(u),m(u),c(u)})}),"performCall");Ee.push(l),ct().catch(c)}),"render"),un=e(()=>Object.keys(En).map((i)=>({id:i})),"getRegisteredDiagramsMetadata"),Y={startOnLoad:!0,mermaidAPI:X,parse:fn,render:lt,init:cn,run:nt,registerExternalDiagrams:ln,registerLayoutLoaders:Hi,initialize:st,parseError:void 0,contentLoaded:dt,setParseErrorHandler:mn,detectType:xr,registerIconPacks:Dn,getRegisteredDiagramsMetadata:un},ke=Y;/*! Check if previously processed *//*!
11
- * Wait for document loaded before starting the execution
12
- */function mt(i,n){let s=n?.colors?.hex,d=n?.fonts?.sans||"var(--font-sans)";if(i==="dark")return{darkMode:!0,fontFamily:d,fontSize:"14px",useGradient:!1,dropShadow:"none",background:"transparent",mainBkg:"#1c2a3d",nodeBkg:"#1c2a3d",nodeBorder:"#2f5c94",nodeTextColor:"#eef1f5",primaryColor:"#1c2a3d",primaryBorderColor:"#2f5c94",primaryTextColor:"#eef1f5",secondaryColor:"#21252b",secondaryBorderColor:"#3e4552",secondaryTextColor:"#c2c8d2",tertiaryColor:"#1d2127",tertiaryBorderColor:"#333945",tertiaryTextColor:"#c2c8d2",lineColor:"#6d7887",arrowheadColor:"#8a95a5",defaultLinkColor:"#6d7887",edgeLabelBackground:s?.panel??"#1f2329",labelBoxBkgColor:s?.panel??"#1f2329",labelBoxBorderColor:s?.line??"#333945",labelTextColor:s?.dim??"#c2c8d2",textColor:s?.dim??"#c2c8d2",titleColor:s?.ink??"#eef1f5",clusterBkg:"#1b1e24",clusterBorder:"#353b47",radius:8,strokeWidth:"1.5px"};return{darkMode:!1,fontFamily:d,fontSize:"14px",useGradient:!1,dropShadow:"none",background:"transparent",mainBkg:"#eef4fd",nodeBkg:"#eef4fd",nodeBorder:"#a9c8f1",nodeTextColor:"#181d24",primaryColor:"#eef4fd",primaryBorderColor:"#a9c8f1",primaryTextColor:"#181d24",secondaryColor:"#eef1f4",secondaryBorderColor:"#d0d5dd",secondaryTextColor:"#535e6e",tertiaryColor:"#e8ecf0",tertiaryBorderColor:"#cbd2dc",tertiaryTextColor:"#535e6e",lineColor:"#98a2b0",arrowheadColor:"#6b7787",defaultLinkColor:"#98a2b0",edgeLabelBackground:s?.panel??"#ffffff",labelBoxBkgColor:s?.panel??"#ffffff",labelBoxBorderColor:s?.line??"#e2e6eb",labelTextColor:s?.dim??"#535e6e",textColor:s?.dim??"#535e6e",titleColor:s?.ink??"#181d24",clusterBkg:"#f8fafc",clusterBorder:"#e2e6eb",radius:8,strokeWidth:"1.5px"}}function ut(i){let n=i==="dark"?{fill:"#3a2a17",stroke:"#a86b14"}:{fill:"#fff6e5",stroke:"#f0bf5c"};return`
13
- .node rect, .node .basic.label-container { rx: 10px; ry: 10px; }
14
- .node .label, .nodeLabel { font-weight: 500; }
15
- .node polygon { fill: ${n.fill} !important; stroke: ${n.stroke} !important; }
16
- .edgeLabel, .edgeLabel p, .edgeLabel rect { border-radius: 999px; font-size: 12px; }
17
- .edgeLabel p { padding: 1px 6px; }
18
- .cluster rect { rx: 12px; ry: 12px; stroke-dasharray: 4 3; }
19
- `}var pn=60,ae=new Map;function pt(i,n,s=""){return`${n}:${s}:${i}`}function gn(i,n){if(ae.size>=pn){let s=ae.keys().next().value;if(s!==void 0)ae.delete(s)}ae.set(i,n)}var gt;function vn(i,n,s){let d=s??i;if(gt===d)return;ke.initialize({startOnLoad:!1,suppressErrorRendering:!0,securityLevel:"strict",theme:"base",themeVariables:mt(i,n),themeCSS:ut(i),fontFamily:n?.fonts?.sans||"var(--font-sans)",flowchart:{useMaxWidth:!1,curve:"basis",padding:14,nodeSpacing:44,rankSpacing:56},sequence:{useMaxWidth:!1},state:{useMaxWidth:!1},class:{useMaxWidth:!1},er:{useMaxWidth:!1},gantt:{useMaxWidth:!1},mindmap:{useMaxWidth:!1},timeline:{useMaxWidth:!1}}),gt=d}var hn=0;async function yn(i,n,s,d,c){vn(n,d,c);let l=`${s}-${++hn}`;try{let{svg:f}=await ke.render(l,i);return f.replace(/filter="url\(#[^"]+\)"/g,"").replace(/filter:\s*url\(#[^)]+\);?/g,"")}finally{document.getElementById(`d${l}`)?.remove()}}var wn=(i)=>i instanceof Error?i.message:String(i);function xs(i){let n=_(),s=n.useTheme?.(),d=n.useColorScheme?.(),c=s?.resolved??d??"light",l=s?.tokens,f=s?.themeID?`${s.themeID}-${c}`:c,m=`mermaid-${J().replace(/[^\w-]/g,"")}`,u=i.code.trim(),[h,y]=r(()=>ae.get(pt(u,c,f))),[w,v]=r(),[C,I]=r(!h);return o(()=>{let k=pt(u,c,f),E=ae.get(k);if(E){y(E),v(void 0),I(!1);return}let L=!0;I(!0);let R=setTimeout(async()=>{try{if(i.streaming&&!await ke.parse(u,{suppressErrors:!0})){if(L)I(!1);return}let S=await yn(u,c,m,l,f);if(gn(k,S),!L)return;y(S),v(void 0)}catch(S){if(L)v(wn(S))}if(L)I(!1)},i.streaming?200:0);return()=>{L=!1,clearTimeout(R)}},[u,c,f,l,i.streaming,m]),t(zr,{title:"流程图",code:i.code,codeLang:"mermaid",rendered:Boolean(h),pending:C,streaming:i.streaming,error:w,children:t("div",{role:"img","aria-label":"Mermaid 流程图",className:"flex overflow-x-auto px-6 py-7 [background-image:radial-gradient(var(--color-line)_1px,transparent_1px)] [background-size:16px_16px] [&_svg]:mx-auto [&_svg]:h-auto [&_svg]:max-w-full",dangerouslySetInnerHTML:{__html:h??""}})})}export{xs as MermaidBlock};
@@ -1 +0,0 @@
1
- import{Qn}from"./chunk-z1geewdf.js";export{Qn as default};
@@ -1 +0,0 @@
1
- import{o,J,i,r,g,t,n,_,Z,ee,at,bt}from"./chunk-rddft5ce.js";import{vn}from"./chunk-t3658ehb.js";var U=[{id:"exa",name:"Exa",description:"免密钥 · 综合搜索"},{id:"tavily",name:"Tavily",description:"免密钥 · 支持域名筛选"},{id:"parallel",name:"Parallel",description:"免密钥 · 网页搜索"},{id:"firecrawl",name:"Firecrawl",description:"免密钥 · 网页内容"},{id:"tinyfish",name:"TinyFish",description:"免密钥 · 搜索摘要"},{id:"searxng",name:"SearXNG",description:"免密钥 · 需自建服务"},{id:"brave",name:"Brave",description:"需密钥 · 独立搜索引擎"}];function R(e){return{enabled:e.search.provider!=="off",provider:e.search.provider==="off"?"auto":e.search.provider,searxngUrl:e.search.searxngUrl??"",proxy:e.proxy??"",acceptLanguage:e.acceptLanguage??""}}function A(e,d){return{search:{provider:e.enabled?e.provider:"off",searxngUrl:e.searxngUrl},keys:{...d},proxy:e.proxy,acceptLanguage:e.acceptLanguage}}function z(e,d,x){let f=R(e);if(d.enabled!==f.enabled)return!0;if(d.enabled&&d.provider!==f.provider)return!0;return d.searxngUrl!==f.searxngUrl||d.proxy!==f.proxy||d.acceptLanguage!==f.acceptLanguage||Object.keys(x).length>0}function B({notice:e}){let{cn:d}=_();if(!e)return null;let x=e.type==="success"?vn:Z;return n("div",{role:e.type==="error"?"alert":"status",className:d("flex items-start gap-2 text-xs",e.type==="success"?"text-success":"text-danger"),children:[t(x,{className:"mt-0.5 size-4 shrink-0","aria-hidden":"true"}),t("span",{className:"min-w-0 break-words",children:e.text})]})}function F(e){let{Button:d,Input:x,Switch:f,Select:W,StatusChip:p,SettingGroup:h,SettingRow:C,cn:w}=_(),m=J(),c=e.busy!==void 0;return n("form",{className:"min-w-0 space-y-6",onSubmit:async(s)=>{s.preventDefault(),await e.onSave()},children:[n(h,{title:"联网搜索",children:[t(C,{title:"启用搜索",description:"查询会发送至所选搜索服务。",children:n("div",{className:"flex items-center gap-3",children:[t("span",{className:"text-xs text-dim",children:e.draft.enabled?"已开启":"已关闭"}),t(f,{label:"启用联网搜索",disabled:c,checked:e.draft.enabled,onCheckedChange:(s)=>e.onDraft({...e.draft,enabled:s})})]})}),n("div",{className:"space-y-4 p-4",children:[n("div",{children:[t("label",{htmlFor:`${m}-provider`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"搜索渠道"}),t(W,{id:`${m}-provider`,value:e.draft.provider,disabled:c||!e.draft.enabled,className:"min-w-0",groups:[{options:[{value:"auto",label:"自动",description:"失败时依次切换渠道"},...U.map((s)=>({value:s.id,label:s.name}))]}],onValueChange:(s)=>{let a=s==="auto"?s:U.find((k)=>k.id===s)?.id;if(a)e.onDraft({...e.draft,provider:a})}}),t("p",{className:"mt-1.5 text-xs leading-5 text-faint",children:"自动:Exa → Tavily → Parallel → Firecrawl → TinyFish"})]}),(e.draft.provider==="searxng"||e.draft.searxngUrl)&&n("div",{children:[t("label",{htmlFor:`${m}-searxng`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"自建 SearXNG 地址"}),t(x,{id:`${m}-searxng`,type:"url",maxLength:2000,disabled:c||!e.draft.enabled,value:e.draft.searxngUrl,placeholder:"https://search.example.com",onChange:(s)=>e.onDraft({...e.draft,searxngUrl:s.target.value})})]})]})]}),t(h,{title:"渠道与密钥",description:"检测使用已保存配置,按下列顺序执行。",action:n(d,{type:"button",size:"sm",variant:"ghost",disabled:c,onClick:async()=>await e.onCheck("all"),children:[t(ee,{className:w("size-3.5",e.checking==="all"&&"animate-spin"),"aria-hidden":"true"}),e.checking==="all"?"正在检测…":"检测全部渠道"]}),children:U.map((s)=>{let a=s.id,k=a==="searxng"?void 0:e.saved.keys[a],N=k?.source==="environment",D=a==="searxng"?void 0:e.keys[a],K=D==="",v=e.checks[a],b=e.checking==="all"||e.checking===a,S=k?.configured?"已配置密钥":"未配置";if(a==="searxng")S=e.saved.search.searxngUrl?"已配置地址":"未配置地址";if(N)S="来自环境变量";if(K)S="待移除";if(D)S="待保存密钥";return n("div",{className:"min-w-0 p-4",children:[n("div",{className:"flex min-w-0 flex-wrap items-center justify-between gap-x-3 gap-y-2",children:[n("div",{className:"min-w-0 flex-1 basis-28",children:[t("div",{className:"text-sm font-medium text-ink",children:s.name}),t("p",{className:"mt-0.5 text-xs text-faint",children:s.description})]}),n("div",{className:"flex max-w-full flex-wrap items-center justify-end gap-2",children:[t(p,{tone:D!==void 0?"warning":"neutral",children:S}),v&&!b&&t(p,{tone:v.ok?"success":"danger",children:v.ok?`可用 ${v.elapsedMs} ms`:"不可用"}),b&&t(p,{tone:"neutral",pulse:!0,children:"检测中"}),a!=="searxng"&&!N&&n(g,{children:[t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,"aria-label":`${k?.configured?"更换":"设置"} ${s.name} 密钥`,"aria-expanded":e.editingKey===a,"aria-controls":`${m}-${a}-key-editor`,onClick:()=>e.onEditKey(e.editingKey===a?void 0:a),children:k?.configured?"更换":"设置密钥"}),k?.configured&&!K&&t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,"aria-label":`移除 ${s.name} 密钥`,onClick:()=>{e.onKeys({...e.keys,[a]:""}),e.onEditKey(void 0)},children:"移除"})]}),t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,"aria-label":`检测 ${s.name}`,onClick:async()=>await e.onCheck(a),children:"检测"})]})]}),N&&t("p",{className:"mt-1 text-xs text-faint",children:"请在服务端环境变量中更换或移除。"}),a!=="searxng"&&e.editingKey===a&&n("div",{id:`${m}-${a}-key-editor`,className:"mt-3 space-y-2",children:[n("label",{htmlFor:`${m}-${a}-key`,className:"block text-xs font-medium text-dim",children:[s.name," API 密钥"]}),t(x,{id:`${m}-${a}-key`,type:"password",autoComplete:"new-password",maxLength:4000,disabled:c,value:e.keys[a]??"",placeholder:"输入新密钥,保存后生效",onChange:(P)=>{let y={...e.keys};if(P.target.value.trim())y[a]=P.target.value;else delete y[a];e.onKeys(y)}}),n("div",{className:"flex items-center justify-between gap-2",children:[t("p",{className:"min-w-0 text-xs text-faint",children:"密钥只写入,不回显。"}),t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,onClick:()=>{let P={...e.keys};delete P[a],e.onKeys(P),e.onEditKey(void 0)},children:"取消"})]})]}),v&&!v.ok&&!b&&t("p",{role:"status",className:"mt-2 break-words text-xs leading-5 text-danger",children:v.error??(v.kind==="search"?v.meta?.failed[0]?.error:v.meta?.error)??"检测失败,请检查配置。"})]},a)})}),n(h,{title:"网络",children:[n("div",{className:"p-4",children:[t("label",{htmlFor:`${m}-proxy`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"代理 URL"}),t(x,{id:`${m}-proxy`,type:"url",maxLength:2000,disabled:c,value:e.draft.proxy,placeholder:"http://127.0.0.1:7890",onChange:(s)=>e.onDraft({...e.draft,proxy:s.target.value})}),t("p",{className:"mt-1.5 text-xs text-faint",children:"留空使用服务端环境代理。"})]}),n("div",{className:"p-4",children:[t("label",{htmlFor:`${m}-language`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"Accept-Language"}),t(x,{id:`${m}-language`,maxLength:200,disabled:c,value:e.draft.acceptLanguage,placeholder:"en-US,en;q=0.9",onChange:(s)=>e.onDraft({...e.draft,acceptLanguage:s.target.value})})]})]}),n("div",{className:"mt-4 flex flex-wrap items-center justify-between gap-3 px-0.5",children:[t("div",{className:"min-w-0 flex-1",children:t(B,{notice:e.notice})}),n("div",{className:"flex flex-wrap items-center gap-2",children:[e.dirty&&n(d,{type:"button",size:"sm",variant:"ghost",disabled:c,onClick:e.onRestore,children:[t(at,{className:"size-3.5","aria-hidden":"true"}),"重置"]}),n(d,{type:"submit",size:"sm",variant:"primary",disabled:c||!e.dirty,children:[t(bt,{className:"size-3.5","aria-hidden":"true"}),e.busy==="save"?"保存中…":"保存"]}),e.onClose&&t(d,{type:"button",size:"sm",variant:"secondary",onClick:e.onClose,children:"关闭"})]})]})]})}function q({connection:e,onClose:d}){let{Button:x}=_(),[f,W]=r(),[p,h]=r(),[C,w]=r({}),[m,c]=r(),[s,a]=r("load"),[k,N]=r(),[D,K]=r({}),[v,b]=r(),[S,P]=r(0),y=i(void 0);o(()=>{let l=new AbortController;return y.current=l,a("load"),b(void 0),W(void 0),h(void 0),w({}),c(void 0),K({}),e.request("/api/plugins/webfetch/settings",{signal:l.signal,cache:S>0?"reload":"default"}).then((u)=>{if(l.signal.aborted)return;W(u),h(R(u))}).catch((u)=>{if(!l.signal.aborted)b({type:"error",text:u instanceof Error?u.message:"加载设置失败,请重试。"})}).finally(()=>{if(!l.signal.aborted)y.current=void 0,a(void 0)}),()=>{l.abort(),y.current?.abort(),y.current=void 0}},[e,S]);async function G(){if(y.current||!f||!p||!z(f,p,C))return;let l=new AbortController;y.current=l,a("save"),b(void 0);try{let u=await e.request("/api/plugins/webfetch/settings",{method:"PATCH",signal:l.signal,headers:{"Content-Type":"application/json"},body:JSON.stringify(A(p,C))});if(l.signal.aborted)return;W(u),h(R(u)),w({}),c(void 0),K({}),b({type:"success",text:"设置已保存。"})}catch(u){if(!l.signal.aborted)b({type:"error",text:u instanceof Error?u.message:"保存失败,请重试。"})}finally{if(!l.signal.aborted)y.current=void 0,a(void 0)}}async function I(l){if(y.current||!f)return;let u=new AbortController;y.current=u,a("test"),N(l),b(void 0);try{let L=await e.request(`/api/plugins/webfetch/test?provider=${l}`,{method:"POST",signal:u.signal});if(u.signal.aborted)return;K((j)=>{let T={...j};for(let E of L.checks)if(E.kind==="search"&&E.provider)T[E.provider]=E;return T})}catch(L){if(!u.signal.aborted)b({type:"error",text:L instanceof Error?L.message:"检测失败,请重试。"})}finally{if(!u.signal.aborted)y.current=void 0,a(void 0),N(void 0)}}if(!f||!p)return n("div",{className:"min-w-0 space-y-3",children:[s==="load"&&t("p",{role:"status",className:"text-sm text-dim",children:"正在加载设置…"}),t(B,{notice:v}),d&&t(x,{type:"button",size:"sm",variant:"secondary",onClick:d,children:"关闭"}),s!=="load"&&t(x,{type:"button",size:"sm",variant:"ghost",onClick:()=>P(S+1),children:"重新加载"})]});return t(F,{saved:f,draft:p,keys:C,editingKey:m,dirty:z(f,p,C),busy:s==="load"?void 0:s,checking:k,checks:D,notice:v,onDraft:(l)=>{h(l),b(void 0)},onKeys:(l)=>{w(l),b(void 0)},onEditKey:c,onClose:d,onSave:G,onCheck:I,onRestore:()=>{h(R(f)),w({}),c(void 0),b(void 0)}})}export{F as SettingsForm,q as default};
@@ -1,2 +0,0 @@
1
- import{e,zn,p,Hn}from"./chunk-1s53190z.js";import{Se}from"./chunk-rddft5ce.js";var o=Se(Hn(),1);var on=e((s,t)=>{let r=s.append("rect");if(r.attr("x",t.x),r.attr("y",t.y),r.attr("fill",t.fill),r.attr("stroke",t.stroke),r.attr("width",t.width),r.attr("height",t.height),t.name)r.attr("name",t.name);if(t.rx)r.attr("rx",t.rx);if(t.ry)r.attr("ry",t.ry);if(t.attrs!==void 0)for(let a in t.attrs)r.attr(a,t.attrs[a]);if(t.class)r.attr("class",t.class);return r},"drawRect"),Fr=e((s,t)=>{let r={x:t.startx,y:t.starty,width:t.stopx-t.startx,height:t.stopy-t.starty,fill:t.fill,stroke:t.stroke,class:"rect"};on(s,r).lower()},"drawBackgroundRect"),Ki=e((s,t)=>{let r=t.text.replace(zn," "),a=s.append("text");if(a.attr("x",t.x),a.attr("y",t.y),a.attr("class","legend"),a.style("text-anchor",t.anchor),t.class)a.attr("class",t.class);let i=a.append("tspan");return i.attr("x",t.x+t.textMargin*2),i.text(r),a},"drawText"),ia=e((s,t,r,a)=>{let i=s.append("image");i.attr("x",t),i.attr("y",r);let n=o.sanitizeUrl(a);i.attr("xlink:href",n)},"drawImage"),oa=e((s,t,r,a)=>{let i=s.append("use");i.attr("x",t),i.attr("y",r);let n=o.sanitizeUrl(a);i.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),Ke=e(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),sa=e(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),$t=e(()=>{let s=p(".mermaidTooltip");if(s.empty())s=p("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100");return s},"createTooltip");
2
- export{on,Fr,Ki,ia,oa,Ke,sa,$t};
@@ -1 +0,0 @@
1
- import{yi}from"./chunk-2cem4sv7.js";export{yi as createTreemapServices};
@@ -1 +0,0 @@
1
- import{wi}from"./chunk-2cem4sv7.js";export{wi as createInfoServices};
@@ -1 +0,0 @@
1
- import{ar}from"./chunk-2cem4sv7.js";export{ar as createRailroadServices};