dominds 0.1.0

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 (273) hide show
  1. package/LICENSE +157 -0
  2. package/README.md +250 -0
  3. package/README.zh.md +161 -0
  4. package/dist/access-control.js +253 -0
  5. package/dist/cli/create.js +263 -0
  6. package/dist/cli/read.js +84 -0
  7. package/dist/cli/tui.js +199 -0
  8. package/dist/cli/webui.js +169 -0
  9. package/dist/cli.js +227 -0
  10. package/dist/dialog-factory.js +53 -0
  11. package/dist/dialog-global-registry.js +68 -0
  12. package/dist/dialog-instance-registry.js +78 -0
  13. package/dist/dialog-run-state.js +198 -0
  14. package/dist/dialog.js +1024 -0
  15. package/dist/evt-registry.js +103 -0
  16. package/dist/index.js +8 -0
  17. package/dist/llm/client.js +69 -0
  18. package/dist/llm/defaults.yaml +386 -0
  19. package/dist/llm/driver.js +3214 -0
  20. package/dist/llm/gen/anthropic.js +611 -0
  21. package/dist/llm/gen/codex.js +375 -0
  22. package/dist/llm/gen/mock.js +326 -0
  23. package/dist/llm/gen/openai.js +470 -0
  24. package/dist/llm/gen/registry.js +26 -0
  25. package/dist/llm/gen.js +2 -0
  26. package/dist/llm/tools-projection.js +37 -0
  27. package/dist/log.js +228 -0
  28. package/dist/mcp/config.js +230 -0
  29. package/dist/mcp/sdk-client.js +129 -0
  30. package/dist/mcp/server-runtime.js +57 -0
  31. package/dist/mcp/stdio-client.js +280 -0
  32. package/dist/mcp/supervisor.js +979 -0
  33. package/dist/mcp/tool-names.js +109 -0
  34. package/dist/minds/builtin/cmdr/persona.md +3 -0
  35. package/dist/minds/builtin/dijiang/knowledge.md +287 -0
  36. package/dist/minds/builtin/dijiang/persona.md +7 -0
  37. package/dist/minds/builtin/fuxi/persona.en.md +59 -0
  38. package/dist/minds/builtin/fuxi/persona.zh.md +49 -0
  39. package/dist/minds/builtin/pangu/persona.en.md +78 -0
  40. package/dist/minds/builtin/pangu/persona.zh.md +71 -0
  41. package/dist/minds/load.js +617 -0
  42. package/dist/minds/minds-i18n.js +131 -0
  43. package/dist/minds/system-prompt.js +281 -0
  44. package/dist/persistence.js +3128 -0
  45. package/dist/problems.js +109 -0
  46. package/dist/server/api-routes.js +1031 -0
  47. package/dist/server/auth.js +180 -0
  48. package/dist/server/mime-types.js +32 -0
  49. package/dist/server/prompts-routes.js +543 -0
  50. package/dist/server/server-core.js +235 -0
  51. package/dist/server/setup-routes.js +697 -0
  52. package/dist/server/static-server.js +132 -0
  53. package/dist/server/websocket-handler.js +1011 -0
  54. package/dist/server.js +164 -0
  55. package/dist/shared/async-fifo-mutex.js +36 -0
  56. package/dist/shared/diligence.js +20 -0
  57. package/dist/shared/dotenv.js +144 -0
  58. package/dist/shared/evt.js +195 -0
  59. package/dist/shared/i18n/driver-messages.js +267 -0
  60. package/dist/shared/i18n/text.js +9 -0
  61. package/dist/shared/i18n/tool-result-messages.js +51 -0
  62. package/dist/shared/rtws-cli.js +73 -0
  63. package/dist/shared/runtime-language.js +47 -0
  64. package/dist/shared/team-mgmt-manual.js +116 -0
  65. package/dist/shared/types/context-health.js +2 -0
  66. package/dist/shared/types/dialog.js +11 -0
  67. package/dist/shared/types/i18n.js +2 -0
  68. package/dist/shared/types/index.js +26 -0
  69. package/dist/shared/types/language.js +40 -0
  70. package/dist/shared/types/problems.js +2 -0
  71. package/dist/shared/types/prompts.js +2 -0
  72. package/dist/shared/types/q4h.js +7 -0
  73. package/dist/shared/types/run-state.js +8 -0
  74. package/dist/shared/types/setup.js +2 -0
  75. package/dist/shared/types/storage.js +10 -0
  76. package/dist/shared/types/tellask.js +8 -0
  77. package/dist/shared/types/tools-registry.js +2 -0
  78. package/dist/shared/types/wire.js +12 -0
  79. package/dist/shared/utils/fmt.js +9 -0
  80. package/dist/shared/utils/html.js +20 -0
  81. package/dist/shared/utils/id.js +18 -0
  82. package/dist/shared/utils/inter-dialog-format.js +101 -0
  83. package/dist/shared/utils/time.js +13 -0
  84. package/dist/static/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  85. package/dist/static/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  86. package/dist/static/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  87. package/dist/static/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  88. package/dist/static/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  89. package/dist/static/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  90. package/dist/static/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  91. package/dist/static/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  92. package/dist/static/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  93. package/dist/static/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  94. package/dist/static/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  95. package/dist/static/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  96. package/dist/static/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  97. package/dist/static/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  98. package/dist/static/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  99. package/dist/static/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  100. package/dist/static/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  101. package/dist/static/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  102. package/dist/static/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  103. package/dist/static/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  104. package/dist/static/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  105. package/dist/static/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  106. package/dist/static/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  107. package/dist/static/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  108. package/dist/static/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  109. package/dist/static/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  110. package/dist/static/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  111. package/dist/static/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  112. package/dist/static/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  113. package/dist/static/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  114. package/dist/static/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  115. package/dist/static/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  116. package/dist/static/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  117. package/dist/static/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  118. package/dist/static/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  119. package/dist/static/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  120. package/dist/static/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  121. package/dist/static/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  122. package/dist/static/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  123. package/dist/static/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  124. package/dist/static/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  125. package/dist/static/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  126. package/dist/static/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  127. package/dist/static/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  128. package/dist/static/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  129. package/dist/static/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  130. package/dist/static/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  131. package/dist/static/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  132. package/dist/static/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  133. package/dist/static/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  134. package/dist/static/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  135. package/dist/static/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  136. package/dist/static/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  137. package/dist/static/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  138. package/dist/static/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  139. package/dist/static/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  140. package/dist/static/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  141. package/dist/static/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  142. package/dist/static/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  143. package/dist/static/assets/_baseUniq-Crfl3d5Y.js +661 -0
  144. package/dist/static/assets/_baseUniq-Crfl3d5Y.js.map +1 -0
  145. package/dist/static/assets/arc-CbA_x9GD.js +132 -0
  146. package/dist/static/assets/arc-CbA_x9GD.js.map +1 -0
  147. package/dist/static/assets/architectureDiagram-VXUJARFQ-lcFS8ZQJ.js +8685 -0
  148. package/dist/static/assets/architectureDiagram-VXUJARFQ-lcFS8ZQJ.js.map +1 -0
  149. package/dist/static/assets/blockDiagram-VD42YOAC-B3Q36qRc.js +3608 -0
  150. package/dist/static/assets/blockDiagram-VD42YOAC-B3Q36qRc.js.map +1 -0
  151. package/dist/static/assets/c4Diagram-YG6GDRKO-Mt-aq3VH.js +2482 -0
  152. package/dist/static/assets/c4Diagram-YG6GDRKO-Mt-aq3VH.js.map +1 -0
  153. package/dist/static/assets/channel-BVr1Yke-.js +8 -0
  154. package/dist/static/assets/channel-BVr1Yke-.js.map +1 -0
  155. package/dist/static/assets/chunk-4BX2VUAB-qCIn5Iic.js +17 -0
  156. package/dist/static/assets/chunk-4BX2VUAB-qCIn5Iic.js.map +1 -0
  157. package/dist/static/assets/chunk-55IACEB6-q172NeCV.js +14 -0
  158. package/dist/static/assets/chunk-55IACEB6-q172NeCV.js.map +1 -0
  159. package/dist/static/assets/chunk-B4BG7PRW-CMJmtYzq.js +1827 -0
  160. package/dist/static/assets/chunk-B4BG7PRW-CMJmtYzq.js.map +1 -0
  161. package/dist/static/assets/chunk-DI55MBZ5-DiuwwZPL.js +1916 -0
  162. package/dist/static/assets/chunk-DI55MBZ5-DiuwwZPL.js.map +1 -0
  163. package/dist/static/assets/chunk-FMBD7UC4-06sqZTTn.js +20 -0
  164. package/dist/static/assets/chunk-FMBD7UC4-06sqZTTn.js.map +1 -0
  165. package/dist/static/assets/chunk-QN33PNHL-CnpBNkpP.js +25 -0
  166. package/dist/static/assets/chunk-QN33PNHL-CnpBNkpP.js.map +1 -0
  167. package/dist/static/assets/chunk-QZHKN3VN-CNgjMR-e.js +18 -0
  168. package/dist/static/assets/chunk-QZHKN3VN-CNgjMR-e.js.map +1 -0
  169. package/dist/static/assets/chunk-TZMSLE5B-BxtzW6--.js +109 -0
  170. package/dist/static/assets/chunk-TZMSLE5B-BxtzW6--.js.map +1 -0
  171. package/dist/static/assets/classDiagram-2ON5EDUG-29huvmn-.js +23 -0
  172. package/dist/static/assets/classDiagram-2ON5EDUG-29huvmn-.js.map +1 -0
  173. package/dist/static/assets/classDiagram-v2-WZHVMYZB-29huvmn-.js +23 -0
  174. package/dist/static/assets/classDiagram-v2-WZHVMYZB-29huvmn-.js.map +1 -0
  175. package/dist/static/assets/clone-D2OgLSSn.js +9 -0
  176. package/dist/static/assets/clone-D2OgLSSn.js.map +1 -0
  177. package/dist/static/assets/cose-bilkent-S5V4N54A-BNegDCxl.js +4943 -0
  178. package/dist/static/assets/cose-bilkent-S5V4N54A-BNegDCxl.js.map +1 -0
  179. package/dist/static/assets/cytoscape.esm-Bm8DJGmZ.js +30240 -0
  180. package/dist/static/assets/cytoscape.esm-Bm8DJGmZ.js.map +1 -0
  181. package/dist/static/assets/dagre-6UL2VRFP-f1XrTRSn.js +695 -0
  182. package/dist/static/assets/dagre-6UL2VRFP-f1XrTRSn.js.map +1 -0
  183. package/dist/static/assets/defaultLocale-DVr69WTU.js +207 -0
  184. package/dist/static/assets/defaultLocale-DVr69WTU.js.map +1 -0
  185. package/dist/static/assets/diagram-PSM6KHXK-8w1WbeDi.js +849 -0
  186. package/dist/static/assets/diagram-PSM6KHXK-8w1WbeDi.js.map +1 -0
  187. package/dist/static/assets/diagram-QEK2KX5R-CF4wtMmR.js +303 -0
  188. package/dist/static/assets/diagram-QEK2KX5R-CF4wtMmR.js.map +1 -0
  189. package/dist/static/assets/diagram-S2PKOQOG-8p3Avgn2.js +213 -0
  190. package/dist/static/assets/diagram-S2PKOQOG-8p3Avgn2.js.map +1 -0
  191. package/dist/static/assets/erDiagram-Q2GNP2WA-BMKLxlM9.js +1159 -0
  192. package/dist/static/assets/erDiagram-Q2GNP2WA-BMKLxlM9.js.map +1 -0
  193. package/dist/static/assets/favicon-Cmg5RbCj.svg +8 -0
  194. package/dist/static/assets/flowDiagram-NV44I4VS-CgEuPNK2.js +2332 -0
  195. package/dist/static/assets/flowDiagram-NV44I4VS-CgEuPNK2.js.map +1 -0
  196. package/dist/static/assets/ganttDiagram-JELNMOA3-bJkDCf-9.js +3681 -0
  197. package/dist/static/assets/ganttDiagram-JELNMOA3-bJkDCf-9.js.map +1 -0
  198. package/dist/static/assets/gitGraphDiagram-NY62KEGX-4QE9kesp.js +1206 -0
  199. package/dist/static/assets/gitGraphDiagram-NY62KEGX-4QE9kesp.js.map +1 -0
  200. package/dist/static/assets/graph-CS0Pmm7c.js +597 -0
  201. package/dist/static/assets/graph-CS0Pmm7c.js.map +1 -0
  202. package/dist/static/assets/index-BS6HnGzC.js +112303 -0
  203. package/dist/static/assets/index-BS6HnGzC.js.map +1 -0
  204. package/dist/static/assets/index-DaIsSzC_.css +483 -0
  205. package/dist/static/assets/infoDiagram-WHAUD3N6-ypBcKfUs.js +34 -0
  206. package/dist/static/assets/infoDiagram-WHAUD3N6-ypBcKfUs.js.map +1 -0
  207. package/dist/static/assets/init-ZxktEp_H.js +17 -0
  208. package/dist/static/assets/init-ZxktEp_H.js.map +1 -0
  209. package/dist/static/assets/journeyDiagram-XKPGCS4Q-QnrxDowJ.js +1255 -0
  210. package/dist/static/assets/journeyDiagram-XKPGCS4Q-QnrxDowJ.js.map +1 -0
  211. package/dist/static/assets/kanban-definition-3W4ZIXB7-CfvEc4z5.js +1048 -0
  212. package/dist/static/assets/kanban-definition-3W4ZIXB7-CfvEc4z5.js.map +1 -0
  213. package/dist/static/assets/layout-8TGxpm23.js +2218 -0
  214. package/dist/static/assets/layout-8TGxpm23.js.map +1 -0
  215. package/dist/static/assets/linear-BATBPQQv.js +341 -0
  216. package/dist/static/assets/linear-BATBPQQv.js.map +1 -0
  217. package/dist/static/assets/min-B3oVH3AC.js +42 -0
  218. package/dist/static/assets/min-B3oVH3AC.js.map +1 -0
  219. package/dist/static/assets/mindmap-definition-VGOIOE7T-L7VLwwF8.js +1127 -0
  220. package/dist/static/assets/mindmap-definition-VGOIOE7T-L7VLwwF8.js.map +1 -0
  221. package/dist/static/assets/ordinal-CxptdPJm.js +77 -0
  222. package/dist/static/assets/ordinal-CxptdPJm.js.map +1 -0
  223. package/dist/static/assets/pieDiagram-ADFJNKIX-CFW3zIhM.js +241 -0
  224. package/dist/static/assets/pieDiagram-ADFJNKIX-CFW3zIhM.js.map +1 -0
  225. package/dist/static/assets/quadrantDiagram-AYHSOK5B-B7ssen3E.js +1338 -0
  226. package/dist/static/assets/quadrantDiagram-AYHSOK5B-B7ssen3E.js.map +1 -0
  227. package/dist/static/assets/requirementDiagram-UZGBJVZJ-D0v5BArv.js +1162 -0
  228. package/dist/static/assets/requirementDiagram-UZGBJVZJ-D0v5BArv.js.map +1 -0
  229. package/dist/static/assets/sankeyDiagram-TZEHDZUN-B7slncJe.js +1195 -0
  230. package/dist/static/assets/sankeyDiagram-TZEHDZUN-B7slncJe.js.map +1 -0
  231. package/dist/static/assets/sequenceDiagram-WL72ISMW-oXU2lRh_.js +3875 -0
  232. package/dist/static/assets/sequenceDiagram-WL72ISMW-oXU2lRh_.js.map +1 -0
  233. package/dist/static/assets/stateDiagram-FKZM4ZOC-CFYsEd0x.js +452 -0
  234. package/dist/static/assets/stateDiagram-FKZM4ZOC-CFYsEd0x.js.map +1 -0
  235. package/dist/static/assets/stateDiagram-v2-4FDKWEC3-C0UWaNA7.js +22 -0
  236. package/dist/static/assets/stateDiagram-v2-4FDKWEC3-C0UWaNA7.js.map +1 -0
  237. package/dist/static/assets/timeline-definition-IT6M3QCI-C3KODUrh.js +1223 -0
  238. package/dist/static/assets/timeline-definition-IT6M3QCI-C3KODUrh.js.map +1 -0
  239. package/dist/static/assets/treemap-KMMF4GRG-DAGDLhj2.js +18753 -0
  240. package/dist/static/assets/treemap-KMMF4GRG-DAGDLhj2.js.map +1 -0
  241. package/dist/static/assets/xychartDiagram-PRI3JC2R-C0J9iwTO.js +1888 -0
  242. package/dist/static/assets/xychartDiagram-PRI3JC2R-C0J9iwTO.js.map +1 -0
  243. package/dist/static/index.html +71 -0
  244. package/dist/static/testing/dom-observation-utils.js +425 -0
  245. package/dist/static/testing/e2e-test-helper.js +3119 -0
  246. package/dist/team.js +1160 -0
  247. package/dist/tellask.js +431 -0
  248. package/dist/tool.js +150 -0
  249. package/dist/tools/apply-patch.js +542 -0
  250. package/dist/tools/builtins.js +196 -0
  251. package/dist/tools/context-health.js +177 -0
  252. package/dist/tools/ctrl.js +478 -0
  253. package/dist/tools/diag.js +583 -0
  254. package/dist/tools/env.js +184 -0
  255. package/dist/tools/fs.js +818 -0
  256. package/dist/tools/mcp.js +138 -0
  257. package/dist/tools/mem.js +349 -0
  258. package/dist/tools/os.js +751 -0
  259. package/dist/tools/prompts/team_mgmt.en.md +70 -0
  260. package/dist/tools/prompts/team_mgmt.zh.md +70 -0
  261. package/dist/tools/prompts/ws_mod.en.md +86 -0
  262. package/dist/tools/prompts/ws_mod.zh.md +87 -0
  263. package/dist/tools/registry-snapshot.js +31 -0
  264. package/dist/tools/registry.js +121 -0
  265. package/dist/tools/ripgrep.js +678 -0
  266. package/dist/tools/team-mgmt.js +3300 -0
  267. package/dist/tools/txt.js +3178 -0
  268. package/dist/utils/id.js +72 -0
  269. package/dist/utils/task-doc.js +236 -0
  270. package/dist/utils/task-package.js +522 -0
  271. package/dist/utils/taskdoc-search.js +280 -0
  272. package/dist/utils/taskdoc.js +400 -0
  273. package/package.json +69 -0
