factory-factory 0.3.14 → 0.3.16

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 (439) hide show
  1. package/dist/client/assets/{arc-DSBuWL5s.js → arc-CAOrfHBL.js} +1 -1
  2. package/dist/client/assets/architectureDiagram-3BPJPVTR-CzxGCKeM.js +36 -0
  3. package/dist/client/assets/blockDiagram-GPEHLZMM-B4k0dvv-.js +132 -0
  4. package/dist/client/assets/{c4Diagram-AHTNJAMY-DLB6YyaK.js → c4Diagram-AAUBKEIU-ByaECY1u.js} +1 -1
  5. package/dist/client/assets/channel-D2ho7Eza.js +1 -0
  6. package/dist/client/assets/{chunk-EDXVE4YY-JtUNKE2M.js → chunk-2J33WTMH-Crxo1uMY.js} +1 -1
  7. package/dist/client/assets/{chunk-4BX2VUAB-DVPwhCCH.js → chunk-4BX2VUAB-CggFLwAA.js} +1 -1
  8. package/dist/client/assets/{chunk-55IACEB6-BW_jDeAT.js → chunk-55IACEB6-BSoTWFAF.js} +1 -1
  9. package/dist/client/assets/chunk-727SXJPM-DcQoeGkQ.js +206 -0
  10. package/dist/client/assets/chunk-AQP2D5EJ-Ci5tNJvg.js +231 -0
  11. package/dist/client/assets/{chunk-FMBD7UC4-BVYe-KgE.js → chunk-FMBD7UC4-CjYtwTh4.js} +1 -1
  12. package/dist/client/assets/{chunk-YZCP3GAM-CDhS7CGF.js → chunk-ND2GUHAM-Dla8Gmku.js} +1 -1
  13. package/dist/client/assets/{chunk-QZHKN3VN-99tx2X7z.js → chunk-QZHKN3VN-CiblfzNN.js} +1 -1
  14. package/dist/client/assets/classDiagram-4FO5ZUOK-ZExoOExU.js +1 -0
  15. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-ZExoOExU.js +1 -0
  16. package/dist/client/assets/{cose-bilkent-S5V4N54A-GJd1fOeJ.js → cose-bilkent-S5V4N54A-DWuzgvAN.js} +1 -1
  17. package/dist/client/assets/dagre-BM42HDAG-hvdcGfHc.js +4 -0
  18. package/dist/client/assets/diagram-2AECGRRQ-DVZDsgVY.js +43 -0
  19. package/dist/client/assets/diagram-5GNKFQAL-BLXKSUUu.js +10 -0
  20. package/dist/client/assets/diagram-KO2AKTUF-1nNBdWqs.js +3 -0
  21. package/dist/client/assets/diagram-LMA3HP47-CTw-M4zU.js +24 -0
  22. package/dist/client/assets/diagram-OG6HWLK6-D9J0vyno.js +24 -0
  23. package/dist/client/assets/{erDiagram-SMLLAGMA-b5ieH-Rd.js → erDiagram-TEJ5UH35-DYXcLeDs.js} +1 -1
  24. package/dist/client/assets/{flowDiagram-DWJPFMVM-C6BT6FGE.js → flowDiagram-I6XJVG4X-CXFyFXcd.js} +1 -1
  25. package/dist/client/assets/{ganttDiagram-T4ZO3ILL-ANP28BYp.js → ganttDiagram-6RSMTGT7-CPGMIRhg.js} +2 -2
  26. package/dist/client/assets/gitGraphDiagram-PVQCEYII-BCIDHp-Q.js +106 -0
  27. package/dist/client/assets/graph--OzhPTMs.js +1 -0
  28. package/dist/client/assets/index-IJ_NNlgJ.css +1 -0
  29. package/dist/client/assets/{index-DXhws4gD.js → index-gIy0Sz_B.js} +152 -153
  30. package/dist/client/assets/infoDiagram-5YYISTIA-ThNaUmLI.js +2 -0
  31. package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-CqKsMHgP.js → ishikawaDiagram-YF4QCWOH-nD7e1KKT.js} +1 -1
  32. package/dist/client/assets/{journeyDiagram-VCZTEJTY-BZtfD_AX.js → journeyDiagram-JHISSGLW-DKfK1tIp.js} +1 -1
  33. package/dist/client/assets/{kanban-definition-6JOO6SKY-BmXsWhyy.js → kanban-definition-UN3LZRKU-C61PkF-T.js} +1 -1
  34. package/dist/client/assets/layout-SsrduOYp.js +1 -0
  35. package/dist/client/assets/{linear-D3KSZ58g.js → linear-yYp6Wht8.js} +1 -1
  36. package/dist/client/assets/{mindmap-definition-QFDTVHPH-Ds6I5xr9.js → mindmap-definition-RKZ34NQL-DI6Bl654.js} +9 -9
  37. package/dist/client/assets/{mobile-baseline-LNAOKO2v.js → mobile-baseline-DRrQYbFX.js} +1 -1
  38. package/dist/client/assets/pieDiagram-4H26LBE5-CNV-VY3H.js +30 -0
  39. package/dist/client/assets/quadrantDiagram-W4KKPZXB-CDBpCVHO.js +7 -0
  40. package/dist/client/assets/{requirementDiagram-MS252O5E-U4qQHRNe.js → requirementDiagram-4Y6WPE33-D_rxDIc5.js} +1 -1
  41. package/dist/client/assets/sankeyDiagram-5OEKKPKP-DeyadfL0.js +40 -0
  42. package/dist/client/assets/{sequenceDiagram-FGHM5R23-BU3bWBgE.js → sequenceDiagram-3UESZ5HK-36_kZ6la.js} +12 -7
  43. package/dist/client/assets/stateDiagram-AJRCARHV-4ayM-mAT.js +1 -0
  44. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-ChnnLckY.js +1 -0
  45. package/dist/client/assets/{terminal-instance-F0JrQZ9R.js → terminal-instance-CMp5bO62.js} +1 -1
  46. package/dist/client/assets/{timeline-definition-GMOUNBTQ-BLLt9f0n.js → timeline-definition-PNZ67QCA-D0pQgePo.js} +1 -1
  47. package/dist/client/assets/{vennDiagram-DHZGUBPP-wVxLQieb.js → vennDiagram-CIIHVFJN-CnoMcpwq.js} +1 -1
  48. package/dist/client/assets/wardley-L42UT6IY-DOtSWmwv.js +161 -0
  49. package/dist/client/assets/wardleyDiagram-YWT4CUSO-Z3hYGa2_.js +78 -0
  50. package/dist/client/assets/{xychartDiagram-5P7HB3ND-D-h5ykwN.js → xychartDiagram-2RQKCTM6-CBvgTdkn.js} +1 -1
  51. package/dist/client/index.html +2 -2
  52. package/dist/prisma/generated/browser.d.ts +2 -0
  53. package/dist/prisma/generated/browser.d.ts.map +1 -1
  54. package/dist/prisma/generated/client.d.ts +2 -0
  55. package/dist/prisma/generated/client.d.ts.map +1 -1
  56. package/dist/prisma/generated/commonInputTypes.d.ts +60 -0
  57. package/dist/prisma/generated/commonInputTypes.d.ts.map +1 -1
  58. package/dist/prisma/generated/enums.d.ts +16 -0
  59. package/dist/prisma/generated/enums.d.ts.map +1 -1
  60. package/dist/prisma/generated/enums.js +15 -1
  61. package/dist/prisma/generated/enums.js.map +1 -1
  62. package/dist/prisma/generated/internal/class.d.ts +6 -0
  63. package/dist/prisma/generated/internal/class.d.ts.map +1 -1
  64. package/dist/prisma/generated/internal/class.js +4 -4
  65. package/dist/prisma/generated/internal/class.js.map +1 -1
  66. package/dist/prisma/generated/internal/prismaNamespace.d.ts +181 -1
  67. package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
  68. package/dist/prisma/generated/internal/prismaNamespace.js +27 -1
  69. package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
  70. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +28 -0
  71. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
  72. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +27 -1
  73. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  74. package/dist/prisma/generated/models/PeriodicTask.d.ts +954 -0
  75. package/dist/prisma/generated/models/PeriodicTask.d.ts.map +1 -0
  76. package/dist/prisma/generated/models/PeriodicTask.js +2 -0
  77. package/dist/prisma/generated/models/PeriodicTask.js.map +1 -0
  78. package/dist/prisma/generated/models/PeriodicTaskExecution.d.ts +813 -0
  79. package/dist/prisma/generated/models/PeriodicTaskExecution.d.ts.map +1 -0
  80. package/dist/prisma/generated/models/PeriodicTaskExecution.js +2 -0
  81. package/dist/prisma/generated/models/PeriodicTaskExecution.js.map +1 -0
  82. package/dist/prisma/generated/models/Project.d.ts +132 -0
  83. package/dist/prisma/generated/models/Project.d.ts.map +1 -1
  84. package/dist/prisma/generated/models/Workspace.d.ts +809 -32
  85. package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
  86. package/dist/prisma/generated/models.d.ts +2 -0
  87. package/dist/prisma/generated/models.d.ts.map +1 -1
  88. package/dist/src/backend/lib/env.d.ts +2 -1
  89. package/dist/src/backend/lib/env.d.ts.map +1 -1
  90. package/dist/src/backend/lib/env.js +6 -3
  91. package/dist/src/backend/lib/env.js.map +1 -1
  92. package/dist/src/backend/lib/session-summaries.d.ts +1 -1
  93. package/dist/src/backend/lib/session-summaries.d.ts.map +1 -1
  94. package/dist/src/backend/lib/session-summaries.js +3 -2
  95. package/dist/src/backend/lib/session-summaries.js.map +1 -1
  96. package/dist/src/backend/lib/workspace-derived-state.js +1 -1
  97. package/dist/src/backend/lib/workspace-derived-state.js.map +1 -1
  98. package/dist/src/backend/lib/workspace-derived-state.test.js +33 -9
  99. package/dist/src/backend/lib/workspace-derived-state.test.js.map +1 -1
  100. package/dist/src/backend/orchestration/cli-health.service.d.ts +2 -0
  101. package/dist/src/backend/orchestration/cli-health.service.d.ts.map +1 -1
  102. package/dist/src/backend/orchestration/cli-health.service.js +23 -5
  103. package/dist/src/backend/orchestration/cli-health.service.js.map +1 -1
  104. package/dist/src/backend/orchestration/data-backup.service.d.ts.map +1 -1
  105. package/dist/src/backend/orchestration/data-backup.service.js +6 -0
  106. package/dist/src/backend/orchestration/data-backup.service.js.map +1 -1
  107. package/dist/src/backend/orchestration/data-backup.service.test.js +55 -4
  108. package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
  109. package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts.map +1 -1
  110. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js +39 -1
  111. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js.map +1 -1
  112. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js +3 -1
  113. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js.map +1 -1
  114. package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts +2 -0
  115. package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts.map +1 -1
  116. package/dist/src/backend/orchestration/event-collector.orchestrator.js +17 -0
  117. package/dist/src/backend/orchestration/event-collector.orchestrator.js.map +1 -1
  118. package/dist/src/backend/orchestration/event-collector.orchestrator.test.js +14 -3
  119. package/dist/src/backend/orchestration/event-collector.orchestrator.test.js.map +1 -1
  120. package/dist/src/backend/orchestration/scheduler.service.d.ts.map +1 -1
  121. package/dist/src/backend/orchestration/scheduler.service.js +4 -2
  122. package/dist/src/backend/orchestration/scheduler.service.js.map +1 -1
  123. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts +1 -0
  124. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts.map +1 -1
  125. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js +7 -1
  126. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js.map +1 -1
  127. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js +34 -0
  128. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js.map +1 -1
  129. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts +9 -0
  130. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts.map +1 -1
  131. package/dist/src/backend/orchestration/workspace-archive.orchestrator.js +80 -39
  132. package/dist/src/backend/orchestration/workspace-archive.orchestrator.js.map +1 -1
  133. package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js +74 -2
  134. package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js.map +1 -1
  135. package/dist/src/backend/orchestration/workspace-init.orchestrator.d.ts +1 -0
  136. package/dist/src/backend/orchestration/workspace-init.orchestrator.d.ts.map +1 -1
  137. package/dist/src/backend/orchestration/workspace-init.orchestrator.js +101 -17
  138. package/dist/src/backend/orchestration/workspace-init.orchestrator.js.map +1 -1
  139. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js +70 -3
  140. package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js.map +1 -1
  141. package/dist/src/backend/prompts/ratchet-dispatch.d.ts.map +1 -1
  142. package/dist/src/backend/prompts/ratchet-dispatch.js +14 -10
  143. package/dist/src/backend/prompts/ratchet-dispatch.js.map +1 -1
  144. package/dist/src/backend/prompts/ratchet-dispatch.test.js +37 -0
  145. package/dist/src/backend/prompts/ratchet-dispatch.test.js.map +1 -1
  146. package/dist/src/backend/routers/websocket/setup-terminal.handler.d.ts.map +1 -1
  147. package/dist/src/backend/routers/websocket/setup-terminal.handler.js +13 -1
  148. package/dist/src/backend/routers/websocket/setup-terminal.handler.js.map +1 -1
  149. package/dist/src/backend/routers/websocket/setup-terminal.handler.test.js +89 -3
  150. package/dist/src/backend/routers/websocket/setup-terminal.handler.test.js.map +1 -1
  151. package/dist/src/backend/routers/websocket/snapshots.handler.d.ts.map +1 -1
  152. package/dist/src/backend/routers/websocket/snapshots.handler.js +24 -8
  153. package/dist/src/backend/routers/websocket/snapshots.handler.js.map +1 -1
  154. package/dist/src/backend/routers/websocket/terminal.handler.d.ts.map +1 -1
  155. package/dist/src/backend/routers/websocket/terminal.handler.js +29 -11
  156. package/dist/src/backend/routers/websocket/terminal.handler.js.map +1 -1
  157. package/dist/src/backend/routers/websocket/terminal.handler.test.js +98 -0
  158. package/dist/src/backend/routers/websocket/terminal.handler.test.js.map +1 -1
  159. package/dist/src/backend/schemas/websocket/terminal-message.schema.d.ts +1 -0
  160. package/dist/src/backend/schemas/websocket/terminal-message.schema.d.ts.map +1 -1
  161. package/dist/src/backend/schemas/websocket/terminal-message.schema.js +1 -0
  162. package/dist/src/backend/schemas/websocket/terminal-message.schema.js.map +1 -1
  163. package/dist/src/backend/server.d.ts.map +1 -1
  164. package/dist/src/backend/server.js +84 -62
  165. package/dist/src/backend/server.js.map +1 -1
  166. package/dist/src/backend/server.upgrade.test.js +40 -1
  167. package/dist/src/backend/server.upgrade.test.js.map +1 -1
  168. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts +2 -1
  169. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts.map +1 -1
  170. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js +82 -0
  171. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js.map +1 -1
  172. package/dist/src/backend/services/config.service.d.ts.map +1 -1
  173. package/dist/src/backend/services/config.service.js +1 -4
  174. package/dist/src/backend/services/config.service.js.map +1 -1
  175. package/dist/src/backend/services/constants.d.ts +1 -0
  176. package/dist/src/backend/services/constants.d.ts.map +1 -1
  177. package/dist/src/backend/services/constants.js +1 -0
  178. package/dist/src/backend/services/constants.js.map +1 -1
  179. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts +1 -0
  180. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts.map +1 -1
  181. package/dist/src/backend/services/github/service/github-cli/schemas.js +1 -1
  182. package/dist/src/backend/services/github/service/github-cli/schemas.js.map +1 -1
  183. package/dist/src/backend/services/github/service/github-cli.service.d.ts +10 -0
  184. package/dist/src/backend/services/github/service/github-cli.service.d.ts.map +1 -1
  185. package/dist/src/backend/services/github/service/github-cli.service.js +85 -2
  186. package/dist/src/backend/services/github/service/github-cli.service.js.map +1 -1
  187. package/dist/src/backend/services/github/service/github-cli.service.test.js +38 -8
  188. package/dist/src/backend/services/github/service/github-cli.service.test.js.map +1 -1
  189. package/dist/src/backend/services/periodic-task/index.d.ts +5 -0
  190. package/dist/src/backend/services/periodic-task/index.d.ts.map +1 -0
  191. package/dist/src/backend/services/periodic-task/index.js +6 -0
  192. package/dist/src/backend/services/periodic-task/index.js.map +1 -0
  193. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.d.ts +49 -0
  194. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.d.ts.map +1 -0
  195. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js +138 -0
  196. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js.map +1 -0
  197. package/dist/src/backend/services/periodic-task/service/index.d.ts +3 -0
  198. package/dist/src/backend/services/periodic-task/service/index.d.ts.map +1 -0
  199. package/dist/src/backend/services/periodic-task/service/index.js +2 -0
  200. package/dist/src/backend/services/periodic-task/service/index.js.map +1 -0
  201. package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts +44 -0
  202. package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts.map +1 -0
  203. package/dist/src/backend/services/periodic-task/service/periodic-task.service.js +177 -0
  204. package/dist/src/backend/services/periodic-task/service/periodic-task.service.js.map +1 -0
  205. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.d.ts.map +1 -1
  206. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.js +1 -0
  207. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.js.map +1 -1
  208. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.js +74 -1
  209. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.js.map +1 -1
  210. package/dist/src/backend/services/ratchet/service/ratchet.service.js +1 -1
  211. package/dist/src/backend/services/ratchet/service/ratchet.service.js.map +1 -1
  212. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js +9 -5
  213. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js.map +1 -1
  214. package/dist/src/backend/services/registry.d.ts +6 -2
  215. package/dist/src/backend/services/registry.d.ts.map +1 -1
  216. package/dist/src/backend/services/registry.js +7 -0
  217. package/dist/src/backend/services/registry.js.map +1 -1
  218. package/dist/src/backend/services/resources.integration.test.js +33 -3
  219. package/dist/src/backend/services/resources.integration.test.js.map +1 -1
  220. package/dist/src/backend/services/run-script/service/run-script.service.d.ts +2 -1
  221. package/dist/src/backend/services/run-script/service/run-script.service.d.ts.map +1 -1
  222. package/dist/src/backend/services/run-script/service/run-script.service.js +7 -1
  223. package/dist/src/backend/services/run-script/service/run-script.service.js.map +1 -1
  224. package/dist/src/backend/services/run-script/service/run-script.service.test.js +20 -0
  225. package/dist/src/backend/services/run-script/service/run-script.service.test.js.map +1 -1
  226. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts +2 -0
  227. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts.map +1 -1
  228. package/dist/src/backend/services/session/resources/agent-session.accessor.js +88 -49
  229. package/dist/src/backend/services/session/resources/agent-session.accessor.js.map +1 -1
  230. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js +27 -0
  231. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js.map +1 -1
  232. package/dist/src/backend/services/session/service/acp/acp-client-handler.d.ts.map +1 -1
  233. package/dist/src/backend/services/session/service/acp/acp-client-handler.js +31 -16
  234. package/dist/src/backend/services/session/service/acp/acp-client-handler.js.map +1 -1
  235. package/dist/src/backend/services/session/service/acp/acp-client-handler.test.js +41 -7
  236. package/dist/src/backend/services/session/service/acp/acp-client-handler.test.js.map +1 -1
  237. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts +2 -0
  238. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts.map +1 -1
  239. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js +25 -6
  240. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js.map +1 -1
  241. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js +81 -3
  242. package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js.map +1 -1
  243. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts +1 -0
  244. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts.map +1 -1
  245. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js +13 -0
  246. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js.map +1 -1
  247. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js +34 -0
  248. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js.map +1 -1
  249. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.d.ts +7 -0
  250. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.d.ts.map +1 -1
  251. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.js +25 -8
  252. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.js.map +1 -1
  253. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.test.js +28 -0
  254. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.test.js.map +1 -1
  255. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/command-metadata.d.ts.map +1 -1
  256. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/command-metadata.js +3 -26
  257. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/command-metadata.js.map +1 -1
  258. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/command-metadata.test.js +30 -4
  259. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/command-metadata.test.js.map +1 -1
  260. package/dist/src/backend/services/session/service/acp/codex-cli-import-resolution.integration.test.js +17 -5
  261. package/dist/src/backend/services/session/service/acp/codex-cli-import-resolution.integration.test.js.map +1 -1
  262. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.test.js +23 -0
  263. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.test.js.map +1 -1
  264. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts +10 -1
  265. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts.map +1 -1
  266. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js +72 -2
  267. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js.map +1 -1
  268. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js +66 -0
  269. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js.map +1 -1
  270. package/dist/src/backend/services/session/service/data/session-data.service.d.ts +3 -0
  271. package/dist/src/backend/services/session/service/data/session-data.service.d.ts.map +1 -1
  272. package/dist/src/backend/services/session/service/data/session-data.service.js +3 -0
  273. package/dist/src/backend/services/session/service/data/session-data.service.js.map +1 -1
  274. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts +5 -1
  275. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts.map +1 -1
  276. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js +14 -5
  277. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js.map +1 -1
  278. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.d.ts +1 -0
  279. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.d.ts.map +1 -1
  280. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.js +50 -7
  281. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.js.map +1 -1
  282. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.test.js +68 -0
  283. package/dist/src/backend/services/session/service/lifecycle/session.permission.service.test.js.map +1 -1
  284. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts +2 -0
  285. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts.map +1 -1
  286. package/dist/src/backend/services/session/service/lifecycle/session.repository.js +3 -0
  287. package/dist/src/backend/services/session/service/lifecycle/session.repository.js.map +1 -1
  288. package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js +6 -0
  289. package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js.map +1 -1
  290. package/dist/src/backend/services/session/service/lifecycle/session.service.coverage.test.js +65 -2
  291. package/dist/src/backend/services/session/service/lifecycle/session.service.coverage.test.js.map +1 -1
  292. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts +7 -0
  293. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts.map +1 -1
  294. package/dist/src/backend/services/session/service/lifecycle/session.service.js +54 -2
  295. package/dist/src/backend/services/session/service/lifecycle/session.service.js.map +1 -1
  296. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js +254 -3
  297. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js.map +1 -1
  298. package/dist/src/backend/services/terminal/service/terminal.service.d.ts +1 -2
  299. package/dist/src/backend/services/terminal/service/terminal.service.d.ts.map +1 -1
  300. package/dist/src/backend/services/terminal/service/terminal.service.js +95 -9
  301. package/dist/src/backend/services/terminal/service/terminal.service.js.map +1 -1
  302. package/dist/src/backend/services/terminal/service/terminal.service.test.js +16 -0
  303. package/dist/src/backend/services/terminal/service/terminal.service.test.js.map +1 -1
  304. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts +3 -1
  305. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts.map +1 -1
  306. package/dist/src/backend/services/workspace/resources/workspace.accessor.js +15 -0
  307. package/dist/src/backend/services/workspace/resources/workspace.accessor.js.map +1 -1
  308. package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js +37 -1
  309. package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js.map +1 -1
  310. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js +1 -0
  311. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js.map +1 -1
  312. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts +9 -0
  313. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts.map +1 -1
  314. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts +2 -0
  315. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts.map +1 -1
  316. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts +6 -2
  317. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts.map +1 -1
  318. package/dist/src/backend/services/workspace/service/query/workspace-query.service.js +38 -26
  319. package/dist/src/backend/services/workspace/service/query/workspace-query.service.js.map +1 -1
  320. package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js +42 -6
  321. package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js.map +1 -1
  322. package/dist/src/backend/services/workspace/service/state/kanban-state.d.ts.map +1 -1
  323. package/dist/src/backend/services/workspace/service/state/kanban-state.js +1 -3
  324. package/dist/src/backend/services/workspace/service/state/kanban-state.js.map +1 -1
  325. package/dist/src/backend/services/workspace/service/state/pending-request-type.js +2 -2
  326. package/dist/src/backend/services/workspace/service/state/pending-request-type.js.map +1 -1
  327. package/dist/src/backend/services/workspace/service/state/pending-request-type.test.js +7 -0
  328. package/dist/src/backend/services/workspace/service/state/pending-request-type.test.js.map +1 -1
  329. package/dist/src/backend/services/workspace/service/state/workspace-runtime-state.js +1 -1
  330. package/dist/src/backend/services/workspace/service/state/workspace-runtime-state.js.map +1 -1
  331. package/dist/src/backend/services/workspace/service/worktree/worktree-init.test.js +5 -0
  332. package/dist/src/backend/services/workspace/service/worktree/worktree-init.test.js.map +1 -1
  333. package/dist/src/backend/services/workspace-snapshot-store.service.test.js +7 -5
  334. package/dist/src/backend/services/workspace-snapshot-store.service.test.js.map +1 -1
  335. package/dist/src/backend/trpc/admin.trpc.d.ts +6 -2
  336. package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
  337. package/dist/src/backend/trpc/auto-iteration.trpc.d.ts.map +1 -1
  338. package/dist/src/backend/trpc/auto-iteration.trpc.js +38 -2
  339. package/dist/src/backend/trpc/auto-iteration.trpc.js.map +1 -1
  340. package/dist/src/backend/trpc/index.d.ts +267 -4
  341. package/dist/src/backend/trpc/index.d.ts.map +1 -1
  342. package/dist/src/backend/trpc/index.js +2 -0
  343. package/dist/src/backend/trpc/index.js.map +1 -1
  344. package/dist/src/backend/trpc/periodic-task.trpc.d.ts +153 -0
  345. package/dist/src/backend/trpc/periodic-task.trpc.d.ts.map +1 -0
  346. package/dist/src/backend/trpc/periodic-task.trpc.js +59 -0
  347. package/dist/src/backend/trpc/periodic-task.trpc.js.map +1 -0
  348. package/dist/src/backend/trpc/project.trpc.d.ts +2 -0
  349. package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
  350. package/dist/src/backend/trpc/session.router.test.js +6 -6
  351. package/dist/src/backend/trpc/session.router.test.js.map +1 -1
  352. package/dist/src/backend/trpc/session.trpc.d.ts +5 -0
  353. package/dist/src/backend/trpc/session.trpc.d.ts.map +1 -1
  354. package/dist/src/backend/trpc/session.trpc.js +2 -2
  355. package/dist/src/backend/trpc/session.trpc.js.map +1 -1
  356. package/dist/src/backend/trpc/workspace/init.router.test.js +44 -4
  357. package/dist/src/backend/trpc/workspace/init.router.test.js.map +1 -1
  358. package/dist/src/backend/trpc/workspace/init.trpc.d.ts +1 -0
  359. package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
  360. package/dist/src/backend/trpc/workspace/init.trpc.js +25 -19
  361. package/dist/src/backend/trpc/workspace/init.trpc.js.map +1 -1
  362. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +2 -0
  363. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts.map +1 -1
  364. package/dist/src/backend/trpc/workspace.trpc.d.ts +102 -2
  365. package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
  366. package/dist/src/backend/trpc/workspace.trpc.js +32 -0
  367. package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
  368. package/dist/src/cli/database-path.d.ts +8 -0
  369. package/dist/src/cli/database-path.d.ts.map +1 -0
  370. package/dist/src/cli/database-path.js +15 -0
  371. package/dist/src/cli/database-path.js.map +1 -0
  372. package/dist/src/cli/database-path.test.d.ts +2 -0
  373. package/dist/src/cli/database-path.test.d.ts.map +1 -0
  374. package/dist/src/cli/database-path.test.js +51 -0
  375. package/dist/src/cli/database-path.test.js.map +1 -0
  376. package/dist/src/cli/index.js +4 -12
  377. package/dist/src/cli/index.js.map +1 -1
  378. package/dist/src/cli/proxy.d.ts.map +1 -1
  379. package/dist/src/cli/proxy.js +2 -5
  380. package/dist/src/cli/proxy.js.map +1 -1
  381. package/dist/src/shared/core/ci-status.d.ts.map +1 -1
  382. package/dist/src/shared/core/ci-status.js +10 -9
  383. package/dist/src/shared/core/ci-status.js.map +1 -1
  384. package/dist/src/shared/core/enums.d.ts +16 -0
  385. package/dist/src/shared/core/enums.d.ts.map +1 -1
  386. package/dist/src/shared/core/enums.js +14 -0
  387. package/dist/src/shared/core/enums.js.map +1 -1
  388. package/dist/src/shared/core/index.d.ts +1 -1
  389. package/dist/src/shared/core/index.d.ts.map +1 -1
  390. package/dist/src/shared/core/index.js +1 -1
  391. package/dist/src/shared/core/index.js.map +1 -1
  392. package/dist/src/shared/github-types.d.ts +1 -1
  393. package/dist/src/shared/github-types.d.ts.map +1 -1
  394. package/dist/src/shared/pending-request-types.d.ts +4 -0
  395. package/dist/src/shared/pending-request-types.d.ts.map +1 -1
  396. package/dist/src/shared/pending-request-types.js +6 -0
  397. package/dist/src/shared/pending-request-types.js.map +1 -1
  398. package/dist/src/shared/schemas/export-data.schema.d.ts +12 -0
  399. package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
  400. package/dist/src/shared/schemas/export-data.schema.js +4 -1
  401. package/dist/src/shared/schemas/export-data.schema.js.map +1 -1
  402. package/dist/src/shared/session-runtime.d.ts +2 -0
  403. package/dist/src/shared/session-runtime.d.ts.map +1 -1
  404. package/dist/src/shared/session-runtime.js +6 -0
  405. package/dist/src/shared/session-runtime.js.map +1 -1
  406. package/dist/tsconfig.backend.tsbuildinfo +1 -1
  407. package/package.json +23 -15
  408. package/prisma/migrations/20260217000000_add_auto_approve_permissions/migration.sql +2 -0
  409. package/prisma/migrations/20260410000000_remove_auto_approve_permissions/migration.sql +2 -0
  410. package/prisma/migrations/20260414120000_add_performance_indexes/migration.sql +23 -0
  411. package/prisma/migrations/20260512204732_add_periodic_tasks/migration.sql +125 -0
  412. package/prisma/schema.prisma +76 -0
  413. package/dist/client/assets/_baseUniq-CRIXZajf.js +0 -1
  414. package/dist/client/assets/architectureDiagram-Q4EWVU46-CR--POQ9.js +0 -36
  415. package/dist/client/assets/blockDiagram-DXYQGD6D-JuBGkp-x.js +0 -132
  416. package/dist/client/assets/channel-BToPvV0p.js +0 -1
  417. package/dist/client/assets/chunk-4TB4RGXK-YVAR8wg-.js +0 -206
  418. package/dist/client/assets/chunk-OYMX7WX6-u9Af6O8U.js +0 -231
  419. package/dist/client/assets/classDiagram-6PBFFD2Q-CdGzzfRv.js +0 -1
  420. package/dist/client/assets/classDiagram-v2-HSJHXN6E-CdGzzfRv.js +0 -1
  421. package/dist/client/assets/clone-DZkyOsGH.js +0 -1
  422. package/dist/client/assets/dagre-KV5264BT-DzucNBZu.js +0 -4
  423. package/dist/client/assets/diagram-5BDNPKRD-C6OYvRyt.js +0 -10
  424. package/dist/client/assets/diagram-G4DWMVQ6-DrQYwY3E.js +0 -24
  425. package/dist/client/assets/diagram-MMDJMWI5-CfInQsB1.js +0 -43
  426. package/dist/client/assets/diagram-TYMM5635-CwNYFf_u.js +0 -24
  427. package/dist/client/assets/gitGraphDiagram-UUTBAWPF-VkjInTZg.js +0 -106
  428. package/dist/client/assets/graph-C3Zfn3Km.js +0 -1
  429. package/dist/client/assets/index-CBgUr8yV.css +0 -1
  430. package/dist/client/assets/infoDiagram-42DDH7IO-Dp-vRCFg.js +0 -2
  431. package/dist/client/assets/layout-BVsX4tmn.js +0 -1
  432. package/dist/client/assets/min-DH_RgixA.js +0 -1
  433. package/dist/client/assets/pieDiagram-DEJITSTG-S9DirkFb.js +0 -30
  434. package/dist/client/assets/quadrantDiagram-34T5L4WZ-CVmMYBg1.js +0 -7
  435. package/dist/client/assets/sankeyDiagram-XADWPNL6-Zd2-RQeP.js +0 -10
  436. package/dist/client/assets/stateDiagram-FHFEXIEX-DX9qwfCK.js +0 -1
  437. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-CJ_nRdIj.js +0 -1
  438. package/dist/client/assets/wardley-RL74JXVD-DiTLa5PU.js +0 -162
  439. package/dist/client/assets/wardleyDiagram-NUSXRM2D-CJRSuGsS.js +0 -20
