cx-viewer 1.0.2 → 1.0.4

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 (1440) hide show
  1. package/README.md +75 -28
  2. package/build.js +15 -0
  3. package/cli.js +108 -38
  4. package/concepts/ar/BodyDiffJSON.md +1 -1
  5. package/concepts/ar/BodyFields.md +30 -33
  6. package/concepts/ar/GlobalSettings.md +165 -167
  7. package/concepts/ar/MainAgent.md +3 -4
  8. package/concepts/ar/ProxySwitch.md +3 -3
  9. package/concepts/ar/QRCode.md +1 -1
  10. package/concepts/ar/ResponseFields.md +29 -41
  11. package/concepts/ar/SubAgent-Search.md +12 -12
  12. package/concepts/ar/Teammate.md +16 -16
  13. package/concepts/ar/ToolsFirst.md +42 -48
  14. package/concepts/ar/TranslateContextPollution.md +9 -9
  15. package/concepts/ar/UltraPlan.md +38 -38
  16. package/concepts/da/BodyDiffJSON.md +2 -2
  17. package/concepts/da/BodyFields.md +30 -33
  18. package/concepts/da/GlobalSettings.md +165 -167
  19. package/concepts/da/MainAgent.md +3 -4
  20. package/concepts/da/ProxySwitch.md +3 -3
  21. package/concepts/da/QRCode.md +1 -1
  22. package/concepts/da/ResponseFields.md +29 -41
  23. package/concepts/da/SubAgent-Search.md +11 -11
  24. package/concepts/da/Teammate.md +16 -16
  25. package/concepts/da/ToolsFirst.md +42 -48
  26. package/concepts/da/TranslateContextPollution.md +9 -9
  27. package/concepts/da/UltraPlan.md +38 -38
  28. package/concepts/de/BodyDiffJSON.md +2 -2
  29. package/concepts/de/BodyFields.md +30 -33
  30. package/concepts/de/GlobalSettings.md +165 -167
  31. package/concepts/de/MainAgent.md +3 -4
  32. package/concepts/de/ProxySwitch.md +3 -3
  33. package/concepts/de/QRCode.md +1 -1
  34. package/concepts/de/ResponseFields.md +29 -41
  35. package/concepts/de/SubAgent-Search.md +11 -11
  36. package/concepts/de/Teammate.md +15 -15
  37. package/concepts/de/ToolsFirst.md +41 -47
  38. package/concepts/de/TranslateContextPollution.md +9 -9
  39. package/concepts/de/UltraPlan.md +38 -38
  40. package/concepts/en/BodyDiffJSON.md +5 -5
  41. package/concepts/en/BodyFields.md +17 -20
  42. package/concepts/en/GlobalSettings.md +49 -51
  43. package/concepts/en/MainAgent.md +8 -8
  44. package/concepts/en/ProxySwitch.md +3 -3
  45. package/concepts/en/QRCode.md +6 -6
  46. package/concepts/en/ResponseFields.md +7 -19
  47. package/concepts/en/SubAgent-Search.md +2 -2
  48. package/concepts/en/Teammate.md +4 -4
  49. package/concepts/en/Tool-apply_patch.md +11 -0
  50. package/concepts/en/Tool-create_goal.md +8 -0
  51. package/concepts/en/Tool-exec.md +88 -0
  52. package/concepts/en/Tool-followup_task.md +10 -0
  53. package/concepts/en/Tool-get_goal.md +5 -0
  54. package/concepts/en/Tool-image_generation.md +5 -0
  55. package/concepts/en/Tool-interrupt_agent.md +9 -0
  56. package/concepts/en/Tool-list_agents.md +9 -0
  57. package/concepts/en/Tool-list_mcp_resource_templates.md +8 -0
  58. package/concepts/en/Tool-list_mcp_resources.md +8 -0
  59. package/concepts/en/Tool-read_mcp_resource.md +10 -0
  60. package/concepts/en/Tool-request_user_input.md +9 -0
  61. package/concepts/en/Tool-send_message.md +10 -0
  62. package/concepts/en/Tool-shell_command.md +12 -0
  63. package/concepts/en/Tool-spawn_agent.md +11 -0
  64. package/concepts/en/Tool-tool_search.md +12 -0
  65. package/concepts/en/Tool-update_goal.md +9 -0
  66. package/concepts/en/Tool-update_plan.md +9 -0
  67. package/concepts/en/Tool-view_image.md +10 -0
  68. package/concepts/en/Tool-wait.md +12 -0
  69. package/concepts/en/Tool-wait_agent.md +9 -0
  70. package/concepts/en/Tool-web_search.md +11 -0
  71. package/concepts/en/Tools.md +29 -58
  72. package/concepts/en/ToolsFirst.md +24 -30
  73. package/concepts/en/TranslateContextPollution.md +10 -38
  74. package/concepts/en/UltraPlan.md +7 -7
  75. package/concepts/es/BodyDiffJSON.md +1 -1
  76. package/concepts/es/BodyFields.md +35 -38
  77. package/concepts/es/GlobalSettings.md +165 -167
  78. package/concepts/es/MainAgent.md +3 -4
  79. package/concepts/es/ProxySwitch.md +3 -3
  80. package/concepts/es/QRCode.md +1 -1
  81. package/concepts/es/ResponseFields.md +28 -40
  82. package/concepts/es/SubAgent-Search.md +12 -12
  83. package/concepts/es/Teammate.md +17 -17
  84. package/concepts/es/ToolsFirst.md +41 -47
  85. package/concepts/es/TranslateContextPollution.md +9 -9
  86. package/concepts/es/UltraPlan.md +38 -38
  87. package/concepts/fr/BodyDiffJSON.md +2 -2
  88. package/concepts/fr/BodyFields.md +35 -38
  89. package/concepts/fr/GlobalSettings.md +165 -167
  90. package/concepts/fr/MainAgent.md +3 -4
  91. package/concepts/fr/ProxySwitch.md +3 -3
  92. package/concepts/fr/QRCode.md +1 -1
  93. package/concepts/fr/ResponseFields.md +25 -37
  94. package/concepts/fr/SubAgent-Search.md +12 -12
  95. package/concepts/fr/Teammate.md +16 -16
  96. package/concepts/fr/ToolsFirst.md +40 -46
  97. package/concepts/fr/TranslateContextPollution.md +9 -9
  98. package/concepts/fr/UltraPlan.md +38 -38
  99. package/concepts/it/BodyDiffJSON.md +2 -2
  100. package/concepts/it/BodyFields.md +35 -38
  101. package/concepts/it/GlobalSettings.md +165 -167
  102. package/concepts/it/MainAgent.md +3 -4
  103. package/concepts/it/ProxySwitch.md +3 -3
  104. package/concepts/it/QRCode.md +1 -1
  105. package/concepts/it/ResponseFields.md +28 -40
  106. package/concepts/it/SubAgent-Search.md +12 -12
  107. package/concepts/it/Teammate.md +17 -17
  108. package/concepts/it/ToolsFirst.md +41 -47
  109. package/concepts/it/TranslateContextPollution.md +9 -9
  110. package/concepts/it/UltraPlan.md +38 -38
  111. package/concepts/ja/BodyDiffJSON.md +1 -1
  112. package/concepts/ja/BodyFields.md +30 -33
  113. package/concepts/ja/GlobalSettings.md +165 -167
  114. package/concepts/ja/MainAgent.md +3 -4
  115. package/concepts/ja/ProxySwitch.md +3 -3
  116. package/concepts/ja/QRCode.md +1 -1
  117. package/concepts/ja/ResponseFields.md +29 -41
  118. package/concepts/ja/SubAgent-Search.md +12 -12
  119. package/concepts/ja/Teammate.md +17 -17
  120. package/concepts/ja/ToolsFirst.md +41 -47
  121. package/concepts/ja/TranslateContextPollution.md +9 -9
  122. package/concepts/ja/UltraPlan.md +38 -38
  123. package/concepts/ko/BodyDiffJSON.md +1 -1
  124. package/concepts/ko/BodyFields.md +30 -33
  125. package/concepts/ko/GlobalSettings.md +165 -167
  126. package/concepts/ko/MainAgent.md +3 -4
  127. package/concepts/ko/ProxySwitch.md +3 -3
  128. package/concepts/ko/QRCode.md +1 -1
  129. package/concepts/ko/ResponseFields.md +29 -41
  130. package/concepts/ko/SubAgent-Search.md +12 -12
  131. package/concepts/ko/Teammate.md +17 -17
  132. package/concepts/ko/ToolsFirst.md +41 -47
  133. package/concepts/ko/TranslateContextPollution.md +9 -9
  134. package/concepts/ko/UltraPlan.md +38 -38
  135. package/concepts/no/BodyDiffJSON.md +2 -2
  136. package/concepts/no/BodyFields.md +30 -33
  137. package/concepts/no/GlobalSettings.md +165 -167
  138. package/concepts/no/MainAgent.md +3 -4
  139. package/concepts/no/ProxySwitch.md +3 -3
  140. package/concepts/no/QRCode.md +1 -1
  141. package/concepts/no/ResponseFields.md +29 -41
  142. package/concepts/no/SubAgent-Search.md +12 -12
  143. package/concepts/no/Teammate.md +17 -17
  144. package/concepts/no/ToolsFirst.md +42 -48
  145. package/concepts/no/TranslateContextPollution.md +9 -9
  146. package/concepts/no/UltraPlan.md +38 -38
  147. package/concepts/pl/BodyDiffJSON.md +2 -2
  148. package/concepts/pl/BodyFields.md +30 -33
  149. package/concepts/pl/GlobalSettings.md +165 -167
  150. package/concepts/pl/MainAgent.md +3 -4
  151. package/concepts/pl/ProxySwitch.md +3 -3
  152. package/concepts/pl/QRCode.md +1 -1
  153. package/concepts/pl/ResponseFields.md +29 -41
  154. package/concepts/pl/SubAgent-Search.md +12 -12
  155. package/concepts/pl/Teammate.md +17 -17
  156. package/concepts/pl/ToolsFirst.md +42 -48
  157. package/concepts/pl/TranslateContextPollution.md +9 -9
  158. package/concepts/pl/UltraPlan.md +38 -38
  159. package/concepts/pt-BR/BodyDiffJSON.md +2 -2
  160. package/concepts/pt-BR/BodyFields.md +30 -33
  161. package/concepts/pt-BR/GlobalSettings.md +165 -167
  162. package/concepts/pt-BR/MainAgent.md +3 -4
  163. package/concepts/pt-BR/ProxySwitch.md +3 -3
  164. package/concepts/pt-BR/QRCode.md +1 -1
  165. package/concepts/pt-BR/ResponseFields.md +29 -41
  166. package/concepts/pt-BR/SubAgent-Search.md +12 -12
  167. package/concepts/pt-BR/Teammate.md +17 -17
  168. package/concepts/pt-BR/ToolsFirst.md +41 -47
  169. package/concepts/pt-BR/TranslateContextPollution.md +9 -9
  170. package/concepts/pt-BR/UltraPlan.md +38 -38
  171. package/concepts/ru/BodyDiffJSON.md +1 -1
  172. package/concepts/ru/BodyFields.md +30 -33
  173. package/concepts/ru/GlobalSettings.md +165 -167
  174. package/concepts/ru/MainAgent.md +3 -4
  175. package/concepts/ru/ProxySwitch.md +3 -3
  176. package/concepts/ru/QRCode.md +1 -1
  177. package/concepts/ru/ResponseFields.md +29 -41
  178. package/concepts/ru/SubAgent-Search.md +12 -12
  179. package/concepts/ru/Teammate.md +17 -17
  180. package/concepts/ru/ToolsFirst.md +41 -47
  181. package/concepts/ru/TranslateContextPollution.md +9 -9
  182. package/concepts/ru/UltraPlan.md +38 -38
  183. package/concepts/th/BodyDiffJSON.md +1 -1
  184. package/concepts/th/BodyFields.md +30 -33
  185. package/concepts/th/GlobalSettings.md +165 -167
  186. package/concepts/th/MainAgent.md +3 -4
  187. package/concepts/th/ProxySwitch.md +3 -3
  188. package/concepts/th/QRCode.md +1 -1
  189. package/concepts/th/ResponseFields.md +29 -41
  190. package/concepts/th/SubAgent-Search.md +12 -12
  191. package/concepts/th/Teammate.md +17 -17
  192. package/concepts/th/ToolsFirst.md +42 -48
  193. package/concepts/th/TranslateContextPollution.md +9 -9
  194. package/concepts/th/UltraPlan.md +38 -38
  195. package/concepts/tr/BodyDiffJSON.md +1 -1
  196. package/concepts/tr/BodyFields.md +30 -33
  197. package/concepts/tr/GlobalSettings.md +165 -167
  198. package/concepts/tr/MainAgent.md +3 -4
  199. package/concepts/tr/ProxySwitch.md +3 -3
  200. package/concepts/tr/QRCode.md +1 -1
  201. package/concepts/tr/ResponseFields.md +29 -41
  202. package/concepts/tr/SubAgent-Search.md +12 -12
  203. package/concepts/tr/Teammate.md +16 -16
  204. package/concepts/tr/ToolsFirst.md +42 -48
  205. package/concepts/tr/TranslateContextPollution.md +9 -9
  206. package/concepts/tr/UltraPlan.md +38 -38
  207. package/concepts/uk/BodyDiffJSON.md +1 -1
  208. package/concepts/uk/BodyFields.md +30 -33
  209. package/concepts/uk/GlobalSettings.md +165 -167
  210. package/concepts/uk/MainAgent.md +3 -4
  211. package/concepts/uk/ProxySwitch.md +3 -3
  212. package/concepts/uk/QRCode.md +1 -1
  213. package/concepts/uk/ResponseFields.md +29 -41
  214. package/concepts/uk/SubAgent-Search.md +12 -12
  215. package/concepts/uk/Teammate.md +17 -17
  216. package/concepts/uk/ToolsFirst.md +42 -48
  217. package/concepts/uk/TranslateContextPollution.md +9 -9
  218. package/concepts/uk/UltraPlan.md +38 -38
  219. package/concepts/zh/BodyDiffJSON.md +4 -4
  220. package/concepts/zh/BodyFields.md +17 -20
  221. package/concepts/zh/GlobalSettings.md +26 -28
  222. package/concepts/zh/MainAgent.md +6 -6
  223. package/concepts/zh/ProxySwitch.md +1 -1
  224. package/concepts/zh/ResponseFields.md +7 -18
  225. package/concepts/zh/SubAgent-Search.md +2 -2
  226. package/concepts/zh/Teammate.md +4 -4
  227. package/concepts/zh/Tool-apply_patch.md +11 -0
  228. package/concepts/zh/Tool-create_goal.md +8 -0
  229. package/concepts/zh/Tool-exec.md +88 -0
  230. package/concepts/zh/Tool-followup_task.md +10 -0
  231. package/concepts/zh/Tool-get_goal.md +5 -0
  232. package/concepts/zh/Tool-image_generation.md +5 -0
  233. package/concepts/zh/Tool-interrupt_agent.md +9 -0
  234. package/concepts/zh/Tool-list_agents.md +9 -0
  235. package/concepts/zh/Tool-list_mcp_resource_templates.md +8 -0
  236. package/concepts/zh/Tool-list_mcp_resources.md +8 -0
  237. package/concepts/zh/Tool-read_mcp_resource.md +10 -0
  238. package/concepts/zh/Tool-request_user_input.md +9 -0
  239. package/concepts/zh/Tool-send_message.md +10 -0
  240. package/concepts/zh/Tool-shell_command.md +12 -0
  241. package/concepts/zh/Tool-spawn_agent.md +11 -0
  242. package/concepts/zh/Tool-tool_search.md +12 -0
  243. package/concepts/zh/Tool-update_goal.md +9 -0
  244. package/concepts/zh/Tool-update_plan.md +9 -0
  245. package/concepts/zh/Tool-view_image.md +10 -0
  246. package/concepts/zh/Tool-wait.md +12 -0
  247. package/concepts/zh/Tool-wait_agent.md +9 -0
  248. package/concepts/zh/Tool-web_search.md +11 -0
  249. package/concepts/zh/Tools.md +29 -58
  250. package/concepts/zh/ToolsFirst.md +21 -27
  251. package/concepts/zh/TranslateContextPollution.md +10 -38
  252. package/concepts/zh/UltraPlan.md +7 -7
  253. package/concepts/zh-TW/BodyFields.md +27 -30
  254. package/concepts/zh-TW/GlobalSettings.md +26 -28
  255. package/concepts/zh-TW/MainAgent.md +0 -1
  256. package/concepts/zh-TW/ProxySwitch.md +22 -22
  257. package/concepts/zh-TW/ResponseFields.md +29 -40
  258. package/concepts/zh-TW/SubAgent-Search.md +12 -12
  259. package/concepts/zh-TW/Teammate.md +16 -16
  260. package/concepts/zh-TW/ToolsFirst.md +41 -47
  261. package/concepts/zh-TW/UltraPlan.md +38 -38
  262. package/dist/assets/App-BZ9oclBj.js +2 -0
  263. package/dist/assets/App-rWON7PuS.css +1 -0
  264. package/dist/assets/MdxEditorPanel-B4lZ7Z_A.js +1 -0
  265. package/dist/assets/MdxEditorPanel-Da_ceLFo.css +1 -0
  266. package/dist/assets/Mobile-B5V_-6Hc.css +1 -0
  267. package/dist/assets/Mobile-C7Hy-TIM.js +1 -0
  268. package/dist/assets/abnfDiagram-VRR7QNED-DYYppIQV.js +1 -0
  269. package/dist/assets/apl-B8ZmNFqK.js +1 -0
  270. package/dist/assets/arc-BT3um7r4.js +1 -0
  271. package/dist/assets/architectureDiagram-ZJ3FMSHR-uweBqnh-.js +1 -0
  272. package/dist/assets/asciiarmor-CIte6N-S.js +1 -0
  273. package/dist/assets/asn1-Ax1-z1nk.js +1 -0
  274. package/dist/assets/asterisk-CLHf-iRz.js +1 -0
  275. package/dist/assets/blockDiagram-677ZJIJ3-DzeI4GyV.js +1 -0
  276. package/dist/assets/brainfuck-CdLnmYpe.js +1 -0
  277. package/dist/assets/c4Diagram-LMCZKHZV-DBI0K7wS.js +1 -0
  278. package/dist/assets/channel-BrN6yx0e.js +1 -0
  279. package/dist/assets/chunk-2Q5K7J3B-DK9JA8Ct.js +1 -0
  280. package/dist/assets/chunk-32BRIVSS-VNg3Ylzs.js +1 -0
  281. package/dist/assets/chunk-5VM5RSS4-DFhufY9o.js +1 -0
  282. package/dist/assets/chunk-EX3LRPZG-B93MHNBT.js +1 -0
  283. package/dist/assets/chunk-JWPE2WC7-C54OW1iN.js +1 -0
  284. package/dist/assets/chunk-MOJQB5TN-lKhWWIDe.js +1 -0
  285. package/dist/assets/chunk-RYQCIY6F-BK2jDXwB.js +1 -0
  286. package/dist/assets/chunk-V7JOEXUC-aLHBmfOc.js +1 -0
  287. package/dist/assets/chunk-VR4S4FIN-Bomuor1h.js +1 -0
  288. package/dist/assets/chunk-XXDRQBXY-BPj05P7g.js +1 -0
  289. package/dist/assets/classDiagram-OUVF2IWQ-COm0X4uJ.js +1 -0
  290. package/dist/assets/classDiagram-v2-EOCWNBFH-COm0X4uJ.js +1 -0
  291. package/dist/assets/clike-BDgEuk0n.js +1 -0
  292. package/dist/assets/clojure-CrPxgQZl.js +1 -0
  293. package/dist/assets/cmake-BknZiLBu.js +1 -0
  294. package/dist/assets/cobol-DN1mHbgw.js +1 -0
  295. package/dist/assets/coffeescript-DTAwRC7M.js +1 -0
  296. package/dist/assets/commonlisp-B4DJ--Bo.js +1 -0
  297. package/dist/assets/cose-bilkent-JH36ORCC-DU44QHSb.js +1 -0
  298. package/dist/assets/crystal-DoipYOOv.js +1 -0
  299. package/dist/assets/css-BeQRP3p5.js +1 -0
  300. package/dist/assets/cynefin-VYW2F7L2-C0dowxsF.js +15 -0
  301. package/dist/assets/cynefinDiagram-TSTJHNR4-C6vNWPUV.js +1 -0
  302. package/dist/assets/cypher-BzELKutH.js +1 -0
  303. package/dist/assets/cytoscape.esm-D0POlJZ1.js +9 -0
  304. package/dist/assets/d-Mh2Rawoc.js +1 -0
  305. package/dist/assets/dagre-VKFMJZFB-aLG4uEb-.js +1 -0
  306. package/dist/assets/defaultLocale-DZ7E7S9R.js +1 -0
  307. package/dist/assets/diagram-FQU43EPY-D5C8GfdU.js +1 -0
  308. package/dist/assets/diagram-G47NLZAW-C9tRw_xi.js +1 -0
  309. package/dist/assets/diagram-NH7WQ7WH-AYxTxwJ2.js +1 -0
  310. package/dist/assets/diagram-OA4YK3LP-BuBE5n9n.js +1 -0
  311. package/dist/assets/diagram-WEI45ONY-Cda7zYeO.js +1 -0
  312. package/dist/assets/diff-B1OtBbfz.js +1 -0
  313. package/dist/assets/dockerfile-Du7niAGi.js +1 -0
  314. package/dist/assets/dtd-So5hjSa8.js +1 -0
  315. package/dist/assets/dylan-Co15g-RX.js +1 -0
  316. package/dist/assets/ebnf-DWrAnno4.js +1 -0
  317. package/dist/assets/ebnfDiagram-CCIWWBDH-DC_OGyoh.js +1 -0
  318. package/dist/assets/ecl-8tbf0rUT.js +1 -0
  319. package/dist/assets/eiffel-BXtlUtEg.js +1 -0
  320. package/dist/assets/elm-BwiUluiH.js +1 -0
  321. package/dist/assets/erDiagram-Q63AITRT-D2G21PVY.js +1 -0
  322. package/dist/assets/erlang-CrHBLi-m.js +1 -0
  323. package/dist/assets/factor-C7nC06Ta.js +1 -0
  324. package/dist/assets/fcl-DKWfryFT.js +1 -0
  325. package/dist/assets/flowDiagram-23GEKE2U-CEQPYHrk.js +1 -0
  326. package/dist/assets/forth-Cg8ASoTj.js +1 -0
  327. package/dist/assets/fortran-BHf_qfFx.js +1 -0
  328. package/dist/assets/ganttDiagram-NO4QXBWP-JStxUtFR.js +1 -0
  329. package/dist/assets/gas-cj_2N_z1.js +1 -0
  330. package/dist/assets/gherkin-BiuTaH40.js +1 -0
  331. package/dist/assets/gitGraphDiagram-IHSO6WYX-BiojPH-V.js +1 -0
  332. package/dist/assets/graph-CnJdn47S.js +1 -0
  333. package/dist/assets/groovy-Bq8cXYUU.js +1 -0
  334. package/dist/assets/haskell-1ANuaeie.js +1 -0
  335. package/dist/assets/haxe-BUNSvWf_.js +1 -0
  336. package/dist/assets/html2canvas.esm-HFdlUwfn.js +20 -0
  337. package/dist/assets/http-DPC2IRQA.js +1 -0
  338. package/dist/assets/idl-DDbIciu_.js +1 -0
  339. package/dist/assets/index-BEyKG3O5.css +1 -0
  340. package/dist/assets/index-BduJoLQ5.js +1 -0
  341. package/dist/assets/index-BqwR8F0v.js +1 -0
  342. package/dist/assets/index-BsycQyrv.js +1 -0
  343. package/dist/assets/index-CFSDxZyA.js +1 -0
  344. package/dist/assets/index-CunNLTHc.js +1 -0
  345. package/dist/assets/index-OGkDFNTK.js +1 -0
  346. package/dist/assets/index-oxOyrL07.js +2 -0
  347. package/dist/assets/index-wvaycTGT.js +1 -0
  348. package/dist/assets/infoDiagram-FWYZ7A6U-Csl_aBIC.js +1 -0
  349. package/dist/assets/init-DMZMl1PR.js +1 -0
  350. package/dist/assets/ishikawaDiagram-FXEZZL3T-CjgGuMwr.js +1 -0
  351. package/dist/assets/javascript-Cet1BUca.js +1 -0
  352. package/dist/assets/journeyDiagram-5HDEW3XC-DUOy1PCq.js +1 -0
  353. package/dist/assets/jszip.min-BxIXdRg4.js +12 -0
  354. package/dist/assets/julia-CdxLCr68.js +1 -0
  355. package/dist/assets/kanban-definition-HUTT4EX6-Cx7GSrSj.js +1 -0
  356. package/dist/assets/katex-CfXf84Fz.js +1 -0
  357. package/dist/assets/layout-CCUE9ZRw.js +1 -0
  358. package/dist/assets/linear-GeBi6jJp.js +1 -0
  359. package/dist/assets/livescript-Bw1Vw7Ae.js +1 -0
  360. package/dist/assets/lua-DM1wbcnc.js +1 -0
  361. package/dist/assets/map-DQeg2hXV.js +1 -0
  362. package/dist/assets/mathematica-BXSv1_O1.js +1 -0
  363. package/dist/assets/mbox-CWY0keg3.js +1 -0
  364. package/dist/assets/mermaid.core-Cy9iVxov.js +7 -0
  365. package/dist/assets/mindmap-definition-LN4V7U3C-CUVxVkK5.js +1 -0
  366. package/dist/assets/mirc-CMLrLVMT.js +1 -0
  367. package/dist/assets/mllike-naqhAFf1.js +1 -0
  368. package/dist/assets/modelica-BvadsaHY.js +1 -0
  369. package/dist/assets/mscgen-DOr-Q10p.js +1 -0
  370. package/dist/assets/mumps-DKTl5Nyj.js +1 -0
  371. package/dist/assets/nginx-DWR90-d1.js +1 -0
  372. package/dist/assets/nsis-ooFGduGn.js +1 -0
  373. package/dist/assets/ntriples-q5jkU4X1.js +1 -0
  374. package/dist/assets/octave-Deu9Ci7_.js +1 -0
  375. package/dist/assets/orbiting-BCD4Vuij.svg +7 -0
  376. package/dist/assets/ordinal-DA-_8pMy.js +1 -0
  377. package/dist/assets/oz-cTQm1aoB.js +1 -0
  378. package/dist/assets/pascal-Oh3VmczP.js +1 -0
  379. package/dist/assets/pegDiagram-2B236MQR-BCF1byLY.js +1 -0
  380. package/dist/assets/perl-BddWF1HQ.js +1 -0
  381. package/dist/assets/pieDiagram-ENE6RG2P-D2cZTo8-.js +1 -0
  382. package/dist/assets/pig-g5ZQNIDr.js +1 -0
  383. package/dist/assets/powershell-CNmQNFVJ.js +1 -0
  384. package/dist/assets/properties-B41DXfv6.js +1 -0
  385. package/dist/assets/protobuf-eEBl31OJ.js +1 -0
  386. package/dist/assets/pug-DRSo4eCK.js +1 -0
  387. package/dist/assets/puppet-ClfRubAD.js +1 -0
  388. package/dist/assets/python-BSflc812.js +1 -0
  389. package/dist/assets/q-BBDx3N9Y.js +1 -0
  390. package/dist/assets/quadrantDiagram-ABIIQ3AL-Bwsn2--F.js +1 -0
  391. package/dist/assets/r-CByC1eO8.js +1 -0
  392. package/dist/assets/railroadDiagram-RFXS5EU6-CLGLpWHs.js +1 -0
  393. package/dist/assets/requirementDiagram-TGXJPOKE-BfmBYwZl.js +1 -0
  394. package/dist/assets/rpm-8t935XkD.js +1 -0
  395. package/dist/assets/ruby-CAgbkLZh.js +1 -0
  396. package/dist/assets/sankeyDiagram-HTMAVEWB-CqZhbyFn.js +1 -0
  397. package/dist/assets/sas-C-JWcRvo.js +1 -0
  398. package/dist/assets/scheme-D7o9RjUX.js +1 -0
  399. package/dist/assets/seqResourceLoaders-Bkh2Rb9i.js +2 -0
  400. package/dist/assets/seqResourceLoaders-Do7Kqg3B.css +41 -0
  401. package/dist/assets/sequenceDiagram-DBY2YBRQ-CcOdXkN2.js +1 -0
  402. package/dist/assets/shell-BXA79DV6.js +1 -0
  403. package/dist/assets/shimmer-BBDejmDf.svg +7 -0
  404. package/dist/assets/sieve-DNwyl0rd.js +1 -0
  405. package/dist/assets/simple-mode-CoQRusFX.js +1 -0
  406. package/dist/assets/sizeCapture-X5ZJPWSS-B4OVmPqu.js +1 -0
  407. package/dist/assets/smalltalk-DggktV6S.js +1 -0
  408. package/dist/assets/solr-D7NRuIPM.js +1 -0
  409. package/dist/assets/sparql-Cr71deJQ.js +1 -0
  410. package/dist/assets/spreadsheet-BMD3tYqw.js +1 -0
  411. package/dist/assets/sql-CbOjXfBR.js +1 -0
  412. package/dist/assets/stateDiagram-2N3HPSRC-Dysun0oO.js +1 -0
  413. package/dist/assets/stateDiagram-v2-6OUMAXLB-BFet8xAz.js +1 -0
  414. package/dist/assets/stex-iDPIkRmr.js +1 -0
  415. package/dist/assets/stylus-nWZizI-c.js +1 -0
  416. package/dist/assets/swift-DOhLK5SG.js +1 -0
  417. package/dist/assets/swimlanes-5IMT3BWC-_30OXwXy.js +2 -0
  418. package/dist/assets/swimlanesDiagram-G3AALYLV-C19viY0G.js +1 -0
  419. package/dist/assets/tcl-CQhJd1WY.js +1 -0
  420. package/dist/assets/textile-D9XqfVtL.js +1 -0
  421. package/dist/assets/tiddlywiki-DfOYgVky.js +1 -0
  422. package/dist/assets/tiki-a0_YLWvV.js +1 -0
  423. package/dist/assets/timeline-definition-FHXFAJF6-X1Xk3onD.js +1 -0
  424. package/dist/assets/toml-ekl3F1YB.js +1 -0
  425. package/dist/assets/troff-Bh_pcXF1.js +1 -0
  426. package/dist/assets/ttcn-M6363IRW.js +1 -0
  427. package/dist/assets/ttcn-cfg-7I2DgJEN.js +1 -0
  428. package/dist/assets/turtle-B5jdxH6D.js +1 -0
  429. package/dist/assets/vb-DM-xPmVv.js +1 -0
  430. package/dist/assets/vbscript-B0qu41Yc.js +1 -0
  431. package/dist/assets/velocity-FCgsuVHf.js +1 -0
  432. package/dist/assets/vendor-antd-Bzi1WuBb.js +17 -0
  433. package/dist/assets/vendor-codemirror-CKTrJd47.js +1 -0
  434. package/dist/assets/vendor-highlight-IFTJ9nxW.js +1 -0
  435. package/dist/assets/vendor-markdown-BN3QLsBu.js +3 -0
  436. package/dist/assets/vendor-mdxeditor-4PbKH6K7.js +2 -0
  437. package/dist/assets/vendor-qrcode-Bnjm0rcu.js +6 -0
  438. package/dist/assets/vendor-react-l0sNRNKZ.js +1 -0
  439. package/dist/assets/vendor-virtuoso-2P4SowHC.js +1 -0
  440. package/dist/assets/vendor-xterm-DckPrCx1.js +37 -0
  441. package/dist/assets/vennDiagram-L72KCM5P-D3fQnGq7.js +1 -0
  442. package/dist/assets/verilog-nrfFvR12.js +1 -0
  443. package/dist/assets/vhdl-WlDXtV-W.js +1 -0
  444. package/dist/assets/wardleyDiagram-EHGQE667-CRhqI6-g.js +1 -0
  445. package/dist/assets/webidl-RIQoSXDx.js +1 -0
  446. package/dist/assets/xquery-BN45G3lJ.js +1 -0
  447. package/dist/assets/xychartDiagram-FW5EYKEG-Cmtgmmtg.js +1 -0
  448. package/dist/assets/yacas-U6gaIVhD.js +1 -0
  449. package/dist/assets/z80-CFe5BHbK.js +1 -0
  450. package/dist/index.html +25 -6
  451. package/dist/voice-packs/default/A_choice_for_your_consideration_sir.MP3 +0 -0
  452. package/dist/voice-packs/default/It_is_done_sir.MP3 +0 -0
  453. package/dist/voice-packs/default/The_plan_awaits_your_approval_sir.MP3 +0 -0
  454. package/dist/voice-packs/default/pack.json +24 -0
  455. package/dist/voice-packs/sanguo/ask.MP3 +0 -0
  456. package/dist/voice-packs/sanguo/end.MP3 +0 -0
  457. package/dist/voice-packs/sanguo/pack.json +24 -0
  458. package/dist/voice-packs/sanguo/plan.MP3 +0 -0
  459. package/electron/diag.js +110 -0
  460. package/electron/main.js +1432 -0
  461. package/electron/menu-model.js +107 -0
  462. package/electron/tab-bar.html +575 -0
  463. package/electron/tab-content-preload.js +66 -0
  464. package/electron/tab-preload.js +24 -0
  465. package/electron/tab-worker.js +142 -0
  466. package/electron/window-state.js +60 -0
  467. package/electron/workspace-preload.js +19 -0
  468. package/findcx.js +4 -0
  469. package/i18n.js +3 -423
  470. package/index.html +30 -0
  471. package/interceptor.js +144 -70
  472. package/jsconfig.json +25 -0
  473. package/lib/approval-reviewer.js +23 -0
  474. package/lib/appserver-bridge.js +1753 -237
  475. package/lib/ask-bridge.js +5 -5
  476. package/lib/cli-args.js +57 -0
  477. package/lib/codex-config.js +157 -18
  478. package/lib/context-watcher.js +6 -65
  479. package/lib/delta-reconstructor.js +74 -52
  480. package/lib/ensure-hooks.js +37 -30
  481. package/lib/interceptor-core.js +490 -43
  482. package/lib/log-watcher.js +3 -8
  483. package/lib/main-agent-entry.js +68 -0
  484. package/lib/openai-body.js +95 -0
  485. package/lib/otel-adapter.js +3 -2
  486. package/lib/otel-receiver.js +1 -2
  487. package/lib/perm-bridge.js +84 -44
  488. package/lib/proxy-env.js +45 -1
  489. package/lib/sdk-adapter.js +241 -51
  490. package/lib/sdk-manager.js +523 -370
  491. package/lib/skills-api.js +364 -0
  492. package/lib/stats-worker.js +21 -21
  493. package/lib/token-usage.js +29 -0
  494. package/lib/updater.js +3 -7
  495. package/package.json +27 -6
  496. package/plugins/.gitkeep +0 -0
  497. package/plugins/README.md +8 -0
  498. package/proxy.js +187 -241
  499. package/pty-manager.js +17 -1
  500. package/public/favicon.ico +0 -0
  501. package/public/voice-packs/default/A_choice_for_your_consideration_sir.MP3 +0 -0
  502. package/public/voice-packs/default/It_is_done_sir.MP3 +0 -0
  503. package/public/voice-packs/default/The_plan_awaits_your_approval_sir.MP3 +0 -0
  504. package/public/voice-packs/default/pack.json +24 -0
  505. package/public/voice-packs/sanguo/ask.MP3 +0 -0
  506. package/public/voice-packs/sanguo/end.MP3 +0 -0
  507. package/public/voice-packs/sanguo/pack.json +24 -0
  508. package/public/voice-packs/sanguo/plan.MP3 +0 -0
  509. package/scripts/check-no-control-bytes.js +130 -0
  510. package/scripts/check-sign-config.sh +85 -0
  511. package/scripts/gen-default-voicepack.js +176 -0
  512. package/scripts/mac-sign.sh +47 -0
  513. package/scripts/npm-pack-dry-run.mjs +20 -0
  514. package/server/lib/approval-modal-prefs.js +72 -0
  515. package/server/lib/context-rules.js +70 -0
  516. package/server/lib/delta-reconstructor.js +403 -0
  517. package/server/lib/tools-xml-formatter.js +91 -0
  518. package/server/lib/voice-pack-events.js +79 -0
  519. package/server.js +420 -86
  520. package/src/App.jsx +638 -0
  521. package/src/App.module.css +1088 -0
  522. package/src/AppBase.jsx +2803 -0
  523. package/src/Mobile.jsx +1348 -0
  524. package/src/components/approval/ApprovalModal.jsx +319 -0
  525. package/src/components/approval/ApprovalModal.module.css +160 -0
  526. package/src/components/approval/ToolApprovalPanel.jsx +111 -0
  527. package/src/components/approval/ToolApprovalPanel.module.css +250 -0
  528. package/src/components/chat/ApprovalPortalContext.js +26 -0
  529. package/src/components/chat/AskQuestionForm.jsx +279 -0
  530. package/src/components/chat/AskTimeoutCountdown.jsx +113 -0
  531. package/src/components/chat/ChatInputBar.jsx +584 -0
  532. package/src/components/chat/ChatInputBar.module.css +656 -0
  533. package/src/components/chat/ChatMessage.jsx +1587 -0
  534. package/src/components/chat/ChatMessage.module.css +1560 -0
  535. package/src/components/chat/ChatView.jsx +3533 -0
  536. package/src/components/chat/ChatView.module.css +418 -0
  537. package/src/components/chat/DiffView.jsx +111 -0
  538. package/src/components/chat/DiffView.module.css +141 -0
  539. package/src/components/chat/RoleFilterBar.jsx +35 -0
  540. package/src/components/chat/RoleFilterBar.module.css +62 -0
  541. package/src/components/chat/controllers/askFlowController.js +789 -0
  542. package/src/components/chat/controllers/permissionController.js +84 -0
  543. package/src/components/chat/controllers/ptyPromptController.js +166 -0
  544. package/src/components/chat/controllers/scrollHighlightController.js +50 -0
  545. package/src/components/chat/controllers/splitDragController.js +135 -0
  546. package/src/components/chat/controllers/toolFileChangeController.js +216 -0
  547. package/src/components/chat/interactionOwnership.js +106 -0
  548. package/src/components/chat/uploadDeferLogic.js +46 -0
  549. package/src/components/common/ConceptHelp.jsx +97 -0
  550. package/src/components/common/ConceptHelp.module.css +151 -0
  551. package/src/components/common/ConfirmRemoveButton.jsx +78 -0
  552. package/src/components/common/CountryFlag.jsx +105 -0
  553. package/src/components/common/CountryFlag.module.css +36 -0
  554. package/src/components/common/DingTalkIcon.jsx +20 -0
  555. package/src/components/common/DiscordIcon.jsx +21 -0
  556. package/src/components/common/FeishuIcon.jsx +23 -0
  557. package/src/components/common/HoverPreviewTip.jsx +62 -0
  558. package/src/components/common/HoverPreviewTip.module.css +21 -0
  559. package/src/components/common/ImageLightbox.jsx +244 -0
  560. package/src/components/common/ImageLightbox.module.css +120 -0
  561. package/src/components/common/MemoryDetailModal.jsx +75 -0
  562. package/src/components/common/OpenFolderIcon.jsx +53 -0
  563. package/src/components/common/OpenFolderIcon.module.css +7 -0
  564. package/src/components/common/PanelResizer.jsx +48 -0
  565. package/src/components/common/PanelResizer.module.css +11 -0
  566. package/src/components/common/QuickAutoApproveRows.jsx +66 -0
  567. package/src/components/common/RefreshIcon.jsx +50 -0
  568. package/src/components/common/RefreshIcon.module.css +26 -0
  569. package/src/components/common/SnapLineOverlay.jsx +47 -0
  570. package/src/components/common/SnapLineOverlay.module.css +31 -0
  571. package/src/components/common/ToolsHelp.jsx +113 -0
  572. package/src/components/common/ToolsHelp.module.css +85 -0
  573. package/src/components/common/WeComIcon.jsx +22 -0
  574. package/src/components/common/quickMenuIcons.jsx +99 -0
  575. package/src/components/common/sharedChrome.module.css +274 -0
  576. package/src/components/dashboard/AppHeader.jsx +2085 -0
  577. package/src/components/dashboard/AppHeader.module.css +676 -0
  578. package/src/components/dashboard/CachePopoverContent.jsx +538 -0
  579. package/src/components/dashboard/CachePopoverContent.module.css +191 -0
  580. package/src/components/dashboard/ContextTab.jsx +769 -0
  581. package/src/components/dashboard/ContextTab.module.css +565 -0
  582. package/src/components/dashboard/DetailPanel.jsx +813 -0
  583. package/src/components/dashboard/DetailPanel.module.css +513 -0
  584. package/src/components/dashboard/LiveTagPopover.jsx +89 -0
  585. package/src/components/dashboard/LiveTagPopover.module.css +67 -0
  586. package/src/components/dashboard/RequestList.jsx +146 -0
  587. package/src/components/dashboard/RequestList.module.css +146 -0
  588. package/src/components/dashboard/TeamSessionPanel.jsx +584 -0
  589. package/src/components/dashboard/TeamSessionPanel.module.css +457 -0
  590. package/src/components/dashboard/UsageWindowPill.jsx +166 -0
  591. package/src/components/dashboard/UsageWindowPill.module.css +140 -0
  592. package/src/components/dashboard/WorkflowRunsPanel.jsx +108 -0
  593. package/src/components/dashboard/WorkflowRunsPanel.module.css +72 -0
  594. package/src/components/dashboard/WorkspaceList.jsx +410 -0
  595. package/src/components/dashboard/WorkspaceList.module.css +254 -0
  596. package/src/components/files/FileContentView.jsx +1013 -0
  597. package/src/components/files/FileContentView.module.css +418 -0
  598. package/src/components/files/FileExplorer.jsx +937 -0
  599. package/src/components/files/FileExplorer.module.css +173 -0
  600. package/src/components/files/MdxEditorPanel.base.css +9 -0
  601. package/src/components/files/MdxEditorPanel.jsx +181 -0
  602. package/src/components/files/MdxEditorPanel.module.css +917 -0
  603. package/src/components/git/DiffMiniMap.jsx +98 -0
  604. package/src/components/git/DiffMiniMap.module.css +17 -0
  605. package/src/components/git/FullFileDiffView.jsx +265 -0
  606. package/src/components/git/FullFileDiffView.module.css +176 -0
  607. package/src/components/git/GitChanges.jsx +461 -0
  608. package/src/components/git/GitChanges.module.css +337 -0
  609. package/src/components/git/GitDiffView.jsx +161 -0
  610. package/src/components/git/GitDiffView.module.css +205 -0
  611. package/src/components/mobile/MobileDrawerCloseButton.jsx +18 -0
  612. package/src/components/mobile/MobileFileExplorer.jsx +231 -0
  613. package/src/components/mobile/MobileFileExplorer.module.css +171 -0
  614. package/src/components/mobile/MobileGitDiff.jsx +293 -0
  615. package/src/components/mobile/MobileGitDiff.module.css +317 -0
  616. package/src/components/mobile/MobileStats.jsx +211 -0
  617. package/src/components/mobile/MobileStats.module.css +75 -0
  618. package/src/components/settings/ImAppendSystemModal.jsx +104 -0
  619. package/src/components/settings/ImConversationModal.jsx +328 -0
  620. package/src/components/settings/ImConversationModal.module.css +49 -0
  621. package/src/components/settings/ImPlatformSettings.jsx +453 -0
  622. package/src/components/settings/ImPlatformSettings.module.css +110 -0
  623. package/src/components/settings/ImSkillsModal.jsx +94 -0
  624. package/src/components/settings/ImStatusChip.jsx +80 -0
  625. package/src/components/settings/ImStatusChip.module.css +36 -0
  626. package/src/components/settings/MessagingModal.jsx +65 -0
  627. package/src/components/settings/MessagingModal.module.css +95 -0
  628. package/src/components/settings/ModelPromptTabs.jsx +118 -0
  629. package/src/components/settings/PluginModal.jsx +423 -0
  630. package/src/components/settings/PluginModal.module.css +136 -0
  631. package/src/components/settings/PreferencesForm.jsx +104 -0
  632. package/src/components/settings/PreferencesForm.module.css +27 -0
  633. package/src/components/settings/ProcessModal.jsx +175 -0
  634. package/src/components/settings/ProcessModal.module.css +21 -0
  635. package/src/components/settings/ProjectAliasEditor.jsx +138 -0
  636. package/src/components/settings/ProjectAliasEditor.module.css +87 -0
  637. package/src/components/settings/ProjectPrefsManagerModal.jsx +123 -0
  638. package/src/components/settings/ProjectPrefsManagerModal.module.css +52 -0
  639. package/src/components/settings/ProxyModal.jsx +286 -0
  640. package/src/components/settings/ProxyModal.module.css +141 -0
  641. package/src/components/settings/SkillsManagerModal.jsx +143 -0
  642. package/src/components/settings/SkillsManagerModal.module.css +143 -0
  643. package/src/components/settings/SystemTextModal.jsx +312 -0
  644. package/src/components/settings/SystemTextModal.module.css +331 -0
  645. package/src/components/settings/VoicePackSettings.jsx +319 -0
  646. package/src/components/settings/VoicePackSettings.module.css +151 -0
  647. package/src/components/settings/imPlatforms.js +177 -0
  648. package/src/components/terminal/CustomUltraplanEditModal.jsx +227 -0
  649. package/src/components/terminal/CustomUltraplanEditModal.module.css +189 -0
  650. package/src/components/terminal/PresetExpertPickerModal.jsx +116 -0
  651. package/src/components/terminal/PresetExpertPickerModal.module.css +90 -0
  652. package/src/components/terminal/PresetModal.jsx +118 -0
  653. package/src/components/terminal/ScratchTerminal.jsx +359 -0
  654. package/src/components/terminal/TerminalPanel.jsx +2021 -0
  655. package/src/components/terminal/TerminalPanel.module.css +872 -0
  656. package/src/components/terminal/TerminalWsContext.jsx +226 -0
  657. package/src/components/terminal/UltraPlanModal.jsx +328 -0
  658. package/src/components/terminal/UltraPlanModal.module.css +527 -0
  659. package/src/components/terminal/UltraplanExpertManagerModal.jsx +114 -0
  660. package/src/components/terminal/UltraplanExpertManagerModal.module.css +91 -0
  661. package/src/components/terminal/UltraplanPanel.jsx +307 -0
  662. package/src/components/terminal/UltraplanPanel.module.css +540 -0
  663. package/src/components/terminal/terminalThemes.js +33 -0
  664. package/src/components/viewers/ImageViewer.jsx +288 -0
  665. package/src/components/viewers/ImageViewer.module.css +203 -0
  666. package/src/components/viewers/JsonViewer.jsx +40 -0
  667. package/src/components/viewers/JsonViewer.module.css +9 -0
  668. package/src/components/viewers/LogTable.jsx +131 -0
  669. package/src/components/viewers/MarkdownBlock.jsx +112 -0
  670. package/src/components/viewers/MarkdownBlock.module.css +157 -0
  671. package/src/components/viewers/ToolResultView.jsx +389 -0
  672. package/src/components/viewers/ToolResultView.module.css +108 -0
  673. package/src/components/viewers/WebResultsView.jsx +74 -0
  674. package/src/components/viewers/WebResultsView.module.css +85 -0
  675. package/src/components/viewers/WorkflowLiveHud.jsx +153 -0
  676. package/src/components/viewers/WorkflowLiveHud.module.css +256 -0
  677. package/src/components/viewers/WorkflowPanel.jsx +243 -0
  678. package/src/components/viewers/WorkflowPanel.module.css +265 -0
  679. package/src/components/viewers/WorkflowTimeline.jsx +83 -0
  680. package/src/components/viewers/WorkflowTimeline.module.css +116 -0
  681. package/src/contexts/SettingsContext.jsx +140 -0
  682. package/src/env.js +54 -0
  683. package/src/global.css +607 -0
  684. package/src/hooks/useMarkdownExport.js +146 -0
  685. package/src/hooks/useMermaidRender.js +193 -0
  686. package/src/hooks/useProjectAlias.js +29 -0
  687. package/src/hooks/useSessionStoragePersistedSet.js +41 -0
  688. package/src/i18n/mdxTranslations.js +472 -0
  689. package/src/i18n.js +12409 -0
  690. package/src/img/ccv-logo.png +0 -0
  691. package/src/img/codex/entrance.svg +7 -0
  692. package/src/img/codex/exit.svg +7 -0
  693. package/src/img/codex/orbiting.svg +7 -0
  694. package/src/img/codex/shimmer.svg +7 -0
  695. package/src/img/codex/thinking.svg +7 -0
  696. package/src/img/codex/tickle.svg +7 -0
  697. package/src/img/codex/waiting.svg +7 -0
  698. package/src/img/codex/writing.svg +7 -0
  699. package/src/img/default-avatar.svg +1 -0
  700. package/src/img/default-model-avatar.svg +1 -0
  701. package/src/img/loading-pet.gif +0 -0
  702. package/src/img/model-codex.svg +2 -0
  703. package/src/img/model-deepseek.svg +2 -0
  704. package/src/img/model-gemini.svg +2 -0
  705. package/src/img/model-glm.svg +2 -0
  706. package/src/img/model-kimi.svg +2 -0
  707. package/src/img/model-minimax.svg +2 -0
  708. package/src/img/model-openai.svg +2 -0
  709. package/src/img/model-qwen.svg +2 -0
  710. package/src/img/teammates/DESIGN.md +165 -0
  711. package/src/img/teammates/analyst.svg +32 -0
  712. package/src/img/teammates/auditor.svg +28 -0
  713. package/src/img/teammates/builder.svg +33 -0
  714. package/src/img/teammates/default.svg +25 -0
  715. package/src/img/teammates/designer.svg +25 -0
  716. package/src/img/teammates/executor.svg +31 -0
  717. package/src/img/teammates/expert.svg +30 -0
  718. package/src/img/teammates/explorer.svg +30 -0
  719. package/src/img/teammates/implementer.svg +34 -0
  720. package/src/img/teammates/investigator.svg +29 -0
  721. package/src/img/teammates/marvel/analyst.svg +26 -0
  722. package/src/img/teammates/marvel/auditor.svg +28 -0
  723. package/src/img/teammates/marvel/builder.svg +15 -0
  724. package/src/img/teammates/marvel/default.svg +25 -0
  725. package/src/img/teammates/marvel/designer.svg +21 -0
  726. package/src/img/teammates/marvel/executor.svg +25 -0
  727. package/src/img/teammates/marvel/expert.svg +31 -0
  728. package/src/img/teammates/marvel/explorer.svg +22 -0
  729. package/src/img/teammates/marvel/implementer.svg +30 -0
  730. package/src/img/teammates/marvel/investigator.svg +21 -0
  731. package/src/img/teammates/marvel/researcher.svg +30 -0
  732. package/src/img/teammates/marvel/reviewer.svg +21 -0
  733. package/src/img/teammates/marvel/scanner.svg +23 -0
  734. package/src/img/teammates/marvel/security.svg +30 -0
  735. package/src/img/teammates/marvel/tracer.svg +19 -0
  736. package/src/img/teammates/marvel/translator.svg +24 -0
  737. package/src/img/teammates/marvel/worker.svg +16 -0
  738. package/src/img/teammates/researcher.svg +35 -0
  739. package/src/img/teammates/reviewer.svg +23 -0
  740. package/src/img/teammates/scanner.svg +31 -0
  741. package/src/img/teammates/security.svg +31 -0
  742. package/src/img/teammates/tracer.svg +30 -0
  743. package/src/img/teammates/translator.svg +32 -0
  744. package/src/img/teammates/worker.svg +29 -0
  745. package/src/main.jsx +30 -0
  746. package/src/tokenInterceptor.js +60 -0
  747. package/src/utils/apiUrl.js +26 -0
  748. package/src/utils/approvalReviewerOptions.js +27 -0
  749. package/src/utils/askFallback.js +21 -0
  750. package/src/utils/askOptionDesc.js +55 -0
  751. package/src/utils/askPortalMatcher.js +54 -0
  752. package/src/utils/autoApproveOptions.js +23 -0
  753. package/src/utils/avatarAnimationPostPass.js +46 -0
  754. package/src/utils/builtinPresets.js +18 -0
  755. package/src/utils/clearCheckpoint.js +154 -0
  756. package/src/utils/commandValidator.js +45 -0
  757. package/src/utils/contentFilter.js +675 -0
  758. package/src/utils/contextRaw.js +17 -0
  759. package/src/utils/contextSidebarNavigation.js +16 -0
  760. package/src/utils/conversationEntryNormalize.js +497 -0
  761. package/src/utils/displayScaleHelper.js +47 -0
  762. package/src/utils/entry-slim.js +594 -0
  763. package/src/utils/entryCache.js +179 -0
  764. package/src/utils/errorReport.js +40 -0
  765. package/src/utils/fileExpandedPathsStorage.js +70 -0
  766. package/src/utils/fileIcons.jsx +36 -0
  767. package/src/utils/fileOpen.js +37 -0
  768. package/src/utils/formatters.js +48 -0
  769. package/src/utils/gitApi.js +50 -0
  770. package/src/utils/gitTreeBuilder.js +19 -0
  771. package/src/utils/helpers.js +462 -0
  772. package/src/utils/identityHeal.js +83 -0
  773. package/src/utils/imOrigin.js +24 -0
  774. package/src/utils/imTr.js +7 -0
  775. package/src/utils/imageCompress.js +83 -0
  776. package/src/utils/imageDownscale.js +28 -0
  777. package/src/utils/imageResize.js +112 -0
  778. package/src/utils/ingestPipeline.js +47 -0
  779. package/src/utils/lazyWithReload.js +53 -0
  780. package/src/utils/markdown.js +30 -0
  781. package/src/utils/markdownIncremental.js +39 -0
  782. package/src/utils/markdownProfiler.js +113 -0
  783. package/src/utils/mdExtensionDetect.js +64 -0
  784. package/src/utils/memoryLinkParser.js +44 -0
  785. package/src/utils/modalMask.js +15 -0
  786. package/src/utils/monotime.js +6 -0
  787. package/src/utils/pinnedMenu.js +55 -0
  788. package/src/utils/presetShortcuts.js +14 -0
  789. package/src/utils/projectAlias.js +135 -0
  790. package/src/utils/promptClassifier.js +111 -0
  791. package/src/utils/promptDetect.js +196 -0
  792. package/src/utils/promptNav.js +60 -0
  793. package/src/utils/ptyChunkBuilder.js +251 -0
  794. package/src/utils/quickMenuHoverIntent.js +35 -0
  795. package/src/utils/rateLimitParser.js +249 -0
  796. package/src/utils/readResultPool.js +106 -0
  797. package/src/utils/refreshCachedItemProp.js +32 -0
  798. package/src/utils/requestTools.js +19 -0
  799. package/src/utils/requestType.js +284 -0
  800. package/src/utils/resizeCalc.js +21 -0
  801. package/src/utils/resolveLocalized.js +17 -0
  802. package/src/utils/seqResourceLoaders.js +79 -0
  803. package/src/utils/sessionManager.js +694 -0
  804. package/src/utils/sessionMerge.js +290 -0
  805. package/src/utils/skillModalController.js +111 -0
  806. package/src/utils/skillsParser.js +116 -0
  807. package/src/utils/slashCommandLabels.js +80 -0
  808. package/src/utils/splitDragCalc.js +73 -0
  809. package/src/utils/stickyBottomController.js +643 -0
  810. package/src/utils/svgSanitize.js +48 -0
  811. package/src/utils/systemTags.js +47 -0
  812. package/src/utils/tCodex.js +20 -0
  813. package/src/utils/teamModalBuilder.js +347 -0
  814. package/src/utils/teamSessionParser.js +186 -0
  815. package/src/utils/teammateAvatars.js +194 -0
  816. package/src/utils/teammateDetector.js +106 -0
  817. package/src/utils/termDiag.js +114 -0
  818. package/src/utils/terminalClipboard.js +117 -0
  819. package/src/utils/terminalWriteQueue.js +398 -0
  820. package/src/utils/thinkingMerge.js +49 -0
  821. package/src/utils/tokenUsage.js +1 -0
  822. package/src/utils/toolCatalog.js +31 -0
  823. package/src/utils/toolNameAliases.js +13 -0
  824. package/src/utils/toolResultBuilder.js +312 -0
  825. package/src/utils/toolResultClassifier.js +16 -0
  826. package/src/utils/toolResultCore.js +161 -0
  827. package/src/utils/toolsDiff.js +44 -0
  828. package/src/utils/toolsXmlFormatter.js +3 -0
  829. package/src/utils/ultraplanController.js +109 -0
  830. package/src/utils/ultraplanExperts.js +86 -0
  831. package/src/utils/ultraplanTemplates.js +152 -0
  832. package/src/utils/userImageRefs.js +49 -0
  833. package/src/utils/voicePackPlayer.js +233 -0
  834. package/src/utils/webResultGrouping.js +111 -0
  835. package/src/utils/workflowFormat.js +52 -0
  836. package/src/utils/workflowRuns.js +118 -0
  837. package/src/utils/workflowStore.js +94 -0
  838. package/vite.config.js +106 -0
  839. package/concepts/ar/CacheRebuild.md +0 -36
  840. package/concepts/ar/KVCacheContent.md +0 -49
  841. package/concepts/ar/Tool-Agent.md +0 -125
  842. package/concepts/ar/Tool-AskUserQuestion.md +0 -75
  843. package/concepts/ar/Tool-Bash.md +0 -167
  844. package/concepts/ar/Tool-Edit.md +0 -46
  845. package/concepts/ar/Tool-EnterPlanMode.md +0 -128
  846. package/concepts/ar/Tool-EnterWorktree.md +0 -56
  847. package/concepts/ar/Tool-ExitPlanMode.md +0 -62
  848. package/concepts/ar/Tool-Glob.md +0 -39
  849. package/concepts/ar/Tool-Grep.md +0 -57
  850. package/concepts/ar/Tool-NotebookEdit.md +0 -33
  851. package/concepts/ar/Tool-Read.md +0 -56
  852. package/concepts/ar/Tool-SendMessage.md +0 -41
  853. package/concepts/ar/Tool-Skill.md +0 -56
  854. package/concepts/ar/Tool-Task.md +0 -51
  855. package/concepts/ar/Tool-TaskCreate.md +0 -78
  856. package/concepts/ar/Tool-TaskGet.md +0 -56
  857. package/concepts/ar/Tool-TaskList.md +0 -56
  858. package/concepts/ar/Tool-TaskOutput.md +0 -40
  859. package/concepts/ar/Tool-TaskStop.md +0 -32
  860. package/concepts/ar/Tool-TaskUpdate.md +0 -123
  861. package/concepts/ar/Tool-TeamCreate.md +0 -38
  862. package/concepts/ar/Tool-TeamDelete.md +0 -30
  863. package/concepts/ar/Tool-WebFetch.md +0 -55
  864. package/concepts/ar/Tool-WebSearch.md +0 -58
  865. package/concepts/ar/Tool-Write.md +0 -39
  866. package/concepts/ar/Tool-executeCode.md +0 -41
  867. package/concepts/ar/Tool-getDiagnostics.md +0 -32
  868. package/concepts/ar/Tools.md +0 -67
  869. package/concepts/da/CacheRebuild.md +0 -36
  870. package/concepts/da/KVCacheContent.md +0 -49
  871. package/concepts/da/Tool-Agent.md +0 -125
  872. package/concepts/da/Tool-AskUserQuestion.md +0 -75
  873. package/concepts/da/Tool-Bash.md +0 -167
  874. package/concepts/da/Tool-Edit.md +0 -46
  875. package/concepts/da/Tool-EnterPlanMode.md +0 -128
  876. package/concepts/da/Tool-EnterWorktree.md +0 -56
  877. package/concepts/da/Tool-ExitPlanMode.md +0 -62
  878. package/concepts/da/Tool-Glob.md +0 -39
  879. package/concepts/da/Tool-Grep.md +0 -57
  880. package/concepts/da/Tool-NotebookEdit.md +0 -33
  881. package/concepts/da/Tool-Read.md +0 -56
  882. package/concepts/da/Tool-SendMessage.md +0 -41
  883. package/concepts/da/Tool-Skill.md +0 -56
  884. package/concepts/da/Tool-Task.md +0 -51
  885. package/concepts/da/Tool-TaskCreate.md +0 -78
  886. package/concepts/da/Tool-TaskGet.md +0 -56
  887. package/concepts/da/Tool-TaskList.md +0 -56
  888. package/concepts/da/Tool-TaskOutput.md +0 -40
  889. package/concepts/da/Tool-TaskStop.md +0 -32
  890. package/concepts/da/Tool-TaskUpdate.md +0 -123
  891. package/concepts/da/Tool-TeamCreate.md +0 -38
  892. package/concepts/da/Tool-TeamDelete.md +0 -30
  893. package/concepts/da/Tool-WebFetch.md +0 -55
  894. package/concepts/da/Tool-WebSearch.md +0 -58
  895. package/concepts/da/Tool-Write.md +0 -39
  896. package/concepts/da/Tool-executeCode.md +0 -41
  897. package/concepts/da/Tool-getDiagnostics.md +0 -32
  898. package/concepts/da/Tools.md +0 -67
  899. package/concepts/de/CacheRebuild.md +0 -36
  900. package/concepts/de/KVCacheContent.md +0 -49
  901. package/concepts/de/Tool-Agent.md +0 -125
  902. package/concepts/de/Tool-AskUserQuestion.md +0 -75
  903. package/concepts/de/Tool-Bash.md +0 -167
  904. package/concepts/de/Tool-Edit.md +0 -46
  905. package/concepts/de/Tool-EnterPlanMode.md +0 -128
  906. package/concepts/de/Tool-EnterWorktree.md +0 -56
  907. package/concepts/de/Tool-ExitPlanMode.md +0 -62
  908. package/concepts/de/Tool-Glob.md +0 -39
  909. package/concepts/de/Tool-Grep.md +0 -57
  910. package/concepts/de/Tool-NotebookEdit.md +0 -33
  911. package/concepts/de/Tool-Read.md +0 -56
  912. package/concepts/de/Tool-SendMessage.md +0 -41
  913. package/concepts/de/Tool-Skill.md +0 -56
  914. package/concepts/de/Tool-Task.md +0 -51
  915. package/concepts/de/Tool-TaskCreate.md +0 -78
  916. package/concepts/de/Tool-TaskGet.md +0 -56
  917. package/concepts/de/Tool-TaskList.md +0 -56
  918. package/concepts/de/Tool-TaskOutput.md +0 -40
  919. package/concepts/de/Tool-TaskStop.md +0 -32
  920. package/concepts/de/Tool-TaskUpdate.md +0 -123
  921. package/concepts/de/Tool-TeamCreate.md +0 -38
  922. package/concepts/de/Tool-TeamDelete.md +0 -30
  923. package/concepts/de/Tool-WebFetch.md +0 -55
  924. package/concepts/de/Tool-WebSearch.md +0 -58
  925. package/concepts/de/Tool-Write.md +0 -39
  926. package/concepts/de/Tool-executeCode.md +0 -41
  927. package/concepts/de/Tool-getDiagnostics.md +0 -32
  928. package/concepts/de/Tools.md +0 -67
  929. package/concepts/en/CacheRebuild.md +0 -36
  930. package/concepts/en/KVCacheContent.md +0 -49
  931. package/concepts/en/Tool-Agent.md +0 -125
  932. package/concepts/en/Tool-AskUserQuestion.md +0 -75
  933. package/concepts/en/Tool-Bash.md +0 -167
  934. package/concepts/en/Tool-Edit.md +0 -46
  935. package/concepts/en/Tool-EnterPlanMode.md +0 -128
  936. package/concepts/en/Tool-EnterWorktree.md +0 -56
  937. package/concepts/en/Tool-ExitPlanMode.md +0 -62
  938. package/concepts/en/Tool-Glob.md +0 -39
  939. package/concepts/en/Tool-Grep.md +0 -57
  940. package/concepts/en/Tool-NotebookEdit.md +0 -33
  941. package/concepts/en/Tool-Read.md +0 -56
  942. package/concepts/en/Tool-SendMessage.md +0 -41
  943. package/concepts/en/Tool-Skill.md +0 -56
  944. package/concepts/en/Tool-Task.md +0 -51
  945. package/concepts/en/Tool-TaskCreate.md +0 -78
  946. package/concepts/en/Tool-TaskGet.md +0 -56
  947. package/concepts/en/Tool-TaskList.md +0 -56
  948. package/concepts/en/Tool-TaskOutput.md +0 -40
  949. package/concepts/en/Tool-TaskStop.md +0 -32
  950. package/concepts/en/Tool-TaskUpdate.md +0 -123
  951. package/concepts/en/Tool-TeamCreate.md +0 -38
  952. package/concepts/en/Tool-TeamDelete.md +0 -30
  953. package/concepts/en/Tool-WebFetch.md +0 -55
  954. package/concepts/en/Tool-WebSearch.md +0 -58
  955. package/concepts/en/Tool-Write.md +0 -39
  956. package/concepts/en/Tool-executeCode.md +0 -41
  957. package/concepts/en/Tool-getDiagnostics.md +0 -32
  958. package/concepts/es/CacheRebuild.md +0 -36
  959. package/concepts/es/KVCacheContent.md +0 -49
  960. package/concepts/es/Tool-Agent.md +0 -125
  961. package/concepts/es/Tool-AskUserQuestion.md +0 -75
  962. package/concepts/es/Tool-Bash.md +0 -167
  963. package/concepts/es/Tool-Edit.md +0 -46
  964. package/concepts/es/Tool-EnterPlanMode.md +0 -128
  965. package/concepts/es/Tool-EnterWorktree.md +0 -56
  966. package/concepts/es/Tool-ExitPlanMode.md +0 -62
  967. package/concepts/es/Tool-Glob.md +0 -39
  968. package/concepts/es/Tool-Grep.md +0 -57
  969. package/concepts/es/Tool-NotebookEdit.md +0 -33
  970. package/concepts/es/Tool-Read.md +0 -56
  971. package/concepts/es/Tool-SendMessage.md +0 -41
  972. package/concepts/es/Tool-Skill.md +0 -56
  973. package/concepts/es/Tool-Task.md +0 -51
  974. package/concepts/es/Tool-TaskCreate.md +0 -78
  975. package/concepts/es/Tool-TaskGet.md +0 -56
  976. package/concepts/es/Tool-TaskList.md +0 -56
  977. package/concepts/es/Tool-TaskOutput.md +0 -40
  978. package/concepts/es/Tool-TaskStop.md +0 -32
  979. package/concepts/es/Tool-TaskUpdate.md +0 -123
  980. package/concepts/es/Tool-TeamCreate.md +0 -38
  981. package/concepts/es/Tool-TeamDelete.md +0 -30
  982. package/concepts/es/Tool-WebFetch.md +0 -55
  983. package/concepts/es/Tool-WebSearch.md +0 -58
  984. package/concepts/es/Tool-Write.md +0 -39
  985. package/concepts/es/Tool-executeCode.md +0 -41
  986. package/concepts/es/Tool-getDiagnostics.md +0 -32
  987. package/concepts/es/Tools.md +0 -67
  988. package/concepts/fr/CacheRebuild.md +0 -36
  989. package/concepts/fr/KVCacheContent.md +0 -49
  990. package/concepts/fr/Tool-Agent.md +0 -125
  991. package/concepts/fr/Tool-AskUserQuestion.md +0 -75
  992. package/concepts/fr/Tool-Bash.md +0 -167
  993. package/concepts/fr/Tool-Edit.md +0 -46
  994. package/concepts/fr/Tool-EnterPlanMode.md +0 -128
  995. package/concepts/fr/Tool-EnterWorktree.md +0 -56
  996. package/concepts/fr/Tool-ExitPlanMode.md +0 -62
  997. package/concepts/fr/Tool-Glob.md +0 -39
  998. package/concepts/fr/Tool-Grep.md +0 -57
  999. package/concepts/fr/Tool-NotebookEdit.md +0 -33
  1000. package/concepts/fr/Tool-Read.md +0 -56
  1001. package/concepts/fr/Tool-SendMessage.md +0 -41
  1002. package/concepts/fr/Tool-Skill.md +0 -56
  1003. package/concepts/fr/Tool-Task.md +0 -51
  1004. package/concepts/fr/Tool-TaskCreate.md +0 -78
  1005. package/concepts/fr/Tool-TaskGet.md +0 -56
  1006. package/concepts/fr/Tool-TaskList.md +0 -56
  1007. package/concepts/fr/Tool-TaskOutput.md +0 -40
  1008. package/concepts/fr/Tool-TaskStop.md +0 -32
  1009. package/concepts/fr/Tool-TaskUpdate.md +0 -123
  1010. package/concepts/fr/Tool-TeamCreate.md +0 -38
  1011. package/concepts/fr/Tool-TeamDelete.md +0 -30
  1012. package/concepts/fr/Tool-WebFetch.md +0 -55
  1013. package/concepts/fr/Tool-WebSearch.md +0 -58
  1014. package/concepts/fr/Tool-Write.md +0 -39
  1015. package/concepts/fr/Tool-executeCode.md +0 -41
  1016. package/concepts/fr/Tool-getDiagnostics.md +0 -32
  1017. package/concepts/fr/Tools.md +0 -67
  1018. package/concepts/it/CacheRebuild.md +0 -36
  1019. package/concepts/it/KVCacheContent.md +0 -49
  1020. package/concepts/it/Tool-Agent.md +0 -125
  1021. package/concepts/it/Tool-AskUserQuestion.md +0 -75
  1022. package/concepts/it/Tool-Bash.md +0 -167
  1023. package/concepts/it/Tool-Edit.md +0 -46
  1024. package/concepts/it/Tool-EnterPlanMode.md +0 -128
  1025. package/concepts/it/Tool-EnterWorktree.md +0 -56
  1026. package/concepts/it/Tool-ExitPlanMode.md +0 -62
  1027. package/concepts/it/Tool-Glob.md +0 -39
  1028. package/concepts/it/Tool-Grep.md +0 -57
  1029. package/concepts/it/Tool-NotebookEdit.md +0 -33
  1030. package/concepts/it/Tool-Read.md +0 -56
  1031. package/concepts/it/Tool-SendMessage.md +0 -41
  1032. package/concepts/it/Tool-Skill.md +0 -56
  1033. package/concepts/it/Tool-Task.md +0 -51
  1034. package/concepts/it/Tool-TaskCreate.md +0 -78
  1035. package/concepts/it/Tool-TaskGet.md +0 -56
  1036. package/concepts/it/Tool-TaskList.md +0 -56
  1037. package/concepts/it/Tool-TaskOutput.md +0 -40
  1038. package/concepts/it/Tool-TaskStop.md +0 -32
  1039. package/concepts/it/Tool-TaskUpdate.md +0 -123
  1040. package/concepts/it/Tool-TeamCreate.md +0 -38
  1041. package/concepts/it/Tool-TeamDelete.md +0 -30
  1042. package/concepts/it/Tool-WebFetch.md +0 -55
  1043. package/concepts/it/Tool-WebSearch.md +0 -58
  1044. package/concepts/it/Tool-Write.md +0 -39
  1045. package/concepts/it/Tool-executeCode.md +0 -41
  1046. package/concepts/it/Tool-getDiagnostics.md +0 -32
  1047. package/concepts/it/Tools.md +0 -67
  1048. package/concepts/ja/CacheRebuild.md +0 -36
  1049. package/concepts/ja/KVCacheContent.md +0 -49
  1050. package/concepts/ja/Tool-Agent.md +0 -125
  1051. package/concepts/ja/Tool-AskUserQuestion.md +0 -75
  1052. package/concepts/ja/Tool-Bash.md +0 -167
  1053. package/concepts/ja/Tool-Edit.md +0 -46
  1054. package/concepts/ja/Tool-EnterPlanMode.md +0 -128
  1055. package/concepts/ja/Tool-EnterWorktree.md +0 -56
  1056. package/concepts/ja/Tool-ExitPlanMode.md +0 -62
  1057. package/concepts/ja/Tool-Glob.md +0 -39
  1058. package/concepts/ja/Tool-Grep.md +0 -57
  1059. package/concepts/ja/Tool-NotebookEdit.md +0 -33
  1060. package/concepts/ja/Tool-Read.md +0 -56
  1061. package/concepts/ja/Tool-SendMessage.md +0 -41
  1062. package/concepts/ja/Tool-Skill.md +0 -56
  1063. package/concepts/ja/Tool-Task.md +0 -51
  1064. package/concepts/ja/Tool-TaskCreate.md +0 -78
  1065. package/concepts/ja/Tool-TaskGet.md +0 -56
  1066. package/concepts/ja/Tool-TaskList.md +0 -56
  1067. package/concepts/ja/Tool-TaskOutput.md +0 -40
  1068. package/concepts/ja/Tool-TaskStop.md +0 -32
  1069. package/concepts/ja/Tool-TaskUpdate.md +0 -123
  1070. package/concepts/ja/Tool-TeamCreate.md +0 -38
  1071. package/concepts/ja/Tool-TeamDelete.md +0 -30
  1072. package/concepts/ja/Tool-WebFetch.md +0 -55
  1073. package/concepts/ja/Tool-WebSearch.md +0 -58
  1074. package/concepts/ja/Tool-Write.md +0 -39
  1075. package/concepts/ja/Tool-executeCode.md +0 -41
  1076. package/concepts/ja/Tool-getDiagnostics.md +0 -32
  1077. package/concepts/ja/Tools.md +0 -67
  1078. package/concepts/ko/CacheRebuild.md +0 -36
  1079. package/concepts/ko/KVCacheContent.md +0 -49
  1080. package/concepts/ko/Tool-Agent.md +0 -125
  1081. package/concepts/ko/Tool-AskUserQuestion.md +0 -75
  1082. package/concepts/ko/Tool-Bash.md +0 -167
  1083. package/concepts/ko/Tool-Edit.md +0 -46
  1084. package/concepts/ko/Tool-EnterPlanMode.md +0 -128
  1085. package/concepts/ko/Tool-EnterWorktree.md +0 -56
  1086. package/concepts/ko/Tool-ExitPlanMode.md +0 -62
  1087. package/concepts/ko/Tool-Glob.md +0 -39
  1088. package/concepts/ko/Tool-Grep.md +0 -57
  1089. package/concepts/ko/Tool-NotebookEdit.md +0 -33
  1090. package/concepts/ko/Tool-Read.md +0 -56
  1091. package/concepts/ko/Tool-SendMessage.md +0 -41
  1092. package/concepts/ko/Tool-Skill.md +0 -56
  1093. package/concepts/ko/Tool-Task.md +0 -51
  1094. package/concepts/ko/Tool-TaskCreate.md +0 -78
  1095. package/concepts/ko/Tool-TaskGet.md +0 -56
  1096. package/concepts/ko/Tool-TaskList.md +0 -56
  1097. package/concepts/ko/Tool-TaskOutput.md +0 -40
  1098. package/concepts/ko/Tool-TaskStop.md +0 -32
  1099. package/concepts/ko/Tool-TaskUpdate.md +0 -123
  1100. package/concepts/ko/Tool-TeamCreate.md +0 -38
  1101. package/concepts/ko/Tool-TeamDelete.md +0 -30
  1102. package/concepts/ko/Tool-WebFetch.md +0 -55
  1103. package/concepts/ko/Tool-WebSearch.md +0 -58
  1104. package/concepts/ko/Tool-Write.md +0 -39
  1105. package/concepts/ko/Tool-executeCode.md +0 -41
  1106. package/concepts/ko/Tool-getDiagnostics.md +0 -32
  1107. package/concepts/ko/Tools.md +0 -67
  1108. package/concepts/no/CacheRebuild.md +0 -36
  1109. package/concepts/no/KVCacheContent.md +0 -49
  1110. package/concepts/no/Tool-Agent.md +0 -125
  1111. package/concepts/no/Tool-AskUserQuestion.md +0 -75
  1112. package/concepts/no/Tool-Bash.md +0 -167
  1113. package/concepts/no/Tool-Edit.md +0 -46
  1114. package/concepts/no/Tool-EnterPlanMode.md +0 -128
  1115. package/concepts/no/Tool-EnterWorktree.md +0 -56
  1116. package/concepts/no/Tool-ExitPlanMode.md +0 -62
  1117. package/concepts/no/Tool-Glob.md +0 -39
  1118. package/concepts/no/Tool-Grep.md +0 -57
  1119. package/concepts/no/Tool-NotebookEdit.md +0 -33
  1120. package/concepts/no/Tool-Read.md +0 -56
  1121. package/concepts/no/Tool-SendMessage.md +0 -41
  1122. package/concepts/no/Tool-Skill.md +0 -56
  1123. package/concepts/no/Tool-Task.md +0 -51
  1124. package/concepts/no/Tool-TaskCreate.md +0 -78
  1125. package/concepts/no/Tool-TaskGet.md +0 -56
  1126. package/concepts/no/Tool-TaskList.md +0 -56
  1127. package/concepts/no/Tool-TaskOutput.md +0 -40
  1128. package/concepts/no/Tool-TaskStop.md +0 -32
  1129. package/concepts/no/Tool-TaskUpdate.md +0 -123
  1130. package/concepts/no/Tool-TeamCreate.md +0 -38
  1131. package/concepts/no/Tool-TeamDelete.md +0 -30
  1132. package/concepts/no/Tool-WebFetch.md +0 -55
  1133. package/concepts/no/Tool-WebSearch.md +0 -58
  1134. package/concepts/no/Tool-Write.md +0 -39
  1135. package/concepts/no/Tool-executeCode.md +0 -41
  1136. package/concepts/no/Tool-getDiagnostics.md +0 -32
  1137. package/concepts/no/Tools.md +0 -67
  1138. package/concepts/pl/CacheRebuild.md +0 -36
  1139. package/concepts/pl/KVCacheContent.md +0 -49
  1140. package/concepts/pl/Tool-Agent.md +0 -125
  1141. package/concepts/pl/Tool-AskUserQuestion.md +0 -75
  1142. package/concepts/pl/Tool-Bash.md +0 -167
  1143. package/concepts/pl/Tool-Edit.md +0 -46
  1144. package/concepts/pl/Tool-EnterPlanMode.md +0 -128
  1145. package/concepts/pl/Tool-EnterWorktree.md +0 -56
  1146. package/concepts/pl/Tool-ExitPlanMode.md +0 -62
  1147. package/concepts/pl/Tool-Glob.md +0 -39
  1148. package/concepts/pl/Tool-Grep.md +0 -57
  1149. package/concepts/pl/Tool-NotebookEdit.md +0 -33
  1150. package/concepts/pl/Tool-Read.md +0 -56
  1151. package/concepts/pl/Tool-SendMessage.md +0 -41
  1152. package/concepts/pl/Tool-Skill.md +0 -56
  1153. package/concepts/pl/Tool-Task.md +0 -51
  1154. package/concepts/pl/Tool-TaskCreate.md +0 -78
  1155. package/concepts/pl/Tool-TaskGet.md +0 -56
  1156. package/concepts/pl/Tool-TaskList.md +0 -56
  1157. package/concepts/pl/Tool-TaskOutput.md +0 -40
  1158. package/concepts/pl/Tool-TaskStop.md +0 -32
  1159. package/concepts/pl/Tool-TaskUpdate.md +0 -123
  1160. package/concepts/pl/Tool-TeamCreate.md +0 -38
  1161. package/concepts/pl/Tool-TeamDelete.md +0 -30
  1162. package/concepts/pl/Tool-WebFetch.md +0 -55
  1163. package/concepts/pl/Tool-WebSearch.md +0 -58
  1164. package/concepts/pl/Tool-Write.md +0 -39
  1165. package/concepts/pl/Tool-executeCode.md +0 -41
  1166. package/concepts/pl/Tool-getDiagnostics.md +0 -32
  1167. package/concepts/pl/Tools.md +0 -67
  1168. package/concepts/pt-BR/CacheRebuild.md +0 -36
  1169. package/concepts/pt-BR/KVCacheContent.md +0 -49
  1170. package/concepts/pt-BR/Tool-Agent.md +0 -125
  1171. package/concepts/pt-BR/Tool-AskUserQuestion.md +0 -75
  1172. package/concepts/pt-BR/Tool-Bash.md +0 -167
  1173. package/concepts/pt-BR/Tool-Edit.md +0 -46
  1174. package/concepts/pt-BR/Tool-EnterPlanMode.md +0 -128
  1175. package/concepts/pt-BR/Tool-EnterWorktree.md +0 -56
  1176. package/concepts/pt-BR/Tool-ExitPlanMode.md +0 -62
  1177. package/concepts/pt-BR/Tool-Glob.md +0 -39
  1178. package/concepts/pt-BR/Tool-Grep.md +0 -57
  1179. package/concepts/pt-BR/Tool-NotebookEdit.md +0 -33
  1180. package/concepts/pt-BR/Tool-Read.md +0 -56
  1181. package/concepts/pt-BR/Tool-SendMessage.md +0 -41
  1182. package/concepts/pt-BR/Tool-Skill.md +0 -56
  1183. package/concepts/pt-BR/Tool-Task.md +0 -51
  1184. package/concepts/pt-BR/Tool-TaskCreate.md +0 -78
  1185. package/concepts/pt-BR/Tool-TaskGet.md +0 -56
  1186. package/concepts/pt-BR/Tool-TaskList.md +0 -56
  1187. package/concepts/pt-BR/Tool-TaskOutput.md +0 -40
  1188. package/concepts/pt-BR/Tool-TaskStop.md +0 -32
  1189. package/concepts/pt-BR/Tool-TaskUpdate.md +0 -123
  1190. package/concepts/pt-BR/Tool-TeamCreate.md +0 -38
  1191. package/concepts/pt-BR/Tool-TeamDelete.md +0 -30
  1192. package/concepts/pt-BR/Tool-WebFetch.md +0 -55
  1193. package/concepts/pt-BR/Tool-WebSearch.md +0 -58
  1194. package/concepts/pt-BR/Tool-Write.md +0 -39
  1195. package/concepts/pt-BR/Tool-executeCode.md +0 -41
  1196. package/concepts/pt-BR/Tool-getDiagnostics.md +0 -32
  1197. package/concepts/pt-BR/Tools.md +0 -67
  1198. package/concepts/ru/CacheRebuild.md +0 -36
  1199. package/concepts/ru/KVCacheContent.md +0 -49
  1200. package/concepts/ru/Tool-Agent.md +0 -125
  1201. package/concepts/ru/Tool-AskUserQuestion.md +0 -75
  1202. package/concepts/ru/Tool-Bash.md +0 -167
  1203. package/concepts/ru/Tool-Edit.md +0 -46
  1204. package/concepts/ru/Tool-EnterPlanMode.md +0 -128
  1205. package/concepts/ru/Tool-EnterWorktree.md +0 -56
  1206. package/concepts/ru/Tool-ExitPlanMode.md +0 -62
  1207. package/concepts/ru/Tool-Glob.md +0 -39
  1208. package/concepts/ru/Tool-Grep.md +0 -57
  1209. package/concepts/ru/Tool-NotebookEdit.md +0 -33
  1210. package/concepts/ru/Tool-Read.md +0 -56
  1211. package/concepts/ru/Tool-SendMessage.md +0 -41
  1212. package/concepts/ru/Tool-Skill.md +0 -56
  1213. package/concepts/ru/Tool-Task.md +0 -51
  1214. package/concepts/ru/Tool-TaskCreate.md +0 -78
  1215. package/concepts/ru/Tool-TaskGet.md +0 -56
  1216. package/concepts/ru/Tool-TaskList.md +0 -56
  1217. package/concepts/ru/Tool-TaskOutput.md +0 -40
  1218. package/concepts/ru/Tool-TaskStop.md +0 -32
  1219. package/concepts/ru/Tool-TaskUpdate.md +0 -123
  1220. package/concepts/ru/Tool-TeamCreate.md +0 -38
  1221. package/concepts/ru/Tool-TeamDelete.md +0 -30
  1222. package/concepts/ru/Tool-WebFetch.md +0 -55
  1223. package/concepts/ru/Tool-WebSearch.md +0 -58
  1224. package/concepts/ru/Tool-Write.md +0 -39
  1225. package/concepts/ru/Tool-executeCode.md +0 -41
  1226. package/concepts/ru/Tool-getDiagnostics.md +0 -32
  1227. package/concepts/ru/Tools.md +0 -67
  1228. package/concepts/th/CacheRebuild.md +0 -36
  1229. package/concepts/th/KVCacheContent.md +0 -49
  1230. package/concepts/th/Tool-Agent.md +0 -125
  1231. package/concepts/th/Tool-AskUserQuestion.md +0 -75
  1232. package/concepts/th/Tool-Bash.md +0 -167
  1233. package/concepts/th/Tool-Edit.md +0 -46
  1234. package/concepts/th/Tool-EnterPlanMode.md +0 -128
  1235. package/concepts/th/Tool-EnterWorktree.md +0 -56
  1236. package/concepts/th/Tool-ExitPlanMode.md +0 -62
  1237. package/concepts/th/Tool-Glob.md +0 -39
  1238. package/concepts/th/Tool-Grep.md +0 -57
  1239. package/concepts/th/Tool-NotebookEdit.md +0 -33
  1240. package/concepts/th/Tool-Read.md +0 -56
  1241. package/concepts/th/Tool-SendMessage.md +0 -41
  1242. package/concepts/th/Tool-Skill.md +0 -56
  1243. package/concepts/th/Tool-Task.md +0 -51
  1244. package/concepts/th/Tool-TaskCreate.md +0 -78
  1245. package/concepts/th/Tool-TaskGet.md +0 -56
  1246. package/concepts/th/Tool-TaskList.md +0 -56
  1247. package/concepts/th/Tool-TaskOutput.md +0 -40
  1248. package/concepts/th/Tool-TaskStop.md +0 -32
  1249. package/concepts/th/Tool-TaskUpdate.md +0 -123
  1250. package/concepts/th/Tool-TeamCreate.md +0 -38
  1251. package/concepts/th/Tool-TeamDelete.md +0 -30
  1252. package/concepts/th/Tool-WebFetch.md +0 -55
  1253. package/concepts/th/Tool-WebSearch.md +0 -58
  1254. package/concepts/th/Tool-Write.md +0 -39
  1255. package/concepts/th/Tool-executeCode.md +0 -41
  1256. package/concepts/th/Tool-getDiagnostics.md +0 -32
  1257. package/concepts/th/Tools.md +0 -67
  1258. package/concepts/tr/CacheRebuild.md +0 -36
  1259. package/concepts/tr/KVCacheContent.md +0 -49
  1260. package/concepts/tr/Tool-Agent.md +0 -125
  1261. package/concepts/tr/Tool-AskUserQuestion.md +0 -75
  1262. package/concepts/tr/Tool-Bash.md +0 -167
  1263. package/concepts/tr/Tool-Edit.md +0 -46
  1264. package/concepts/tr/Tool-EnterPlanMode.md +0 -128
  1265. package/concepts/tr/Tool-EnterWorktree.md +0 -56
  1266. package/concepts/tr/Tool-ExitPlanMode.md +0 -62
  1267. package/concepts/tr/Tool-Glob.md +0 -39
  1268. package/concepts/tr/Tool-Grep.md +0 -57
  1269. package/concepts/tr/Tool-NotebookEdit.md +0 -33
  1270. package/concepts/tr/Tool-Read.md +0 -56
  1271. package/concepts/tr/Tool-SendMessage.md +0 -41
  1272. package/concepts/tr/Tool-Skill.md +0 -56
  1273. package/concepts/tr/Tool-Task.md +0 -51
  1274. package/concepts/tr/Tool-TaskCreate.md +0 -78
  1275. package/concepts/tr/Tool-TaskGet.md +0 -56
  1276. package/concepts/tr/Tool-TaskList.md +0 -56
  1277. package/concepts/tr/Tool-TaskOutput.md +0 -40
  1278. package/concepts/tr/Tool-TaskStop.md +0 -32
  1279. package/concepts/tr/Tool-TaskUpdate.md +0 -123
  1280. package/concepts/tr/Tool-TeamCreate.md +0 -38
  1281. package/concepts/tr/Tool-TeamDelete.md +0 -30
  1282. package/concepts/tr/Tool-WebFetch.md +0 -55
  1283. package/concepts/tr/Tool-WebSearch.md +0 -58
  1284. package/concepts/tr/Tool-Write.md +0 -39
  1285. package/concepts/tr/Tool-executeCode.md +0 -41
  1286. package/concepts/tr/Tool-getDiagnostics.md +0 -32
  1287. package/concepts/tr/Tools.md +0 -67
  1288. package/concepts/uk/CacheRebuild.md +0 -36
  1289. package/concepts/uk/KVCacheContent.md +0 -49
  1290. package/concepts/uk/Tool-Agent.md +0 -125
  1291. package/concepts/uk/Tool-AskUserQuestion.md +0 -75
  1292. package/concepts/uk/Tool-Bash.md +0 -167
  1293. package/concepts/uk/Tool-Edit.md +0 -46
  1294. package/concepts/uk/Tool-EnterPlanMode.md +0 -128
  1295. package/concepts/uk/Tool-EnterWorktree.md +0 -56
  1296. package/concepts/uk/Tool-ExitPlanMode.md +0 -62
  1297. package/concepts/uk/Tool-Glob.md +0 -39
  1298. package/concepts/uk/Tool-Grep.md +0 -57
  1299. package/concepts/uk/Tool-NotebookEdit.md +0 -33
  1300. package/concepts/uk/Tool-Read.md +0 -56
  1301. package/concepts/uk/Tool-SendMessage.md +0 -41
  1302. package/concepts/uk/Tool-Skill.md +0 -56
  1303. package/concepts/uk/Tool-Task.md +0 -51
  1304. package/concepts/uk/Tool-TaskCreate.md +0 -78
  1305. package/concepts/uk/Tool-TaskGet.md +0 -56
  1306. package/concepts/uk/Tool-TaskList.md +0 -56
  1307. package/concepts/uk/Tool-TaskOutput.md +0 -40
  1308. package/concepts/uk/Tool-TaskStop.md +0 -32
  1309. package/concepts/uk/Tool-TaskUpdate.md +0 -123
  1310. package/concepts/uk/Tool-TeamCreate.md +0 -38
  1311. package/concepts/uk/Tool-TeamDelete.md +0 -30
  1312. package/concepts/uk/Tool-WebFetch.md +0 -55
  1313. package/concepts/uk/Tool-WebSearch.md +0 -58
  1314. package/concepts/uk/Tool-Write.md +0 -39
  1315. package/concepts/uk/Tool-executeCode.md +0 -41
  1316. package/concepts/uk/Tool-getDiagnostics.md +0 -32
  1317. package/concepts/uk/Tools.md +0 -67
  1318. package/concepts/zh/CacheRebuild.md +0 -36
  1319. package/concepts/zh/KVCacheContent.md +0 -49
  1320. package/concepts/zh/Tool-Agent.md +0 -125
  1321. package/concepts/zh/Tool-AskUserQuestion.md +0 -75
  1322. package/concepts/zh/Tool-Bash.md +0 -167
  1323. package/concepts/zh/Tool-Edit.md +0 -46
  1324. package/concepts/zh/Tool-EnterPlanMode.md +0 -128
  1325. package/concepts/zh/Tool-EnterWorktree.md +0 -56
  1326. package/concepts/zh/Tool-ExitPlanMode.md +0 -62
  1327. package/concepts/zh/Tool-Glob.md +0 -39
  1328. package/concepts/zh/Tool-Grep.md +0 -57
  1329. package/concepts/zh/Tool-NotebookEdit.md +0 -33
  1330. package/concepts/zh/Tool-Read.md +0 -56
  1331. package/concepts/zh/Tool-SendMessage.md +0 -41
  1332. package/concepts/zh/Tool-Skill.md +0 -56
  1333. package/concepts/zh/Tool-Task.md +0 -51
  1334. package/concepts/zh/Tool-TaskCreate.md +0 -78
  1335. package/concepts/zh/Tool-TaskGet.md +0 -56
  1336. package/concepts/zh/Tool-TaskList.md +0 -56
  1337. package/concepts/zh/Tool-TaskOutput.md +0 -40
  1338. package/concepts/zh/Tool-TaskStop.md +0 -32
  1339. package/concepts/zh/Tool-TaskUpdate.md +0 -123
  1340. package/concepts/zh/Tool-TeamCreate.md +0 -38
  1341. package/concepts/zh/Tool-TeamDelete.md +0 -30
  1342. package/concepts/zh/Tool-WebFetch.md +0 -55
  1343. package/concepts/zh/Tool-WebSearch.md +0 -58
  1344. package/concepts/zh/Tool-Write.md +0 -39
  1345. package/concepts/zh/Tool-executeCode.md +0 -41
  1346. package/concepts/zh/Tool-getDiagnostics.md +0 -32
  1347. package/concepts/zh-TW/CacheRebuild.md +0 -36
  1348. package/concepts/zh-TW/KVCacheContent.md +0 -49
  1349. package/concepts/zh-TW/Tool-Agent.md +0 -125
  1350. package/concepts/zh-TW/Tool-AskUserQuestion.md +0 -75
  1351. package/concepts/zh-TW/Tool-Bash.md +0 -167
  1352. package/concepts/zh-TW/Tool-Edit.md +0 -46
  1353. package/concepts/zh-TW/Tool-EnterPlanMode.md +0 -128
  1354. package/concepts/zh-TW/Tool-EnterWorktree.md +0 -56
  1355. package/concepts/zh-TW/Tool-ExitPlanMode.md +0 -62
  1356. package/concepts/zh-TW/Tool-Glob.md +0 -39
  1357. package/concepts/zh-TW/Tool-Grep.md +0 -57
  1358. package/concepts/zh-TW/Tool-NotebookEdit.md +0 -33
  1359. package/concepts/zh-TW/Tool-Read.md +0 -56
  1360. package/concepts/zh-TW/Tool-SendMessage.md +0 -41
  1361. package/concepts/zh-TW/Tool-Skill.md +0 -56
  1362. package/concepts/zh-TW/Tool-Task.md +0 -51
  1363. package/concepts/zh-TW/Tool-TaskCreate.md +0 -78
  1364. package/concepts/zh-TW/Tool-TaskGet.md +0 -56
  1365. package/concepts/zh-TW/Tool-TaskList.md +0 -56
  1366. package/concepts/zh-TW/Tool-TaskOutput.md +0 -40
  1367. package/concepts/zh-TW/Tool-TaskStop.md +0 -32
  1368. package/concepts/zh-TW/Tool-TaskUpdate.md +0 -123
  1369. package/concepts/zh-TW/Tool-TeamCreate.md +0 -38
  1370. package/concepts/zh-TW/Tool-TeamDelete.md +0 -30
  1371. package/concepts/zh-TW/Tool-WebFetch.md +0 -55
  1372. package/concepts/zh-TW/Tool-WebSearch.md +0 -58
  1373. package/concepts/zh-TW/Tool-Write.md +0 -39
  1374. package/concepts/zh-TW/Tool-executeCode.md +0 -41
  1375. package/concepts/zh-TW/Tool-getDiagnostics.md +0 -32
  1376. package/concepts/zh-TW/Tools.md +0 -67
  1377. package/dist/assets/App-CF-qZ3B6.js +0 -41
  1378. package/dist/assets/App-fG2r3jFq.css +0 -1
  1379. package/dist/assets/AppHeader-BqUGBbBx.css +0 -41
  1380. package/dist/assets/AppHeader.module-BjoBBbCB.js +0 -1250
  1381. package/dist/assets/Mobile-BnDkLcBv.css +0 -1
  1382. package/dist/assets/Mobile-ByhBkyqb.js +0 -10
  1383. package/dist/assets/_baseUniq-5XIuSb_1.js +0 -1
  1384. package/dist/assets/arc-V3mJhKFJ.js +0 -1
  1385. package/dist/assets/architectureDiagram-Q4EWVU46-22bjxOE1.js +0 -36
  1386. package/dist/assets/blockDiagram-DXYQGD6D-Brshek1N.js +0 -132
  1387. package/dist/assets/c4Diagram-AHTNJAMY-DQHIuxkd.js +0 -10
  1388. package/dist/assets/channel-SmGaOM6g.js +0 -1
  1389. package/dist/assets/chunk-4BX2VUAB-BQE7pifU.js +0 -1
  1390. package/dist/assets/chunk-4TB4RGXK-DcZwv_PV.js +0 -206
  1391. package/dist/assets/chunk-55IACEB6-Gd_3-vV5.js +0 -1
  1392. package/dist/assets/chunk-EDXVE4YY-BbnYdg9M.js +0 -1
  1393. package/dist/assets/chunk-FMBD7UC4-NSh7z90L.js +0 -15
  1394. package/dist/assets/chunk-OYMX7WX6-DdFwjHsc.js +0 -231
  1395. package/dist/assets/chunk-QZHKN3VN-C-1z3DA3.js +0 -1
  1396. package/dist/assets/chunk-YZCP3GAM-w_NiY6dL.js +0 -1
  1397. package/dist/assets/classDiagram-6PBFFD2Q-Bu96zciS.js +0 -1
  1398. package/dist/assets/classDiagram-v2-HSJHXN6E-Bu96zciS.js +0 -1
  1399. package/dist/assets/clone-u2hQVO7u.js +0 -1
  1400. package/dist/assets/cose-bilkent-S5V4N54A-bHlM-ydV.js +0 -1
  1401. package/dist/assets/cytoscape.esm-DxGcaOPV.js +0 -331
  1402. package/dist/assets/dagre-KV5264BT-2cCXOuNw.js +0 -4
  1403. package/dist/assets/defaultLocale-DX6XiGOO.js +0 -1
  1404. package/dist/assets/diagram-5BDNPKRD-C70P_Nd1.js +0 -10
  1405. package/dist/assets/diagram-G4DWMVQ6-C2JvwT8U.js +0 -24
  1406. package/dist/assets/diagram-MMDJMWI5-C9ygMSLV.js +0 -43
  1407. package/dist/assets/diagram-TYMM5635-x-SMPmqb.js +0 -24
  1408. package/dist/assets/erDiagram-SMLLAGMA-BGIbL82W.js +0 -85
  1409. package/dist/assets/flowDiagram-DWJPFMVM-Dg0qwguE.js +0 -162
  1410. package/dist/assets/ganttDiagram-T4ZO3ILL-XX5qCwKD.js +0 -292
  1411. package/dist/assets/gitGraphDiagram-UUTBAWPF-DFil4bpA.js +0 -106
  1412. package/dist/assets/graph-DJ6egHOd.js +0 -1
  1413. package/dist/assets/html2canvas.esm-QH1iLAAe.js +0 -22
  1414. package/dist/assets/index-DCtZ2KSX.css +0 -1
  1415. package/dist/assets/index-DYIYWRaO.js +0 -41
  1416. package/dist/assets/infoDiagram-42DDH7IO-yB7VRrpO.js +0 -2
  1417. package/dist/assets/init-Gi6I4Gst.js +0 -1
  1418. package/dist/assets/ishikawaDiagram-UXIWVN3A-DZ_lPco0.js +0 -70
  1419. package/dist/assets/journeyDiagram-VCZTEJTY-B-FlPR2W.js +0 -139
  1420. package/dist/assets/kanban-definition-6JOO6SKY-mgJwVxKf.js +0 -89
  1421. package/dist/assets/katex-DkKDou_j.js +0 -257
  1422. package/dist/assets/layout-BjzpJ8ZU.js +0 -1
  1423. package/dist/assets/linear-CqOq1rA7.js +0 -1
  1424. package/dist/assets/mermaid.core-CZyQhtml.js +0 -308
  1425. package/dist/assets/min-B_tad8Qz.js +0 -1
  1426. package/dist/assets/mindmap-definition-QFDTVHPH-CgBeHk8K.js +0 -96
  1427. package/dist/assets/ordinal-Cboi1Yqb.js +0 -1
  1428. package/dist/assets/pieDiagram-DEJITSTG-CHENa0KJ.js +0 -30
  1429. package/dist/assets/quadrantDiagram-34T5L4WZ-BUwZwCpc.js +0 -7
  1430. package/dist/assets/requirementDiagram-MS252O5E-H7OaNjNn.js +0 -84
  1431. package/dist/assets/sankeyDiagram-XADWPNL6-6UqaFrBf.js +0 -10
  1432. package/dist/assets/sequenceDiagram-FGHM5R23-DBgpLSsr.js +0 -157
  1433. package/dist/assets/stateDiagram-FHFEXIEX-D_6TWlLl.js +0 -1
  1434. package/dist/assets/stateDiagram-v2-QKLJ7IA2-Cg06jbzN.js +0 -1
  1435. package/dist/assets/timeline-definition-GMOUNBTQ-9_saaHvl.js +0 -120
  1436. package/dist/assets/vennDiagram-DHZGUBPP-DMUS1fiT.js +0 -34
  1437. package/dist/assets/wardley-RL74JXVD-Y-_Nnpu2.js +0 -162
  1438. package/dist/assets/wardleyDiagram-NUSXRM2D-DIh62HY7.js +0 -20
  1439. package/dist/assets/xychartDiagram-5P7HB3ND-B_CLrnpt.js +0 -7
  1440. package/lib/kv-cache-analyzer.js +0 -164
