@bkm016/basalt 0.1.8 → 0.1.10

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 (258) hide show
  1. package/{chunk-0039s4jt.js → chunk-02d3x4mj.js} +3 -3
  2. package/{chunk-ky55taar.js → chunk-0mjb3sm3.js} +327 -316
  3. package/{chunk-ckjw3b61.js → chunk-13gvs0ax.js} +2 -2
  4. package/{chunk-0d51ggzj.js → chunk-1n7dat03.js} +4 -4
  5. package/{chunk-ppxv5q7y.js → chunk-1zj3zvw5.js} +3 -3
  6. package/{chunk-2ek3wq4b.js → chunk-29qrxygd.js} +1 -1
  7. package/{chunk-7p6e2f5s.js → chunk-30rjf7my.js} +3 -3
  8. package/{chunk-v2srrqcv.js → chunk-38g3gctw.js} +2 -2
  9. package/chunk-3mqf9ped.js +479 -0
  10. package/{chunk-3j2kkgsc.js → chunk-4dw43syb.js} +1 -1
  11. package/{chunk-t66jqz12.js → chunk-4gtgqcct.js} +2 -2
  12. package/{chunk-qmdpgbg3.js → chunk-755sy11p.js} +1 -1
  13. package/{chunk-n015c8nx.js → chunk-7zkswxvk.js} +1 -1
  14. package/{chunk-91r5nvth.js → chunk-82v8jh1h.js} +2 -2
  15. package/{chunk-12trygzx.js → chunk-95964592.js} +16 -16
  16. package/{chunk-nmtk9xra.js → chunk-9as0p561.js} +2 -2
  17. package/{chunk-pn413hjw.js → chunk-a1352w87.js} +1 -1
  18. package/{chunk-rnt1ckk9.js → chunk-a1rb1a48.js} +5 -5
  19. package/{chunk-fzcmzbsq.js → chunk-a98wma9j.js} +1 -1
  20. package/{chunk-kgkrccr1.js → chunk-asyr3gnq.js} +2 -2
  21. package/{chunk-5gxj9560.js → chunk-ax04trym.js} +1 -1
  22. package/chunk-b2bxqeb4.js +2 -0
  23. package/{chunk-xjw78yey.js → chunk-bdjr0kfr.js} +4 -4
  24. package/{chunk-7kjr9gdx.js → chunk-bk4rpnm8.js} +2 -2
  25. package/{chunk-47vf66t6.js → chunk-c0zfefq8.js} +1 -1
  26. package/{chunk-kpvaqb7c.js → chunk-c6q04xrd.js} +2 -2
  27. package/chunk-c71173py.js +25 -0
  28. package/{chunk-adys4qq4.js → chunk-cmwdjes8.js} +5 -5
  29. package/{chunk-dcwdmpw2.js → chunk-d0a1jxk5.js} +1 -1
  30. package/{chunk-2nrkqq45.js → chunk-d5j74pcp.js} +7 -7
  31. package/{chunk-pkpj7s2k.js → chunk-dfh9m9n7.js} +1 -1
  32. package/{chunk-26cz8et8.js → chunk-dq01v5eq.js} +1 -1
  33. package/{chunk-fpxc6qjr.js → chunk-e1x629v0.js} +2 -2
  34. package/{chunk-86xhmz7k.js → chunk-en218k4y.js} +1 -1
  35. package/{chunk-3hg7yn1t.js → chunk-fgwda4m0.js} +1 -1
  36. package/chunk-gbjn6d81.js +2 -0
  37. package/{chunk-x496kg3v.js → chunk-gkf5jwvj.js} +1 -1
  38. package/{chunk-k3q5jqjj.js → chunk-hb4f2v34.js} +2 -2
  39. package/{chunk-mr807v9n.js → chunk-hbnmymaq.js} +1 -1
  40. package/{chunk-818nd6s1.js → chunk-jj4hqbrx.js} +2 -2
  41. package/{chunk-jyv9cae6.js → chunk-jn5pqy5v.js} +1 -1
  42. package/{chunk-yyy2yp6f.js → chunk-jtsve11b.js} +9 -9
  43. package/chunk-m1eam0s5.js +2 -0
  44. package/{chunk-6vnjg5x9.js → chunk-mbpb5c7w.js} +1 -1
  45. package/{chunk-t40fag3z.js → chunk-msm9hmk9.js} +1 -1
  46. package/{chunk-j781n7ca.js → chunk-n0ybj4h9.js} +2 -2
  47. package/{chunk-jp5afrwm.js → chunk-n2jcx65v.js} +2 -2
  48. package/{chunk-2ks2tnac.js → chunk-nrsd810j.js} +2 -2
  49. package/chunk-pnspvnyd.js +2 -0
  50. package/chunk-pz2afna8.js +2 -0
  51. package/{chunk-d37gemt2.js → chunk-q9f4xb0w.js} +3 -3
  52. package/{chunk-hd3x1w46.js → chunk-qaeyhe65.js} +1 -1
  53. package/chunk-qnkrrwmg.js +2 -0
  54. package/{chunk-e6c2mzxc.js → chunk-r4ttdkrz.js} +2 -2
  55. package/{chunk-r9aatvwm.js → chunk-stj493dn.js} +2 -2
  56. package/{chunk-g3ed130w.js → chunk-tevejprz.js} +4 -4
  57. package/{chunk-k3rmjrf1.js → chunk-v3ee9z3f.js} +1 -1
  58. package/{chunk-4n49ptbz.js → chunk-vtqr7dm8.js} +2 -2
  59. package/{chunk-z3ch1wg6.js → chunk-xh444pfn.js} +14 -14
  60. package/{chunk-pehyqj8k.js → chunk-zc9ar0r4.js} +1 -1
  61. package/{chunk-ef9yhnk3.js → chunk-zyyzk5ha.js} +1 -1
  62. package/compiled.js +9 -9
  63. package/package.json +1 -1
  64. package/ui-test-worker.js +8 -8
  65. package/web/chunk-045d3b5d.js +1 -0
  66. package/web/{chunk-r4ffr96e.js → chunk-0770q5e1.js} +1 -1
  67. package/web/chunk-12qf1r6m.js +1 -0
  68. package/web/{chunk-s7e93552.js → chunk-18neka5g.js} +4 -4
  69. package/web/{chunk-et8q775x.js → chunk-1ev0n3n4.js} +5 -5
  70. package/web/chunk-1ex3wgms.js +2 -0
  71. package/web/{chunk-svh2gkx8.js → chunk-1qh7f5kr.js} +1 -1
  72. package/web/{chunk-s38s9ff9.js → chunk-26ecc2xh.js} +30 -30
  73. package/web/chunk-2cz7tx8q.js +1 -0
  74. package/web/chunk-32ty2xfn.js +1 -0
  75. package/web/{chunk-q1xxs319.js → chunk-3eexx7y5.js} +4 -4
  76. package/web/{chunk-v14s4vgc.js → chunk-46jnkghq.js} +1 -1
  77. package/web/chunk-4am8j3k3.js +1 -0
  78. package/web/{chunk-85gdsmt4.js → chunk-5qvmefq2.js} +1 -1
  79. package/web/chunk-5svqfj4g.js +3 -0
  80. package/web/{chunk-f93pe4kb.js → chunk-5v5q13hz.js} +4 -4
  81. package/web/chunk-5z2n4z9x.css +1 -0
  82. package/web/{chunk-qcge7d6s.js → chunk-6e87m0nm.js} +2 -2
  83. package/web/chunk-6y55gk1n.js +1 -0
  84. package/web/chunk-7np1jp3x.js +8 -0
  85. package/web/chunk-87e8d1hv.js +1 -0
  86. package/web/{chunk-33w36n91.js → chunk-88wd49xe.js} +2 -2
  87. package/web/chunk-8h2x89tw.js +2 -0
  88. package/web/chunk-8y2526ve.js +1 -0
  89. package/web/chunk-905vw286.js +2 -0
  90. package/web/chunk-918e5t4x.js +2 -0
  91. package/web/chunk-96m2m3e8.js +1 -0
  92. package/web/chunk-9f4zzqbx.js +1 -0
  93. package/web/{chunk-fe31sv6t.js → chunk-9yfftz38.js} +1 -1
  94. package/web/{chunk-z0zrp8n8.js → chunk-a1n4468c.js} +1 -1
  95. package/web/chunk-arnzrqnm.js +1 -0
  96. package/web/{chunk-c01176kn.js → chunk-awkdw9rw.js} +2 -2
  97. package/web/{chunk-m5y2d4zv.js → chunk-b46ws7rf.js} +1 -1
  98. package/web/chunk-bc3ajvfg.js +24 -0
  99. package/web/chunk-bwy3e58v.js +1 -0
  100. package/web/{chunk-ja7w629n.js → chunk-c57f714b.js} +2 -2
  101. package/web/chunk-d5gshd1a.js +1 -0
  102. package/web/chunk-de40q05r.js +30 -0
  103. package/web/chunk-dp0k5vhd.js +1 -0
  104. package/web/{chunk-qq2v8h6d.js → chunk-dv1berk6.js} +5 -5
  105. package/web/{chunk-jzte2phh.js → chunk-eh7wp62z.js} +1 -1
  106. package/web/{chunk-823b7866.js → chunk-ehtmb6sn.js} +18 -18
  107. package/web/{chunk-d9wdsjkk.js → chunk-eqndhs21.js} +2 -2
  108. package/web/chunk-et1hytyv.js +1 -0
  109. package/web/chunk-f7jpakwh.js +1 -0
  110. package/web/chunk-f9m9seam.js +1 -0
  111. package/web/{chunk-7a4xk6j9.js → chunk-fmmrthpa.js} +5 -5
  112. package/web/{chunk-fv6vm14n.js → chunk-frnh4zqf.js} +2 -2
  113. package/web/chunk-g2erm7k0.js +1 -0
  114. package/web/chunk-g3kbn0t2.js +1 -0
  115. package/web/{chunk-h5cfg3vv.js → chunk-g7dc4hrd.js} +2 -2
  116. package/web/{chunk-dgwkqcz6.js → chunk-g7kz8f7q.js} +2 -2
  117. package/web/chunk-ght0t49g.js +1 -0
  118. package/web/{chunk-jjjtv2r1.js → chunk-ghwm7bdj.js} +2 -2
  119. package/web/{chunk-sda7cyrt.js → chunk-grm2208k.js} +21 -21
  120. package/web/{chunk-0zwc2rvh.js → chunk-gsw1tv96.js} +1 -1
  121. package/web/chunk-gw8x1g61.js +24 -0
  122. package/web/chunk-gx340asc.js +1 -0
  123. package/web/chunk-h2txs73e.js +39 -0
  124. package/web/chunk-h3tkacc7.js +1 -0
  125. package/web/{chunk-cyjnert7.js → chunk-h5ckjk48.js} +16 -16
  126. package/web/{chunk-1s8zg6fb.js → chunk-j37p0b13.js} +5 -5
  127. package/web/chunk-j89s11x8.js +78 -0
  128. package/web/{chunk-jam45rqg.js → chunk-jccz14ye.js} +2 -2
  129. package/web/chunk-je78j3vr.js +1 -0
  130. package/web/chunk-jke2ev6m.js +2 -0
  131. package/web/{chunk-1gx0zpmp.js → chunk-js6kb05s.js} +9 -9
  132. package/web/{chunk-30b33r2w.js → chunk-k0cg4n2k.js} +2 -2
  133. package/web/{chunk-tkp72r9b.js → chunk-knm82fw9.js} +1 -1
  134. package/web/{chunk-xb9m0092.js → chunk-kxdtg9dt.js} +1 -1
  135. package/web/{chunk-w37n09px.js → chunk-m4fxd5d9.js} +10 -10
  136. package/web/chunk-m9xzt9p7.js +1 -0
  137. package/web/{chunk-8773nwdc.js → chunk-myd6sc76.js} +1 -1
  138. package/web/{chunk-sf101c23.js → chunk-mykrm8ba.js} +2 -2
  139. package/web/chunk-mzzaet63.js +1 -0
  140. package/web/{chunk-2axwda8c.js → chunk-n4yzs2q0.js} +7 -7
  141. package/web/{chunk-wj3ymejj.js → chunk-nawxgz87.js} +4 -4
  142. package/web/chunk-ngt1j8py.js +1139 -0
  143. package/web/{chunk-hstbgb83.js → chunk-p55vhns6.js} +5 -5
  144. package/web/{chunk-xabcx3ry.js → chunk-pgwf37s2.js} +3 -3
  145. package/web/chunk-q34as3v6.js +1 -0
  146. package/web/{chunk-dtg5yhhs.js → chunk-q4bst4an.js} +1 -1
  147. package/web/chunk-qdzy124b.js +4 -0
  148. package/web/chunk-qe0bgeda.js +1 -0
  149. package/web/{chunk-sd3cdqcm.js → chunk-qh62nkem.js} +2 -2
  150. package/web/{chunk-j1bw5v1g.js → chunk-qq6m2my8.js} +2 -2
  151. package/web/{chunk-8dp7h6w8.js → chunk-qy1zx2yw.js} +16 -16
  152. package/web/chunk-rag65pfs.js +4 -0
  153. package/web/chunk-rbqnre6q.js +36 -0
  154. package/web/{chunk-hbkasy6c.js → chunk-rh3xb76f.js} +22 -22
  155. package/web/{chunk-fx4mackk.js → chunk-rwfmccmh.js} +4 -4
  156. package/web/{chunk-mf6xng5b.js → chunk-rxvm70w5.js} +2 -2
  157. package/web/chunk-sat7zyva.js +1 -0
  158. package/web/{chunk-cn0tmwjs.js → chunk-sc63488q.js} +2 -2
  159. package/web/{chunk-xsz1dfm2.js → chunk-sd3xat3r.js} +20 -20
  160. package/web/{chunk-nky3bqfg.js → chunk-se4h6wx0.js} +1 -1
  161. package/web/chunk-sjkg40ay.js +7 -0
  162. package/web/chunk-sk0hpa80.js +1 -0
  163. package/web/{chunk-xqyazzm7.js → chunk-t5nvgz7z.js} +5 -5
  164. package/web/{chunk-3q0v8w45.js → chunk-tfqarvdx.js} +80 -80
  165. package/web/{chunk-d0m0h0eb.js → chunk-tqze6d6b.js} +1 -1
  166. package/web/{chunk-rbdvc8x7.js → chunk-tt93zbn4.js} +7 -7
  167. package/web/chunk-tvcxrx6h.js +1 -0
  168. package/web/chunk-tzpnh70q.js +1 -0
  169. package/web/{chunk-8wg44w91.js → chunk-vasppf6b.js} +2 -2
  170. package/web/chunk-vb7g4xg6.js +1 -0
  171. package/web/chunk-w3zgfhjb.js +2 -0
  172. package/web/{chunk-0j9a7811.js → chunk-wrevb4ew.js} +6 -6
  173. package/web/chunk-wtvch4ad.js +106 -0
  174. package/web/chunk-wzfe6jtq.js +1 -0
  175. package/web/{chunk-cez1k71m.js → chunk-x5g1yy12.js} +1 -1
  176. package/web/chunk-x850q01z.js +1 -0
  177. package/web/chunk-xh4xn1az.js +1 -0
  178. package/web/chunk-xk904wqv.js +1 -0
  179. package/web/chunk-xtn305fd.js +1 -0
  180. package/web/chunk-xzwxcxb4.js +1 -0
  181. package/web/{chunk-4anjs6yp.js → chunk-y2rzeb4v.js} +2 -2
  182. package/web/chunk-yekaz74b.js +1 -0
  183. package/web/{chunk-8nv7q5ac.js → chunk-yppgejg7.js} +15 -15
  184. package/web/chunk-ys2tns0p.js +1 -0
  185. package/web/chunk-z4bp6p32.js +62 -0
  186. package/web/{chunk-p0cjvjdx.js → chunk-z5qn0xev.js} +1 -1
  187. package/web/{chunk-rkjkynm3.js → chunk-zms6mrqk.js} +12 -12
  188. package/web/{chunk-6e38yf3a.js → chunk-zse05v6j.js} +4 -4
  189. package/web/{chunk-cn1xpg3q.js → chunk-zz1qkaar.js} +2 -2
  190. package/web/index.html +1 -1
  191. package/worker.js +1 -1
  192. package/chunk-2gcp3xdc.js +0 -2
  193. package/chunk-320174qe.js +0 -2
  194. package/chunk-dvb5nd2x.js +0 -2
  195. package/chunk-frt9k18g.js +0 -480
  196. package/chunk-ndt6rjt9.js +0 -2
  197. package/chunk-xy2bxwq8.js +0 -2
  198. package/chunk-yzevjkms.js +0 -25
  199. package/chunk-zdyd8hbn.js +0 -2
  200. package/web/chunk-0jfda4jw.js +0 -2
  201. package/web/chunk-2p3fkhy8.js +0 -1
  202. package/web/chunk-3sz5qcwj.js +0 -1
  203. package/web/chunk-433c80pc.js +0 -1
  204. package/web/chunk-48cnmhvd.js +0 -106
  205. package/web/chunk-5r37rwq1.js +0 -4
  206. package/web/chunk-6bwgdvf6.js +0 -1
  207. package/web/chunk-7f1t7z72.js +0 -2
  208. package/web/chunk-7x35g67d.js +0 -78
  209. package/web/chunk-8pzg8qw4.js +0 -1
  210. package/web/chunk-8r0s8tx7.js +0 -1
  211. package/web/chunk-9p5dfvav.js +0 -1
  212. package/web/chunk-9q9w9pay.js +0 -1
  213. package/web/chunk-a3teqvz2.js +0 -39
  214. package/web/chunk-ahztazsg.js +0 -1
  215. package/web/chunk-bd8ftfxn.js +0 -3
  216. package/web/chunk-c03bt2pz.js +0 -1
  217. package/web/chunk-c1ha2xg6.js +0 -8
  218. package/web/chunk-cgng31df.js +0 -1
  219. package/web/chunk-cvd4f51j.js +0 -1
  220. package/web/chunk-cybvxssy.js +0 -1
  221. package/web/chunk-d22wq71s.js +0 -1
  222. package/web/chunk-dynajx8x.js +0 -2
  223. package/web/chunk-f3vv7n52.js +0 -1
  224. package/web/chunk-fmthkpff.js +0 -1
  225. package/web/chunk-fpa81dv7.js +0 -62
  226. package/web/chunk-g17n6asp.js +0 -1
  227. package/web/chunk-g9dzaw9e.js +0 -30
  228. package/web/chunk-gcwhx3av.js +0 -1139
  229. package/web/chunk-gf8vm6b5.js +0 -1
  230. package/web/chunk-gnmeyy4h.js +0 -1
  231. package/web/chunk-hn7mhsbg.js +0 -1
  232. package/web/chunk-jfvxxp5c.js +0 -1
  233. package/web/chunk-k8h8zx6r.js +0 -24
  234. package/web/chunk-m3ajw575.js +0 -1
  235. package/web/chunk-mbwwj216.js +0 -1
  236. package/web/chunk-mz9b5bsa.js +0 -1
  237. package/web/chunk-np33kmn4.js +0 -1
  238. package/web/chunk-nvk8mazs.js +0 -1
  239. package/web/chunk-nyw5ewgv.js +0 -1
  240. package/web/chunk-p56dcqpr.js +0 -1
  241. package/web/chunk-pdn4r8x4.js +0 -1
  242. package/web/chunk-qpt34d8d.js +0 -1
  243. package/web/chunk-qskt3tqa.js +0 -1
  244. package/web/chunk-qt3n897m.js +0 -4
  245. package/web/chunk-r1rt48h9.js +0 -1
  246. package/web/chunk-r7tgd2fm.js +0 -7
  247. package/web/chunk-rznszqmy.js +0 -1
  248. package/web/chunk-s1pefd34.js +0 -1
  249. package/web/chunk-sc29azev.js +0 -1
  250. package/web/chunk-t4jc4nac.js +0 -1
  251. package/web/chunk-t7g366a5.js +0 -24
  252. package/web/chunk-thbqwq6b.js +0 -1
  253. package/web/chunk-v94v68xg.js +0 -36
  254. package/web/chunk-wcphswcx.js +0 -2
  255. package/web/chunk-wwcnvyjh.css +0 -1
  256. package/web/chunk-xce8n339.js +0 -1
  257. package/web/chunk-xfd3b01q.js +0 -1
  258. package/web/chunk-xtss82z2.js +0 -1