@@ -0,0 +1,452 @@
1
+ import { s as styles_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-DiuwwZPL.js";
2
+ import { _ as __name, c as getConfig2, d as select, l as log, e as configureSvgSize, k as common_default, R as line, S as curveBasis, O as getUrl, u as utils_default } from "./index-BS6HnGzC.js";
3
+ import { G as Graph } from "./graph-CS0Pmm7c.js";
4
+ import { l as layout } from "./layout-8TGxpm23.js";
5
+ import "./chunk-55IACEB6-q172NeCV.js";
6
+ import "./chunk-QN33PNHL-CnpBNkpP.js";
7
+ import "./_baseUniq-Crfl3d5Y.js";
8
+ import "./min-B3oVH3AC.js";
9
+ var drawStartState = /* @__PURE__ */ __name((g) => g.append("circle").attr("class", "start-state").attr("r", getConfig2().state.sizeUnit).attr("cx", getConfig2().state.padding + getConfig2().state.sizeUnit).attr("cy", getConfig2().state.padding + getConfig2().state.sizeUnit), "drawStartState");
10
+ var drawDivider = /* @__PURE__ */ __name((g) => g.append("line").style("stroke", "grey").style("stroke-dasharray", "3").attr("x1", getConfig2().state.textHeight).attr("class", "divider").attr("x2", getConfig2().state.textHeight * 2).attr("y1", 0).attr("y2", 0), "drawDivider");
11
+ var drawSimpleState = /* @__PURE__ */ __name((g, stateDef) => {
12
+ const state = g.append("text").attr("x", 2 * getConfig2().state.padding).attr("y", getConfig2().state.textHeight + 2 * getConfig2().state.padding).attr("font-size", getConfig2().state.fontSize).attr("class", "state-title").text(stateDef.id);
13
+ const classBox = state.node().getBBox();
14
+ g.insert("rect", ":first-child").attr("x", getConfig2().state.padding).attr("y", getConfig2().state.padding).attr("width", classBox.width + 2 * getConfig2().state.padding).attr("height", classBox.height + 2 * getConfig2().state.padding).attr("rx", getConfig2().state.radius);
15
+ return state;
16
+ }, "drawSimpleState");
17
+ var drawDescrState = /* @__PURE__ */ __name((g, stateDef) => {
18
+ const addTspan = /* @__PURE__ */ __name(function(textEl, txt, isFirst2) {
19
+ const tSpan = textEl.append("tspan").attr("x", 2 * getConfig2().state.padding).text(txt);
20
+ if (!isFirst2) {
21
+ tSpan.attr("dy", getConfig2().state.textHeight);
22
+ }
23
+ }, "addTspan");
24
+ const title = g.append("text").attr("x", 2 * getConfig2().state.padding).attr("y", getConfig2().state.textHeight + 1.3 * getConfig2().state.padding).attr("font-size", getConfig2().state.fontSize).attr("class", "state-title").text(stateDef.descriptions[0]);
25
+ const titleBox = title.node().getBBox();
26
+ const titleHeight = titleBox.height;
27
+ const description = g.append("text").attr("x", getConfig2().state.padding).attr(
28
+ "y",
29
+ titleHeight + getConfig2().state.padding * 0.4 + getConfig2().state.dividerMargin + getConfig2().state.textHeight
30
+ ).attr("class", "state-description");
31
+ let isFirst = true;
32
+ let isSecond = true;
33
+ stateDef.descriptions.forEach(function(descr) {
34
+ if (!isFirst) {
35
+ addTspan(description, descr, isSecond);
36
+ isSecond = false;
37
+ }
38
+ isFirst = false;
39
+ });
40
+ const descrLine = g.append("line").attr("x1", getConfig2().state.padding).attr("y1", getConfig2().state.padding + titleHeight + getConfig2().state.dividerMargin / 2).attr("y2", getConfig2().state.padding + titleHeight + getConfig2().state.dividerMargin / 2).attr("class", "descr-divider");
41
+ const descrBox = description.node().getBBox();
42
+ const width = Math.max(descrBox.width, titleBox.width);
43
+ descrLine.attr("x2", width + 3 * getConfig2().state.padding);
44
+ g.insert("rect", ":first-child").attr("x", getConfig2().state.padding).attr("y", getConfig2().state.padding).attr("width", width + 2 * getConfig2().state.padding).attr("height", descrBox.height + titleHeight + 2 * getConfig2().state.padding).attr("rx", getConfig2().state.radius);
45
+ return g;
46
+ }, "drawDescrState");
47
+ var addTitleAndBox = /* @__PURE__ */ __name((g, stateDef, altBkg) => {
48
+ const pad = getConfig2().state.padding;
49
+ const dblPad = 2 * getConfig2().state.padding;
50
+ const orgBox = g.node().getBBox();
51
+ const orgWidth = orgBox.width;
52
+ const orgX = orgBox.x;
53
+ const title = g.append("text").attr("x", 0).attr("y", getConfig2().state.titleShift).attr("font-size", getConfig2().state.fontSize).attr("class", "state-title").text(stateDef.id);
54
+ const titleBox = title.node().getBBox();
55
+ const titleWidth = titleBox.width + dblPad;
56
+ let width = Math.max(titleWidth, orgWidth);
57
+ if (width === orgWidth) {
58
+ width = width + dblPad;
59
+ }
60
+ let startX;
61
+ const graphBox = g.node().getBBox();
62
+ if (stateDef.doc) ;
63
+ startX = orgX - pad;
64
+ if (titleWidth > orgWidth) {
65
+ startX = (orgWidth - width) / 2 + pad;
66
+ }
67
+ if (Math.abs(orgX - graphBox.x) < pad && titleWidth > orgWidth) {
68
+ startX = orgX - (titleWidth - orgWidth) / 2;
69
+ }
70
+ const lineY = 1 - getConfig2().state.textHeight;
71
+ g.insert("rect", ":first-child").attr("x", startX).attr("y", lineY).attr("class", altBkg ? "alt-composit" : "composit").attr("width", width).attr(
72
+ "height",
73
+ graphBox.height + getConfig2().state.textHeight + getConfig2().state.titleShift + 1
74
+ ).attr("rx", "0");
75
+ title.attr("x", startX + pad);
76
+ if (titleWidth <= orgWidth) {
77
+ title.attr("x", orgX + (width - dblPad) / 2 - titleWidth / 2 + pad);
78
+ }
79
+ g.insert("rect", ":first-child").attr("x", startX).attr(
80
+ "y",
81
+ getConfig2().state.titleShift - getConfig2().state.textHeight - getConfig2().state.padding
82
+ ).attr("width", width).attr("height", getConfig2().state.textHeight * 3).attr("rx", getConfig2().state.radius);
83
+ g.insert("rect", ":first-child").attr("x", startX).attr(
84
+ "y",
85
+ getConfig2().state.titleShift - getConfig2().state.textHeight - getConfig2().state.padding
86
+ ).attr("width", width).attr("height", graphBox.height + 3 + 2 * getConfig2().state.textHeight).attr("rx", getConfig2().state.radius);
87
+ return g;
88
+ }, "addTitleAndBox");
89
+ var drawEndState = /* @__PURE__ */ __name((g) => {
90
+ g.append("circle").attr("class", "end-state-outer").attr("r", getConfig2().state.sizeUnit + getConfig2().state.miniPadding).attr(
91
+ "cx",
92
+ getConfig2().state.padding + getConfig2().state.sizeUnit + getConfig2().state.miniPadding
93
+ ).attr(
94
+ "cy",
95
+ getConfig2().state.padding + getConfig2().state.sizeUnit + getConfig2().state.miniPadding
96
+ );
97
+ return g.append("circle").attr("class", "end-state-inner").attr("r", getConfig2().state.sizeUnit).attr("cx", getConfig2().state.padding + getConfig2().state.sizeUnit + 2).attr("cy", getConfig2().state.padding + getConfig2().state.sizeUnit + 2);
98
+ }, "drawEndState");
99
+ var drawForkJoinState = /* @__PURE__ */ __name((g, stateDef) => {
100
+ let width = getConfig2().state.forkWidth;
101
+ let height = getConfig2().state.forkHeight;
102
+ if (stateDef.parentId) {
103
+ let tmp = width;
104
+ width = height;
105
+ height = tmp;
106
+ }
107
+ return g.append("rect").style("stroke", "black").style("fill", "black").attr("width", width).attr("height", height).attr("x", getConfig2().state.padding).attr("y", getConfig2().state.padding);
108
+ }, "drawForkJoinState");
109
+ var _drawLongText = /* @__PURE__ */ __name((_text, x, y, g) => {
110
+ let textHeight = 0;
111
+ const textElem = g.append("text");
112
+ textElem.style("text-anchor", "start");
113
+ textElem.attr("class", "noteText");
114
+ let text = _text.replace(/\r\n/g, "<br/>");
115
+ text = text.replace(/\n/g, "<br/>");
116
+ const lines = text.split(common_default.lineBreakRegex);
117
+ let tHeight = 1.25 * getConfig2().state.noteMargin;
118
+ for (const line2 of lines) {
119
+ const txt = line2.trim();
120
+ if (txt.length > 0) {
121
+ const span = textElem.append("tspan");
122
+ span.text(txt);
123
+ if (tHeight === 0) {
124
+ const textBounds = span.node().getBBox();
125
+ tHeight += textBounds.height;
126
+ }
127
+ textHeight += tHeight;
128
+ span.attr("x", x + getConfig2().state.noteMargin);
129
+ span.attr("y", y + textHeight + 1.25 * getConfig2().state.noteMargin);
130
+ }
131
+ }
132
+ return { textWidth: textElem.node().getBBox().width, textHeight };
133
+ }, "_drawLongText");
134
+ var drawNote = /* @__PURE__ */ __name((text, g) => {
135
+ g.attr("class", "state-note");
136
+ const note = g.append("rect").attr("x", 0).attr("y", getConfig2().state.padding);
137
+ const rectElem = g.append("g");
138
+ const { textWidth, textHeight } = _drawLongText(text, 0, 0, rectElem);
139
+ note.attr("height", textHeight + 2 * getConfig2().state.noteMargin);
140
+ note.attr("width", textWidth + getConfig2().state.noteMargin * 2);
141
+ return note;
142
+ }, "drawNote");
143
+ var drawState = /* @__PURE__ */ __name(function(elem, stateDef) {
144
+ const id = stateDef.id;
145
+ const stateInfo = {
146
+ id,
147
+ label: stateDef.id,
148
+ width: 0,
149
+ height: 0
150
+ };
151
+ const g = elem.append("g").attr("id", id).attr("class", "stateGroup");
152
+ if (stateDef.type === "start") {
153
+ drawStartState(g);
154
+ }
155
+ if (stateDef.type === "end") {
156
+ drawEndState(g);
157
+ }
158
+ if (stateDef.type === "fork" || stateDef.type === "join") {
159
+ drawForkJoinState(g, stateDef);
160
+ }
161
+ if (stateDef.type === "note") {
162
+ drawNote(stateDef.note.text, g);
163
+ }
164
+ if (stateDef.type === "divider") {
165
+ drawDivider(g);
166
+ }
167
+ if (stateDef.type === "default" && stateDef.descriptions.length === 0) {
168
+ drawSimpleState(g, stateDef);
169
+ }
170
+ if (stateDef.type === "default" && stateDef.descriptions.length > 0) {
171
+ drawDescrState(g, stateDef);
172
+ }
173
+ const stateBox = g.node().getBBox();
174
+ stateInfo.width = stateBox.width + 2 * getConfig2().state.padding;
175
+ stateInfo.height = stateBox.height + 2 * getConfig2().state.padding;
176
+ return stateInfo;
177
+ }, "drawState");
178
+ var edgeCount = 0;
179
+ var drawEdge = /* @__PURE__ */ __name(function(elem, path, relation) {
180
+ const getRelationType = /* @__PURE__ */ __name(function(type) {
181
+ switch (type) {
182
+ case StateDB.relationType.AGGREGATION:
183
+ return "aggregation";
184
+ case StateDB.relationType.EXTENSION:
185
+ return "extension";
186
+ case StateDB.relationType.COMPOSITION:
187
+ return "composition";
188
+ case StateDB.relationType.DEPENDENCY:
189
+ return "dependency";
190
+ }
191
+ }, "getRelationType");
192
+ path.points = path.points.filter((p) => !Number.isNaN(p.y));
193
+ const lineData = path.points;
194
+ const lineFunction = line().x(function(d) {
195
+ return d.x;
196
+ }).y(function(d) {
197
+ return d.y;
198
+ }).curve(curveBasis);
199
+ const svgPath = elem.append("path").attr("d", lineFunction(lineData)).attr("id", "edge" + edgeCount).attr("class", "transition");
200
+ let url = "";
201
+ if (getConfig2().state.arrowMarkerAbsolute) {
202
+ url = getUrl(true);
203
+ }
204
+ svgPath.attr(
205
+ "marker-end",
206
+ "url(" + url + "#" + getRelationType(StateDB.relationType.DEPENDENCY) + "End)"
207
+ );
208
+ if (relation.title !== void 0) {
209
+ const label = elem.append("g").attr("class", "stateLabel");
210
+ const { x, y } = utils_default.calcLabelPosition(path.points);
211
+ const rows = common_default.getRows(relation.title);
212
+ let titleHeight = 0;
213
+ const titleRows = [];
214
+ let maxWidth = 0;
215
+ let minX = 0;
216
+ for (let i = 0; i <= rows.length; i++) {
217
+ const title = label.append("text").attr("text-anchor", "middle").text(rows[i]).attr("x", x).attr("y", y + titleHeight);
218
+ const boundsTmp = title.node().getBBox();
219
+ maxWidth = Math.max(maxWidth, boundsTmp.width);
220
+ minX = Math.min(minX, boundsTmp.x);
221
+ log.info(boundsTmp.x, x, y + titleHeight);
222
+ if (titleHeight === 0) {
223
+ const titleBox = title.node().getBBox();
224
+ titleHeight = titleBox.height;
225
+ log.info("Title height", titleHeight, y);
226
+ }
227
+ titleRows.push(title);
228
+ }
229
+ let boxHeight = titleHeight * rows.length;
230
+ if (rows.length > 1) {
231
+ const heightAdj = (rows.length - 1) * titleHeight * 0.5;
232
+ titleRows.forEach((title, i) => title.attr("y", y + i * titleHeight - heightAdj));
233
+ boxHeight = titleHeight * rows.length;
234
+ }
235
+ const bounds = label.node().getBBox();
236
+ label.insert("rect", ":first-child").attr("class", "box").attr("x", x - maxWidth / 2 - getConfig2().state.padding / 2).attr("y", y - boxHeight / 2 - getConfig2().state.padding / 2 - 3.5).attr("width", maxWidth + getConfig2().state.padding).attr("height", boxHeight + getConfig2().state.padding);
237
+ log.info(bounds);
238
+ }
239
+ edgeCount++;
240
+ }, "drawEdge");
241
+ var conf;
242
+ var transformationLog = {};
243
+ var setConf = /* @__PURE__ */ __name(function() {
244
+ }, "setConf");
245
+ var insertMarkers = /* @__PURE__ */ __name(function(elem) {
246
+ elem.append("defs").append("marker").attr("id", "dependencyEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 19,7 L9,13 L14,7 L9,1 Z");
247
+ }, "insertMarkers");
248
+ var draw = /* @__PURE__ */ __name(function(text, id, _version, diagObj) {
249
+ conf = getConfig2().state;
250
+ const securityLevel = getConfig2().securityLevel;
251
+ let sandboxElement;
252
+ if (securityLevel === "sandbox") {
253
+ sandboxElement = select("#i" + id);
254
+ }
255
+ const root = securityLevel === "sandbox" ? select(sandboxElement.nodes()[0].contentDocument.body) : select("body");
256
+ const doc = securityLevel === "sandbox" ? sandboxElement.nodes()[0].contentDocument : document;
257
+ log.debug("Rendering diagram " + text);
258
+ const diagram2 = root.select(`[id='${id}']`);
259
+ insertMarkers(diagram2);
260
+ const rootDoc = diagObj.db.getRootDoc();
261
+ renderDoc(rootDoc, diagram2, void 0, false, root, doc, diagObj);
262
+ const padding = conf.padding;
263
+ const bounds = diagram2.node().getBBox();
264
+ const width = bounds.width + padding * 2;
265
+ const height = bounds.height + padding * 2;
266
+ const svgWidth = width * 1.75;
267
+ configureSvgSize(diagram2, height, svgWidth, conf.useMaxWidth);
268
+ diagram2.attr(
269
+ "viewBox",
270
+ `${bounds.x - conf.padding} ${bounds.y - conf.padding} ` + width + " " + height
271
+ );
272
+ }, "draw");
273
+ var getLabelWidth = /* @__PURE__ */ __name((text) => {
274
+ return text ? text.length * conf.fontSizeFactor : 1;
275
+ }, "getLabelWidth");
276
+ var renderDoc = /* @__PURE__ */ __name((doc, diagram2, parentId, altBkg, root, domDocument, diagObj) => {
277
+ const graph = new Graph({
278
+ compound: true,
279
+ multigraph: true
280
+ });
281
+ let i;
282
+ let edgeFreeDoc = true;
283
+ for (i = 0; i < doc.length; i++) {
284
+ if (doc[i].stmt === "relation") {
285
+ edgeFreeDoc = false;
286
+ break;
287
+ }
288
+ }
289
+ if (parentId) {
290
+ graph.setGraph({
291
+ rankdir: "LR",
292
+ multigraph: true,
293
+ compound: true,
294
+ // acyclicer: 'greedy',
295
+ ranker: "tight-tree",
296
+ ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,
297
+ nodeSep: edgeFreeDoc ? 1 : 50,
298
+ isMultiGraph: true
299
+ // ranksep: 5,
300
+ // nodesep: 1
301
+ });
302
+ } else {
303
+ graph.setGraph({
304
+ rankdir: "TB",
305
+ multigraph: true,
306
+ compound: true,
307
+ // isCompound: true,
308
+ // acyclicer: 'greedy',
309
+ // ranker: 'longest-path'
310
+ ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,
311
+ nodeSep: edgeFreeDoc ? 1 : 50,
312
+ ranker: "tight-tree",
313
+ // ranker: 'network-simplex'
314
+ isMultiGraph: true
315
+ });
316
+ }
317
+ graph.setDefaultEdgeLabel(function() {
318
+ return {};
319
+ });
320
+ const states = diagObj.db.getStates();
321
+ const relations = diagObj.db.getRelations();
322
+ const keys = Object.keys(states);
323
+ for (const key of keys) {
324
+ const stateDef = states[key];
325
+ if (parentId) {
326
+ stateDef.parentId = parentId;
327
+ }
328
+ let node;
329
+ if (stateDef.doc) {
330
+ let sub = diagram2.append("g").attr("id", stateDef.id).attr("class", "stateGroup");
331
+ node = renderDoc(stateDef.doc, sub, stateDef.id, !altBkg, root, domDocument, diagObj);
332
+ {
333
+ sub = addTitleAndBox(sub, stateDef, altBkg);
334
+ let boxBounds = sub.node().getBBox();
335
+ node.width = boxBounds.width;
336
+ node.height = boxBounds.height + conf.padding / 2;
337
+ transformationLog[stateDef.id] = { y: conf.compositTitleSize };
338
+ }
339
+ } else {
340
+ node = drawState(diagram2, stateDef, graph);
341
+ }
342
+ if (stateDef.note) {
343
+ const noteDef = {
344
+ descriptions: [],
345
+ id: stateDef.id + "-note",
346
+ note: stateDef.note,
347
+ type: "note"
348
+ };
349
+ const note = drawState(diagram2, noteDef, graph);
350
+ if (stateDef.note.position === "left of") {
351
+ graph.setNode(node.id + "-note", note);
352
+ graph.setNode(node.id, node);
353
+ } else {
354
+ graph.setNode(node.id, node);
355
+ graph.setNode(node.id + "-note", note);
356
+ }
357
+ graph.setParent(node.id, node.id + "-group");
358
+ graph.setParent(node.id + "-note", node.id + "-group");
359
+ } else {
360
+ graph.setNode(node.id, node);
361
+ }
362
+ }
363
+ log.debug("Count=", graph.nodeCount(), graph);
364
+ let cnt = 0;
365
+ relations.forEach(function(relation) {
366
+ cnt++;
367
+ log.debug("Setting edge", relation);
368
+ graph.setEdge(
369
+ relation.id1,
370
+ relation.id2,
371
+ {
372
+ relation,
373
+ width: getLabelWidth(relation.title),
374
+ height: conf.labelHeight * common_default.getRows(relation.title).length,
375
+ labelpos: "c"
376
+ },
377
+ "id" + cnt
378
+ );
379
+ });
380
+ layout(graph);
381
+ log.debug("Graph after layout", graph.nodes());
382
+ const svgElem = diagram2.node();
383
+ graph.nodes().forEach(function(v) {
384
+ if (v !== void 0 && graph.node(v) !== void 0) {
385
+ log.warn("Node " + v + ": " + JSON.stringify(graph.node(v)));
386
+ root.select("#" + svgElem.id + " #" + v).attr(
387
+ "transform",
388
+ "translate(" + (graph.node(v).x - graph.node(v).width / 2) + "," + (graph.node(v).y + (transformationLog[v] ? transformationLog[v].y : 0) - graph.node(v).height / 2) + " )"
389
+ );
390
+ root.select("#" + svgElem.id + " #" + v).attr("data-x-shift", graph.node(v).x - graph.node(v).width / 2);
391
+ const dividers = domDocument.querySelectorAll("#" + svgElem.id + " #" + v + " .divider");
392
+ dividers.forEach((divider) => {
393
+ const parent = divider.parentElement;
394
+ let pWidth = 0;
395
+ let pShift = 0;
396
+ if (parent) {
397
+ if (parent.parentElement) {
398
+ pWidth = parent.parentElement.getBBox().width;
399
+ }
400
+ pShift = parseInt(parent.getAttribute("data-x-shift"), 10);
401
+ if (Number.isNaN(pShift)) {
402
+ pShift = 0;
403
+ }
404
+ }
405
+ divider.setAttribute("x1", 0 - pShift + 8);
406
+ divider.setAttribute("x2", pWidth - pShift - 8);
407
+ });
408
+ } else {
409
+ log.debug("No Node " + v + ": " + JSON.stringify(graph.node(v)));
410
+ }
411
+ });
412
+ let stateBox = svgElem.getBBox();
413
+ graph.edges().forEach(function(e) {
414
+ if (e !== void 0 && graph.edge(e) !== void 0) {
415
+ log.debug("Edge " + e.v + " -> " + e.w + ": " + JSON.stringify(graph.edge(e)));
416
+ drawEdge(diagram2, graph.edge(e), graph.edge(e).relation);
417
+ }
418
+ });
419
+ stateBox = svgElem.getBBox();
420
+ const stateInfo = {
421
+ id: parentId ? parentId : "root",
422
+ label: parentId ? parentId : "root",
423
+ width: 0,
424
+ height: 0
425
+ };
426
+ stateInfo.width = stateBox.width + 2 * conf.padding;
427
+ stateInfo.height = stateBox.height + 2 * conf.padding;
428
+ log.debug("Doc rendered", stateInfo, graph);
429
+ return stateInfo;
430
+ }, "renderDoc");
431
+ var stateRenderer_default = {
432
+ setConf,
433
+ draw
434
+ };
435
+ var diagram = {
436
+ parser: stateDiagram_default,
437
+ get db() {
438
+ return new StateDB(1);
439
+ },
440
+ renderer: stateRenderer_default,
441
+ styles: styles_default,
442
+ init: /* @__PURE__ */ __name((cnf) => {
443
+ if (!cnf.state) {
444
+ cnf.state = {};
445
+ }
446
+ cnf.state.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;
447
+ }, "init")
448
+ };
449
+ export {
450
+ diagram
451
+ };
452
+ //# sourceMappingURL=stateDiagram-FKZM4ZOC-CFYsEd0x.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateDiagram-FKZM4ZOC-CFYsEd0x.js","sources":["../../../node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-FKZM4ZOC.mjs"],"sourcesContent":["import {\n StateDB,\n stateDiagram_default,\n styles_default\n} from \"./chunk-DI55MBZ5.mjs\";\nimport \"./chunk-55IACEB6.mjs\";\nimport \"./chunk-QN33PNHL.mjs\";\nimport \"./chunk-N4CR4FBY.mjs\";\nimport \"./chunk-QXUST7PY.mjs\";\nimport \"./chunk-HN2XXSSU.mjs\";\nimport \"./chunk-JZLCHNYA.mjs\";\nimport \"./chunk-CVBHYZKI.mjs\";\nimport \"./chunk-ATLVNIR6.mjs\";\nimport \"./chunk-JA3XYJ7Z.mjs\";\nimport {\n utils_default\n} from \"./chunk-S3R3BYOJ.mjs\";\nimport {\n common_default,\n configureSvgSize,\n getConfig2 as getConfig,\n getUrl\n} from \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/state/stateRenderer.js\nimport { select } from \"d3\";\nimport { layout as dagreLayout } from \"dagre-d3-es/src/dagre/index.js\";\nimport * as graphlib from \"dagre-d3-es/src/graphlib/index.js\";\n\n// src/diagrams/state/shapes.js\nimport { line, curveBasis } from \"d3\";\nvar drawStartState = /* @__PURE__ */ __name((g) => g.append(\"circle\").attr(\"class\", \"start-state\").attr(\"r\", getConfig().state.sizeUnit).attr(\"cx\", getConfig().state.padding + getConfig().state.sizeUnit).attr(\"cy\", getConfig().state.padding + getConfig().state.sizeUnit), \"drawStartState\");\nvar drawDivider = /* @__PURE__ */ __name((g) => g.append(\"line\").style(\"stroke\", \"grey\").style(\"stroke-dasharray\", \"3\").attr(\"x1\", getConfig().state.textHeight).attr(\"class\", \"divider\").attr(\"x2\", getConfig().state.textHeight * 2).attr(\"y1\", 0).attr(\"y2\", 0), \"drawDivider\");\nvar drawSimpleState = /* @__PURE__ */ __name((g, stateDef) => {\n const state = g.append(\"text\").attr(\"x\", 2 * getConfig().state.padding).attr(\"y\", getConfig().state.textHeight + 2 * getConfig().state.padding).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.id);\n const classBox = state.node().getBBox();\n g.insert(\"rect\", \":first-child\").attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding).attr(\"width\", classBox.width + 2 * getConfig().state.padding).attr(\"height\", classBox.height + 2 * getConfig().state.padding).attr(\"rx\", getConfig().state.radius);\n return state;\n}, \"drawSimpleState\");\nvar drawDescrState = /* @__PURE__ */ __name((g, stateDef) => {\n const addTspan = /* @__PURE__ */ __name(function(textEl, txt, isFirst2) {\n const tSpan = textEl.append(\"tspan\").attr(\"x\", 2 * getConfig().state.padding).text(txt);\n if (!isFirst2) {\n tSpan.attr(\"dy\", getConfig().state.textHeight);\n }\n }, \"addTspan\");\n const title = g.append(\"text\").attr(\"x\", 2 * getConfig().state.padding).attr(\"y\", getConfig().state.textHeight + 1.3 * getConfig().state.padding).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.descriptions[0]);\n const titleBox = title.node().getBBox();\n const titleHeight = titleBox.height;\n const description = g.append(\"text\").attr(\"x\", getConfig().state.padding).attr(\n \"y\",\n titleHeight + getConfig().state.padding * 0.4 + getConfig().state.dividerMargin + getConfig().state.textHeight\n ).attr(\"class\", \"state-description\");\n let isFirst = true;\n let isSecond = true;\n stateDef.descriptions.forEach(function(descr) {\n if (!isFirst) {\n addTspan(description, descr, isSecond);\n isSecond = false;\n }\n isFirst = false;\n });\n const descrLine = g.append(\"line\").attr(\"x1\", getConfig().state.padding).attr(\"y1\", getConfig().state.padding + titleHeight + getConfig().state.dividerMargin / 2).attr(\"y2\", getConfig().state.padding + titleHeight + getConfig().state.dividerMargin / 2).attr(\"class\", \"descr-divider\");\n const descrBox = description.node().getBBox();\n const width = Math.max(descrBox.width, titleBox.width);\n descrLine.attr(\"x2\", width + 3 * getConfig().state.padding);\n g.insert(\"rect\", \":first-child\").attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding).attr(\"width\", width + 2 * getConfig().state.padding).attr(\"height\", descrBox.height + titleHeight + 2 * getConfig().state.padding).attr(\"rx\", getConfig().state.radius);\n return g;\n}, \"drawDescrState\");\nvar addTitleAndBox = /* @__PURE__ */ __name((g, stateDef, altBkg) => {\n const pad = getConfig().state.padding;\n const dblPad = 2 * getConfig().state.padding;\n const orgBox = g.node().getBBox();\n const orgWidth = orgBox.width;\n const orgX = orgBox.x;\n const title = g.append(\"text\").attr(\"x\", 0).attr(\"y\", getConfig().state.titleShift).attr(\"font-size\", getConfig().state.fontSize).attr(\"class\", \"state-title\").text(stateDef.id);\n const titleBox = title.node().getBBox();\n const titleWidth = titleBox.width + dblPad;\n let width = Math.max(titleWidth, orgWidth);\n if (width === orgWidth) {\n width = width + dblPad;\n }\n let startX;\n const graphBox = g.node().getBBox();\n if (stateDef.doc) {\n }\n startX = orgX - pad;\n if (titleWidth > orgWidth) {\n startX = (orgWidth - width) / 2 + pad;\n }\n if (Math.abs(orgX - graphBox.x) < pad && titleWidth > orgWidth) {\n startX = orgX - (titleWidth - orgWidth) / 2;\n }\n const lineY = 1 - getConfig().state.textHeight;\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\"y\", lineY).attr(\"class\", altBkg ? \"alt-composit\" : \"composit\").attr(\"width\", width).attr(\n \"height\",\n graphBox.height + getConfig().state.textHeight + getConfig().state.titleShift + 1\n ).attr(\"rx\", \"0\");\n title.attr(\"x\", startX + pad);\n if (titleWidth <= orgWidth) {\n title.attr(\"x\", orgX + (width - dblPad) / 2 - titleWidth / 2 + pad);\n }\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\n \"y\",\n getConfig().state.titleShift - getConfig().state.textHeight - getConfig().state.padding\n ).attr(\"width\", width).attr(\"height\", getConfig().state.textHeight * 3).attr(\"rx\", getConfig().state.radius);\n g.insert(\"rect\", \":first-child\").attr(\"x\", startX).attr(\n \"y\",\n getConfig().state.titleShift - getConfig().state.textHeight - getConfig().state.padding\n ).attr(\"width\", width).attr(\"height\", graphBox.height + 3 + 2 * getConfig().state.textHeight).attr(\"rx\", getConfig().state.radius);\n return g;\n}, \"addTitleAndBox\");\nvar drawEndState = /* @__PURE__ */ __name((g) => {\n g.append(\"circle\").attr(\"class\", \"end-state-outer\").attr(\"r\", getConfig().state.sizeUnit + getConfig().state.miniPadding).attr(\n \"cx\",\n getConfig().state.padding + getConfig().state.sizeUnit + getConfig().state.miniPadding\n ).attr(\n \"cy\",\n getConfig().state.padding + getConfig().state.sizeUnit + getConfig().state.miniPadding\n );\n return g.append(\"circle\").attr(\"class\", \"end-state-inner\").attr(\"r\", getConfig().state.sizeUnit).attr(\"cx\", getConfig().state.padding + getConfig().state.sizeUnit + 2).attr(\"cy\", getConfig().state.padding + getConfig().state.sizeUnit + 2);\n}, \"drawEndState\");\nvar drawForkJoinState = /* @__PURE__ */ __name((g, stateDef) => {\n let width = getConfig().state.forkWidth;\n let height = getConfig().state.forkHeight;\n if (stateDef.parentId) {\n let tmp = width;\n width = height;\n height = tmp;\n }\n return g.append(\"rect\").style(\"stroke\", \"black\").style(\"fill\", \"black\").attr(\"width\", width).attr(\"height\", height).attr(\"x\", getConfig().state.padding).attr(\"y\", getConfig().state.padding);\n}, \"drawForkJoinState\");\nvar _drawLongText = /* @__PURE__ */ __name((_text, x, y, g) => {\n let textHeight = 0;\n const textElem = g.append(\"text\");\n textElem.style(\"text-anchor\", \"start\");\n textElem.attr(\"class\", \"noteText\");\n let text = _text.replace(/\\r\\n/g, \"<br/>\");\n text = text.replace(/\\n/g, \"<br/>\");\n const lines = text.split(common_default.lineBreakRegex);\n let tHeight = 1.25 * getConfig().state.noteMargin;\n for (const line2 of lines) {\n const txt = line2.trim();\n if (txt.length > 0) {\n const span = textElem.append(\"tspan\");\n span.text(txt);\n if (tHeight === 0) {\n const textBounds = span.node().getBBox();\n tHeight += textBounds.height;\n }\n textHeight += tHeight;\n span.attr(\"x\", x + getConfig().state.noteMargin);\n span.attr(\"y\", y + textHeight + 1.25 * getConfig().state.noteMargin);\n }\n }\n return { textWidth: textElem.node().getBBox().width, textHeight };\n}, \"_drawLongText\");\nvar drawNote = /* @__PURE__ */ __name((text, g) => {\n g.attr(\"class\", \"state-note\");\n const note = g.append(\"rect\").attr(\"x\", 0).attr(\"y\", getConfig().state.padding);\n const rectElem = g.append(\"g\");\n const { textWidth, textHeight } = _drawLongText(text, 0, 0, rectElem);\n note.attr(\"height\", textHeight + 2 * getConfig().state.noteMargin);\n note.attr(\"width\", textWidth + getConfig().state.noteMargin * 2);\n return note;\n}, \"drawNote\");\nvar drawState = /* @__PURE__ */ __name(function(elem, stateDef) {\n const id = stateDef.id;\n const stateInfo = {\n id,\n label: stateDef.id,\n width: 0,\n height: 0\n };\n const g = elem.append(\"g\").attr(\"id\", id).attr(\"class\", \"stateGroup\");\n if (stateDef.type === \"start\") {\n drawStartState(g);\n }\n if (stateDef.type === \"end\") {\n drawEndState(g);\n }\n if (stateDef.type === \"fork\" || stateDef.type === \"join\") {\n drawForkJoinState(g, stateDef);\n }\n if (stateDef.type === \"note\") {\n drawNote(stateDef.note.text, g);\n }\n if (stateDef.type === \"divider\") {\n drawDivider(g);\n }\n if (stateDef.type === \"default\" && stateDef.descriptions.length === 0) {\n drawSimpleState(g, stateDef);\n }\n if (stateDef.type === \"default\" && stateDef.descriptions.length > 0) {\n drawDescrState(g, stateDef);\n }\n const stateBox = g.node().getBBox();\n stateInfo.width = stateBox.width + 2 * getConfig().state.padding;\n stateInfo.height = stateBox.height + 2 * getConfig().state.padding;\n return stateInfo;\n}, \"drawState\");\nvar edgeCount = 0;\nvar drawEdge = /* @__PURE__ */ __name(function(elem, path, relation) {\n const getRelationType = /* @__PURE__ */ __name(function(type) {\n switch (type) {\n case StateDB.relationType.AGGREGATION:\n return \"aggregation\";\n case StateDB.relationType.EXTENSION:\n return \"extension\";\n case StateDB.relationType.COMPOSITION:\n return \"composition\";\n case StateDB.relationType.DEPENDENCY:\n return \"dependency\";\n }\n }, \"getRelationType\");\n path.points = path.points.filter((p) => !Number.isNaN(p.y));\n const lineData = path.points;\n const lineFunction = line().x(function(d) {\n return d.x;\n }).y(function(d) {\n return d.y;\n }).curve(curveBasis);\n const svgPath = elem.append(\"path\").attr(\"d\", lineFunction(lineData)).attr(\"id\", \"edge\" + edgeCount).attr(\"class\", \"transition\");\n let url = \"\";\n if (getConfig().state.arrowMarkerAbsolute) {\n url = getUrl(true);\n }\n svgPath.attr(\n \"marker-end\",\n \"url(\" + url + \"#\" + getRelationType(StateDB.relationType.DEPENDENCY) + \"End)\"\n );\n if (relation.title !== void 0) {\n const label = elem.append(\"g\").attr(\"class\", \"stateLabel\");\n const { x, y } = utils_default.calcLabelPosition(path.points);\n const rows = common_default.getRows(relation.title);\n let titleHeight = 0;\n const titleRows = [];\n let maxWidth = 0;\n let minX = 0;\n for (let i = 0; i <= rows.length; i++) {\n const title = label.append(\"text\").attr(\"text-anchor\", \"middle\").text(rows[i]).attr(\"x\", x).attr(\"y\", y + titleHeight);\n const boundsTmp = title.node().getBBox();\n maxWidth = Math.max(maxWidth, boundsTmp.width);\n minX = Math.min(minX, boundsTmp.x);\n log.info(boundsTmp.x, x, y + titleHeight);\n if (titleHeight === 0) {\n const titleBox = title.node().getBBox();\n titleHeight = titleBox.height;\n log.info(\"Title height\", titleHeight, y);\n }\n titleRows.push(title);\n }\n let boxHeight = titleHeight * rows.length;\n if (rows.length > 1) {\n const heightAdj = (rows.length - 1) * titleHeight * 0.5;\n titleRows.forEach((title, i) => title.attr(\"y\", y + i * titleHeight - heightAdj));\n boxHeight = titleHeight * rows.length;\n }\n const bounds = label.node().getBBox();\n label.insert(\"rect\", \":first-child\").attr(\"class\", \"box\").attr(\"x\", x - maxWidth / 2 - getConfig().state.padding / 2).attr(\"y\", y - boxHeight / 2 - getConfig().state.padding / 2 - 3.5).attr(\"width\", maxWidth + getConfig().state.padding).attr(\"height\", boxHeight + getConfig().state.padding);\n log.info(bounds);\n }\n edgeCount++;\n}, \"drawEdge\");\n\n// src/diagrams/state/stateRenderer.js\nvar conf;\nvar transformationLog = {};\nvar setConf = /* @__PURE__ */ __name(function() {\n}, \"setConf\");\nvar insertMarkers = /* @__PURE__ */ __name(function(elem) {\n elem.append(\"defs\").append(\"marker\").attr(\"id\", \"dependencyEnd\").attr(\"refX\", 19).attr(\"refY\", 7).attr(\"markerWidth\", 20).attr(\"markerHeight\", 28).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 19,7 L9,13 L14,7 L9,1 Z\");\n}, \"insertMarkers\");\nvar draw = /* @__PURE__ */ __name(function(text, id, _version, diagObj) {\n conf = getConfig().state;\n const securityLevel = getConfig().securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n const doc = securityLevel === \"sandbox\" ? sandboxElement.nodes()[0].contentDocument : document;\n log.debug(\"Rendering diagram \" + text);\n const diagram2 = root.select(`[id='${id}']`);\n insertMarkers(diagram2);\n const rootDoc = diagObj.db.getRootDoc();\n renderDoc(rootDoc, diagram2, void 0, false, root, doc, diagObj);\n const padding = conf.padding;\n const bounds = diagram2.node().getBBox();\n const width = bounds.width + padding * 2;\n const height = bounds.height + padding * 2;\n const svgWidth = width * 1.75;\n configureSvgSize(diagram2, height, svgWidth, conf.useMaxWidth);\n diagram2.attr(\n \"viewBox\",\n `${bounds.x - conf.padding} ${bounds.y - conf.padding} ` + width + \" \" + height\n );\n}, \"draw\");\nvar getLabelWidth = /* @__PURE__ */ __name((text) => {\n return text ? text.length * conf.fontSizeFactor : 1;\n}, \"getLabelWidth\");\nvar renderDoc = /* @__PURE__ */ __name((doc, diagram2, parentId, altBkg, root, domDocument, diagObj) => {\n const graph = new graphlib.Graph({\n compound: true,\n multigraph: true\n });\n let i;\n let edgeFreeDoc = true;\n for (i = 0; i < doc.length; i++) {\n if (doc[i].stmt === \"relation\") {\n edgeFreeDoc = false;\n break;\n }\n }\n if (parentId) {\n graph.setGraph({\n rankdir: \"LR\",\n multigraph: true,\n compound: true,\n // acyclicer: 'greedy',\n ranker: \"tight-tree\",\n ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,\n nodeSep: edgeFreeDoc ? 1 : 50,\n isMultiGraph: true\n // ranksep: 5,\n // nodesep: 1\n });\n } else {\n graph.setGraph({\n rankdir: \"TB\",\n multigraph: true,\n compound: true,\n // isCompound: true,\n // acyclicer: 'greedy',\n // ranker: 'longest-path'\n ranksep: edgeFreeDoc ? 1 : conf.edgeLengthFactor,\n nodeSep: edgeFreeDoc ? 1 : 50,\n ranker: \"tight-tree\",\n // ranker: 'network-simplex'\n isMultiGraph: true\n });\n }\n graph.setDefaultEdgeLabel(function() {\n return {};\n });\n const states = diagObj.db.getStates();\n const relations = diagObj.db.getRelations();\n const keys = Object.keys(states);\n let first = true;\n for (const key of keys) {\n const stateDef = states[key];\n if (parentId) {\n stateDef.parentId = parentId;\n }\n let node;\n if (stateDef.doc) {\n let sub = diagram2.append(\"g\").attr(\"id\", stateDef.id).attr(\"class\", \"stateGroup\");\n node = renderDoc(stateDef.doc, sub, stateDef.id, !altBkg, root, domDocument, diagObj);\n if (first) {\n sub = addTitleAndBox(sub, stateDef, altBkg);\n let boxBounds = sub.node().getBBox();\n node.width = boxBounds.width;\n node.height = boxBounds.height + conf.padding / 2;\n transformationLog[stateDef.id] = { y: conf.compositTitleSize };\n } else {\n let boxBounds = sub.node().getBBox();\n node.width = boxBounds.width;\n node.height = boxBounds.height;\n }\n } else {\n node = drawState(diagram2, stateDef, graph);\n }\n if (stateDef.note) {\n const noteDef = {\n descriptions: [],\n id: stateDef.id + \"-note\",\n note: stateDef.note,\n type: \"note\"\n };\n const note = drawState(diagram2, noteDef, graph);\n if (stateDef.note.position === \"left of\") {\n graph.setNode(node.id + \"-note\", note);\n graph.setNode(node.id, node);\n } else {\n graph.setNode(node.id, node);\n graph.setNode(node.id + \"-note\", note);\n }\n graph.setParent(node.id, node.id + \"-group\");\n graph.setParent(node.id + \"-note\", node.id + \"-group\");\n } else {\n graph.setNode(node.id, node);\n }\n }\n log.debug(\"Count=\", graph.nodeCount(), graph);\n let cnt = 0;\n relations.forEach(function(relation) {\n cnt++;\n log.debug(\"Setting edge\", relation);\n graph.setEdge(\n relation.id1,\n relation.id2,\n {\n relation,\n width: getLabelWidth(relation.title),\n height: conf.labelHeight * common_default.getRows(relation.title).length,\n labelpos: \"c\"\n },\n \"id\" + cnt\n );\n });\n dagreLayout(graph);\n log.debug(\"Graph after layout\", graph.nodes());\n const svgElem = diagram2.node();\n graph.nodes().forEach(function(v) {\n if (v !== void 0 && graph.node(v) !== void 0) {\n log.warn(\"Node \" + v + \": \" + JSON.stringify(graph.node(v)));\n root.select(\"#\" + svgElem.id + \" #\" + v).attr(\n \"transform\",\n \"translate(\" + (graph.node(v).x - graph.node(v).width / 2) + \",\" + (graph.node(v).y + (transformationLog[v] ? transformationLog[v].y : 0) - graph.node(v).height / 2) + \" )\"\n );\n root.select(\"#\" + svgElem.id + \" #\" + v).attr(\"data-x-shift\", graph.node(v).x - graph.node(v).width / 2);\n const dividers = domDocument.querySelectorAll(\"#\" + svgElem.id + \" #\" + v + \" .divider\");\n dividers.forEach((divider) => {\n const parent = divider.parentElement;\n let pWidth = 0;\n let pShift = 0;\n if (parent) {\n if (parent.parentElement) {\n pWidth = parent.parentElement.getBBox().width;\n }\n pShift = parseInt(parent.getAttribute(\"data-x-shift\"), 10);\n if (Number.isNaN(pShift)) {\n pShift = 0;\n }\n }\n divider.setAttribute(\"x1\", 0 - pShift + 8);\n divider.setAttribute(\"x2\", pWidth - pShift - 8);\n });\n } else {\n log.debug(\"No Node \" + v + \": \" + JSON.stringify(graph.node(v)));\n }\n });\n let stateBox = svgElem.getBBox();\n graph.edges().forEach(function(e) {\n if (e !== void 0 && graph.edge(e) !== void 0) {\n log.debug(\"Edge \" + e.v + \" -> \" + e.w + \": \" + JSON.stringify(graph.edge(e)));\n drawEdge(diagram2, graph.edge(e), graph.edge(e).relation);\n }\n });\n stateBox = svgElem.getBBox();\n const stateInfo = {\n id: parentId ? parentId : \"root\",\n label: parentId ? parentId : \"root\",\n width: 0,\n height: 0\n };\n stateInfo.width = stateBox.width + 2 * conf.padding;\n stateInfo.height = stateBox.height + 2 * conf.padding;\n log.debug(\"Doc rendered\", stateInfo, graph);\n return stateInfo;\n}, \"renderDoc\");\nvar stateRenderer_default = {\n setConf,\n draw\n};\n\n// src/diagrams/state/stateDiagram.ts\nvar diagram = {\n parser: stateDiagram_default,\n get db() {\n return new StateDB(1);\n },\n renderer: stateRenderer_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.state) {\n cnf.state = {};\n }\n cnf.state.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n"],"names":["getConfig","graphlib.Graph","dagreLayout"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,22 @@
1
+ import { s as styles_default, b as stateRenderer_v3_unified_default, a as stateDiagram_default, S as StateDB } from "./chunk-DI55MBZ5-DiuwwZPL.js";
2
+ import { _ as __name } from "./index-BS6HnGzC.js";
3
+ import "./chunk-55IACEB6-q172NeCV.js";
4
+ import "./chunk-QN33PNHL-CnpBNkpP.js";
5
+ var diagram = {
6
+ parser: stateDiagram_default,
7
+ get db() {
8
+ return new StateDB(2);
9
+ },
10
+ renderer: stateRenderer_v3_unified_default,
11
+ styles: styles_default,
12
+ init: /* @__PURE__ */ __name((cnf) => {
13
+ if (!cnf.state) {
14
+ cnf.state = {};
15
+ }
16
+ cnf.state.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;
17
+ }, "init")
18
+ };
19
+ export {
20
+ diagram
21
+ };
22
+ //# sourceMappingURL=stateDiagram-v2-4FDKWEC3-C0UWaNA7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateDiagram-v2-4FDKWEC3-C0UWaNA7.js","sources":["../../../node_modules/.pnpm/mermaid@11.12.2/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-v2-4FDKWEC3.mjs"],"sourcesContent":["import {\n StateDB,\n stateDiagram_default,\n stateRenderer_v3_unified_default,\n styles_default\n} from \"./chunk-DI55MBZ5.mjs\";\nimport \"./chunk-55IACEB6.mjs\";\nimport \"./chunk-QN33PNHL.mjs\";\nimport \"./chunk-N4CR4FBY.mjs\";\nimport \"./chunk-QXUST7PY.mjs\";\nimport \"./chunk-HN2XXSSU.mjs\";\nimport \"./chunk-JZLCHNYA.mjs\";\nimport \"./chunk-CVBHYZKI.mjs\";\nimport \"./chunk-ATLVNIR6.mjs\";\nimport \"./chunk-JA3XYJ7Z.mjs\";\nimport \"./chunk-S3R3BYOJ.mjs\";\nimport \"./chunk-ABZYJK2D.mjs\";\nimport {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/state/stateDiagram-v2.ts\nvar diagram = {\n parser: stateDiagram_default,\n get db() {\n return new StateDB(2);\n },\n renderer: stateRenderer_v3_unified_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.state) {\n cnf.state = {};\n }\n cnf.state.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n"],"names":[],"mappings":";;;;AAsBG,IAAC,UAAU;AAAA,EACZ,QAAQ;AAAA,EACR,IAAI,KAAK;AACP,WAAO,IAAI,QAAQ,CAAC;AAAA,EACtB;AAAA,EACA,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,MAAsB,uBAAO,CAAC,QAAQ;AACpC,QAAI,CAAC,IAAI,OAAO;AACd,UAAI,QAAQ,CAAA;AAAA,IACd;AACA,QAAI,MAAM,sBAAsB,IAAI;AAAA,EACtC,GAAG,MAAM;AACX;","x_google_ignoreList":[0]}