@@ -0,0 +1 @@
1
+ function words(str){for(var obj={},words2=str.split(" "),i=0;i<words2.length;++i)obj[words2[i]]=!0;return obj}var blockKeywordsStr="body catch class do else enum for foreach foreach_reverse if in interface mixin out scope struct switch try union unittest version while with";const parserConfig={keywords:words("abstract alias align asm assert auto break case cast cdouble cent cfloat const continue debug default delegate delete deprecated export extern final finally function goto immutable import inout invariant is lazy macro module new nothrow override package pragma private protected public pure ref return shared short static super synchronized template this throw typedef typeid typeof volatile __FILE__ __LINE__ __gshared __traits __vector __parameters "+blockKeywordsStr),blockKeywords:words(blockKeywordsStr),builtin:words("bool byte char creal dchar double float idouble ifloat int ireal long real short ubyte ucent uint ulong ushort wchar wstring void size_t sizediff_t"),atoms:words("exit failure success true false null"),hooks:{"@":function(stream,_state){return stream.eatWhile(/[\w\$_]/),"meta"}}};var curPunc,statementIndentUnit=parserConfig.statementIndentUnit,keywords=parserConfig.keywords,builtin=parserConfig.builtin,blockKeywords=parserConfig.blockKeywords,atoms=parserConfig.atoms,hooks=parserConfig.hooks,multiLineStrings=parserConfig.multiLineStrings,isOperatorChar=/[+\-*&%=<>!?|\/]/;function tokenBase(stream,state){var quote,ch=stream.next();if(hooks[ch]){var result=hooks[ch](stream,state);if(!1!==result)return result}if('"'==ch||"'"==ch||"`"==ch)return state.tokenize=(quote=ch,function(stream,state){for(var next,escaped=!1,end=!1;null!=(next=stream.next());){if(next==quote&&!escaped){end=!0;break}escaped=!escaped&&"\\"==next}return(end||!escaped&&!multiLineStrings)&&(state.tokenize=null),"string"}),state.tokenize(stream,state);if(/[\[\]{}\(\),;\:\.]/.test(ch))return curPunc=ch,null;if(/\d/.test(ch))return stream.eatWhile(/[\w\.]/),"number";if("/"==ch){if(stream.eat("+"))return state.tokenize=tokenNestedComment,tokenNestedComment(stream,state);if(stream.eat("*"))return state.tokenize=tokenComment,tokenComment(stream,state);if(stream.eat("/"))return stream.skipToEnd(),"comment"}if(isOperatorChar.test(ch))return stream.eatWhile(isOperatorChar),"operator";stream.eatWhile(/[\w\$_\xa1-\uffff]/);var cur=stream.current();return keywords.propertyIsEnumerable(cur)?(blockKeywords.propertyIsEnumerable(cur)&&(curPunc="newstatement"),"keyword"):builtin.propertyIsEnumerable(cur)?(blockKeywords.propertyIsEnumerable(cur)&&(curPunc="newstatement"),"builtin"):atoms.propertyIsEnumerable(cur)?"atom":"variable"}function tokenComment(stream,state){for(var ch,maybeEnd=!1;ch=stream.next();){if("/"==ch&&maybeEnd){state.tokenize=null;break}maybeEnd="*"==ch}return"comment"}function tokenNestedComment(stream,state){for(var ch,maybeEnd=!1;ch=stream.next();){if("/"==ch&&maybeEnd){state.tokenize=null;break}maybeEnd="+"==ch}return"comment"}function Context(indented,column,type,align,prev){this.indented=indented,this.column=column,this.type=type,this.align=align,this.prev=prev}function pushContext(state,col,type){var indent=state.indented;return state.context&&"statement"==state.context.type&&(indent=state.context.indented),state.context=new Context(indent,col,type,null,state.context)}function popContext(state){var t=state.context.type;return")"!=t&&"]"!=t&&"}"!=t||(state.indented=state.context.indented),state.context=state.context.prev}const d={name:"d",startState:function(indentUnit){return{tokenize:null,context:new Context(-indentUnit,0,"top",!1),indented:0,startOfLine:!0}},token:function(stream,state){var ctx=state.context;if(stream.sol()&&(null==ctx.align&&(ctx.align=!1),state.indented=stream.indentation(),state.startOfLine=!0),stream.eatSpace())return null;curPunc=null;var style=(state.tokenize||tokenBase)(stream,state);if("comment"==style||"meta"==style)return style;if(null==ctx.align&&(ctx.align=!0),";"!=curPunc&&":"!=curPunc&&","!=curPunc||"statement"!=ctx.type)if("{"==curPunc)pushContext(state,stream.column(),"}");else if("["==curPunc)pushContext(state,stream.column(),"]");else if("("==curPunc)pushContext(state,stream.column(),")");else if("}"==curPunc){for(;"statement"==ctx.type;)ctx=popContext(state);for("}"==ctx.type&&(ctx=popContext(state));"statement"==ctx.type;)ctx=popContext(state)}else curPunc==ctx.type?popContext(state):(("}"==ctx.type||"top"==ctx.type)&&";"!=curPunc||"statement"==ctx.type&&"newstatement"==curPunc)&&pushContext(state,stream.column(),"statement");else popContext(state);return state.startOfLine=!1,style},indent:function(state,textAfter,cx){if(state.tokenize!=tokenBase&&null!=state.tokenize)return null;var ctx=state.context,firstChar=textAfter&&textAfter.charAt(0);"statement"==ctx.type&&"}"==firstChar&&(ctx=ctx.prev);var closing=firstChar==ctx.type;return"statement"==ctx.type?ctx.indented+("{"==firstChar?0:statementIndentUnit||cx.unit):ctx.align?ctx.column+(closing?0:1):ctx.indented+(closing?0:cx.unit)},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};export{d};
@@ -0,0 +1 @@
1
+ import{c as clear$2,w as write,a as adjustClustersAndEdges,f as findNonClusterChild,b as clusterDb,s as sortNodesByHierarchy}from"./chunk-RYQCIY6F-BK2jDXwB.js";import{_ as __name,al as markers_default,am as clear2,an as clear,ao as clear$1,l as log,c as getConfig2,ap as updateNodeBounds,aq as setNodeElem,af as insertNode,ar as getSubGraphTitleMargins,ag as positionNode,ae as insertCluster,as as insertEdge,at as positionEdgeLabel,au as insertEdgeLabel}from"./mermaid.core-Cy9iVxov.js";import{G as Graph}from"./graph-CnJdn47S.js";import{l as layout}from"./layout-CCUE9ZRw.js";import"./map-DQeg2hXV.js";import"./vendor-mdxeditor-4PbKH6K7.js";import"./vendor-antd-Bzi1WuBb.js";import"./vendor-codemirror-CKTrJd47.js";import"./vendor-markdown-BN3QLsBu.js";var clamp=__name((value,min,max)=>Math.max(min,Math.min(max,value)),"clamp"),getDefaultSelfLoopSide=__name((rankdir="TB")=>{switch(rankdir){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";default:return"top"}},"getDefaultSelfLoopSide"),shouldMergeSelfLoopSegments=__name(diagramType=>"flowchart"===diagramType||"flowchart-v2"===diagramType||"stateDiagram"===diagramType,"shouldMergeSelfLoopSegments"),getSelfLoopSide=__name((graph,node,segments,originalNodeId,rankdir)=>{const layoutHints=[],dummyNodeIds=new Set;if(segments.forEach(({start:start,end:end})=>{start!==originalNodeId&&dummyNodeIds.add(start),end!==originalNodeId&&dummyNodeIds.add(end)}),dummyNodeIds.forEach(id=>{const dummyNode=graph.node(id);"number"==typeof(null==dummyNode?void 0:dummyNode.x)&&"number"==typeof(null==dummyNode?void 0:dummyNode.y)&&layoutHints.push(dummyNode)}),0===layoutHints.length&&segments.forEach(({edge:edge})=>{(edge.points??[]).forEach(point=>{"number"==typeof(null==point?void 0:point.x)&&"number"==typeof(null==point?void 0:point.y)&&layoutHints.push(point)})}),0===layoutHints.length)return getDefaultSelfLoopSide(rankdir);const center=layoutHints.reduce((acc,point)=>({x:acc.x+point.x/layoutHints.length,y:acc.y+point.y/layoutHints.length}),{x:0,y:0}),dx=center.x-node.x,dy=center.y-node.y;return Math.abs(dx)>Math.abs(dy)?dx>0?"right":"left":Math.abs(dy)>0?dy>0?"bottom":"top":getDefaultSelfLoopSide(rankdir)},"getSelfLoopSide"),getSelfLoopPoints=__name((node,side="top",yOffset=0,labelWidth=0)=>{const x=node.x,y=node.y-yOffset,halfWidth=node.width/2,halfHeight=node.height/2,maxSpan=Math.max(36,Math.min(100,.8*node.width)),span=clamp(Math.max(labelWidth,.35*node.width),36,maxSpan),depth=clamp(.45*Math.min(node.width,node.height),24,48);switch(side){case"bottom":{const bottom=y+halfHeight;return[{x:x-span/2,y:bottom},{x:x-span/2,y:bottom+depth},{x:x+span/2,y:bottom+depth},{x:x+span/2,y:bottom}]}case"right":{const right=x+halfWidth;return[{x:right,y:y-span/2},{x:right+depth,y:y-span/2},{x:right+depth,y:y+span/2},{x:right,y:y+span/2}]}case"left":{const left=x-halfWidth;return[{x:left,y:y-span/2},{x:left-depth,y:y-span/2},{x:left-depth,y:y+span/2},{x:left,y:y+span/2}]}default:{const top=y-halfHeight;return[{x:x-span/2,y:top},{x:x-span/2,y:top-depth},{x:x+span/2,y:top-depth},{x:x+span/2,y:top}]}}},"getSelfLoopPoints"),getSelfLoopLabelPosition=__name((node,points,side="top",yOffset=0,label={})=>{const x=node.x,y=node.y-yOffset,labelWidth=label.width??0,labelHeight=label.height??0;switch(side){case"bottom":return{x:x,y:Math.max(...points.map(point=>point.y))+labelHeight/2+4};case"right":return{x:Math.max(...points.map(point=>point.x))+labelWidth/2+4,y:y};case"left":return{x:Math.min(...points.map(point=>point.x))-labelWidth/2-4,y:y};default:return{x:x,y:Math.min(...points.map(point=>point.y))-labelHeight/2-4}}},"getSelfLoopLabelPosition"),getEdgesToRender=__name((graph,yOffset=0,{mergeSelfLoops:mergeSelfLoops=!0}={})=>{var _a;const selfLoopEdgeGroups=new Map,edgesToRender=[],rankdir=null==(_a=graph.graph())?void 0:_a.rankdir;return graph.edges().forEach(e=>{const edge=graph.edge(e);if(mergeSelfLoops&&edge.selfLoop){const key=edge.selfLoop.id;selfLoopEdgeGroups.has(key)||selfLoopEdgeGroups.set(key,[]),selfLoopEdgeGroups.get(key).push({edge:edge,start:e.v,end:e.w})}else edgesToRender.push({edge:edge,start:e.v,end:e.w})}),selfLoopEdgeGroups.forEach(segments=>{if(3!==segments.length)return void segments.forEach(segment=>edgesToRender.push(segment));segments.sort((a,b)=>a.edge.selfLoop.order-b.edge.selfLoop.order);const[firstSegment,middleSegment,lastSegment]=segments,originalEdge=firstSegment.edge.originalEdge??middleSegment.edge.originalEdge??lastSegment.edge.originalEdge??middleSegment.edge,node=graph.node(originalEdge.start);if(!node)return void segments.forEach(segment=>edgesToRender.push(segment));const label={width:middleSegment.edge.width,height:middleSegment.edge.height},side=getSelfLoopSide(graph,node,segments,originalEdge.start,rankdir),points=getSelfLoopPoints(node,side,yOffset,label.width??0),labelPosition=getSelfLoopLabelPosition(node,points,side,yOffset,label),mergedEdge={...middleSegment.edge,...originalEdge,id:originalEdge.id,points:points,start:originalEdge.start,end:originalEdge.end,x:labelPosition.x,y:labelPosition.y,width:label.width,height:label.height,labelStyle:middleSegment.edge.labelStyle,fromCluster:firstSegment.edge.fromCluster??middleSegment.edge.fromCluster??lastSegment.edge.fromCluster,toCluster:firstSegment.edge.toCluster??middleSegment.edge.toCluster??lastSegment.edge.toCluster};delete mergedEdge.selfLoop,delete mergedEdge.originalEdge,edgesToRender.push({edge:mergedEdge,start:mergedEdge.start,end:mergedEdge.end})}),edgesToRender},"getEdgesToRender"),recursiveRender=__name(async(_elem,graph,diagramType,id,parentCluster,siteConfig)=>{log.warn("Graph in recursive render:XAX",write(graph),parentCluster);const dir=graph.graph().rankdir;log.trace("Dir in recursive render - dir:",dir);const elem=_elem.insert("g").attr("class","root");graph.nodes()?log.info("Recursive render XXX",graph.nodes()):log.info("No nodes found for",graph),graph.edges().length>0&&log.info("Recursive edges",graph.edge(graph.edges()[0]));const clusters=elem.insert("g").attr("class","clusters"),edgePaths=elem.insert("g").attr("class","edgePaths"),edgeLabels=elem.insert("g").attr("class","edgeLabels"),nodes=elem.insert("g").attr("class","nodes"),mergeSelfLoops=shouldMergeSelfLoopSegments(diagramType);await Promise.all(graph.nodes().map(async function(v){const node=graph.node(v);if(void 0!==parentCluster){const data=JSON.parse(JSON.stringify(parentCluster.clusterData));log.trace("Setting data for parent cluster XXX\n Node.id = ",v,"\n data=",data.height,"\nParent cluster",parentCluster.height),graph.setNode(parentCluster.id,data),graph.parent(v)||(log.trace("Setting parent",v,parentCluster.id),graph.setParent(v,parentCluster.id,data))}if(log.info("(Insert) Node XXX"+v+": "+JSON.stringify(graph.node(v))),null==node?void 0:node.clusterNode){log.info("Cluster identified XBX",v,node.width,graph.node(v));const{ranksep:ranksep,nodesep:nodesep}=graph.graph();node.graph.setGraph({...node.graph.graph(),ranksep:ranksep+25,nodesep:nodesep});const o=await recursiveRender(nodes,node.graph,diagramType,id,graph.node(v),siteConfig),newEl=o.elem;updateNodeBounds(node,newEl),node.diff=o.diff||0,log.info("New compound node after recursive render XAX",v,"width",node.width,"height",node.height),setNodeElem(newEl,node)}else graph.children(v).length>0?(log.trace("Cluster - the non recursive path XBX",v,node.id,node,node.width,"Graph:",graph),log.trace(findNonClusterChild(node.id,graph)),clusterDb.set(node.id,{id:findNonClusterChild(node.id,graph),node:node})):(log.trace("Node - the non recursive path XAX",v,nodes,graph.node(v),dir),await insertNode(nodes,graph.node(v),{config:siteConfig,dir:dir}))}));const processEdges=__name(async()=>{const edgePromises=graph.edges().map(async function(e){const edge=graph.edge(e.v,e.w,e.name);if(log.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),log.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(graph.edge(e))),log.info("Fix",clusterDb,"ids:",e.v,e.w,"Translating: ",clusterDb.get(e.v),clusterDb.get(e.w)),mergeSelfLoops&&edge.selfLoop){if(1!==edge.selfLoop.order)return;const segmentId=edge.id;return edge.id=edge.selfLoop.id,await insertEdgeLabel(edgeLabels,edge),void(edge.id=segmentId)}await insertEdgeLabel(edgeLabels,edge)});await Promise.all(edgePromises)},"processEdges");await processEdges(),log.info("Graph before layout:",JSON.stringify(write(graph))),log.info("############################################# XXX"),log.info("### Layout ### XXX"),log.info("############################################# XXX"),layout(graph),log.info("Graph after layout:",JSON.stringify(write(graph)));let diff=0,{subGraphTitleTotalMargin:subGraphTitleTotalMargin}=getSubGraphTitleMargins(siteConfig);await Promise.all(sortNodesByHierarchy(graph).map(async function(v){var _a;const node=graph.node(v);if(log.info("Position XBX => "+v+": ("+node.x,","+node.y,") width: ",node.width," height: ",node.height),null==node?void 0:node.clusterNode)node.y+=subGraphTitleTotalMargin,log.info("A tainted cluster node XBX1",v,node.id,node.width,node.height,node.x,node.y,graph.parent(v)),clusterDb.get(node.id).node=node,positionNode(node);else if(graph.children(v).length>0){log.info("A pure cluster node XBX1",v,node.id,node.x,node.y,node.width,node.height,graph.parent(v)),node.height+=subGraphTitleTotalMargin,graph.node(node.parentId);const halfPadding=(null==node?void 0:node.padding)/2||0,labelHeight=(null==(_a=null==node?void 0:node.labelBBox)?void 0:_a.height)||0,offsetY=labelHeight-halfPadding||0;log.debug("OffsetY",offsetY,"labelHeight",labelHeight,"halfPadding",halfPadding),await insertCluster(clusters,node),clusterDb.get(node.id).node=node}else{const parent=graph.node(node.parentId);node.y+=subGraphTitleTotalMargin/2,log.info("A regular node XBX1 - using the padding",node.id,"parent",node.parentId,node.width,node.height,node.x,node.y,"offsetY",node.offsetY,"parent",parent,null==parent?void 0:parent.offsetY,node),positionNode(node)}}));const edgeOffsetY=subGraphTitleTotalMargin/2;return getEdgesToRender(graph,edgeOffsetY,{mergeSelfLoops:mergeSelfLoops}).forEach(function({edge:edge,start:start,end:end}){log.info("Edge "+start+" -> "+end+": "+JSON.stringify(edge),edge),edge.points.forEach(point=>point.y+=edgeOffsetY);const startNode=graph.node(start),endNode=graph.node(end),paths=insertEdge(edgePaths,edge,clusterDb,diagramType,startNode,endNode,id);positionEdgeLabel(edge,paths)}),graph.nodes().forEach(function(v){const n=graph.node(v);log.info(v,n.type,n.diff),n.isGroup&&(diff=n.diff)}),log.warn("Returning from recursive render XAX",elem,diff),{elem:elem,diff:diff}},"recursiveRender"),render=__name(async(data4Layout,svg)=>{var _a,_b,_c,_d,_e,_f;const graph=new Graph({multigraph:!0,compound:!0}).setGraph({rankdir:data4Layout.direction,nodesep:(null==(_a=data4Layout.config)?void 0:_a.nodeSpacing)||(null==(_c=null==(_b=data4Layout.config)?void 0:_b.flowchart)?void 0:_c.nodeSpacing)||data4Layout.nodeSpacing,ranksep:(null==(_d=data4Layout.config)?void 0:_d.rankSpacing)||(null==(_f=null==(_e=data4Layout.config)?void 0:_e.flowchart)?void 0:_f.rankSpacing)||data4Layout.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),element=svg.select("g");markers_default(element,data4Layout.markers,data4Layout.type,data4Layout.diagramId),clear2(),clear(),clear$1(),clear$2(),data4Layout.nodes.forEach(node=>{graph.setNode(node.id,{...node}),node.parentId&&graph.setParent(node.id,node.parentId)}),log.debug("Edges:",data4Layout.edges),data4Layout.edges.forEach(edge=>{if(edge.start===edge.end){const nodeId=edge.start,specialId1=nodeId+"---"+nodeId+"---1",specialId2=nodeId+"---"+nodeId+"---2",node=graph.node(nodeId);graph.setNode(specialId1,{domId:specialId1,id:specialId1,parentId:node.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),graph.setParent(specialId1,node.parentId),graph.setNode(specialId2,{domId:specialId2,id:specialId2,parentId:node.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),graph.setParent(specialId2,node.parentId);const originalEdge=structuredClone(edge),edge1=structuredClone(edge),edgeMid=structuredClone(edge),edge2=structuredClone(edge);edge1.originalEdge=originalEdge,edge1.selfLoop={id:originalEdge.id,order:0},edgeMid.originalEdge=originalEdge,edgeMid.selfLoop={id:originalEdge.id,order:1},edge2.originalEdge=originalEdge,edge2.selfLoop={id:originalEdge.id,order:2},edge1.label="",edge1.arrowTypeEnd="none",edge1.endLabelLeft="",edge1.endLabelRight="",edge1.startLabelLeft="",edge1.id=nodeId+"-cyclic-special-1",edgeMid.startLabelRight="",edgeMid.startLabelLeft="",edgeMid.endLabelLeft="",edgeMid.endLabelRight="",edgeMid.arrowTypeStart="none",edgeMid.arrowTypeEnd="none",edgeMid.id=nodeId+"-cyclic-special-mid",edge2.label="",edge2.startLabelRight="",edge2.startLabelLeft="",edge2.arrowTypeStart="none",node.isGroup&&(edge1.fromCluster=nodeId,edge2.toCluster=nodeId),edge2.id=nodeId+"-cyclic-special-2",edge2.arrowTypeStart="none",graph.setEdge(nodeId,specialId1,edge1,nodeId+"-cyclic-special-0"),graph.setEdge(specialId1,specialId2,edgeMid,nodeId+"-cyclic-special-1"),graph.setEdge(specialId2,nodeId,edge2,nodeId+"-cyclic-special-2")}else graph.setEdge(edge.start,edge.end,{...edge},edge.id)}),log.warn("Graph at first:",JSON.stringify(write(graph))),adjustClustersAndEdges(graph),log.warn("Graph after XAX:",JSON.stringify(write(graph)));const siteConfig=getConfig2();await recursiveRender(element,graph,data4Layout.type,data4Layout.diagramId,void 0,siteConfig)},"render");export{getEdgesToRender,render};
@@ -0,0 +1 @@
1
+ function formatDecimalParts(x,p){if(!isFinite(x)||0===x)return null;var i=(x=p?x.toExponential(p-1):x.toExponential()).indexOf("e"),coefficient=x.slice(0,i);return[coefficient.length>1?coefficient[0]+coefficient.slice(2):coefficient,+x.slice(i+1)]}function exponent(x){return(x=formatDecimalParts(Math.abs(x)))?x[1]:NaN}var prefixExponent,re=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function formatSpecifier(specifier){if(!(match=re.exec(specifier)))throw new Error("invalid format: "+specifier);var match;return new FormatSpecifier({fill:match[1],align:match[2],sign:match[3],symbol:match[4],zero:match[5],width:match[6],comma:match[7],precision:match[8]&&match[8].slice(1),trim:match[9],type:match[10]})}function FormatSpecifier(specifier){this.fill=void 0===specifier.fill?" ":specifier.fill+"",this.align=void 0===specifier.align?">":specifier.align+"",this.sign=void 0===specifier.sign?"-":specifier.sign+"",this.symbol=void 0===specifier.symbol?"":specifier.symbol+"",this.zero=!!specifier.zero,this.width=void 0===specifier.width?void 0:+specifier.width,this.comma=!!specifier.comma,this.precision=void 0===specifier.precision?void 0:+specifier.precision,this.trim=!!specifier.trim,this.type=void 0===specifier.type?"":specifier.type+""}function formatRounded(x,p){var d=formatDecimalParts(x,p);if(!d)return x+"";var coefficient=d[0],exponent2=d[1];return exponent2<0?"0."+new Array(-exponent2).join("0")+coefficient:coefficient.length>exponent2+1?coefficient.slice(0,exponent2+1)+"."+coefficient.slice(exponent2+1):coefficient+new Array(exponent2-coefficient.length+2).join("0")}formatSpecifier.prototype=FormatSpecifier.prototype,FormatSpecifier.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const formatTypes={"%":(x,p)=>(100*x).toFixed(p),b:x=>Math.round(x).toString(2),c:x=>x+"",d:function(x){return Math.abs(x=Math.round(x))>=1e21?x.toLocaleString("en").replace(/,/g,""):x.toString(10)},e:(x,p)=>x.toExponential(p),f:(x,p)=>x.toFixed(p),g:(x,p)=>x.toPrecision(p),o:x=>Math.round(x).toString(8),p:(x,p)=>formatRounded(100*x,p),r:formatRounded,s:function(x,p){var d=formatDecimalParts(x,p);if(!d)return prefixExponent=void 0,x.toPrecision(p);var coefficient=d[0],exponent2=d[1],i=exponent2-(prefixExponent=3*Math.max(-8,Math.min(8,Math.floor(exponent2/3))))+1,n=coefficient.length;return i===n?coefficient:i>n?coefficient+new Array(i-n+1).join("0"):i>0?coefficient.slice(0,i)+"."+coefficient.slice(i):"0."+new Array(1-i).join("0")+formatDecimalParts(x,Math.max(0,p+i-1))[0]},X:x=>Math.round(x).toString(16).toUpperCase(),x:x=>Math.round(x).toString(16)};function identity(x){return x}var locale,format,formatPrefix,map=Array.prototype.map,prefixes=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function formatLocale(locale2){var grouping,thousands,group=void 0===locale2.grouping||void 0===locale2.thousands?identity:(grouping=map.call(locale2.grouping,Number),thousands=locale2.thousands+"",function(value,width){for(var i=value.length,t=[],j=0,g=grouping[0],length=0;i>0&&g>0&&(length+g+1>width&&(g=Math.max(1,width-length)),t.push(value.substring(i-=g,i+g)),!((length+=g+1)>width));)g=grouping[j=(j+1)%grouping.length];return t.reverse().join(thousands)}),currencyPrefix=void 0===locale2.currency?"":locale2.currency[0]+"",currencySuffix=void 0===locale2.currency?"":locale2.currency[1]+"",decimal=void 0===locale2.decimal?".":locale2.decimal+"",numerals=void 0===locale2.numerals?identity:function(numerals){return function(value){return value.replace(/[0-9]/g,function(i){return numerals[+i]})}}(map.call(locale2.numerals,String)),percent=void 0===locale2.percent?"%":locale2.percent+"",minus=void 0===locale2.minus?"−":locale2.minus+"",nan=void 0===locale2.nan?"NaN":locale2.nan+"";function newFormat(specifier,options){var fill=(specifier=formatSpecifier(specifier)).fill,align=specifier.align,sign=specifier.sign,symbol=specifier.symbol,zero=specifier.zero,width=specifier.width,comma=specifier.comma,precision=specifier.precision,trim=specifier.trim,type=specifier.type;"n"===type?(comma=!0,type="g"):formatTypes[type]||(void 0===precision&&(precision=12),trim=!0,type="g"),(zero||"0"===fill&&"="===align)&&(zero=!0,fill="0",align="=");var prefix=(options&&void 0!==options.prefix?options.prefix:"")+("$"===symbol?currencyPrefix:"#"===symbol&&/[boxX]/.test(type)?"0"+type.toLowerCase():""),suffix=("$"===symbol?currencySuffix:/[%p]/.test(type)?percent:"")+(options&&void 0!==options.suffix?options.suffix:""),formatType=formatTypes[type],maybeSuffix=/[defgprs%]/.test(type);function format2(value){var i,n,c,valuePrefix=prefix,valueSuffix=suffix;if("c"===type)valueSuffix=formatType(value)+valueSuffix,value="";else{var valueNegative=(value=+value)<0||1/value<0;if(value=isNaN(value)?nan:formatType(Math.abs(value),precision),trim&&(value=function(s){out:for(var i1,n=s.length,i=1,i0=-1;i<n;++i)switch(s[i]){case".":i0=i1=i;break;case"0":0===i0&&(i0=i),i1=i;break;default:if(!+s[i])break out;i0>0&&(i0=0)}return i0>0?s.slice(0,i0)+s.slice(i1+1):s}(value)),valueNegative&&0===+value&&"+"!==sign&&(valueNegative=!1),valuePrefix=(valueNegative?"("===sign?sign:minus:"-"===sign||"("===sign?"":sign)+valuePrefix,valueSuffix=("s"!==type||isNaN(value)||void 0===prefixExponent?"":prefixes[8+prefixExponent/3])+valueSuffix+(valueNegative&&"("===sign?")":""),maybeSuffix)for(i=-1,n=value.length;++i<n;)if(48>(c=value.charCodeAt(i))||c>57){valueSuffix=(46===c?decimal+value.slice(i+1):value.slice(i))+valueSuffix,value=value.slice(0,i);break}}comma&&!zero&&(value=group(value,1/0));var length=valuePrefix.length+value.length+valueSuffix.length,padding=length<width?new Array(width-length+1).join(fill):"";switch(comma&&zero&&(value=group(padding+value,padding.length?width-valueSuffix.length:1/0),padding=""),align){case"<":value=valuePrefix+value+valueSuffix+padding;break;case"=":value=valuePrefix+padding+value+valueSuffix;break;case"^":value=padding.slice(0,length=padding.length>>1)+valuePrefix+value+valueSuffix+padding.slice(length);break;default:value=padding+valuePrefix+value+valueSuffix}return numerals(value)}return precision=void 0===precision?6:/[gprs]/.test(type)?Math.max(1,Math.min(21,precision)):Math.max(0,Math.min(20,precision)),format2.toString=function(){return specifier+""},format2}return{format:newFormat,formatPrefix:function(specifier,value){var e=3*Math.max(-8,Math.min(8,Math.floor(exponent(value)/3))),k=Math.pow(10,-e),f=newFormat(((specifier=formatSpecifier(specifier)).type="f",specifier),{suffix:prefixes[8+e/3]});return function(value2){return f(k*value2)}}}}locale=formatLocale({thousands:",",grouping:[3],currency:["$",""]}),format=locale.format,formatPrefix=locale.formatPrefix;export{formatPrefix as a,format as b,exponent as e,formatSpecifier as f};
@@ -0,0 +1 @@
1
+ import{p as populateCommonDb}from"./chunk-JWPE2WC7-C54OW1iN.js";import{p as getDiagramTitle,o as setDiagramTitle,s as setAccDescription,g as getAccDescription,a as getAccTitle,b as setAccTitle,_ as __name,l as log,c as getConfig2,d as select,A as setupGraphViewbox2,q as clear,B as cleanAndMerge,z as getConfig,D as defaultConfig_default,i as sanitizeText,w as wrapLabel,aj as calculateTextDimensions}from"./mermaid.core-Cy9iVxov.js";import{p as parse,i as isEmResetFrame}from"./cynefin-VYW2F7L2-C0dowxsF.js";import"./vendor-mdxeditor-4PbKH6K7.js";import"./vendor-antd-Bzi1WuBb.js";import"./vendor-codemirror-CKTrJd47.js";import"./vendor-markdown-BN3QLsBu.js";var PositionFrameKind="position frame",FramePositionedKind="frame positioned",PositionRelationKind="position relation",RelationPositionedKind="relation positioned",setOptions=__name(function(_rawOptString){log.debug("options str",_rawOptString)},"setOptions"),getOptions=__name(function(){return{}},"getOptions"),clear2=__name(function(){reset(),clear()},"clear");function reset(){store={}}__name(reset,"reset");var DEFAULT_EVENTMODELING_CONFIG=defaultConfig_default.eventmodeling,getConfig3=__name(()=>cleanAndMerge({...DEFAULT_EVENTMODELING_CONFIG,...getConfig().eventmodeling}),"getConfig"),store={};function getState(){let state=initial;const{ast:ast}=store,diagramProps2=getDiagramProps();if(!ast)throw new Error("No data for EventModel");return ast.frames.forEach((frame,index)=>{const textProps=calculateTextProps(frame,ast.dataEntities,diagramProps2);let sourceFrames;state=dispatch(state,{$kind:"position frame",index:index,frame:frame,textProps:textProps}),hasSourceFrame(frame)?(log.debug("source frame",frame.sourceFrames),sourceFrames=ast.frames.filter(currentFrame=>frame.sourceFrames.some(sf=>sf.$refText===currentFrame.name)),sourceFrames.forEach(sourceFrame=>{state=dispatch(state,{$kind:"position relation",index:index,frame:frame,sourceFrame:sourceFrame})})):state=dispatch(state,{$kind:"position relation",index:index,frame:frame})}),state={...state,sortedSwimlanesArray:sortedSwimlanesArray(state.swimlanes)},state}function setAst(ast){store.ast=ast}__name(getState,"getState"),__name(setAst,"setAst");var diagramProps={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 getDiagramProps(){return diagramProps}__name(getDiagramProps,"getDiagramProps");var initial={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function extractNamespace(entityIdentifier){const spl=entityIdentifier.split(".");if(2===spl.length)return spl[0]}function extractName(entityIdentifier){const spl=entityIdentifier.split(".");return 2===spl.length?spl[1]:entityIdentifier}function findSwimlaneByNamespace(swimlanes,namespace){if(namespace&&0!==namespace.length)return Object.values(swimlanes).find(swimlane=>swimlane.namespace===namespace)}function findNextAvailableIndex(swimlanes,boundaryMin,boundaryMax){return Math.max(boundaryMin,...Object.keys(swimlanes).filter(key=>{const index=Number.parseInt(key);return index>boundaryMin&&index<boundaryMax}).map(key=>Number.parseInt(key)))+1}function calculateSwimlaneProps(frame,swimlanes){const namespace=extractNamespace(frame.entityIdentifier),sw=findSwimlaneByNamespace(swimlanes,namespace);switch(frame.modelEntityType){case"ui":case"pcr":case"processor":return sw?{index:sw.index,label:sw.namespace||diagramProps.labelUiAutomation}:namespace?{index:findNextAvailableIndex(swimlanes,0,100),label:diagramProps.labelUiAutomationPrefix+namespace}:{index:0,label:diagramProps.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return sw?{index:sw.index,label:sw.namespace||diagramProps.labelCommandReadModel}:namespace?{index:findNextAvailableIndex(swimlanes,100,200),label:diagramProps.labelCommandReadModelPrefix+namespace}:{index:100,label:diagramProps.labelCommandReadModel};default:return sw?{index:sw.index,label:sw.namespace||diagramProps.labelEvents}:namespace?{index:findNextAvailableIndex(swimlanes,200,300),label:diagramProps.labelEventsPrefix+namespace}:{index:200,label:diagramProps.labelEvents}}}function calculateEntityVisualProps(frame){const{themeVariables:themeVariables}=getConfig();switch(frame.modelEntityType){case"ui":return{fill:themeVariables.emUiFill??"white",stroke:themeVariables.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:themeVariables.emProcessorFill??"#edb3f6",stroke:themeVariables.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:themeVariables.emReadModelFill??"#d3f1a2",stroke:themeVariables.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:themeVariables.emCommandFill??"#bcd6fe",stroke:themeVariables.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:themeVariables.emEventFill??"#ffb778",stroke:themeVariables.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}function calculateTextProps(frame,dataEntities,diagramProps2){const config=getConfig(),name=sanitizeText(extractName(frame.entityIdentifier)??"",config);let toHtml;const wrapLabelConfig={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"};let content=`<b>${wrapLabel(name,diagramProps2.textMaxWidth,wrapLabelConfig)}</b>`;if(frame.dataInlineValue&&(toHtml=frame.dataInlineValue,toHtml=toHtml.substring(toHtml.indexOf("{")+1),toHtml=toHtml.substring(0,toHtml.lastIndexOf("}")-1),toHtml=sanitizeText(toHtml,config),toHtml=wrapLabel(toHtml,diagramProps2.textMaxWidth,wrapLabelConfig),toHtml=toHtml.replaceAll(" ","&nbsp;")),frame.dataReference){const dataEntity=dataEntities.find(dataEntity2=>{var _a;return dataEntity2.name===(null==(_a=frame.dataReference)?void 0:_a.$refText)});dataEntity&&(toHtml=dataEntity.dataBlockValue,toHtml=toHtml.substring(toHtml.indexOf("{\n")+2),toHtml=toHtml.substring(0,toHtml.lastIndexOf("}")-1),toHtml=sanitizeText(toHtml,config),toHtml=wrapLabel(toHtml,diagramProps2.textMaxWidth,wrapLabelConfig),toHtml=toHtml.replaceAll(" ","&nbsp;"),toHtml+="<br/>")}const hasRenderedData=void 0!==toHtml;hasRenderedData&&(content+=`<br/><br/><code style="text-align: left; display: block;max-width:${diagramProps2.textMaxWidth}px">${toHtml}</code>`);const dimensions=calculateTextDimensions(content,{fontSize:wrapLabelConfig.fontSize,fontWeight:wrapLabelConfig.fontWeight,fontFamily:wrapLabelConfig.fontFamily}),props={content:content,width:hasRenderedData?dimensions.width/3:dimensions.width,height:dimensions.height};return log.debug(`[${frame.name}] ${frame.entityIdentifier} text`,props),props}function decidePositionFrame(state,_command){const command=_command,visual=calculateEntityVisualProps(command.frame),dimension={width:command.textProps.width+2*diagramProps.boxTextPadding,height:command.textProps.height+2*diagramProps.boxTextPadding};return[{$kind:"frame positioned",frame:command.frame,index:command.index,visual:visual,dimension:dimension,textProps:command.textProps}]}function calculateX(swimlane,previousSwimlane,lastBox){return void 0===previousSwimlane?diagramProps.contentStartX:previousSwimlane.index===swimlane.index&&swimlane.r?swimlane.r+diagramProps.boxPadding:void 0===lastBox?diagramProps.contentStartX:lastBox.r-diagramProps.boxOverlap+diagramProps.boxPadding}function calculateMaxRight(swimlanes,swimlaneR){const rs=[...swimlanes.map(s=>s.r),swimlaneR];return Math.max(...rs)}function sortedSwimlanesArray(swimlanes){return Object.values(swimlanes).sort((a,b)=>a.index-b.index)}function evolveFramePositioned(state,_event){const event=_event,swimlaneProps=calculateSwimlaneProps(event.frame,state.swimlanes);let swimlane;swimlane=swimlaneProps.index in state.swimlanes?state.swimlanes[swimlaneProps.index]:{index:swimlaneProps.index,label:swimlaneProps.label,r:0,y:swimlaneProps.index*diagramProps.swimlaneMinHeight+diagramProps.swimlaneGap,height:diagramProps.swimlaneMinHeight,maxHeight:diagramProps.swimlaneMinHeight};const lastBox=state.boxes.length>0?state.boxes[state.boxes.length-1]:void 0,previousSwimlane=void 0!==state.previousSwimlaneNumber?state.swimlanes[state.previousSwimlaneNumber]:void 0,dimension={width:Math.max(diagramProps.boxMinWidth,Math.min(diagramProps.boxMaxWidth,event.dimension.width))+2*diagramProps.boxPadding,height:Math.max(diagramProps.boxMinHeight,Math.min(diagramProps.boxMaxHeight,event.dimension.height))+2*diagramProps.boxPadding},x=calculateX(swimlane,previousSwimlane,lastBox),r=x+dimension.width+diagramProps.boxPadding,maxR=calculateMaxRight(Object.values(state.swimlanes),r);swimlane.r=x+dimension.width,swimlane.maxHeight=Math.max(swimlane.maxHeight,dimension.height),swimlane.height=Math.max(diagramProps.swimlaneMinHeight,swimlane.maxHeight)+2*diagramProps.swimlanePadding;const box={x:x,y:diagramProps.swimlanePadding+swimlane.y,r:r,dimension:dimension,leftSibling:!1,swimlane:swimlane,visual:event.visual,text:event.textProps.content,frame:event.frame,index:event.index},newState={...state,boxes:[...state.boxes,box],swimlanes:{...state.swimlanes,[`${swimlane.index}`]:swimlane},previousSwimlaneNumber:swimlaneProps.index,previousFrame:event.frame,maxR:maxR},swimlanes=sortedSwimlanesArray(newState.swimlanes);swimlanes.length>0&&(swimlanes[0].y=0);for(let i=1;i<swimlanes.length;i++){const sw=swimlanes[i],prevSw=swimlanes[i-1];sw.y=prevSw.y+prevSw.height+diagramProps.swimlaneGap}return newState}function isFirstFrame(index,frame){return 0===index&&0===frame.sourceFrames.length}function hasSourceFrame(frame){return void 0!==frame.sourceFrames&&null!==frame.sourceFrames&&frame.sourceFrames.length>0}function findBoxByFrame(boxes,frame){if(null!=frame)return boxes.find(box=>box.frame.name===frame.name)}function findBoxByLineIndex(boxes,targetSwimlane,lineIndex){if(!(lineIndex<0))for(let i=lineIndex;i>=0;i--){const box=boxes[i];if(box.swimlane.index!==targetSwimlane)return box}}function decidePositionRelation(state,_command){const command=_command;if(isEmResetFrame(command.frame)||isFirstFrame(command.index,command.frame))return[];const targetBox=findBoxByFrame(state.boxes,command.frame);if(void 0===targetBox)throw new Error(`Target box not found for frame ${command.frame.name}`);let sourceBox;if(sourceBox=command.sourceFrame?findBoxByFrame(state.boxes,command.sourceFrame):findBoxByLineIndex(state.boxes,targetBox.swimlane.index,command.index-1),void 0===sourceBox)return[];return[{$kind:"relation positioned",frame:command.frame,index:command.index,sourceBox:sourceBox,targetBox:targetBox}]}function evolveRelationPositioned(state,_event){const event=_event,relation={visual:{fill:"none",stroke:"#000"},source:{x:event.sourceBox.x,y:event.sourceBox.y},target:{x:event.targetBox.x,y:event.targetBox.y},sourceBox:event.sourceBox,targetBox:event.targetBox};return{...state,relations:[...state.relations,relation]}}__name(extractNamespace,"extractNamespace"),__name(extractName,"extractName"),__name(findSwimlaneByNamespace,"findSwimlaneByNamespace"),__name(findNextAvailableIndex,"findNextAvailableIndex"),__name(calculateSwimlaneProps,"calculateSwimlaneProps"),__name(calculateEntityVisualProps,"calculateEntityVisualProps"),__name(calculateTextProps,"calculateTextProps"),__name(decidePositionFrame,"decidePositionFrame"),__name(calculateX,"calculateX"),__name(calculateMaxRight,"calculateMaxRight"),__name(sortedSwimlanesArray,"sortedSwimlanesArray"),__name(evolveFramePositioned,"evolveFramePositioned"),__name(isFirstFrame,"isFirstFrame"),__name(hasSourceFrame,"hasSourceFrame"),__name(findBoxByFrame,"findBoxByFrame"),__name(findBoxByLineIndex,"findBoxByLineIndex"),__name(decidePositionRelation,"decidePositionRelation"),__name(evolveRelationPositioned,"evolveRelationPositioned");var deciders={[PositionFrameKind]:decidePositionFrame,[PositionRelationKind]:decidePositionRelation},evolvers={[FramePositionedKind]:evolveFramePositioned,[RelationPositionedKind]:evolveRelationPositioned};function decide(state,command){const fn=deciders[command.$kind];if(null==fn)return[];const events=fn(state,command);return log.debug("decided events",events),events}function evolve(state,events){const newState=events.reduce((previousState,event)=>{const fn=evolvers[event.$kind];return null==fn?previousState:fn(previousState,event)},state);return log.debug("evolve events",{state:state,newState:newState,events:events}),newState}function dispatch(state,command){return evolve(state,decide(state,command))}__name(decide,"decide"),__name(evolve,"evolve"),__name(dispatch,"dispatch");var db={getConfig:getConfig3,setOptions:setOptions,getOptions:getOptions,clear:clear2,setAccTitle:setAccTitle,getAccTitle:getAccTitle,getAccDescription:getAccDescription,setAccDescription:setAccDescription,setDiagramTitle:setDiagramTitle,getDiagramTitle:getDiagramTitle,setAst:setAst,getDiagramProps:getDiagramProps,getState:getState},parser={parse:__name(async input=>{const ast=await parse("eventmodeling",input);log.debug(ast),db.setAst(ast),populateCommonDb(ast,db)},"parse")},DEFAULT_CONFIG=getConfig2(),DEFAULT_EVENTMODELING_CONFIG2=null==DEFAULT_CONFIG?void 0:DEFAULT_CONFIG.eventmodeling;function renderD3Box(diagram2,diagramProps2){return box=>{const y=box.swimlane.y+diagramProps2.swimlanePadding,g=diagram2.append("g").attr("class","em-box");g.append("rect").attr("x",box.x).attr("y",y).attr("rx","3").attr("width",box.dimension.width).attr("height",box.dimension.height).attr("stroke",box.visual.stroke).attr("fill",box.visual.fill);g.append("foreignObject").attr("x",box.x+diagramProps2.boxPadding).attr("y",y+10).attr("width",box.dimension.width-2*diagramProps2.boxPadding).attr("height",box.dimension.height-2*diagramProps2.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(box.text)}}function dirUpwards(sourceY,targetY){return sourceY>targetY}function renderD3Relation(diagram2,diagramProps2,arrowheadId,themeVariables){return relation=>{const sourceBoxY=relation.sourceBox.swimlane.y+diagramProps2.swimlanePadding,targetBoxY=relation.targetBox.swimlane.y+diagramProps2.swimlanePadding,upwards=dirUpwards(sourceBoxY,targetBoxY),sourceX=relation.sourceBox.x+2*relation.sourceBox.dimension.width/3,targetX=relation.targetBox.x+relation.targetBox.dimension.width/3;let sourceY,targetY;log.debug(`rendering relation up=${upwards} for `,{sourceBox:relation.sourceBox,targetBox:relation.targetBox}),upwards?(sourceY=sourceBoxY,targetY=targetBoxY+relation.targetBox.dimension.height):(sourceY=sourceBoxY+relation.sourceBox.dimension.height,targetY=targetBoxY);const relationStroke=themeVariables.emRelationStroke??relation.visual.stroke;diagram2.append("path").attr("class","em-relation").attr("fill",relation.visual.fill).attr("stroke",relationStroke).attr("stroke-width","1").attr("marker-end",`url(#${arrowheadId})`).attr("d",`M${sourceX} ${sourceY} L${targetX} ${targetY}`)}}function renderD3Swimlane(diagram2,maxR,diagramProps2,themeVariables){return swimlane=>{const g=diagram2.append("g").attr("class","em-swimlane"),oddBackground=themeVariables.emSwimlaneBackgroundOdd??"rgb(250,250,250)",backgroundStroke=themeVariables.emSwimlaneBackgroundStroke??"rgb(240,240,240)";g.append("rect").attr("x",0).attr("y",swimlane.y).attr("rx","3").attr("width",maxR+diagramProps2.swimlanePadding).attr("height",swimlane.height).attr("fill",oddBackground).attr("stroke",backgroundStroke),g.append("text").attr("font-weight",diagramProps2.swimlaneTextFontWeight).attr("x",30).attr("y",swimlane.y+30).text(swimlane.label)}}__name(renderD3Box,"renderD3Box"),__name(dirUpwards,"dirUpwards"),__name(renderD3Relation,"renderD3Relation"),__name(renderD3Swimlane,"renderD3Swimlane");var diagram={parser:parser,db:db,renderer:{draw:__name(function(txt,id,ver,diagObj){if(log.debug("in eventmodeling renderer",txt+"\n","id:",id,ver),!DEFAULT_EVENTMODELING_CONFIG2)throw new Error("EventModeling config not found");const db2=diagObj.db,{themeVariables:themeVariables,eventmodeling:config}=getConfig2(),diagram2=select(`[id="${id}"]`),diagramProps2=db2.getDiagramProps(),state=db2.getState(),arrowheadId=`em-arrowhead-${id}`,arrowheadColor=themeVariables.emArrowhead??"#000000";state.sortedSwimlanesArray.forEach(renderD3Swimlane(diagram2,state.maxR,diagramProps2,themeVariables)),state.boxes.forEach(renderD3Box(diagram2,diagramProps2)),state.relations.forEach(renderD3Relation(diagram2,diagramProps2,arrowheadId,themeVariables));diagram2.append("defs").append("marker").attr("id",arrowheadId).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",arrowheadColor),setupGraphViewbox2(void 0,diagram2,(null==config?void 0:config.padding)??30,null==config?void 0:config.useMaxWidth)},"draw")},styles:__name(_options=>"","getStyles")};export{diagram};
@@ -0,0 +1 @@
1
+ var _a;import{p as populateCommonDb}from"./chunk-JWPE2WC7-C54OW1iN.js";import{_ as __name,W as getThemeVariables3,z as getConfig,B as cleanAndMerge,F as selectSvgElement,e as configureSvgSize,l as log,bd as styles2String,d as select,b as setAccTitle,a as getAccTitle,o as setDiagramTitle,p as getDiagramTitle,g as getAccDescription,s as setAccDescription,D as defaultConfig_default,be as isLabelStyle,q as clear}from"./mermaid.core-Cy9iVxov.js";import{s as setupViewPortForSVG}from"./chunk-VR4S4FIN-Bomuor1h.js";import{p as parse}from"./cynefin-VYW2F7L2-C0dowxsF.js";import{b as format}from"./defaultLocale-DZ7E7S9R.js";import{o as ordinal}from"./ordinal-DA-_8pMy.js";import"./vendor-mdxeditor-4PbKH6K7.js";import"./vendor-antd-Bzi1WuBb.js";import"./vendor-codemirror-CKTrJd47.js";import"./vendor-markdown-BN3QLsBu.js";import"./init-DMZMl1PR.js";function count(node){var sum=0,children=node.children,i=children&&children.length;if(i)for(;--i>=0;)sum+=children[i].value;else sum=1;node.value=sum}function hierarchy(data,children){data instanceof Map?(data=[void 0,data],void 0===children&&(children=mapChildren)):void 0===children&&(children=objectChildren);for(var node,child,childs,i,n,root=new Node(data),nodes=[root];node=nodes.pop();)if((childs=children(node.data))&&(n=(childs=Array.from(childs)).length))for(node.children=childs,i=n-1;i>=0;--i)nodes.push(child=childs[i]=new Node(childs[i])),child.parent=node,child.depth=node.depth+1;return root.eachBefore(computeHeight)}function objectChildren(d){return d.children}function mapChildren(d){return Array.isArray(d)?d[1]:null}function copyData(node){void 0!==node.data.value&&(node.value=node.data.value),node.data=node.data.data}function computeHeight(node){var height=0;do{node.height=height}while((node=node.parent)&&node.height<++height)}function Node(data){this.data=data,this.depth=this.height=0,this.parent=null}function constantZero(){return 0}function constant(x){return function(){return x}}function roundNode(node){node.x0=Math.round(node.x0),node.y0=Math.round(node.y0),node.x1=Math.round(node.x1),node.y1=Math.round(node.y1)}function treemapDice(parent,x0,y0,x1,y1){for(var node,nodes=parent.children,i=-1,n=nodes.length,k=parent.value&&(x1-x0)/parent.value;++i<n;)(node=nodes[i]).y0=y0,node.y1=y1,node.x0=x0,node.x1=x0+=node.value*k}function treemapSlice(parent,x0,y0,x1,y1){for(var node,nodes=parent.children,i=-1,n=nodes.length,k=parent.value&&(y1-y0)/parent.value;++i<n;)(node=nodes[i]).x0=x0,node.x1=x1,node.y0=y0,node.y1=y0+=node.value*k}Node.prototype=hierarchy.prototype={constructor:Node,count:function(){return this.eachAfter(count)},each:function(callback,that){let index=-1;for(const node of this)callback.call(that,node,++index,this);return this},eachAfter:function(callback,that){for(var children,i,n,node=this,nodes=[node],next=[],index=-1;node=nodes.pop();)if(next.push(node),children=node.children)for(i=0,n=children.length;i<n;++i)nodes.push(children[i]);for(;node=next.pop();)callback.call(that,node,++index,this);return this},eachBefore:function(callback,that){for(var children,i,node=this,nodes=[node],index=-1;node=nodes.pop();)if(callback.call(that,node,++index,this),children=node.children)for(i=children.length-1;i>=0;--i)nodes.push(children[i]);return this},find:function(callback,that){let index=-1;for(const node of this)if(callback.call(that,node,++index,this))return node},sum:function(value){return this.eachAfter(function(node){for(var sum=+value(node.data)||0,children=node.children,i=children&&children.length;--i>=0;)sum+=children[i].value;node.value=sum})},sort:function(compare){return this.eachBefore(function(node){node.children&&node.children.sort(compare)})},path:function(end){for(var start=this,ancestor=function(a,b){if(a===b)return a;var aNodes=a.ancestors(),bNodes=b.ancestors(),c=null;a=aNodes.pop(),b=bNodes.pop();for(;a===b;)c=a,a=aNodes.pop(),b=bNodes.pop();return c}(start,end),nodes=[start];start!==ancestor;)start=start.parent,nodes.push(start);for(var k=nodes.length;end!==ancestor;)nodes.splice(k,0,end),end=end.parent;return nodes},ancestors:function(){for(var node=this,nodes=[node];node=node.parent;)nodes.push(node);return nodes},descendants:function(){return Array.from(this)},leaves:function(){var leaves=[];return this.eachBefore(function(node){node.children||leaves.push(node)}),leaves},links:function(){var root=this,links=[];return root.each(function(node){node!==root&&links.push({source:node.parent,target:node})}),links},copy:function(){return hierarchy(this).eachBefore(copyData)},[Symbol.iterator]:function*(){var current,children,i,n,node=this,next=[node];do{for(current=next.reverse(),next=[];node=current.pop();)if(yield node,children=node.children)for(i=0,n=children.length;i<n;++i)next.push(children[i])}while(next.length)}};const squarify=function custom(ratio){function squarify2(parent,x0,y0,x1,y1){!function(ratio,parent,x0,y0,x1,y1){for(var row,nodeValue,dx,dy,sumValue,minValue,maxValue,newRatio,minRatio,alpha,beta,rows=[],nodes=parent.children,i0=0,i1=0,n=nodes.length,value=parent.value;i0<n;){dx=x1-x0,dy=y1-y0;do{sumValue=nodes[i1++].value}while(!sumValue&&i1<n);for(minValue=maxValue=sumValue,beta=sumValue*sumValue*(alpha=Math.max(dy/dx,dx/dy)/(value*ratio)),minRatio=Math.max(maxValue/beta,beta/minValue);i1<n;++i1){if(sumValue+=nodeValue=nodes[i1].value,nodeValue<minValue&&(minValue=nodeValue),nodeValue>maxValue&&(maxValue=nodeValue),beta=sumValue*sumValue*alpha,(newRatio=Math.max(maxValue/beta,beta/minValue))>minRatio){sumValue-=nodeValue;break}minRatio=newRatio}rows.push(row={value:sumValue,dice:dx<dy,children:nodes.slice(i0,i1)}),row.dice?treemapDice(row,x0,y0,x1,value?y0+=dy*sumValue/value:y1):treemapSlice(row,x0,y0,value?x0+=dx*sumValue/value:x1,y1),value-=sumValue,i0=i1}}(ratio,parent,x0,y0,x1,y1)}return squarify2.ratio=function(x){return custom((x=+x)>1?x:1)},squarify2}((1+Math.sqrt(5))/2);function treemap(){var tile=squarify,round=!1,dx=1,dy=1,paddingStack=[0],paddingInner=constantZero,paddingTop=constantZero,paddingRight=constantZero,paddingBottom=constantZero,paddingLeft=constantZero;function treemap2(root){return root.x0=root.y0=0,root.x1=dx,root.y1=dy,root.eachBefore(positionNode),paddingStack=[0],round&&root.eachBefore(roundNode),root}function positionNode(node){var p=paddingStack[node.depth],x0=node.x0+p,y0=node.y0+p,x1=node.x1-p,y1=node.y1-p;x1<x0&&(x0=x1=(x0+x1)/2),y1<y0&&(y0=y1=(y0+y1)/2),node.x0=x0,node.y0=y0,node.x1=x1,node.y1=y1,node.children&&(p=paddingStack[node.depth+1]=paddingInner(node)/2,x0+=paddingLeft(node)-p,y0+=paddingTop(node)-p,(x1-=paddingRight(node)-p)<x0&&(x0=x1=(x0+x1)/2),(y1-=paddingBottom(node)-p)<y0&&(y0=y1=(y0+y1)/2),tile(node,x0,y0,x1,y1))}return treemap2.round=function(x){return arguments.length?(round=!!x,treemap2):round},treemap2.size=function(x){return arguments.length?(dx=+x[0],dy=+x[1],treemap2):[dx,dy]},treemap2.tile=function(x){return arguments.length?(tile=function(f){if("function"!=typeof f)throw new Error;return f}(x),treemap2):tile},treemap2.padding=function(x){return arguments.length?treemap2.paddingInner(x).paddingOuter(x):treemap2.paddingInner()},treemap2.paddingInner=function(x){return arguments.length?(paddingInner="function"==typeof x?x:constant(+x),treemap2):paddingInner},treemap2.paddingOuter=function(x){return arguments.length?treemap2.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x):treemap2.paddingTop()},treemap2.paddingTop=function(x){return arguments.length?(paddingTop="function"==typeof x?x:constant(+x),treemap2):paddingTop},treemap2.paddingRight=function(x){return arguments.length?(paddingRight="function"==typeof x?x:constant(+x),treemap2):paddingRight},treemap2.paddingBottom=function(x){return arguments.length?(paddingBottom="function"==typeof x?x:constant(+x),treemap2):paddingBottom},treemap2.paddingLeft=function(x){return arguments.length?(paddingLeft="function"==typeof x?x:constant(+x),treemap2):paddingLeft},treemap2}var TreeMapDB=(__name(_a=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=setAccTitle,this.getAccTitle=getAccTitle,this.setDiagramTitle=setDiagramTitle,this.getDiagramTitle=getDiagramTitle,this.getAccDescription=getAccDescription,this.setAccDescription=setAccDescription}getNodes(){return this.nodes}getConfig(){const defaultConfig=defaultConfig_default,userConfig=getConfig();return cleanAndMerge({...defaultConfig.treemap,...userConfig.treemap??{}})}addNode(node,level){this.nodes.push(node),this.levels.set(node,level),0===level&&(this.outerNodes.push(node),this.root??(this.root=node))}getRoot(){return{name:"",children:this.outerNodes}}addClass(id,_style){const styleClass=this.classes.get(id)??{id:id,styles:[],textStyles:[]},styles=_style.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");styles&&styles.forEach(s=>{isLabelStyle(s)&&((null==styleClass?void 0:styleClass.textStyles)?styleClass.textStyles.push(s):styleClass.textStyles=[s]),(null==styleClass?void 0:styleClass.styles)?styleClass.styles.push(s):styleClass.styles=[s]}),this.classes.set(id,styleClass)}getClasses(){return this.classes}getStylesForClass(classSelector){var _a2;return(null==(_a2=this.classes.get(classSelector))?void 0:_a2.styles)??[]}clear(){clear(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},"TreeMapDB"),_a);function buildHierarchy(items){if(!items.length)return[];const root=[],stack=[];return items.forEach(item=>{const node={name:item.name,children:"Leaf"===item.type?void 0:[]};for(node.classSelector=null==item?void 0:item.classSelector,(null==item?void 0:item.cssCompiledStyles)&&(node.cssCompiledStyles=item.cssCompiledStyles),"Leaf"===item.type&&void 0!==item.value&&(node.value=item.value);stack.length>0&&stack[stack.length-1].level>=item.level;)stack.pop();if(0===stack.length)root.push(node);else{const parent=stack[stack.length-1].node;parent.children?parent.children.push(node):parent.children=[node]}"Leaf"!==item.type&&stack.push({node:node,level:item.level})}),root}__name(buildHierarchy,"buildHierarchy");var populate=__name((ast,db)=>{populateCommonDb(ast,db);const items=[];for(const row of ast.TreemapRows??[])"ClassDefStatement"===row.$type&&db.addClass(row.className??"",row.styleText??"");for(const row of ast.TreemapRows??[]){const item=row.item;if(!item)continue;const level=row.indent?parseInt(row.indent):0,name=getItemName(item),styles=item.classSelector?db.getStylesForClass(item.classSelector):[],cssCompiledStyles=styles.length>0?styles:void 0,itemData={level:level,name:name,type:item.$type,value:item.value,classSelector:item.classSelector,cssCompiledStyles:cssCompiledStyles};items.push(itemData)}const hierarchyNodes=buildHierarchy(items),addNodesRecursively=__name((nodes,level)=>{for(const node of nodes)db.addNode(node,level),node.children&&node.children.length>0&&addNodesRecursively(node.children,level+1)},"addNodesRecursively");addNodesRecursively(hierarchyNodes,0)},"populate"),getItemName=__name(item=>item.name?String(item.name):"","getItemName"),parser={parser:{yy:void 0},parse:__name(async text=>{var _a2;try{const parseFunc=parse,ast=await parseFunc("treemap",text);log.debug("Treemap AST:",ast);const db=null==(_a2=parser.parser)?void 0:_a2.yy;if(!(db instanceof TreeMapDB))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");populate(ast,db)}catch(error){throw log.error("Error parsing treemap:",error),error}},"parse")},renderer={draw:__name((_text,id,_version,diagram2)=>{const treemapDb=diagram2.db,config=treemapDb.getConfig(),treemapInnerPadding=config.padding??10,title=treemapDb.getDiagramTitle(),root=treemapDb.getRoot(),{themeVariables:themeVariables}=getConfig();if(!root)return;const titleHeight=title?30:0,svg=selectSvgElement(id),width=config.nodeWidth?10*config.nodeWidth:960,height=config.nodeHeight?10*config.nodeHeight:500,svgWidth=width,svgHeight=height+titleHeight;let valueFormat;svg.attr("viewBox",`0 0 ${svgWidth} ${svgHeight}`),configureSvgSize(svg,svgHeight,svgWidth,config.useMaxWidth);try{const formatStr=config.valueFormat||",";if("$0,0"===formatStr)valueFormat=__name(value=>"$"+format(",")(value),"valueFormat");else if(formatStr.startsWith("$")&&formatStr.includes(",")){const precision=/\.\d+/.exec(formatStr),precisionStr=precision?precision[0]:"";valueFormat=__name(value=>"$"+format(","+precisionStr)(value),"valueFormat")}else if(formatStr.startsWith("$")){const restOfFormat=formatStr.substring(1);valueFormat=__name(value=>"$"+format(restOfFormat||"")(value),"valueFormat")}else valueFormat=format(formatStr)}catch(error){log.error("Error creating format function:",error),valueFormat=format(",")}const colorScale=ordinal().range(["transparent",themeVariables.cScale0,themeVariables.cScale1,themeVariables.cScale2,themeVariables.cScale3,themeVariables.cScale4,themeVariables.cScale5,themeVariables.cScale6,themeVariables.cScale7,themeVariables.cScale8,themeVariables.cScale9,themeVariables.cScale10,themeVariables.cScale11]),colorScalePeer=ordinal().range(["transparent",themeVariables.cScalePeer0,themeVariables.cScalePeer1,themeVariables.cScalePeer2,themeVariables.cScalePeer3,themeVariables.cScalePeer4,themeVariables.cScalePeer5,themeVariables.cScalePeer6,themeVariables.cScalePeer7,themeVariables.cScalePeer8,themeVariables.cScalePeer9,themeVariables.cScalePeer10,themeVariables.cScalePeer11]),colorScaleLabel=ordinal().range([themeVariables.cScaleLabel0,themeVariables.cScaleLabel1,themeVariables.cScaleLabel2,themeVariables.cScaleLabel3,themeVariables.cScaleLabel4,themeVariables.cScaleLabel5,themeVariables.cScaleLabel6,themeVariables.cScaleLabel7,themeVariables.cScaleLabel8,themeVariables.cScaleLabel9,themeVariables.cScaleLabel10,themeVariables.cScaleLabel11]);title&&svg.append("text").attr("x",svgWidth/2).attr("y",titleHeight/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(title);const g=svg.append("g").attr("transform",`translate(0, ${titleHeight})`).attr("class","treemapContainer"),hierarchyRoot=hierarchy(root).sum(d=>d.value??0).sort((a,b)=>(b.value??0)-(a.value??0)),treemapData=treemap().size([width,height]).paddingTop(d=>d.children&&d.children.length>0?35:0).paddingInner(treemapInnerPadding).paddingLeft(d=>d.children&&d.children.length>0?10:0).paddingRight(d=>d.children&&d.children.length>0?10:0).paddingBottom(d=>d.children&&d.children.length>0?10:0).round(!0)(hierarchyRoot),branchNodes=treemapData.descendants().filter(d=>d.children&&d.children.length>0),sections=g.selectAll(".treemapSection").data(branchNodes).enter().append("g").attr("class","treemapSection").attr("transform",d=>`translate(${d.x0},${d.y0})`);sections.append("rect").attr("width",d=>d.x1-d.x0).attr("height",25).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",d=>0===d.depth?"display: none;":""),sections.append("clipPath").attr("id",(_d,i)=>`clip-section-${id}-${i}`).append("rect").attr("width",d=>Math.max(0,d.x1-d.x0-12)).attr("height",25),sections.append("rect").attr("width",d=>d.x1-d.x0).attr("height",d=>d.y1-d.y0).attr("class",(_d,i)=>`treemapSection section${i}`).attr("fill",d=>colorScale(d.data.name)).attr("fill-opacity",.6).attr("stroke",d=>colorScalePeer(d.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",d=>{if(0===d.depth)return"display: none;";const styles=styles2String({cssCompiledStyles:d.data.cssCompiledStyles});return styles.nodeStyles+";"+styles.borderStyles.join(";")}),sections.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",12.5).attr("dominant-baseline","middle").text(d=>0===d.depth?"":d.data.name).attr("font-weight","bold").attr("clip-path",(_d,i)=>`url(#clip-section-${id}-${i})`).attr("style",d=>{if(0===d.depth)return"display: none;";return"dominant-baseline: middle; font-size: 12px; fill:"+colorScaleLabel(d.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+styles2String({cssCompiledStyles:d.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")}).each(function(d){if(0===d.depth)return;const self=select(this),originalText=d.data.name;self.text(originalText);const totalHeaderWidth=d.x1-d.x0;let spaceForTextContent;if(!1!==config.showValues&&d.value){spaceForTextContent=totalHeaderWidth-10-30-10-6}else{spaceForTextContent=totalHeaderWidth-6-6}const actualAvailableWidth=Math.max(15,spaceForTextContent),textNode=self.node();if(textNode.getComputedTextLength()>actualAvailableWidth){const ellipsis="...";let currentTruncatedText=originalText;for(;currentTruncatedText.length>0;){if(currentTruncatedText=originalText.substring(0,currentTruncatedText.length-1),0===currentTruncatedText.length){self.text(ellipsis),textNode.getComputedTextLength()>actualAvailableWidth&&self.text("");break}if(self.text(currentTruncatedText+ellipsis),textNode.getComputedTextLength()<=actualAvailableWidth)break}}}),!1!==config.showValues&&sections.append("text").attr("class","treemapSectionValue").attr("x",d=>d.x1-d.x0-10).attr("y",12.5).attr("text-anchor","end").attr("dominant-baseline","middle").text(d=>d.value?valueFormat(d.value):"").attr("font-style","italic").attr("style",d=>{if(0===d.depth)return"display: none;";return"text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+colorScaleLabel(d.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+styles2String({cssCompiledStyles:d.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")});const leafNodes=treemapData.leaves(),isComplexTreemap=leafNodes.length>20,baseLabelFontSize=isComplexTreemap?16:38,baseValueFontSize=isComplexTreemap?14:28,minLabelFontSize=isComplexTreemap?4:8,minValueFontSize=isComplexTreemap?4:6,labelPadding=isComplexTreemap?2:4,minDisplayThreshold=isComplexTreemap?8:10,spacingBetweenLabelAndValue=isComplexTreemap?1:2,cell=g.selectAll(".treemapLeafGroup").data(leafNodes).enter().append("g").attr("class",(d,i)=>`treemapNode treemapLeafGroup leaf${i}${d.data.classSelector?` ${d.data.classSelector}`:""}x`).attr("transform",d=>`translate(${d.x0},${d.y0})`);cell.append("rect").attr("width",d=>d.x1-d.x0).attr("height",d=>d.y1-d.y0).attr("class","treemapLeaf").attr("fill",d=>d.parent?colorScale(d.parent.data.name):colorScale(d.data.name)).attr("style",d=>styles2String({cssCompiledStyles:d.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",d=>d.parent?colorScale(d.parent.data.name):colorScale(d.data.name)).attr("stroke-width",3),cell.append("clipPath").attr("id",(_d,i)=>`clip-${id}-${i}`).append("rect").attr("width",d=>Math.max(0,d.x1-d.x0-4)).attr("height",d=>Math.max(0,d.y1-d.y0-4));if(cell.append("text").attr("class","treemapLabel").attr("x",d=>(d.x1-d.x0)/2).attr("y",d=>(d.y1-d.y0)/2).attr("style",d=>`text-anchor: middle; dominant-baseline: middle; font-size: ${baseLabelFontSize}px;fill:`+colorScaleLabel(d.data.name)+";"+styles2String({cssCompiledStyles:d.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(_d,i)=>`url(#clip-${id}-${i})`).text(d=>d.data.name).each(function(d){const self=select(this),nodeWidth=d.x1-d.x0,nodeHeight=d.y1-d.y0,textNode=self.node(),availableWidth=nodeWidth-2*labelPadding,availableHeight=nodeHeight-2*labelPadding;if(availableWidth<minDisplayThreshold||availableHeight<minDisplayThreshold)return void self.style("display","none");let currentLabelFontSize=parseInt(self.style("font-size"),10);for(;textNode.getComputedTextLength()>availableWidth&&currentLabelFontSize>minLabelFontSize;)currentLabelFontSize--,self.style("font-size",`${currentLabelFontSize}px`);let prospectiveValueFontSize=Math.max(minValueFontSize,Math.min(baseValueFontSize,Math.round(.6*currentLabelFontSize))),combinedHeight=currentLabelFontSize+spacingBetweenLabelAndValue+prospectiveValueFontSize;for(;combinedHeight>availableHeight&&currentLabelFontSize>minLabelFontSize&&(currentLabelFontSize--,prospectiveValueFontSize=Math.max(minValueFontSize,Math.min(baseValueFontSize,Math.round(.6*currentLabelFontSize))),!(prospectiveValueFontSize<minValueFontSize&&currentLabelFontSize===minLabelFontSize));)self.style("font-size",`${currentLabelFontSize}px`),combinedHeight=currentLabelFontSize+spacingBetweenLabelAndValue+prospectiveValueFontSize;self.style("font-size",`${currentLabelFontSize}px`),isComplexTreemap?(currentLabelFontSize<minLabelFontSize||availableHeight<minLabelFontSize)&&self.style("display","none"):(textNode.getComputedTextLength()>availableWidth||currentLabelFontSize<minLabelFontSize||availableHeight<currentLabelFontSize)&&self.style("display","none")}),!1!==config.showValues){cell.append("text").attr("class","treemapValue").attr("x",d=>(d.x1-d.x0)/2).attr("y",function(d){return(d.y1-d.y0)/2}).attr("style",d=>`text-anchor: middle; dominant-baseline: hanging; font-size: ${baseValueFontSize}px;fill:`+colorScaleLabel(d.data.name)+";"+styles2String({cssCompiledStyles:d.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(_d,i)=>`url(#clip-${id}-${i})`).text(d=>d.value?valueFormat(d.value):"").each(function(d){const valueTextElement=select(this),parentCellNode=this.parentNode;if(!parentCellNode)return void valueTextElement.style("display","none");const labelElement=select(parentCellNode).select(".treemapLabel");if(labelElement.empty()||"none"===labelElement.style("display"))return void valueTextElement.style("display","none");const finalLabelFontSize=parseFloat(labelElement.style("font-size")),actualValueFontSize=Math.max(minValueFontSize,Math.min(baseValueFontSize,Math.round(.6*finalLabelFontSize)));valueTextElement.style("font-size",`${actualValueFontSize}px`);const valueTopActualY=(d.y1-d.y0)/2+finalLabelFontSize/2+spacingBetweenLabelAndValue;valueTextElement.attr("y",valueTopActualY);const nodeWidth=d.x1-d.x0,maxValueBottomY=d.y1-d.y0-4,availableWidthForValue=nodeWidth-2*labelPadding;valueTextElement.node().getComputedTextLength()>availableWidthForValue||valueTopActualY+actualValueFontSize>maxValueBottomY||actualValueFontSize<minValueFontSize?valueTextElement.style("display","none"):valueTextElement.style("display",null)})}const diagramPadding=config.diagramPadding??8;setupViewPortForSVG(svg,diagramPadding,"flowchart",(null==config?void 0:config.useMaxWidth)||!1)},"draw"),getClasses:__name(function(_text,diagramObj){return diagramObj.db.getClasses()},"getClasses")},defaultTreemapStyleOptions={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},styles_default=__name(({treemap:treemap2}={})=>{const defaultThemeVariables=getThemeVariables3(),currentConfig=getConfig(),themeVariables=cleanAndMerge(defaultThemeVariables,currentConfig.themeVariables),options=cleanAndMerge(defaultTreemapStyleOptions,treemap2),titleColor=options.titleColor??themeVariables.titleColor,labelColor=options.labelColor??themeVariables.textColor,valueColor=options.valueColor??themeVariables.textColor;return`\n .treemapNode.section {\n stroke: ${options.sectionStrokeColor};\n stroke-width: ${options.sectionStrokeWidth};\n fill: ${options.sectionFillColor};\n }\n .treemapNode.leaf {\n stroke: ${options.leafStrokeColor};\n stroke-width: ${options.leafStrokeWidth};\n fill: ${options.leafFillColor};\n }\n .treemapLabel {\n fill: ${labelColor};\n font-size: ${options.labelFontSize};\n }\n .treemapValue {\n fill: ${valueColor};\n font-size: ${options.valueFontSize};\n }\n .treemapTitle {\n fill: ${titleColor};\n font-size: ${options.titleFontSize};\n }\n `},"getStyles"),diagram={parser:parser,get db(){return new TreeMapDB},renderer:renderer,styles:styles_default};export{diagram};
@@ -0,0 +1 @@
1
+ var _a;import{p as populateCommonDb}from"./chunk-JWPE2WC7-C54OW1iN.js";import{_ as __name,B as cleanAndMerge,F as selectSvgElement,e as configureSvgSize,l as log,b as setAccTitle,a as getAccTitle,o as setDiagramTitle,p as getDiagramTitle,g as getAccDescription,s as setAccDescription,z as getConfig,D as defaultConfig_default,q as clear}from"./mermaid.core-Cy9iVxov.js";import{p as parse}from"./cynefin-VYW2F7L2-C0dowxsF.js";import"./vendor-mdxeditor-4PbKH6K7.js";import"./vendor-antd-Bzi1WuBb.js";import"./vendor-codemirror-CKTrJd47.js";import"./vendor-markdown-BN3QLsBu.js";var DEFAULT_PACKET_CONFIG=defaultConfig_default.packet,PacketDB=(__name(_a=class{constructor(){this.packet=[],this.setAccTitle=setAccTitle,this.getAccTitle=getAccTitle,this.setDiagramTitle=setDiagramTitle,this.getDiagramTitle=getDiagramTitle,this.getAccDescription=getAccDescription,this.setAccDescription=setAccDescription}getConfig(){const config=cleanAndMerge({...DEFAULT_PACKET_CONFIG,...getConfig().packet});return config.showBits&&(config.paddingY+=10),config}getPacket(){return this.packet}pushWord(word){word.length>0&&this.packet.push(word)}clear(){clear(),this.packet=[]}},"PacketDB"),_a),populate=__name((ast,db)=>{populateCommonDb(ast,db);let lastBit=-1,word=[],row=1;const{bitsPerRow:bitsPerRow}=db.getConfig();for(let{start:start,end:end,bits:bits,label:label}of ast.blocks){if(void 0!==start&&void 0!==end&&end<start)throw new Error(`Packet block ${start} - ${end} is invalid. End must be greater than start.`);if(start??(start=lastBit+1),start!==lastBit+1)throw new Error(`Packet block ${start} - ${end??start} is not contiguous. It should start from ${lastBit+1}.`);if(0===bits)throw new Error(`Packet block ${start} is invalid. Cannot have a zero bit field.`);for(end??(end=start+(bits??1)-1),bits??(bits=end-start+1),lastBit=end,log.debug(`Packet block ${start} - ${lastBit} with label ${label}`);word.length<=bitsPerRow+1&&db.getPacket().length<1e4;){const[block,nextBlock]=getNextFittingBlock({start:start,end:end,bits:bits,label:label},row,bitsPerRow);if(word.push(block),block.end+1===row*bitsPerRow&&(db.pushWord(word),word=[],row++),!nextBlock)break;({start:start,end:end,bits:bits,label:label}=nextBlock)}}db.pushWord(word)},"populate"),getNextFittingBlock=__name((block,row,bitsPerRow)=>{if(void 0===block.start)throw new Error("start should have been set during first phase");if(void 0===block.end)throw new Error("end should have been set during first phase");if(block.start>block.end)throw new Error(`Block start ${block.start} is greater than block end ${block.end}.`);if(block.end+1<=row*bitsPerRow)return[block,void 0];const rowEnd=row*bitsPerRow-1,rowStart=row*bitsPerRow;return[{start:block.start,end:rowEnd,label:block.label,bits:rowEnd-block.start},{start:rowStart,end:block.end,label:block.label,bits:block.end-rowStart}]},"getNextFittingBlock"),parser={parser:{yy:void 0},parse:__name(async input=>{var _a2;const ast=await parse("packet",input),db=null==(_a2=parser.parser)?void 0:_a2.yy;if(!(db instanceof PacketDB))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");log.debug(ast),populate(ast,db)},"parse")},draw=__name((_text,id,_version,diagram2)=>{const db=diagram2.db,config=db.getConfig(),{rowHeight:rowHeight,paddingY:paddingY,bitWidth:bitWidth,bitsPerRow:bitsPerRow}=config,words=db.getPacket(),title=db.getDiagramTitle(),totalRowHeight=rowHeight+paddingY,svgHeight=totalRowHeight*(words.length+1)-(title?0:rowHeight),svgWidth=bitWidth*bitsPerRow+2,svg=selectSvgElement(id);svg.attr("viewBox",`0 0 ${svgWidth} ${svgHeight}`),configureSvgSize(svg,svgHeight,svgWidth,config.useMaxWidth);for(const[word,packet]of words.entries())drawWord(svg,packet,word,config);svg.append("text").text(title).attr("x",svgWidth/2).attr("y",svgHeight-totalRowHeight/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),drawWord=__name((svg,word,rowNumber,{rowHeight:rowHeight,paddingX:paddingX,paddingY:paddingY,bitWidth:bitWidth,bitsPerRow:bitsPerRow,showBits:showBits})=>{const group=svg.append("g"),wordY=rowNumber*(rowHeight+paddingY)+paddingY;for(const block of word){const blockX=block.start%bitsPerRow*bitWidth+1,width=(block.end-block.start+1)*bitWidth-paddingX;if(group.append("rect").attr("x",blockX).attr("y",wordY).attr("width",width).attr("height",rowHeight).attr("class","packetBlock"),group.append("text").attr("x",blockX+width/2).attr("y",wordY+rowHeight/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(block.label),!showBits)continue;const isSingleBlock=block.end===block.start,bitNumberY=wordY-2;group.append("text").attr("x",blockX+(isSingleBlock?width/2:0)).attr("y",bitNumberY).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",isSingleBlock?"middle":"start").text(block.start),isSingleBlock||group.append("text").attr("x",blockX+width).attr("y",bitNumberY).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(block.end)}},"drawWord"),renderer={draw:draw},defaultPacketStyleOptions={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},styles=__name(({packet:packet}={})=>{const options=cleanAndMerge(defaultPacketStyleOptions,packet);return`\n\t.packetByte {\n\t\tfont-size: ${options.byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${options.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${options.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${options.labelColor};\n\t\tfont-size: ${options.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${options.titleColor};\n\t\tfont-size: ${options.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${options.blockStrokeColor};\n\t\tstroke-width: ${options.blockStrokeWidth};\n\t\tfill: ${options.blockFillColor};\n\t}\n\t`},"styles"),diagram={parser:parser,get db(){return new PacketDB},renderer:renderer,styles:styles};export{diagram};
@@ -0,0 +1 @@
1
+ import{I as ImperativeState}from"./chunk-2Q5K7J3B-DK9JA8Ct.js";import{p as populateCommonDb}from"./chunk-JWPE2WC7-C54OW1iN.js";import{o as setDiagramTitle,b as setAccTitle,s as setAccDescription,p as getDiagramTitle,g as getAccDescription,a as getAccTitle,_ as __name,B as cleanAndMerge,l as log,F as selectSvgElement,e as configureSvgSize,z as getConfig,q as clear,i as sanitizeText,ah as getIconSVG,D as defaultConfig_default,ai as registerIconPacks}from"./mermaid.core-Cy9iVxov.js";import{p as parse}from"./cynefin-VYW2F7L2-C0dowxsF.js";import"./vendor-mdxeditor-4PbKH6K7.js";import"./vendor-antd-Bzi1WuBb.js";import"./vendor-codemirror-CKTrJd47.js";import"./vendor-markdown-BN3QLsBu.js";var ALL_BOX_CHARS=/[─━│┃└┗├┣]/,BRANCH_CHAR=/[└┗├┣]/,DASH_CHAR=/[─━]/,DECORATION_ONLY=/^[\s│┃]+$/,METADATA_LINE=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,COMMENT_LINE=/^\s*%%/;function isBoxDrawingFormat(lines){return lines.some(line=>ALL_BOX_CHARS.test(line))}function inferSegmentWidth(contentLines){for(const line of contentLines){const match=BRANCH_CHAR.exec(line);if((null==match?void 0:match.index)&&match.index>0)return match.index}return 4}function remapErrorLines(message,lineMap){return message.replace(/\bline\s+(\d+)\b/gi,(match,lineStr)=>{const line=parseInt(lineStr,10),original=lineMap.get(line);return original?`line ${original}`:match})}function preprocessBoxDrawing(input){const lines=input.split("\n"),lineMap=new Map;let keywordIdx=-1;for(const[i,line]of lines.entries())if("treeView-beta"===line.trim()){keywordIdx=i;break}if(-1===keywordIdx)return{text:input,lineMap:lineMap};const contentLineTexts=[];for(let i=keywordIdx+1;i<lines.length;i++){const line=lines[i];""===line.trim()||COMMENT_LINE.test(line)||METADATA_LINE.test(line)||(DECORATION_ONLY.test(line)||contentLineTexts.push(line.replace(/\t/g," ")))}if(!isBoxDrawingFormat(contentLineTexts))return{text:input,lineMap:lineMap};const segmentWidth=inferSegmentWidth(contentLineTexts),outputLines=[];let outLineNo=0;for(let i=0;i<=keywordIdx;i++)outputLines.push(lines[i]),outLineNo++,lineMap.set(outLineNo,i+1);for(let i=keywordIdx+1;i<lines.length;i++){const line=lines[i],origLineNo=i+1;if(""===line.trim()){outputLines.push(line),outLineNo++,lineMap.set(outLineNo,origLineNo);continue}if(COMMENT_LINE.test(line)){outputLines.push(line),outLineNo++,lineMap.set(outLineNo,origLineNo);continue}if(METADATA_LINE.test(line)){outputLines.push(line),outLineNo++,lineMap.set(outLineNo,origLineNo);continue}if(DECORATION_ONLY.test(line))continue;const normalized=line.replace(/\t/g," "),branchMatch=BRANCH_CHAR.exec(normalized);if(void 0!==(null==branchMatch?void 0:branchMatch.index)){const branchCol=branchMatch.index,depth=Math.round(branchCol/segmentWidth)+1;let pos=branchCol+1;for(;pos<normalized.length&&DASH_CHAR.test(normalized[pos]);)pos++;for(;pos<normalized.length&&" "===normalized[pos];)pos++;const content=normalized.slice(pos).trimEnd();if(!content)throw new Error(`Line ${origLineNo}: Empty node — expected a filename or directory name after the box-drawing prefix`);const indent=" ".repeat(depth);outputLines.push(indent+content),outLineNo++,lineMap.set(outLineNo,origLineNo)}else{if(/^[\s─━│┃└┗├┣]+$/.test(normalized))continue;if(ALL_BOX_CHARS.test(normalized))outputLines.push(line),outLineNo++,lineMap.set(outLineNo,origLineNo);else{if(/^\s+/.test(normalized))throw new Error(`Line ${origLineNo}: Unexpected indentation without box-drawing characters. In box-drawing format, use ├── or └── prefixes for indented nodes.`);outputLines.push(line),outLineNo++,lineMap.set(outLineNo,origLineNo)}}}return{text:outputLines.join("\n"),lineMap:lineMap}}__name(isBoxDrawingFormat,"isBoxDrawingFormat"),__name(inferSegmentWidth,"inferSegmentWidth"),__name(remapErrorLines,"remapErrorLines"),__name(preprocessBoxDrawing,"preprocessBoxDrawing");var state=new ImperativeState(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),clear2=__name(()=>{state.reset(),clear()},"clear"),getRoot=__name(()=>state.records.stack[0],"getRoot"),getCount=__name(()=>state.records.cnt,"getCount"),defaultConfig=defaultConfig_default.treeView,getConfig2=__name(()=>cleanAndMerge(defaultConfig,getConfig().treeView),"getConfig"),db_default={clear:clear2,addNode:__name((level,name,nodeType,cssClass,icon,description)=>{for(;level<=state.records.stack[state.records.stack.length-1].level;)state.records.stack.pop();const node={id:state.records.cnt++,level:level,name:name,nodeType:nodeType,icon:icon,cssClass:cssClass,description:description,children:[]};state.records.stack[state.records.stack.length-1].children.push(node),state.records.stack.push(node)},"addNode"),getRoot:getRoot,getCount:getCount,getConfig:getConfig2,getAccTitle:getAccTitle,getAccDescription:getAccDescription,getDiagramTitle:getDiagramTitle,setAccDescription:setAccDescription,setAccTitle:setAccTitle,setDiagramTitle:setDiagramTitle},populate=__name(ast=>{populateCommonDb(ast,db_default);for(const node of ast.nodes){const level="number"==typeof node.indent?node.indent:0;let name=node.name;const isDirectory=name.endsWith("/");isDirectory&&(name=name.slice(0,-1));const nodeType=isDirectory?"directory":"file",cssClass=node.classAnnotation||void 0,rawIcon=node.iconAnnotation,icon=void 0!==rawIcon?rawIcon||"none":void 0,rawDesc=node.descAnnotation||void 0,description=rawDesc?sanitizeText(rawDesc,getConfig()):void 0;db_default.addNode(level,name,nodeType,cssClass,icon,description)}},"populate"),parser={parse:__name(async input=>{const{text:text,lineMap:lineMap}=preprocessBoxDrawing(input);try{const ast=await parse("treeView",text);log.debug(ast),populate(ast)}catch(error){throw lineMap.size>0&&error instanceof Error&&(error.message=remapErrorLines(error.message,lineMap)),error}},"parse")},treeViewIcons={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:'<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>'},file:{body:'<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>'}}};function detectIcon(name,config){var _a;const filenameIcon=null==(_a=null==config?void 0:config.filenameIcons)?void 0:_a[name];if(filenameIcon)return filenameIcon;const dotIdx=name.lastIndexOf(".");if(dotIdx>0){const ext=name.substring(dotIdx).toLowerCase(),extensionIcons=null==config?void 0:config.extensionIcons;return(null==extensionIcons?void 0:extensionIcons[ext])??(null==extensionIcons?void 0:extensionIcons[ext.slice(1)])}}function qualifyIcon(icon,defaultIconPack){return icon.includes(":")?icon:icon in treeViewIcons.icons||!defaultIconPack?`${treeViewIcons.prefix}:${icon}`:`${defaultIconPack}:${icon}`}function getNodeIcon(node,config){if("none"!==node.icon){if(node.icon)return qualifyIcon(node.icon,config.defaultIconPack);if(config.showIcons){if("file"===node.nodeType){const detected=detectIcon(node.name,config);if("none"===detected)return;if(detected)return qualifyIcon(detected,config.defaultIconPack)}return`${treeViewIcons.prefix}:${"directory"===node.nodeType?"folder":"file"}`}}}__name(detectIcon,"detectIcon"),__name(qualifyIcon,"qualifyIcon"),__name(getNodeIcon,"getNodeIcon"),registerIconPacks([{name:treeViewIcons.prefix,icons:treeViewIcons}]);var iconSymbolId=__name((diagramId,icon)=>`tv-icon-${diagramId}-${icon.replace(/[^\w-]/g,"-")}`,"iconSymbolId"),injectIconDefs=__name(async(svg,root,config,diagramId)=>{const usedIcons=new Set,collect=__name(node=>{const icon=getNodeIcon(node,config);icon&&usedIcons.add(icon),node.children.forEach(collect)},"collect");if(collect(root),0===usedIcons.size)return;const iconSVGs=await Promise.all([...usedIcons].map(async icon=>({icon:icon,svg:await getIconSVG(icon,{height:14,width:14})}))),defs=svg.append("defs");for(const{icon:icon,svg:iconSVG}of iconSVGs)defs.append("g").attr("id",iconSymbolId(diagramId,icon)).html(iconSVG)},"injectIconDefs"),positionLabel=__name((x,y,node,domElem,config,diagramId)=>{var _a;const nodeGroup=domElem.append("g");let cssClasses="treeView-node-label";"directory"===node.nodeType&&(cssClasses+=" treeView-node-dir"),node.cssClass&&(cssClasses+=` ${node.cssClass}`);const icon=getNodeIcon(node,config),showIcon=void 0!==icon;icon&&nodeGroup.append("use").attr("xlink:href",`#${iconSymbolId(diagramId,icon)}`).attr("x",x+config.paddingX).attr("y",y+config.paddingY).attr("class","treeView-node-icon");const label=nodeGroup.append("text").text(node.name).attr("dominant-baseline","middle").attr("class",cssClasses),{height:labelHeight,width:labelWidth}=label.node().getBBox(),height=labelHeight+2*config.paddingY,labelX=x+config.paddingX+(showIcon?18:0);label.attr("x",labelX),label.attr("y",y+height/2);const labelRightEdge=labelX+labelWidth,width=labelWidth+2*config.paddingX+(showIcon?18:0);return node.BBox={x:x,y:y,width:width,height:height},(null==(_a=node.cssClass)?void 0:_a.split(/\s+/).includes("highlight"))&&nodeGroup.insert("rect",":first-child").attr("x",x).attr("y",y+1).attr("width",0).attr("height",height-2).attr("rx",3).attr("class","treeView-highlight-bg"),{node:node,nodeGroup:nodeGroup,labelRightEdge:labelRightEdge,centerY:y+height/2}},"positionLabel"),positionLine=__name((domElem,x1,y1,x2,y2,lineThickness)=>domElem.append("line").attr("x1",x1).attr("y1",y1).attr("x2",x2).attr("y2",y2).attr("stroke-width",lineThickness).attr("class","treeView-node-line"),"positionLine"),drawTree=__name((elem,root,config,diagramId)=>{var _a;let totalHeight=0,totalWidth=0;const renderInfos=[],drawNode=__name((elem2,node,config2,depth)=>{const indent=depth*(config2.rowIndent+config2.paddingX),info=positionLabel(indent,totalHeight,node,elem2,config2,diagramId);renderInfos.push(info);const{height:height,width:width}=node.BBox;positionLine(elem2,indent-config2.rowIndent,totalHeight+height/2,indent,totalHeight+height/2,config2.lineThickness),totalWidth=Math.max(totalWidth,indent+width),totalHeight+=height},"drawNode"),processNode=__name((node,depth=0)=>{drawNode(elem,node,config,depth),node.children.forEach(child=>{processNode(child,depth+1)});const{x:x,y:y,height:height}=node.BBox;if(node.children.length){const{y:endY,height:endHeight}=node.children[node.children.length-1].BBox;positionLine(elem,x+config.paddingX,y+height,x+config.paddingX,endY+endHeight/2+config.lineThickness/2,config.lineThickness)}},"processNode");processNode(root);const nodesWithDesc=renderInfos.filter(ri=>ri.node.description);if(nodesWithDesc.length>0){const descX=Math.max(...renderInfos.map(ri=>ri.labelRightEdge))+16;for(const ri of nodesWithDesc){const descBBox=ri.nodeGroup.append("text").text(ri.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",descX).attr("y",ri.centerY).node().getBBox();totalWidth=Math.max(totalWidth,descX+descBBox.width+config.paddingX)}}for(const ri of renderInfos)if(null==(_a=ri.node.cssClass)?void 0:_a.split(/\s+/).includes("highlight")){const rect=ri.nodeGroup.select(".treeView-highlight-bg");if(!rect.empty()){const rectWidth=totalWidth-ri.node.BBox.x+8;rect.attr("width",rectWidth),totalWidth=Math.max(totalWidth,ri.node.BBox.x+rectWidth+2)}}return{totalHeight:totalHeight,totalWidth:totalWidth}},"drawTree"),defaultTreeViewDiagramStyles={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},diagram={db:db_default,renderer:{draw:__name(async(text,id,_ver,diagObj)=>{log.debug("Rendering treeView diagram\n"+text);const db2=diagObj.db,root=db2.getRoot(),config=db2.getConfig(),svg=selectSvgElement(id);await injectIconDefs(svg,root,config,id);const treeElem=svg.append("g");treeElem.attr("class","tree-view");const{totalHeight:totalHeight,totalWidth:totalWidth}=drawTree(treeElem,root,config,id);svg.attr("viewBox",`-${config.lineThickness/2} 0 ${totalWidth} ${totalHeight}`),configureSvgSize(svg,totalHeight,totalWidth,config.useMaxWidth)},"draw")},parser:parser,styles:__name(({treeView:treeView})=>{const{labelFontSize:labelFontSize,labelColor:labelColor,lineColor:lineColor,iconColor:iconColor,descriptionColor:descriptionColor,highlightBg:highlightBg,highlightStroke:highlightStroke}=cleanAndMerge(defaultTreeViewDiagramStyles,treeView);return`\n .treeView-node-label {\n font-size: ${labelFontSize};\n fill: ${labelColor};\n white-space: pre;\n }\n .treeView-node-dir {\n font-weight: bold;\n }\n .treeView-node-line {\n stroke: ${lineColor};\n }\n .treeView-node-icon {\n color: ${iconColor};\n }\n .treeView-node-description {\n font-size: ${labelFontSize};\n fill: ${descriptionColor};\n font-style: italic;\n white-space: pre;\n }\n .treeView-highlight-bg {\n fill: ${highlightBg};\n stroke: ${highlightStroke};\n stroke-width: 1;\n }\n `},"styles")};export{diagram};
@@ -0,0 +1 @@
1
+ import{p as populateCommonDb}from"./chunk-JWPE2WC7-C54OW1iN.js";import{s as setAccDescription,g as getAccDescription,p as getDiagramTitle,o as setDiagramTitle,a as getAccTitle,b as setAccTitle,_ as __name,F as selectSvgElement,q as clear,B as cleanAndMerge,z as getConfig,D as defaultConfig_default,l as log,W as getThemeVariables3,e as configureSvgSize}from"./mermaid.core-Cy9iVxov.js";import{p as parse}from"./cynefin-VYW2F7L2-C0dowxsF.js";import"./vendor-mdxeditor-4PbKH6K7.js";import"./vendor-antd-Bzi1WuBb.js";import"./vendor-codemirror-CKTrJd47.js";import"./vendor-markdown-BN3QLsBu.js";var defaultOptions={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},defaultRadarData={axes:[],curves:[],options:defaultOptions},data=structuredClone(defaultRadarData),DEFAULT_RADAR_CONFIG=defaultConfig_default.radar,getConfig2=__name(()=>cleanAndMerge({...DEFAULT_RADAR_CONFIG,...getConfig().radar}),"getConfig"),getAxes=__name(()=>data.axes,"getAxes"),getCurves=__name(()=>data.curves,"getCurves"),getOptions=__name(()=>data.options,"getOptions"),setAxes=__name(axes=>{data.axes=axes.map(axis=>({name:axis.name,label:axis.label??axis.name}))},"setAxes"),setCurves=__name(curves=>{data.curves=curves.map(curve=>({name:curve.name,label:curve.label??curve.name,entries:computeCurveEntries(curve.entries)}))},"setCurves"),computeCurveEntries=__name(entries=>{if(null==entries[0].axis)return entries.map(entry=>entry.value);const axes=getAxes();if(0===axes.length)throw new Error("Axes must be populated before curves for reference entries");return axes.map(axis=>{const entry=entries.find(entry2=>{var _a;return(null==(_a=entry2.axis)?void 0:_a.$refText)===axis.name});if(void 0===entry)throw new Error("Missing entry for axis "+axis.label);return entry.value})},"computeCurveEntries"),db={getAxes:getAxes,getCurves:getCurves,getOptions:getOptions,setAxes:setAxes,setCurves:setCurves,setOptions:__name(options=>{var _a,_b,_c,_d,_e;const optionMap=options.reduce((acc,option)=>(acc[option.name]=option,acc),{});data.options={showLegend:(null==(_a=optionMap.showLegend)?void 0:_a.value)??defaultOptions.showLegend,ticks:(null==(_b=optionMap.ticks)?void 0:_b.value)??defaultOptions.ticks,max:(null==(_c=optionMap.max)?void 0:_c.value)??defaultOptions.max,min:(null==(_d=optionMap.min)?void 0:_d.value)??defaultOptions.min,graticule:(null==(_e=optionMap.graticule)?void 0:_e.value)??defaultOptions.graticule}},"setOptions"),getConfig:getConfig2,clear:__name(()=>{clear(),data=structuredClone(defaultRadarData)},"clear"),setAccTitle:setAccTitle,getAccTitle:getAccTitle,setDiagramTitle:setDiagramTitle,getDiagramTitle:getDiagramTitle,getAccDescription:getAccDescription,setAccDescription:setAccDescription},populate=__name(ast=>{populateCommonDb(ast,db);const{axes:axes,curves:curves,options:options}=ast;db.setAxes(axes),db.setCurves(curves),db.setOptions(options)},"populate"),parser={parse:__name(async input=>{const ast=await parse("radar",input);log.debug(ast),populate(ast)},"parse")},draw=__name((_text,id,_version,diagram2)=>{const db2=diagram2.db,axes=db2.getAxes(),curves=db2.getCurves(),options=db2.getOptions(),config=db2.getConfig(),title=db2.getDiagramTitle(),svg=selectSvgElement(id),g=drawFrame(svg,config),maxValue=options.max??Math.max(...curves.map(curve=>Math.max(...curve.entries))),minValue=options.min,radius=Math.min(config.width,config.height)/2;drawGraticule(g,axes,radius,options.ticks,options.graticule),drawAxes(g,axes,radius,config),drawCurves(g,axes,curves,minValue,maxValue,options.graticule,config),drawLegend(g,curves,options.showLegend,config),g.append("text").attr("class","radarTitle").text(title).attr("x",0).attr("y",-config.height/2-config.marginTop)},"draw"),drawFrame=__name((svg,config)=>{const totalWidth=config.width+config.marginLeft+config.marginRight,totalHeight=config.height+config.marginTop+config.marginBottom,center_x=config.marginLeft+config.width/2,center_y=config.marginTop+config.height/2;return configureSvgSize(svg,totalHeight,totalWidth,config.useMaxWidth??!0),svg.attr("viewBox",`0 0 ${totalWidth} ${totalHeight}`).attr("overflow","visible"),svg.append("g").attr("transform",`translate(${center_x}, ${center_y})`)},"drawFrame"),drawGraticule=__name((g,axes,radius,ticks,graticule)=>{if("circle"===graticule)for(let i=0;i<ticks;i++){const r=radius*(i+1)/ticks;g.append("circle").attr("r",r).attr("class","radarGraticule")}else if("polygon"===graticule){const numAxes=axes.length;for(let i=0;i<ticks;i++){const r=radius*(i+1)/ticks,points=axes.map((_,j)=>{const angle=2*j*Math.PI/numAxes-Math.PI/2;return`${r*Math.cos(angle)},${r*Math.sin(angle)}`}).join(" ");g.append("polygon").attr("points",points).attr("class","radarGraticule")}}},"drawGraticule"),drawAxes=__name((g,axes,radius,config)=>{const numAxes=axes.length;for(let i=0;i<numAxes;i++){const label=axes[i].label,angle=2*i*Math.PI/numAxes-Math.PI/2,cosA=Math.cos(angle),sinA=Math.sin(angle);g.append("line").attr("x1",0).attr("y1",0).attr("x2",radius*config.axisScaleFactor*cosA).attr("y2",radius*config.axisScaleFactor*sinA).attr("class","radarAxisLine");const textAnchor=cosA>.01?"start":cosA<-.01?"end":"middle",dominantBaseline=sinA>.01?"hanging":sinA<-.01?"auto":"central",labelPad=4;g.append("text").text(label).attr("x",radius*config.axisLabelFactor*cosA+labelPad*cosA).attr("y",radius*config.axisLabelFactor*sinA+labelPad*sinA).attr("text-anchor",textAnchor).attr("dominant-baseline",dominantBaseline).attr("class","radarAxisLabel")}},"drawAxes");function drawCurves(g,axes,curves,minValue,maxValue,graticule,config){const numAxes=axes.length,radius=Math.min(config.width,config.height)/2;curves.forEach((curve,index)=>{if(curve.entries.length!==numAxes)return;const points=curve.entries.map((entry,i)=>{const angle=2*Math.PI*i/numAxes-Math.PI/2,r=relativeRadius(entry,minValue,maxValue,radius);return{x:r*Math.cos(angle),y:r*Math.sin(angle)}});"circle"===graticule?g.append("path").attr("d",closedRoundCurve(points,config.curveTension)).attr("class",`radarCurve-${index}`):"polygon"===graticule&&g.append("polygon").attr("points",points.map(p=>`${p.x},${p.y}`).join(" ")).attr("class",`radarCurve-${index}`)})}function relativeRadius(value,minValue,maxValue,radius){return radius*(Math.min(Math.max(value,minValue),maxValue)-minValue)/(maxValue-minValue)}function closedRoundCurve(points,tension){const numPoints=points.length;let d=`M${points[0].x},${points[0].y}`;for(let i=0;i<numPoints;i++){const p0=points[(i-1+numPoints)%numPoints],p1=points[i],p2=points[(i+1)%numPoints],p3=points[(i+2)%numPoints],cp1={x:p1.x+(p2.x-p0.x)*tension,y:p1.y+(p2.y-p0.y)*tension},cp2={x:p2.x-(p3.x-p1.x)*tension,y:p2.y-(p3.y-p1.y)*tension};d+=` C${cp1.x},${cp1.y} ${cp2.x},${cp2.y} ${p2.x},${p2.y}`}return`${d} Z`}function drawLegend(g,curves,showLegend,config){if(!showLegend)return;const legendX=3*(config.width/2+config.marginRight)/4,legendY=3*-(config.height/2+config.marginTop)/4;curves.forEach((curve,index)=>{const itemGroup=g.append("g").attr("transform",`translate(${legendX}, ${legendY+20*index})`);itemGroup.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${index}`),itemGroup.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(curve.label)})}__name(drawCurves,"drawCurves"),__name(relativeRadius,"relativeRadius"),__name(closedRoundCurve,"closedRoundCurve"),__name(drawLegend,"drawLegend");var renderer={draw:draw},genIndexStyles=__name((themeVariables,radarOptions)=>{let sections="";for(let i=0;i<themeVariables.THEME_COLOR_LIMIT;i++){const indexColor=themeVariables[`cScale${i}`];sections+=`\n\t\t.radarCurve-${i} {\n\t\t\tcolor: ${indexColor};\n\t\t\tfill: ${indexColor};\n\t\t\tfill-opacity: ${radarOptions.curveOpacity};\n\t\t\tstroke: ${indexColor};\n\t\t\tstroke-width: ${radarOptions.curveStrokeWidth};\n\t\t}\n\t\t.radarLegendBox-${i} {\n\t\t\tfill: ${indexColor};\n\t\t\tfill-opacity: ${radarOptions.curveOpacity};\n\t\t\tstroke: ${indexColor};\n\t\t}\n\t\t`}return sections},"genIndexStyles"),buildRadarStyleOptions=__name(radar=>{const defaultThemeVariables=getThemeVariables3(),currentConfig=getConfig(),themeVariables=cleanAndMerge(defaultThemeVariables,currentConfig.themeVariables);return{themeVariables:themeVariables,radarOptions:cleanAndMerge(themeVariables.radar,radar)}},"buildRadarStyleOptions"),diagram={parser:parser,db:db,renderer:renderer,styles:__name(({radar:radar}={})=>{const{themeVariables:themeVariables,radarOptions:radarOptions}=buildRadarStyleOptions(radar);return`\n\t.radarTitle {\n\t\tfont-size: ${themeVariables.fontSize};\n\t\tcolor: ${themeVariables.titleColor};\n\t\tdominant-baseline: hanging;\n\t\ttext-anchor: middle;\n\t}\n\t.radarAxisLine {\n\t\tstroke: ${radarOptions.axisColor};\n\t\tstroke-width: ${radarOptions.axisStrokeWidth};\n\t}\n\t.radarAxisLabel {\n\t\tfont-size: ${radarOptions.axisLabelFontSize}px;\n\t\tcolor: ${radarOptions.axisColor};\n\t}\n\t.radarGraticule {\n\t\tfill: ${radarOptions.graticuleColor};\n\t\tfill-opacity: ${radarOptions.graticuleOpacity};\n\t\tstroke: ${radarOptions.graticuleColor};\n\t\tstroke-width: ${radarOptions.graticuleStrokeWidth};\n\t}\n\t.radarLegendText {\n\t\ttext-anchor: start;\n\t\tfont-size: ${radarOptions.legendFontSize}px;\n\t\tdominant-baseline: hanging;\n\t}\n\t${genIndexStyles(themeVariables,radarOptions)}\n\t`},"styles")};export{diagram};
@@ -0,0 +1 @@
1
+ var TOKEN_NAMES={"+":"inserted","-":"deleted","@":"meta"};const diff={name:"diff",token:function(stream){var tw_pos=stream.string.search(/[\t ]+?$/);if(!stream.sol()||0===tw_pos)return stream.skipToEnd(),("error "+(TOKEN_NAMES[stream.string.charAt(0)]||"")).replace(/ $/,"");var token_name=TOKEN_NAMES[stream.peek()]||stream.skipToEnd();return-1===tw_pos?stream.skipToEnd():stream.pos=tw_pos,token_name}};export{diff};
@@ -0,0 +1 @@
1
+ import{s as simpleMode}from"./simple-mode-CoQRusFX.js";var from="from",fromRegex=new RegExp("^(\\s*)\\b("+from+")\\b","i"),shells=["run","cmd","entrypoint","shell"],shellsAsArrayRegex=new RegExp("^(\\s*)("+shells.join("|")+")(\\s+\\[)","i"),expose="expose",exposeRegex=new RegExp("^(\\s*)("+expose+")(\\s+)","i"),instructionRegex="("+[from,expose].concat(shells).concat(["arg","from","maintainer","label","env","add","copy","volume","user","workdir","onbuild","stopsignal","healthcheck","shell"]).join("|")+")";const dockerFile=simpleMode({start:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:fromRegex,token:[null,"keyword"],sol:!0,next:"from"},{regex:new RegExp("^(\\s*)"+instructionRegex+"(\\s*)(#.*)?$","i"),token:[null,"keyword",null,"error"],sol:!0},{regex:shellsAsArrayRegex,token:[null,"keyword",null],sol:!0,next:"array"},{regex:exposeRegex,token:[null,"keyword",null],sol:!0,next:"expose"},{regex:new RegExp("^(\\s*)"+instructionRegex+"(\\s+)","i"),token:[null,"keyword",null],sol:!0,next:"arguments"},{regex:/./,token:null}],from:[{regex:/\s*$/,token:null,next:"start"},{regex:/(\s*)(#.*)$/,token:[null,"error"],next:"start"},{regex:/(\s*\S+\s+)(as)/i,token:[null,"keyword"],next:"start"},{token:null,next:"start"}],single:[{regex:/(?:[^\\']|\\.)/,token:"string"},{regex:/'/,token:"string",pop:!0}],double:[{regex:/(?:[^\\"]|\\.)/,token:"string"},{regex:/"/,token:"string",pop:!0}],array:[{regex:/\]/,token:null,next:"start"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"}],expose:[{regex:/\d+$/,token:"number",next:"start"},{regex:/[^\d]+$/,token:null,next:"start"},{regex:/\d+/,token:"number"},{regex:/[^\d]+/,token:null},{token:null,next:"start"}],arguments:[{regex:/^\s*#.*$/,sol:!0,token:"comment"},{regex:/"(?:[^\\"]|\\.)*"?$/,token:"string",next:"start"},{regex:/"/,token:"string",push:"double"},{regex:/'(?:[^\\']|\\.)*'?$/,token:"string",next:"start"},{regex:/'/,token:"string",push:"single"},{regex:/[^#"']+[\\`]$/,token:null},{regex:/[^#"']+$/,token:null,next:"start"},{regex:/[^#"']+/,token:null},{token:null,next:"start"}],languageData:{commentTokens:{line:"#"}}});export{dockerFile};
@@ -0,0 +1 @@
1
+ var type;function ret(style,tp){return type=tp,style}function tokenBase(stream,state){var quote,style,terminator,ch=stream.next();if("<"!=ch||!stream.eat("!")){if("<"==ch&&stream.eat("?"))return state.tokenize=(style="meta",terminator="?>",function(stream,state){for(;!stream.eol();){if(stream.match(terminator)){state.tokenize=tokenBase;break}stream.next()}return style}),ret("meta",ch);if("#"==ch&&stream.eatWhile(/[\w]/))return ret("atom","tag");if("|"==ch)return ret("keyword","separator");if(ch.match(/[\(\)\[\]\-\.,\+\?>]/))return ret(null,ch);if(ch.match(/[\[\]]/))return ret("rule",ch);if('"'==ch||"'"==ch)return state.tokenize=(quote=ch,function(stream,state){for(var ch,escaped=!1;null!=(ch=stream.next());){if(ch==quote&&!escaped){state.tokenize=tokenBase;break}escaped=!escaped&&"\\"==ch}return ret("string","tag")}),state.tokenize(stream,state);if(stream.eatWhile(/[a-zA-Z\?\+\d]/)){var sc=stream.current();return null!==sc.substr(sc.length-1,sc.length).match(/\?|\+/)&&stream.backUp(1),ret("tag","tag")}return"%"==ch||"*"==ch?ret("number","number"):(stream.eatWhile(/[\w\\\-_%.{,]/),ret(null,null))}return stream.eatWhile(/[\-]/)?(state.tokenize=tokenSGMLComment,tokenSGMLComment(stream,state)):stream.eatWhile(/[\w]/)?ret("keyword","doindent"):void 0}function tokenSGMLComment(stream,state){for(var ch,dashes=0;null!=(ch=stream.next());){if(dashes>=2&&">"==ch){state.tokenize=tokenBase;break}dashes="-"==ch?dashes+1:0}return ret("comment","comment")}const dtd={name:"dtd",startState:function(){return{tokenize:tokenBase,baseIndent:0,stack:[]}},token:function(stream,state){if(stream.eatSpace())return null;var style=state.tokenize(stream,state),context=state.stack[state.stack.length-1];return"["==stream.current()||"doindent"===type||"["==type?state.stack.push("rule"):"endtag"===type?state.stack[state.stack.length-1]="endtag":"]"==stream.current()||"]"==type||">"==type&&"rule"==context?state.stack.pop():"["==type&&state.stack.push("["),style},indent:function(state,textAfter,cx){var n=state.stack.length;return"]"===textAfter.charAt(0)?n--:">"===textAfter.substr(textAfter.length-1,textAfter.length)&&("<"===textAfter.substr(0,1)||"doindent"==type&&textAfter.length>1||("doindent"==type?n--:">"==type&&textAfter.length>1||"tag"==type&&">"!==textAfter||("tag"==type&&"rule"==state.stack[state.stack.length-1]?n--:"tag"==type?n++:">"===textAfter&&"rule"==state.stack[state.stack.length-1]&&">"===type?n--:">"===textAfter&&"rule"==state.stack[state.stack.length-1]||("<"!==textAfter.substr(0,1)&&">"===textAfter.substr(0,1)?n-=1:">"===textAfter||(n-=1)))),null!=type&&"]"!=type||n--),state.baseIndent+n*cx.unit},languageData:{indentOnInput:/^\s*[\]>]$/}};export{dtd};
@@ -0,0 +1 @@
1
+ function forEach(arr,f){for(var i=0;i<arr.length;i++)f(arr[i],i)}function some(arr,f){for(var i=0;i<arr.length;i++)if(f(arr[i],i))return!0;return!1}var words={unnamedDefinition:["interface"],namedDefinition:["module","library","macro","C-struct","C-union","C-function","C-callable-wrapper"],typeParameterizedDefinition:["class","C-subtype","C-mapped-subtype"],otherParameterizedDefinition:["method","function","C-variable","C-address"],constantSimpleDefinition:["constant"],variableSimpleDefinition:["variable"],otherSimpleDefinition:["generic","domain","C-pointer-type","table"],statement:["if","block","begin","method","case","for","select","when","unless","until","while","iterate","profiling","dynamic-bind"],separator:["finally","exception","cleanup","else","elseif","afterwards"],other:["above","below","by","from","handler","in","instance","let","local","otherwise","slot","subclass","then","to","keyed-by","virtual"],signalingCalls:["signal","error","cerror","break","check-type","abort"]};words.otherDefinition=words.unnamedDefinition.concat(words.namedDefinition).concat(words.otherParameterizedDefinition),words.definition=words.typeParameterizedDefinition.concat(words.otherDefinition),words.parameterizedDefinition=words.typeParameterizedDefinition.concat(words.otherParameterizedDefinition),words.simpleDefinition=words.constantSimpleDefinition.concat(words.variableSimpleDefinition).concat(words.otherSimpleDefinition),words.keyword=words.statement.concat(words.separator).concat(words.other);var symbolPattern="[-_a-zA-Z?!*@<>$%]+",symbol=new RegExp("^"+symbolPattern),patterns={symbolKeyword:symbolPattern+":",symbolClass:"<"+symbolPattern+">",symbolGlobal:"\\*"+symbolPattern+"\\*",symbolConstant:"\\$"+symbolPattern},patternStyles={symbolKeyword:"atom",symbolClass:"tag",symbolGlobal:"variableName.standard",symbolConstant:"variableName.constant"};for(var patternName in patterns)patterns.hasOwnProperty(patternName)&&(patterns[patternName]=new RegExp("^"+patterns[patternName]));patterns.keyword=[/^with(?:out)?-[-_a-zA-Z?!*@<>$%]+/];var styles={keyword:"keyword",definition:"def",simpleDefinition:"def",signalingCalls:"builtin"},wordLookup={},styleLookup={};function chain(stream,state,f){return state.tokenize=f,f(stream,state)}function tokenBase(stream,state){var ch=stream.peek();if("'"==ch||'"'==ch)return stream.next(),chain(stream,state,tokenString(ch,"string"));if("/"==ch){if(stream.next(),stream.eat("*"))return chain(stream,state,tokenComment);if(stream.eat("/"))return stream.skipToEnd(),"comment";stream.backUp(1)}else if(/[+\-\d\.]/.test(ch)){if(stream.match(/^[+-]?[0-9]*\.[0-9]*([esdx][+-]?[0-9]+)?/i)||stream.match(/^[+-]?[0-9]+([esdx][+-]?[0-9]+)/i)||stream.match(/^[+-]?\d+/))return"number"}else{if("#"==ch)return stream.next(),'"'==(ch=stream.peek())?(stream.next(),chain(stream,state,tokenString('"',"string"))):"b"==ch?(stream.next(),stream.eatWhile(/[01]/),"number"):"x"==ch?(stream.next(),stream.eatWhile(/[\da-f]/i),"number"):"o"==ch?(stream.next(),stream.eatWhile(/[0-7]/),"number"):"#"==ch?(stream.next(),"punctuation"):"["==ch||"("==ch?(stream.next(),"bracket"):stream.match(/f|t|all-keys|include|key|next|rest/i)?"atom":(stream.eatWhile(/[-a-zA-Z]/),"error");if("~"==ch)return stream.next(),"="==(ch=stream.peek())?(stream.next(),"="==(ch=stream.peek())?(stream.next(),"operator"):"operator"):"operator";if(":"==ch){if(stream.next(),"="==(ch=stream.peek()))return stream.next(),"operator";if(":"==ch)return stream.next(),"punctuation"}else{if(-1!="[](){}".indexOf(ch))return stream.next(),"bracket";if(-1!=".,".indexOf(ch))return stream.next(),"punctuation";if(stream.match("end"))return"keyword"}}for(var name in patterns)if(patterns.hasOwnProperty(name)){var pattern=patterns[name];if(pattern instanceof Array&&some(pattern,function(p){return stream.match(p)})||stream.match(pattern))return patternStyles[name]}return/[+\-*\/^=<>&|]/.test(ch)?(stream.next(),"operator"):stream.match("define")?"def":(stream.eatWhile(/[\w\-]/),wordLookup.hasOwnProperty(stream.current())?styleLookup[stream.current()]:stream.current().match(symbol)?"variable":(stream.next(),"variableName.standard"))}function tokenComment(stream,state){for(var ch,maybeEnd=!1,maybeNested=!1,nestedCount=0;ch=stream.next();){if("/"==ch&&maybeEnd){if(!(nestedCount>0)){state.tokenize=tokenBase;break}nestedCount--}else"*"==ch&&maybeNested&&nestedCount++;maybeEnd="*"==ch,maybeNested="/"==ch}return"comment"}function tokenString(quote,style){return function(stream,state){for(var next,escaped=!1,end=!1;null!=(next=stream.next());){if(next==quote&&!escaped){end=!0;break}escaped=!escaped&&"\\"==next}return!end&&escaped||(state.tokenize=tokenBase),style}}forEach(["keyword","definition","simpleDefinition","signalingCalls"],function(type){forEach(words[type],function(word){wordLookup[word]=type,styleLookup[word]=styles[type]})});const dylan={name:"dylan",startState:function(){return{tokenize:tokenBase,currentIndent:0}},token:function(stream,state){return stream.eatSpace()?null:state.tokenize(stream,state)},languageData:{commentTokens:{block:{open:"/*",close:"*/"}}}};export{dylan};
@@ -0,0 +1 @@
1
+ var commentType_slash=0,commentType_parenthesis=1,stateType_comment=0,stateType__string=1,stateType_characterClass=2;const ebnf={name:"ebnf",startState:function(){return{stringType:null,commentType:null,braced:0,lhs:!0,localState:null,stack:[],inDefinition:!1}},token:function(stream,state){if(stream){switch(0===state.stack.length&&('"'==stream.peek()||"'"==stream.peek()?(state.stringType=stream.peek(),stream.next(),state.stack.unshift(stateType__string)):stream.match("/*")?(state.stack.unshift(stateType_comment),state.commentType=commentType_slash):stream.match("(*")&&(state.stack.unshift(stateType_comment),state.commentType=commentType_parenthesis)),state.stack[0]){case stateType__string:for(;state.stack[0]===stateType__string&&!stream.eol();)stream.peek()===state.stringType?(stream.next(),state.stack.shift()):"\\"===stream.peek()?(stream.next(),stream.next()):stream.match(/^.[^\\\"\']*/);return state.lhs?"property":"string";case stateType_comment:for(;state.stack[0]===stateType_comment&&!stream.eol();)state.commentType===commentType_slash&&stream.match("*/")||state.commentType===commentType_parenthesis&&stream.match("*)")?(state.stack.shift(),state.commentType=null):stream.match(/^.[^\*]*/);return"comment";case stateType_characterClass:for(;state.stack[0]===stateType_characterClass&&!stream.eol();)stream.match(/^[^\]\\]+/)||stream.match(".")||state.stack.shift();return"operator"}var peek=stream.peek();switch(peek){case"[":return stream.next(),state.stack.unshift(stateType_characterClass),"bracket";case":":case"|":case";":return stream.next(),"operator";case"%":if(stream.match("%%"))return"header";if(stream.match(/[%][A-Za-z]+/))return"keyword";if(stream.match(/[%][}]/))return"bracket";break;case"/":if(stream.match(/[\/][A-Za-z]+/))return"keyword";case"\\":if(stream.match(/[\][a-z]+/))return"string.special";case".":if(stream.match("."))return"atom";case"*":case"-":case"+":case"^":if(stream.match(peek))return"atom";case"$":if(stream.match("$$"))return"builtin";if(stream.match(/[$][0-9]+/))return"variableName.special";case"<":if(stream.match(/<<[a-zA-Z_]+>>/))return"builtin"}return stream.match("//")?(stream.skipToEnd(),"comment"):stream.match("return")?"operator":stream.match(/^[a-zA-Z_][a-zA-Z0-9_]*/)?stream.match(/(?=[\(.])/)?"variable":stream.match(/(?=[\s\n]*[:=])/)?"def":"variableName.special":-1!=["[","]","(",")"].indexOf(stream.peek())?(stream.next(),"bracket"):(stream.eatSpace()||stream.next(),null)}}};export{ebnf};
@@ -0,0 +1 @@
1
+ import{g as getStyles,r as renderer,d as db}from"./chunk-MOJQB5TN-lKhWWIDe.js";import{p as populateCommonDb}from"./chunk-JWPE2WC7-C54OW1iN.js";import{_ as __name,l as log}from"./mermaid.core-Cy9iVxov.js";import{M as MermaidParseError,a as createRailroadEbnfServices}from"./cynefin-VYW2F7L2-C0dowxsF.js";import"./vendor-mdxeditor-4PbKH6K7.js";import"./vendor-antd-Bzi1WuBb.js";import"./vendor-codemirror-CKTrJd47.js";import"./vendor-markdown-BN3QLsBu.js";var langiumParser=createRailroadEbnfServices().RailroadEbnf.parser.LangiumParser,transformChoice=__name(choice=>{const alternatives=choice.alternatives.map(transformSequence);return 1===alternatives.length?alternatives[0]:{type:"choice",alternatives:alternatives}},"transformChoice"),transformSequence=__name(sequence=>{const elements=sequence.elements.map(transformTerm);return 1===elements.length?elements[0]:{type:"sequence",elements:elements}},"transformSequence"),transformPrimary=__name(primary=>{switch(primary.$type){case"EbnfTerminal":return{type:"terminal",value:primary.value};case"EbnfNonTerminal":return{type:"nonterminal",name:primary.name};case"EbnfSpecial":return{type:"special",text:primary.text};case"EbnfGroup":return transformChoice(primary.element);case"EbnfOptional":return{type:"optional",element:transformChoice(primary.element)};case"EbnfRepetition":return{type:"repetition",element:transformChoice(primary.element),min:0,max:1/0};default:throw new Error(`Unsupported EBNF primary node: ${primary.$type}`)}},"transformPrimary"),transformPostfix=__name((node,postfix)=>{switch(postfix.$type){case"EbnfOptionalPostfix":return{type:"optional",element:node};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:node,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:node,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[node,{type:"terminal",value:"-"},transformPrimary(postfix.except)]};default:throw new Error(`Unsupported EBNF postfix node: ${postfix.$type}`)}},"transformPostfix"),transformTerm=__name(term=>term.postfixes.reduce((currentNode,postfix)=>transformPostfix(currentNode,postfix),transformPrimary(term.base)),"transformTerm"),transformRule=__name(rule=>({name:rule.name,definition:transformChoice(rule.definition)}),"transformRule"),populateDb=__name(ast=>{populateCommonDb(ast,db),ast.title&&db.setTitle(ast.title),ast.rules.map(rule=>db.addRule(transformRule(rule)))},"populateDb"),diagram={parser:{parse:__name(input=>{db.clear(),log.debug("[EBNF Parser] Starting Langium parse");const result=langiumParser.parse(input);if(result.lexerErrors.length>0||result.parserErrors.length>0)throw new MermaidParseError(result);const ast=result.value;log.debug("[EBNF Parser] Parsed rules:",ast.rules.length),populateDb(ast),log.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:db}},db:db,renderer:renderer,styles:getStyles};export{diagram};
@@ -0,0 +1 @@
1
+ function words(str){for(var obj={},words2=str.split(" "),i=0;i<words2.length;++i)obj[words2[i]]=!0;return obj}var curPunc,keyword=words("abs acos allnodes ascii asin asstring atan atan2 ave case choose choosen choosesets clustersize combine correlation cos cosh count covariance cron dataset dedup define denormalize distribute distributed distribution ebcdic enth error evaluate event eventextra eventname exists exp failcode failmessage fetch fromunicode getisvalid global graph group hash hash32 hash64 hashcrc hashmd5 having if index intformat isvalid iterate join keyunicode length library limit ln local log loop map matched matchlength matchposition matchtext matchunicode max merge mergejoin min nolocal nonempty normalize parse pipe power preload process project pull random range rank ranked realformat recordof regexfind regexreplace regroup rejected rollup round roundup row rowdiff sample set sin sinh sizeof soapcall sort sorted sqrt stepped stored sum table tan tanh thisnode topn tounicode transfer trim truncate typeof ungroup unicodeorder variance which workunit xmldecode xmlencode xmltext xmlunicode"),variable=words("apply assert build buildindex evaluate fail keydiff keypatch loadxml nothor notify output parallel sequential soapcall wait"),variable_2=words("__compressed__ all and any as atmost before beginc++ best between case const counter csv descend encrypt end endc++ endmacro except exclusive expire export extend false few first flat from full function group header heading hole ifblock import in interface joined keep keyed last left limit load local locale lookup macro many maxcount maxlength min skew module named nocase noroot noscan nosort not of only opt or outer overwrite packed partition penalty physicallength pipe quote record relationship repeat return right scan self separator service shared skew skip sql store terminator thor threshold token transform trim true type unicodeorder unsorted validate virtual whole wild within xml xpath"),variable_3=words("ascii big_endian boolean data decimal ebcdic integer pattern qstring real record rule set of string token udecimal unicode unsigned varstring varunicode"),builtin=words("checkpoint deprecated failcode failmessage failure global independent onwarning persist priority recovery stored success wait when"),blockKeywords=words("catch class do else finally for if switch try while"),atoms=words("true false null"),hooks={"#":function(stream,state){return!!state.startOfLine&&(stream.skipToEnd(),"meta")}},isOperatorChar=/[+\-*&%=<>!?|\/]/;function tokenBase(stream,state){var quote,ch=stream.next();if(hooks[ch]){var result=hooks[ch](stream,state);if(!1!==result)return result}if('"'==ch||"'"==ch)return state.tokenize=(quote=ch,function(stream,state){for(var next,escaped=!1,end=!1;null!=(next=stream.next());){if(next==quote&&!escaped){end=!0;break}escaped=!escaped&&"\\"==next}return!end&&escaped||(state.tokenize=tokenBase),"string"}),state.tokenize(stream,state);if(/[\[\]{}\(\),;\:\.]/.test(ch))return curPunc=ch,null;if(/\d/.test(ch))return stream.eatWhile(/[\w\.]/),"number";if("/"==ch){if(stream.eat("*"))return state.tokenize=tokenComment,tokenComment(stream,state);if(stream.eat("/"))return stream.skipToEnd(),"comment"}if(isOperatorChar.test(ch))return stream.eatWhile(isOperatorChar),"operator";stream.eatWhile(/[\w\$_]/);var cur=stream.current().toLowerCase();if(keyword.propertyIsEnumerable(cur))return blockKeywords.propertyIsEnumerable(cur)&&(curPunc="newstatement"),"keyword";if(variable.propertyIsEnumerable(cur))return blockKeywords.propertyIsEnumerable(cur)&&(curPunc="newstatement"),"variable";if(variable_2.propertyIsEnumerable(cur))return blockKeywords.propertyIsEnumerable(cur)&&(curPunc="newstatement"),"modifier";if(variable_3.propertyIsEnumerable(cur))return blockKeywords.propertyIsEnumerable(cur)&&(curPunc="newstatement"),"type";if(builtin.propertyIsEnumerable(cur))return blockKeywords.propertyIsEnumerable(cur)&&(curPunc="newstatement"),"builtin";for(var i=cur.length-1;i>=0&&(!isNaN(cur[i])||"_"==cur[i]);)--i;if(i>0){var cur2=cur.substr(0,i+1);if(variable_3.propertyIsEnumerable(cur2))return blockKeywords.propertyIsEnumerable(cur2)&&(curPunc="newstatement"),"type"}return atoms.propertyIsEnumerable(cur)?"atom":null}function tokenComment(stream,state){for(var ch,maybeEnd=!1;ch=stream.next();){if("/"==ch&&maybeEnd){state.tokenize=tokenBase;break}maybeEnd="*"==ch}return"comment"}function Context(indented,column,type,align,prev){this.indented=indented,this.column=column,this.type=type,this.align=align,this.prev=prev}function pushContext(state,col,type){return state.context=new Context(state.indented,col,type,null,state.context)}function popContext(state){var t=state.context.type;return")"!=t&&"]"!=t&&"}"!=t||(state.indented=state.context.indented),state.context=state.context.prev}const ecl={name:"ecl",startState:function(indentUnit){return{tokenize:null,context:new Context(-indentUnit,0,"top",!1),indented:0,startOfLine:!0}},token:function(stream,state){var ctx=state.context;if(stream.sol()&&(null==ctx.align&&(ctx.align=!1),state.indented=stream.indentation(),state.startOfLine=!0),stream.eatSpace())return null;curPunc=null;var style=(state.tokenize||tokenBase)(stream,state);if("comment"==style||"meta"==style)return style;if(null==ctx.align&&(ctx.align=!0),";"!=curPunc&&":"!=curPunc||"statement"!=ctx.type)if("{"==curPunc)pushContext(state,stream.column(),"}");else if("["==curPunc)pushContext(state,stream.column(),"]");else if("("==curPunc)pushContext(state,stream.column(),")");else if("}"==curPunc){for(;"statement"==ctx.type;)ctx=popContext(state);for("}"==ctx.type&&(ctx=popContext(state));"statement"==ctx.type;)ctx=popContext(state)}else curPunc==ctx.type?popContext(state):("}"==ctx.type||"top"==ctx.type||"statement"==ctx.type&&"newstatement"==curPunc)&&pushContext(state,stream.column(),"statement");else popContext(state);return state.startOfLine=!1,style},indent:function(state,textAfter,cx){if(state.tokenize!=tokenBase&&null!=state.tokenize)return 0;var ctx=state.context,firstChar=textAfter&&textAfter.charAt(0);"statement"==ctx.type&&"}"==firstChar&&(ctx=ctx.prev);var closing=firstChar==ctx.type;return"statement"==ctx.type?ctx.indented+("{"==firstChar?0:cx.unit):ctx.align?ctx.column+(closing?0:1):ctx.indented+(closing?0:cx.unit)},languageData:{indentOnInput:/^\s*[{}]$/}};export{ecl};
@@ -0,0 +1 @@
1
+ function wordObj(words){for(var o={},i=0,e=words.length;i<e;++i)o[words[i]]=!0;return o}var keywords=wordObj(["note","across","when","variant","until","unique","undefine","then","strip","select","retry","rescue","require","rename","reference","redefine","prefix","once","old","obsolete","loop","local","like","is","inspect","infix","include","if","frozen","from","external","export","ensure","end","elseif","else","do","creation","create","check","alias","agent","separate","invariant","inherit","indexing","feature","expanded","deferred","class","Void","True","Result","Precursor","False","Current","create","attached","detachable","as","and","implies","not","or"]),operators=wordObj([":=","and then","and","or","<<",">>"]);function tokenBase(stream,state){if(stream.eatSpace())return null;var quote,style,ch=stream.next();return'"'==ch||"'"==ch?function(newtok,stream,state){return state.tokenize.push(newtok),newtok(stream,state)}((quote=ch,style="string",function(stream,state){for(var ch,escaped=!1;null!=(ch=stream.next());){if(ch==quote&&!escaped){state.tokenize.pop();break}escaped=!escaped&&"%"==ch}return style}),stream,state):"-"==ch&&stream.eat("-")?(stream.skipToEnd(),"comment"):":"==ch&&stream.eat("=")?"operator":/[0-9]/.test(ch)?(stream.eatWhile(/[xXbBCc0-9\.]/),stream.eat(/[\?\!]/),"variable"):/[a-zA-Z_0-9]/.test(ch)?(stream.eatWhile(/[a-zA-Z_0-9]/),stream.eat(/[\?\!]/),"variable"):/[=+\-\/*^%<>~]/.test(ch)?(stream.eatWhile(/[=+\-\/*^%<>~]/),"operator"):null}const eiffel={name:"eiffel",startState:function(){return{tokenize:[tokenBase]}},token:function(stream,state){var style=state.tokenize[state.tokenize.length-1](stream,state);if("variable"==style){var word=stream.current();style=keywords.propertyIsEnumerable(stream.current())?"keyword":operators.propertyIsEnumerable(stream.current())?"operator":/^[A-Z][A-Z_0-9]*$/g.test(word)?"tag":/^0[bB][0-1]+$/g.test(word)||/^0[cC][0-7]+$/g.test(word)||/^0[xX][a-fA-F0-9]+$/g.test(word)||/^([0-9]+\.[0-9]*)|([0-9]*\.[0-9]+)$/g.test(word)||/^[0-9]+$/g.test(word)?"number":"variable"}return style},languageData:{commentTokens:{line:"--"}}};export{eiffel};
@@ -0,0 +1 @@
1
+ function switchState(source,setState,f){return setState(f),f(source,setState)}var lowerRE=/[a-z]/,upperRE=/[A-Z]/,innerRE=/[a-zA-Z0-9_]/,digitRE=/[0-9]/,hexRE=/[0-9A-Fa-f]/,symbolRE=/[-&*+.\\/<>=?^|:]/,specialRE=/[(),[\]{}]/,spacesRE=/[ \v\f]/;function normal(){return function(source,setState){if(source.eatWhile(spacesRE))return null;var char=source.next();if(specialRE.test(char))return"{"===char&&source.eat("-")?switchState(source,setState,chompMultiComment(1)):"["===char&&source.match("glsl|")?switchState(source,setState,chompGlsl):"builtin";if("'"===char)return switchState(source,setState,chompChar);if('"'===char)return source.eat('"')?source.eat('"')?switchState(source,setState,chompMultiString):"string":switchState(source,setState,chompSingleString);if(upperRE.test(char))return source.eatWhile(innerRE),"type";if(lowerRE.test(char)){var isDef=1===source.pos;return source.eatWhile(innerRE),isDef?"def":"variable"}if(digitRE.test(char)){if("0"===char){if(source.eat(/[xX]/))return source.eatWhile(hexRE),"number"}else source.eatWhile(digitRE);return source.eat(".")&&source.eatWhile(digitRE),source.eat(/[eE]/)&&(source.eat(/[-+]/),source.eatWhile(digitRE)),"number"}return symbolRE.test(char)?"-"===char&&source.eat("-")?(source.skipToEnd(),"comment"):(source.eatWhile(symbolRE),"keyword"):"_"===char?"keyword":"error"}}function chompMultiComment(nest){return 0==nest?normal():function(source,setState){for(;!source.eol();){var char=source.next();if("{"==char&&source.eat("-"))++nest;else if("-"==char&&source.eat("}")&&0===--nest)return setState(normal()),"comment"}return setState(chompMultiComment(nest)),"comment"}}function chompMultiString(source,setState){for(;!source.eol();){if('"'===source.next()&&source.eat('"')&&source.eat('"'))return setState(normal()),"string"}return"string"}function chompSingleString(source,setState){for(;source.skipTo('\\"');)source.next(),source.next();return source.skipTo('"')?(source.next(),setState(normal()),"string"):(source.skipToEnd(),setState(normal()),"error")}function chompChar(source,setState){for(;source.skipTo("\\'");)source.next(),source.next();return source.skipTo("'")?(source.next(),setState(normal()),"string"):(source.skipToEnd(),setState(normal()),"error")}function chompGlsl(source,setState){for(;!source.eol();){if("|"===source.next()&&source.eat("]"))return setState(normal()),"string"}return"string"}var wellKnownWords={case:1,of:1,as:1,if:1,then:1,else:1,let:1,in:1,type:1,alias:1,module:1,where:1,import:1,exposing:1,port:1};const elm={name:"elm",startState:function(){return{f:normal()}},copyState:function(s){return{f:s.f}},token:function(stream,state){var type=state.f(stream,function(s){state.f=s}),word=stream.current();return wellKnownWords.hasOwnProperty(word)?"keyword":type},languageData:{commentTokens:{line:"--"}}};export{elm};
@@ -0,0 +1 @@
1
+ var _a;import{g as getDiagramElement}from"./chunk-XXDRQBXY-BPj05P7g.js";import{s as setupViewPortForSVG}from"./chunk-VR4S4FIN-Bomuor1h.js";import{_ as __name,b as setAccTitle,a as getAccTitle,s as setAccDescription,g as getAccDescription,o as setDiagramTitle,p as getDiagramTitle,c as getConfig2,l as log,q as clear,r as getEdgeId,t as rgba,u as __export,v as getRegisteredLayoutAlgorithm,x as render,d as select,y as utils_default}from"./mermaid.core-Cy9iVxov.js";import{c as channel}from"./channel-BrN6yx0e.js";import"./vendor-mdxeditor-4PbKH6K7.js";import"./vendor-antd-Bzi1WuBb.js";import"./vendor-codemirror-CKTrJd47.js";import"./vendor-markdown-BN3QLsBu.js";var parser=function(){var o=__name(function(k,v,o2,l){for(o2=o2||{},l=k.length;l--;o2[k[l]]=v);return o2},"o"),$V0=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],$V1=[1,10],$V2=[1,11],$V3=[1,12],$V4=[1,13],$V5=[1,23],$V6=[1,24],$V7=[1,25],$V8=[1,26],$V9=[1,27],$Va=[1,19],$Vb=[1,28],$Vc=[1,29],$Vd=[1,20],$Ve=[1,18],$Vf=[1,21],$Vg=[1,22],$Vh=[1,36],$Vi=[1,37],$Vj=[1,38],$Vk=[1,39],$Vl=[1,40],$Vm=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,66,67,68,69,70],$Vn=[1,45],$Vo=[1,46],$Vp=[1,55],$Vq=[40,48,50,51,52,71,72],$Vr=[1,66],$Vs=[1,64],$Vt=[1,61],$Vu=[1,65],$Vv=[1,67],$Vw=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,66,67,68,69,70],$Vx=[66,67,68,69,70],$Vy=[1,85],$Vz=[1,84],$VA=[1,82],$VB=[1,83],$VC=[6,10,42,47],$VD=[6,10,13,41,42,47,48,49],$VE=[1,93],$VF=[1,92],$VG=[1,91],$VH=[19,58],$VI=[1,102],$VJ=[1,101],$VK=[19,58,61,63],parser2={trace:__name(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,"?":59,attributeKeyType:60,",":61,ATTRIBUTE_KEY:62,COMMENT:63,cardinality:64,relType:65,ZERO_OR_ONE:66,ZERO_OR_MORE:67,ONE_OR_MORE:68,ONLY_ONE:69,MD_PARENT:70,NON_IDENTIFYING:71,IDENTIFYING:72,WORD:73,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",59:"?",61:",",62:"ATTRIBUTE_KEY",63:"COMMENT",66:"ZERO_OR_ONE",67:"ZERO_OR_MORE",68:"ONE_OR_MORE",69:"ONLY_ONE",70:"MD_PARENT",71:"NON_IDENTIFYING",72:"IDENTIFYING",73:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[54,2],[55,1],[56,1],[56,3],[60,1],[57,1],[12,3],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[14,1],[14,1],[14,1]],performAction:__name(function(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 1:break;case 2:case 6:case 7:this.$=[];break;case 3:$$[$0-1].push($$[$0]),this.$=$$[$0-1];break;case 4:case 5:case 55:case 56:case 57:case 58:case 82:case 65:case 67:case 70:this.$=$$[$0];break;case 8:yy.addEntity($$[$0-4]),yy.addEntity($$[$0-2]),yy.addRelationship($$[$0-4],$$[$0],$$[$0-2],$$[$0-3]);break;case 9:yy.addEntity($$[$0-8]),yy.addEntity($$[$0-4]),yy.addRelationship($$[$0-8],$$[$0],$$[$0-4],$$[$0-5]),yy.setClass([$$[$0-8]],$$[$0-6]),yy.setClass([$$[$0-4]],$$[$0-2]);break;case 10:yy.addEntity($$[$0-6]),yy.addEntity($$[$0-2]),yy.addRelationship($$[$0-6],$$[$0],$$[$0-2],$$[$0-3]),yy.setClass([$$[$0-6]],$$[$0-4]);break;case 11:yy.addEntity($$[$0-6]),yy.addEntity($$[$0-4]),yy.addRelationship($$[$0-6],$$[$0],$$[$0-4],$$[$0-5]),yy.setClass([$$[$0-4]],$$[$0-2]);break;case 12:yy.addEntity($$[$0-3]),yy.addAttributes($$[$0-3],$$[$0-1]);break;case 13:yy.addEntity($$[$0-5]),yy.addAttributes($$[$0-5],$$[$0-1]),yy.setClass([$$[$0-5]],$$[$0-3]);break;case 14:yy.addEntity($$[$0-2]);break;case 15:yy.addEntity($$[$0-4]),yy.setClass([$$[$0-4]],$$[$0-2]);break;case 16:yy.addEntity($$[$0]);break;case 17:yy.addEntity($$[$0-2]),yy.setClass([$$[$0-2]],$$[$0]);break;case 18:yy.addEntity($$[$0-6],$$[$0-4]),yy.addAttributes($$[$0-6],$$[$0-1]);break;case 19:yy.addEntity($$[$0-8],$$[$0-6]),yy.addAttributes($$[$0-8],$$[$0-1]),yy.setClass([$$[$0-8]],$$[$0-3]);break;case 20:yy.addEntity($$[$0-5],$$[$0-3]);break;case 21:yy.addEntity($$[$0-7],$$[$0-5]),yy.setClass([$$[$0-7]],$$[$0-2]);break;case 22:yy.addEntity($$[$0-3],$$[$0-1]);break;case 23:yy.addEntity($$[$0-5],$$[$0-3]),yy.setClass([$$[$0-5]],$$[$0]);break;case 24:case 25:this.$=$$[$0].trim(),yy.setAccTitle(this.$);break;case 26:case 27:this.$=$$[$0].trim(),yy.setAccDescription(this.$);break;case 32:yy.setDirection("TB");break;case 33:yy.setDirection("BT");break;case 34:yy.setDirection("RL");break;case 35:yy.setDirection("LR");break;case 36:this.$=$$[$0-3],yy.addClass($$[$0-2],$$[$0-1]);break;case 37:case 38:case 59:case 68:case 43:this.$=[$$[$0]];break;case 39:case 40:this.$=$$[$0-2].concat([$$[$0]]);break;case 41:this.$=$$[$0-2],yy.setClass($$[$0-1],$$[$0]);break;case 42:this.$=$$[$0-3],yy.addCssStyles($$[$0-2],$$[$0-1]);break;case 44:case 69:$$[$0-2].push($$[$0]),this.$=$$[$0-2];break;case 46:case 66:this.$=$$[$0-1]+$$[$0];break;case 54:case 80:case 81:case 71:this.$=$$[$0].replace(/"/g,"");break;case 60:$$[$0].push($$[$0-1]),this.$=$$[$0];break;case 61:this.$={type:$$[$0-1],name:$$[$0]};break;case 62:this.$={type:$$[$0-2],name:$$[$0-1],keys:$$[$0]};break;case 63:this.$={type:$$[$0-2],name:$$[$0-1],comment:$$[$0]};break;case 64:this.$={type:$$[$0-3],name:$$[$0-2],keys:$$[$0-1],comment:$$[$0]};break;case 72:this.$={cardA:$$[$0],relType:$$[$0-1],cardB:$$[$0-2]};break;case 73:this.$=yy.Cardinality.ZERO_OR_ONE;break;case 74:this.$=yy.Cardinality.ZERO_OR_MORE;break;case 75:this.$=yy.Cardinality.ONE_OR_MORE;break;case 76:this.$=yy.Cardinality.ONLY_ONE;break;case 77:this.$=yy.Cardinality.MD_PARENT;break;case 78:this.$=yy.Identification.NON_IDENTIFYING;break;case 79:this.$=yy.Identification.IDENTIFYING}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},o($V0,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:$V1,24:$V2,26:$V3,28:$V4,29:14,30:15,31:16,32:17,33:$V5,34:$V6,35:$V7,36:$V8,37:$V9,40:$Va,43:$Vb,44:$Vc,48:$Vd,50:$Ve,51:$Vf,52:$Vg},o($V0,[2,7],{1:[2,1]}),o($V0,[2,3]),{9:30,11:9,22:$V1,24:$V2,26:$V3,28:$V4,29:14,30:15,31:16,32:17,33:$V5,34:$V6,35:$V7,36:$V8,37:$V9,40:$Va,43:$Vb,44:$Vc,48:$Vd,50:$Ve,51:$Vf,52:$Vg},o($V0,[2,5]),o($V0,[2,6]),o($V0,[2,16],{12:31,64:35,15:[1,32],17:[1,33],20:[1,34],66:$Vh,67:$Vi,68:$Vj,69:$Vk,70:$Vl}),{23:[1,41]},{25:[1,42]},{27:[1,43]},o($V0,[2,27]),o($V0,[2,28]),o($V0,[2,29]),o($V0,[2,30]),o($V0,[2,31]),o($Vm,[2,54]),o($Vm,[2,55]),o($Vm,[2,56]),o($Vm,[2,57]),o($Vm,[2,58]),o($V0,[2,32]),o($V0,[2,33]),o($V0,[2,34]),o($V0,[2,35]),{16:44,40:$Vn,41:$Vo},{16:47,40:$Vn,41:$Vo},{16:48,40:$Vn,41:$Vo},o($V0,[2,4]),{11:49,40:$Va,48:$Vd,50:$Ve,51:$Vf,52:$Vg},{16:50,40:$Vn,41:$Vo},{18:51,19:[1,52],53:53,54:54,58:$Vp},{11:56,40:$Va,48:$Vd,50:$Ve,51:$Vf,52:$Vg},{65:57,71:[1,58],72:[1,59]},o($Vq,[2,73]),o($Vq,[2,74]),o($Vq,[2,75]),o($Vq,[2,76]),o($Vq,[2,77]),o($V0,[2,24]),o($V0,[2,25]),o($V0,[2,26]),{13:$Vr,38:60,41:$Vs,42:$Vt,45:62,46:63,48:$Vu,49:$Vv},o($Vw,[2,37]),o($Vw,[2,38]),{16:68,40:$Vn,41:$Vo,42:$Vt},{13:$Vr,38:69,41:$Vs,42:$Vt,45:62,46:63,48:$Vu,49:$Vv},{13:[1,70],15:[1,71]},o($V0,[2,17],{64:35,12:72,17:[1,73],42:$Vt,66:$Vh,67:$Vi,68:$Vj,69:$Vk,70:$Vl}),{19:[1,74]},o($V0,[2,14]),{18:75,19:[2,59],53:53,54:54,58:$Vp},{55:76,58:[1,77]},{58:[2,65],59:[1,78]},{21:[1,79]},{64:80,66:$Vh,67:$Vi,68:$Vj,69:$Vk,70:$Vl},o($Vx,[2,78]),o($Vx,[2,79]),{6:$Vy,10:$Vz,39:81,42:$VA,47:$VB},{40:[1,86],41:[1,87]},o($VC,[2,43],{46:88,13:$Vr,41:$Vs,48:$Vu,49:$Vv}),o($VD,[2,45]),o($VD,[2,50]),o($VD,[2,51]),o($VD,[2,52]),o($VD,[2,53]),o($V0,[2,41],{42:$Vt}),{6:$Vy,10:$Vz,39:89,42:$VA,47:$VB},{14:90,40:$VE,50:$VF,73:$VG},{16:94,40:$Vn,41:$Vo},{11:95,40:$Va,48:$Vd,50:$Ve,51:$Vf,52:$Vg},{18:96,19:[1,97],53:53,54:54,58:$Vp},o($V0,[2,12]),{19:[2,60]},o($VH,[2,61],{56:98,57:99,60:100,62:$VI,63:$VJ}),o([19,58,62,63],[2,67]),{58:[2,66]},o($V0,[2,22],{15:[1,104],17:[1,103]}),o([40,48,50,51,52],[2,72]),o($V0,[2,36]),{13:$Vr,41:$Vs,45:105,46:63,48:$Vu,49:$Vv},o($V0,[2,47]),o($V0,[2,48]),o($V0,[2,49]),o($Vw,[2,39]),o($Vw,[2,40]),o($VD,[2,46]),o($V0,[2,42]),o($V0,[2,8]),o($V0,[2,80]),o($V0,[2,81]),o($V0,[2,82]),{13:[1,106],42:$Vt},{13:[1,108],15:[1,107]},{19:[1,109]},o($V0,[2,15]),o($VH,[2,62],{57:110,61:[1,111],63:$VJ}),o($VH,[2,63]),o($VK,[2,68]),o($VH,[2,71]),o($VK,[2,70]),{18:112,19:[1,113],53:53,54:54,58:$Vp},{16:114,40:$Vn,41:$Vo},o($VC,[2,44],{46:88,13:$Vr,41:$Vs,48:$Vu,49:$Vv}),{14:115,40:$VE,50:$VF,73:$VG},{16:116,40:$Vn,41:$Vo},{14:117,40:$VE,50:$VF,73:$VG},o($V0,[2,13]),o($VH,[2,64]),{60:118,62:$VI},{19:[1,119]},o($V0,[2,20]),o($V0,[2,23],{17:[1,120],42:$Vt}),o($V0,[2,11]),{13:[1,121],42:$Vt},o($V0,[2,10]),o($VK,[2,69]),o($V0,[2,18]),{18:122,19:[1,123],53:53,54:54,58:$Vp},{14:124,40:$VE,50:$VF,73:$VG},{19:[1,125]},o($V0,[2,21]),o($V0,[2,9]),o($V0,[2,19])],defaultActions:{75:[2,60],78:[2,66]},parseError:__name(function(str,hash){if(!hash.recoverable){var error=new Error(str);throw error.hash=hash,error}this.trace(str)},"parseError"),parse:__name(function(input){var self=this,stack=[0],tstack=[],vstack=[null],lstack=[],table=this.table,yytext="",yylineno=0,yyleng=0,args=lstack.slice.call(arguments,1),lexer2=Object.create(this.lexer),sharedState={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(sharedState.yy[k]=this.yy[k]);lexer2.setInput(input,sharedState.yy),sharedState.yy.lexer=lexer2,sharedState.yy.parser=this,void 0===lexer2.yylloc&&(lexer2.yylloc={});var yyloc=lexer2.yylloc;lstack.push(yyloc);var ranges=lexer2.options&&lexer2.options.ranges;function lex(){var token;return"number"!=typeof(token=tstack.pop()||lexer2.lex()||1)&&(token instanceof Array&&(token=(tstack=token).pop()),token=self.symbols_[token]||token),token}"function"==typeof sharedState.yy.parseError?this.parseError=sharedState.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,__name(function(n){stack.length=stack.length-2*n,vstack.length=vstack.length-n,lstack.length=lstack.length-n},"popStack"),__name(lex,"lex");for(var symbol,state,action,r,p,len,newState,expected,yyval={};;){if(state=stack[stack.length-1],this.defaultActions[state]?action=this.defaultActions[state]:(null==symbol&&(symbol=lex()),action=table[state]&&table[state][symbol]),void 0===action||!action.length||!action[0]){var errStr="";for(p in expected=[],table[state])this.terminals_[p]&&p>2&&expected.push("'"+this.terminals_[p]+"'");errStr=lexer2.showPosition?"Parse error on line "+(yylineno+1)+":\n"+lexer2.showPosition()+"\nExpecting "+expected.join(", ")+", got '"+(this.terminals_[symbol]||symbol)+"'":"Parse error on line "+(yylineno+1)+": Unexpected "+(1==symbol?"end of input":"'"+(this.terminals_[symbol]||symbol)+"'"),this.parseError(errStr,{text:lexer2.match,token:this.terminals_[symbol]||symbol,line:lexer2.yylineno,loc:yyloc,expected:expected})}if(action[0]instanceof Array&&action.length>1)throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol);switch(action[0]){case 1:stack.push(symbol),vstack.push(lexer2.yytext),lstack.push(lexer2.yylloc),stack.push(action[1]),symbol=null,yyleng=lexer2.yyleng,yytext=lexer2.yytext,yylineno=lexer2.yylineno,yyloc=lexer2.yylloc;break;case 2:if(len=this.productions_[action[1]][1],yyval.$=vstack[vstack.length-len],yyval._$={first_line:lstack[lstack.length-(len||1)].first_line,last_line:lstack[lstack.length-1].last_line,first_column:lstack[lstack.length-(len||1)].first_column,last_column:lstack[lstack.length-1].last_column},ranges&&(yyval._$.range=[lstack[lstack.length-(len||1)].range[0],lstack[lstack.length-1].range[1]]),void 0!==(r=this.performAction.apply(yyval,[yytext,yyleng,yylineno,sharedState.yy,action[1],vstack,lstack].concat(args))))return r;len&&(stack=stack.slice(0,-1*len*2),vstack=vstack.slice(0,-1*len),lstack=lstack.slice(0,-1*len)),stack.push(this.productions_[action[1]][0]),vstack.push(yyval.$),lstack.push(yyval._$),newState=table[stack[stack.length-2]][stack[stack.length-1]],stack.push(newState);break;case 3:return!0}}return!0},"parse")},lexer=function(){return{EOF:1,parseError:__name(function(str,hash){if(!this.yy.parser)throw new Error(str);this.yy.parser.parseError(str,hash)},"parseError"),setInput:__name(function(input,yy){return this.yy=yy||this.yy||{},this._input=input,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:__name(function(){var ch=this._input[0];return this.yytext+=ch,this.yyleng++,this.offset++,this.match+=ch,this.matched+=ch,ch.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ch},"input"),unput:__name(function(ch){var len=ch.length,lines=ch.split(/(?:\r\n?|\n)/g);this._input=ch+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-len),this.offset-=len;var oldLines=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),lines.length-1&&(this.yylineno-=lines.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:lines?(lines.length===oldLines.length?this.yylloc.first_column:0)+oldLines[oldLines.length-lines.length].length-lines[0].length:this.yylloc.first_column-len},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-len]),this.yyleng=this.yytext.length,this},"unput"),more:__name(function(){return this._more=!0,this},"more"),reject:__name(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:__name(function(n){this.unput(this.match.slice(n))},"less"),pastInput:__name(function(){var past=this.matched.substr(0,this.matched.length-this.match.length);return(past.length>20?"...":"")+past.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:__name(function(){var next=this.match;return next.length<20&&(next+=this._input.substr(0,20-next.length)),(next.substr(0,20)+(next.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:__name(function(){var pre=this.pastInput(),c=new Array(pre.length+1).join("-");return pre+this.upcomingInput()+"\n"+c+"^"},"showPosition"),test_match:__name(function(match,indexed_rule){var token,lines,backup;if(this.options.backtrack_lexer&&(backup={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(backup.yylloc.range=this.yylloc.range.slice(0))),(lines=match[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=lines.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:lines?lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+match[0].length},this.yytext+=match[0],this.match+=match[0],this.matches=match,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(match[0].length),this.matched+=match[0],token=this.performAction.call(this,this.yy,this,indexed_rule,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),token)return token;if(this._backtrack){for(var k in backup)this[k]=backup[k];return!1}return!1},"test_match"),next:__name(function(){if(this.done)return this.EOF;var token,match,tempMatch,index;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var rules=this._currentRules(),i=0;i<rules.length;i++)if((tempMatch=this._input.match(this.rules[rules[i]]))&&(!match||tempMatch[0].length>match[0].length)){if(match=tempMatch,index=i,this.options.backtrack_lexer){if(!1!==(token=this.test_match(tempMatch,rules[i])))return token;if(this._backtrack){match=!1;continue}return!1}if(!this.options.flex)break}return match?!1!==(token=this.test_match(match,rules[index]))&&token:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:__name(function(){var r=this.next();return r||this.lex()},"lex"),begin:__name(function(condition){this.conditionStack.push(condition)},"begin"),popState:__name(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:__name(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:__name(function(n){return(n=this.conditionStack.length-1-Math.abs(n||0))>=0?this.conditionStack[n]:"INITIAL"},"topState"),pushState:__name(function(condition){this.begin(condition)},"pushState"),stateStackSize:__name(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:__name(function(yy,yy_,$avoiding_name_collisions,YY_START){switch($avoiding_name_collisions){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 29:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:case 23:case 31:case 38:break;case 13:return 8;case 14:return 50;case 15:return 73;case 16:return 4;case 17:return this.begin("block"),17;case 18:case 19:case 41:return 49;case 20:case 40:return 42;case 21:return 15;case 22:case 39:return 13;case 24:return 62;case 25:case 26:case 28:return 58;case 27:this.begin("block_bq");break;case 30:return 63;case 32:return this.popState(),19;case 33:case 80:return yy_.yytext[0];case 34:return 20;case 35:return 21;case 36:return this.begin("style"),44;case 37:return this.popState(),10;case 42:return this.begin("style"),37;case 43:return 43;case 44:case 48:case 49:case 67:return 66;case 45:case 46:case 47:case 55:case 57:case 69:return 68;case 50:case 51:case 52:case 53:case 54:case 56:case 68:return 67;case 58:case 59:case 61:case 62:case 63:case 66:return 69;case 60:return 51;case 64:return 52;case 65:return 48;case 70:return 70;case 71:case 74:case 75:case 76:return 71;case 72:case 73:return 72;case 77:return 41;case 78:return 47;case 79:return 40;case 81:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\.,\u00C0-\uFFFF\*]*))/i,/^(?:[`])/i,/^(?:[^`]+)/i,/^(?:[`])/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[37,38,39,40,41,77,78],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block_bq:{rules:[28,29],inclusive:!1},block:{rules:[23,24,25,26,27,30,31,32,33],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,34,35,36,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,79,80,81],inclusive:!0}}}}();function Parser(){this.yy={}}return parser2.lexer=lexer,__name(Parser,"Parser"),Parser.prototype=parser2,parser2.Parser=Parser,new Parser}();parser.parser=parser;var erDiagram_default=parser,ErDB=(__name(_a=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=setAccTitle,this.getAccTitle=getAccTitle,this.setAccDescription=setAccDescription,this.getAccDescription=getAccDescription,this.setDiagramTitle=setDiagramTitle,this.getDiagramTitle=getDiagramTitle,this.getConfig=__name(()=>getConfig2().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}addEntity(name,alias=""){var _a2;return this.entities.has(name)?!(null==(_a2=this.entities.get(name))?void 0:_a2.alias)&&alias&&(this.entities.get(name).alias=alias,log.info(`Add alias '${alias}' to entity '${name}'`)):(this.entities.set(name,{id:`entity-${name}-${this.entities.size}`,label:name,attributes:[],alias:alias,shape:"erBox",look:getConfig2().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),log.info("Added new entity :",name)),this.entities.get(name)}getEntity(name){return this.entities.get(name)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(entityName,attribs){const entity=this.addEntity(entityName);let i;for(i=attribs.length-1;i>=0;i--)attribs[i].keys||(attribs[i].keys=[]),attribs[i].comment||(attribs[i].comment=""),entity.attributes.push(attribs[i]),log.debug("Added attribute ",attribs[i].name)}addRelationship(entA,rolA,entB,rSpec){const entityA=this.entities.get(entA),entityB=this.entities.get(entB);if(!entityA||!entityB)return;const rel={entityA:entityA.id,roleA:rolA,entityB:entityB.id,relSpec:rSpec};this.relationships.push(rel),log.debug("Added new relationship :",rel)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(dir){this.direction=dir}getCompiledStyles(classDefs){let compiledStyles=[];for(const customClass of classDefs){const cssClass=this.classes.get(customClass);(null==cssClass?void 0:cssClass.styles)&&(compiledStyles=[...compiledStyles,...cssClass.styles??[]].map(s=>s.trim())),(null==cssClass?void 0:cssClass.textStyles)&&(compiledStyles=[...compiledStyles,...cssClass.textStyles??[]].map(s=>s.trim()))}return compiledStyles}addCssStyles(ids,styles){for(const id of ids){const entity=this.entities.get(id);if(!styles||!entity)return;for(const style of styles)entity.cssStyles.push(style)}}addClass(ids,style){ids.forEach(id=>{let classNode=this.classes.get(id);void 0===classNode&&(classNode={id:id,styles:[],textStyles:[]},this.classes.set(id,classNode)),style&&style.forEach(function(s){if(/color/.exec(s)){const newStyle=s.replace("fill","bgFill");classNode.textStyles.push(newStyle)}classNode.styles.push(s)})})}setClass(ids,classNames){for(const id of ids){const entity=this.entities.get(id);if(entity)for(const className of classNames)entity.cssClasses+=" "+className}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],clear()}getData(){const nodes=[],edges=[],config=getConfig2();let colorIndex=0;for(const entityKey of this.entities.keys()){const entityNode=this.entities.get(entityKey);entityNode&&(entityNode.cssCompiledStyles=this.getCompiledStyles(entityNode.cssClasses.split(" ")),entityNode.colorIndex=colorIndex++,nodes.push(entityNode))}let count=0;for(const relationship of this.relationships){const edge={id:getEdgeId(relationship.entityA,relationship.entityB,{prefix:"id",counter:count++}),type:"normal",curve:"basis",start:relationship.entityA,end:relationship.entityB,label:relationship.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:relationship.relSpec.cardB.toLowerCase(),arrowTypeEnd:relationship.relSpec.cardA.toLowerCase(),pattern:"IDENTIFYING"==relationship.relSpec.relType?"solid":"dashed",look:config.look,labelType:"markdown"};edges.push(edge)}return{nodes:nodes,edges:edges,other:{},config:config,direction:"TB"}}},"ErDB"),_a),erRenderer_unified_exports={};__export(erRenderer_unified_exports,{draw:()=>draw});var draw=__name(async function(text,id,_version,diag){log.info("REF0:"),log.info("Drawing er diagram (unified)",id);const{securityLevel:securityLevel,er:conf,layout:layout}=getConfig2(),data4Layout=diag.db.getData(),svg=getDiagramElement(id,securityLevel);data4Layout.type=diag.type,data4Layout.layoutAlgorithm=getRegisteredLayoutAlgorithm(layout),data4Layout.config.flowchart.nodeSpacing=(null==conf?void 0:conf.nodeSpacing)||140,data4Layout.config.flowchart.rankSpacing=(null==conf?void 0:conf.rankSpacing)||80,data4Layout.direction=diag.db.getDirection();const{config:config}=data4Layout,{look:look}=config;data4Layout.markers="neo"===look?["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:["only_one","zero_or_one","one_or_more","zero_or_more"],data4Layout.diagramId=id,await render(data4Layout,svg),"elk"===data4Layout.layoutAlgorithm&&svg.select(".edges").lower();const backgroundNodes=svg.selectAll('[id*="-background"]');Array.from(backgroundNodes).length>0&&backgroundNodes.each(function(){const backgroundNode=select(this),nonBackgroundId=backgroundNode.attr("id").replace("-background",""),nonBackgroundNode=svg.select(`#${CSS.escape(nonBackgroundId)}`);if(!nonBackgroundNode.empty()){const transform=nonBackgroundNode.attr("transform");backgroundNode.attr("transform",transform)}});utils_default.insertTitle(svg,"erDiagramTitleText",(null==conf?void 0:conf.titleTopMargin)??25,diag.db.getDiagramTitle()),setupViewPortForSVG(svg,8,"erDiagram",(null==conf?void 0:conf.useMaxWidth)??!0)},"draw"),fade=__name((color,opacity)=>{const channel2=channel,r=channel2(color,"r"),g=channel2(color,"g"),b=channel2(color,"b");return rgba(r,g,b,opacity)},"fade"),COLOR_THEMES=new Set(["redux-color","redux-dark-color"]),genColor=__name(options=>{const{theme:theme,look:look,bkgColorArray:bkgColorArray,borderColorArray:borderColorArray}=options;if(!COLOR_THEMES.has(theme))return"";const hasBkgColors=(null==bkgColorArray?void 0:bkgColorArray.length)>0;let sections="";for(let i=0;i<options.THEME_COLOR_LIMIT;i++)sections+=`\n\n [data-look="${look}"][data-color-id="color-${i}"].node path {\n stroke: ${borderColorArray[i]};\n ${hasBkgColors?`fill: ${bkgColorArray[i]};`:""}\n }\n\n [data-look="${look}"][data-color-id="color-${i}"].node rect {\n stroke: ${borderColorArray[i]};\n ${hasBkgColors?`fill: ${bkgColorArray[i]};`:""}\n }\n `;return sections},"genColor"),styles_default=__name(options=>{const{look:look,theme:theme,erEdgeLabelBackground:erEdgeLabelBackground,strokeWidth:strokeWidth}=options;return`\n ${genColor(options)}\n .entityBox {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n }\n\n .relationshipLabelBox {\n fill: ${options.tertiaryColor};\n opacity: 0.7;\n background-color: ${options.tertiaryColor};\n rect {\n opacity: 0.5;\n }\n }\n\n .labelBkg {\n background-color: ${COLOR_THEMES.has(theme)&&erEdgeLabelBackground?erEdgeLabelBackground:fade(options.tertiaryColor,.5)};\n }\n\n .edgeLabel {\n background-color: ${COLOR_THEMES.has(theme)&&erEdgeLabelBackground?erEdgeLabelBackground:options.edgeLabelBackground};\n }\n .edgeLabel .label rect {\n fill: ${COLOR_THEMES.has(theme)&&erEdgeLabelBackground?erEdgeLabelBackground:options.edgeLabelBackground};\n }\n .edgeLabel .label text {\n fill: ${options.textColor};\n }\n\n .edgeLabel .label {\n fill: ${options.nodeBorder};\n font-size: 14px;\n }\n\n .label {\n font-family: ${options.fontFamily};\n color: ${options.nodeTextColor||options.textColor};\n }\n\n .edge-pattern-dashed {\n stroke-dasharray: 8,8;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon\n {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n stroke-width: ${"neo"===look?strokeWidth:"1px"};\n }\n\n .relationshipLine {\n stroke: ${options.lineColor};\n stroke-width: ${"neo"===look?strokeWidth:"1px"};\n fill: none;\n }\n\n .marker {\n fill: none !important;\n stroke: ${options.lineColor} !important;\n stroke-width: 1;\n }\n [data-look=neo].labelBkg {\n background-color: ${fade(options.tertiaryColor,.5)};\n }\n`},"getStyles"),diagram={parser:erDiagram_default,get db(){return new ErDB},renderer:erRenderer_unified_exports,styles:styles_default};export{diagram};
@@ -0,0 +1 @@
1
+ var typeWords=["-type","-spec","-export_type","-opaque"],keywordWords=["after","begin","catch","case","cond","end","fun","if","let","of","query","receive","try","when"],separatorRE=/[\->,;]/,separatorWords=["->",";",","],operatorAtomWords=["and","andalso","band","bnot","bor","bsl","bsr","bxor","div","not","or","orelse","rem","xor"],operatorSymbolRE=/[\+\-\*\/<>=\|:!]/,operatorSymbolWords=["=","+","-","*","/",">",">=","<","=<","=:=","==","=/=","/=","||","<-","!"],openParenRE=/[<\(\[\{]/,openParenWords=["<<","(","[","{"],closeParenRE=/[>\)\]\}]/,closeParenWords=["}","]",")",">>"],guardWords=["is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_record","is_reference","is_tuple","atom","binary","bitstring","boolean","function","integer","list","number","pid","port","record","reference","tuple"],bifWords=["abs","adler32","adler32_combine","alive","apply","atom_to_binary","atom_to_list","binary_to_atom","binary_to_existing_atom","binary_to_list","binary_to_term","bit_size","bitstring_to_list","byte_size","check_process_code","contact_binary","crc32","crc32_combine","date","decode_packet","delete_module","disconnect_node","element","erase","exit","float","float_to_list","garbage_collect","get","get_keys","group_leader","halt","hd","integer_to_list","internal_bif","iolist_size","iolist_to_binary","is_alive","is_atom","is_binary","is_bitstring","is_boolean","is_float","is_function","is_integer","is_list","is_number","is_pid","is_port","is_process_alive","is_record","is_reference","is_tuple","length","link","list_to_atom","list_to_binary","list_to_bitstring","list_to_existing_atom","list_to_float","list_to_integer","list_to_pid","list_to_tuple","load_module","make_ref","module_loaded","monitor_node","node","node_link","node_unlink","nodes","notalive","now","open_port","pid_to_list","port_close","port_command","port_connect","port_control","pre_loaded","process_flag","process_info","processes","purge_module","put","register","registered","round","self","setelement","size","spawn","spawn_link","spawn_monitor","spawn_opt","split_binary","statistics","term_to_binary","time","throw","tl","trunc","tuple_size","tuple_to_list","unlink","unregister","whereis"],anumRE=/[\w@Ø-ÞÀ-Öß-öø-ÿ]/,escapesRE=/[0-7]{1,3}|[bdefnrstv\\"']|\^[a-zA-Z]|x[0-9a-zA-Z]{2}|x{[0-9a-zA-Z]+}/;function nongreedy(stream,re,words){if(1==stream.current().length&&re.test(stream.current())){for(stream.backUp(1);re.test(stream.peek());)if(stream.next(),is_member(stream.current(),words))return!0;stream.backUp(stream.current().length-1)}return!1}function greedy(stream,re,words){if(1==stream.current().length&&re.test(stream.current())){for(;re.test(stream.peek());)stream.next();for(;0<stream.current().length;){if(is_member(stream.current(),words))return!0;stream.backUp(1)}stream.next()}return!1}function doubleQuote(stream){return quote(stream,'"',"\\")}function singleQuote(stream){return quote(stream,"'","\\")}function quote(stream,quoteChar,escapeChar){for(;!stream.eol();){var ch=stream.next();if(ch==quoteChar)return!0;ch==escapeChar&&stream.next()}return!1}function is_member(element,list){return-1<list.indexOf(element)}function rval(state,stream,type){switch(function(state,token){"comment"!=token.type&&"whitespace"!=token.type&&(state.tokenStack=function(s,token){var last=s.length-1;0<last&&"record"===s[last].type&&"dot"===token.type?s.pop():0<last&&"group"===s[last].type?(s.pop(),s.push(token)):s.push(token);return s}(state.tokenStack,token),state.tokenStack=function(s){if(!s.length)return s;var last=s.length-1;if("dot"===s[last].type)return[];if(last>1&&"fun"===s[last].type&&"fun"===s[last-1].token)return s.slice(0,last-1);switch(s[last].token){case"}":return d(s,{g:["{"]});case"]":return d(s,{i:["["]});case")":return d(s,{i:["("]});case">>":return d(s,{i:["<<"]});case"end":return d(s,{i:["begin","case","fun","if","receive","try"]});case",":return d(s,{e:["begin","try","when","->",",","(","[","{","<<"]});case"->":return d(s,{r:["when"],m:["try","if","case","receive"]});case";":return d(s,{E:["case","fun","if","receive","try","when"]});case"catch":return d(s,{e:["try"]});case"of":return d(s,{e:["case"]});case"after":return d(s,{e:["receive","try"]});default:return s}}(state.tokenStack))}(state,function(type,stream){return aToken(stream.current(),stream.column(),stream.indentation(),type)}(type,stream)),type){case"atom":case"boolean":return"atom";case"attribute":return"attribute";case"builtin":return"builtin";case"close_paren":case"colon":case"dot":case"open_paren":case"separator":default:return null;case"comment":return"comment";case"error":return"error";case"fun":return"meta";case"function":return"tag";case"guard":return"property";case"keyword":return"keyword";case"macro":return"macroName";case"number":return"number";case"operator":return"operator";case"record":return"bracket";case"string":return"string";case"type":return"def";case"variable":return"variable"}}function aToken(tok,col,ind,typ){return{token:tok,column:col,indent:ind,type:typ}}function fakeToken(type){return aToken(type,0,0,type)}function peekToken(state,depth){var len=state.tokenStack.length,dep=depth||1;return!(len<dep)&&state.tokenStack[len-dep]}function d(stack,tt){for(var type in tt)for(var len=stack.length-1,tokens=tt[type],i=len-1;-1<i;i--)if(is_member(stack[i].token,tokens)){var ss=stack.slice(0,i);switch(type){case"m":return ss.concat(stack[i]).concat(stack[len]);case"r":return ss.concat(stack[len]);case"i":return ss;case"g":return ss.concat(fakeToken("group"));case"E":case"e":return ss.concat(stack[i])}}return"E"==type?[]:stack}function getToken(state,tokens){var objs=state.tokenStack,i=getTokenIndex(objs,"token",tokens);return!!truthy(objs[i])&&objs[i]}function getTokenIndex(objs,propname,propvals){for(var i=objs.length-1;-1<i;i--)if(is_member(objs[i][propname],propvals))return i;return!1}function truthy(x){return!1!==x&&null!=x}const erlang={name:"erlang",startState:()=>({tokenStack:[],in_string:!1,in_atom:!1}),token:function(stream,state){if(state.in_string)return state.in_string=!doubleQuote(stream),rval(state,stream,"string");if(state.in_atom)return state.in_atom=!singleQuote(stream),rval(state,stream,"atom");if(stream.eatSpace())return rval(state,stream,"whitespace");if(!peekToken(state)&&stream.match(/-\s*[a-zß-öø-ÿ][\wØ-ÞÀ-Öß-öø-ÿ]*/))return is_member(stream.current(),typeWords)?rval(state,stream,"type"):rval(state,stream,"attribute");var ch=stream.next();if("%"==ch)return stream.skipToEnd(),rval(state,stream,"comment");if(":"==ch)return rval(state,stream,"colon");if("?"==ch)return stream.eatSpace(),stream.eatWhile(anumRE),rval(state,stream,"macro");if("#"==ch)return stream.eatSpace(),stream.eatWhile(anumRE),rval(state,stream,"record");if("$"==ch)return"\\"!=stream.next()||stream.match(escapesRE)?rval(state,stream,"number"):rval(state,stream,"error");if("."==ch)return rval(state,stream,"dot");if("'"==ch){if(!(state.in_atom=!singleQuote(stream))){if(stream.match(/\s*\/\s*[0-9]/,!1))return stream.match(/\s*\/\s*[0-9]/,!0),rval(state,stream,"fun");if(stream.match(/\s*\(/,!1)||stream.match(/\s*:/,!1))return rval(state,stream,"function")}return rval(state,stream,"atom")}if('"'==ch)return state.in_string=!doubleQuote(stream),rval(state,stream,"string");if(/[A-Z_Ø-ÞÀ-Ö]/.test(ch))return stream.eatWhile(anumRE),rval(state,stream,"variable");if(/[a-z_ß-öø-ÿ]/.test(ch)){if(stream.eatWhile(anumRE),stream.match(/\s*\/\s*[0-9]/,!1))return stream.match(/\s*\/\s*[0-9]/,!0),rval(state,stream,"fun");var w=stream.current();return is_member(w,keywordWords)?rval(state,stream,"keyword"):is_member(w,operatorAtomWords)?rval(state,stream,"operator"):stream.match(/\s*\(/,!1)?!is_member(w,bifWords)||":"==peekToken(state).token&&"erlang"!=peekToken(state,2).token?is_member(w,guardWords)?rval(state,stream,"guard"):rval(state,stream,"function"):rval(state,stream,"builtin"):":"==function(stream){var m=stream.match(/^\s*([^\s%])/,!1);return m?m[1]:""}(stream)?rval(state,stream,"erlang"==w?"builtin":"function"):is_member(w,["true","false"])?rval(state,stream,"boolean"):rval(state,stream,"atom")}var digitRE=/[0-9]/;return digitRE.test(ch)?(stream.eatWhile(digitRE),stream.eat("#")?stream.eatWhile(/[0-9a-zA-Z]/)||stream.backUp(1):stream.eat(".")&&(stream.eatWhile(digitRE)?stream.eat(/[eE]/)&&(stream.eat(/[-+]/)?stream.eatWhile(digitRE)||stream.backUp(2):stream.eatWhile(digitRE)||stream.backUp(1)):stream.backUp(1)),rval(state,stream,"number")):nongreedy(stream,openParenRE,openParenWords)?rval(state,stream,"open_paren"):nongreedy(stream,closeParenRE,closeParenWords)?rval(state,stream,"close_paren"):greedy(stream,separatorRE,separatorWords)?rval(state,stream,"separator"):greedy(stream,operatorSymbolRE,operatorSymbolWords)?rval(state,stream,"operator"):rval(state,stream,null)},indent:function(state,textAfter,cx){var t,m,wordAfter=truthy(m=textAfter.match(/,|[a-z]+|\}|\]|\)|>>|\|+|\(/))&&0===m.index?m[0]:"",currT=peekToken(state,1),prevT=peekToken(state,2);return state.in_string||state.in_atom?null:prevT?"when"==currT.token?currT.column+cx.unit:"when"===wordAfter&&"function"===prevT.type?prevT.indent+cx.unit:"("===wordAfter&&"fun"===currT.token?currT.column+3:"catch"===wordAfter&&(t=getToken(state,["try"]))?t.column:is_member(wordAfter,["end","after","of"])?(t=getToken(state,["begin","case","fun","if","receive","try"]))?t.column:null:is_member(wordAfter,closeParenWords)?(t=getToken(state,openParenWords))?t.column:null:is_member(currT.token,[",","|","||"])||is_member(wordAfter,[",","|","||"])?(t=function(state){var objs=state.tokenStack.slice(0,-1),i=getTokenIndex(objs,"type",["open_paren"]);return!!truthy(objs[i])&&objs[i]}(state))?t.column+t.token.length:cx.unit:"->"==currT.token?is_member(prevT.token,["receive","case","if","try"])?prevT.column+cx.unit+cx.unit:prevT.column+cx.unit:is_member(currT.token,openParenWords)?currT.column+currT.token.length:(t=function(state){var objs=state.tokenStack,stop=getTokenIndex(objs,"type",["open_paren","separator","keyword"]),oper=getTokenIndex(objs,"type",["operator"]);return truthy(stop)&&truthy(oper)&&stop<oper?objs[stop+1]:!!truthy(stop)&&objs[stop]}(state),truthy(t)?t.column+cx.unit:0):0},languageData:{commentTokens:{line:"%"}}};export{erlang};
@@ -0,0 +1 @@
1
+ import{s as simpleMode}from"./simple-mode-CoQRusFX.js";const factor=simpleMode({start:[{regex:/#?!.*/,token:"comment"},{regex:/"""/,token:"string",next:"string3"},{regex:/(STRING:)(\s)/,token:["keyword",null],next:"string2"},{regex:/\S*?"/,token:"string",next:"string"},{regex:/(?:0x[\d,a-f]+)|(?:0o[0-7]+)|(?:0b[0,1]+)|(?:\-?\d+.?\d*)(?=\s)/,token:"number"},{regex:/((?:GENERIC)|\:?\:)(\s+)(\S+)(\s+)(\()/,token:["keyword",null,"def",null,"bracket"],next:"stack"},{regex:/(M\:)(\s+)(\S+)(\s+)(\S+)/,token:["keyword",null,"def",null,"tag"]},{regex:/USING\:/,token:"keyword",next:"vocabulary"},{regex:/(USE\:|IN\:)(\s+)(\S+)(?=\s|$)/,token:["keyword",null,"tag"]},{regex:/(\S+\:)(\s+)(\S+)(?=\s|$)/,token:["keyword",null,"def"]},{regex:/(?:;|\\|t|f|if|loop|while|until|do|PRIVATE>|<PRIVATE|\.|\S*\[|\]|\S*\{|\})(?=\s|$)/,token:"keyword"},{regex:/\S+[\)>\.\*\?]+(?=\s|$)/,token:"builtin"},{regex:/[\)><]+\S+(?=\s|$)/,token:"builtin"},{regex:/(?:[\+\-\=\/\*<>])(?=\s|$)/,token:"keyword"},{regex:/\S+/,token:"variable"},{regex:/\s+|./,token:null}],vocabulary:[{regex:/;/,token:"keyword",next:"start"},{regex:/\S+/,token:"tag"},{regex:/\s+|./,token:null}],string:[{regex:/(?:[^\\]|\\.)*?"/,token:"string",next:"start"},{regex:/.*/,token:"string"}],string2:[{regex:/^;/,token:"keyword",next:"start"},{regex:/.*/,token:"string"}],string3:[{regex:/(?:[^\\]|\\.)*?"""/,token:"string",next:"start"},{regex:/.*/,token:"string"}],stack:[{regex:/\)/,token:"bracket",next:"start"},{regex:/--/,token:"bracket"},{regex:/\S+/,token:"meta"},{regex:/\s+|./,token:null}],languageData:{name:"factor",dontIndentStates:["start","vocabulary","string","string3","stack"],commentTokens:{line:"!"}}});export{factor};
@@ -0,0 +1 @@
1
+ var keywords={term:!0,method:!0,accu:!0,rule:!0,then:!0,is:!0,and:!0,or:!0,if:!0,default:!0},start_blocks={var_input:!0,var_output:!0,fuzzify:!0,defuzzify:!0,function_block:!0,ruleblock:!0},end_blocks={end_ruleblock:!0,end_defuzzify:!0,end_function_block:!0,end_fuzzify:!0,end_var:!0},atoms={true:!0,false:!0,nan:!0,real:!0,min:!0,max:!0,cog:!0,cogs:!0},isOperatorChar=/[+\-*&^%:=<>!|\/]/;function tokenBase(stream,state){var ch=stream.next();if(/[\d\.]/.test(ch))return"."==ch?stream.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):"0"==ch?stream.match(/^[xX][0-9a-fA-F]+/)||stream.match(/^0[0-7]+/):stream.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if("/"==ch||"("==ch){if(stream.eat("*"))return state.tokenize=tokenComment,tokenComment(stream,state);if(stream.eat("/"))return stream.skipToEnd(),"comment"}if(isOperatorChar.test(ch))return stream.eatWhile(isOperatorChar),"operator";stream.eatWhile(/[\w\$_\xa1-\uffff]/);var cur=stream.current().toLowerCase();return keywords.propertyIsEnumerable(cur)||start_blocks.propertyIsEnumerable(cur)||end_blocks.propertyIsEnumerable(cur)?"keyword":atoms.propertyIsEnumerable(cur)?"atom":"variable"}function tokenComment(stream,state){for(var ch,maybeEnd=!1;ch=stream.next();){if(("/"==ch||")"==ch)&&maybeEnd){state.tokenize=tokenBase;break}maybeEnd="*"==ch}return"comment"}function Context(indented,column,type,align,prev){this.indented=indented,this.column=column,this.type=type,this.align=align,this.prev=prev}const fcl={name:"fcl",startState:function(indentUnit){return{tokenize:null,context:new Context(-indentUnit,0,"top",!1),indented:0,startOfLine:!0}},token:function(stream,state){var ctx=state.context;if(stream.sol()&&(null==ctx.align&&(ctx.align=!1),state.indented=stream.indentation(),state.startOfLine=!0),stream.eatSpace())return null;var style=(state.tokenize||tokenBase)(stream,state);if("comment"==style)return style;null==ctx.align&&(ctx.align=!0);var cur=stream.current().toLowerCase();return start_blocks.propertyIsEnumerable(cur)?function(state,col,type){state.context=new Context(state.indented,col,type,null,state.context)}(state,stream.column(),"end_block"):end_blocks.propertyIsEnumerable(cur)&&function(state){if(state.context.prev)"end_block"==state.context.type&&(state.indented=state.context.indented),state.context=state.context.prev}(state),state.startOfLine=!1,style},indent:function(state,textAfter,cx){if(state.tokenize!=tokenBase&&null!=state.tokenize)return 0;var ctx=state.context,closing=end_blocks.propertyIsEnumerable(textAfter);return ctx.align?ctx.column+(closing?0:1):ctx.indented+(closing?0:cx.unit)},languageData:{commentTokens:{line:"//",block:{open:"(*",close:"*)"}}}};export{fcl};