package/chunk-ndt6rjt9.js DELETED
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Ur,Br,Ln}from"./chunk-k3rmjrf1.js";export{Ur as ENV_KEY,Br as ENV_SECRET,Ln as fromEnv};
package/chunk-xy2bxwq8.js DELETED
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{me,We,Lt}from"./chunk-2nrkqq45.js";export{me as UnauthorizedError,We as auth,Lt as extractWWWAuthenticateParams};
package/chunk-yzevjkms.js DELETED
@@ -1,25 +0,0 @@
1
- // @bun
2
- import{Database as l}from"bun:sqlite";import{chmodSync as I,closeSync as h,existsSync as f,openSync as N,rmSync as L}from"fs";var x=2,O=1,Go="basalt-search.db",He=0,Tt=1;function c(e){let t=new l(":memory:");try{for(let r of e)t.run(r);return!0}catch{return!1}finally{t.close()}}var E;function zo(){if(E)return E;let e=c(["CREATE VIRTUAL TABLE f USING fts5(text)"]),t=e&&c(["CREATE VIRTUAL TABLE f USING fts5(text, tokenize='trigram')"]);return E={fts5:e,trigram:t,trigramDiacritics:t&&c(["CREATE VIRTUAL TABLE f USING fts5(text, tokenize='trigram remove_diacritics 1')"]),contentlessDelete:e&&c(["CREATE VIRTUAL TABLE f USING fts5(text, content='', contentless_delete=1)","INSERT INTO f (rowid, text) VALUES (1, 'probe')","DELETE FROM f WHERE rowid = 1"]),secureDelete:e&&c(["CREATE VIRTUAL TABLE f USING fts5(text)","INSERT INTO f (f, rank) VALUES ('secure-delete', 1)"])},E}function _(e){return{msg:e.trigram?"trigram":"unicode61",contentless:e.contentlessDelete}}function R(e){return JSON.stringify({schema:x,extractor:O,...e})}function p(e,t){return`text, ${e.contentless?"content='', contentless_delete=1, ":""}detail=full, tokenize="${t}"`}function k(e,t,r){let s=r.msg==="trigram"?t.trigramDiacritics?"trigram remove_diacritics 1":"trigram":"unicode61 remove_diacritics 2";e.transaction(()=>{if(e.run("CREATE TABLE IF NOT EXISTS meta (k TEXT PRIMARY KEY, v) WITHOUT ROWID"),e.run(`CREATE TABLE IF NOT EXISTS doc (
3
- id INTEGER PRIMARY KEY,
4
- hash INTEGER NOT NULL UNIQUE,
5
- refs INTEGER NOT NULL,
6
- len INTEGER NOT NULL,
7
- bulk INTEGER NOT NULL
8
- )`),e.run(`CREATE TABLE IF NOT EXISTS ref (
9
- session_id TEXT NOT NULL,
10
- seq INTEGER NOT NULL,
11
- part INTEGER NOT NULL,
12
- doc INTEGER NOT NULL,
13
- kind INTEGER NOT NULL,
14
- tool TEXT,
15
- err INTEGER NOT NULL DEFAULT 0,
16
- model TEXT,
17
- time INTEGER NOT NULL,
18
- PRIMARY KEY (session_id, seq, part)
19
- ) WITHOUT ROWID`),e.run("CREATE INDEX IF NOT EXISTS ref_doc ON ref(doc,time,kind,tool,err,model)"),e.run("CREATE INDEX IF NOT EXISTS ref_time ON ref(time,session_id,seq,part,doc,kind,tool,err,model)"),e.run("CREATE TABLE IF NOT EXISTS term (t TEXT PRIMARY KEY, n INTEGER NOT NULL) WITHOUT ROWID"),e.run("CREATE TABLE IF NOT EXISTS evicted (session_id TEXT PRIMARY KEY) WITHOUT ROWID"),e.run("CREATE TABLE IF NOT EXISTS backfill_todo (ord INTEGER PRIMARY KEY, session_id TEXT NOT NULL)"),e.run(`CREATE VIRTUAL TABLE IF NOT EXISTS fts USING fts5(${p(r,s)})`),e.run(`CREATE VIRTUAL TABLE IF NOT EXISTS fts_out USING fts5(${p(r,"unicode61 remove_diacritics 2")})`),e.run("CREATE VIRTUAL TABLE IF NOT EXISTS fts_vocab USING fts5vocab(fts, 'row')"),e.run("CREATE VIRTUAL TABLE IF NOT EXISTS fts_out_vocab USING fts5vocab(fts_out, 'row')"),t.secureDelete)e.run("INSERT INTO fts (fts, rank) VALUES ('secure-delete', 1)"),e.run("INSERT INTO fts_out (fts_out, rank) VALUES ('secure-delete', 1)");e.query("INSERT OR REPLACE INTO meta (k, v) VALUES ('fingerprint', ?)").run(R(r)),e.query("INSERT OR REPLACE INTO meta (k, v) VALUES ('layout', ?)").run(JSON.stringify(r))})()}function Zn(e){for(let t of["","-wal","-shm","-journal"])L(e+t,{force:!0})}function D(e){for(let t of["","-wal","-shm"])if(f(e+t))I(e+t,384)}function Yr(e,t){return e.query("SELECT v FROM main.meta WHERE k = ?").get(t)?.v??void 0}function qt(e,t,r){e.query("INSERT OR REPLACE INTO main.meta (k, v) VALUES (?, ?)").run(t,r)}function Ai(e,t,r){let s=_(r),n=!1;if(f(e)){let o=!1;try{let u=new l(e);try{o=u.query("SELECT v FROM meta WHERE k = 'fingerprint'").get()?.v===R(s)}finally{u.close()}}catch{o=!1}if(!o)Zn(e),n=!0}if(!f(e))h(N(e,"a",384));let i=new l(e,{create:!0,strict:!0});return i.run("PRAGMA journal_mode = WAL"),i.run("PRAGMA synchronous = NORMAL"),i.run("PRAGMA busy_timeout = 5000"),k(i,r,s),D(e),i.query("ATTACH ? AS store").run(t),{db:i,layout:s,reset:n}}function jo(e,t){if(!f(e))return;let r;try{return r=new l(e,{readonly:!0,strict:!0}),r.run("PRAGMA busy_timeout = 5000"),r.query("ATTACH ? AS store").run(t),r.query("SELECT v FROM meta WHERE k = 'layout'").get(),r}catch{r?.close();return}}var Ei=49152,Pi=16384,g=64;function d(e){if(e.length<=65536)return e;return`${e.slice(0,49152)}
20
- \u2026
21
- ${e.slice(-16384)}`}var b=/[\u3040-\u30FF\u3400-\u9FFF\uF900-\uFAFF\uAC00-\uD7AF]+/g,F=/[A-Za-z][a-z0-9]*(?:[A-Z][a-z0-9]+)+|[A-Z]{2,}[a-z0-9]+[A-Za-z0-9]*/g,U=/([a-z0-9])([A-Z])|([A-Z])([A-Z][a-z])/g;function m(e){return e.replace(b,(t)=>{if(t.length===1)return` ${t} `;let r=[];for(let s=0;s<t.length-1;s++)r.push(t.slice(s,s+2));return` ${r.join(" ")} `}).replace(F,(t)=>`${t} ${t.replace(U,"$1$3 $2$4")}`)}function S(e){return`${e} `}function gt(e){return e.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]+/g,"").normalize("NFC")}var C=/[\p{L}\p{N}\p{Co}]+/gu;function Vo(e){return gt(m(e)).match(C)??[]}var Ne={user:1,assistant:2,thinking:3,tool_input:4,tool_output:5,error:6,extension:7,notice:8,attachment:9,title:10},Zr=Object.fromEntries(Object.entries(Ne).map(([e,t])=>[t,e])),M=1e4,v=-1,w=2048;function A(e){return e==="tool_output"||e==="attachment"}function T(e,t=[],r=0){if(r>6)return t;if(typeof e==="string")t.push(e);else if(typeof e==="number"||typeof e==="boolean")t.push(String(e));else if(Array.isArray(e))for(let s of e)T(s,t,r+1);else if(e&&typeof e==="object")for(let s of Object.values(e))T(s,t,r+1);return t}function Ke(e,t=!1){let r=[],s=e;switch(e.type){case"user":{if(typeof e.text==="string")r.push({part:0,kind:e.notices?"notice":"user",text:e.text});(Array.isArray(e.attachments)?e.attachments:[]).forEach((i,o)=>{let u=String(i?.name??""),a=i?.kind==="image"?u:`${u}
22
- ${String(i?.data??"")}`;r.push({part:1+o,kind:"attachment",text:a})});break}case"notice_pending":if(typeof e.notice?.text==="string")r.push({part:0,kind:"notice",text:e.notice.text});break;case"assistant":{let n=typeof e.model==="string"?e.model:void 0;if((Array.isArray(e.parts)?e.parts:[]).forEach((o,u)=>{if(o?.type==="text"||o?.type==="thinking"){if(typeof o.text==="string")r.push({part:u,kind:o.type==="text"?"assistant":"thinking",text:o.text,model:n})}else if(o?.type==="tool_call"){let a=typeof o.name==="string"?o.name:void 0;if(r.push({part:u,kind:"tool_input",tool:a,model:n,text:[a??"",...T(o.input)].join(`
23
- `)}),typeof o.output==="string")r.push({part:M+u,kind:"tool_output",tool:a,model:n,text:o.output})}}),typeof e.error==="string")r.push({part:v,kind:"error",err:!0,model:n,text:e.error});break}case"tool_result":{let n=typeof e.name==="string"?e.name:void 0,i=typeof e.output==="string"?e.output:"",o=e.isError===!0;if(r.push({part:0,kind:"tool_output",tool:n,err:o,text:i}),o)r.push({part:1,kind:"error",tool:n,err:o,text:i.slice(0,w)});break}case"run":if(typeof s.error==="string")r.push({part:0,kind:"error",err:!0,text:s.error});break;case"extension":{let n=e.display;if(n&&typeof n.text==="string")r.push({part:0,kind:"extension",text:`${n.title??""}
24
- ${n.text}`});break}}if(!t)for(let n of r)n.text=d(n.text);return r.filter((n)=>n.text.trim())}function y(e){return e.trim()?[{part:0,kind:"title",text:d(e)}]:[]}function H(e,t){return BigInt.asIntN(64,Bun.hash.wyhash(`${e?"B":"M"}${t}`))}class Ko{db;layout;readEntry;readTitle;previousModel;selectRefs;deleteRefs;insertRef;findDoc;insertDoc;increment;decrement;docRefs;deleteDoc;insertMsg;insertOut;deleteMsg;deleteOut;stats={entries:0,fields:0,bytes:0,newDocs:0,newBytes:0};outChanges=0;constructor(e,t){this.db=e;this.layout=t;this.readEntry=e.query("SELECT time, body FROM store.entries WHERE session_id = ? AND seq = ?"),this.readTitle=e.query("SELECT title, created FROM store.sessions WHERE id = ?"),this.previousModel=e.query("SELECT json_extract(body, '$.model') AS model FROM store.entries WHERE session_id = ? AND seq < ? AND json_extract(body, '$.type') = 'assistant' ORDER BY seq DESC LIMIT 1"),this.selectRefs=e.query("SELECT doc FROM main.ref WHERE session_id = ? AND seq = ?"),this.deleteRefs=e.query("DELETE FROM main.ref WHERE session_id = ? AND seq = ?"),this.insertRef=e.query("INSERT INTO main.ref (session_id, seq, part, doc, kind, tool, err, model, time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"),this.findDoc=e.query("SELECT id FROM main.doc WHERE hash = ?"),this.insertDoc=e.query("INSERT INTO main.doc (hash, refs, len, bulk) VALUES (?, 1, ?, ?)"),this.increment=e.query("UPDATE main.doc SET refs = refs + 1 WHERE id = ?"),this.decrement=e.query("UPDATE main.doc SET refs = refs - 1 WHERE id = ?"),this.docRefs=e.query("SELECT refs, bulk FROM main.doc WHERE id = ?"),this.deleteDoc=e.query("DELETE FROM main.doc WHERE id = ?"),this.insertMsg=e.query("INSERT INTO main.fts (rowid, text) VALUES (?, ?)"),this.insertOut=e.query("INSERT INTO main.fts_out (rowid, text) VALUES (?, ?)"),this.deleteMsg=e.query("DELETE FROM main.fts WHERE rowid = ?"),this.deleteOut=e.query("DELETE FROM main.fts_out WHERE rowid = ?")}reindex(e,t){let r=0,s=[];if(t===0){let n=this.readTitle.get(e);if(n)r=n.created,s=y(n.title)}else{let n=this.readEntry.get(e,t);if(n)r=n.time,s=this.fields(e,t,n.body)}this.apply(e,t,r,s)}indexRow(e,t,r,s){this.apply(e,t,r,this.fields(e,t,s))}fields(e,t,r){let s;try{s=JSON.parse(r)}catch{return[]}if(!s||typeof s!=="object")return[];let n=Ke(s);if(s.type==="tool_result"&&n.length){let i=this.previousModel.get(e,t)?.model??void 0;if(i)for(let o of n)o.model=i}return n}apply(e,t,r,s){let n=this.selectRefs.all(e,t);if(n.length)this.deleteRefs.run(e,t);this.stats.entries++;for(let i of s){let o=A(i.kind),u=H(o,i.text);this.stats.fields++,this.stats.bytes+=i.text.length;let a=this.findDoc.get(u)?.id;if(a===void 0){if(a=Number(this.insertDoc.run(u,i.text.length,o?1:0).lastInsertRowid),o)this.insertOut.run(a,m(i.text)),this.outChanges++;else this.insertMsg.run(a,this.layout.msg==="trigram"?S(i.text):m(i.text));this.stats.newDocs++,this.stats.newBytes+=i.text.length}else this.increment.run(a);this.insertRef.run(e,t,i.part,a,Ne[i.kind],i.tool??null,i.err?1:0,i.model??null,r)}for(let{doc:i}of n)this.release(i)}release(e){this.decrement.run(e);let t=this.docRefs.get(e);if(!t||t.refs>0)return;if(this.deleteDoc.run(e),t.bulk)this.deleteOut.run(e),this.outChanges++;else this.deleteMsg.run(e)}}class Qo{db;page;clearRange;clearTail;upsert;constructor(e){this.db=e;this.page=e.query("SELECT term, doc FROM main.fts_out_vocab WHERE term > ? ORDER BY term LIMIT ?"),this.clearRange=e.query("DELETE FROM main.term WHERE t > ? AND t <= ?"),this.clearTail=e.query("DELETE FROM main.term WHERE t > ?"),this.upsert=e.query("INSERT OR REPLACE INTO main.term (t, n) VALUES (?, ?)")}step(e,t){let r=this.page.all(e,t),s=r.at(-1)?.term;if(r.length<t||s===void 0)this.clearTail.run(e);else this.clearRange.run(e,s);for(let{term:n,doc:i}of r)if(n.length<=g)this.upsert.run(n,i);return r.length<t?void 0:s}}
25
- export{Go,He,Tt,zo,Zn,Yr,qt,Ai,jo,Ei,Pi,gt,Vo,Ne,Zr,Ke,Ko,Qo};
package/chunk-zdyd8hbn.js DELETED
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{Xt,xo}from"./chunk-12trygzx.js";import"./chunk-c4qr1f41.js";import"./chunk-t66jqz12.js";export{Xt as stream,xo as streamSimple};
@@ -1,2 +0,0 @@
1
- import{r,g,e,n,b,s,K,Q,Jn}from"./chunk-gcwhx3av.js";var u=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],c=s("code-xml",u);function Qr(t){let i=b();i.useTheme();let[m,d]=r("preview"),o=t.streaming&&!t.rendered,l=!t.streaming&&!t.rendered&&Boolean(t.error),a=m==="code"||o;return n(i.Panel,{"aria-label":t.title,"data-render-pending":t.pending&&!l?"true":void 0,className:"group/graph relative my-4 font-sans not-italic first:mt-0 last:mb-0",children:[e("div",{role:"toolbar","aria-label":`${t.title}操作`,className:o?"absolute top-2 right-2 z-10 flex items-center":i.style("surface.toolbarFloating","absolute top-2 right-2 z-10 opacity-0 transition-opacity duration-150 group-hover/graph:opacity-100 focus-within:opacity-100 [@media(hover:none)]:opacity-70"),children:o?n("span",{className:i.style("control.badge","gap-1.5 rounded-full px-2 py-0.5 text-[11px]"),children:[e(Q,{className:"size-3 animate-spin"}),"生成",t.title]}):n(g,{children:[e("button",{type:"button","aria-label":a?"查看图表":"查看代码",title:a?"查看图表":"查看代码",onClick:()=>d(a?"preview":"code"),className:"flex size-6 items-center justify-center rounded-md text-dim hover:bg-raised hover:text-ink [&_svg]:size-3.5",children:a?e(Jn,{}):e(c,{})}),e(i.CopyButton,{text:t.code,size:"icon-sm",label:"复制代码"})]})}),a&&e(i.Code,{code:t.code,lang:t.codeLang,className:"px-4 py-3"}),l&&!a&&n("div",{role:"alert",className:"flex flex-col items-center gap-2 px-4 py-8 text-center",children:[e(K,{className:"size-5 text-warning"}),e("p",{className:"max-w-full text-xs break-words text-dim",children:t.error}),e("button",{type:"button",onClick:()=>d("code"),className:"text-xs text-accent-strong underline underline-offset-2",children:"查看代码"})]}),e("div",{hidden:a||l,children:t.children})]})}
2
- export{Qr};
@@ -1 +0,0 @@
1
- import{Qn}from"./chunk-8773nwdc.js";export{Qn as default};
@@ -1 +0,0 @@
1
- import{_i}from"./chunk-8dp7h6w8.js";export{_i as createGitGraphServices};
@@ -1 +0,0 @@
1
- import{Ki,Co,Qi,So,To,Ji}from"./chunk-qt3n897m.js";import"./chunk-mf6xng5b.js";import"./chunk-33w36n91.js";import"./chunk-3q0v8w45.js";export{Co as applyDagreLayoutResult,Ki as getEdgesToRender,So as measureDagreLayout,Qi as prepareLayoutForDagre,Ji as render,To as runDagreLayoutCore};
@@ -1,106 +0,0 @@
1
- import{hn}from"./chunk-h5cfg3vv.js";import{G}from"./chunk-jzte2phh.js";import{t,a,D,x,v,C,S,E,T,A,L,R,l,kr,p,ji,U,M}from"./chunk-3q0v8w45.js";import{ee}from"./chunk-8dp7h6w8.js";var k={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},Ce=D.gitGraph,X=t(()=>U({...Ce,...x().gitGraph}),"getConfig"),m=new hn(()=>{let e=X(),{mainBranchName:r,mainBranchOrder:o}=e;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:o}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function ne(){return ji({length:7})}t(ne,"getID");function pe(e,r){let o=Object.create(null);return e.reduce((c,i)=>{let h=r(i);if(!o[h])o[h]=!0,c.push(i);return c},[])}t(pe,"uniqBy");var ve=t(function(e){m.records.direction=e},"setDirection"),Ee=t(function(e){a.debug("options str",e),e=e?.trim(),e=e||"{}";try{m.records.options=JSON.parse(e)}catch(r){a.error("error while parsing gitGraph options",r.message)}},"setOptions"),Te=t(function(){return m.records.options},"getOptions"),Le=t(function(e){let{msg:r,id:o,type:c,tags:i}=e;a.info("commit",r,o,c,i),a.debug("Entering commit:",r,o,c,i);let h=X();o=v.sanitizeText(o,h),r=v.sanitizeText(r,h),i=i?.map((s)=>v.sanitizeText(s,h));let n={id:o?o:m.records.seq+"-"+ne(),message:r,seq:m.records.seq++,type:c??k.NORMAL,tags:i??[],parents:m.records.head==null?[]:[m.records.head.id],branch:m.records.currBranch};if(m.records.head=n,a.info("main branch",h.mainBranchName),m.records.commits.has(n.id))a.warn(`Commit ID ${n.id} already exists`);m.records.commits.set(n.id,n),m.records.branches.set(m.records.currBranch,n.id),a.debug("in pushCommit "+n.id)},"commit"),Me=t(function(e){let{name:r,order:o}=e;if(r=v.sanitizeText(r,X()),m.records.branches.has(r))throw Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);m.records.branches.set(r,m.records.head!=null?m.records.head.id:null),m.records.branchConfig.set(r,{name:r,order:o}),ye(r),a.debug("in createBranch")},"branch"),Pe=t((e)=>{let{branch:r,id:o,type:c,tags:i}=e,h=X();if(r=v.sanitizeText(r,h),o)o=v.sanitizeText(o,h);let n=m.records.branches.get(m.records.currBranch),s=m.records.branches.get(r),g=n?m.records.commits.get(n):void 0,y=s?m.records.commits.get(s):void 0;if(g&&y&&g.branch===r)throw Error(`Cannot merge branch '${r}' into itself.`);if(m.records.currBranch===r){let d=Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if(g===void 0||!g){let d=Error(`Incorrect usage of "merge". Current branch (${m.records.currBranch})has no commits`);throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},d}if(!m.records.branches.has(r)){let d=Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},d}if(y===void 0||!y){let d=Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},d}if(g===y){let d=Error('Incorrect usage of "merge". Both branches have same head');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if(o&&m.records.commits.has(o)){let d=Error('Incorrect usage of "merge". Commit with id:'+o+" already exists, use different custom id");throw d.hash={text:`merge ${r} ${o} ${c} ${i?.join(" ")}`,token:`merge ${r} ${o} ${c} ${i?.join(" ")}`,expected:[`merge ${r} ${o}_UNIQUE ${c} ${i?.join(" ")}`]},d}let u=s?s:"",f={id:o||`${m.records.seq}-${ne()}`,message:`merged branch ${r} into ${m.records.currBranch}`,seq:m.records.seq++,parents:m.records.head==null?[]:[m.records.head.id,u],branch:m.records.currBranch,type:k.MERGE,customType:c,customId:o?!0:!1,tags:i??[]};m.records.head=f,m.records.commits.set(f.id,f),m.records.branches.set(m.records.currBranch,f.id),a.debug(m.records.branches),a.debug("in mergeBranch")},"merge"),Re=t(function(e){let{id:r,targetId:o,tags:c,parent:i}=e;a.debug("Entering cherryPick:",r,o,c);let h=X();if(r=v.sanitizeText(r,h),o=v.sanitizeText(o,h),c=c?.map((g)=>v.sanitizeText(g,h)),i=v.sanitizeText(i,h),!r||!m.records.commits.has(r)){let g=Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw g.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},g}let n=m.records.commits.get(r);if(n===void 0||!n)throw Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(n.parents)&&n.parents.includes(i)))throw Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let s=n.branch;if(n.type===k.MERGE&&!i)throw Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!o||!m.records.commits.has(o)){if(s===m.records.currBranch){let f=Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw f.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},f}let g=m.records.branches.get(m.records.currBranch);if(g===void 0||!g){let f=Error(`Incorrect usage of "cherry-pick". Current branch (${m.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},f}let y=m.records.commits.get(g);if(y===void 0||!y){let f=Error(`Incorrect usage of "cherry-pick". Current branch (${m.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},f}let u={id:m.records.seq+"-"+ne(),message:`cherry-picked ${n?.message} into ${m.records.currBranch}`,seq:m.records.seq++,parents:m.records.head==null?[]:[m.records.head.id,n.id],branch:m.records.currBranch,type:k.CHERRY_PICK,tags:c?c.filter(Boolean):[`cherry-pick:${n.id}${n.type===k.MERGE?`|parent:${i}`:""}`]};m.records.head=u,m.records.commits.set(u.id,u),m.records.branches.set(m.records.currBranch,u.id),a.debug(m.records.branches),a.debug("in cherryPick")}},"cherryPick"),ye=t(function(e){if(e=v.sanitizeText(e,X()),!m.records.branches.has(e)){let r=Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${e}")`);throw r.hash={text:`checkout ${e}`,token:`checkout ${e}`,expected:[`branch ${e}`]},r}else{m.records.currBranch=e;let r=m.records.branches.get(m.records.currBranch);if(r===void 0||!r)m.records.head=null;else m.records.head=m.records.commits.get(r)??null}},"checkout");function he(e,r,o){let c=e.indexOf(r);if(c===-1)e.push(o);else e.splice(c,1,o)}t(he,"upsert");function me(e){let r=e.reduce((i,h)=>{if(i.seq>h.seq)return i;return h},e[0]),o="";e.forEach(function(i){if(i===r)o+="\t*";else o+="\t|"});let c=[o,r.id,r.seq];for(let i in m.records.branches)if(m.records.branches.get(i)===r.id)c.push(i);if(a.debug(c.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){let i=m.records.commits.get(r.parents[0]);if(he(e,r,i),r.parents[1])e.push(m.records.commits.get(r.parents[1]))}else if(r.parents.length==0)return;else if(r.parents[0]){let i=m.records.commits.get(r.parents[0]);he(e,r,i)}e=pe(e,(i)=>i.id),me(e)}t(me,"prettyPrintCommitHistory");var Oe=t(function(){a.debug(m.records.commits);let e=xe()[0];me([e])},"prettyPrint"),Ie=t(function(){m.reset(),C()},"clear"),_e=t(function(){return[...m.records.branchConfig.values()].map((r,o)=>{if(r.order!==null&&r.order!==void 0)return r;return{...r,order:parseFloat(`0.${o}`)}}).sort((r,o)=>(r.order??0)-(o.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),Ge=t(function(){return m.records.branches},"getBranches"),De=t(function(){return m.records.commits},"getCommits"),xe=t(function(){let e=[...m.records.commits.values()];return e.forEach(function(r){a.debug(r.id)}),e.sort((r,o)=>r.seq-o.seq),e},"getCommitsArray"),We=t(function(){return m.records.currBranch},"getCurrentBranch"),qe=t(function(){return m.records.direction},"getDirection"),Ae=t(function(){return m.records.head},"getHead"),ue={commitType:k,getConfig:X,setDirection:ve,setOptions:Ee,getOptions:Te,commit:Le,branch:Me,merge:Pe,cherryPick:Re,checkout:ye,prettyPrint:Oe,clear:Ie,getBranchesAsObjArray:_e,getBranches:Ge,getCommits:De,getCommitsArray:xe,getCurrentBranch:We,getDirection:qe,getHead:Ae,setAccTitle:S,getAccTitle:E,getAccDescription:A,setAccDescription:T,setDiagramTitle:L,getDiagramTitle:R},He=t((e,r)=>{if(G(e,r),e.dir)r.setDirection(e.dir);for(let o of e.statements)Se(o,r)},"populate"),Se=t((e,r)=>{let c={Commit:t((i)=>r.commit(Ne(i)),"Commit"),Branch:t((i)=>r.branch(Fe(i)),"Branch"),Merge:t((i)=>r.merge(ze(i)),"Merge"),Checkout:t((i)=>r.checkout(Ye(i)),"Checkout"),CherryPicking:t((i)=>r.cherryPick(je(i)),"CherryPicking")}[e.$type];if(c)c(e);else a.error(`Unknown statement type: ${e.$type}`)},"parseStatement"),Ne=t((e)=>({id:e.id,msg:e.message??"",type:e.type!==void 0?k[e.type]:k.NORMAL,tags:e.tags??void 0}),"parseCommit"),Fe=t((e)=>({name:e.name,order:e.order??0}),"parseBranch"),ze=t((e)=>({branch:e.branch,id:e.id??"",type:e.type!==void 0?k[e.type]:void 0,tags:e.tags??void 0}),"parseMerge"),Ye=t((e)=>e.branch,"parseCheckout"),je=t((e)=>({id:e.id,targetId:"",tags:e.tags?.length===0?void 0:e.tags,parent:e.parent}),"parseCherryPicking"),Ke={parse:t(async(e)=>{let r=await ee("gitGraph",e);a.debug(r),He(r,ue)},"parse")},j=10,K=40,N=4,z=2,V=8,ce=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),le=12,ge=new Set(["redux-color","redux-dark-color"]),Ue=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Z=t((e,r,o=!1)=>{if(o&&e>0)return(e-1)%(r-1)+1;return e%r},"calcColorIndex"),W=new Map,q=new Map,oe=30,te=new Map,se=[],Y=0,w="LR",Ve=t(()=>{W.clear(),q.clear(),te.clear(),Y=0,se=[],w="LR"},"clear"),be=t((e)=>{let r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof e==="string"?e.split(/\\n|\n|<br\s*\/?>/gi):e).forEach((c)=>{let i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=c.trim(),r.appendChild(i)}),r},"drawText"),we=t((e)=>{let r,o,c;if(w==="BT")o=t((i,h)=>i<=h,"comparisonFunc"),c=1/0;else o=t((i,h)=>i>=h,"comparisonFunc"),c=0;return e.forEach((i)=>{let h=w==="TB"||w=="BT"?q.get(i)?.y:q.get(i)?.x;if(h!==void 0&&o(h,c))r=i,c=h}),r},"findClosestParent"),Ze=t((e)=>{let r="",o=1/0;return e.forEach((c)=>{let i=q.get(c).y;if(i<=o)r=c,o=i}),r||void 0},"findClosestParentBT"),Xe=t((e,r,o)=>{let c=o,i=o,h=[];e.forEach((n)=>{let s=r.get(n);if(!s)throw Error(`Commit not found for key ${n}`);if(s.parents.length)c=Qe(s),i=Math.max(c,i);else h.push(s);et(s,c)}),c=i,h.forEach((n)=>{tt(n,c,o)}),e.forEach((n)=>{let s=r.get(n);if(s?.parents.length){let g=Ze(s.parents);if(c=q.get(g).y-K,c<=i)i=c;let y=W.get(s.branch).pos,u=c-j;q.set(s.id,{x:y,y:u})}})},"setParallelBTPos"),Je=t((e)=>{let r=we(e.parents.filter((c)=>c!==null));if(!r)throw Error(`Closest parent not found for commit ${e.id}`);let o=q.get(r)?.y;if(o===void 0)throw Error(`Closest parent position not found for commit ${e.id}`);return o},"findClosestParentPos"),Qe=t((e)=>Je(e)+K,"calculateCommitPosition"),et=t((e,r)=>{let o=W.get(e.branch);if(!o)throw Error(`Branch not found for commit ${e.id}`);let c=o.pos,i=r+j;return q.set(e.id,{x:c,y:i}),{x:c,y:i}},"setCommitPosition"),tt=t((e,r,o)=>{let c=W.get(e.branch);if(!c)throw Error(`Branch not found for commit ${e.id}`);let i=r+o,h=c.pos;q.set(e.id,{x:h,y:i})},"setRootPosition"),rt=t((e,r,o,c,i,h)=>{let{theme:n}=l(),s=ce.has(n??""),g=ge.has(n??""),y=Ue.has(n??"");if(h===k.HIGHLIGHT)e.append("rect").attr("x",o.x-10+(s?3:0)).attr("y",o.y-10+(s?3:0)).attr("width",s?14:20).attr("height",s?14:20).attr("class",`commit ${r.id} commit-highlight${Z(i,V,g)} ${c}-outer`),e.append("rect").attr("x",o.x-6+(s?2:0)).attr("y",o.y-6+(s?2:0)).attr("width",s?8:12).attr("height",s?8:12).attr("class",`commit ${r.id} commit${Z(i,V,g)} ${c}-inner`);else if(h===k.CHERRY_PICK)e.append("circle").attr("cx",o.x).attr("cy",o.y).attr("r",s?7:10).attr("class",`commit ${r.id} ${c}`),e.append("circle").attr("cx",o.x-3).attr("cy",o.y+2).attr("r",s?2.5:2.75).attr("fill",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`),e.append("circle").attr("cx",o.x+3).attr("cy",o.y+2).attr("r",s?2.5:2.75).attr("fill",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`),e.append("line").attr("x1",o.x+3).attr("y1",o.y+1).attr("x2",o.x).attr("y2",o.y-5).attr("stroke",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`),e.append("line").attr("x1",o.x-3).attr("y1",o.y+1).attr("x2",o.x).attr("y2",o.y-5).attr("stroke",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`);else{let u=e.append("circle");if(u.attr("cx",o.x),u.attr("cy",o.y),u.attr("r",s?7:10),u.attr("class",`commit ${r.id} commit${Z(i,V,g)}`),h===k.MERGE){let f=e.append("circle");f.attr("cx",o.x),f.attr("cy",o.y),f.attr("r",s?5:6),f.attr("class",`commit ${c} ${r.id} commit${Z(i,V,g)}`)}if(h===k.REVERSE){let f=e.append("path"),d=s?4:5;f.attr("d",`M ${o.x-d},${o.y-d}L${o.x+d},${o.y+d}M${o.x-d},${o.y+d}L${o.x+d},${o.y-d}`).attr("class",`commit ${c} ${r.id} commit${Z(i,V,g)}`)}}},"drawCommitBullet"),at=t((e,r,o,c,i)=>{if(r.type!==k.CHERRY_PICK&&(r.customId&&r.type===k.MERGE||r.type!==k.MERGE)&&i.showCommitLabel){let h=e.append("g"),n=h.insert("rect").attr("class","commit-label-bkg"),s=h.append("text").attr("x",c).attr("y",o.y+25).attr("class","commit-label").text(r.id),g=s.node()?.getBBox();if(g){if(n.attr("x",o.posWithOffset-g.width/2-z).attr("y",o.y+13.5).attr("width",g.width+2*z).attr("height",g.height+2*z),w==="TB"||w==="BT")n.attr("x",o.x-(g.width+4*N+5)).attr("y",o.y-12),s.attr("x",o.x-(g.width+4*N)).attr("y",o.y+g.height-12);else s.attr("x",o.posWithOffset-g.width/2);if(i.rotateCommitLabel)if(w==="TB"||w==="BT")s.attr("transform","rotate(-45, "+o.x+", "+o.y+")"),n.attr("transform","rotate(-45, "+o.x+", "+o.y+")");else{let y=-7.5-(g.width+10)/25*9.5,u=10+g.width/25*8.5;h.attr("transform","translate("+y+", "+u+") rotate(-45, "+c+", "+o.y+")")}}}},"drawCommitLabel"),ot=t((e,r,o,c)=>{if(r.tags.length>0){let i=0,h=0,n=0,s=[];for(let g of r.tags.reverse()){let y=e.insert("polygon"),u=e.append("circle"),f=e.append("text").attr("y",o.y-16-i).attr("class","tag-label").text(g),d=f.node()?.getBBox();if(!d)throw Error("Tag bbox not found");h=Math.max(h,d.width),n=Math.max(n,d.height),f.attr("x",o.posWithOffset-d.width/2),s.push({tag:f,hole:u,rect:y,yOffset:i}),i+=20}for(let{tag:g,hole:y,rect:u,yOffset:f}of s){let d=n/2,B=o.y-19.2-f;if(u.attr("class","tag-label-bkg").attr("points",`
2
- ${c-h/2-N/2},${B+z}
3
- ${c-h/2-N/2},${B-z}
4
- ${o.posWithOffset-h/2-N},${B-d-z}
5
- ${o.posWithOffset+h/2+N},${B-d-z}
6
- ${o.posWithOffset+h/2+N},${B+d+z}
7
- ${o.posWithOffset-h/2-N},${B+d+z}`),y.attr("cy",B).attr("cx",c-h/2+N/2).attr("r",1.5).attr("class","tag-hole"),w==="TB"||w==="BT"){let b=c+f;u.attr("class","tag-label-bkg").attr("points",`
8
- ${o.x},${b+2}
9
- ${o.x},${b-2}
10
- ${o.x+j},${b-d-2}
11
- ${o.x+j+h+4},${b-d-2}
12
- ${o.x+j+h+4},${b+d+2}
13
- ${o.x+j},${b+d+2}`).attr("transform","translate(12,12) rotate(45, "+o.x+","+c+")"),y.attr("cx",o.x+N/2).attr("cy",b).attr("transform","translate(12,12) rotate(45, "+o.x+","+c+")"),g.attr("x",o.x+5).attr("y",b+3).attr("transform","translate(14,14) rotate(45, "+o.x+","+c+")")}}}},"drawCommitTags"),st=t((e)=>{switch(e.customType??e.type){case k.NORMAL:return"commit-normal";case k.REVERSE:return"commit-reverse";case k.HIGHLIGHT:return"commit-highlight";case k.MERGE:return"commit-merge";case k.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),nt=t((e,r,o,c)=>{let i={x:0,y:0};if(e.parents.length>0){let h=we(e.parents);if(h){let n=c.get(h)??i;if(r==="TB")return n.y+K;else if(r==="BT")return(c.get(e.id)??i).y-K;else return n.x+K}}else if(r==="TB")return oe;else if(r==="BT")return(c.get(e.id)??i).y-K;else return 0;return 0},"calculatePosition"),ct=t((e,r,o)=>{let c=w==="BT"&&o?r:r+j,i=W.get(e.branch)?.pos,h=w==="TB"||w==="BT"?W.get(e.branch)?.pos:c;if(h===void 0||i===void 0)throw Error(`Position were undefined for commit ${e.id}`);let n=ce.has(l().theme??""),s=w==="TB"||w==="BT"?c:i+(n?le/2+1:-2);return{x:h,y:s,posWithOffset:c}},"getCommitPosition"),$e=t((e,r,o,c)=>{let i=e.append("g").attr("class","commit-bullets"),h=e.append("g").attr("class","commit-labels"),n=w==="TB"||w==="BT"?oe:0,s=[...r.keys()],g=c.parallelCommits??!1,y=t((f,d)=>{let B=r.get(f)?.seq,b=r.get(d)?.seq;return B!==void 0&&b!==void 0?B-b:0},"sortKeys"),u=s.sort(y);if(w==="BT"){if(g)Xe(u,r,n);u=u.reverse()}u.forEach((f)=>{let d=r.get(f);if(!d)throw Error(`Commit not found for key ${f}`);if(g)n=nt(d,w,n,q);let B=ct(d,n,g);if(o){let b=st(d),P=d.customType??d.type,O=W.get(d.branch)?.index??0;rt(i,d,B,b,O,P),at(h,d,B,n,c),ot(h,d,B,n)}if(w==="TB"||w==="BT")q.set(d.id,{x:B.x,y:B.posWithOffset});else q.set(d.id,{x:B.posWithOffset,y:B.y});if(n=w==="BT"&&g?n+K:n+K+j,n>Y)Y=n})},"drawCommits"),it=t((e,r,o,c,i)=>{let n=(w==="TB"||w==="BT"?o.x<c.x:o.y<c.y)?r.branch:e.branch,s=t((y)=>y.branch===n,"isOnBranchToGetCurve"),g=t((y)=>y.seq>e.seq&&y.seq<r.seq,"isBetweenCommits");return[...i.values()].some((y)=>g(y)&&s(y))},"shouldRerouteArrow"),re=t((e,r,o=0)=>{let c=e+Math.abs(e-r)/2;if(o>5)return c;if(se.every((n)=>Math.abs(n-c)>=10))return se.push(c),c;let h=Math.abs(e-r);return re(e,r-h/5,o+1)},"findLane"),dt=t((e,r,o,c)=>{let{theme:i}=l(),h=ge.has(i??""),n=q.get(r.id),s=q.get(o.id);if(n===void 0||s===void 0)throw Error(`Commit positions not found for commits ${r.id} and ${o.id}`);let g=it(r,o,n,s,c),y="",u="",f=0,d=0,B=W.get(o.branch)?.index;if(o.type===k.MERGE&&r.id!==o.parents[0])B=W.get(r.branch)?.index;let b;if(g){y="A 10 10, 0, 0, 0,",u="A 10 10, 0, 0, 1,",f=10,d=10;let P=n.y<s.y?re(n.y,s.y):re(s.y,n.y),O=n.x<s.x?re(n.x,s.x):re(s.x,n.x);if(w==="TB")if(n.x<s.x)b=`M ${n.x} ${n.y} L ${O-f} ${n.y} ${u} ${O} ${n.y+d} L ${O} ${s.y-f} ${y} ${O+d} ${s.y} L ${s.x} ${s.y}`;else B=W.get(r.branch)?.index,b=`M ${n.x} ${n.y} L ${O+f} ${n.y} ${y} ${O} ${n.y+d} L ${O} ${s.y-f} ${u} ${O-d} ${s.y} L ${s.x} ${s.y}`;else if(w==="BT")if(n.x<s.x)b=`M ${n.x} ${n.y} L ${O-f} ${n.y} ${y} ${O} ${n.y-d} L ${O} ${s.y+f} ${u} ${O+d} ${s.y} L ${s.x} ${s.y}`;else B=W.get(r.branch)?.index,b=`M ${n.x} ${n.y} L ${O+f} ${n.y} ${u} ${O} ${n.y-d} L ${O} ${s.y+f} ${y} ${O-d} ${s.y} L ${s.x} ${s.y}`;else if(n.y<s.y)b=`M ${n.x} ${n.y} L ${n.x} ${P-f} ${y} ${n.x+d} ${P} L ${s.x-f} ${P} ${u} ${s.x} ${P+d} L ${s.x} ${s.y}`;else B=W.get(r.branch)?.index,b=`M ${n.x} ${n.y} L ${n.x} ${P+f} ${u} ${n.x+d} ${P} L ${s.x-f} ${P} ${y} ${s.x} ${P-d} L ${s.x} ${s.y}`}else if(y="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",f=20,d=20,w==="TB"){if(n.x<s.x)if(o.type===k.MERGE&&r.id!==o.parents[0])b=`M ${n.x} ${n.y} L ${n.x} ${s.y-f} ${y} ${n.x+d} ${s.y} L ${s.x} ${s.y}`;else b=`M ${n.x} ${n.y} L ${s.x-f} ${n.y} ${u} ${s.x} ${n.y+d} L ${s.x} ${s.y}`;if(n.x>s.x)if(y="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",f=20,d=20,o.type===k.MERGE&&r.id!==o.parents[0])b=`M ${n.x} ${n.y} L ${n.x} ${s.y-f} ${u} ${n.x-d} ${s.y} L ${s.x} ${s.y}`;else b=`M ${n.x} ${n.y} L ${s.x+f} ${n.y} ${y} ${s.x} ${n.y+d} L ${s.x} ${s.y}`;if(n.x===s.x)b=`M ${n.x} ${n.y} L ${s.x} ${s.y}`}else if(w==="BT"){if(n.x<s.x)if(o.type===k.MERGE&&r.id!==o.parents[0])b=`M ${n.x} ${n.y} L ${n.x} ${s.y+f} ${u} ${n.x+d} ${s.y} L ${s.x} ${s.y}`;else b=`M ${n.x} ${n.y} L ${s.x-f} ${n.y} ${y} ${s.x} ${n.y-d} L ${s.x} ${s.y}`;if(n.x>s.x)if(y="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",f=20,d=20,o.type===k.MERGE&&r.id!==o.parents[0])b=`M ${n.x} ${n.y} L ${n.x} ${s.y+f} ${y} ${n.x-d} ${s.y} L ${s.x} ${s.y}`;else b=`M ${n.x} ${n.y} L ${s.x+f} ${n.y} ${u} ${s.x} ${n.y-d} L ${s.x} ${s.y}`;if(n.x===s.x)b=`M ${n.x} ${n.y} L ${s.x} ${s.y}`}else{if(n.y<s.y)if(o.type===k.MERGE&&r.id!==o.parents[0])b=`M ${n.x} ${n.y} L ${s.x-f} ${n.y} ${u} ${s.x} ${n.y+d} L ${s.x} ${s.y}`;else b=`M ${n.x} ${n.y} L ${n.x} ${s.y-f} ${y} ${n.x+d} ${s.y} L ${s.x} ${s.y}`;if(n.y>s.y)if(o.type===k.MERGE&&r.id!==o.parents[0])b=`M ${n.x} ${n.y} L ${s.x-f} ${n.y} ${y} ${s.x} ${n.y-d} L ${s.x} ${s.y}`;else b=`M ${n.x} ${n.y} L ${n.x} ${s.y+f} ${u} ${n.x+d} ${s.y} L ${s.x} ${s.y}`;if(n.y===s.y)b=`M ${n.x} ${n.y} L ${s.x} ${s.y}`}if(b===void 0)throw Error("Line definition not found");e.append("path").attr("d",b).attr("class","arrow arrow"+Z(B,V,h))},"drawArrow"),ht=t((e,r)=>{let o=e.append("g").attr("class","commit-arrows");[...r.keys()].forEach((c)=>{let i=r.get(c);if(i.parents&&i.parents.length>0)i.parents.forEach((h)=>{dt(o,r.get(h),i,r)})})},"drawArrows"),lt=t((e,r,o,c)=>{let{look:i,theme:h,themeVariables:n}=l(),{dropShadow:s,THEME_COLOR_LIMIT:g}=n,y=ce.has(h??""),u=ge.has(h??""),f=e.append("g");r.forEach((d,B)=>{let b=Z(B,y?g:V,u),P=W.get(d.name)?.pos;if(P===void 0)throw Error(`Position not found for branch ${d.name}`);let O=w==="TB"||w==="BT"?P:y?P+le/2+1:P-2,I=f.append("line");if(I.attr("x1",0),I.attr("y1",O),I.attr("x2",Y),I.attr("y2",O),I.attr("class","branch branch"+b),w==="TB")I.attr("y1",oe),I.attr("x1",P),I.attr("y2",Y),I.attr("x2",P);else if(w==="BT")I.attr("y1",Y),I.attr("x1",P),I.attr("y2",oe),I.attr("x2",P);se.push(O);let ie=d.name,Q=be(ie),H=f.insert("rect"),F=f.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+b);F.node().appendChild(Q);let _=Q.getBBox(),fe=y?0:4,ae=y?16:0,J=y?le:0;if(i==="neo")H.attr("data-look","neo");if(H.attr("class","branchLabelBkg label"+b).attr("style",i==="neo"?`filter:${y?`url(#${c}-drop-shadow)`:s}`:"").attr("rx",fe).attr("ry",fe).attr("x",-_.width-4-(o.rotateCommitLabel===!0?30:0)).attr("y",-_.height/2+10).attr("width",_.width+18+ae).attr("height",_.height+4+J),F.attr("transform","translate("+(-_.width-14-(o.rotateCommitLabel===!0?30:0)+ae/2)+", "+(O-_.height/2-2)+")"),w==="TB"){if(H.attr("x",P-_.width/2-10).attr("y",0),F.attr("transform","translate("+(P-_.width/2-5)+", 0)"),y)H.attr("transform",`translate(${-ae/2-3}, ${-J-10})`),F.attr("transform","translate("+(P-_.width/2-5)+", "+(-J*2+7)+")")}else if(w==="BT"){if(H.attr("x",P-_.width/2-10).attr("y",Y),F.attr("transform","translate("+(P-_.width/2-5)+", "+Y+")"),y)H.attr("transform",`translate(${-ae/2-3}, ${J+10})`),F.attr("transform","translate("+(P-_.width/2-5)+", "+(Y+J*2+4)+")")}else H.attr("transform","translate(-19, "+(O-12-J/2)+")")})},"drawBranches"),mt=t(function(e,r,o,c,i){return W.set(e,{pos:r,index:o}),r+=50+(i?40:0)+(w==="TB"||w==="BT"?c.width/2:0),r},"setBranchPosition"),gt=t(function(e,r,o,c){Ve(),a.debug("in gitgraph renderer",e+`
14
- `,"id:",r,o);let i=c.db;if(!i.getConfig){a.error("getConfig method is not available on db");return}let h=i.getConfig(),n=h.rotateCommitLabel??!1;te=i.getCommits();let s=i.getBranchesAsObjArray();w=i.getDirection();let g=p(`[id="${r}"]`),{look:y,theme:u,themeVariables:f}=l(),{useGradient:d,gradientStart:B,gradientStop:b,filterColor:P}=f;if(d){let I=g.append("defs").append("linearGradient").attr("id",r+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");I.append("stop").attr("offset","0%").attr("stop-color",B).attr("stop-opacity",1),I.append("stop").attr("offset","100%").attr("stop-color",b).attr("stop-opacity",1)}if(y==="neo"&&ce.has(u??""))g.append("defs").append("filter").attr("id",r+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",P);let O=0;if(s.forEach((I,ie)=>{let Q=be(I.name),H=g.append("g"),de=H.insert("g").attr("class","branchLabel"),F=de.insert("g").attr("class","label branch-label");F.node()?.appendChild(Q);let _=Q.getBBox();O=mt(I.name,O,ie,_,n),F.remove(),de.remove(),H.remove()}),$e(g,te,!1,h),h.showBranches)lt(g,s,h,r);ht(g,te),$e(g,te,!0,h),M.insertTitle(g,"gitTitleText",h.titleTopMargin??0,i.getDiagramTitle()),kr(void 0,g,h.diagramPadding,h.useMaxWidth)},"draw"),ft={draw:gt},Be=8,ke=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),$t=new Set(["redux-color","redux-dark-color"]),pt=new Set(["neo","neo-dark"]),yt=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),xt=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),ut=t((e)=>{let{svgId:r}=e,o="";if(e.useGradient&&r)for(let c=0;c<e.THEME_COLOR_LIMIT;c++)o+=`
15
- .label${c} { fill: ${e.mainBkg}; stroke: url(${r}-gradient); stroke-width: ${e.strokeWidth};}
16
- `;return o},"genGitGraphGradient"),bt=t((e)=>{let r=x(),{theme:o,themeVariables:c}=r,{borderColorArray:i}=c,h=ke.has(o);if(pt.has(o)){let n="";for(let s=0;s<e.THEME_COLOR_LIMIT;s++)if(s===0)n+=`
17
- .branch-label${s} { fill: ${e.nodeBorder};}
18
- .commit${s} { stroke: ${e.nodeBorder}; }
19
- .commit-highlight${s} { stroke: ${e.nodeBorder}; fill: ${e.nodeBorder}; }
20
- .arrow${s} { stroke: ${e.nodeBorder}; }
21
- .commit-bullets { fill: ${e.nodeBorder}; }
22
- .commit-cherry-pick${s} { stroke: ${e.nodeBorder}; }
23
- ${ut(e)}`;else{let g=s%Be;n+=`
24
- .branch-label${s} { fill: ${e["gitBranchLabel"+g]}; }
25
- .commit${s} { stroke: ${e["git"+g]}; fill: ${e["git"+g]}; }
26
- .commit-highlight${s} { stroke: ${e["gitInv"+g]}; fill: ${e["gitInv"+g]}; }
27
- .arrow${s} { stroke: ${e["git"+g]}; }
28
- `}return n}else if(!$t.has(o)){let n="";for(let s=0;s<e.THEME_COLOR_LIMIT;s++)n+=`
29
- .branch-label${s} { fill: ${e.nodeBorder}; ${h?`font-weight:${e.noteFontWeight}`:""} }
30
- .commit${s} { stroke: ${e.nodeBorder}; }
31
- .commit-highlight${s} { stroke: ${e.nodeBorder}; fill: ${e.nodeBorder}; }
32
- .label${s} { fill: ${e.mainBkg}; stroke: ${e.nodeBorder}; stroke-width: ${e.strokeWidth}; ${h?`font-weight:${e.noteFontWeight}`:""}}
33
- .arrow${s} { stroke: ${e.nodeBorder}; }
34
- .commit-bullets { fill: ${e.nodeBorder}; }
35
- .commit-cherry-pick${s} { stroke: ${e.nodeBorder}; }
36
- `;return n}else{let n="";for(let s=0;s<e.THEME_COLOR_LIMIT;s++)if(s===0)n+=`
37
- .branch-label${s} { fill: ${e.nodeBorder}; ${h?`font-weight:${e.noteFontWeight}`:""} }
38
- .commit${s} { stroke: ${e.nodeBorder}; }
39
- .commit-highlight${s} { stroke: ${e.nodeBorder}; fill: ${e.mainBkg}; }
40
- .label${s} { fill: ${e.mainBkg}; stroke: ${e.nodeBorder}; stroke-width: ${e.strokeWidth}; ${h?`font-weight:${e.noteFontWeight}`:""} }
41
- .arrow${s} { stroke: ${e.nodeBorder}; }
42
- .commit-bullets { fill: ${e.nodeBorder}; }
43
- `;else{let g=s%i.length;n+=`
44
- .branch-label${s} { fill: ${e.nodeBorder}; ${h?`font-weight:${e.noteFontWeight}`:""} }
45
- .commit${s} { stroke: ${i[g]}; fill: ${i[g]}; }
46
- .commit-highlight${s} { stroke: ${i[g]}; fill: ${i[g]}; }
47
- .label${s} { fill: ${yt.has(o)?e.mainBkg:i[g]}; stroke: ${i[g]}; stroke-width: ${e.strokeWidth}; }
48
- .arrow${s} { stroke: ${i[g]}; }
49
- `}return n}},"genColor"),wt=t((e)=>`${Array.from({length:e.THEME_COLOR_LIMIT},(r,o)=>o).map((r)=>{let o=r%Be;return`
50
- .branch-label${r} { fill: ${e["gitBranchLabel"+o]}; }
51
- .commit${r} { stroke: ${e["git"+o]}; fill: ${e["git"+o]}; }
52
- .commit-highlight${r} { stroke: ${e["gitInv"+o]}; fill: ${e["gitInv"+o]}; }
53
- .label${r} { fill: ${e["git"+o]}; }
54
- .arrow${r} { stroke: ${e["git"+o]}; }
55
- `}).join(`
56
- `)}`,"normalTheme"),Bt=t((e)=>{let r=x(),{theme:o}=r,c=xt.has(o);return`
57
- .commit-id,
58
- .commit-msg,
59
- .branch-label {
60
- fill: lightgrey;
61
- color: lightgrey;
62
- font-family: 'trebuchet ms', verdana, arial, sans-serif;
63
- font-family: var(--mermaid-font-family);
64
- }
65
-
66
- ${c?bt(e):wt(e)}
67
-
68
- .branch {
69
- stroke-width: ${e.strokeWidth};
70
- stroke: ${e.commitLineColor??e.lineColor};
71
- stroke-dasharray: ${c?"4 2":"2"};
72
- }
73
- .commit-label { font-size: ${e.commitLabelFontSize}; fill: ${c?e.nodeBorder:e.commitLabelColor}; ${c?`font-weight:${e.noteFontWeight};`:""}}
74
- .commit-label-bkg { font-size: ${e.commitLabelFontSize}; fill: ${c?"transparent":e.commitLabelBackground}; opacity: ${c?"":0.5}; }
75
- .tag-label { font-size: ${e.tagLabelFontSize}; fill: ${e.tagLabelColor};}
76
- .tag-label-bkg { fill: ${c?e.mainBkg:e.tagLabelBackground}; stroke: ${c?e.nodeBorder:e.tagLabelBorder}; ${c?`filter:${e.dropShadow}`:""} }
77
- .tag-hole { fill: ${e.textColor}; }
78
-
79
- .commit-merge {
80
- stroke: ${c?e.mainBkg:e.primaryColor};
81
- fill: ${c?e.mainBkg:e.primaryColor};
82
- }
83
- .commit-reverse {
84
- stroke: ${c?e.mainBkg:e.primaryColor};
85
- fill: ${c?e.mainBkg:e.primaryColor};
86
- stroke-width: ${c?e.strokeWidth:3};
87
- }
88
- .commit-highlight-outer {
89
- }
90
- .commit-highlight-inner {
91
- stroke: ${c?e.mainBkg:e.primaryColor};
92
- fill: ${c?e.mainBkg:e.primaryColor};
93
- }
94
-
95
- .arrow {
96
- /* Intentional: neo themes keep the bold 8px arrow (like classic themes); only redux-geometry themes use the thinner options.strokeWidth. */
97
- stroke-width: ${ke.has(o)?e.strokeWidth:8};
98
- stroke-linecap: round;
99
- fill: none
100
- }
101
- .gitTitleText {
102
- text-anchor: middle;
103
- font-size: 18px;
104
- fill: ${e.textColor};
105
- }
106
- `},"getStyles"),kt=Bt,Ot={parser:Ke,db:ue,renderer:ft,styles:kt};export{Ot as diagram};
@@ -1,4 +0,0 @@
1
- import{F,o,y,i,r,g,e,n,b,j,ci,xo,Yi,Pr,nr,_o,Zi,wo,ea,ta,On,ui,di}from"./chunk-gcwhx3av.js";var P={sealed:"已封存",folded:"已折叠",archived:"已移出"},E=["bg-accent","bg-accent-strong","bg-warning","bg-success"];function W(t,d){if(t.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(t){if(!t||t.length>32000)return t;if(!t.trimStart().startsWith("<"))return t;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(t))!==null){let[,p,,,f,s,x,h]=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(h){let w=h.trim();if(w)for(let N of w.split(/\r?\n/)){let R=N.trim();if(R)c.push(`${a(m)}${R}`)}}}return c.length>0?c.join(`
2
- `):t}function _(){return n("div",{role:"status","aria-busy":"true","aria-label":"正在加载上下文",className:"space-y-2 animate-pulse",children:[e("div",{className:"h-10 rounded-xl border border-line bg-panel/40"}),e("div",{className:"h-10 rounded-xl border border-line bg-panel/40"}),e("div",{className:"h-10 rounded-xl border border-line bg-panel/40"})]})}function S(t){let{style:d}=b();return e("p",{className:d("surface.empty"),children:t.children})}function A(t){let{cn:d}=b();if(!t.items.length)return e(S,{children:"新会话还没有上下文。发送第一条消息后,这里会显示构成。"});let c=t.items.reduce((m,a)=>m+a.tokens,0)||1;return n("div",{className:"space-y-2.5",children:[e("div",{className:"flex h-2 overflow-hidden rounded-full bg-raised",children:t.items.map((m,a)=>e("span",{className:d(E[a%E.length],"transition-[width] duration-300 ease-out-quint"),title:`${m.label}:${m.tokens.toLocaleString()} token`,style:{width:`${m.tokens/c*100}%`}},m.id))}),e("div",{className:"space-y-1.5",children:t.items.map((m,a)=>e(G,{item:m,total:c,index:a,color:E[a%E.length]??"bg-accent"},m.id))})]})}function G(t){let{cn:d,Chevron:c,CopyButton:m,Code:a,style:l,useTheme:u}=b();u();let[p,f]=r(!1),s=(t.item.tokens/t.total*100).toFixed(1),x=y(()=>p&&t.item.detail?nr(t.item.detail):"",[p,t.item.detail]),h=y(()=>x?W(t.item.id,x):"markdown",[x,t.item.id]),w=y(()=>{if(!x)return"";return h==="xml"?B(x):x},[x,h]);return n("div",{"data-state":p?"open":"closed",className:l("surface.interactive","group/collapsible"),children:[n("button",{type:"button","aria-expanded":p,onClick:()=>f((N)=>!N),className:"flex w-full items-center gap-2 px-3 py-2 text-left text-xs",children:[e("span",{className:d("size-2 shrink-0 rounded-full",t.color),"aria-hidden":!0}),e("span",{className:"min-w-0 flex-1 truncate font-medium text-ink",children:t.item.label}),t.item.state&&e("span",{className:l("control.badge","text-[10px]"),children:P[t.item.state]}),e("span",{className:"font-mono tabular-nums text-dim",children:t.item.tokens.toLocaleString()}),n("span",{className:"w-10 text-right font-mono text-[11px] tabular-nums text-faint",children:[s,"%"]}),e(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:[e("div",{className:"mb-2 h-1 overflow-hidden rounded-full bg-raised",children:e("div",{className:d("h-full",t.color),style:{width:`${s}%`}})}),w?n("div",{className:l("surface.subtle","group/detail relative overflow-hidden rounded-lg bg-panel/70 p-2.5"),children:[e("div",{className:"absolute right-1.5 top-1.5 z-10",children:e(m,{text:t.item.detail,size:"icon-xs",className:"bg-raised/60 hover:bg-raised text-faint hover:text-ink backdrop-blur-sm"})}),e("div",{className:"max-h-80 overflow-y-auto pr-6 text-dim",children:e(a,{code:w,lang:h,className:"text-[11px]! leading-relaxed! [&_pre]:whitespace-pre-wrap [&_pre]:break-words [&_pre]:[overflow-wrap:anywhere]"})})]}):e("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(t){let{Button:d,CopyButton:c,style:m,useTheme:a}=b();a();let[l,u]=r(I),p=i(null),f=l<t.entries.length;o(()=>{let x=p.current;if(!x||!f||typeof IntersectionObserver>"u")return;let h=new IntersectionObserver((w)=>{if(w.some((N)=>N.isIntersecting))u((N)=>Math.min(t.entries.length,N+I))},{rootMargin:"480px"});return h.observe(x),()=>h.disconnect()},[f,t.entries.length]);let s=y(()=>t.entries.slice(-l).reverse(),[t.entries,l]);if(!t.entries.length)return e(S,{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:["共 ",t.entries.length," 条记录"]}),e(c,{text:()=>t.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)=>e(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," / ",t.entries.length," 条"]}),n("div",{className:"flex items-center gap-1.5",children:[e(d,{size:"sm",variant:"ghost",onClick:()=>u((x)=>Math.min(t.entries.length,x+I)),children:"加载更多"}),e(d,{size:"sm",variant:"ghost",onClick:()=>u(t.entries.length),children:"显示全部"})]})]})]})}var Y=F(function(d){let{Chevron:c,CopyButton:m,style:a,useTheme:l}=b();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]}),e("span",{className:a("control.badge","shrink-0 font-medium text-[10px]",Q[f.tone]),children:f.badge}),e("span",{className:"min-w-0 flex-1 truncate text-ink",children:f.title}),f.meta&&e("span",{className:a("control.badge","shrink-0 font-mono text-[10px] text-faint"),children:f.meta}),e("span",{className:"shrink-0 font-mono text-[10.5px] tabular-nums text-faint",children:s}),e(c,{className:"-rotate-90 text-faint group-data-[state=open]/collapsible:rotate-90"})]}),u&&e("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]}),e(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"})]}),e(ee,{entry:d.entry})]})})]})});function ee(t){let{Code:d,style:c,useTheme:m}=b();m();let a=t.entry;if(a.type==="user")return n("div",{className:"space-y-2",children:[a.text&&e("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,")"]}),e("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:[e("span",{className:c("control.badge","text-[10px] text-faint"),children:l.kind==="image"?"图片":l.kind==="path"?"路径":"文本"}),e("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]}),e("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&&e("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:[e("div",{className:"text-[10.5px] font-medium text-faint",children:"思考"}),e("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:[e("div",{className:"text-[10.5px] font-medium text-faint",children:"回复"}),e("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]}),e("span",{className:"truncate font-mono text-[10px] text-faint",children:l.id})]}),e("div",{className:"max-h-60 overflow-y-auto text-dim",children:e(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:[e("span",{className:"text-ink",children:a.name}),e("span",{children:"·"}),e("span",{className:"truncate",children:a.callID}),e("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&&e("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)?e("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)}):e("p",{className:"py-1 text-faint",children:"(无文本输出)"})]});return e("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(t){let{cn:d,style:c,useTheme:m}=b();if(m(),!t.todos.length)return e(S,{children:"暂无待办。"});return e("ul",{className:"space-y-1.5",children:t.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"&&e(j,{className:"size-2.5 animate-pop",strokeWidth:3.5}),a.status==="in_progress"&&e("span",{className:"size-1.5 animate-pulse rounded-full bg-accent"})]}),e("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(t){let{cn:d,style:c,useTheme:m}=b();m();let[a,l]=r("all"),u=y(()=>t.tools.filter((s)=>s.deferred).length,[t.tools]),p=t.tools.length-u,f=y(()=>{if(a==="deferred")return t.tools.filter((s)=>s.deferred);if(a==="active")return t.tools.filter((s)=>!s.deferred);return t.tools},[t.tools,a]);if(!t.tools.length)return e(S,{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:["全部 (",t.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,")"]})]}),e("div",{className:"space-y-1.5",children:f.map((s)=>e(te,{tool:s},`${s.group}-${s.name}`))})]})}function te(t){let{Chevron:d,CopyButton:c,Code:m,style:a,useTheme:l}=b();l();let[u,p]=r(!1),f=y(()=>u?JSON.stringify(t.tool.schema,null,2):"",[u,t.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:[e("span",{className:"truncate",children:t.tool.name}),t.tool.group&&e("span",{className:a("control.badge","font-sans text-[10px]"),children:t.tool.group}),t.tool.deferred&&e("span",{className:a("control.badge","font-sans text-[10px]"),children:"延迟加载"})]}),e(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:[t.tool.deferred&&e("div",{className:a("surface.subtle","mb-2 px-2.5 py-1.5 text-[11px] text-faint"),children:"延迟加载:此工具默认以精简描述挂载,模型通过 toolsearch 取回定义后才向上下文注入完整参数 Schema。"}),t.tool.description&&e("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(t.tool.description)}),n("div",{className:a("surface.subtle","group/schema relative overflow-hidden rounded-lg p-2.5"),children:[e("div",{className:"absolute right-1.5 top-1.5 z-10",children:e(c,{text:f,size:"icon-xs",className:"bg-raised/60 hover:bg-raised text-faint hover:text-ink backdrop-blur-sm"})}),e("div",{className:"max-h-72 overflow-y-auto pr-6 text-dim",children:e(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 t=localStorage.getItem("basalt.contextSidebar.tab");if(t==="tools"||t==="todos"||t==="raw")return t}catch{}return"breakdown"}function se(t){let{style:d,useTheme:c}=b();return c(),n("div",{className:d("surface.panel","bg-panel/70 px-3 py-2"),children:[e("div",{className:"text-[10px] font-medium uppercase tracking-wider text-faint",children:t.label}),e("div",{className:"mt-0.5 truncate font-mono text-xs font-semibold tabular-nums text-ink",children:t.value})]})}function Oe(t){let{Button:d,StatusChip:c,Segmented:m,cn:a,style:l,useTheme:u}=b();u();let[p,f]=r(ae),[s,x]=r(()=>On.get(t.session.id)),[h,w]=r(!1),[N,R]=r(0),[H,U]=r(!1);o(()=>{let v=setTimeout(()=>U(!0),140);return()=>clearTimeout(v)},[]),o(()=>{let v=On.get(t.session.id);if(v)x(v);return ui((T,X)=>{if(T===t.session.id)x(X)})},[t.session.id]),o(()=>{let v=new AbortController;return w(!1),t.connection.request(`/api/sessions/${encodeURIComponent(t.session.id)}/context`,{signal:AbortSignal.any([v.signal,AbortSignal.timeout(15000)])}).then((T)=>{if(!v.signal.aborted)di(t.session.id,T),x(T)},()=>{if(!v.signal.aborted)w(!0)}),()=>v.abort()},[t.connection,t.session.id,t.session.updated,t.entries.length,N]);let k=ea(s?.items??[],s?.usableWindow,s?.calibratedTokens,s?.lastInputTokens,s?.hasPendingOutput),C=ta(k.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=(v)=>{f(v);try{localStorage.setItem("basalt.contextSidebar.tab",v)}catch{}},K=[{value:"breakdown",label:"构成"},{value:"tools",label:n("span",{className:"inline-flex items-center gap-1",children:["工具",s&&e("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:["待办",t.session.todos.length>0&&e("span",{className:"text-[10px] text-faint tabular-nums",children:t.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:[e("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:[e("span",{className:"font-mono text-xl font-semibold tabular-nums text-ink",children:s?k.totalTokens.toLocaleString():"—"}),n("span",{className:"font-mono text-xs text-dim",children:["/ ",s?.usableWindow.toLocaleString()??"—"]})]})]}),e(c,{tone:C==="overflow"||C==="near_limit"?"danger":C==="sealing"?"warning":"success",children:C==="overflow"?"预计超限":C==="near_limit"?"接近上限":C==="sealing"?"接近封存":"正常"})]}),k.percent!==null&&e("meter",{className:"sr-only","aria-label":"可用上下文窗口占比",min:0,max:100,value:Math.min(100,k.percent)}),e("div",{"aria-hidden":!0,className:a("relative mt-2.5 h-2 w-full overflow-hidden rounded-full bg-raised",!s&&"animate-pulse"),children:e("div",{className:"h-full rounded-full bg-accent transition-[width] duration-500 ease-out-quint",style:{width:`${Math.min(100,k.percent??0)}%`}})}),n("div",{className:"mt-2 flex items-center justify-between text-[11px]",children:[e("span",{className:"text-dim",children:k.percent===null?"暂无窗口数据":`${k.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)&&e("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(([v,T])=>e(se,{label:v,value:T},v))})]});return n(g,{children:[V,e("div",{className:"px-3 py-2",children:e(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:[h&&!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:[e("span",{children:"上下文加载失败。"}),e(d,{size:"sm",variant:"ghost",onClick:()=>R((v)=>v+1),children:"重试"})]}),e("div",{children:!H?e(_,{}):n(g,{children:[p==="raw"&&e(O,{entries:t.entries}),p==="todos"&&e(D,{todos:t.session.todos}),p==="breakdown"&&(s?e(A,{items:k.items}):!h?e(_,{}):null),p==="tools"&&(s?e(L,{tools:s.tools??[]}):!h?e(_,{}):null)]})},p)]})]})}export{Oe as ContextSidebar};
@@ -1 +0,0 @@
1
- import{na}from"./chunk-d9wdsjkk.js";export{na as default};
@@ -1,2 +0,0 @@
1
- import{s}from"./chunk-gcwhx3av.js";var c=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],qt=s("circle-check",c);
2
- export{qt};
@@ -1,78 +0,0 @@
1
- import{G}from"./chunk-jzte2phh.js";import{t,a,ke,x,B,C,S,E,T,A,L,R,l,V,U}from"./chunk-3q0v8w45.js";import{ee}from"./chunk-8dp7h6w8.js";var rt=t((r,i)=>{let n=r<=1?r*100:r;if(n<0||n>100)throw Error(`${i} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${r}`);return n},"toPercent"),q=t((r,i,n)=>({x:rt(i,`${n} evolution`),y:rt(r,`${n} visibility`)}),"toCoordinates"),ct=t((r)=>{if(!r)return;if(r==="+<>")return"bidirectional";if(r==="+<")return"backward";if(r==="+>")return"forward";return},"getFlowFromPort"),It=t((r)=>{if(!r?.startsWith("+"))return{};let n=/^\+'([^']*)'/.exec(r)?.[1];if(r.includes("<>"))return{flow:"bidirectional",label:n};if(r.includes("<"))return{flow:"backward",label:n};if(r.includes(">"))return{flow:"forward",label:n};return{label:n}},"extractFlowFromArrow"),Bt=t((r,i)=>{if(G(r,i),r.size)i.setSize(r.size.width,r.size.height);if(r.evolution){let n=r.evolution.stages.map((o)=>{if(o.secondName)return`${o.name.trim()} / ${o.secondName.trim()}`;return o.name.trim()}),u=r.evolution.stages.filter((o)=>o.boundary!==void 0).map((o)=>o.boundary);i.updateAxes({stages:n,stageBoundaries:u})}if(r.anchors.forEach((n)=>{let u=q(n.visibility,n.evolution,`Anchor "${n.name}"`);i.addNode(n.name,n.name,u.x,u.y,"anchor")}),r.components.forEach((n)=>{let u=q(n.visibility,n.evolution,`Component "${n.name}"`),o=n.label?(n.label.negX?-1:1)*n.label.offsetX:void 0,p=n.label?(n.label.negY?-1:1)*n.label.offsetY:void 0,b=n.decorator?.strategy;i.addNode(n.name,n.name,u.x,u.y,"component",o,p,n.inertia,b)}),r.notes.forEach((n)=>{let u=q(n.visibility,n.evolution,`Note "${n.text}"`);i.addNote(n.text,u.x,u.y)}),r.pipelines.forEach((n)=>{let u=i.getNode(n.parent);if(!u||typeof u.y!=="number")throw Error(`Pipeline "${n.parent}" must reference an existing component with coordinates.`);let o=u.y;i.startPipeline(n.parent),n.components.forEach((p)=>{let b=`${n.parent}_${p.name}`,X=p.label?(p.label.negX?-1:1)*p.label.offsetX:void 0,m=p.label?(p.label.negY?-1:1)*p.label.offsetY:void 0,Q=rt(p.evolution,`Pipeline component "${p.name}" evolution`);i.addNode(b,p.name,Q,o,"pipeline-component",X,m),i.addPipelineComponent(n.parent,b)})}),r.links.forEach((n)=>{let u=!!n.arrow&&(n.arrow.includes("-.->")||n.arrow.includes(".-.")),o=ct(n.fromPort)??ct(n.toPort),{flow:p,label:b}=It(n.arrow);if(!o&&p)o=p;let X=n.linkLabel,m=b??X;i.addLink(i.resolveNodeId(n.from),i.resolveNodeId(n.to),u,m,o)}),r.evolves.forEach((n)=>{let u=i.getNode(n.component);if(u?.y!==void 0){let o=rt(n.target,`Evolve target for "${n.component}"`);i.addTrend(n.component,o,u.y)}}),r.annotations.length>0){let n=r.annotations[0],u=q(n.x,n.y,"Annotations box");i.setAnnotationsBox(u.x,u.y)}r.annotation.forEach((n)=>{let u=q(n.x,n.y,`Annotation ${n.number}`);i.addAnnotation(n.number,[{x:u.x,y:u.y}],n.text)}),r.accelerators.forEach((n)=>{let u=q(n.x,n.y,`Accelerator "${n.name}"`);i.addAccelerator(n.name,u.x,u.y)}),r.deaccelerators.forEach((n)=>{let u=q(n.x,n.y,`Deaccelerator "${n.name}"`);i.addDeaccelerator(n.name,u.x,u.y)})},"populateDb"),pt={parser:{yy:void 0},parse:t(async(r)=>{let i=await ee("wardley",r);a.debug(i);let n=pt.parser?.yy;if(!n||typeof n.addNode!=="function")throw Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Bt(i,n)},"parse")},Ft=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{t(this,"WardleyBuilder")}addNode(r){let i=this.nodes.get(r.id)??{id:r.id,label:r.label},n={...i,...r,className:r.className??i.className,labelOffsetX:r.labelOffsetX??i.labelOffsetX,labelOffsetY:r.labelOffsetY??i.labelOffsetY};this.nodes.set(r.id,n)}addLink(r){this.links.push(r)}addTrend(r){this.trends.set(r.nodeId,r)}startPipeline(r){this.pipelines.set(r,{nodeId:r,componentIds:[]});let i=this.nodes.get(r);if(i)i.isPipelineParent=!0}addPipelineComponent(r,i){let n=this.pipelines.get(r);if(n)n.componentIds.push(i);let u=this.nodes.get(i);if(u)u.inPipeline=!0}addAnnotation(r){this.annotations.push(r)}addNote(r){this.notes.push(r)}addAccelerator(r){this.accelerators.push(r)}addDeaccelerator(r){this.deaccelerators.push(r)}setAnnotationsBox(r,i){this.annotationsBox={x:r,y:i}}setAxes(r){this.axes={...this.axes,...r}}setSize(r,i){this.size={width:r,height:i}}getNode(r){return this.nodes.get(r)}resolveNodeId(r){if(this.nodes.has(r))return r;for(let[i,n]of this.nodes)if(n.label===r)return i;return r}build(){let r=[];for(let i of this.nodes.values()){if(typeof i.x!=="number"||typeof i.y!=="number")throw Error(`Node "${i.label}" is missing coordinates`);r.push(i)}return{nodes:r,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},P=new Ft;function ht(){return l()["wardley-beta"]}t(ht,"getConfig");function ft(r,i,n,u,o,p,b,X,m){P.addNode({id:r,label:i,x:n,y:u,className:o,labelOffsetX:p,labelOffsetY:b,inertia:X,sourceStrategy:m})}t(ft,"addNode");function xt(r,i,n=!1,u,o){P.addLink({source:r,target:i,dashed:n,label:u,flow:o})}t(xt,"addLink");function gt(r,i,n){P.addTrend({nodeId:r,targetX:i,targetY:n})}t(gt,"addTrend");function yt(r,i,n){P.addAnnotation({number:r,coordinates:i,text:n})}t(yt,"addAnnotation");function ut(r,i,n){P.addNote({text:r,x:i,y:n})}t(ut,"addNote");function wt(r,i,n){P.addAccelerator({name:r,x:i,y:n})}t(wt,"addAccelerator");function mt(r,i,n){P.addDeaccelerator({name:r,x:i,y:n})}t(mt,"addDeaccelerator");function kt(r,i){P.setAnnotationsBox(r,i)}t(kt,"setAnnotationsBox");function bt(r,i){P.setSize(r,i)}t(bt,"setSize");function $t(r){P.startPipeline(r)}t($t,"startPipeline");function vt(r,i){P.addPipelineComponent(r,i)}t(vt,"addPipelineComponent");function Pt(r){P.setAxes(r)}t(Pt,"updateAxes");function Ct(r){return P.getNode(r)}t(Ct,"getNode");function St(r){return P.resolveNodeId(r)}t(St,"resolveNodeId");function Mt(){return P.build()}t(Mt,"getWardleyData");function Nt(){P.clear(),C()}t(Nt,"clear");var Rt={getConfig:ht,addNode:ft,addLink:xt,addTrend:gt,addAnnotation:yt,addNote:ut,addAccelerator:wt,addDeaccelerator:mt,setAnnotationsBox:kt,setSize:bt,startPipeline:$t,addPipelineComponent:vt,updateAxes:Pt,getNode:Ct,resolveNodeId:St,getWardleyData:Mt,clear:Nt,setAccTitle:S,getAccTitle:E,setDiagramTitle:L,getDiagramTitle:R,getAccDescription:A,setAccDescription:T},Ot=["Genesis","Custom Built","Product","Commodity"],Dt=t(()=>{let{themeVariables:r}=l();return{backgroundColor:r.wardley?.backgroundColor??r.background??"#fff",axisColor:r.wardley?.axisColor??"#000",axisTextColor:r.wardley?.axisTextColor??r.primaryTextColor??"#222",gridColor:r.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:r.wardley?.componentFill??"#fff",componentStroke:r.wardley?.componentStroke??"#000",componentLabelColor:r.wardley?.componentLabelColor??r.primaryTextColor??"#222",linkStroke:r.wardley?.linkStroke??"#000",evolutionStroke:r.wardley?.evolutionStroke??"#dc3545",annotationStroke:r.wardley?.annotationStroke??"#000",annotationTextColor:r.wardley?.annotationTextColor??r.primaryTextColor??"#222",annotationFill:r.wardley?.annotationFill??r.background??"#fff"}},"getTheme"),Gt=t(()=>{let r=l()["wardley-beta"];return{width:r?.width??900,height:r?.height??600,padding:r?.padding??48,nodeRadius:r?.nodeRadius??6,nodeLabelOffset:r?.nodeLabelOffset??8,axisFontSize:r?.axisFontSize??12,labelFontSize:r?.labelFontSize??10,showGrid:r?.showGrid??!1,useMaxWidth:r?.useMaxWidth??!0}},"getConfigValues"),qt=t((r,i,n,u)=>{a.debug(`Rendering Wardley map
2
- `+r);let o=Gt(),p=Dt(),b=o.nodeRadius*1.6,X=u.db,m=X.getWardleyData(),Q=X.getDiagramTitle(),H=m.size?.width??o.width,M=m.size?.height??o.height,_=V(i);_.selectAll("*").remove(),B(_,M,H,o.useMaxWidth),_.attr("viewBox",`0 0 ${H} ${M}`);let z=_.append("g").attr("class","wardley-map"),ot=_.append("defs");ot.append("marker").attr("id",`arrow-${i}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",p.evolutionStroke).attr("stroke","none"),ot.append("marker").attr("id",`link-arrow-end-${i}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",p.linkStroke).attr("stroke","none"),ot.append("marker").attr("id",`link-arrow-start-${i}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",p.linkStroke).attr("stroke","none"),z.append("rect").attr("class","wardley-background").attr("width",H).attr("height",M).attr("fill",p.backgroundColor);let Z=H-o.padding*2,J=M-o.padding*2;if(Q)z.append("text").attr("class","wardley-title").attr("x",H/2).attr("y",o.padding/2).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(Q);let F=t((e)=>o.padding+e/100*Z,"projectX"),O=t((e)=>M-o.padding-e/100*J,"projectY"),tt=z.append("g").attr("class","wardley-axes");tt.append("line").attr("x1",o.padding).attr("x2",H-o.padding).attr("y1",M-o.padding).attr("y2",M-o.padding).attr("stroke",p.axisColor).attr("stroke-width",1),tt.append("line").attr("x1",o.padding).attr("x2",o.padding).attr("y1",o.padding).attr("y2",M-o.padding).attr("stroke",p.axisColor).attr("stroke-width",1);let zt=m.axes.xLabel??"Evolution",Lt=m.axes.yLabel??"Visibility";tt.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",o.padding+Z/2).attr("y",M-o.padding/4).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(zt),tt.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",o.padding/3).attr("y",o.padding+J/2).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${o.padding/3} ${o.padding+J/2})`).text(Lt);let K=m.axes.stages&&m.axes.stages.length>0?m.axes.stages:Ot;if(K.length>0){let e=z.append("g").attr("class","wardley-stages"),d=m.axes.stageBoundaries,s=[];if(d&&d.length===K.length){let c=0;d.forEach((f)=>{s.push({start:c,end:f}),c=f})}else{let c=1/K.length;K.forEach((f,g)=>{s.push({start:g*c,end:(g+1)*c})})}K.forEach((c,f)=>{let g=s[f],w=o.padding+g.start*Z,y=o.padding+g.end*Z,k=(w+y)/2;if(f>0)e.append("line").attr("x1",w).attr("x2",w).attr("y1",o.padding).attr("y2",M-o.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",0.8);e.append("text").attr("class","wardley-stage-label").attr("x",k).attr("y",M-o.padding/1.5).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize-2).attr("text-anchor","middle").text(c)})}if(o.showGrid){let e=z.append("g").attr("class","wardley-grid");for(let d=1;d<4;d++){let s=d/4,c=o.padding+Z*s;e.append("line").attr("x1",c).attr("x2",c).attr("y1",o.padding).attr("y2",M-o.padding).attr("stroke",p.gridColor).attr("stroke-dasharray","2 6"),e.append("line").attr("x1",o.padding).attr("x2",H-o.padding).attr("y1",M-o.padding-J*s).attr("y2",M-o.padding-J*s).attr("stroke",p.gridColor).attr("stroke-dasharray","2 6")}}let h=new Map;if(m.nodes.forEach((e)=>{h.set(e.id,{x:F(e.x),y:O(e.y),node:e})}),m.pipelines.length>0){let e=z.append("g").attr("class","wardley-pipelines"),d=z.append("g").attr("class","wardley-pipeline-links");m.pipelines.forEach((s)=>{if(s.componentIds.length===0)return;let c=s.componentIds.map((y)=>({id:y,pos:h.get(y),node:m.nodes.find((k)=>k.id===y)})).filter((y)=>y.pos&&y.node).sort((y,k)=>y.node.x-k.node.x);for(let y=0;y<c.length-1;y++){let k=c[y],v=c[y+1];d.append("line").attr("class","wardley-pipeline-evolution-link").attr("x1",k.pos.x).attr("y1",k.pos.y).attr("x2",v.pos.x).attr("y2",v.pos.y).attr("stroke",p.linkStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4")}let f=1/0,g=-1/0,w=0;if(s.componentIds.forEach((y)=>{let k=h.get(y);if(k)f=Math.min(f,k.x),g=Math.max(g,k.x),w=k.y}),f!==1/0&&g!==-1/0){let k=o.nodeRadius*4,v=w-k/2,W=h.get(s.nodeId);if(W){let I=(f+g)/2;W.x=I,W.y=v-b/6}e.append("rect").attr("class","wardley-pipeline-box").attr("x",f-15).attr("y",v).attr("width",g-f+30).attr("height",k).attr("fill","none").attr("stroke",p.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}let it=z.append("g").attr("class","wardley-links"),dt=new Map;m.pipelines.forEach((e)=>{dt.set(e.nodeId,new Set(e.componentIds))});let lt=m.links.filter((e)=>{if(!h.has(e.source)||!h.has(e.target))return!1;if(dt.get(e.target)?.has(e.source))return!1;return!0});it.selectAll("line").data(lt).enter().append("line").attr("class",(e)=>`wardley-link${e.dashed?" wardley-link--dashed":""}`).attr("x1",(e)=>{let d=h.get(e.source),s=h.get(e.target),f=m.nodes.find((k)=>k.id===e.source).isPipelineParent?b/Math.sqrt(2):o.nodeRadius,g=s.x-d.x,w=s.y-d.y,y=Math.sqrt(g*g+w*w);return d.x+g/y*f}).attr("y1",(e)=>{let d=h.get(e.source),s=h.get(e.target),f=m.nodes.find((k)=>k.id===e.source).isPipelineParent?b/Math.sqrt(2):o.nodeRadius,g=s.x-d.x,w=s.y-d.y,y=Math.sqrt(g*g+w*w);return d.y+w/y*f}).attr("x2",(e)=>{let d=h.get(e.source),s=h.get(e.target),f=m.nodes.find((k)=>k.id===e.target).isPipelineParent?b/Math.sqrt(2):o.nodeRadius,g=d.x-s.x,w=d.y-s.y,y=Math.sqrt(g*g+w*w);return s.x+g/y*f}).attr("y2",(e)=>{let d=h.get(e.source),s=h.get(e.target),f=m.nodes.find((k)=>k.id===e.target).isPipelineParent?b/Math.sqrt(2):o.nodeRadius,g=d.x-s.x,w=d.y-s.y,y=Math.sqrt(g*g+w*w);return s.y+w/y*f}).attr("stroke",p.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",(e)=>e.dashed?"6 6":null).attr("marker-end",(e)=>{if(e.flow==="forward"||e.flow==="bidirectional")return`url(#link-arrow-end-${i})`;return null}).attr("marker-start",(e)=>{if(e.flow==="backward"||e.flow==="bidirectional")return`url(#link-arrow-start-${i})`;return null}),it.selectAll("text").data(lt.filter((e)=>e.label)).enter().append("text").attr("class","wardley-link-label").attr("x",(e)=>{let d=h.get(e.source),s=h.get(e.target),c=(d.x+s.x)/2,f=s.y-d.y,g=s.x-d.x,w=Math.sqrt(g*g+f*f),y=8,k=f/w;return c+k*8}).attr("y",(e)=>{let d=h.get(e.source),s=h.get(e.target),c=(d.y+s.y)/2,f=s.x-d.x,g=s.y-d.y,w=Math.sqrt(f*f+g*g),y=8,k=-f/w;return c+k*8}).attr("fill",p.axisTextColor).attr("font-size",o.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",(e)=>{let d=h.get(e.source),s=h.get(e.target),c=(d.x+s.x)/2,f=(d.y+s.y)/2,g=s.x-d.x,w=s.y-d.y,y=Math.sqrt(g*g+w*w),k=8,v=w/y,W=-g/y,I=c+v*8,et=f+W*8,j=Math.atan2(w,g)*180/Math.PI;if(j>90||j<-90)j+=180;return`rotate(${j} ${I} ${et})`}).text((e)=>e.label);let Tt=z.append("g").attr("class","wardley-trends"),Wt=m.trends.map((e)=>{let d=h.get(e.nodeId);if(!d)return null;let s=F(e.targetX),c=O(e.targetY),f=s-d.x,g=c-d.y,w=Math.sqrt(f*f+g*g),y=o.nodeRadius+2,k=w>y?s-f/w*y:s,v=w>y?c-g/w*y:c;return{origin:d,targetX:s,targetY:c,adjustedX2:k,adjustedY2:v}}).filter((e)=>e!==null);Tt.selectAll("line").data(Wt).enter().append("line").attr("class","wardley-trend").attr("x1",(e)=>e.origin.x).attr("y1",(e)=>e.origin.y).attr("x2",(e)=>e.adjustedX2).attr("y2",(e)=>e.adjustedY2).attr("stroke",p.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${i})`);let Y=z.append("g").attr("class","wardley-nodes").selectAll("g").data(m.nodes).enter().append("g").attr("class",(e)=>["wardley-node",e.className?`wardley-node--${e.className}`:""].filter(Boolean).join(" "));Y.filter((e)=>e.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",(e)=>h.get(e.id).x).attr("cy",(e)=>h.get(e.id).y).attr("r",o.nodeRadius*2).attr("fill","#666").attr("stroke",p.componentStroke).attr("stroke-width",1),Y.filter((e)=>e.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",(e)=>h.get(e.id).x).attr("cy",(e)=>h.get(e.id).y).attr("r",o.nodeRadius*2).attr("fill","#ccc").attr("stroke",p.componentStroke).attr("stroke-width",1),Y.filter((e)=>e.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",(e)=>h.get(e.id).x).attr("cy",(e)=>h.get(e.id).y).attr("r",o.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);let D=Y.filter((e)=>e.sourceStrategy==="market");D.append("circle").attr("class","wardley-market-overlay").attr("cx",(e)=>h.get(e.id).x).attr("cy",(e)=>h.get(e.id).y).attr("r",o.nodeRadius*2).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",1),Y.filter((e)=>!e.isPipelineParent&&e.sourceStrategy!=="market"&&e.className!=="anchor").append("circle").attr("cx",(e)=>h.get(e.id).x).attr("cy",(e)=>h.get(e.id).y).attr("r",o.nodeRadius).attr("fill",p.componentFill).attr("stroke",p.componentStroke).attr("stroke-width",1);let nt=o.nodeRadius*0.7,N=o.nodeRadius*1.2;if(D.append("line").attr("class","wardley-market-line").attr("x1",(e)=>h.get(e.id).x).attr("y1",(e)=>h.get(e.id).y-N).attr("x2",(e)=>h.get(e.id).x-N*Math.cos(Math.PI/6)).attr("y2",(e)=>h.get(e.id).y+N*Math.sin(Math.PI/6)).attr("stroke",p.componentStroke).attr("stroke-width",1),D.append("line").attr("class","wardley-market-line").attr("x1",(e)=>h.get(e.id).x-N*Math.cos(Math.PI/6)).attr("y1",(e)=>h.get(e.id).y+N*Math.sin(Math.PI/6)).attr("x2",(e)=>h.get(e.id).x+N*Math.cos(Math.PI/6)).attr("y2",(e)=>h.get(e.id).y+N*Math.sin(Math.PI/6)).attr("stroke",p.componentStroke).attr("stroke-width",1),D.append("line").attr("class","wardley-market-line").attr("x1",(e)=>h.get(e.id).x+N*Math.cos(Math.PI/6)).attr("y1",(e)=>h.get(e.id).y+N*Math.sin(Math.PI/6)).attr("x2",(e)=>h.get(e.id).x).attr("y2",(e)=>h.get(e.id).y-N).attr("stroke",p.componentStroke).attr("stroke-width",1),D.append("circle").attr("class","wardley-market-dot").attr("cx",(e)=>h.get(e.id).x).attr("cy",(e)=>h.get(e.id).y-N).attr("r",nt).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",2),D.append("circle").attr("class","wardley-market-dot").attr("cx",(e)=>h.get(e.id).x-N*Math.cos(Math.PI/6)).attr("cy",(e)=>h.get(e.id).y+N*Math.sin(Math.PI/6)).attr("r",nt).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",2),D.append("circle").attr("class","wardley-market-dot").attr("cx",(e)=>h.get(e.id).x+N*Math.cos(Math.PI/6)).attr("cy",(e)=>h.get(e.id).y+N*Math.sin(Math.PI/6)).attr("r",nt).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",2),Y.filter((e)=>e.isPipelineParent===!0).append("rect").attr("x",(e)=>h.get(e.id).x-b/2).attr("y",(e)=>h.get(e.id).y-b/2).attr("width",b).attr("height",b).attr("fill",p.componentFill).attr("stroke",p.componentStroke).attr("stroke-width",1),Y.filter((e)=>e.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",(e)=>{let d=h.get(e.id),s=e.isPipelineParent?b/2+15:o.nodeRadius+15;if(e.sourceStrategy)s+=o.nodeRadius+10;return d.x+s}).attr("y1",(e)=>{let d=h.get(e.id),s=e.isPipelineParent?b:o.nodeRadius*2;return d.y-s/2}).attr("x2",(e)=>{let d=h.get(e.id),s=e.isPipelineParent?b/2+15:o.nodeRadius+15;if(e.sourceStrategy)s+=o.nodeRadius+10;return d.x+s}).attr("y2",(e)=>{let d=h.get(e.id),s=e.isPipelineParent?b:o.nodeRadius*2;return d.y+s/2}).attr("stroke",p.componentStroke).attr("stroke-width",6),Y.append("text").attr("x",(e)=>{let d=h.get(e.id);if(e.className==="anchor")return e.labelOffsetX!==void 0?d.x+e.labelOffsetX:d.x;let s=o.nodeLabelOffset;if(e.sourceStrategy&&e.labelOffsetX===void 0)s+=10;let c=e.labelOffsetX??s;return d.x+c}).attr("y",(e)=>{let d=h.get(e.id);if(e.className==="anchor")return e.labelOffsetY!==void 0?d.y+e.labelOffsetY:d.y-3;let s=-o.nodeLabelOffset;if(e.sourceStrategy&&e.labelOffsetY===void 0)s-=10;let c=e.labelOffsetY??s;return d.y+c}).attr("class","wardley-node-label").attr("fill",(e)=>{if(e.className==="evolved")return p.evolutionStroke;if(e.className==="anchor")return"#000";return p.componentLabelColor}).attr("font-size",o.labelFontSize).attr("font-weight",(e)=>e.className==="anchor"?"bold":"normal").attr("text-anchor",(e)=>e.className==="anchor"?"middle":"start").attr("dominant-baseline",(e)=>e.className==="anchor"?"middle":"auto").text((e)=>e.label),m.annotations.length>0){let e=z.append("g").attr("class","wardley-annotations");if(m.annotations.forEach((d)=>{let s=d.coordinates.map((c)=>({x:F(c.x),y:O(c.y)}));if(s.length>1)for(let c=0;c<s.length-1;c++)e.append("line").attr("class","wardley-annotation-line").attr("x1",s[c].x).attr("y1",s[c].y).attr("x2",s[c+1].x).attr("y2",s[c+1].y).attr("stroke",p.axisColor).attr("stroke-width",1.5).attr("stroke-dasharray","4 4");s.forEach((c)=>{let f=e.append("g").attr("class","wardley-annotation");f.append("circle").attr("cx",c.x).attr("cy",c.y).attr("r",10).attr("fill","white").attr("stroke",p.axisColor).attr("stroke-width",1.5),f.append("text").attr("x",c.x).attr("y",c.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",p.axisTextColor).attr("font-weight","bold").text(d.number)})}),m.annotationsBox){let d=F(m.annotationsBox.x),s=O(m.annotationsBox.y),c=10,f=16,g=11,w=e.append("g").attr("class","wardley-annotations-box"),y=[...m.annotations].filter((v)=>v.text).sort((v,W)=>v.number-W.number),k=[];if(y.forEach((v,W)=>{let I=w.append("text").attr("x",d+c).attr("y",s+c+(W+1)*f).attr("font-size",g).attr("fill",p.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${v.number}. ${v.text}`);k.push(I)}),k.length>0){let v=0,W=0;k.forEach((st)=>{let at=st.node(),Ht=at.getComputedTextLength();v=Math.max(v,Ht);let Yt=at.getBBox();W=Math.max(W,Yt.height)});let I=v+c*2+105,et=y.length*f+c*2+W/2,j=o.padding,At=H-o.padding-I,Xt=o.padding,Et=M-o.padding-et;d=Math.max(j,Math.min(d,At)),s=Math.max(Xt,Math.min(s,Et)),k.forEach((st,at)=>{st.attr("x",d+c).attr("y",s+c+(at+1)*f)}),w.insert("rect","text").attr("x",d).attr("y",s).attr("width",I).attr("height",et).attr("fill","white").attr("stroke",p.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(m.notes.length>0){let e=z.append("g").attr("class","wardley-notes");m.notes.forEach((d)=>{let s=F(d.x),c=O(d.y);e.append("text").attr("x",s).attr("y",c).attr("text-anchor","start").attr("font-size",11).attr("fill",p.axisTextColor).attr("font-weight","bold").text(d.text)})}if(m.accelerators.length>0){let e=z.append("g").attr("class","wardley-accelerators");m.accelerators.forEach((d)=>{let s=F(d.x),c=O(d.y),f=60,g=30,w=20,y=`
3
- M ${s} ${c-15}
4
- L ${s+60-20} ${c-15}
5
- L ${s+60-20} ${c-15-8}
6
- L ${s+60} ${c}
7
- L ${s+60-20} ${c+15+8}
8
- L ${s+60-20} ${c+15}
9
- L ${s} ${c+15}
10
- Z
11
- `;e.append("path").attr("d",y).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",1),e.append("text").attr("x",s+30).attr("y",c+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",p.axisTextColor).attr("font-weight","bold").text(d.name)})}if(m.deaccelerators.length>0){let e=z.append("g").attr("class","wardley-deaccelerators");m.deaccelerators.forEach((d)=>{let s=F(d.x),c=O(d.y),f=60,g=30,w=20,y=`
12
- M ${s+60} ${c-15}
13
- L ${s+20} ${c-15}
14
- L ${s+20} ${c-15-8}
15
- L ${s} ${c}
16
- L ${s+20} ${c+15+8}
17
- L ${s+20} ${c+15}
18
- L ${s+60} ${c+15}
19
- Z
20
- `;e.append("path").attr("d",y).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",1),e.append("text").attr("x",s+30).attr("y",c+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",p.axisTextColor).attr("font-weight","bold").text(d.name)})}},"draw"),jt={draw:qt},Vt=t(({wardley:r}={})=>{let i=ke(),n=x(),u=U(i,n.themeVariables),o=U(u.wardley,r);return`
21
- .wardley-background {
22
- fill: ${o.backgroundColor};
23
- }
24
- .wardley-axes line, .wardley-axes path {
25
- stroke: ${o.axisColor};
26
- }
27
- .wardley-axis-label {
28
- fill: ${o.axisTextColor};
29
- }
30
- .wardley-stage-label {
31
- fill: ${o.axisTextColor};
32
- }
33
- .wardley-grid line {
34
- stroke: ${o.gridColor};
35
- }
36
- .wardley-node circle {
37
- fill: ${o.componentFill};
38
- stroke: ${o.componentStroke};
39
- }
40
- .wardley-node-label {
41
- fill: ${o.componentLabelColor};
42
- }
43
- .wardley-link {
44
- stroke: ${o.linkStroke};
45
- }
46
- .wardley-link--dashed {
47
- stroke-dasharray: 4 4;
48
- }
49
- .wardley-link-label {
50
- fill: ${o.axisTextColor};
51
- }
52
- .wardley-trend line {
53
- stroke: ${o.evolutionStroke};
54
- }
55
- .wardley-annotation-line {
56
- stroke: ${o.annotationStroke};
57
- }
58
- .wardley-annotation circle {
59
- fill: ${o.annotationFill};
60
- stroke: ${o.annotationStroke};
61
- }
62
- .wardley-annotation text {
63
- fill: ${o.annotationTextColor};
64
- }
65
- .wardley-annotations-box rect {
66
- fill: ${o.annotationFill};
67
- stroke: ${o.annotationStroke};
68
- }
69
- .wardley-annotations-box text {
70
- fill: ${o.annotationTextColor};
71
- }
72
- .wardley-pipeline-box {
73
- stroke: ${o.componentStroke};
74
- }
75
- .wardley-notes text {
76
- fill: ${o.axisTextColor};
77
- }
78
- `},"styles"),re={parser:pt,db:Rt,renderer:jt,styles:Vt};export{re as diagram};
@@ -1 +0,0 @@
1
- import{ko}from"./chunk-gcwhx3av.js";export{ko as QuestionDock};
@@ -1 +0,0 @@
1
- import{ri}from"./chunk-ja7w629n.js";export{ri as default};
@@ -1 +0,0 @@
1
- import{h,o,Y,r,e,n,b,K,J,Z}from"./chunk-gcwhx3av.js";import{qt}from"./chunk-7f1t7z72.js";var A="/api/plugins/agents/settings";function ee({connection:g}){let{Button:f,ModelIcon:E,ModelSelector:O,SettingActions:T,SettingGroup:S,SettingRow:q,Switch:G,cn:N}=b(),C=Y(),[p,k]=r(null),[a,u]=r(null),[v,V]=r({models:[]}),[U,j]=r(""),[d,w]=r(!0),[z,M]=r(!1),[c,P]=r(!1),[m,i]=r(null),x=h(async(s=!1)=>{if(s)M(!0);else w(!0);i(null);try{let[t,l]=await Promise.all([g.request(A),g.request("/api/models")]);k(t),u(t),V(l)}catch(t){i({type:"error",text:t instanceof Error?t.message:"读取理事会设置失败"})}finally{w(!1),M(!1)}},[g]);o(()=>{x()},[x]);let L=a&&p?JSON.stringify(a.models)!==JSON.stringify(p.models)||a.research!==p.research:!1,F=async(s)=>{if(s?.preventDefault(),!a||c||d)return;P(!0),i(null);try{let t=await g.request(A,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({schemaVersion:1,models:a.models,research:a.research})});k(t),u(t),i({type:"success",text:"设置已保存"})}catch(t){i({type:"error",text:t instanceof Error?t.message:"保存设置失败"})}finally{P(!1)}},W=()=>{u(p),i(null)},X=(s)=>{if(!s)return;u((t)=>{if(!t)return null;if(t.models.includes(s)||t.models.length>=8)return t;return{...t,models:[...t.models,s]}}),j(""),i(null)},H=(s)=>{u((t)=>{if(!t)return null;return{...t,models:t.models.filter((l)=>l!==s)}}),i(null)},y=a?.models??[];return n("form",{id:C,onSubmit:F,className:"min-w-0 space-y-5",children:[e(S,{title:"参会模型",description:`已选 ${y.length}/8,至少 2 个模型参与群聊交叉审查`,children:n("ul",{className:"divide-y divide-line/60",children:[y.map((s)=>{let t=v.models.find((Q)=>Q.id===s),l=s.indexOf("/"),R=l<0?"":s.slice(0,l),B=t?.name??(l<0?s:s.slice(l+1));return n("li",{title:s,className:"group flex min-h-11 items-center gap-3",children:[e("span",{className:"flex size-7 shrink-0 items-center justify-center rounded-lg bg-raised",children:e(E,{modelID:s,className:"size-4",size:16})}),e("span",{className:"min-w-0 flex-1 truncate text-[13px] text-ink",children:B}),R&&e("span",{className:"max-w-32 shrink-0 truncate text-xs text-faint",children:R}),e(f,{type:"button",size:"icon-xs",variant:"ghost",disabled:d||c,"aria-label":`移除 ${B}`,onClick:()=>H(s),className:"text-faint opacity-40 group-hover:opacity-100 hover:text-danger focus-visible:opacity-100",children:e(Z,{className:"size-3.5"})})]},s)}),y.length<8&&n("li",{className:"flex items-center gap-2",children:[e("div",{className:"min-w-0 flex-1",children:e(O,{variant:"add",models:{models:v.models.filter((s)=>!y.includes(s.id))},value:U,onChange:X})}),e(f,{type:"button",size:"icon-xs",variant:"ghost",disabled:d||z||c,"aria-label":"刷新模型列表",title:"刷新模型列表",onClick:()=>void x(!0),className:"text-faint hover:text-ink",children:e(J,{className:N("size-3.5",z&&"animate-spin")})})]})]})}),e(S,{title:"流程",children:e(q,{title:"调研阶段",description:"表态前各自先查证,关闭后直接发表意见",children:e(G,{label:"调研阶段",checked:a?.research??!0,disabled:d||c,onCheckedChange:(s)=>{u((t)=>t?{...t,research:s}:null),i(null)}})})}),n(T,{children:[m&&n("span",{role:m.type==="error"?"alert":"status",className:N("mr-auto flex min-w-0 items-center gap-1.5 text-xs",m.type==="success"?"text-success":"text-danger"),children:[m.type==="success"?e(qt,{className:"size-3.5 shrink-0"}):e(K,{className:"size-3.5 shrink-0"}),e("span",{className:"min-w-0 break-words",children:m.text})]}),L&&e(f,{type:"button",variant:"ghost",size:"sm",disabled:d||c,onClick:W,children:"撤销更改"}),e(f,{form:C,type:"submit",variant:"primary",size:"sm",disabled:d||c||!L,children:c?"保存中…":"保存"})]})]})}export{ee as CouncilSettingsSection};
@@ -1 +0,0 @@
1
- import{rr}from"./chunk-8dp7h6w8.js";export{rr as createRailroadServices};
@@ -1,39 +0,0 @@
1
- import{G}from"./chunk-jzte2phh.js";import{t,a,D,B,C,S,E,T,A,L,R,l,ae,jn,Wr,V,We,U}from"./chunk-3q0v8w45.js";import{ee}from"./chunk-8dp7h6w8.js";import{_t}from"./chunk-v14s4vgc.js";import{Xe}from"./chunk-07agqp8h.js";function et(e,o){return o<e?-1:o>e?1:o>=e?0:NaN}function rt(e){return e}function at(){var e=rt,o=et,k=null,H=ae(0),g=ae(jn),h=ae(0);function s(r){var i,u=(r=Wr(r)).length,m,z,W=0,v=Array(u),c=Array(u),F=+H.apply(this,arguments),_=Math.min(jn,Math.max(-jn,g.apply(this,arguments)-F)),N,X=Math.min(Math.abs(_)/u,h.apply(this,arguments)),p=X*(_<0?-1:1),M;for(i=0;i<u;++i)if((M=c[v[i]=i]=+e(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:X};return c}return s.value=function(r){return arguments.length?(e=typeof r==="function"?r:ae(+r),s):e},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:ae(+r),s):H},s.endAngle=function(r){return arguments.length?(g=typeof r==="function"?r:ae(+r),s):g},s.padAngle=function(r){return arguments.length?(h=typeof r==="function"?r:ae(+r),s):h},s}var ut=D.pie,nt={sections:new Map,showData:!1,config:ut},{sections:J,showData:it}=nt,vt=structuredClone(ut),xt=t(()=>structuredClone(vt),"getConfig"),St=t(()=>{J=new Map,it=nt.showData,C()},"clear"),yt=t(({label:e,value:o})=>{if(o<0)throw Error(`"${e}" has invalid value: ${o}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);if(!J.has(e))J.set(e,o),a.debug(`added new section: ${e}, with value: ${o}`)},"addSection"),wt=t(()=>J,"getSections"),At=t((e)=>{it=e},"setShowData"),Ct=t(()=>it,"getShowData"),gt={getConfig:xt,clear:St,setDiagramTitle:L,getDiagramTitle:R,setAccTitle:S,getAccTitle:E,setAccDescription:T,getAccDescription:A,addSection:yt,getSections:wt,setShowData:At,getShowData:Ct},$t=t((e,o)=>{G(e,o),o.setShowData(e.showData),e.sections.map(o.addSection)},"populateDb"),Dt={parse:t(async(e)=>{let o=await ee("pie",e);a.debug(o),$t(o,gt)},"parse")},Tt=t((e)=>`
2
- .pieCircle{
3
- stroke: ${e.pieStrokeColor};
4
- stroke-width : ${e.pieStrokeWidth};
5
- opacity : ${e.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: ${e.pieOuterStrokeColor};
18
- stroke-width: ${e.pieOuterStrokeWidth};
19
- fill: none;
20
- }
21
- .pieTitleText {
22
- text-anchor: middle;
23
- font-size: ${e.pieTitleTextSize};
24
- fill: ${e.pieTitleTextColor};
25
- font-family: ${e.fontFamily};
26
- }
27
- .slice {
28
- font-family: ${e.fontFamily};
29
- fill: ${e.pieSectionTextColor};
30
- font-size:${e.pieSectionTextSize};
31
- // fill: white;
32
- }
33
- .legend text {
34
- fill: ${e.pieLegendTextColor};
35
- font-family: ${e.fontFamily};
36
- font-size: ${e.pieLegendTextSize};
37
- }
38
- `,"getStyles"),bt=Tt,kt=t((e)=>{let o=[...e.values()].reduce((g,h)=>g+h,0),k=[...e.entries()].map(([g,h])=>({label:g,value:h})).filter((g)=>g.value/o*100>=1);return at().value((g)=>g.value).sort(null)(k)},"createPieArcs"),zt=t((e,o,k,H)=>{a.debug(`rendering pie chart
39
- `+e);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,X=s.donutHole>0&&s.donutHole<=0.9?s.donutHole:0,p=Math.min(z,m)/2-r,M=_t().innerRadius(X*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 Z=g.getSections(),dt=kt(Z),pt=[c.pie1,c.pie2,c.pie3,c.pie4,c.pie5,c.pie6,c.pie7,c.pie8,c.pie9,c.pie10,c.pie11,c.pie12],K=0;Z.forEach((n)=>{K+=n});let ot=dt.filter((n)=>(n.data.value/K*100).toFixed(0)!=="0"),Q=Xe(pt).domain([...Z.keys()]);x.selectAll("mySlices").data(ot).enter().append("path").attr("d",M).attr("fill",(n)=>Q(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(ot).enter().append("text").text((n)=>(n.data.value/K*100).toFixed(0)+"%").attr("transform",(n)=>"translate("+I.centroid(n)+")").style("text-anchor","middle").attr("class","slice");let ft=v.append("text").text(g.getDiagramTitle()).attr("x",0).attr("y",-(m-50)/2).attr("class","pieTitleText"),j=[...Z.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)=>Q(n.label)).style("stroke",(n)=>Q(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)),q=m,Y=z+r,f=i+u,tt=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":q+=tt,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, ${tt+f})`);break;case"bottom":q+=tt,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":Y+=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:Y+=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 lt=ft.node()?.getBoundingClientRect().width??0,ht=z/2-lt/2,mt=z/2+lt/2,st=Math.min(0,ht),ct=Math.max(Y,mt)-st;W.attr("viewBox",`${st} 0 ${ct} ${q}`),B(W,q,ct,s.useMaxWidth)},"draw"),Et={draw:zt},qt={parser:Dt,db:gt,renderer:Et,styles:bt};export{qt as diagram};
@@ -1 +0,0 @@
1
- import{hi}from"./chunk-qcge7d6s.js";export{hi as default};
@@ -1,3 +0,0 @@
1
- import{G}from"./chunk-jzte2phh.js";import{t,a,D,x,O,C,S,E,T,A,L,R,l,kr,p,Nn,Zr,U}from"./chunk-3q0v8w45.js";import{Or,ee}from"./chunk-8dp7h6w8.js";var _="position frame",V="frame positioned",F="position relation",X="relation positioned",pe=t(function(e){a.debug("options str",e)},"setOptions"),ve=t(function(){return{}},"getOptions"),be=t(function(){j(),C()},"clear");function j(){M={}}t(j,"reset");var we=D.eventmodeling,ye=t(()=>U({...we,...x().eventmodeling}),"getConfig"),M={};function Y(){let e=Pe,{ast:i}=M,n=I();if(!i)throw Error("No data for EventModel");return i.frames.forEach((r,o)=>{let s=te(r,i.dataEntities,n);e=P(e,{$kind:_,index:o,frame:r,textProps:s});let c=void 0;if(se(r))a.debug("source frame",r.sourceFrames),c=i.frames.filter((m)=>r.sourceFrames.some((u)=>u.$refText===m.name)),c.forEach((m)=>{e=P(e,{$kind:F,index:o,frame:r,sourceFrame:m})});else e=P(e,{$kind:F,index:o,frame:r})}),e={...e,sortedSwimlanesArray:W(e.swimlanes)},e}t(Y,"getState");function z(e){M.ast=void 0;let i=new Set;for(let n of e.frames){if(i.has(n.name)){let r=n.$cstNode?.range.start.line,o=r===void 0?"":` on line ${r+1}`;throw Error(`Duplicate event modeling frame ID "${n.name}"${o}`)}i.add(n.name)}M.ast=e}t(z,"setAst");var d={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function I(){return d}t(I,"getDiagramProps");var Pe={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function K(e){let i=e.split(".");if(i.length===2)return i[0];return}t(K,"extractNamespace");function q(e){let i=e.split(".");if(i.length===2)return i[1];return e}t(q,"extractName");function J(e,i){if(!i||i.length===0)return;return Object.values(e).find((n)=>n.namespace===i)}t(J,"findSwimlaneByNamespace");function y(e,i,n){return Math.max(i,...Object.keys(e).filter((r)=>{let o=Number.parseInt(r);return o>i&&o<n}).map((r)=>Number.parseInt(r)))+1}t(y,"findNextAvailableIndex");function Q(e,i){let n=K(e.entityIdentifier),r=J(i,n);switch(e.modelEntityType){case"ui":case"pcr":case"processor":if(r)return{index:r.index,label:r.namespace||d.labelUiAutomation};else if(n)return{index:y(i,0,100),label:d.labelUiAutomationPrefix+n};return{index:0,label:d.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":if(r)return{index:r.index,label:r.namespace||d.labelCommandReadModel};else if(n)return{index:y(i,100,200),label:d.labelCommandReadModelPrefix+n};return{index:100,label:d.labelCommandReadModel};case"evt":case"event":default:if(r)return{index:r.index,label:r.namespace||d.labelEvents};else if(n)return{index:y(i,200,300),label:d.labelEventsPrefix+n};return{index:200,label:d.labelEvents}}}t(Q,"calculateSwimlaneProps");function Z(e){let{themeVariables:i}=x();switch(e.modelEntityType){case"ui":return{fill:i.emUiFill??"white",stroke:i.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:i.emProcessorFill??"#edb3f6",stroke:i.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:i.emReadModelFill??"#d3f1a2",stroke:i.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:i.emCommandFill??"#bcd6fe",stroke:i.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:i.emEventFill??"#ffb778",stroke:i.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}t(Z,"calculateEntityVisualProps");function te(e,i,n){let r=x(),o=O(q(e.entityIdentifier)??"",r),s,c={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"},u=`<b>${Nn(o,n.textMaxWidth,c)}</b>`;if(e.dataInlineValue)s=e.dataInlineValue,s=s.substring(s.indexOf("{")+1),s=s.substring(0,s.lastIndexOf("}")-1),s=O(s,r),s=Nn(s,n.textMaxWidth,c),s=s.replaceAll(" ","&nbsp;");if(e.dataReference){let w=i.find((k)=>k.name===e.dataReference?.$refText);if(w)s=w.dataBlockValue,s=s.substring(s.indexOf(`{
2
- `)+2),s=s.substring(0,s.lastIndexOf("}")-1),s=O(s,r),s=Nn(s,n.textMaxWidth,c),s=s.replaceAll(" ","&nbsp;"),s+="<br/>"}let f=s!==void 0;if(f)u+=`<br/><br/><code style="text-align: left; display: block;max-width:${n.textMaxWidth}px">${s}</code>`;let h={fontSize:c.fontSize,fontWeight:c.fontWeight,fontFamily:c.fontFamily},g=Zr(u,h),b=f?g.width/3:g.width,v={content:u,width:b,height:g.height};return a.debug(`[${e.name}] ${e.entityIdentifier} text`,v),v}t(te,"calculateTextProps");function ne(e,i){let n=i,r=Z(n.frame),o={width:n.textProps.width+2*d.boxTextPadding,height:n.textProps.height+2*d.boxTextPadding};return[{$kind:V,frame:n.frame,index:n.index,visual:r,dimension:o,textProps:n.textProps}]}t(ne,"decidePositionFrame");function ie(e,i,n){if(i===void 0)return d.contentStartX;if(i.index===e.index&&e.r)return e.r+d.boxPadding;if(n===void 0)return d.contentStartX;return n.r-d.boxOverlap+d.boxPadding}t(ie,"calculateX");function re(e,i){let n=[...e.map((r)=>r.r),i];return Math.max(...n)}t(re,"calculateMaxRight");function W(e){return Object.values(e).sort((i,n)=>i.index-n.index)}t(W,"sortedSwimlanesArray");function ae(e,i){let n=i,r=Q(n.frame,e.swimlanes),o;if(r.index in e.swimlanes)o=e.swimlanes[r.index];else o={index:r.index,label:r.label,r:0,y:r.index*d.swimlaneMinHeight+d.swimlaneGap,height:d.swimlaneMinHeight,maxHeight:d.swimlaneMinHeight};let s=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,c=e.previousSwimlaneNumber!==void 0?e.swimlanes[e.previousSwimlaneNumber]:void 0,m={width:Math.max(d.boxMinWidth,Math.min(d.boxMaxWidth,n.dimension.width))+2*d.boxPadding,height:Math.max(d.boxMinHeight,Math.min(d.boxMaxHeight,n.dimension.height))+2*d.boxPadding},u=ie(o,c,s),f=u+m.width+d.boxPadding,h=re(Object.values(e.swimlanes),f);o.r=u+m.width,o.maxHeight=Math.max(o.maxHeight,m.height),o.height=Math.max(d.swimlaneMinHeight,o.maxHeight)+2*d.swimlanePadding;let g={x:u,y:d.swimlanePadding+o.y,r:f,dimension:m,leftSibling:!1,swimlane:o,visual:n.visual,text:n.textProps.content,frame:n.frame,index:n.index},b={...e,boxes:[...e.boxes,g],swimlanes:{...e.swimlanes,[`${o.index}`]:o},previousSwimlaneNumber:r.index,previousFrame:n.frame,maxR:h},v=W(b.swimlanes);if(v.length>0)v[0].y=0;for(let w=1;w<v.length;w++){let k=v[w],H=v[w-1];k.y=H.y+H.height+d.swimlaneGap}return b}t(ae,"evolveFramePositioned");function oe(e,i){if(e===0&&i.sourceFrames.length===0)return!0;return!1}t(oe,"isFirstFrame");function se(e){return e.sourceFrames!==void 0&&e.sourceFrames!==null&&e.sourceFrames.length>0}t(se,"hasSourceFrame");function B(e,i){if(i===void 0||i===null)return;return e.find((n)=>n.frame.name===i.name)}t(B,"findBoxByFrame");function de(e,i,n){if(n<0)return;for(let r=n;r>=0;r--){let o=e[r];if(o.swimlane.index!==i)return o}return}t(de,"findBoxByLineIndex");function le(e,i){let n=i;if(oe(n.index,n.frame))return[];let r=B(e.boxes,n.frame);if(r===void 0)throw Error(`Target box not found for frame ${n.frame.name}`);let o;if(n.sourceFrame)o=B(e.boxes,n.sourceFrame);else{if(Or(n.frame))return[];o=de(e.boxes,r.swimlane.index,n.index-1)}if(o===void 0)return[];return[{$kind:X,frame:n.frame,index:n.index,sourceBox:o,targetBox:r}]}t(le,"decidePositionRelation");function ce(e,i){let n=i,r={visual:{fill:"none",stroke:"#000"},source:{x:n.sourceBox.x,y:n.sourceBox.y},target:{x:n.targetBox.x,y:n.targetBox.y},sourceBox:n.sourceBox,targetBox:n.targetBox};return{...e,relations:[...e.relations,r]}}t(ce,"evolveRelationPositioned");var Se={[_]:ne,[F]:le},Me={[V]:ae,[X]:ce};function me(e,i){let n=Se[i.$kind];if(n===void 0||n===null)return[];let r=n(e,i);return a.debug("decided events",r),r}t(me,"decide");function ue(e,i){let n=i.reduce((r,o)=>{let s=Me[o.$kind];if(s===void 0||s===null)return r;return s(r,o)},e);return a.debug("evolve events",{state:e,newState:n,events:i}),n}t(ue,"evolve");function P(e,i){let n=me(e,i);return ue(e,n)}t(P,"dispatch");var N={getConfig:ye,preserveCommentsWhenParsing:!0,setOptions:pe,getOptions:ve,clear:be,setAccTitle:S,getAccTitle:E,getAccDescription:A,setAccDescription:T,setDiagramTitle:L,getDiagramTitle:R,setAst:z,getDiagramProps:I,getState:Y},ke={parse:t(async(e)=>{let i=await ee("eventmodeling",e);a.debug(i),N.setAst(i),G(i,N)},"parse")},Fe=l(),Be=Fe?.eventmodeling;function xe(e,i){return(n)=>{let r=n.swimlane.y+i.swimlanePadding,o=e.append("g").attr("class","em-box");o.append("rect").attr("x",n.x).attr("y",r).attr("rx","3").attr("width",n.dimension.width).attr("height",n.dimension.height).attr("stroke",n.visual.stroke).attr("fill",n.visual.fill),o.append("foreignObject").attr("x",n.x+i.boxPadding).attr("y",r+10).attr("width",n.dimension.width-2*i.boxPadding).attr("height",n.dimension.height-2*i.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(n.text)}}t(xe,"renderD3Box");function fe(e,i){return e>i}t(fe,"dirUpwards");function ge(e,i,n,r){return(o)=>{let s=o.sourceBox.swimlane.y+i.swimlanePadding,c=o.targetBox.swimlane.y+i.swimlanePadding,m=fe(s,c),u=o.sourceBox.x+o.sourceBox.dimension.width*2/3,f=o.targetBox.x+o.targetBox.dimension.width/3,h,g;if(a.debug(`rendering relation up=${m} for `,{sourceBox:o.sourceBox,targetBox:o.targetBox}),m)h=s,g=c+o.targetBox.dimension.height;else h=s+o.sourceBox.dimension.height,g=c;let b=r.emRelationStroke??o.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",o.visual.fill).attr("stroke",b).attr("stroke-width","1").attr("marker-end",`url(#${n})`).attr("d",`M${u} ${h} L${f} ${g}`)}}t(ge,"renderD3Relation");function he(e,i,n,r){return(o)=>{let s=e.append("g").attr("class","em-swimlane"),c=r.emSwimlaneBackgroundOdd??"rgb(250,250,250)",m=r.emSwimlaneBackgroundStroke??"rgb(240,240,240)";s.append("rect").attr("x",0).attr("y",o.y).attr("rx","3").attr("width",i+n.swimlanePadding).attr("height",o.height).attr("fill",c).attr("stroke",m),s.append("text").attr("font-weight",n.swimlaneTextFontWeight).attr("x",30).attr("y",o.y+30).text(o.label)}}t(he,"renderD3Swimlane");var Ee=t(function(e,i,n,r){if(a.debug("in eventmodeling renderer",e+`
3
- `,"id:",i,n),!Be)throw Error("EventModeling config not found");let o=r.db,{themeVariables:s,eventmodeling:c}=l(),m=p(`[id="${i}"]`),u=o.getDiagramProps(),f=o.getState(),h=`em-arrowhead-${i}`,g=s.emArrowhead??"#000000";f.sortedSwimlanesArray.forEach(he(m,f.maxR,u,s)),f.boxes.forEach(xe(m,u)),f.relations.forEach(ge(m,u,h,s)),m.append("defs").append("marker").attr("id",h).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",g),kr(void 0,m,c?.padding??30,c?.useMaxWidth)},"draw"),Ae={draw:Ee},$e=t((e)=>"","getStyles"),Re=$e,Ue={parser:ke,db:N,renderer:Ae,styles:Re};export{Ue as diagram};