@@ -1,231 +0,0 @@
1
- import{g as te}from"./chunk-55IACEB6-BW_jDeAT.js";import{s as ee}from"./chunk-EDXVE4YY-JtUNKE2M.js";import{_ as f,v as b,t as w,J as se,K as ie,p as re,q as ae,o as ne,s as oe,M as le,N as ce,ae as he,E as U,V as ue}from"./index-DXhws4gD.js";var vt=(function(){var t=f(function(B,o,c,n){for(c=c||{},n=B.length;n--;c[B[n]]=o);return c},"o"),e=[1,2],s=[1,3],a=[1,4],r=[2,4],u=[1,9],d=[1,11],S=[1,16],p=[1,17],T=[1,18],E=[1,19],m=[1,33],x=[1,20],D=[1,21],h=[1,22],L=[1,23],v=[1,24],$=[1,26],I=[1,27],P=[1,28],N=[1,29],J=[1,30],it=[1,31],rt=[1,32],at=[1,35],nt=[1,36],ot=[1,37],lt=[1,38],j=[1,34],y=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],ct=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],xt=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],gt={trace:f(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:f(function(o,c,n,g,_,i,q){var l=i.length-1;switch(_){case 3:return g.setRootDoc(i[l]),i[l];case 4:this.$=[];break;case 5:i[l]!="nl"&&(i[l-1].push(i[l]),this.$=i[l-1]);break;case 6:case 7:this.$=i[l];break;case 8:this.$="nl";break;case 12:this.$=i[l];break;case 13:const Q=i[l-1];Q.description=g.trimColon(i[l]),this.$=Q;break;case 14:this.$={stmt:"relation",state1:i[l-2],state2:i[l]};break;case 15:const Tt=g.trimColon(i[l]);this.$={stmt:"relation",state1:i[l-3],state2:i[l-1],description:Tt};break;case 19:this.$={stmt:"state",id:i[l-3],type:"default",description:"",doc:i[l-1]};break;case 20:var Y=i[l],H=i[l-2].trim();if(i[l].match(":")){var ut=i[l].split(":");Y=ut[0],H=[H,ut[1]]}this.$={stmt:"state",id:Y,type:"default",description:H};break;case 21:this.$={stmt:"state",id:i[l-3],type:"default",description:i[l-5],doc:i[l-1]};break;case 22:this.$={stmt:"state",id:i[l],type:"fork"};break;case 23:this.$={stmt:"state",id:i[l],type:"join"};break;case 24:this.$={stmt:"state",id:i[l],type:"choice"};break;case 25:this.$={stmt:"state",id:g.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:i[l-1].trim(),note:{position:i[l-2].trim(),text:i[l].trim()}};break;case 29:this.$=i[l].trim(),g.setAccTitle(this.$);break;case 30:case 31:this.$=i[l].trim(),g.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:i[l-3],url:i[l-2],tooltip:i[l-1]};break;case 33:this.$={stmt:"click",id:i[l-3],url:i[l-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:i[l-1].trim(),classes:i[l].trim()};break;case 36:this.$={stmt:"style",id:i[l-1].trim(),styleClass:i[l].trim()};break;case 37:this.$={stmt:"applyClass",id:i[l-1].trim(),styleClass:i[l].trim()};break;case 38:g.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:g.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:g.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:g.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:i[l].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:i[l-2].trim(),classes:[i[l].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:i[l-2].trim(),classes:[i[l].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:s,6:a},{1:[3]},{3:5,4:e,5:s,6:a},{3:6,4:e,5:s,6:a},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],r,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:u,5:d,8:8,9:10,10:12,11:13,12:14,13:15,16:S,17:p,19:T,22:E,24:m,25:x,26:D,27:h,28:L,29:v,32:25,33:$,35:I,37:P,38:N,41:J,45:it,48:rt,51:at,52:nt,53:ot,54:lt,57:j},t(y,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:S,17:p,19:T,22:E,24:m,25:x,26:D,27:h,28:L,29:v,32:25,33:$,35:I,37:P,38:N,41:J,45:it,48:rt,51:at,52:nt,53:ot,54:lt,57:j},t(y,[2,7]),t(y,[2,8]),t(y,[2,9]),t(y,[2,10]),t(y,[2,11]),t(y,[2,12],{14:[1,40],15:[1,41]}),t(y,[2,16]),{18:[1,42]},t(y,[2,18],{20:[1,43]}),{23:[1,44]},t(y,[2,22]),t(y,[2,23]),t(y,[2,24]),t(y,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(y,[2,28]),{34:[1,49]},{36:[1,50]},t(y,[2,31]),{13:51,24:m,57:j},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(ct,[2,44],{58:[1,56]}),t(ct,[2,45],{58:[1,57]}),t(y,[2,38]),t(y,[2,39]),t(y,[2,40]),t(y,[2,41]),t(y,[2,6]),t(y,[2,13]),{13:58,24:m,57:j},t(y,[2,17]),t(xt,r,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(y,[2,29]),t(y,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(y,[2,14],{14:[1,71]}),{4:u,5:d,8:8,9:10,10:12,11:13,12:14,13:15,16:S,17:p,19:T,21:[1,72],22:E,24:m,25:x,26:D,27:h,28:L,29:v,32:25,33:$,35:I,37:P,38:N,41:J,45:it,48:rt,51:at,52:nt,53:ot,54:lt,57:j},t(y,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(y,[2,34]),t(y,[2,35]),t(y,[2,36]),t(y,[2,37]),t(ct,[2,46]),t(ct,[2,47]),t(y,[2,15]),t(y,[2,19]),t(xt,r,{7:78}),t(y,[2,26]),t(y,[2,27]),{5:[1,79]},{5:[1,80]},{4:u,5:d,8:8,9:10,10:12,11:13,12:14,13:15,16:S,17:p,19:T,21:[1,81],22:E,24:m,25:x,26:D,27:h,28:L,29:v,32:25,33:$,35:I,37:P,38:N,41:J,45:it,48:rt,51:at,52:nt,53:ot,54:lt,57:j},t(y,[2,32]),t(y,[2,33]),t(y,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:f(function(o,c){if(c.recoverable)this.trace(o);else{var n=new Error(o);throw n.hash=c,n}},"parseError"),parse:f(function(o){var c=this,n=[0],g=[],_=[null],i=[],q=this.table,l="",Y=0,H=0,ut=2,Q=1,Tt=i.slice.call(arguments,1),k=Object.create(this.lexer),V={yy:{}};for(var Et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Et)&&(V.yy[Et]=this.yy[Et]);k.setInput(o,V.yy),V.yy.lexer=k,V.yy.parser=this,typeof k.yylloc>"u"&&(k.yylloc={});var _t=k.yylloc;i.push(_t);var Qt=k.options&&k.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Zt(O){n.length=n.length-2*O,_.length=_.length-O,i.length=i.length-O}f(Zt,"popStack");function Lt(){var O;return O=g.pop()||k.lex()||Q,typeof O!="number"&&(O instanceof Array&&(g=O,O=g.pop()),O=c.symbols_[O]||O),O}f(Lt,"lex");for(var A,M,R,mt,z={},dt,F,It,ft;;){if(M=n[n.length-1],this.defaultActions[M]?R=this.defaultActions[M]:((A===null||typeof A>"u")&&(A=Lt()),R=q[M]&&q[M][A]),typeof R>"u"||!R.length||!R[0]){var bt="";ft=[];for(dt in q[M])this.terminals_[dt]&&dt>ut&&ft.push("'"+this.terminals_[dt]+"'");k.showPosition?bt="Parse error on line "+(Y+1)+`:
2
- `+k.showPosition()+`
3
- Expecting `+ft.join(", ")+", got '"+(this.terminals_[A]||A)+"'":bt="Parse error on line "+(Y+1)+": Unexpected "+(A==Q?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(bt,{text:k.match,token:this.terminals_[A]||A,line:k.yylineno,loc:_t,expected:ft})}if(R[0]instanceof Array&&R.length>1)throw new Error("Parse Error: multiple actions possible at state: "+M+", token: "+A);switch(R[0]){case 1:n.push(A),_.push(k.yytext),i.push(k.yylloc),n.push(R[1]),A=null,H=k.yyleng,l=k.yytext,Y=k.yylineno,_t=k.yylloc;break;case 2:if(F=this.productions_[R[1]][1],z.$=_[_.length-F],z._$={first_line:i[i.length-(F||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(F||1)].first_column,last_column:i[i.length-1].last_column},Qt&&(z._$.range=[i[i.length-(F||1)].range[0],i[i.length-1].range[1]]),mt=this.performAction.apply(z,[l,H,Y,V.yy,R[1],_,i].concat(Tt)),typeof mt<"u")return mt;F&&(n=n.slice(0,-1*F*2),_=_.slice(0,-1*F),i=i.slice(0,-1*F)),n.push(this.productions_[R[1]][0]),_.push(z.$),i.push(z._$),It=q[n[n.length-2]][n[n.length-1]],n.push(It);break;case 3:return!0}}return!0},"parse")},qt=(function(){var B={EOF:1,parseError:f(function(c,n){if(this.yy.parser)this.yy.parser.parseError(c,n);else throw new Error(c)},"parseError"),setInput:f(function(o,c){return this.yy=c||this.yy||{},this._input=o,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:f(function(){var o=this._input[0];this.yytext+=o,this.yyleng++,this.offset++,this.match+=o,this.matched+=o;var c=o.match(/(?:\r\n?|\n).*/g);return c?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),o},"input"),unput:f(function(o){var c=o.length,n=o.split(/(?:\r\n?|\n)/g);this._input=o+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-c),this.offset-=c;var g=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),n.length-1&&(this.yylineno-=n.length-1);var _=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:n?(n.length===g.length?this.yylloc.first_column:0)+g[g.length-n.length].length-n[0].length:this.yylloc.first_column-c},this.options.ranges&&(this.yylloc.range=[_[0],_[0]+this.yyleng-c]),this.yyleng=this.yytext.length,this},"unput"),more:f(function(){return this._more=!0,this},"more"),reject:f(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
4
- `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:f(function(o){this.unput(this.match.slice(o))},"less"),pastInput:f(function(){var o=this.matched.substr(0,this.matched.length-this.match.length);return(o.length>20?"...":"")+o.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:f(function(){var o=this.match;return o.length<20&&(o+=this._input.substr(0,20-o.length)),(o.substr(0,20)+(o.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:f(function(){var o=this.pastInput(),c=new Array(o.length+1).join("-");return o+this.upcomingInput()+`
5
- `+c+"^"},"showPosition"),test_match:f(function(o,c){var n,g,_;if(this.options.backtrack_lexer&&(_={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&&(_.yylloc.range=this.yylloc.range.slice(0))),g=o[0].match(/(?:\r\n?|\n).*/g),g&&(this.yylineno+=g.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:g?g[g.length-1].length-g[g.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,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(o[0].length),this.matched+=o[0],n=this.performAction.call(this,this.yy,this,c,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var i in _)this[i]=_[i];return!1}return!1},"test_match"),next:f(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var o,c,n,g;this._more||(this.yytext="",this.match="");for(var _=this._currentRules(),i=0;i<_.length;i++)if(n=this._input.match(this.rules[_[i]]),n&&(!c||n[0].length>c[0].length)){if(c=n,g=i,this.options.backtrack_lexer){if(o=this.test_match(n,_[i]),o!==!1)return o;if(this._backtrack){c=!1;continue}else return!1}else if(!this.options.flex)break}return c?(o=this.test_match(c,_[g]),o!==!1?o:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
6
- `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:f(function(){var c=this.next();return c||this.lex()},"lex"),begin:f(function(c){this.conditionStack.push(c)},"begin"),popState:f(function(){var c=this.conditionStack.length-1;return c>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:f(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:f(function(c){return c=this.conditionStack.length-1-Math.abs(c||0),c>=0?this.conditionStack[c]:"INITIAL"},"topState"),pushState:f(function(c){this.begin(c)},"pushState"),stateStackSize:f(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:f(function(c,n,g,_){switch(g){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:break;case 9:break;case 10:return 5;case 11:break;case 12:break;case 13:break;case 14:break;case 15:return this.pushState("SCALE"),17;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;case 19:return this.popState(),"acc_title_value";case 20:return this.begin("acc_descr"),35;case 21:return this.popState(),"acc_descr_value";case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 27:return this.popState(),this.pushState("CLASSDEFID"),42;case 28:return this.popState(),43;case 29:return this.pushState("CLASS"),48;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;case 31:return this.popState(),50;case 32:return this.pushState("STYLE"),45;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 34:return this.popState(),47;case 35:return this.pushState("SCALE"),17;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),n.yytext=n.yytext.slice(0,-8).trim(),25;case 40:return this.popState(),n.yytext=n.yytext.slice(0,-8).trim(),26;case 41:return this.popState(),n.yytext=n.yytext.slice(0,-10).trim(),27;case 42:return this.popState(),n.yytext=n.yytext.slice(0,-8).trim(),25;case 43:return this.popState(),n.yytext=n.yytext.slice(0,-8).trim(),26;case 44:return this.popState(),n.yytext=n.yytext.slice(0,-10).trim(),27;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";case 51:return this.popState(),"ID";case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;case 57:break;case 58:return this.popState(),21;case 59:break;case 60:return this.begin("NOTE"),29;case 61:return this.popState(),this.pushState("NOTE_ID"),59;case 62:return this.popState(),this.pushState("NOTE_ID"),60;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;case 69:return this.popState(),n.yytext=n.yytext.substr(2).trim(),31;case 70:return this.popState(),n.yytext=n.yytext.slice(0,-8).trim(),31;case 71:return 6;case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return n.yytext=n.yytext.trim(),14;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:(?:[^:\n;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78,79],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}};return B})();gt.lexer=qt;function ht(){this.yy={}}return f(ht,"Parser"),ht.prototype=gt,gt.Parser=ht,new ht})();vt.parser=vt;var Ye=vt,de="TB",Bt="TB",Nt="dir",X="state",K="root",Ct="relation",fe="classDef",pe="style",Se="applyClass",et="default",Gt="divider",Yt="fill:none",Vt="fill: #333",Mt="c",Ut="markdown",Wt="normal",kt="rect",Dt="rectWithTitle",ye="stateStart",ge="stateEnd",Ot="divider",Rt="roundedWithTitle",Te="note",Ee="noteGroup",st="statediagram",_e="state",me=`${st}-${_e}`,jt="transition",be="note",ke="note-edge",De=`${jt} ${ke}`,ve=`${st}-${be}`,Ce="cluster",Ae=`${st}-${Ce}`,xe="cluster-alt",Le=`${st}-${xe}`,Ht="parent",zt="note",Ie="state",At="----",Ne=`${At}${zt}`,wt=`${At}${Ht}`,Kt=f((t,e=Bt)=>{if(!t.doc)return e;let s=e;for(const a of t.doc)a.stmt==="dir"&&(s=a.value);return s},"getDir"),Oe=f(function(t,e){return e.db.getClasses()},"getClasses"),Re=f(async function(t,e,s,a){b.info("REF0:"),b.info("Drawing state diagram (v2)",e);const{securityLevel:r,state:u,layout:d}=w();a.db.extract(a.db.getRootDocV2());const S=a.db.getData(),p=te(e,r);S.type=a.type,S.layoutAlgorithm=d,S.nodeSpacing=u?.nodeSpacing||50,S.rankSpacing=u?.rankSpacing||50,w().look==="neo"?S.markers=["barbNeo"]:S.markers=["barb"],S.diagramId=e,await se(S,p);const E=8;try{(typeof a.db.getLinks=="function"?a.db.getLinks():new Map).forEach((x,D)=>{const h=typeof D=="string"?D:typeof D?.id=="string"?D.id:"";if(!h){b.warn("⚠️ Invalid or missing stateId from key:",JSON.stringify(D));return}const L=p.node()?.querySelectorAll("g");let v;if(L?.forEach(N=>{N.textContent?.trim()===h&&(v=N)}),!v){b.warn("⚠️ Could not find node matching text:",h);return}const $=v.parentNode;if(!$){b.warn("⚠️ Node has no parent, cannot wrap:",h);return}const I=document.createElementNS("http://www.w3.org/2000/svg","a"),P=x.url.replace(/^"+|"+$/g,"");if(I.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",P),I.setAttribute("target","_blank"),x.tooltip){const N=x.tooltip.replace(/^"+|"+$/g,"");I.setAttribute("title",N)}$.replaceChild(I,v),I.appendChild(v),b.info("🔗 Wrapped node in <a> tag for:",h,x.url)})}catch(m){b.error("❌ Error injecting clickable links:",m)}ie.insertTitle(p,"statediagramTitleText",u?.titleTopMargin??25,a.db.getDiagramTitle()),ee(p,E,st,u?.useMaxWidth??!0)},"draw"),Ve={getClasses:Oe,draw:Re,getDir:Kt},St=new Map,G=0;function yt(t="",e=0,s="",a=At){const r=s!==null&&s.length>0?`${a}${s}`:"";return`${Ie}-${t}${r}-${e}`}f(yt,"stateDomId");var we=f((t,e,s,a,r,u,d,S)=>{b.trace("items",e),e.forEach(p=>{switch(p.stmt){case X:tt(t,p,s,a,r,u,d,S);break;case et:tt(t,p,s,a,r,u,d,S);break;case Ct:{tt(t,p.state1,s,a,r,u,d,S),tt(t,p.state2,s,a,r,u,d,S);const T=d==="neo",E={id:"edge"+G,start:p.state1.id,end:p.state2.id,arrowhead:"normal",arrowTypeEnd:T?"arrow_barb_neo":"arrow_barb",style:Yt,labelStyle:"",label:U.sanitizeText(p.description??"",w()),arrowheadStyle:Vt,labelpos:Mt,labelType:Ut,thickness:Wt,classes:jt,look:d};r.push(E),G++}break}})},"setupDoc"),$t=f((t,e=Bt)=>{let s=e;if(t.doc)for(const a of t.doc)a.stmt==="dir"&&(s=a.value);return s},"getDir");function Z(t,e,s){if(!e.id||e.id==="</join></fork>"||e.id==="</choice>")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(r=>{const u=s.get(r);u&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...u.styles])}));const a=t.find(r=>r.id===e.id);a?Object.assign(a,e):t.push(e)}f(Z,"insertOrUpdateNode");function Xt(t){return t?.classes?.join(" ")??""}f(Xt,"getClassesFromDbInfo");function Jt(t){return t?.styles??[]}f(Jt,"getStylesFromDbInfo");var tt=f((t,e,s,a,r,u,d,S)=>{const p=e.id,T=s.get(p),E=Xt(T),m=Jt(T),x=w();if(b.info("dataFetcher parsedItem",e,T,m),p!=="root"){let D=kt;e.start===!0?D=ye:e.start===!1&&(D=ge),e.type!==et&&(D=e.type),St.get(p)||St.set(p,{id:p,shape:D,description:U.sanitizeText(p,x),cssClasses:`${E} ${me}`,cssStyles:m});const h=St.get(p);e.description&&(Array.isArray(h.description)?(h.shape=Dt,h.description.push(e.description)):h.description?.length&&h.description.length>0?(h.shape=Dt,h.description===p?h.description=[e.description]:h.description=[h.description,e.description]):(h.shape=kt,h.description=e.description),h.description=U.sanitizeTextOrArray(h.description,x)),h.description?.length===1&&h.shape===Dt&&(h.type==="group"?h.shape=Rt:h.shape=kt),!h.type&&e.doc&&(b.info("Setting cluster for XCX",p,$t(e)),h.type="group",h.isGroup=!0,h.dir=$t(e),h.shape=e.type===Gt?Ot:Rt,h.cssClasses=`${h.cssClasses} ${Ae} ${u?Le:""}`);const L={labelStyle:"",shape:h.shape,label:h.description,cssClasses:h.cssClasses,cssCompiledStyles:[],cssStyles:h.cssStyles,id:p,dir:h.dir,domId:yt(p,G),type:h.type,isGroup:h.type==="group",padding:8,rx:10,ry:10,look:d,labelType:"markdown"};if(L.shape===Ot&&(L.label=""),t&&t.id!=="root"&&(b.trace("Setting node ",p," to be child of its parent ",t.id),L.parentId=t.id),L.centerLabel=!0,e.note){const v={labelStyle:"",shape:Te,label:e.note.text,labelType:"markdown",cssClasses:ve,cssStyles:[],cssCompiledStyles:[],id:p+Ne+"-"+G,domId:yt(p,G,zt),type:h.type,isGroup:h.type==="group",padding:x.flowchart?.padding,look:d,position:e.note.position},$=p+wt,I={labelStyle:"",shape:Ee,label:e.note.text,cssClasses:h.cssClasses,cssStyles:[],id:p+wt,domId:yt(p,G,Ht),type:"group",isGroup:!0,padding:16,look:d,position:e.note.position};G++,I.id=$,v.parentId=$,Z(a,I,S),Z(a,v,S),Z(a,L,S);let P=p,N=v.id;e.note.position==="left of"&&(P=v.id,N=p),r.push({id:P+"-"+N,start:P,end:N,arrowhead:"none",arrowTypeEnd:"",style:Yt,labelStyle:"",classes:De,arrowheadStyle:Vt,labelpos:Mt,labelType:Ut,thickness:Wt,look:d})}else Z(a,L,S)}e.doc&&(b.trace("Adding nodes children "),we(e,e.doc,s,a,r,!u,d,S))},"dataFetcher"),$e=f(()=>{St.clear(),G=0},"reset"),C={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},Pt=f(()=>new Map,"newClassesList"),Ft=f(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),pt=f(t=>JSON.parse(JSON.stringify(t)),"clone"),W,Me=(W=class{constructor(e){this.version=e,this.nodes=[],this.edges=[],this.rootDoc=[],this.classes=Pt(),this.documents={root:Ft()},this.currentDocument=this.documents.root,this.startEndCount=0,this.dividerCnt=0,this.links=new Map,this.getAccTitle=re,this.setAccTitle=ae,this.getAccDescription=ne,this.setAccDescription=oe,this.setDiagramTitle=le,this.getDiagramTitle=ce,this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}extract(e){this.clear(!0);for(const r of Array.isArray(e)?e:e.doc)switch(r.stmt){case X:this.addState(r.id.trim(),r.type,r.doc,r.description,r.note);break;case Ct:this.addRelation(r.state1,r.state2,r.description);break;case fe:this.addStyleClass(r.id.trim(),r.classes);break;case pe:this.handleStyleDef(r);break;case Se:this.setCssClass(r.id.trim(),r.styleClass);break;case"click":this.addLink(r.id,r.url,r.tooltip);break}const s=this.getStates(),a=w();$e(),tt(void 0,this.getRootDocV2(),s,this.nodes,this.edges,!0,a.look,this.classes);for(const r of this.nodes)if(Array.isArray(r.label)){if(r.description=r.label.slice(1),r.isGroup&&r.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${r.id}]`);r.label=r.label[0]}}handleStyleDef(e){const s=e.id.trim().split(","),a=e.styleClass.split(",");for(const r of s){let u=this.getState(r);if(!u){const d=r.trim();this.addState(d),u=this.getState(d)}u&&(u.styles=a.map(d=>d.replace(/;/g,"")?.trim()))}}setRootDoc(e){b.info("Setting root doc",e),this.rootDoc=e,this.version===1?this.extract(e):this.extract(this.getRootDocV2())}docTranslator(e,s,a){if(s.stmt===Ct){this.docTranslator(e,s.state1,!0),this.docTranslator(e,s.state2,!1);return}if(s.stmt===X&&(s.id===C.START_NODE?(s.id=e.id+(a?"_start":"_end"),s.start=a):s.id=s.id.trim()),s.stmt!==K&&s.stmt!==X||!s.doc)return;const r=[];let u=[];for(const d of s.doc)if(d.type===Gt){const S=pt(d);S.doc=pt(u),r.push(S),u=[]}else u.push(d);if(r.length>0&&u.length>0){const d={stmt:X,id:he(),type:"divider",doc:pt(u)};r.push(pt(d)),s.doc=r}s.doc.forEach(d=>this.docTranslator(s,d,!0))}getRootDocV2(){return this.docTranslator({id:K,stmt:K},{id:K,stmt:K,doc:this.rootDoc},!0),{id:K,doc:this.rootDoc}}addState(e,s=et,a=void 0,r=void 0,u=void 0,d=void 0,S=void 0,p=void 0){const T=e?.trim();if(!this.currentDocument.states.has(T))b.info("Adding state ",T,r),this.currentDocument.states.set(T,{stmt:X,id:T,descriptions:[],type:s,doc:a,note:u,classes:[],styles:[],textStyles:[]});else{const E=this.currentDocument.states.get(T);if(!E)throw new Error(`State not found: ${T}`);E.doc||(E.doc=a),E.type||(E.type=s)}if(r&&(b.info("Setting state description",T,r),(Array.isArray(r)?r:[r]).forEach(m=>this.addDescription(T,m.trim()))),u){const E=this.currentDocument.states.get(T);if(!E)throw new Error(`State not found: ${T}`);E.note=u,E.note.text=U.sanitizeText(E.note.text,w())}d&&(b.info("Setting state classes",T,d),(Array.isArray(d)?d:[d]).forEach(m=>this.setCssClass(T,m.trim()))),S&&(b.info("Setting state styles",T,S),(Array.isArray(S)?S:[S]).forEach(m=>this.setStyle(T,m.trim()))),p&&(b.info("Setting state styles",T,S),(Array.isArray(p)?p:[p]).forEach(m=>this.setTextStyle(T,m.trim())))}clear(e){this.nodes=[],this.edges=[],this.documents={root:Ft()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=Pt(),e||(this.links=new Map,ue())}getState(e){return this.currentDocument.states.get(e)}getStates(){return this.currentDocument.states}logDocuments(){b.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(e,s,a){this.links.set(e,{url:s,tooltip:a}),b.warn("Adding link",e,s,a)}getLinks(){return this.links}startIdIfNeeded(e=""){return e===C.START_NODE?(this.startEndCount++,`${C.START_TYPE}${this.startEndCount}`):e}startTypeIfNeeded(e="",s=et){return e===C.START_NODE?C.START_TYPE:s}endIdIfNeeded(e=""){return e===C.END_NODE?(this.startEndCount++,`${C.END_TYPE}${this.startEndCount}`):e}endTypeIfNeeded(e="",s=et){return e===C.END_NODE?C.END_TYPE:s}addRelationObjs(e,s,a=""){const r=this.startIdIfNeeded(e.id.trim()),u=this.startTypeIfNeeded(e.id.trim(),e.type),d=this.startIdIfNeeded(s.id.trim()),S=this.startTypeIfNeeded(s.id.trim(),s.type);this.addState(r,u,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.addState(d,S,s.doc,s.description,s.note,s.classes,s.styles,s.textStyles),this.currentDocument.relations.push({id1:r,id2:d,relationTitle:U.sanitizeText(a,w())})}addRelation(e,s,a){if(typeof e=="object"&&typeof s=="object")this.addRelationObjs(e,s,a);else if(typeof e=="string"&&typeof s=="string"){const r=this.startIdIfNeeded(e.trim()),u=this.startTypeIfNeeded(e),d=this.endIdIfNeeded(s.trim()),S=this.endTypeIfNeeded(s);this.addState(r,u),this.addState(d,S),this.currentDocument.relations.push({id1:r,id2:d,relationTitle:a?U.sanitizeText(a,w()):void 0})}}addDescription(e,s){const a=this.currentDocument.states.get(e),r=s.startsWith(":")?s.replace(":","").trim():s;a?.descriptions?.push(U.sanitizeText(r,w()))}cleanupLabel(e){return e.startsWith(":")?e.slice(2).trim():e.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(e,s=""){this.classes.has(e)||this.classes.set(e,{id:e,styles:[],textStyles:[]});const a=this.classes.get(e);s&&a&&s.split(C.STYLECLASS_SEP).forEach(r=>{const u=r.replace(/([^;]*);/,"$1").trim();if(RegExp(C.COLOR_KEYWORD).exec(r)){const S=u.replace(C.FILL_KEYWORD,C.BG_FILL).replace(C.COLOR_KEYWORD,C.FILL_KEYWORD);a.textStyles.push(S)}a.styles.push(u)})}getClasses(){return this.classes}setCssClass(e,s){e.split(",").forEach(a=>{let r=this.getState(a);if(!r){const u=a.trim();this.addState(u),r=this.getState(u)}r?.classes?.push(s)})}setStyle(e,s){this.getState(e)?.styles?.push(s)}setTextStyle(e,s){this.getState(e)?.textStyles?.push(s)}getDirectionStatement(){return this.rootDoc.find(e=>e.stmt===Nt)}getDirection(){return this.getDirectionStatement()?.value??de}setDirection(e){const s=this.getDirectionStatement();s?s.value=e:this.rootDoc.unshift({stmt:Nt,value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}getData(){const e=w();return{nodes:this.nodes,edges:this.edges,other:{},config:e,direction:Kt(this.getRootDocV2())}}getConfig(){return w().state}},f(W,"StateDB"),W.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},W),Pe=f(t=>`
7
- defs [id$="-barbEnd"] {
8
- fill: ${t.transitionColor};
9
- stroke: ${t.transitionColor};
10
- }
11
- g.stateGroup text {
12
- fill: ${t.nodeBorder};
13
- stroke: none;
14
- font-size: 10px;
15
- }
16
- g.stateGroup text {
17
- fill: ${t.textColor};
18
- stroke: none;
19
- font-size: 10px;
20
-
21
- }
22
- g.stateGroup .state-title {
23
- font-weight: bolder;
24
- fill: ${t.stateLabelColor};
25
- }
26
-
27
- g.stateGroup rect {
28
- fill: ${t.mainBkg};
29
- stroke: ${t.nodeBorder};
30
- }
31
-
32
- g.stateGroup line {
33
- stroke: ${t.lineColor};
34
- stroke-width: ${t.strokeWidth||1};
35
- }
36
-
37
- .transition {
38
- stroke: ${t.transitionColor};
39
- stroke-width: ${t.strokeWidth||1};
40
- fill: none;
41
- }
42
-
43
- .stateGroup .composit {
44
- fill: ${t.background};
45
- border-bottom: 1px
46
- }
47
-
48
- .stateGroup .alt-composit {
49
- fill: #e0e0e0;
50
- border-bottom: 1px
51
- }
52
-
53
- .state-note {
54
- stroke: ${t.noteBorderColor};
55
- fill: ${t.noteBkgColor};
56
-
57
- text {
58
- fill: ${t.noteTextColor};
59
- stroke: none;
60
- font-size: 10px;
61
- }
62
- }
63
-
64
- .stateLabel .box {
65
- stroke: none;
66
- stroke-width: 0;
67
- fill: ${t.mainBkg};
68
- opacity: 0.5;
69
- }
70
-
71
- .edgeLabel .label rect {
72
- fill: ${t.labelBackgroundColor};
73
- opacity: 0.5;
74
- }
75
- .edgeLabel {
76
- background-color: ${t.edgeLabelBackground};
77
- p {
78
- background-color: ${t.edgeLabelBackground};
79
- }
80
- rect {
81
- opacity: 0.5;
82
- background-color: ${t.edgeLabelBackground};
83
- fill: ${t.edgeLabelBackground};
84
- }
85
- text-align: center;
86
- }
87
- .edgeLabel .label text {
88
- fill: ${t.transitionLabelColor||t.tertiaryTextColor};
89
- }
90
- .label div .edgeLabel {
91
- color: ${t.transitionLabelColor||t.tertiaryTextColor};
92
- }
93
-
94
- .stateLabel text {
95
- fill: ${t.stateLabelColor};
96
- font-size: 10px;
97
- font-weight: bold;
98
- }
99
-
100
- .node circle.state-start {
101
- fill: ${t.specialStateColor};
102
- stroke: ${t.specialStateColor};
103
- }
104
-
105
- .node .fork-join {
106
- fill: ${t.specialStateColor};
107
- stroke: ${t.specialStateColor};
108
- }
109
-
110
- .node circle.state-end {
111
- fill: ${t.innerEndBackground};
112
- stroke: ${t.background};
113
- stroke-width: 1.5
114
- }
115
- .end-state-inner {
116
- fill: ${t.compositeBackground||t.background};
117
- // stroke: ${t.background};
118
- stroke-width: 1.5
119
- }
120
-
121
- .node rect {
122
- fill: ${t.stateBkg||t.mainBkg};
123
- stroke: ${t.stateBorder||t.nodeBorder};
124
- stroke-width: ${t.strokeWidth||1}px;
125
- }
126
- .node polygon {
127
- fill: ${t.mainBkg};
128
- stroke: ${t.stateBorder||t.nodeBorder};;
129
- stroke-width: ${t.strokeWidth||1}px;
130
- }
131
- [id$="-barbEnd"] {
132
- fill: ${t.lineColor};
133
- }
134
-
135
- .statediagram-cluster rect {
136
- fill: ${t.compositeTitleBackground};
137
- stroke: ${t.stateBorder||t.nodeBorder};
138
- stroke-width: ${t.strokeWidth||1}px;
139
- }
140
-
141
- .cluster-label, .nodeLabel {
142
- color: ${t.stateLabelColor};
143
- // line-height: 1;
144
- }
145
-
146
- .statediagram-cluster rect.outer {
147
- rx: 5px;
148
- ry: 5px;
149
- }
150
- .statediagram-state .divider {
151
- stroke: ${t.stateBorder||t.nodeBorder};
152
- }
153
-
154
- .statediagram-state .title-state {
155
- rx: 5px;
156
- ry: 5px;
157
- }
158
- .statediagram-cluster.statediagram-cluster .inner {
159
- fill: ${t.compositeBackground||t.background};
160
- }
161
- .statediagram-cluster.statediagram-cluster-alt .inner {
162
- fill: ${t.altBackground?t.altBackground:"#efefef"};
163
- }
164
-
165
- .statediagram-cluster .inner {
166
- rx:0;
167
- ry:0;
168
- }
169
-
170
- .statediagram-state rect.basic {
171
- rx: 5px;
172
- ry: 5px;
173
- }
174
- .statediagram-state rect.divider {
175
- stroke-dasharray: 10,10;
176
- fill: ${t.altBackground?t.altBackground:"#efefef"};
177
- }
178
-
179
- .note-edge {
180
- stroke-dasharray: 5;
181
- }
182
-
183
- .statediagram-note rect {
184
- fill: ${t.noteBkgColor};
185
- stroke: ${t.noteBorderColor};
186
- stroke-width: 1px;
187
- rx: 0;
188
- ry: 0;
189
- }
190
- .statediagram-note rect {
191
- fill: ${t.noteBkgColor};
192
- stroke: ${t.noteBorderColor};
193
- stroke-width: 1px;
194
- rx: 0;
195
- ry: 0;
196
- }
197
-
198
- .statediagram-note text {
199
- fill: ${t.noteTextColor};
200
- }
201
-
202
- .statediagram-note .nodeLabel {
203
- color: ${t.noteTextColor};
204
- }
205
- .statediagram .edgeLabel {
206
- color: red; // ${t.noteTextColor};
207
- }
208
-
209
- [id$="-dependencyStart"], [id$="-dependencyEnd"] {
210
- fill: ${t.lineColor};
211
- stroke: ${t.lineColor};
212
- stroke-width: ${t.strokeWidth||1};
213
- }
214
-
215
- .statediagramTitleText {
216
- text-anchor: middle;
217
- font-size: 18px;
218
- fill: ${t.textColor};
219
- }
220
-
221
- [data-look="neo"].statediagram-cluster rect {
222
- fill: ${t.mainBkg};
223
- stroke: ${t.useGradient?"url("+t.svgId+"-gradient)":t.stateBorder||t.nodeBorder};
224
- stroke-width: ${t.strokeWidth??1};
225
- }
226
- [data-look="neo"].statediagram-cluster rect.outer {
227
- rx: ${t.radius}px;
228
- ry: ${t.radius}px;
229
- filter: ${t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${t.svgId}-drop-shadow)`):"none"}
230
- }
231
- `,"getStyles"),Ue=Pe;export{Me as S,Ye as a,Ve as b,Ue as s};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-4TB4RGXK-YVAR8wg-.js";import{_ as i}from"./index-DXhws4gD.js";import"./chunk-FMBD7UC4-BVYe-KgE.js";import"./chunk-YZCP3GAM-CDhS7CGF.js";import"./chunk-55IACEB6-BW_jDeAT.js";import"./chunk-EDXVE4YY-JtUNKE2M.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-4TB4RGXK-YVAR8wg-.js";import{_ as i}from"./index-DXhws4gD.js";import"./chunk-FMBD7UC4-BVYe-KgE.js";import"./chunk-YZCP3GAM-CDhS7CGF.js";import"./chunk-55IACEB6-BW_jDeAT.js";import"./chunk-EDXVE4YY-JtUNKE2M.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1 +0,0 @@
1
- import{b as r}from"./graph-C3Zfn3Km.js";var e=4;function a(o){return r(o,e)}export{a as c};
@@ -1,4 +0,0 @@
1
- import{_ as w,aO as F,aP as H,aQ as Y,aR as _,v as i,t as V,aS as U,aT as Q,aB as W,aH as $,aC as P,aA as q,aU as z,aV as K,aW as Z}from"./index-DXhws4gD.js";import{i as b,G as B}from"./graph-C3Zfn3Km.js";import{l as I}from"./layout-BVsX4tmn.js";import{c as L}from"./clone-DZkyOsGH.js";import{m as A}from"./min-DH_RgixA.js";import"./_baseUniq-CRIXZajf.js";function v(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:ee(e),edges:ne(e)};return b(e.graph())||(t.value=L(e.graph())),t}function ee(e){return A(e.nodes(),function(t){var n=e.node(t),a=e.parent(t),r={v:t};return b(n)||(r.value=n),b(a)||(r.parent=a),r})}function ne(e){return A(e.edges(),function(t){var n=e.edge(t),a={v:t.v,w:t.w};return b(t.name)||(a.name=t.name),b(n)||(a.value=n),a})}var d=new Map,p=new Map,J=new Map,te=w(()=>{p.clear(),J.clear(),d.clear()},"clear"),D=w((e,t)=>{const n=p.get(t)||[];return i.trace("In isDescendant",t," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),se=w((e,t)=>{const n=p.get(t)||[];return i.info("Descendants of ",t," is ",n),i.info("Edge is ",e),e.v===t||e.w===t?!1:n?n.includes(e.v)||D(e.v,t)||D(e.w,t)||n.includes(e.w):(i.debug("Tilt, ",t,",not in descendants"),!1)},"edgeInCluster"),R=w((e,t,n,a)=>{i.warn("Copying children of ",e,"root",a,"data",t.node(e),a);const r=t.children(e)||[];e!==a&&r.push(e),i.warn("Copying (nodes) clusterId",e,"nodes",r),r.forEach(o=>{if(t.children(o).length>0)R(o,t,n,a);else{const l=t.node(o);i.info("cp ",o," to ",a," with parent ",e),n.setNode(o,l),a!==t.parent(o)&&(i.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==a&&o!==e?(i.debug("Setting parent",o,e),n.setParent(o,e)):(i.info("In copy ",e,"root",a,"data",t.node(e),a),i.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==a,"node!==clusterId",o!==e));const u=t.edges(o);i.debug("Copying Edges",u),u.forEach(c=>{i.info("Edge",c);const m=t.edge(c.v,c.w,c.name);i.info("Edge data",m,a);try{se(c,a)?(i.info("Copying as ",c.v,c.w,m,c.name),n.setEdge(c.v,c.w,m,c.name),i.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.info("Skipping copy of edge ",c.v,"-->",c.w," rootId: ",a," clusterId:",e)}catch(h){i.error(h)}})}i.debug("Removing node",o),t.removeNode(o)})},"copy"),T=w((e,t)=>{const n=t.children(e);let a=[...n];for(const r of n)J.set(r,e),a=[...a,...T(r,t)];return a},"extractDescendants"),ie=w((e,t,n)=>{const a=e.edges().filter(c=>c.v===t||c.w===t),r=e.edges().filter(c=>c.v===n||c.w===n),o=a.map(c=>({v:c.v===t?n:c.v,w:c.w===t?t:c.w})),l=r.map(c=>({v:c.v,w:c.w}));return o.filter(c=>l.some(m=>c.v===m.v&&c.w===m.w))},"findCommonEdges"),C=w((e,t,n)=>{const a=t.children(e);if(i.trace("Searching children of id ",e,a),a.length<1)return e;let r;for(const o of a){const l=C(o,t,n),u=ie(t,n,l);if(l)if(u.length>0)r=l;else return l}return r},"findNonClusterChild"),k=w(e=>!d.has(e)||!d.get(e).externalConnections?e:d.has(e)?d.get(e).id:e,"getAnchorId"),re=w((e,t)=>{if(!e||t>10){i.debug("Opting out, no graph ");return}else i.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.warn("Cluster identified",n," Replacement id in edges: ",C(n,e,n)),p.set(n,T(n,e)),d.set(n,{id:C(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const a=e.children(n),r=e.edges();a.length>0?(i.debug("Cluster identified",n,p),r.forEach(o=>{const l=D(o.v,n),u=D(o.w,n);l^u&&(i.warn("Edge: ",o," leaves cluster ",n),i.warn("Descendants of XXX ",n,": ",p.get(n)),d.get(n).externalConnections=!0)})):i.debug("Not a cluster ",n,p)});for(let n of d.keys()){const a=d.get(n).id,r=e.parent(a);r!==n&&d.has(r)&&!d.get(r).externalConnections&&(d.get(n).id=r)}e.edges().forEach(function(n){const a=e.edge(n);i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let r=n.v,o=n.w;if(i.warn("Fix XXX",d,"ids:",n.v,n.w,"Translating: ",d.get(n.v)," --- ",d.get(n.w)),d.get(n.v)||d.get(n.w)){if(i.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),r=k(n.v),o=k(n.w),e.removeEdge(n.v,n.w,n.name),r!==n.v){const l=e.parent(r);d.get(l).externalConnections=!0,a.fromCluster=n.v}if(o!==n.w){const l=e.parent(o);d.get(l).externalConnections=!0,a.toCluster=n.w}i.warn("Fix Replacing with XXX",r,o,n.name),e.setEdge(r,o,a,n.name)}}),i.warn("Adjusted Graph",v(e)),G(e,0),i.trace(d)},"adjustClustersAndEdges"),G=w((e,t)=>{if(i.warn("extractor - ",t,v(e),e.children("D")),t>10){i.error("Bailing out");return}let n=e.nodes(),a=!1;for(const r of n){const o=e.children(r);a=a||o.length>0}if(!a){i.debug("Done, no node has children",e.nodes());return}i.debug("Nodes = ",n,t);for(const r of n)if(i.debug("Extracting node",r,d,d.has(r)&&!d.get(r).externalConnections,!e.parent(r),e.node(r),e.children("D")," Depth ",t),!d.has(r))i.debug("Not a cluster",r,t);else if(!d.get(r).externalConnections&&e.children(r)&&e.children(r).length>0){i.warn("Cluster without external connections, without a parent and with children",r,t);let l=e.graph().rankdir==="TB"?"LR":"TB";d.get(r)?.clusterData?.dir&&(l=d.get(r).clusterData.dir,i.warn("Fixing dir",d.get(r).clusterData.dir,l));const u=new B({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.warn("Old graph before copy",v(e)),R(r,e,u,r),e.setNode(r,{clusterNode:!0,id:r,clusterData:d.get(r).clusterData,label:d.get(r).label,graph:u}),i.warn("New graph after copy node: (",r,")",v(u)),i.debug("Old graph after copy",v(e))}else i.warn("Cluster ** ",r," **not meeting the criteria !externalConnections:",!d.get(r).externalConnections," no parent: ",!e.parent(r)," children ",e.children(r)&&e.children(r).length>0,e.children("D"),t),i.debug(d);n=e.nodes(),i.warn("New list of nodes",n);for(const r of n){const o=e.node(r);i.warn(" Now next level",r,o),o?.clusterNode&&G(o.graph,t+1)}},"extractor"),M=w((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(a=>{const r=e.children(a),o=M(e,r);n=[...n,...o]}),n},"sorter"),oe=w(e=>M(e,e.children()),"sortNodesByHierarchy"),j=w(async(e,t,n,a,r,o)=>{i.warn("Graph in recursive render:XAX",v(t),r);const l=t.graph().rankdir;i.trace("Dir in recursive render - dir:",l);const u=e.insert("g").attr("class","root");t.nodes()?i.info("Recursive render XXX",t.nodes()):i.info("No nodes found for",t),t.edges().length>0&&i.info("Recursive edges",t.edge(t.edges()[0]));const c=u.insert("g").attr("class","clusters"),m=u.insert("g").attr("class","edgePaths"),h=u.insert("g").attr("class","edgeLabels"),X=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(f){const s=t.node(f);if(r!==void 0){const g=JSON.parse(JSON.stringify(r.clusterData));i.trace(`Setting data for parent cluster XXX
2
- Node.id = `,f,`
3
- data=`,g.height,`
4
- Parent cluster`,r.height),t.setNode(r.id,g),t.parent(f)||(i.trace("Setting parent",f,r.id),t.setParent(f,r.id,g))}if(i.info("(Insert) Node XXX"+f+": "+JSON.stringify(t.node(f))),s?.clusterNode){i.info("Cluster identified XBX",f,s.width,t.node(f));const{ranksep:g,nodesep:E}=t.graph();s.graph.setGraph({...s.graph.graph(),ranksep:g+25,nodesep:E});const N=await j(X,s.graph,n,a,t.node(f),o),x=N.elem;U(s,x),s.diff=N.diff||0,i.info("New compound node after recursive render XAX",f,"width",s.width,"height",s.height),Q(x,s)}else t.children(f).length>0?(i.trace("Cluster - the non recursive path XBX",f,s.id,s,s.width,"Graph:",t),i.trace(C(s.id,t)),d.set(s.id,{id:C(s.id,t),node:s})):(i.trace("Node - the non recursive path XAX",f,X,t.node(f),l),await W(X,t.node(f),{config:o,dir:l}))})),await w(async()=>{const f=t.edges().map(async function(s){const g=t.edge(s.v,s.w,s.name);i.info("Edge "+s.v+" -> "+s.w+": "+JSON.stringify(s)),i.info("Edge "+s.v+" -> "+s.w+": ",s," ",JSON.stringify(t.edge(s))),i.info("Fix",d,"ids:",s.v,s.w,"Translating: ",d.get(s.v),d.get(s.w)),await Z(h,g)});await Promise.all(f)},"processEdges")(),i.info("Graph before layout:",JSON.stringify(v(t))),i.info("############################################# XXX"),i.info("### Layout ### XXX"),i.info("############################################# XXX"),I(t),i.info("Graph after layout:",JSON.stringify(v(t)));let O=0,{subGraphTitleTotalMargin:S}=$(o);return await Promise.all(oe(t).map(async function(f){const s=t.node(f);if(i.info("Position XBX => "+f+": ("+s.x,","+s.y,") width: ",s.width," height: ",s.height),s?.clusterNode)s.y+=S,i.info("A tainted cluster node XBX1",f,s.id,s.width,s.height,s.x,s.y,t.parent(f)),d.get(s.id).node=s,P(s);else if(t.children(f).length>0){i.info("A pure cluster node XBX1",f,s.id,s.x,s.y,s.width,s.height,t.parent(f)),s.height+=S,t.node(s.parentId);const g=s?.padding/2||0,E=s?.labelBBox?.height||0,N=E-g||0;i.debug("OffsetY",N,"labelHeight",E,"halfPadding",g),await q(c,s),d.get(s.id).node=s}else{const g=t.node(s.parentId);s.y+=S/2,i.info("A regular node XBX1 - using the padding",s.id,"parent",s.parentId,s.width,s.height,s.x,s.y,"offsetY",s.offsetY,"parent",g,g?.offsetY,s),P(s)}})),t.edges().forEach(function(f){const s=t.edge(f);i.info("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(s),s),s.points.forEach(x=>x.y+=S/2);const g=t.node(f.v);var E=t.node(f.w);const N=z(m,s,d,n,g,E,a);K(s,N)}),t.nodes().forEach(function(f){const s=t.node(f);i.info(f,s.type,s.diff),s.isGroup&&(O=s.diff)}),i.warn("Returning from recursive render XAX",u,O),{elem:u,diff:O}},"recursiveRender"),ge=w(async(e,t)=>{const n=new B({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.config?.flowchart?.nodeSpacing||e.nodeSpacing,ranksep:e.config?.rankSpacing||e.config?.flowchart?.rankSpacing||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),a=t.select("g");F(a,e.markers,e.type,e.diagramId),H(),Y(),_(),te(),e.nodes.forEach(o=>{n.setNode(o.id,{...o}),o.parentId&&n.setParent(o.id,o.parentId)}),i.debug("Edges:",e.edges),e.edges.forEach(o=>{if(o.start===o.end){const l=o.start,u=l+"---"+l+"---1",c=l+"---"+l+"---2",m=n.node(l);n.setNode(u,{domId:u,id:u,parentId:m.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(u,m.parentId),n.setNode(c,{domId:c,id:c,parentId:m.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(c,m.parentId);const h=structuredClone(o),X=structuredClone(o),y=structuredClone(o);h.label="",h.arrowTypeEnd="none",h.id=l+"-cyclic-special-1",X.arrowTypeStart="none",X.arrowTypeEnd="none",X.id=l+"-cyclic-special-mid",y.label="",m.isGroup&&(h.fromCluster=l,y.toCluster=l),y.id=l+"-cyclic-special-2",y.arrowTypeStart="none",n.setEdge(l,u,h,l+"-cyclic-special-0"),n.setEdge(u,c,X,l+"-cyclic-special-1"),n.setEdge(c,l,y,l+"-cyc<lic-special-2")}else n.setEdge(o.start,o.end,{...o},o.id)}),i.warn("Graph at first:",JSON.stringify(v(n))),re(n),i.warn("Graph after XAX:",JSON.stringify(v(n)));const r=V();await j(a,n,e.type,e.diagramId,void 0,r)},"render");export{ge as render};
@@ -1,10 +0,0 @@
1
- import{M as x,q as f,s as C,N as B,o as T,p as y,_ as s,a0 as b,v as k,a3 as V,w as N,Z as _,a1 as S,V as D}from"./index-DXhws4gD.js";import{p as $}from"./chunk-4BX2VUAB-DVPwhCCH.js";import{I as A}from"./chunk-QZHKN3VN-99tx2X7z.js";import{p as I}from"./wardley-RL74JXVD-DiTLa5PU.js";import"./min-DH_RgixA.js";import"./_baseUniq-CRIXZajf.js";var l=new A(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",children:[]}]})),X=s(()=>{l.reset(),D()},"clear"),z=s(()=>l.records.stack[0],"getRoot"),H=s(()=>l.records.cnt,"getCount"),L=S.treeView,M=s(()=>b(L,_().treeView),"getConfig"),R=s((e,t)=>{for(;e<=l.records.stack[l.records.stack.length-1].level;)l.records.stack.pop();const a={id:l.records.cnt++,level:e,name:t,children:[]};l.records.stack[l.records.stack.length-1].children.push(a),l.records.stack.push(a)},"addNode"),W={clear:X,addNode:R,getRoot:z,getCount:H,getConfig:M,getAccTitle:y,getAccDescription:T,getDiagramTitle:B,setAccDescription:C,setAccTitle:f,setDiagramTitle:x},m=W,E=s(e=>{$(e,m),e.nodes.map(t=>m.addNode(t.indent?parseInt(t.indent):0,t.name))},"populate"),F={parse:s(async e=>{const t=await I("treeView",e);k.debug(t),E(t)},"parse")},Y=s((e,t,a,n,o)=>{const c=n.append("text").text(a.name).attr("dominant-baseline","middle").attr("class","treeView-node-label"),{height:p,width:r}=c.node().getBBox(),d=p+o.paddingY*2,i=r+o.paddingX*2;c.attr("x",e+o.paddingX),c.attr("y",t+d/2),a.BBox={x:e,y:t,width:i,height:d}},"positionLabel"),u=s((e,t,a,n,o,c)=>e.append("line").attr("x1",t).attr("y1",a).attr("x2",n).attr("y2",o).attr("stroke-width",c).attr("class","treeView-node-line"),"positionLine"),q=s((e,t,a)=>{let n=0,o=0;const c=s((r,d,i,h)=>{const v=h*(i.rowIndent+i.paddingX);Y(v,n,d,r,i);const{height:g,width:w}=d.BBox;u(r,v-i.rowIndent,n+g/2,v,n+g/2,i.lineThickness),o=Math.max(o,v+w),n+=g},"drawNode"),p=s((r,d=0)=>{c(e,r,a,d),r.children.forEach(g=>{p(g,d+1)});const{x:i,y:h,height:v}=r.BBox;if(r.children.length){const{y:g,height:w}=r.children[r.children.length-1].BBox;u(e,i+a.paddingX,h+v,i+a.paddingX,g+w/2+a.lineThickness/2,a.lineThickness)}},"processNode");return p(t),{totalHeight:n,totalWidth:o}},"drawTree"),Z=s((e,t,a,n)=>{k.debug(`Rendering treeView diagram
2
- `+e);const o=n.db,c=o.getRoot(),p=o.getConfig(),r=V(t),d=r.append("g");d.attr("class","tree-view");const{totalHeight:i,totalWidth:h}=q(d,c,p);r.attr("viewBox",`-${p.lineThickness/2} 0 ${h} ${i}`),N(r,i,h,p.useMaxWidth)},"draw"),j={draw:Z},G=j,J={labelFontSize:"16px",labelColor:"black",lineColor:"black"},K=s(({treeView:e})=>{const{labelFontSize:t,labelColor:a,lineColor:n}=b(J,e);return`
3
- .treeView-node-label {
4
- font-size: ${t};
5
- fill: ${a};
6
- }
7
- .treeView-node-line {
8
- stroke: ${n};
9
- }
10
- `},"styles"),O=K,re={db:m,renderer:G,parser:F,styles:O};export{re as diagram};
@@ -1,24 +0,0 @@
1
- import{_ as w,a4 as he,Z as ee,a0 as K,a3 as ue,w as pe,v as Q,bx as P,u as j,q as fe,p as me,M as ge,N as ye,o as Se,s as ve,a1 as xe,by as be,V as we}from"./index-DXhws4gD.js";import{s as Ce}from"./chunk-EDXVE4YY-JtUNKE2M.js";import{p as Te}from"./chunk-4BX2VUAB-DVPwhCCH.js";import{p as Le}from"./wardley-RL74JXVD-DiTLa5PU.js";import{b as O}from"./defaultLocale-DX6XiGOO.js";import{o as J}from"./ordinal-Cboi1Yqb.js";import"./min-DH_RgixA.js";import"./_baseUniq-CRIXZajf.js";import"./init-Gi6I4Gst.js";function $e(t){var a=0,l=t.children,n=l&&l.length;if(!n)a=1;else for(;--n>=0;)a+=l[n].value;t.value=a}function Ae(){return this.eachAfter($e)}function Fe(t,a){let l=-1;for(const n of this)t.call(a,n,++l,this);return this}function Ne(t,a){for(var l=this,n=[l],r,i,d=-1;l=n.pop();)if(t.call(a,l,++d,this),r=l.children)for(i=r.length-1;i>=0;--i)n.push(r[i]);return this}function Me(t,a){for(var l=this,n=[l],r=[],i,d,h,m=-1;l=n.pop();)if(r.push(l),i=l.children)for(d=0,h=i.length;d<h;++d)n.push(i[d]);for(;l=r.pop();)t.call(a,l,++m,this);return this}function Ve(t,a){let l=-1;for(const n of this)if(t.call(a,n,++l,this))return n}function _e(t){return this.eachAfter(function(a){for(var l=+t(a.data)||0,n=a.children,r=n&&n.length;--r>=0;)l+=n[r].value;a.value=l})}function ke(t){return this.eachBefore(function(a){a.children&&a.children.sort(t)})}function ze(t){for(var a=this,l=De(a,t),n=[a];a!==l;)a=a.parent,n.push(a);for(var r=n.length;t!==l;)n.splice(r,0,t),t=t.parent;return n}function De(t,a){if(t===a)return t;var l=t.ancestors(),n=a.ancestors(),r=null;for(t=l.pop(),a=n.pop();t===a;)r=t,t=l.pop(),a=n.pop();return r}function Pe(){for(var t=this,a=[t];t=t.parent;)a.push(t);return a}function Be(){return Array.from(this)}function Re(){var t=[];return this.eachBefore(function(a){a.children||t.push(a)}),t}function Ee(){var t=this,a=[];return t.each(function(l){l!==t&&a.push({source:l.parent,target:l})}),a}function*We(){var t=this,a,l=[t],n,r,i;do for(a=l.reverse(),l=[];t=a.pop();)if(yield t,n=t.children)for(r=0,i=n.length;r<i;++r)l.push(n[r]);while(l.length)}function te(t,a){t instanceof Map?(t=[void 0,t],a===void 0&&(a=Oe)):a===void 0&&(a=Ie);for(var l=new Z(t),n,r=[l],i,d,h,m;n=r.pop();)if((d=a(n.data))&&(m=(d=Array.from(d)).length))for(n.children=d,h=m-1;h>=0;--h)r.push(i=d[h]=new Z(d[h])),i.parent=n,i.depth=n.depth+1;return l.eachBefore(Ge)}function He(){return te(this).eachBefore(qe)}function Ie(t){return t.children}function Oe(t){return Array.isArray(t)?t[1]:null}function qe(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function Ge(t){var a=0;do t.height=a;while((t=t.parent)&&t.height<++a)}function Z(t){this.data=t,this.depth=this.height=0,this.parent=null}Z.prototype=te.prototype={constructor:Z,count:Ae,each:Fe,eachAfter:Me,eachBefore:Ne,find:Ve,sum:_e,sort:ke,path:ze,ancestors:Pe,descendants:Be,leaves:Re,links:Ee,copy:He,[Symbol.iterator]:We};function Xe(t){if(typeof t!="function")throw new Error;return t}function q(){return 0}function G(t){return function(){return t}}function Ye(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function je(t,a,l,n,r){for(var i=t.children,d,h=-1,m=i.length,c=t.value&&(n-a)/t.value;++h<m;)d=i[h],d.y0=l,d.y1=r,d.x0=a,d.x1=a+=d.value*c}function Ze(t,a,l,n,r){for(var i=t.children,d,h=-1,m=i.length,c=t.value&&(r-l)/t.value;++h<m;)d=i[h],d.x0=a,d.x1=n,d.y0=l,d.y1=l+=d.value*c}var Ue=(1+Math.sqrt(5))/2;function Je(t,a,l,n,r,i){for(var d=[],h=a.children,m,c,u=0,b=0,s=h.length,x,S,v=a.value,p,g,M,N,z,E,V;u<s;){x=r-l,S=i-n;do p=h[b++].value;while(!p&&b<s);for(g=M=p,E=Math.max(S/x,x/S)/(v*t),V=p*p*E,z=Math.max(M/V,V/g);b<s;++b){if(p+=c=h[b].value,c<g&&(g=c),c>M&&(M=c),V=p*p*E,N=Math.max(M/V,V/g),N>z){p-=c;break}z=N}d.push(m={value:p,dice:x<S,children:h.slice(u,b)}),m.dice?je(m,l,n,r,v?n+=S*p/v:i):Ze(m,l,n,v?l+=x*p/v:r,i),v-=p,u=b}return d}const Ke=(function t(a){function l(n,r,i,d,h){Je(a,n,r,i,d,h)}return l.ratio=function(n){return t((n=+n)>1?n:1)},l})(Ue);function Qe(){var t=Ke,a=!1,l=1,n=1,r=[0],i=q,d=q,h=q,m=q,c=q;function u(s){return s.x0=s.y0=0,s.x1=l,s.y1=n,s.eachBefore(b),r=[0],a&&s.eachBefore(Ye),s}function b(s){var x=r[s.depth],S=s.x0+x,v=s.y0+x,p=s.x1-x,g=s.y1-x;p<S&&(S=p=(S+p)/2),g<v&&(v=g=(v+g)/2),s.x0=S,s.y0=v,s.x1=p,s.y1=g,s.children&&(x=r[s.depth+1]=i(s)/2,S+=c(s)-x,v+=d(s)-x,p-=h(s)-x,g-=m(s)-x,p<S&&(S=p=(S+p)/2),g<v&&(v=g=(v+g)/2),t(s,S,v,p,g))}return u.round=function(s){return arguments.length?(a=!!s,u):a},u.size=function(s){return arguments.length?(l=+s[0],n=+s[1],u):[l,n]},u.tile=function(s){return arguments.length?(t=Xe(s),u):t},u.padding=function(s){return arguments.length?u.paddingInner(s).paddingOuter(s):u.paddingInner()},u.paddingInner=function(s){return arguments.length?(i=typeof s=="function"?s:G(+s),u):i},u.paddingOuter=function(s){return arguments.length?u.paddingTop(s).paddingRight(s).paddingBottom(s).paddingLeft(s):u.paddingTop()},u.paddingTop=function(s){return arguments.length?(d=typeof s=="function"?s:G(+s),u):d},u.paddingRight=function(s){return arguments.length?(h=typeof s=="function"?s:G(+s),u):h},u.paddingBottom=function(s){return arguments.length?(m=typeof s=="function"?s:G(+s),u):m},u.paddingLeft=function(s){return arguments.length?(c=typeof s=="function"?s:G(+s),u):c},u}var R,ne=(R=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=fe,this.getAccTitle=me,this.setDiagramTitle=ge,this.getDiagramTitle=ye,this.getAccDescription=Se,this.setAccDescription=ve}getNodes(){return this.nodes}getConfig(){const a=xe,l=ee();return K({...a.treemap,...l.treemap??{}})}addNode(a,l){this.nodes.push(a),this.levels.set(a,l),l===0&&(this.outerNodes.push(a),this.root??=a)}getRoot(){return{name:"",children:this.outerNodes}}addClass(a,l){const n=this.classes.get(a)??{id:a,styles:[],textStyles:[]},r=l.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");r&&r.forEach(i=>{be(i)&&(n?.textStyles?n.textStyles.push(i):n.textStyles=[i]),n?.styles?n.styles.push(i):n.styles=[i]}),this.classes.set(a,n)}getClasses(){return this.classes}getStylesForClass(a){return this.classes.get(a)?.styles??[]}clear(){we(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},w(R,"TreeMapDB"),R);function le(t){if(!t.length)return[];const a=[],l=[];return t.forEach(n=>{const r={name:n.name,children:n.type==="Leaf"?void 0:[]};for(r.classSelector=n?.classSelector,n?.cssCompiledStyles&&(r.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(r.value=n.value);l.length>0&&l[l.length-1].level>=n.level;)l.pop();if(l.length===0)a.push(r);else{const i=l[l.length-1].node;i.children?i.children.push(r):i.children=[r]}n.type!=="Leaf"&&l.push({node:r,level:n.level})}),a}w(le,"buildHierarchy");var et=w((t,a)=>{Te(t,a);const l=[];for(const i of t.TreemapRows??[])i.$type==="ClassDefStatement"&&a.addClass(i.className??"",i.styleText??"");for(const i of t.TreemapRows??[]){const d=i.item;if(!d)continue;const h=i.indent?parseInt(i.indent):0,m=tt(d),c=d.classSelector?a.getStylesForClass(d.classSelector):[],u=c.length>0?c:void 0,b={level:h,name:m,type:d.$type,value:d.value,classSelector:d.classSelector,cssCompiledStyles:u};l.push(b)}const n=le(l),r=w((i,d)=>{for(const h of i)a.addNode(h,d),h.children&&h.children.length>0&&r(h.children,d+1)},"addNodesRecursively");r(n,0)},"populate"),tt=w(t=>t.name?String(t.name):"","getItemName"),re={parser:{yy:void 0},parse:w(async t=>{try{const l=await Le("treemap",t);Q.debug("Treemap AST:",l);const n=re.parser?.yy;if(!(n instanceof ne))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.");et(l,n)}catch(a){throw Q.error("Error parsing treemap:",a),a}},"parse")},at=10,B=10,X=25,nt=w((t,a,l,n)=>{const r=n.db,i=r.getConfig(),d=i.padding??at,h=r.getDiagramTitle(),m=r.getRoot(),{themeVariables:c}=ee();if(!m)return;const u=h?30:0,b=ue(a),s=i.nodeWidth?i.nodeWidth*B:960,x=i.nodeHeight?i.nodeHeight*B:500,S=s,v=x+u;b.attr("viewBox",`0 0 ${S} ${v}`),pe(b,v,S,i.useMaxWidth);let p;try{const e=i.valueFormat||",";if(e==="$0,0")p=w(o=>"$"+O(",")(o),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const o=/\.\d+/.exec(e),f=o?o[0]:"";p=w(C=>"$"+O(","+f)(C),"valueFormat")}else if(e.startsWith("$")){const o=e.substring(1);p=w(f=>"$"+O(o||"")(f),"valueFormat")}else p=O(e)}catch(e){Q.error("Error creating format function:",e),p=O(",")}const g=J().range(["transparent",c.cScale0,c.cScale1,c.cScale2,c.cScale3,c.cScale4,c.cScale5,c.cScale6,c.cScale7,c.cScale8,c.cScale9,c.cScale10,c.cScale11]),M=J().range(["transparent",c.cScalePeer0,c.cScalePeer1,c.cScalePeer2,c.cScalePeer3,c.cScalePeer4,c.cScalePeer5,c.cScalePeer6,c.cScalePeer7,c.cScalePeer8,c.cScalePeer9,c.cScalePeer10,c.cScalePeer11]),N=J().range([c.cScaleLabel0,c.cScaleLabel1,c.cScaleLabel2,c.cScaleLabel3,c.cScaleLabel4,c.cScaleLabel5,c.cScaleLabel6,c.cScaleLabel7,c.cScaleLabel8,c.cScaleLabel9,c.cScaleLabel10,c.cScaleLabel11]);h&&b.append("text").attr("x",S/2).attr("y",u/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(h);const z=b.append("g").attr("transform",`translate(0, ${u})`).attr("class","treemapContainer"),E=te(m).sum(e=>e.value??0).sort((e,o)=>(o.value??0)-(e.value??0)),ae=Qe().size([s,x]).paddingTop(e=>e.children&&e.children.length>0?X+B:0).paddingInner(d).paddingLeft(e=>e.children&&e.children.length>0?B:0).paddingRight(e=>e.children&&e.children.length>0?B:0).paddingBottom(e=>e.children&&e.children.length>0?B:0).round(!0)(E),se=ae.descendants().filter(e=>e.children&&e.children.length>0),W=z.selectAll(".treemapSection").data(se).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);W.append("rect").attr("width",e=>e.x1-e.x0).attr("height",X).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>e.depth===0?"display: none;":""),W.append("clipPath").attr("id",(e,o)=>`clip-section-${a}-${o}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",X),W.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,o)=>`treemapSection section${o}`).attr("fill",e=>g(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>M(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(e.depth===0)return"display: none;";const o=P({cssCompiledStyles:e.data.cssCompiledStyles});return o.nodeStyles+";"+o.borderStyles.join(";")}),W.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",X/2).attr("dominant-baseline","middle").text(e=>e.depth===0?"":e.data.name).attr("font-weight","bold").attr("style",e=>{if(e.depth===0)return"display: none;";const o="dominant-baseline: middle; font-size: 12px; fill:"+N(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=P({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")}).each(function(e){if(e.depth===0)return;const o=j(this),f=e.data.name;o.text(f);const C=e.x1-e.x0,L=6;let $;i.showValues!==!1&&e.value?$=C-10-30-10-L:$=C-L-6;const A=Math.max(15,$),y=o.node();if(y.getComputedTextLength()>A){let T=f;for(;T.length>0;){if(T=f.substring(0,T.length-1),T.length===0){o.text("..."),y.getComputedTextLength()>A&&o.text("");break}if(o.text(T+"..."),y.getComputedTextLength()<=A)break}}}),i.showValues!==!1&&W.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",X/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?p(e.value):"").attr("font-style","italic").attr("style",e=>{if(e.depth===0)return"display: none;";const o="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+N(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",f=P({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")});const ie=ae.leaves(),Y=z.selectAll(".treemapLeafGroup").data(ie).enter().append("g").attr("class",(e,o)=>`treemapNode treemapLeafGroup leaf${o}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);Y.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?g(e.parent.data.name):g(e.data.name)).attr("style",e=>P({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?g(e.parent.data.name):g(e.data.name)).attr("stroke-width",3),Y.append("clipPath").attr("id",(e,o)=>`clip-${a}-${o}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),Y.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>{const o="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+N(e.data.name)+";",f=P({cssCompiledStyles:e.data.cssCompiledStyles});return o+f.labelStyles.replace("color:","fill:")}).attr("clip-path",(e,o)=>`url(#clip-${a}-${o})`).text(e=>e.data.name).each(function(e){const o=j(this),f=e.x1-e.x0,C=e.y1-e.y0,L=o.node(),$=4,D=f-2*$,A=C-2*$;if(D<10||A<10){o.style("display","none");return}let y=parseInt(o.style("font-size"),10);const _=8,F=28,T=.6,k=6,H=2;for(;L.getComputedTextLength()>D&&y>_;)y--,o.style("font-size",`${y}px`);let I=Math.max(k,Math.min(F,Math.round(y*T))),U=y+H+I;for(;U>A&&y>_&&(y--,I=Math.max(k,Math.min(F,Math.round(y*T))),!(I<k&&y===_));)o.style("font-size",`${y}px`),U=y+H+I;o.style("font-size",`${y}px`),(L.getComputedTextLength()>D||y<_||A<y)&&o.style("display","none")}),i.showValues!==!1&&Y.append("text").attr("class","treemapValue").attr("x",o=>(o.x1-o.x0)/2).attr("y",function(o){return(o.y1-o.y0)/2}).attr("style",o=>{const f="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+N(o.data.name)+";",C=P({cssCompiledStyles:o.data.cssCompiledStyles});return f+C.labelStyles.replace("color:","fill:")}).attr("clip-path",(o,f)=>`url(#clip-${a}-${f})`).text(o=>o.value?p(o.value):"").each(function(o){const f=j(this),C=this.parentNode;if(!C){f.style("display","none");return}const L=j(C).select(".treemapLabel");if(L.empty()||L.style("display")==="none"){f.style("display","none");return}const $=parseFloat(L.style("font-size")),D=28,A=.6,y=6,_=2,F=Math.max(y,Math.min(D,Math.round($*A)));f.style("font-size",`${F}px`);const k=(o.y1-o.y0)/2+$/2+_;f.attr("y",k);const H=o.x1-o.x0,ce=o.y1-o.y0-4,de=H-8;f.node().getComputedTextLength()>de||k+F>ce||F<y?f.style("display","none"):f.style("display",null)});const oe=i.diagramPadding??8;Ce(b,oe,"flowchart",i?.useMaxWidth||!1)},"draw"),lt=w(function(t,a){return a.db.getClasses()},"getClasses"),rt={draw:nt,getClasses:lt},st={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},it=w(({treemap:t}={})=>{const a=he(),l=ee(),n=K(a,l.themeVariables),r=K(st,t),i=r.titleColor??n.titleColor,d=r.labelColor??n.textColor,h=r.valueColor??n.textColor;return`
2
- .treemapNode.section {
3
- stroke: ${r.sectionStrokeColor};
4
- stroke-width: ${r.sectionStrokeWidth};
5
- fill: ${r.sectionFillColor};
6
- }
7
- .treemapNode.leaf {
8
- stroke: ${r.leafStrokeColor};
9
- stroke-width: ${r.leafStrokeWidth};
10
- fill: ${r.leafFillColor};
11
- }
12
- .treemapLabel {
13
- fill: ${d};
14
- font-size: ${r.labelFontSize};
15
- }
16
- .treemapValue {
17
- fill: ${h};
18
- font-size: ${r.valueFontSize};
19
- }
20
- .treemapTitle {
21
- fill: ${i};
22
- font-size: ${r.titleFontSize};
23
- }
24
- `},"getStyles"),ot=it,vt={parser:re,get db(){return new ne},renderer:rt,styles:ot};export{vt as diagram};
@@ -1,43 +0,0 @@
1
- import{s as k,o as R,N as I,M as _,p as E,q as F,_ as l,a3 as D,V as z,a0 as y,a1 as G,Z as C,v as P,a4 as V,w as W}from"./index-DXhws4gD.js";import{p as B}from"./chunk-4BX2VUAB-DVPwhCCH.js";import{p as H}from"./wardley-RL74JXVD-DiTLa5PU.js";import"./min-DH_RgixA.js";import"./_baseUniq-CRIXZajf.js";var x={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},w={axes:[],curves:[],options:x},m=structuredClone(w),j=G.radar,N=l(()=>y({...j,...C().radar}),"getConfig"),b=l(()=>m.axes,"getAxes"),Z=l(()=>m.curves,"getCurves"),q=l(()=>m.options,"getOptions"),U=l(a=>{m.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),X=l(a=>{m.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:Y(t.entries)}))},"setCurves"),Y=l(a=>{if(a[0].axis==null)return a.map(e=>e.value);const t=b();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{const r=a.find(s=>s.axis?.$refText===e.name);if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),J=l(a=>{const t=a.reduce((e,r)=>(e[r.name]=r,e),{});m.options={showLegend:t.showLegend?.value??x.showLegend,ticks:t.ticks?.value??x.ticks,max:t.max?.value??x.max,min:t.min?.value??x.min,graticule:t.graticule?.value??x.graticule}},"setOptions"),K=l(()=>{z(),m=structuredClone(w)},"clear"),$={getAxes:b,getCurves:Z,getOptions:q,setAxes:U,setCurves:X,setOptions:J,getConfig:N,clear:K,setAccTitle:F,getAccTitle:E,setDiagramTitle:_,getDiagramTitle:I,getAccDescription:R,setAccDescription:k},Q=l(a=>{B(a,$);const{axes:t,curves:e,options:r}=a;$.setAxes(t),$.setCurves(e),$.setOptions(r)},"populate"),tt={parse:l(async a=>{const t=await H("radar",a);P.debug(t),Q(t)},"parse")},et=l((a,t,e,r)=>{const s=r.db,o=s.getAxes(),i=s.getCurves(),n=s.getOptions(),c=s.getConfig(),d=s.getDiagramTitle(),p=D(t),u=at(p,c),g=n.max??Math.max(...i.map(f=>Math.max(...f.entries))),h=n.min,v=Math.min(c.width,c.height)/2;rt(u,o,v,n.ticks,n.graticule),st(u,o,v,c),M(u,o,i,h,g,n.graticule,c),T(u,i,n.showLegend,c),u.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-c.height/2-c.marginTop)},"draw"),at=l((a,t)=>{const e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,s={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return W(a,r,e,t.useMaxWidth??!0),a.attr("viewBox",`0 0 ${e} ${r}`),a.append("g").attr("transform",`translate(${s.x}, ${s.y})`)},"drawFrame"),rt=l((a,t,e,r,s)=>{if(s==="circle")for(let o=0;o<r;o++){const i=e*(o+1)/r;a.append("circle").attr("r",i).attr("class","radarGraticule")}else if(s==="polygon"){const o=t.length;for(let i=0;i<r;i++){const n=e*(i+1)/r,c=t.map((d,p)=>{const u=2*p*Math.PI/o-Math.PI/2,g=n*Math.cos(u),h=n*Math.sin(u);return`${g},${h}`}).join(" ");a.append("polygon").attr("points",c).attr("class","radarGraticule")}}},"drawGraticule"),st=l((a,t,e,r)=>{const s=t.length;for(let o=0;o<s;o++){const i=t[o].label,n=2*o*Math.PI/s-Math.PI/2;a.append("line").attr("x1",0).attr("y1",0).attr("x2",e*r.axisScaleFactor*Math.cos(n)).attr("y2",e*r.axisScaleFactor*Math.sin(n)).attr("class","radarAxisLine"),a.append("text").text(i).attr("x",e*r.axisLabelFactor*Math.cos(n)).attr("y",e*r.axisLabelFactor*Math.sin(n)).attr("class","radarAxisLabel")}},"drawAxes");function M(a,t,e,r,s,o,i){const n=t.length,c=Math.min(i.width,i.height)/2;e.forEach((d,p)=>{if(d.entries.length!==n)return;const u=d.entries.map((g,h)=>{const v=2*Math.PI*h/n-Math.PI/2,f=A(g,r,s,c),S=f*Math.cos(v),O=f*Math.sin(v);return{x:S,y:O}});o==="circle"?a.append("path").attr("d",L(u,i.curveTension)).attr("class",`radarCurve-${p}`):o==="polygon"&&a.append("polygon").attr("points",u.map(g=>`${g.x},${g.y}`).join(" ")).attr("class",`radarCurve-${p}`)})}l(M,"drawCurves");function A(a,t,e,r){const s=Math.min(Math.max(a,t),e);return r*(s-t)/(e-t)}l(A,"relativeRadius");function L(a,t){const e=a.length;let r=`M${a[0].x},${a[0].y}`;for(let s=0;s<e;s++){const o=a[(s-1+e)%e],i=a[s],n=a[(s+1)%e],c=a[(s+2)%e],d={x:i.x+(n.x-o.x)*t,y:i.y+(n.y-o.y)*t},p={x:n.x-(c.x-i.x)*t,y:n.y-(c.y-i.y)*t};r+=` C${d.x},${d.y} ${p.x},${p.y} ${n.x},${n.y}`}return`${r} Z`}l(L,"closedRoundCurve");function T(a,t,e,r){if(!e)return;const s=(r.width/2+r.marginRight)*3/4,o=-(r.height/2+r.marginTop)*3/4,i=20;t.forEach((n,c)=>{const d=a.append("g").attr("transform",`translate(${s}, ${o+c*i})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${c}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(n.label)})}l(T,"drawLegend");var nt={draw:et},ot=l((a,t)=>{let e="";for(let r=0;r<a.THEME_COLOR_LIMIT;r++){const s=a[`cScale${r}`];e+=`
2
- .radarCurve-${r} {
3
- color: ${s};
4
- fill: ${s};
5
- fill-opacity: ${t.curveOpacity};
6
- stroke: ${s};
7
- stroke-width: ${t.curveStrokeWidth};
8
- }
9
- .radarLegendBox-${r} {
10
- fill: ${s};
11
- fill-opacity: ${t.curveOpacity};
12
- stroke: ${s};
13
- }
14
- `}return e},"genIndexStyles"),it=l(a=>{const t=V(),e=C(),r=y(t,e.themeVariables),s=y(r.radar,a);return{themeVariables:r,radarOptions:s}},"buildRadarStyleOptions"),lt=l(({radar:a}={})=>{const{themeVariables:t,radarOptions:e}=it(a);return`
15
- .radarTitle {
16
- font-size: ${t.fontSize};
17
- color: ${t.titleColor};
18
- dominant-baseline: hanging;
19
- text-anchor: middle;
20
- }
21
- .radarAxisLine {
22
- stroke: ${e.axisColor};
23
- stroke-width: ${e.axisStrokeWidth};
24
- }
25
- .radarAxisLabel {
26
- dominant-baseline: middle;
27
- text-anchor: middle;
28
- font-size: ${e.axisLabelFontSize}px;
29
- color: ${e.axisColor};
30
- }
31
- .radarGraticule {
32
- fill: ${e.graticuleColor};
33
- fill-opacity: ${e.graticuleOpacity};
34
- stroke: ${e.graticuleColor};
35
- stroke-width: ${e.graticuleStrokeWidth};
36
- }
37
- .radarLegendText {
38
- text-anchor: start;
39
- font-size: ${e.legendFontSize}px;
40
- dominant-baseline: hanging;
41
- }
42
- ${ot(t,e)}
43
- `},"styles"),mt={parser:tt,db:$,renderer:nt,styles:lt};export{mt as diagram};
@@ -1,24 +0,0 @@
1
- import{_ as b,a0 as m,a3 as B,w as C,v as w,q as S,p as D,M as T,N as P,o as z,s as E,a1 as F,Z as A,V as W}from"./index-DXhws4gD.js";import{p as _}from"./chunk-4BX2VUAB-DVPwhCCH.js";import{p as N}from"./wardley-RL74JXVD-DiTLa5PU.js";import"./min-DH_RgixA.js";import"./_baseUniq-CRIXZajf.js";var M=F.packet,u,v=(u=class{constructor(){this.packet=[],this.setAccTitle=S,this.getAccTitle=D,this.setDiagramTitle=T,this.getDiagramTitle=P,this.getAccDescription=z,this.setAccDescription=E}getConfig(){const t=m({...M,...A().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){W(),this.packet=[]}},b(u,"PacketDB"),u),L=1e4,Y=b((e,t)=>{_(e,t);let r=-1,o=[],n=1;const{bitsPerRow:l}=t.getConfig();for(let{start:a,end:i,bits:d,label:c}of e.blocks){if(a!==void 0&&i!==void 0&&i<a)throw new Error(`Packet block ${a} - ${i} is invalid. End must be greater than start.`);if(a??=r+1,a!==r+1)throw new Error(`Packet block ${a} - ${i??a} is not contiguous. It should start from ${r+1}.`);if(d===0)throw new Error(`Packet block ${a} is invalid. Cannot have a zero bit field.`);for(i??=a+(d??1)-1,d??=i-a+1,r=i,w.debug(`Packet block ${a} - ${r} with label ${c}`);o.length<=l+1&&t.getPacket().length<L;){const[p,s]=I({start:a,end:i,bits:d,label:c},n,l);if(o.push(p),p.end+1===n*l&&(t.pushWord(o),o=[],n++),!s)break;({start:a,end:i,bits:d,label:c}=s)}}t.pushWord(o)},"populate"),I=b((e,t,r)=>{if(e.start===void 0)throw new Error("start should have been set during first phase");if(e.end===void 0)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*r)return[e,void 0];const o=t*r-1,n=t*r;return[{start:e.start,end:o,label:e.label,bits:o-e.start},{start:n,end:e.end,label:e.label,bits:e.end-n}]},"getNextFittingBlock"),x={parser:{yy:void 0},parse:b(async e=>{const t=await N("packet",e),r=x.parser?.yy;if(!(r instanceof v))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.");w.debug(t),Y(t,r)},"parse")},O=b((e,t,r,o)=>{const n=o.db,l=n.getConfig(),{rowHeight:a,paddingY:i,bitWidth:d,bitsPerRow:c}=l,p=n.getPacket(),s=n.getDiagramTitle(),h=a+i,g=h*(p.length+1)-(s?0:a),k=d*c+2,f=B(t);f.attr("viewBox",`0 0 ${k} ${g}`),C(f,g,k,l.useMaxWidth);for(const[y,$]of p.entries())j(f,$,y,l);f.append("text").text(s).attr("x",k/2).attr("y",g-h/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),j=b((e,t,r,{rowHeight:o,paddingX:n,paddingY:l,bitWidth:a,bitsPerRow:i,showBits:d})=>{const c=e.append("g"),p=r*(o+l)+l;for(const s of t){const h=s.start%i*a+1,g=(s.end-s.start+1)*a-n;if(c.append("rect").attr("x",h).attr("y",p).attr("width",g).attr("height",o).attr("class","packetBlock"),c.append("text").attr("x",h+g/2).attr("y",p+o/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(s.label),!d)continue;const k=s.end===s.start,f=p-2;c.append("text").attr("x",h+(k?g/2:0)).attr("y",f).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",k?"middle":"start").text(s.start),k||c.append("text").attr("x",h+g).attr("y",f).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(s.end)}},"drawWord"),q={draw:O},G={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},H=b(({packet:e}={})=>{const t=m(G,e);return`
2
- .packetByte {
3
- font-size: ${t.byteFontSize};
4
- }
5
- .packetByte.start {
6
- fill: ${t.startByteColor};
7
- }
8
- .packetByte.end {
9
- fill: ${t.endByteColor};
10
- }
11
- .packetLabel {
12
- fill: ${t.labelColor};
13
- font-size: ${t.labelFontSize};
14
- }
15
- .packetTitle {
16
- fill: ${t.titleColor};
17
- font-size: ${t.titleFontSize};
18
- }
19
- .packetBlock {
20
- stroke: ${t.blockStrokeColor};
21
- stroke-width: ${t.blockStrokeWidth};
22
- fill: ${t.blockFillColor};
23
- }
24
- `},"styles"),Z={parser:x,get db(){return new v},renderer:q,styles:H};export{Z as diagram};