@sureshdsk/devflow-mcp 3.0.0 → 3.0.1

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 (504) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +4 -4
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/required-server-files.json +1 -1
  5. package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +2 -2
  6. package/.next/standalone/.next/server/app/_global-error/page.js +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  9. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
  16. package/.next/standalone/.next/server/app/_not-found/page.js +2 -2
  17. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  20. package/.next/standalone/.next/server/app/_not-found.rsc +14 -13
  21. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +14 -13
  22. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  23. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +5 -4
  24. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  25. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  26. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  27. package/.next/standalone/.next/server/app/api/projects/[id]/route.js +2 -2
  28. package/.next/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/projects/route.js +2 -2
  30. package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/specs/[name]/artifacts/[artifactType]/approve/route.js +2 -2
  32. package/.next/standalone/.next/server/app/api/specs/[name]/artifacts/[artifactType]/approve/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/specs/[name]/artifacts/[artifactType]/route.js +2 -2
  34. package/.next/standalone/.next/server/app/api/specs/[name]/artifacts/[artifactType]/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/specs/[name]/promote/route.js +2 -2
  36. package/.next/standalone/.next/server/app/api/specs/[name]/promote/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/specs/[name]/route.js +2 -2
  38. package/.next/standalone/.next/server/app/api/specs/[name]/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/specs/route.js +2 -2
  40. package/.next/standalone/.next/server/app/api/specs/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/tasks/[id]/route.js +2 -2
  42. package/.next/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/tasks/route.js +2 -2
  44. package/.next/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/index.html +1 -1
  46. package/.next/standalone/.next/server/app/index.rsc +15 -14
  47. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  48. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -14
  49. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  50. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +5 -4
  51. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  52. package/.next/standalone/.next/server/app/page/build-manifest.json +2 -2
  53. package/.next/standalone/.next/server/app/page.js +2 -2
  54. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/specs/[name]/page/build-manifest.json +2 -2
  57. package/.next/standalone/.next/server/app/specs/[name]/page.js +2 -2
  58. package/.next/standalone/.next/server/app/specs/[name]/page.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/specs/[name]/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0be0eb8b._.js +3 -0
  61. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__a9d478ee._.js → [root-of-the-server]__160c54ca._.js} +2 -2
  62. package/.next/standalone/.next/server/chunks/[root-of-the-server]__17ac51e3._.js +3 -0
  63. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1bb083e9._.js +3 -0
  64. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1dc1e944._.js +3 -0
  65. package/.next/standalone/.next/server/chunks/[root-of-the-server]__22ecfa2c._.js +3 -0
  66. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__13a93eb6._.js → [root-of-the-server]__64710c0d._.js} +2 -2
  67. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a2b7e5f2._.js +3 -0
  68. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cf302bda._.js +3 -0
  69. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d85482cd._.js +3 -0
  70. package/.next/standalone/.next/server/chunks/[root-of-the-server]__dfa21757._.js +3 -0
  71. package/.next/standalone/.next/server/chunks/_3f452afe._.js +2 -2
  72. package/.next/standalone/.next/server/chunks/src_db_index_ts_a71f50f0._.js +3 -0
  73. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__023e2c69._.js +3 -0
  74. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0a1a1435._.js +3 -0
  75. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0c49a387._.js +3 -0
  76. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1be1fc5f._.js +3 -0
  77. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__3a2f2efb._.js +3 -0
  78. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__4693399c._.js +3 -0
  79. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__937c9212._.js → [root-of-the-server]__72a14301._.js} +2 -2
  80. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__8064ca06._.js +3 -0
  81. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__8b786d48._.js +3 -0
  82. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__8c052461._.js +3 -0
  83. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__8d306066._.js +3 -0
  84. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__9532fd59._.js +3 -0
  85. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__a119dd75._.js +3 -0
  86. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__7fb6ef14._.js → [root-of-the-server]__a57b312b._.js} +2 -2
  87. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__a80bd0ea._.js +3 -0
  88. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__abe095b3._.js +3 -0
  89. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__ad3bd783._.js +3 -0
  90. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1e05fe0e._.js → [root-of-the-server]__ae9f05d6._.js} +2 -2
  91. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__c8781469._.js +3 -0
  92. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__c8a25070._.js +3 -0
  93. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__e8c1e595._.js +3 -0
  94. package/.next/standalone/.next/server/chunks/ssr/_0ff3de19._.js +1 -1
  95. package/.next/standalone/.next/server/chunks/ssr/node_modules_01a5cd4b._.js +3 -0
  96. package/.next/standalone/.next/server/chunks/ssr/node_modules_05c6819f._.js +31 -0
  97. package/.next/standalone/.next/server/chunks/ssr/node_modules_06c2c30a._.js +3 -0
  98. package/.next/standalone/.next/server/chunks/ssr/node_modules_09efe605._.js +3 -0
  99. package/.next/standalone/.next/server/chunks/ssr/{node_modules_mermaid_dist_chunks_mermaid_core_ef601841._.js → node_modules_0a439e3b._.js} +2 -2
  100. package/.next/standalone/.next/server/chunks/ssr/{node_modules_3507b41a._.js → node_modules_0e73ad6c._.js} +3 -3
  101. package/.next/standalone/.next/server/chunks/ssr/node_modules_0e7ff06d._.js +3 -0
  102. package/.next/standalone/.next/server/chunks/ssr/node_modules_0f73e25c._.js +3 -0
  103. package/.next/standalone/.next/server/chunks/ssr/node_modules_14cf9cea._.js +3 -0
  104. package/.next/standalone/.next/server/chunks/ssr/node_modules_19801f01._.js +3 -0
  105. package/.next/standalone/.next/server/chunks/ssr/node_modules_2235b8cf._.js +17 -0
  106. package/.next/standalone/.next/server/chunks/ssr/node_modules_23096c6d._.js +3 -0
  107. package/.next/standalone/.next/server/chunks/ssr/node_modules_23db4cf7._.js +17 -0
  108. package/.next/standalone/.next/server/chunks/ssr/node_modules_24381e95._.js +3 -0
  109. package/.next/standalone/.next/server/chunks/ssr/node_modules_24ca0eb6._.js +17 -0
  110. package/.next/standalone/.next/server/chunks/ssr/node_modules_27525793._.js +17 -0
  111. package/.next/standalone/.next/server/chunks/ssr/{node_modules_mermaid_dist_chunks_mermaid_core_4cfa6360._.js → node_modules_27c20382._.js} +2 -2
  112. package/.next/standalone/.next/server/chunks/ssr/node_modules_2c901b92._.js +3 -0
  113. package/.next/standalone/.next/server/chunks/ssr/node_modules_33b818b7._.js +45 -0
  114. package/.next/standalone/.next/server/chunks/ssr/node_modules_345d7791._.js +3 -0
  115. package/.next/standalone/.next/server/chunks/ssr/node_modules_36185c24._.js +45 -0
  116. package/.next/standalone/.next/server/chunks/ssr/node_modules_3ac7ce09._.js +3 -0
  117. package/.next/standalone/.next/server/chunks/ssr/node_modules_41b77cc7._.js +3 -0
  118. package/.next/standalone/.next/server/chunks/ssr/{node_modules_ed317ff6._.js → node_modules_42acd8db._.js} +2 -2
  119. package/.next/standalone/.next/server/chunks/ssr/node_modules_434aa5ec._.js +3 -0
  120. package/.next/standalone/.next/server/chunks/ssr/node_modules_54a9e72d._.js +17 -0
  121. package/.next/standalone/.next/server/chunks/ssr/node_modules_54f1273a._.js +26 -0
  122. package/.next/standalone/.next/server/chunks/ssr/node_modules_58d64491._.js +3 -0
  123. package/.next/standalone/.next/server/chunks/ssr/node_modules_5e012e3d._.js +3 -0
  124. package/.next/standalone/.next/server/chunks/ssr/node_modules_5ea9e4cf._.js +3 -0
  125. package/.next/standalone/.next/server/chunks/ssr/node_modules_5ecf8270._.js +26 -0
  126. package/.next/standalone/.next/server/chunks/ssr/node_modules_611c99b5._.js +1 -1
  127. package/.next/standalone/.next/server/chunks/ssr/{node_modules_d3-scale_src_e02ef77f._.js → node_modules_6629853d._.js} +2 -2
  128. package/.next/standalone/.next/server/chunks/ssr/node_modules_6fe2661c._.js +3 -0
  129. package/.next/standalone/.next/server/chunks/ssr/node_modules_7fe65a84._.js +3 -0
  130. package/.next/standalone/.next/server/chunks/ssr/node_modules_860f971a._.js +3 -0
  131. package/.next/standalone/.next/server/chunks/ssr/node_modules_882f3743._.js +3 -0
  132. package/.next/standalone/.next/server/chunks/ssr/node_modules_8e047938._.js +3 -0
  133. package/.next/standalone/.next/server/chunks/ssr/node_modules_9268cdc4._.js +3 -0
  134. package/.next/standalone/.next/server/chunks/ssr/node_modules_942541c9._.js +3 -0
  135. package/.next/standalone/.next/server/chunks/ssr/node_modules_9d52c0d6._.js +3 -0
  136. package/.next/standalone/.next/server/chunks/ssr/node_modules_@tanstack_query-core_build_modern_21ece5ea._.js +3 -0
  137. package/.next/standalone/.next/server/chunks/ssr/node_modules_ae6841d2._.js +17 -0
  138. package/.next/standalone/.next/server/chunks/ssr/node_modules_ba280bb0._.js +31 -0
  139. package/.next/standalone/.next/server/chunks/ssr/node_modules_bffdb8ec._.js +3 -0
  140. package/.next/standalone/.next/server/chunks/ssr/node_modules_c00f1821._.js +17 -0
  141. package/.next/standalone/.next/server/chunks/ssr/node_modules_c142ba86._.js +3 -0
  142. package/.next/standalone/.next/server/chunks/ssr/node_modules_d1a47cde._.js +17 -0
  143. package/.next/standalone/.next/server/chunks/ssr/node_modules_d9b454fe._.js +3 -0
  144. package/.next/standalone/.next/server/chunks/ssr/node_modules_dbe36b1d._.js +3 -0
  145. package/.next/standalone/.next/server/chunks/ssr/node_modules_ddbe26b7._.js +3 -0
  146. package/.next/standalone/.next/server/chunks/ssr/node_modules_e76b8bf2._.js +3 -0
  147. package/.next/standalone/.next/server/chunks/ssr/node_modules_e945b74d._.js +3 -0
  148. package/.next/standalone/.next/server/chunks/ssr/node_modules_fbd8a2ee._.js +17 -0
  149. package/.next/standalone/.next/server/chunks/ssr/node_modules_katex_dist_katex_mjs_31d456ba._.js +3 -0
  150. package/.next/standalone/.next/server/chunks/ssr/node_modules_katex_dist_katex_mjs_e1edc676._.js +3 -0
  151. package/.next/standalone/.next/server/chunks/ssr/node_modules_lodash-es_33e24dce._.js +3 -0
  152. package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-QXUST7PY_mjs_159fba97._.js +1 -1
  153. package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-S3R3BYOJ_mjs_dbeeb277._.js +1 -1
  154. package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_mermaid_core_mjs_a11916de._.js +9 -0
  155. package/.next/standalone/.next/server/chunks/ssr/src_66a70595._.js +3 -0
  156. package/.next/standalone/.next/server/chunks/ssr/src_components_kanban-board_tsx_7b875e8e._.js +1 -1
  157. package/.next/standalone/.next/server/middleware-build-manifest.js +2 -2
  158. package/.next/standalone/.next/server/pages/404.html +1 -1
  159. package/.next/standalone/.next/server/pages/500.html +2 -2
  160. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  161. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  162. package/.next/standalone/AGENTS.md +13 -7
  163. package/.next/standalone/CONTRIBUTING.md +42 -26
  164. package/.next/standalone/README.md +166 -25
  165. package/.next/standalone/bin/devflow.js +12 -5
  166. package/.next/standalone/bun.lock +78 -24
  167. package/.next/standalone/devflow/project-config.json +4 -0
  168. package/.next/standalone/devflow/schemas/api-first/schema.yaml +39 -0
  169. package/.next/standalone/devflow/schemas/api-first/templates/api-design.md +41 -0
  170. package/.next/standalone/devflow/schemas/api-first/templates/db-design.md +28 -0
  171. package/.next/standalone/devflow/schemas/api-first/templates/final-architecture.md +31 -0
  172. package/.next/standalone/devflow/schemas/api-first/templates/proposal.md +22 -0
  173. package/.next/standalone/devflow/schemas/api-first/templates/tasks.md +16 -0
  174. package/.next/standalone/devflow/specs/autodetect-skill-and-slash-command-installation/.approvals.json +1 -1
  175. package/.next/standalone/devflow/specs/autodetect-skill-and-slash-command-installation/.meta.json +1 -1
  176. package/.next/standalone/devflow/specs/autodetect-skill-and-slash-command-installation/design.md +11 -0
  177. package/.next/standalone/devflow/specs/autodetect-skill-and-slash-command-installation/proposal.md +3 -0
  178. package/.next/standalone/devflow/specs/autodetect-skill-and-slash-command-installation/tasks.md +34 -2
  179. package/.next/standalone/devflow/specs/precommit/.approvals.json +26 -0
  180. package/.next/standalone/devflow/specs/precommit/.meta.json +7 -0
  181. package/.next/standalone/devflow/specs/precommit/design.md +105 -0
  182. package/.next/standalone/devflow/specs/precommit/proposal.md +43 -0
  183. package/.next/standalone/devflow/specs/precommit/specs.md +89 -0
  184. package/.next/standalone/devflow/specs/precommit/tasks.md +283 -0
  185. package/.next/standalone/docs/custom-schemas.md +117 -0
  186. package/.next/standalone/docs/local-dev-guide.md +73 -0
  187. package/.next/standalone/drizzle.config.ts +7 -7
  188. package/.next/standalone/eslint.config.mjs +2 -2
  189. package/.next/standalone/instrumentation.ts +3 -5
  190. package/.next/standalone/next.config.ts +11 -2
  191. package/.next/standalone/node_modules/{sharp → libsql}/node_modules/detect-libc/package.json +4 -8
  192. package/.next/standalone/package-lock.json +5257 -2085
  193. package/.next/standalone/package.json +16 -7
  194. package/.next/standalone/postcss.config.mjs +1 -1
  195. package/.next/standalone/scripts/init-db.js +3 -5
  196. package/.next/standalone/scripts/init-db.test.js +6 -6
  197. package/.next/standalone/scripts/init-schema.js +22 -22
  198. package/.next/standalone/scripts/init-schema.test.js +45 -45
  199. package/.next/standalone/scripts/install-environments.js +27 -8
  200. package/.next/standalone/scripts/install-environments.test.js +19 -10
  201. package/.next/standalone/scripts/install-skills.js +104 -31
  202. package/.next/standalone/scripts/install-skills.test.js +6 -6
  203. package/.next/standalone/server.js +1 -1
  204. package/.next/standalone/src/app/api/agents/route.ts +2 -2
  205. package/.next/standalone/src/app/api/projects/[id]/route.ts +10 -19
  206. package/.next/standalone/src/app/api/projects/route.ts +4 -10
  207. package/.next/standalone/src/app/api/specs/[name]/artifacts/[artifactType]/approve/route.ts +8 -8
  208. package/.next/standalone/src/app/api/specs/[name]/artifacts/[artifactType]/route.ts +14 -14
  209. package/.next/standalone/src/app/api/specs/[name]/promote/route.ts +17 -23
  210. package/.next/standalone/src/app/api/specs/[name]/route.ts +34 -36
  211. package/.next/standalone/src/app/api/specs/route.ts +10 -10
  212. package/.next/standalone/src/app/api/tasks/[id]/route.ts +11 -33
  213. package/.next/standalone/src/app/api/tasks/route.ts +3 -6
  214. package/.next/standalone/src/app/globals.css +3 -3
  215. package/.next/standalone/src/app/layout.tsx +9 -5
  216. package/.next/standalone/src/app/page.tsx +1 -1
  217. package/.next/standalone/src/app/specs/[name]/page.tsx +26 -68
  218. package/.next/standalone/src/components/kanban-board.tsx +78 -157
  219. package/.next/standalone/src/components/kanban-column.tsx +10 -12
  220. package/.next/standalone/src/components/markdown-preview.tsx +36 -19
  221. package/.next/standalone/src/components/providers.tsx +20 -0
  222. package/.next/standalone/src/components/specs/artifact-dag-status.tsx +12 -14
  223. package/.next/standalone/src/components/specs/artifact-editor.tsx +55 -26
  224. package/.next/standalone/src/components/specs/spec-detail.tsx +48 -40
  225. package/.next/standalone/src/components/specs/spec-kanban-column.tsx +49 -68
  226. package/.next/standalone/src/components/specs/spec-modal.tsx +119 -83
  227. package/.next/standalone/src/components/task-card.tsx +34 -38
  228. package/.next/standalone/src/components/task-dialog.tsx +16 -31
  229. package/.next/standalone/src/components/ui/badge.tsx +12 -18
  230. package/.next/standalone/src/components/ui/button.tsx +23 -28
  231. package/.next/standalone/src/components/ui/card.tsx +42 -62
  232. package/.next/standalone/src/components/ui/dialog.tsx +17 -35
  233. package/.next/standalone/src/db/index.ts +10 -10
  234. package/.next/standalone/src/db/schema.ts +37 -37
  235. package/.next/standalone/src/hooks/use-queries.ts +81 -0
  236. package/.next/standalone/src/hooks/use-websocket.ts +74 -0
  237. package/.next/standalone/src/lib/schema.test.ts +37 -37
  238. package/.next/standalone/src/lib/schema.ts +77 -31
  239. package/.next/standalone/src/lib/specs-dir.ts +8 -8
  240. package/.next/standalone/src/lib/specs.ts +98 -92
  241. package/.next/standalone/src/lib/utils.ts +2 -2
  242. package/.next/standalone/src/mcp/server.ts +556 -349
  243. package/.next/standalone/src/mcp/websocket.ts +26 -23
  244. package/.next/standalone/src/schemas/backend-api/templates/proposal.md +6 -4
  245. package/.next/standalone/src/schemas/backend-api/templates/tasks.md +6 -0
  246. package/.next/standalone/src/schemas/data-engineering/templates/proposal.md +6 -4
  247. package/.next/standalone/src/schemas/data-engineering/templates/tasks.md +6 -0
  248. package/.next/standalone/src/schemas/devops-platform/templates/proposal.md +6 -4
  249. package/.next/standalone/src/schemas/devops-platform/templates/tasks.md +6 -0
  250. package/.next/standalone/src/schemas/frontend-product/templates/proposal.md +6 -4
  251. package/.next/standalone/src/schemas/frontend-product/templates/tasks.md +6 -0
  252. package/.next/standalone/src/schemas/spec-driven/templates/proposal.md +6 -4
  253. package/.next/standalone/src/schemas/spec-driven/templates/tasks.md +26 -0
  254. package/.next/standalone/src/websocket/server.ts +20 -18
  255. package/.next/standalone/tsconfig.json +3 -12
  256. package/.next/standalone/tsconfig.tsbuildinfo +1 -1
  257. package/.next/static/chunks/4f23f64d46848f57.js +1 -0
  258. package/.next/static/chunks/53081dcdcad4f31e.js +1 -0
  259. package/.next/static/chunks/{6a3d582315f1c214.js → 701cfcbb41e0ab47.js} +1 -1
  260. package/.next/static/chunks/ac4b6b4d5b7e486e.css +1 -0
  261. package/.next/static/chunks/d0309ea872db5d9f.js +1 -0
  262. package/.next/static/chunks/d4cf8893a018e965.js +1 -0
  263. package/.next/static/chunks/e6c0233269a4bd69.js +13 -0
  264. package/.next/static/chunks/{7e65cfa9841f66a5.js → e7d83ce855afe416.js} +2 -2
  265. package/.next/static/chunks/ee7035560fc9e5e9.js +1 -0
  266. package/.next/static/chunks/{turbopack-f4d3806ab575051d.js → turbopack-8b3b66a22a5e0fb4.js} +2 -2
  267. package/README.md +166 -25
  268. package/bin/devflow.js +12 -5
  269. package/drizzle.config.ts +7 -7
  270. package/next.config.ts +11 -2
  271. package/package.json +16 -7
  272. package/scripts/init-db.js +3 -5
  273. package/scripts/init-db.test.js +6 -6
  274. package/scripts/init-schema.js +22 -22
  275. package/scripts/init-schema.test.js +45 -45
  276. package/scripts/install-environments.js +27 -8
  277. package/scripts/install-environments.test.js +19 -10
  278. package/scripts/install-skills.js +104 -31
  279. package/scripts/install-skills.test.js +6 -6
  280. package/src/app/api/agents/route.ts +2 -2
  281. package/src/app/api/projects/[id]/route.ts +10 -19
  282. package/src/app/api/projects/route.ts +4 -10
  283. package/src/app/api/specs/[name]/artifacts/[artifactType]/approve/route.ts +8 -8
  284. package/src/app/api/specs/[name]/artifacts/[artifactType]/route.ts +14 -14
  285. package/src/app/api/specs/[name]/promote/route.ts +17 -23
  286. package/src/app/api/specs/[name]/route.ts +34 -36
  287. package/src/app/api/specs/route.ts +10 -10
  288. package/src/app/api/tasks/[id]/route.ts +11 -33
  289. package/src/app/api/tasks/route.ts +3 -6
  290. package/src/app/globals.css +3 -3
  291. package/src/app/layout.tsx +9 -5
  292. package/src/app/page.tsx +1 -1
  293. package/src/app/specs/[name]/page.tsx +26 -68
  294. package/src/components/kanban-board.tsx +78 -157
  295. package/src/components/kanban-column.tsx +10 -12
  296. package/src/components/markdown-preview.tsx +36 -19
  297. package/src/components/providers.tsx +20 -0
  298. package/src/components/specs/artifact-dag-status.tsx +12 -14
  299. package/src/components/specs/artifact-editor.tsx +55 -26
  300. package/src/components/specs/spec-detail.tsx +48 -40
  301. package/src/components/specs/spec-kanban-column.tsx +49 -68
  302. package/src/components/specs/spec-modal.tsx +119 -83
  303. package/src/components/task-card.tsx +34 -38
  304. package/src/components/task-dialog.tsx +16 -31
  305. package/src/components/ui/badge.tsx +12 -18
  306. package/src/components/ui/button.tsx +23 -28
  307. package/src/components/ui/card.tsx +42 -62
  308. package/src/components/ui/dialog.tsx +17 -35
  309. package/src/db/index.ts +10 -10
  310. package/src/db/schema.ts +37 -37
  311. package/src/hooks/use-queries.ts +81 -0
  312. package/src/hooks/use-websocket.ts +74 -0
  313. package/src/lib/schema.test.ts +37 -37
  314. package/src/lib/schema.ts +77 -31
  315. package/src/lib/specs-dir.ts +8 -8
  316. package/src/lib/specs.ts +98 -92
  317. package/src/lib/utils.ts +2 -2
  318. package/src/mcp/server.ts +556 -349
  319. package/src/mcp/websocket.ts +26 -23
  320. package/src/schemas/backend-api/templates/proposal.md +6 -4
  321. package/src/schemas/backend-api/templates/tasks.md +6 -0
  322. package/src/schemas/data-engineering/templates/proposal.md +6 -4
  323. package/src/schemas/data-engineering/templates/tasks.md +6 -0
  324. package/src/schemas/devops-platform/templates/proposal.md +6 -4
  325. package/src/schemas/devops-platform/templates/tasks.md +6 -0
  326. package/src/schemas/frontend-product/templates/proposal.md +6 -4
  327. package/src/schemas/frontend-product/templates/tasks.md +6 -0
  328. package/src/schemas/spec-driven/templates/proposal.md +6 -4
  329. package/src/schemas/spec-driven/templates/tasks.md +26 -0
  330. package/src/types/bun-sqlite.d.ts +1 -1
  331. package/src/websocket/server.ts +20 -18
  332. package/tsconfig.json +3 -12
  333. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1be4e4b6._.js +0 -3
  334. package/.next/standalone/.next/server/chunks/[root-of-the-server]__492a4a24._.js +0 -3
  335. package/.next/standalone/.next/server/chunks/[root-of-the-server]__67c59ae1._.js +0 -3
  336. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6cc7aecd._.js +0 -3
  337. package/.next/standalone/.next/server/chunks/[root-of-the-server]__83a77b07._.js +0 -3
  338. package/.next/standalone/.next/server/chunks/[root-of-the-server]__88d91cb5._.js +0 -3
  339. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9e095e8._.js +0 -3
  340. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b367d327._.js +0 -3
  341. package/.next/standalone/.next/server/chunks/[root-of-the-server]__eb413bbc._.js +0 -3
  342. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0b8c072a._.js +0 -3
  343. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12b2191f._.js +0 -3
  344. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__15316462._.js +0 -3
  345. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__19c9c409._.js +0 -3
  346. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__19e5e22f._.js +0 -3
  347. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__25b5ccb3._.js +0 -3
  348. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__2f78c3da._.js +0 -3
  349. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__3160b3f4._.js +0 -9
  350. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__319559be._.js +0 -3
  351. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__34f7cbcb._.js +0 -31
  352. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__3abab94b._.js +0 -3
  353. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__3b3d8930._.js +0 -3
  354. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__4250799b._.js +0 -3
  355. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__4c29cbc3._.js +0 -26
  356. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__4e0bb6eb._.js +0 -9
  357. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__5678d2e3._.js +0 -3
  358. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__673445e0._.js +0 -31
  359. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__934de06b._.js +0 -3
  360. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__9b6c6f09._.js +0 -3
  361. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__a1b83a98._.js +0 -3
  362. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__b00a15c5._.js +0 -3
  363. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__b8567be3._.js +0 -26
  364. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__ce64536e._.js +0 -45
  365. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__e96d33d2._.js +0 -45
  366. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__fd7ec054._.js +0 -3
  367. package/.next/standalone/.next/server/chunks/ssr/node_modules_16a3f9e7._.js +0 -17
  368. package/.next/standalone/.next/server/chunks/ssr/node_modules_45bce0e1._.js +0 -3
  369. package/.next/standalone/.next/server/chunks/ssr/node_modules_5e5a372d._.js +0 -17
  370. package/.next/standalone/.next/server/chunks/ssr/node_modules_6ece6f1e._.js +0 -3
  371. package/.next/standalone/.next/server/chunks/ssr/node_modules_d173e749._.js +0 -3
  372. package/.next/standalone/.next/server/chunks/ssr/node_modules_d3-shape_src_arc_fb1ac087.js +0 -3
  373. package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1f73a830._.js +0 -3
  374. package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_663ac803._.js +0 -3
  375. package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-FMBD7UC4_mjs_4f485529._.js +0 -17
  376. package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-TZMSLE5B_mjs_8436a62a._.js +0 -3
  377. package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_f78d2dc4._.js +0 -3
  378. package/.next/standalone/.next/server/chunks/ssr/src_app_layout_tsx_cc8184fa._.js +0 -3
  379. package/.next/standalone/devflow/specs/add-default-schema-template-selection/.approvals.json +0 -26
  380. package/.next/standalone/devflow/specs/add-default-schema-template-selection/.meta.json +0 -8
  381. package/.next/standalone/devflow/specs/add-default-schema-template-selection/design.md +0 -126
  382. package/.next/standalone/devflow/specs/add-default-schema-template-selection/proposal.md +0 -65
  383. package/.next/standalone/devflow/specs/add-default-schema-template-selection/specs.md +0 -107
  384. package/.next/standalone/devflow/specs/add-default-schema-template-selection/tasks.md +0 -235
  385. package/.next/standalone/devflow/specs/test-no-project/.approvals.json +0 -17
  386. package/.next/standalone/devflow/specs/test-no-project/.meta.json +0 -6
  387. package/.next/standalone/devflow/specs/ui-cleanup/.approvals.json +0 -29
  388. package/.next/standalone/devflow/specs/ui-cleanup/.meta.json +0 -6
  389. package/.next/standalone/devflow/specs/ui-cleanup/design.md +0 -49
  390. package/.next/standalone/devflow/specs/ui-cleanup/proposal.md +0 -34
  391. package/.next/standalone/devflow/specs/ui-cleanup/specs.md +0 -55
  392. package/.next/standalone/devflow/specs/ui-cleanup/tasks.md +0 -28
  393. package/.next/standalone/node_modules/@img/colour/color.cjs +0 -1594
  394. package/.next/standalone/node_modules/@img/colour/index.cjs +0 -1
  395. package/.next/standalone/node_modules/@img/colour/package.json +0 -45
  396. package/.next/standalone/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
  397. package/.next/standalone/node_modules/@img/sharp-darwin-arm64/package.json +0 -40
  398. package/.next/standalone/node_modules/@img/sharp-libvips-darwin-arm64/README.md +0 -46
  399. package/.next/standalone/node_modules/@img/sharp-libvips-darwin-arm64/lib/glib-2.0/include/glibconfig.h +0 -220
  400. package/.next/standalone/node_modules/@img/sharp-libvips-darwin-arm64/lib/index.js +0 -1
  401. package/.next/standalone/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib +0 -0
  402. package/.next/standalone/node_modules/@img/sharp-libvips-darwin-arm64/package.json +0 -36
  403. package/.next/standalone/node_modules/@img/sharp-libvips-darwin-arm64/versions.json +0 -30
  404. package/.next/standalone/node_modules/buffer-from/index.js +0 -72
  405. package/.next/standalone/node_modules/buffer-from/package.json +0 -19
  406. package/.next/standalone/node_modules/sharp/lib/channel.js +0 -177
  407. package/.next/standalone/node_modules/sharp/lib/colour.js +0 -195
  408. package/.next/standalone/node_modules/sharp/lib/composite.js +0 -212
  409. package/.next/standalone/node_modules/sharp/lib/constructor.js +0 -499
  410. package/.next/standalone/node_modules/sharp/lib/index.js +0 -16
  411. package/.next/standalone/node_modules/sharp/lib/input.js +0 -809
  412. package/.next/standalone/node_modules/sharp/lib/is.js +0 -143
  413. package/.next/standalone/node_modules/sharp/lib/libvips.js +0 -207
  414. package/.next/standalone/node_modules/sharp/lib/operation.js +0 -1016
  415. package/.next/standalone/node_modules/sharp/lib/output.js +0 -1666
  416. package/.next/standalone/node_modules/sharp/lib/resize.js +0 -595
  417. package/.next/standalone/node_modules/sharp/lib/sharp.js +0 -121
  418. package/.next/standalone/node_modules/sharp/lib/utility.js +0 -291
  419. package/.next/standalone/node_modules/sharp/node_modules/detect-libc/lib/detect-libc.js +0 -313
  420. package/.next/standalone/node_modules/sharp/node_modules/detect-libc/lib/elf.js +0 -39
  421. package/.next/standalone/node_modules/sharp/node_modules/detect-libc/lib/filesystem.js +0 -51
  422. package/.next/standalone/node_modules/sharp/node_modules/detect-libc/lib/process.js +0 -24
  423. package/.next/standalone/node_modules/sharp/node_modules/semver/classes/comparator.js +0 -143
  424. package/.next/standalone/node_modules/sharp/node_modules/semver/classes/range.js +0 -557
  425. package/.next/standalone/node_modules/sharp/node_modules/semver/classes/semver.js +0 -333
  426. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/cmp.js +0 -54
  427. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/coerce.js +0 -62
  428. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/compare.js +0 -7
  429. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/eq.js +0 -5
  430. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gt.js +0 -5
  431. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/gte.js +0 -5
  432. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lt.js +0 -5
  433. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/lte.js +0 -5
  434. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/neq.js +0 -5
  435. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/parse.js +0 -18
  436. package/.next/standalone/node_modules/sharp/node_modules/semver/functions/satisfies.js +0 -12
  437. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/constants.js +0 -37
  438. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/debug.js +0 -11
  439. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/identifiers.js +0 -29
  440. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/lrucache.js +0 -42
  441. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/parse-options.js +0 -17
  442. package/.next/standalone/node_modules/sharp/node_modules/semver/internal/re.js +0 -223
  443. package/.next/standalone/node_modules/sharp/node_modules/semver/package.json +0 -78
  444. package/.next/standalone/node_modules/sharp/package.json +0 -202
  445. package/.next/standalone/node_modules/source-map/lib/array-set.js +0 -121
  446. package/.next/standalone/node_modules/source-map/lib/base64-vlq.js +0 -140
  447. package/.next/standalone/node_modules/source-map/lib/base64.js +0 -67
  448. package/.next/standalone/node_modules/source-map/lib/binary-search.js +0 -111
  449. package/.next/standalone/node_modules/source-map/lib/mapping-list.js +0 -79
  450. package/.next/standalone/node_modules/source-map/lib/quick-sort.js +0 -114
  451. package/.next/standalone/node_modules/source-map/lib/source-map-consumer.js +0 -1145
  452. package/.next/standalone/node_modules/source-map/lib/source-map-generator.js +0 -425
  453. package/.next/standalone/node_modules/source-map/lib/source-node.js +0 -413
  454. package/.next/standalone/node_modules/source-map/lib/util.js +0 -488
  455. package/.next/standalone/node_modules/source-map/package.json +0 -73
  456. package/.next/standalone/node_modules/source-map/source-map.js +0 -8
  457. package/.next/standalone/node_modules/source-map-support/LICENSE.md +0 -21
  458. package/.next/standalone/node_modules/source-map-support/README.md +0 -284
  459. package/.next/standalone/node_modules/source-map-support/browser-source-map-support.js +0 -114
  460. package/.next/standalone/node_modules/source-map-support/package.json +0 -31
  461. package/.next/standalone/node_modules/source-map-support/register-hook-require.js +0 -1
  462. package/.next/standalone/node_modules/source-map-support/register.js +0 -1
  463. package/.next/standalone/node_modules/source-map-support/source-map-support.js +0 -625
  464. package/.next/standalone/node_modules/typescript/lib/_tsc.js +0 -133818
  465. package/.next/standalone/node_modules/typescript/lib/_tsserver.js +0 -659
  466. package/.next/standalone/node_modules/typescript/lib/_typingsInstaller.js +0 -222
  467. package/.next/standalone/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -2122
  468. package/.next/standalone/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -2122
  469. package/.next/standalone/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -2122
  470. package/.next/standalone/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -2122
  471. package/.next/standalone/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -2122
  472. package/.next/standalone/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -2122
  473. package/.next/standalone/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -2122
  474. package/.next/standalone/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -2122
  475. package/.next/standalone/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -2122
  476. package/.next/standalone/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -2122
  477. package/.next/standalone/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -2122
  478. package/.next/standalone/node_modules/typescript/lib/tsc.js +0 -8
  479. package/.next/standalone/node_modules/typescript/lib/tsserver.js +0 -8
  480. package/.next/standalone/node_modules/typescript/lib/tsserverlibrary.js +0 -21
  481. package/.next/standalone/node_modules/typescript/lib/typesMap.json +0 -497
  482. package/.next/standalone/node_modules/typescript/lib/typescript.js +0 -200276
  483. package/.next/standalone/node_modules/typescript/lib/typingsInstaller.js +0 -8
  484. package/.next/standalone/node_modules/typescript/lib/watchGuard.js +0 -53
  485. package/.next/standalone/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -2122
  486. package/.next/standalone/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -2122
  487. package/.next/standalone/node_modules/typescript/package.json +0 -120
  488. package/.next/standalone/src/components/ui/collapsible.tsx +0 -12
  489. package/.next/standalone/src/components/ui/sheet.tsx +0 -130
  490. package/.next/standalone/src/components/ui/tabs.tsx +0 -58
  491. package/.next/static/chunks/0177331b8adf7346.js +0 -7
  492. package/.next/static/chunks/06af74e2f3e207c5.js +0 -7
  493. package/.next/static/chunks/1748d5cd2443723b.css +0 -1
  494. package/.next/static/chunks/7ae917cb100be2b9.js +0 -7
  495. package/.next/static/chunks/7c4b901b394c3a8c.js +0 -7
  496. package/src/components/ui/collapsible.tsx +0 -12
  497. package/src/components/ui/sheet.tsx +0 -130
  498. package/src/components/ui/tabs.tsx +0 -58
  499. /package/.next/standalone/node_modules/{detect-libc → libsql/node_modules/detect-libc}/lib/detect-libc.js +0 -0
  500. /package/.next/standalone/node_modules/{detect-libc → libsql/node_modules/detect-libc}/lib/filesystem.js +0 -0
  501. /package/.next/standalone/node_modules/{detect-libc → libsql/node_modules/detect-libc}/lib/process.js +0 -0
  502. /package/.next/static/{5YFrdIQd1UU2IxLxekrU9 → Ql6qo0GYLL23WRu6ec4N5}/_buildManifest.js +0 -0
  503. /package/.next/static/{5YFrdIQd1UU2IxLxekrU9 → Ql6qo0GYLL23WRu6ec4N5}/_clientMiddlewareManifest.json +0 -0
  504. /package/.next/static/{5YFrdIQd1UU2IxLxekrU9 → Ql6qo0GYLL23WRu6ec4N5}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,95802,c=>{c.v(s=>Promise.all(["static/chunks/808075c416a273c9.js","static/chunks/6f4c5a75f38f686b.js","static/chunks/f7a6fed60fb079dd.js","static/chunks/f1f8594d5ec7b93e.js","static/chunks/de9c5219846f92bb.js","static/chunks/89ebb4231102677a.js","static/chunks/5eac621951969859.js","static/chunks/e6c0233269a4bd69.js"].map(s=>c.l(s))).then(()=>s(76913)))}]);
@@ -0,0 +1,13 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,41241,19556,9752,20486,e=>{"use strict";var t=e.i(49915),a=(0,e.i(65485).default)(Object.keys,Object),r=Object.prototype.hasOwnProperty;let i=function(e){if(!(0,t.default)(e))return a(e);var i=[];for(var s in Object(e))r.call(e,s)&&"constructor"!=s&&i.push(s);return i};e.s(["default",0,i],19556);var s=e.i(47244),n=e.i(56176),l=(0,s.default)(n.default,"DataView"),o=e.i(44483),d=(0,s.default)(n.default,"Promise"),c=(0,s.default)(n.default,"Set");e.s(["default",0,c],9752);var p=(0,s.default)(n.default,"WeakMap"),m=e.i(35287),h=e.i(66762),u="[object Map]",f="[object Promise]",g="[object Set]",y="[object WeakMap]",_="[object DataView]",b=(0,h.default)(l),k=(0,h.default)(o.default),w=(0,h.default)(d),x=(0,h.default)(c),v=(0,h.default)(p),M=m.default;(l&&M(new l(new ArrayBuffer(1)))!=_||o.default&&M(new o.default)!=u||d&&M(d.resolve())!=f||c&&M(new c)!=g||p&&M(new p)!=y)&&(M=function(e){var t=(0,m.default)(e),a="[object Object]"==t?e.constructor:void 0,r=a?(0,h.default)(a):"";if(r)switch(r){case b:return _;case k:return u;case w:return f;case x:return g;case v:return y}return t});let L=M;e.s(["default",0,L],20486);var $=e.i(15300),S=e.i(44071),j=e.i(41338),E=e.i(3745),C=e.i(1645),T=Object.prototype.hasOwnProperty;e.s(["default",0,function(e){if(null==e)return!0;if((0,j.default)(e)&&((0,S.default)(e)||"string"==typeof e||"function"==typeof e.splice||(0,E.default)(e)||(0,C.default)(e)||(0,$.default)(e)))return!e.length;var a=L(e);if("[object Map]"==a||"[object Set]"==a)return!e.size;if((0,t.default)(e))return!i(e).length;for(var r in e)if(T.call(e,r))return!1;return!0}],41241)},83996,e=>{"use strict";var t=e.i(80926),a=e.i(71206);e.i(47716);var r=e.i(23685),i=(0,a.__name)(e=>{let{securityLevel:a}=(0,t.getConfig2)(),i=(0,r.select)("body");if("sandbox"===a){let t=(0,r.select)(`#i${e}`),a=t.node()?.contentDocument??document;i=(0,r.select)(a.body)}return i.select(`#${e}`)},"selectSvgElement");e.s(["selectSvgElement",()=>i])},2256,e=>{"use strict";var t=(0,e.i(71206).__name)(({flowchart:e})=>{let t=e?.subGraphTitleMargin?.top??0,a=e?.subGraphTitleMargin?.bottom??0;return{subGraphTitleTopMargin:t,subGraphTitleBottomMargin:a,subGraphTitleTotalMargin:t+a}},"getSubGraphTitleMargins");e.s(["getSubGraphTitleMargins",()=>t])},33448,e=>{"use strict";var t=e.i(80926),a=e.i(71206),r=(0,a.__name)(e=>{let{handDrawnSeed:a}=(0,t.getConfig2)();return{fill:e,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:e,seed:a}},"solidStateFill"),i=(0,a.__name)(e=>{let t=s([...e.cssCompiledStyles||[],...e.cssStyles||[],...e.labelStyle||[]]);return{stylesMap:t,stylesArray:[...t]}},"compileStyles"),s=(0,a.__name)(e=>{let t=new Map;return e.forEach(e=>{let[a,r]=e.split(":");t.set(a.trim(),r?.trim())}),t},"styles2Map"),n=(0,a.__name)(e=>"color"===e||"font-size"===e||"font-family"===e||"font-weight"===e||"font-style"===e||"text-decoration"===e||"text-align"===e||"text-transform"===e||"line-height"===e||"letter-spacing"===e||"word-spacing"===e||"text-shadow"===e||"text-overflow"===e||"white-space"===e||"word-wrap"===e||"word-break"===e||"overflow-wrap"===e||"hyphens"===e,"isLabelStyle"),l=(0,a.__name)(e=>{let{stylesArray:t}=i(e),a=[],r=[],s=[],l=[];return t.forEach(e=>{let t=e[0];n(t)?a.push(e.join(":")+" !important"):(r.push(e.join(":")+" !important"),t.includes("stroke")&&s.push(e.join(":")+" !important"),"fill"===t&&l.push(e.join(":")+" !important"))}),{labelStyles:a.join(";"),nodeStyles:r.join(";"),stylesArray:t,borderStyles:s,backgroundStyles:l}},"styles2String"),o=(0,a.__name)((e,a)=>{let{themeVariables:r,handDrawnSeed:s}=(0,t.getConfig2)(),{nodeBorder:n,mainBkg:l}=r,{stylesMap:o}=i(e);return Object.assign({roughness:.7,fill:o.get("fill")||l,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:o.get("stroke")||n,seed:s,strokeWidth:o.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:d(o.get("stroke-dasharray"))},a)},"userNodeOverrides"),d=(0,a.__name)(e=>{if(!e)return[0,0];let t=e.trim().split(/\s+/).map(Number);if(1===t.length){let e=isNaN(t[0])?0:t[0];return[e,e]}return[isNaN(t[0])?0:t[0],isNaN(t[1])?0:t[1]]},"getStrokeDashArray");e.s(["compileStyles",()=>i,"isLabelStyle",()=>n,"solidStateFill",()=>r,"styles2String",()=>l,"userNodeOverrides",()=>o])},75058,16888,e=>{"use strict";e.s(["default",0,function(e){return function(){return e}}],75058);let t=Math.PI,a=2*t,r=a-1e-6;function i(e){this._+=e[0];for(let t=1,a=e.length;t<a;++t)this._+=arguments[t]+e[t]}class s{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==e?i:function(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return i;let a=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*a)/a+e[t]}}(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,a,r){this._append`Q${+e},${+t},${this._x1=+a},${this._y1=+r}`}bezierCurveTo(e,t,a,r,i,s){this._append`C${+e},${+t},${+a},${+r},${this._x1=+i},${this._y1=+s}`}arcTo(e,a,r,i,s){if(e*=1,a*=1,r*=1,i*=1,(s*=1)<0)throw Error(`negative radius: ${s}`);let n=this._x1,l=this._y1,o=r-e,d=i-a,c=n-e,p=l-a,m=c*c+p*p;if(null===this._x1)this._append`M${this._x1=e},${this._y1=a}`;else if(m>1e-6)if(Math.abs(p*o-d*c)>1e-6&&s){let h=r-n,u=i-l,f=o*o+d*d,g=Math.sqrt(f),y=Math.sqrt(m),_=s*Math.tan((t-Math.acos((f+m-(h*h+u*u))/(2*g*y)))/2),b=_/y,k=_/g;Math.abs(b-1)>1e-6&&this._append`L${e+b*c},${a+b*p}`,this._append`A${s},${s},0,0,${+(p*h>c*u)},${this._x1=e+k*o},${this._y1=a+k*d}`}else this._append`L${this._x1=e},${this._y1=a}`}arc(e,i,s,n,l,o){if(e*=1,i*=1,s*=1,o=!!o,s<0)throw Error(`negative radius: ${s}`);let d=s*Math.cos(n),c=s*Math.sin(n),p=e+d,m=i+c,h=1^o,u=o?n-l:l-n;null===this._x1?this._append`M${p},${m}`:(Math.abs(this._x1-p)>1e-6||Math.abs(this._y1-m)>1e-6)&&this._append`L${p},${m}`,s&&(u<0&&(u=u%a+a),u>r?this._append`A${s},${s},0,1,${h},${e-d},${i-c}A${s},${s},0,1,${h},${this._x1=p},${this._y1=m}`:u>1e-6&&this._append`A${s},${s},0,${+(u>=t)},${h},${this._x1=e+s*Math.cos(l)},${this._y1=i+s*Math.sin(l)}`)}rect(e,t,a,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${a*=1}v${+r}h${-a}Z`}toString(){return this._}}function n(e){let t=3;return e.digits=function(a){if(!arguments.length)return t;if(null==a)t=null;else{let e=Math.floor(a);if(!(e>=0))throw RangeError(`invalid digits: ${a}`);t=e}return e},()=>new s(t)}s.prototype,e.s(["withPath",()=>n],16888)},62990,e=>{"use strict";Array.prototype.slice,e.s(["default",0,function(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}])},85833,e=>{"use strict";var t=e.i(62990),a=e.i(75058),r=e.i(48114),i=e.i(16888);function s(e){return e[0]}function n(e){return e[1]}e.s(["line",0,function(e,l){var o=(0,a.default)(!0),d=null,c=r.default,p=null,m=(0,i.withPath)(h);function h(a){var r,i,s,n=(a=(0,t.default)(a)).length,h=!1;for(null==d&&(p=c(s=m())),r=0;r<=n;++r)!(r<n&&o(i=a[r],r,a))===h&&((h=!h)?p.lineStart():p.lineEnd()),h&&p.point(+e(i,r,a),+l(i,r,a));if(s)return p=null,s+""||null}return e="function"==typeof e?e:void 0===e?s:(0,a.default)(e),l="function"==typeof l?l:void 0===l?n:(0,a.default)(l),h.x=function(t){return arguments.length?(e="function"==typeof t?t:(0,a.default)(+t),h):e},h.y=function(e){return arguments.length?(l="function"==typeof e?e:(0,a.default)(+e),h):l},h.defined=function(e){return arguments.length?(o="function"==typeof e?e:(0,a.default)(!!e),h):o},h.curve=function(e){return arguments.length?(c=e,null!=d&&(p=c(d)),h):c},h.context=function(e){return arguments.length?(null==e?d=p=null:p=c(d=e),h):d},h}],85833)},20502,e=>{"use strict";var t=e.i(71206),a={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4},r={arrow_point:9,arrow_cross:12.5,arrow_circle:12.5};function i(e,t){if(void 0===e||void 0===t)return{angle:0,deltaX:0,deltaY:0};e=s(e),t=s(t);let[a,r]=[e.x,e.y],[i,n]=[t.x,t.y],l=i-a,o=n-r;return{angle:Math.atan(o/l),deltaX:l,deltaY:o}}(0,t.__name)(i,"calculateDeltaAndAngle");var s=(0,t.__name)(e=>Array.isArray(e)?{x:e[0],y:e[1]}:e,"pointTransformer"),n=(0,t.__name)(e=>({x:(0,t.__name)(function(t,r,n){let l=0,o=s(n[0]).x<s(n[n.length-1]).x?"left":"right";if(0===r&&Object.hasOwn(a,e.arrowTypeStart)){let{angle:t,deltaX:r}=i(n[0],n[1]);l=a[e.arrowTypeStart]*Math.cos(t)*(r>=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(a,e.arrowTypeEnd)){let{angle:t,deltaX:r}=i(n[n.length-1],n[n.length-2]);l=a[e.arrowTypeEnd]*Math.cos(t)*(r>=0?1:-1)}let d=Math.abs(s(t).x-s(n[n.length-1]).x),c=Math.abs(s(t).y-s(n[n.length-1]).y),p=Math.abs(s(t).x-s(n[0]).x),m=Math.abs(s(t).y-s(n[0]).y),h=a[e.arrowTypeStart],u=a[e.arrowTypeEnd];if(d<u&&d>0&&c<u){let e=u+1-d;e*="right"===o?-1:1,l-=e}if(p<h&&p>0&&m<h){let e=h+1-p;e*="right"===o?-1:1,l+=e}return s(t).x+l},"x"),y:(0,t.__name)(function(t,r,n){let l=0,o=s(n[0]).y<s(n[n.length-1]).y?"down":"up";if(0===r&&Object.hasOwn(a,e.arrowTypeStart)){let{angle:t,deltaY:r}=i(n[0],n[1]);l=a[e.arrowTypeStart]*Math.abs(Math.sin(t))*(r>=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(a,e.arrowTypeEnd)){let{angle:t,deltaY:r}=i(n[n.length-1],n[n.length-2]);l=a[e.arrowTypeEnd]*Math.abs(Math.sin(t))*(r>=0?1:-1)}let d=Math.abs(s(t).y-s(n[n.length-1]).y),c=Math.abs(s(t).x-s(n[n.length-1]).x),p=Math.abs(s(t).y-s(n[0]).y),m=Math.abs(s(t).x-s(n[0]).x),h=a[e.arrowTypeStart],u=a[e.arrowTypeEnd];if(d<u&&d>0&&c<u){let e=u+1-d;e*="up"===o?-1:1,l-=e}if(p<h&&p>0&&m<h){let e=h+1-p;e*="up"===o?-1:1,l+=e}return s(t).y+l},"y")}),"getLineFunctionsWithOffset");e.s(["getLineFunctionsWithOffset",()=>n,"markerOffsets",()=>a,"markerOffsets2",()=>r])},54802,e=>{"use strict";var t=e.i(20502),a=e.i(7983),r=e.i(2256),i=e.i(33448),s=e.i(80262),n=e.i(95923),l=e.i(80926),o=e.i(71206);e.i(47716);var d=e.i(104),c=e.i(51262),p=e.i(26157),m=e.i(72200),h=e.i(22914),u=e.i(93158),f=e.i(63823),g=e.i(92536),y=e.i(26619),_=e.i(81142),b=e.i(357),k=e.i(63018),w=e.i(85833),x=e.i(23685),v=e.i(83272),M=(0,o.__name)((e,t,a,r,i,s)=>{t.arrowTypeStart&&$(e,"start",t.arrowTypeStart,a,r,i,s),t.arrowTypeEnd&&$(e,"end",t.arrowTypeEnd,a,r,i,s)},"addEdgeMarkers"),L={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},$=(0,o.__name)((e,t,a,r,i,s,n)=>{let l=L[a];if(!l)return void o.log.warn(`Unknown arrow type: ${a}`);let d=l.type,c=`${i}_${s}-${d}${"start"===t?"Start":"End"}`;if(n&&""!==n.trim()){let a=n.replace(/[^\dA-Za-z]/g,"_"),i=`${c}_${a}`;if(!document.getElementById(i)){let e=document.getElementById(c);if(e){let t=e.cloneNode(!0);t.id=i,t.querySelectorAll("path, circle, line").forEach(e=>{e.setAttribute("stroke",n),l.fill&&e.setAttribute("fill",n)}),e.parentNode?.appendChild(t)}}e.attr(`marker-${t}`,`url(${r}#${i})`)}else e.attr(`marker-${t}`,`url(${r}#${c})`)},"addEdgeMarker"),S=new Map,j=new Map,E=(0,o.__name)(()=>{S.clear(),j.clear()},"clear"),C=(0,o.__name)(e=>e?e.reduce((e,t)=>e+";"+t,""):"","getLabelStyles"),T=(0,o.__name)(async(e,t)=>{let r,n=(0,l.evaluate)((0,l.getConfig2)().flowchart.htmlLabels),{labelStyles:d}=(0,i.styles2String)(t);t.labelStyle=d;let c=await (0,s.createText)(e,t.label,{style:t.labelStyle,useHtmlLabels:n,addSvgBackground:!0,isNode:!1});o.log.info("abc82",t,t.labelType);let p=e.insert("g").attr("class","edgeLabel"),m=p.insert("g").attr("class","label").attr("data-id",t.id);m.node().appendChild(c);let h=c.getBBox();if(n){let e=c.children[0],t=(0,x.select)(c);h=e.getBoundingClientRect(),t.attr("width",h.width),t.attr("height",h.height)}if(m.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"),S.set(t.id,p),t.width=h.width,t.height=h.height,t.startLabelLeft){let i=await (0,a.createLabel_default)(t.startLabelLeft,C(t.labelStyle)),s=e.insert("g").attr("class","edgeTerminals"),n=s.insert("g").attr("class","inner");r=n.node().appendChild(i);let l=i.getBBox();n.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),j.get(t.id)||j.set(t.id,{}),j.get(t.id).startLeft=s,A(r,t.startLabelLeft)}if(t.startLabelRight){let i=await (0,a.createLabel_default)(t.startLabelRight,C(t.labelStyle)),s=e.insert("g").attr("class","edgeTerminals"),n=s.insert("g").attr("class","inner");r=s.node().appendChild(i),n.node().appendChild(i);let l=i.getBBox();n.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),j.get(t.id)||j.set(t.id,{}),j.get(t.id).startRight=s,A(r,t.startLabelRight)}if(t.endLabelLeft){let i=await (0,a.createLabel_default)(t.endLabelLeft,C(t.labelStyle)),s=e.insert("g").attr("class","edgeTerminals"),n=s.insert("g").attr("class","inner");r=n.node().appendChild(i);let l=i.getBBox();n.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),s.node().appendChild(i),j.get(t.id)||j.set(t.id,{}),j.get(t.id).endLeft=s,A(r,t.endLabelLeft)}if(t.endLabelRight){let i=await (0,a.createLabel_default)(t.endLabelRight,C(t.labelStyle)),s=e.insert("g").attr("class","edgeTerminals"),n=s.insert("g").attr("class","inner");r=n.node().appendChild(i);let l=i.getBBox();n.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),s.node().appendChild(i),j.get(t.id)||j.set(t.id,{}),j.get(t.id).endRight=s,A(r,t.endLabelRight)}return c},"insertEdgeLabel");function A(e,t){(0,l.getConfig2)().flowchart.htmlLabels&&e&&(e.style.width=9*t.length+"px",e.style.height="12px")}(0,o.__name)(A,"setTerminalWidth");var O=(0,o.__name)((e,t)=>{o.log.debug("Moving label abc88 ",e.id,e.label,S.get(e.id),t);let a=t.updatedPath?t.updatedPath:t.originalPath,i=(0,l.getConfig2)(),{subGraphTitleTotalMargin:s}=(0,r.getSubGraphTitleMargins)(i);if(e.label){let r=S.get(e.id),i=e.x,l=e.y;if(a){let r=n.utils_default.calcLabelPosition(a);o.log.debug("Moving label "+e.label+" from (",i,",",l,") to (",r.x,",",r.y,") abc88"),t.updatedPath&&(i=r.x,l=r.y)}r.attr("transform",`translate(${i}, ${l+s/2})`)}if(e.startLabelLeft){let t=j.get(e.id).startLeft,r=e.x,i=e.y;if(a){let t=n.utils_default.calcTerminalLabelPosition(10*!!e.arrowTypeStart,"start_left",a);r=t.x,i=t.y}t.attr("transform",`translate(${r}, ${i})`)}if(e.startLabelRight){let t=j.get(e.id).startRight,r=e.x,i=e.y;if(a){let t=n.utils_default.calcTerminalLabelPosition(10*!!e.arrowTypeStart,"start_right",a);r=t.x,i=t.y}t.attr("transform",`translate(${r}, ${i})`)}if(e.endLabelLeft){let t=j.get(e.id).endLeft,r=e.x,i=e.y;if(a){let t=n.utils_default.calcTerminalLabelPosition(10*!!e.arrowTypeEnd,"end_left",a);r=t.x,i=t.y}t.attr("transform",`translate(${r}, ${i})`)}if(e.endLabelRight){let t=j.get(e.id).endRight,r=e.x,i=e.y;if(a){let t=n.utils_default.calcTerminalLabelPosition(10*!!e.arrowTypeEnd,"end_right",a);r=t.x,i=t.y}t.attr("transform",`translate(${r}, ${i})`)}},"positionEdgeLabel"),P=(0,o.__name)((e,t)=>{let a=e.x,r=e.y,i=Math.abs(t.x-a),s=Math.abs(t.y-r),n=e.width/2,l=e.height/2;return i>=n||s>=l},"outsideNode"),D=(0,o.__name)((e,t,a)=>{o.log.debug(`intersection calc abc89:
2
+ outsidePoint: ${JSON.stringify(t)}
3
+ insidePoint : ${JSON.stringify(a)}
4
+ node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);let r=e.x,i=e.y,s=Math.abs(r-a.x),n=e.width/2,l=a.x<t.x?n-s:n+s,d=e.height/2,c=Math.abs(t.y-a.y),p=Math.abs(t.x-a.x);if(Math.abs(i-t.y)*n>Math.abs(r-t.x)*d){let e=a.y<t.y?t.y-d-i:i-d-t.y;l=p*e/c;let r={x:a.x<t.x?a.x+l:a.x-p+l,y:a.y<t.y?a.y+c-e:a.y-c+e};return 0===l&&(r.x=t.x,r.y=t.y),0===p&&(r.x=t.x),0===c&&(r.y=t.y),o.log.debug(`abc89 top/bottom calc, Q ${c}, q ${e}, R ${p}, r ${l}`,r),r}{let e=c*(l=a.x<t.x?t.x-n-r:r-n-t.x)/p,i=a.x<t.x?a.x+p-l:a.x-p+l,s=a.y<t.y?a.y+e:a.y-e;return o.log.debug(`sides calc abc89, Q ${c}, q ${e}, R ${p}, r ${l}`,{_x:i,_y:s}),0===l&&(i=t.x,s=t.y),0===p&&(i=t.x),0===c&&(s=t.y),{x:i,y:s}}},"intersection"),z=(0,o.__name)((e,t)=>{o.log.warn("abc88 cutPathAtIntersect",e,t);let a=[],r=e[0],i=!1;return e.forEach(e=>{if(o.log.info("abc88 checking point",e,t),P(t,e)||i)o.log.warn("abc88 outside",e,r),r=e,i||a.push(e);else{let s=D(t,r,e);o.log.debug("abc88 inside",e,r,s),o.log.debug("abc88 intersection",s,t);let n=!1;a.forEach(e=>{n=n||e.x===s.x&&e.y===s.y}),a.some(e=>e.x===s.x&&e.y===s.y)?o.log.warn("abc88 no intersect",s,a):a.push(s),i=!0}}),o.log.debug("returning points",a),a},"cutPathAtIntersect");function R(e){let t=[],a=[];for(let r=1;r<e.length-1;r++){let i=e[r-1],s=e[r],n=e[r+1];i.x===s.x&&s.y===n.y&&Math.abs(s.x-n.x)>5&&Math.abs(s.y-i.y)>5?(t.push(s),a.push(r)):i.y===s.y&&s.x===n.x&&Math.abs(s.x-i.x)>5&&Math.abs(s.y-n.y)>5&&(t.push(s),a.push(r))}return{cornerPoints:t,cornerPointPositions:a}}(0,o.__name)(R,"extractCornerPoints");var B=(0,o.__name)(function(e,t,a){let r=t.x-e.x,i=t.y-e.y,s=a/Math.sqrt(r*r+i*i);return{x:t.x-s*r,y:t.y-s*i}},"findAdjacentPoint"),W=(0,o.__name)(function(e){let{cornerPointPositions:t}=R(e),a=[];for(let r=0;r<e.length;r++)if(t.includes(r)){let t=e[r-1],i=e[r+1],s=e[r],n=B(t,s,5),l=B(i,s,5),d=l.x-n.x,c=l.y-n.y;a.push(n);let p=2*Math.sqrt(2),m={x:s.x,y:s.y};Math.abs(i.x-t.x)>10&&Math.abs(i.y-t.y)>=10?(o.log.debug("Corner point fixing",Math.abs(i.x-t.x),Math.abs(i.y-t.y)),m=s.x===n.x?{x:d<0?n.x-5+p:n.x+5-p,y:c<0?n.y-p:n.y+p}:{x:d<0?n.x-p:n.x+p,y:c<0?n.y-5+p:n.y+5-p}):o.log.debug("Corner point skipping fixing",Math.abs(i.x-t.x),Math.abs(i.y-t.y)),a.push(m,l)}else a.push(e[r]);return a},"fixCorners"),H=(0,o.__name)((e,t,a)=>{let r=Array(Math.floor((e-t-a)/4)).fill("2 2").join(" ");return`0 ${t} ${r} ${a}`},"generateDashArray"),q=(0,o.__name)(function(e,a,r,s,L,$,S,j=!1){let E,C,{handDrawnSeed:T}=(0,l.getConfig2)(),A=a.points,O=!1,P=[];for(let e in a.cssCompiledStyles)(0,i.isLabelStyle)(e)||P.push(a.cssCompiledStyles[e]);o.log.debug("UIO intersect check",a.points,$.x,L.x),$.intersect&&L.intersect&&!j&&((A=A.slice(1,a.points.length-1)).unshift(L.intersect(A[0])),o.log.debug("Last point UIO",a.start,"-->",a.end,A[A.length-1],$,$.intersect(A[A.length-1])),A.push($.intersect(A[A.length-1])));let D=btoa(JSON.stringify(A));a.toCluster&&(o.log.info("to cluster abc88",r.get(a.toCluster)),A=z(a.points,r.get(a.toCluster).node),O=!0),a.fromCluster&&(o.log.debug("from cluster abc88",r.get(a.fromCluster),JSON.stringify(A,null,2)),A=z(A.reverse(),r.get(a.fromCluster).node).reverse(),O=!0);let R=A.filter(e=>!Number.isNaN(e.y));R=W(R);let B=d.curveBasis;switch(B=c.curveLinear,a.curve){case"linear":B=c.curveLinear;break;case"basis":default:B=d.curveBasis;break;case"cardinal":B=p.curveCardinal;break;case"bumpX":B=m.curveBumpX;break;case"bumpY":B=h.curveBumpY;break;case"catmullRom":B=u.curveCatmullRom;break;case"monotoneX":B=f.curveMonotoneX;break;case"monotoneY":B=g.curveMonotoneY;break;case"natural":B=y.curveNatural;break;case"step":B=_.curveStep;break;case"stepAfter":B=b.curveStepAfter;break;case"stepBefore":B=k.curveStepBefore}let{x:q,y:X}=(0,t.getLineFunctionsWithOffset)(a),F=(0,w.line)().x(q).y(X).curve(B);switch(a.thickness){case"normal":default:E="edge-thickness-normal";break;case"thick":E="edge-thickness-thick";break;case"invisible":E="edge-thickness-invisible"}switch(a.pattern){case"solid":default:E+=" edge-pattern-solid";break;case"dotted":E+=" edge-pattern-dotted";break;case"dashed":E+=" edge-pattern-dashed"}let N="rounded"===a.curve?Y(I(R,a),5):F(R),U=Array.isArray(a.style)?a.style:[a.style],V=U.find(e=>e?.startsWith("stroke:")),G=!1;if("handDrawn"===a.look){let t=v.default.svg(e);Object.assign([],R);let r=t.path(N,{roughness:.3,seed:T});E+=" transition";let i=(C=(0,x.select)(r).select("path").attr("id",a.id).attr("class"," "+E+(a.classes?" "+a.classes:"")).attr("style",U?U.reduce((e,t)=>e+";"+t,""):"")).attr("d");C.attr("d",i),e.node().appendChild(C.node())}else{let r=P.join(";"),i=U?U.reduce((e,t)=>e+t+";",""):"",s="";a.animate&&(s=" edge-animation-fast"),a.animation&&(s=" edge-animation-"+a.animation);let n=(r?r+";"+i+";":i)+";"+(U?U.reduce((e,t)=>e+";"+t,""):"");C=e.append("path").attr("d",N).attr("id",a.id).attr("class"," "+E+(a.classes?" "+a.classes:"")+(s??"")).attr("style",n),V=n.match(/stroke:([^;]+)/)?.[1],G=!0===a.animate||!!a.animation||r.includes("animation");let l=C.node(),o="function"==typeof l.getTotalLength?l.getTotalLength():0,d=t.markerOffsets2[a.arrowTypeStart]||0,c=t.markerOffsets2[a.arrowTypeEnd]||0;if("neo"===a.look&&!G){let e="dotted"===a.pattern||"dashed"===a.pattern?H(o,d,c):`0 ${d} ${o-d-c} ${c}`,t=`stroke-dasharray: ${e}; stroke-dashoffset: 0;`;C.attr("style",t+C.attr("style"))}}C.attr("data-edge",!0),C.attr("data-et","edge"),C.attr("data-id",a.id),C.attr("data-points",D),a.showPoints&&R.forEach(t=>{e.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",t.x).attr("cy",t.y)});let Q="";((0,l.getConfig2)().flowchart.arrowMarkerAbsolute||(0,l.getConfig2)().state.arrowMarkerAbsolute)&&(Q=(Q=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search).replace(/\(/g,"\\(").replace(/\)/g,"\\)")),o.log.info("arrowTypeStart",a.arrowTypeStart),o.log.info("arrowTypeEnd",a.arrowTypeEnd),M(C,a,Q,S,s,V);let Z=Math.floor(A.length/2),J=A[Z];n.utils_default.isLabelCoordinateInPath(J,C.attr("d"))||(O=!0);let K={};return O&&(K.updatedPath=A),K.originalPath=a.points,K},"insertEdge");function Y(e,t){if(e.length<2)return"";let a="",r=e.length;for(let i=0;i<r;i++){let s=e[i],n=e[i-1],l=e[i+1];if(0===i)a+=`M${s.x},${s.y}`;else if(i===r-1)a+=`L${s.x},${s.y}`;else{let e=s.x-n.x,r=s.y-n.y,i=l.x-s.x,o=l.y-s.y,d=Math.hypot(e,r),c=Math.hypot(i,o);if(d<1e-5||c<1e-5){a+=`L${s.x},${s.y}`;continue}let p=e/d,m=r/d,h=i/c,u=o/c,f=Math.acos(Math.max(-1,Math.min(1,p*h+m*u)));if(f<1e-5||1e-5>Math.abs(Math.PI-f)){a+=`L${s.x},${s.y}`;continue}let g=Math.min(t/Math.sin(f/2),d/2,c/2),y=s.x-p*g,_=s.y-m*g,b=s.x+h*g,k=s.y+u*g;a+=`L${y},${_}Q${s.x},${s.y} ${b},${k}`}}return a}function X(e,t){if(!e||!t)return{angle:0,deltaX:0,deltaY:0};let a=t.x-e.x,r=t.y-e.y;return{angle:Math.atan2(r,a),deltaX:a,deltaY:r}}function I(e,a){let r=e.map(e=>({...e}));if(e.length>=2&&t.markerOffsets[a.arrowTypeStart]){let i=t.markerOffsets[a.arrowTypeStart],s=e[0],{angle:n}=X(s,e[1]),l=i*Math.cos(n),o=i*Math.sin(n);r[0].x=s.x+l,r[0].y=s.y+o}let i=e.length;if(i>=2&&t.markerOffsets[a.arrowTypeEnd]){let s=t.markerOffsets[a.arrowTypeEnd],n=e[i-1],{angle:l}=X(e[i-2],n),o=s*Math.cos(l),d=s*Math.sin(l);r[i-1].x=n.x-o,r[i-1].y=n.y-d}return r}(0,o.__name)(Y,"generateRoundedPath"),(0,o.__name)(X,"calculateDeltaAndAngle"),(0,o.__name)(I,"applyMarkerOffsetsToPoints");var F=(0,o.__name)((e,t,a,r)=>{t.forEach(t=>{es[t](e,a,r)})},"insertMarkers"),N=(0,o.__name)((e,t,a)=>{o.log.trace("Making markers for ",a),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd").attr("class","marker extension "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),U=(0,o.__name)((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart").attr("class","marker composition "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd").attr("class","marker composition "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),V=(0,o.__name)((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),G=(0,o.__name)((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),Q=(0,o.__name)((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),Z=(0,o.__name)((e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),J=(0,o.__name)((e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-circleEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-circleStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),K=(0,o.__name)((e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-crossEnd").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),e.append("marker").attr("id",a+"_"+t+"-crossStart").attr("class","marker cross "+t).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),ee=(0,o.__name)((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),et=(0,o.__name)((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-onlyOneStart").attr("class","marker onlyOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),e.append("defs").append("marker").attr("id",a+"_"+t+"-onlyOneEnd").attr("class","marker onlyOne "+t).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),ea=(0,o.__name)((e,t,a)=>{let r=e.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrOneStart").attr("class","marker zeroOrOne "+t).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");r.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),r.append("path").attr("d","M9,0 L9,18");let i=e.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+t).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),er=(0,o.__name)((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-oneOrMoreStart").attr("class","marker oneOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),e.append("defs").append("marker").attr("id",a+"_"+t+"-oneOrMoreEnd").attr("class","marker oneOrMore "+t).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),ei=(0,o.__name)((e,t,a)=>{let r=e.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+t).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");r.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),r.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");let i=e.append("defs").append("marker").attr("id",a+"_"+t+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+t).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),es={extension:N,composition:U,aggregation:V,dependency:G,lollipop:Q,point:Z,circle:J,cross:K,barb:ee,only_one:et,zero_or_one:ea,one_or_more:er,zero_or_more:ei,requirement_arrow:(0,o.__name)((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0
5
+ L20,10
6
+ M20,10
7
+ L0,20`)},"requirement_arrow"),requirement_contains:(0,o.__name)((e,t,a)=>{let r=e.append("defs").append("marker").attr("id",a+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");r.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),r.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),r.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains")};e.s(["clear",()=>E,"insertEdge",()=>q,"insertEdgeLabel",()=>T,"markers_default",()=>F,"positionEdgeLabel",()=>O])},93016,e=>{"use strict";var t=e.i(54802),a=e.i(7983),r=e.i(95923),i=e.i(80926),s=e.i(71206),n={common:i.common_default,getConfig:i.getConfig,insertCluster:a.insertCluster,insertEdge:t.insertEdge,insertEdgeLabel:t.insertEdgeLabel,insertMarkers:t.markers_default,insertNode:a.insertNode,interpolateToCurve:r.interpolateToCurve,labelHelper:a.labelHelper,log:s.log,positionEdgeLabel:t.positionEdgeLabel},l={},o=(0,s.__name)(e=>{for(let t of e)l[t.name]=t},"registerLayoutLoaders");(0,s.__name)(()=>{o([{name:"dagre",loader:(0,s.__name)(async()=>await e.A(5230),"loader")},{name:"cose-bilkent",loader:(0,s.__name)(async()=>await e.A(62369),"loader")}])},"registerDefaultLayoutLoaders")();var d=(0,s.__name)(async(e,t)=>{if(!(e.layoutAlgorithm in l))throw Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);let a=l[e.layoutAlgorithm];return(await a.loader()).render(e,t,n,{algorithm:a.algorithm})},"render"),c=(0,s.__name)((e="",{fallback:t="dagre"}={})=>{if(e in l)return e;if(t in l)return s.log.warn(`Layout algorithm ${e} is not registered. Using ${t} as fallback.`),t;throw Error(`Both layout algorithms ${e} and ${t} are not registered.`)},"getRegisteredLayoutAlgorithm");e.s(["getRegisteredLayoutAlgorithm",()=>c,"registerLayoutLoaders",()=>o,"render",()=>d])},65399,e=>{"use strict";var t={name:"mermaid",version:"11.12.3",description:"Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.",type:"module",module:"./dist/mermaid.core.mjs",types:"./dist/mermaid.d.ts",exports:{".":{types:"./dist/mermaid.d.ts",import:"./dist/mermaid.core.mjs",default:"./dist/mermaid.core.mjs"},"./*":"./*"},keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph","mindmap","packet diagram","c4 diagram","er diagram","pie chart","pie diagram","quadrant chart","requirement diagram","graph"],scripts:{clean:"rimraf dist",dev:"pnpm -w dev","docs:code":"typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup","docs:build":"rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts","docs:verify":"pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify","docs:pre:vitepress":"pnpm --filter ./src/docs prefetch && rimraf src/vitepress && pnpm docs:code && tsx scripts/docs.cli.mts --vitepress && pnpm --filter ./src/vitepress install --no-frozen-lockfile --ignore-scripts","docs:build:vitepress":"pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing","docs:dev":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:dev:docker":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev:docker" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:serve":"pnpm docs:build:vitepress && vitepress serve src/vitepress","docs:spellcheck":'cspell "src/docs/**/*.md"',"docs:release-version":"tsx scripts/update-release-version.mts","docs:verify-version":"tsx scripts/update-release-version.mts --verify","types:build-config":"tsx scripts/create-types-from-json-schema.mts","types:verify-config":"tsx scripts/create-types-from-json-schema.mts --verify",checkCircle:"npx madge --circular ./src",prepublishOnly:"pnpm docs:verify-version"},repository:{type:"git",url:"https://github.com/mermaid-js/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],globals:["page"]},dependencies:{"@braintree/sanitize-url":"^7.1.1","@iconify/utils":"^3.0.1","@mermaid-js/parser":"workspace:^","@types/d3":"^7.4.3",cytoscape:"^3.29.3","cytoscape-cose-bilkent":"^4.1.0","cytoscape-fcose":"^2.2.0",d3:"^7.9.0","d3-sankey":"^0.12.3","dagre-d3-es":"7.0.13",dayjs:"^1.11.18",dompurify:"^3.2.5",katex:"^0.16.22",khroma:"^2.1.0","lodash-es":"^4.17.23",marked:"^16.2.1",roughjs:"^4.6.6",stylis:"^4.3.6","ts-dedent":"^2.2.0",uuid:"^11.1.0"},devDependencies:{"@adobe/jsonschema2md":"^8.0.5","@iconify/types":"^2.0.0","@types/cytoscape":"^3.21.9","@types/cytoscape-fcose":"^2.2.4","@types/d3-sankey":"^0.12.4","@types/d3-scale":"^4.0.9","@types/d3-scale-chromatic":"^3.1.0","@types/d3-selection":"^3.0.11","@types/d3-shape":"^3.1.7","@types/jsdom":"^21.1.7","@types/katex":"^0.16.7","@types/lodash-es":"^4.17.12","@types/micromatch":"^4.0.9","@types/stylis":"^4.2.7","@types/uuid":"^10.0.0",ajv:"^8.17.1",canvas:"^3.1.2",chokidar:"3.6.0",concurrently:"^9.1.2","csstree-validator":"^4.0.1",globby:"^14.1.0",jison:"^0.4.18","js-base64":"^3.7.8",jsdom:"^26.1.0","json-schema-to-typescript":"^15.0.4",micromatch:"^4.0.8","path-browserify":"^1.0.1",prettier:"^3.5.3",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1",rimraf:"^6.0.1","start-server-and-test":"^2.0.13","type-fest":"^4.35.0",typedoc:"^0.28.12","typedoc-plugin-markdown":"^4.8.1",typescript:"~5.7.3","unist-util-flatmap":"^1.0.0","unist-util-visit":"^5.0.0",vitepress:"^1.6.4","vitepress-plugin-search":"1.0.4-alpha.22"},files:["dist/","README.md"],publishConfig:{access:"public"}};e.s(["package_default",()=>t])},76913,e=>{"use strict";var t=e.i(65399),a=e.i(83996),r=e.i(57736),i=e.i(93016);e.i(54802),e.i(20502),e.i(7983),e.i(2256),e.i(33448);var s=e.i(80262),n=e.i(95923),l=e.i(80926),o=e.i(71206),d=e.i(40524);e.i(47716);var c=e.i(23685),p="comm",m="rule",h="decl",u=Math.abs,f=String.fromCharCode;function g(e,t,a){return e.replace(t,a)}function y(e,t){return 0|e.charCodeAt(t)}function _(e,t,a){return e.slice(t,a)}function b(e){return e.length}function k(e,t){return t.push(e),e}var w=1,x=1,v=0,M=0,L=0,$="";function S(e,t,a,r,i,s,n,l){return{value:e,root:t,parent:a,type:r,props:i,children:s,line:w,column:x,length:n,return:"",siblings:l}}function j(){return L=M<v?y($,M++):0,x++,10===L&&(x=1,w++),L}function E(){return y($,M)}function C(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function T(e){var t,a;return(t=M-1,a=function e(t){for(;j();)switch(L){case t:return M;case 34:case 39:34!==t&&39!==t&&e(L);break;case 40:41===t&&e(t);break;case 92:j()}return M}(91===e?e+2:40===e?e+1:e),_($,t,a)).trim()}function A(e,t,a,r,i,s,n,l,o,d,c,p){for(var h=i-1,f=0===i?s:[""],y=f.length,b=0,k=0,w=0;b<r;++b)for(var x=0,v=_(e,h+1,h=u(k=n[b])),M=e;x<y;++x)(M=(k>0?f[x]+" "+v:g(v,/&\f/g,f[x])).trim())&&(o[w++]=M);return S(e,t,a,0===i?m:l,o,d,c,p)}function O(e,t,a,r,i){return S(e,t,a,h,_(e,0,r),_(e,r+1,-1),r,i)}function P(e,t){for(var a="",r=0;r<e.length;r++)a+=t(e[r],r,e,t)||"";return a}function D(e,t,a,r){switch(e.type){case"@layer":if(e.children.length)break;case"@import":case"@namespace":case h:return e.return=e.return||e.value;case p:return"";case"@keyframes":return e.return=e.value+"{"+P(e.children,r)+"}";case m:if(!b(e.value=e.props.join(",")))return""}return b(a=P(e.children,r))?e.return=e.value+"{"+a+"}":""}var z=e.i(24154),R=e.i(41241),B={id:"c4",detector:(0,o.__name)(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),loader:(0,o.__name)(async()=>{let{diagram:t}=await e.A(31892);return{id:"c4",diagram:t}},"loader")},W="flowchart",H=(0,o.__name)((e,t)=>t?.flowchart?.defaultRenderer!=="dagre-wrapper"&&t?.flowchart?.defaultRenderer!=="elk"&&/^\s*graph/.test(e),"detector"),q=(0,o.__name)(async()=>{let{diagram:t}=await e.A(24476);return{id:W,diagram:t}},"loader"),Y={id:W,detector:H,loader:q},X="flowchart-v2",I=(0,o.__name)((e,t)=>t?.flowchart?.defaultRenderer!=="dagre-d3"&&(t?.flowchart?.defaultRenderer==="elk"&&(t.layout="elk"),!!/^\s*graph/.test(e)&&t?.flowchart?.defaultRenderer==="dagre-wrapper"||/^\s*flowchart/.test(e)),"detector"),F=(0,o.__name)(async()=>{let{diagram:t}=await e.A(24476);return{id:X,diagram:t}},"loader"),N={id:X,detector:I,loader:F},U={id:"er",detector:(0,o.__name)(e=>/^\s*erDiagram/.test(e),"detector"),loader:(0,o.__name)(async()=>{let{diagram:t}=await e.A(98583);return{id:"er",diagram:t}},"loader")},V="gitGraph",G=(0,o.__name)(e=>/^\s*gitGraph/.test(e),"detector"),Q=(0,o.__name)(async()=>{let{diagram:t}=await e.A(12413);return{id:V,diagram:t}},"loader"),Z={id:V,detector:G,loader:Q},J="gantt",K=(0,o.__name)(e=>/^\s*gantt/.test(e),"detector"),ee=(0,o.__name)(async()=>{let{diagram:t}=await e.A(62316);return{id:J,diagram:t}},"loader"),et={id:J,detector:K,loader:ee},ea="info",er=(0,o.__name)(e=>/^\s*info/.test(e),"detector"),ei=(0,o.__name)(async()=>{let{diagram:t}=await e.A(97189);return{id:ea,diagram:t}},"loader"),es={id:ea,detector:er,loader:ei},en={id:"pie",detector:(0,o.__name)(e=>/^\s*pie/.test(e),"detector"),loader:(0,o.__name)(async()=>{let{diagram:t}=await e.A(67571);return{id:"pie",diagram:t}},"loader")},el="quadrantChart",eo=(0,o.__name)(e=>/^\s*quadrantChart/.test(e),"detector"),ed=(0,o.__name)(async()=>{let{diagram:t}=await e.A(66991);return{id:el,diagram:t}},"loader"),ec={id:el,detector:eo,loader:ed},ep="xychart",em=(0,o.__name)(e=>/^\s*xychart(-beta)?/.test(e),"detector"),eh=(0,o.__name)(async()=>{let{diagram:t}=await e.A(95768);return{id:ep,diagram:t}},"loader"),eu={id:ep,detector:em,loader:eh},ef="requirement",eg=(0,o.__name)(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),ey=(0,o.__name)(async()=>{let{diagram:t}=await e.A(72270);return{id:ef,diagram:t}},"loader"),e_={id:ef,detector:eg,loader:ey},eb="sequence",ek=(0,o.__name)(e=>/^\s*sequenceDiagram/.test(e),"detector"),ew=(0,o.__name)(async()=>{let{diagram:t}=await e.A(32135);return{id:eb,diagram:t}},"loader"),ex={id:eb,detector:ek,loader:ew},ev="class",eM=(0,o.__name)((e,t)=>t?.class?.defaultRenderer!=="dagre-wrapper"&&/^\s*classDiagram/.test(e),"detector"),eL=(0,o.__name)(async()=>{let{diagram:t}=await e.A(28891);return{id:ev,diagram:t}},"loader"),e$={id:ev,detector:eM,loader:eL},eS="classDiagram",ej=(0,o.__name)((e,t)=>!!/^\s*classDiagram/.test(e)&&t?.class?.defaultRenderer==="dagre-wrapper"||/^\s*classDiagram-v2/.test(e),"detector"),eE=(0,o.__name)(async()=>{let{diagram:t}=await e.A(85144);return{id:eS,diagram:t}},"loader"),eC={id:eS,detector:ej,loader:eE},eT="state",eA=(0,o.__name)((e,t)=>t?.state?.defaultRenderer!=="dagre-wrapper"&&/^\s*stateDiagram/.test(e),"detector"),eO=(0,o.__name)(async()=>{let{diagram:t}=await e.A(81963);return{id:eT,diagram:t}},"loader"),eP={id:eT,detector:eA,loader:eO},eD="stateDiagram",ez=(0,o.__name)((e,t)=>!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&t?.state?.defaultRenderer==="dagre-wrapper"),"detector"),eR=(0,o.__name)(async()=>{let{diagram:t}=await e.A(50875);return{id:eD,diagram:t}},"loader"),eB={id:eD,detector:ez,loader:eR},eW="journey",eH=(0,o.__name)(e=>/^\s*journey/.test(e),"detector"),eq=(0,o.__name)(async()=>{let{diagram:t}=await e.A(88594);return{id:eW,diagram:t}},"loader"),eY={id:eW,detector:eH,loader:eq},eX={draw:(0,o.__name)((e,t,r)=>{o.log.debug("rendering svg for syntax error\n");let i=(0,a.selectSvgElement)(t),s=i.append("g");i.attr("viewBox","0 0 2412 512"),(0,l.configureSvgSize)(i,100,512,!0),s.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),s.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),s.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),s.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),s.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),s.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),s.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),s.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw")},eI={db:{},renderer:eX,parser:{parse:(0,o.__name)(()=>{},"parse")}},eF="flowchart-elk",eN=(0,o.__name)((e,t={})=>!!(/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&t?.flowchart?.defaultRenderer==="elk")&&(t.layout="elk",!0),"detector"),eU=(0,o.__name)(async()=>{let{diagram:t}=await e.A(24476);return{id:eF,diagram:t}},"loader"),eV={id:eF,detector:eN,loader:eU},eG="timeline",eQ=(0,o.__name)(e=>/^\s*timeline/.test(e),"detector"),eZ=(0,o.__name)(async()=>{let{diagram:t}=await e.A(50608);return{id:eG,diagram:t}},"loader"),eJ={id:eG,detector:eQ,loader:eZ},eK="mindmap",e0=(0,o.__name)(e=>/^\s*mindmap/.test(e),"detector"),e1=(0,o.__name)(async()=>{let{diagram:t}=await e.A(79956);return{id:eK,diagram:t}},"loader"),e2={id:eK,detector:e0,loader:e1},e6="kanban",e8=(0,o.__name)(e=>/^\s*kanban/.test(e),"detector"),e5=(0,o.__name)(async()=>{let{diagram:t}=await e.A(47048);return{id:e6,diagram:t}},"loader"),e3={id:e6,detector:e8,loader:e5},e4="sankey",e9=(0,o.__name)(e=>/^\s*sankey(-beta)?/.test(e),"detector"),e7=(0,o.__name)(async()=>{let{diagram:t}=await e.A(10617);return{id:e4,diagram:t}},"loader"),te={id:e4,detector:e9,loader:e7},tt="packet",ta=(0,o.__name)(e=>/^\s*packet(-beta)?/.test(e),"detector"),tr=(0,o.__name)(async()=>{let{diagram:t}=await e.A(55071);return{id:tt,diagram:t}},"loader"),ti={id:tt,detector:ta,loader:tr},ts="radar",tn=(0,o.__name)(e=>/^\s*radar-beta/.test(e),"detector"),tl=(0,o.__name)(async()=>{let{diagram:t}=await e.A(71855);return{id:ts,diagram:t}},"loader"),to={id:ts,detector:tn,loader:tl},td="block",tc=(0,o.__name)(e=>/^\s*block(-beta)?/.test(e),"detector"),tp=(0,o.__name)(async()=>{let{diagram:t}=await e.A(94694);return{id:td,diagram:t}},"loader"),tm={id:td,detector:tc,loader:tp},th="architecture",tu=(0,o.__name)(e=>/^\s*architecture/.test(e),"detector"),tf=(0,o.__name)(async()=>{let{diagram:t}=await e.A(27724);return{id:th,diagram:t}},"loader"),tg={id:th,detector:tu,loader:tf},ty="treemap",t_=(0,o.__name)(e=>/^\s*treemap/.test(e),"detector"),tb=(0,o.__name)(async()=>{let{diagram:t}=await e.A(75754);return{id:ty,diagram:t}},"loader"),tk={id:ty,detector:t_,loader:tb},tw=!1,tx=(0,o.__name)(()=>{tw||(tw=!0,(0,l.registerDiagram)("error",eI,e=>"error"===e.toLowerCase().trim()),(0,l.registerDiagram)("---",{db:{clear:(0,o.__name)(()=>{},"clear")},styles:{},renderer:{draw:(0,o.__name)(()=>{},"draw")},parser:{parse:(0,o.__name)(()=>{throw Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:(0,o.__name)(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),(0,l.registerLazyLoadedDiagrams)(eV,e2,tg),(0,l.registerLazyLoadedDiagrams)(B,e3,eC,e$,U,et,es,en,e_,ex,N,Y,eJ,Z,eB,eP,eY,ec,te,ti,eu,tm,to,tk))},"addDiagrams"),tv=(0,o.__name)(async()=>{o.log.debug("Loading registered diagrams");let e=(await Promise.allSettled(Object.entries(l.detectors).map(async([e,{detector:t,loader:a}])=>{if(a)try{(0,l.getDiagram)(e)}catch{try{let{diagram:e,id:r}=await a();(0,l.registerDiagram)(r,e,t)}catch(t){throw o.log.error(`Failed to load external diagram with key ${e}. Removing from detectors.`),delete l.detectors[e],t}}}))).filter(e=>"rejected"===e.status);if(e.length>0){for(let t of(o.log.error(`Failed to load ${e.length} external diagrams`),e))o.log.error(t);throw Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams");function tM(e,t){e.attr("role","graphics-document document"),""!==t&&e.attr("aria-roledescription",t)}function tL(e,t,a,r){if(void 0!==e.insert){if(a){let t=`chart-desc-${r}`;e.attr("aria-describedby",t),e.insert("desc",":first-child").attr("id",t).text(a)}if(t){let a=`chart-title-${r}`;e.attr("aria-labelledby",a),e.insert("title",":first-child").attr("id",a).text(t)}}}(0,o.__name)(tM,"setA11yDiagramInfo"),(0,o.__name)(tL,"addSVGa11yTitleDescription");var t$=class e{constructor(e,t,a,r,i){this.type=e,this.text=t,this.db=a,this.parser=r,this.renderer=i}static{(0,o.__name)(this,"Diagram")}static async fromText(t,a={}){let r=(0,l.getConfig)(),i=(0,l.detectType)(t,r);t=(0,n.encodeEntities)(t)+"\n";try{(0,l.getDiagram)(i)}catch{let e=(0,l.getDiagramLoader)(i);if(!e)throw new l.UnknownDiagramError(`Diagram ${i} not found.`);let{id:t,diagram:a}=await e();(0,l.registerDiagram)(t,a)}let{db:s,parser:o,renderer:d,init:c}=(0,l.getDiagram)(i);return o.parser&&(o.parser.yy=s),s.clear?.(),c?.(r),a.title&&s.setDiagramTitle?.(a.title),await o.parse(t),new e(i,t,s,o,d)}async render(e,t){await this.renderer.draw(this.text,e,t,this)}getParser(){return this.parser}getType(){return this.type}},tS=[],tj=(0,o.__name)(()=>{tS.forEach(e=>{e()}),tS=[]},"attachFunctions"),tE=(0,o.__name)(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function tC(e){let t=e.match(l.frontMatterRegex);if(!t)return{text:e,metadata:{}};let a=(0,r.load)(t[1],{schema:r.JSON_SCHEMA})??{};a="object"!=typeof a||Array.isArray(a)?{}:a;let i={};return a.displayMode&&(i.displayMode=a.displayMode.toString()),a.title&&(i.title=a.title.toString()),a.config&&(i.config=a.config),{text:e.slice(t[0].length),metadata:i}}(0,o.__name)(tC,"extractFrontMatter");var tT=(0,o.__name)(e=>e.replace(/\r\n?/g,"\n").replace(/<(\w+)([^>]*)>/g,(e,t,a)=>"<"+t+a.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),tA=(0,o.__name)(e=>{let{text:t,metadata:a}=tC(e),{displayMode:r,title:i,config:s={}}=a;return r&&(s.gantt||(s.gantt={}),s.gantt.displayMode=r),{title:i,config:s,text:t}},"processFrontmatter"),tO=(0,o.__name)(e=>{let t=n.utils_default.detectInit(e)??{},a=n.utils_default.detectDirective(e,"wrap");return Array.isArray(a)?t.wrap=a.some(({type:e})=>"wrap"===e):a?.type==="wrap"&&(t.wrap=!0),{text:(0,n.removeDirectives)(e),directive:t}},"processDirectives");function tP(e){let t=tA(tT(e)),a=tO(t.text),r=(0,n.cleanAndMerge)(t.config,a.directive);return{code:e=tE(a.text),title:t.title,config:r}}function tD(e){return btoa(Array.from(new TextEncoder().encode(e),e=>String.fromCodePoint(e)).join(""))}(0,o.__name)(tP,"preprocessDiagram"),(0,o.__name)(tD,"toBase64");var tz=["foreignobject"],tR=["dominant-baseline"];function tB(e){let t=tP(e);return(0,l.reset)(),(0,l.addDirective)(t.config??{}),t}async function tW(e,t){tx();try{let{code:t,config:a}=tB(e);return{diagramType:(await tQ(t)).type,config:a}}catch(e){if(t?.suppressErrors)return!1;throw e}}(0,o.__name)(tB,"processAndSetConfigs"),(0,o.__name)(tW,"parse");var tH=(0,o.__name)((e,t,a=[])=>`
8
+ .${e} ${t} { ${a.join(" !important; ")} !important; }`,"cssImportantStyles"),tq=(0,o.__name)((e,t=new Map)=>{let a="";if(void 0!==e.themeCSS&&(a+=`
9
+ ${e.themeCSS}`),void 0!==e.fontFamily&&(a+=`
10
+ :root { --mermaid-font-family: ${e.fontFamily}}`),void 0!==e.altFontFamily&&(a+=`
11
+ :root { --mermaid-alt-font-family: ${e.altFontFamily}}`),t instanceof Map){let r=e.htmlLabels??e.flowchart?.htmlLabels?["> *","span"]:["rect","polygon","ellipse","circle","path"];t.forEach(e=>{(0,R.default)(e.styles)||r.forEach(t=>{a+=tH(e.id,t,e.styles)}),(0,R.default)(e.textStyles)||(a+=tH(e.id,"tspan",(e?.textStyles||[]).map(e=>e.replace("color","fill"))))})}return a},"createCssStyles"),tY=(0,o.__name)((e,t,a,r)=>{var i,s,n;let o=tq(e,a),d=(0,l.styles_default)(t,o,e.themeVariables);return P((n=function e(t,a,r,i,s,n,l,o,d){for(var c,m,h,v,P,D,z=0,R=0,B=l,W=0,H=0,q=0,Y=1,X=1,I=1,F=0,N="",U=s,V=n,G=i,Q=N;X;)switch(q=F,F=j()){case 40:if(108!=q&&58==y(Q,B-1)){-1!=(P=Q+=g(T(F),"&","&\f"),D=u(z?o[z-1]:0),P.indexOf("&\f",D))&&(I=-1);break}case 34:case 39:case 91:Q+=T(F);break;case 9:case 10:case 13:case 32:Q+=function(e){for(;L=E();)if(L<33)j();else break;return C(e)>2||C(L)>3?"":" "}(q);break;case 92:Q+=function(e,t){for(var a;--t&&j()&&!(L<48)&&!(L>102)&&(!(L>57)||!(L<65))&&(!(L>70)||!(L<97)););return a=M+(t<6&&32==E()&&32==j()),_($,e,a)}(M-1,7);continue;case 47:switch(E()){case 42:case 47:k((c=function(e,t){for(;j();)if(e+L===57)break;else if(e+L===84&&47===E())break;return"/*"+_($,t,M-1)+"*"+f(47===e?e:j())}(j(),M),m=a,h=r,v=d,S(c,m,h,p,f(L),_(c,2,-2),0,v)),d),(5==C(q||1)||5==C(E()||1))&&b(Q)&&" "!==_(Q,-1,void 0)&&(Q+=" ");break;default:Q+="/"}break;case 123*Y:o[z++]=b(Q)*I;case 125*Y:case 59:case 0:switch(F){case 0:case 125:X=0;case 59+R:-1==I&&(Q=g(Q,/\f/g,"")),H>0&&(b(Q)-B||0===Y&&47===q)&&k(H>32?O(Q+";",i,r,B-1,d):O(g(Q," ","")+";",i,r,B-2,d),d);break;case 59:Q+=";";default:if(k(G=A(Q,a,r,z,R,s,o,N,U=[],V=[],B,n),n),123===F)if(0===R)e(Q,a,G,G,U,n,B,o,V);else{switch(W){case 99:if(110===y(Q,3))break;case 108:if(97===y(Q,2))break;default:R=0;case 100:case 109:case 115:}R?e(t,G,G,i&&k(A(t,G,G,0,0,s,o,N,s,U=[],B,V),V),s,V,B,o,i?U:V):e(Q,G,G,G,[""],V,0,o,V)}}z=R=H=0,Y=I=1,N=Q="",B=l;break;case 58:B=1+b(Q),H=q;default:if(Y<1){if(123==F)--Y;else if(125==F&&0==Y++&&125==(L=M>0?y($,--M):0,x--,10===L&&(x=1,w--),L))continue}switch(Q+=f(F),F*Y){case 38:I=R>0?1:(Q+="\f",-1);break;case 44:o[z++]=(b(Q)-1)*I,I=1;break;case 64:45===E()&&(Q+=T(j())),W=E(),R=B=b(N=Q+=function(e){for(;!C(E());)j();return _($,e,M)}(M)),F++;break;case 45:45===q&&2==b(Q)&&(Y=0)}}return n}("",null,null,null,[""],(s=i=`${r}{${d}}`,w=x=1,v=b($=s),M=0,i=[]),0,[0],i),$="",n),D)},"createUserStyles"),tX=(0,o.__name)((e="",t,a)=>{let r=e;return a||t||(r=r.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),r=(r=(0,n.decodeEntities)(r)).replace(/<br>/g,"<br/>")},"cleanUpSvgCode"),tI=(0,o.__name)((e="",t)=>{let a=t?.viewBox?.baseVal?.height?t.viewBox.baseVal.height+"px":"100%",r=tD(`<body style="margin:0">${e}</body>`);return`<iframe style="width:100%;height:${a};border:0;margin:0;" src="data:text/html;charset=UTF-8;base64,${r}" sandbox="allow-top-navigation-by-user-activation allow-popups">
12
+ The "iframe" tag is not supported by your browser.
13
+ </iframe>`},"putIntoIFrame"),tF=(0,o.__name)((e,t,a,r,i)=>{let s=e.append("div");s.attr("id",a),r&&s.attr("style",r);let n=s.append("svg").attr("id",t).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg");return i&&n.attr("xmlns:xlink",i),n.append("g"),e},"appendDivSvgG");function tN(e,t){return e.append("iframe").attr("id",t).attr("style","width: 100%; height: 100%;").attr("sandbox","")}(0,o.__name)(tN,"sandboxedIframe");var tU=(0,o.__name)((e,t,a,r)=>{e.getElementById(t)?.remove(),e.getElementById(a)?.remove(),e.getElementById(r)?.remove()},"removeExistingElements"),tV=(0,o.__name)(async function(e,a,r){let i,s;tx();let n=tB(a);a=n.code;let d=(0,l.getConfig)();o.log.debug(d),a.length>(d?.maxTextSize??5e4)&&(a="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa");let p="#"+e,m="i"+e,h="#"+m,u="d"+e,f="#"+u,g=(0,o.__name)(()=>{let e=_?h:f,t=(0,c.select)(e).node();t&&"remove"in t&&t.remove()},"removeTempElements"),y=(0,c.select)("body"),_="sandbox"===d.securityLevel,b="loose"===d.securityLevel,k=d.fontFamily;if(void 0!==r){if(r&&(r.innerHTML=""),_){let e=tN((0,c.select)(r),m);(y=(0,c.select)(e.nodes()[0].contentDocument.body)).node().style.margin=0}else y=(0,c.select)(r);tF(y,e,u,`font-family: ${k}`,"http://www.w3.org/1999/xlink")}else{if(tU(document,e,u,m),_){let e=tN((0,c.select)("body"),m);(y=(0,c.select)(e.nodes()[0].contentDocument.body)).node().style.margin=0}else y=(0,c.select)("body");tF(y,e,u)}try{i=await t$.fromText(a,{title:n.title})}catch(e){if(d.suppressErrorRendering)throw g(),e;i=await t$.fromText("error"),s=e}let w=y.select(f).node(),x=i.type,v=w.firstChild,M=v.firstChild,L=tY(d,x,i.renderer.getClasses?.(a,i),p),$=document.createElement("style");$.innerHTML=L,v.insertBefore($,M);try{await i.renderer.draw(a,e,t.package_default.version,i)}catch(r){throw d.suppressErrorRendering?g():eX.draw(a,e,t.package_default.version),r}tZ(x,y.select(`${f} svg`),i.db.getAccTitle?.(),i.db.getAccDescription?.()),y.select(`[id="${e}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let S=y.select(f).node().innerHTML;if(o.log.debug("config.arrowMarkerAbsolute",d.arrowMarkerAbsolute),S=tX(S,_,(0,l.evaluate)(d.arrowMarkerAbsolute)),_?S=tI(S,y.select(f+" svg").node()):b||(S=z.default.sanitize(S,{ADD_TAGS:tz,ADD_ATTR:tR,HTML_INTEGRATION_POINTS:{foreignobject:!0}})),tj(),s)throw s;return g(),{diagramType:x,svg:S,bindFunctions:i.db.bindFunctions}},"render");function tG(e={}){let t=(0,l.assignWithDepth_default)({},e);t?.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables||(t.themeVariables={}),t.themeVariables.fontFamily=t.fontFamily),(0,l.saveConfigFromInitialize)(t),t?.theme&&t.theme in l.themes_default?t.themeVariables=l.themes_default[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=l.themes_default.default.getThemeVariables(t.themeVariables));let a="object"==typeof t?(0,l.setSiteConfig)(t):(0,l.getSiteConfig)();(0,o.setLogLevel)(a.logLevel),tx()}(0,o.__name)(tG,"initialize");var tQ=(0,o.__name)((e,t={})=>{let{code:a}=tP(e);return t$.fromText(a,t)},"getDiagramFromText");function tZ(e,t,a,r){tM(t,e),tL(t,a,r,t.attr("id"))}(0,o.__name)(tZ,"addA11yInfo");var tJ=Object.freeze({render:tV,parse:tW,getDiagramFromText:tQ,initialize:tG,getConfig:l.getConfig,setConfig:l.setConfig,getSiteConfig:l.getSiteConfig,updateSiteConfig:l.updateSiteConfig,reset:(0,o.__name)(()=>{(0,l.reset)()},"reset"),globalReset:(0,o.__name)(()=>{(0,l.reset)(l.defaultConfig)},"globalReset"),defaultConfig:l.defaultConfig});(0,o.setLogLevel)((0,l.getConfig)().logLevel),(0,l.reset)((0,l.getConfig)());var tK=(0,o.__name)((e,t,a)=>{o.log.warn(e),(0,n.isDetailedError)(e)?(a&&a(e.str,e.hash),t.push({...e,message:e.str,error:e})):(a&&a(e),e instanceof Error&&t.push({str:e.message,message:e.message,hash:e.name,error:e}))},"handleError"),t0=(0,o.__name)(async function(e={querySelector:".mermaid"}){try{await t1(e)}catch(t){if((0,n.isDetailedError)(t)&&o.log.error(t.str),ar.parseError&&ar.parseError(t),!e.suppressErrors)throw o.log.error("Use the suppressErrors option to suppress these errors"),t}},"run"),t1=(0,o.__name)(async function({postRenderCallback:e,querySelector:t,nodes:a}={querySelector:".mermaid"}){let r,i,s=tJ.getConfig();if(o.log.debug(`${!e?"No ":""}Callback function found`),a)r=a;else if(t)r=document.querySelectorAll(t);else throw Error("Nodes and querySelector are both undefined");o.log.debug(`Found ${r.length} diagrams`),s?.startOnLoad!==void 0&&(o.log.debug("Start On Load: "+s?.startOnLoad),tJ.updateSiteConfig({startOnLoad:s?.startOnLoad}));let l=new n.utils_default.InitIDGenerator(s.deterministicIds,s.deterministicIDSeed),c=[];for(let t of Array.from(r)){if(o.log.info("Rendering diagram: "+t.id),t.getAttribute("data-processed"))continue;t.setAttribute("data-processed","true");let a=`mermaid-${l.next()}`;i=t.innerHTML,i=(0,d.dedent)(n.utils_default.entityDecode(i)).trim().replace(/<br\s*\/?>/gi,"<br/>");let r=n.utils_default.detectInit(i);r&&o.log.debug("Detected early reinit: ",r);try{let{svg:r,bindFunctions:s}=await at(a,i,t);t.innerHTML=r,e&&await e(a),s&&s(t)}catch(e){tK(e,c,ar.parseError)}}if(c.length>0)throw c[0]},"runThrowsErrors"),t2=(0,o.__name)(function(e){tJ.initialize(e)},"initialize"),t6=(0,o.__name)(async function(e,t,a){o.log.warn("mermaid.init is deprecated. Please use run instead."),e&&t2(e);let r={postRenderCallback:a,querySelector:".mermaid"};"string"==typeof t?r.querySelector=t:t&&(t instanceof HTMLElement?r.nodes=[t]:r.nodes=t),await t0(r)},"init"),t8=(0,o.__name)(async(e,{lazyLoad:t=!0}={})=>{tx(),(0,l.registerLazyLoadedDiagrams)(...e),!1===t&&await tv()},"registerExternalDiagrams"),t5=(0,o.__name)(function(){if(ar.startOnLoad){let{startOnLoad:e}=tJ.getConfig();e&&ar.run().catch(e=>o.log.error("Mermaid failed to initialize",e))}},"contentLoaded");"u">typeof document&&window.addEventListener("load",t5,!1);var t3=(0,o.__name)(function(e){ar.parseError=e},"setParseErrorHandler"),t4=[],t9=!1,t7=(0,o.__name)(async()=>{if(!t9){for(t9=!0;t4.length>0;){let e=t4.shift();if(e)try{await e()}catch(e){o.log.error("Error executing queue",e)}}t9=!1}},"executeQueue"),ae=(0,o.__name)(async(e,t)=>new Promise((a,r)=>{let i=(0,o.__name)(()=>new Promise((i,s)=>{tJ.parse(e,t).then(e=>{i(e),a(e)},e=>{o.log.error("Error parsing",e),ar.parseError?.(e),s(e),r(e)})}),"performCall");t4.push(i),t7().catch(r)}),"parse"),at=(0,o.__name)((e,t,a)=>new Promise((r,i)=>{let s=(0,o.__name)(()=>new Promise((s,n)=>{tJ.render(e,t,a).then(e=>{s(e),r(e)},e=>{o.log.error("Error parsing",e),ar.parseError?.(e),n(e),i(e)})}),"performCall");t4.push(s),t7().catch(i)}),"render"),aa=(0,o.__name)(()=>Object.keys(l.detectors).map(e=>({id:e})),"getRegisteredDiagramsMetadata"),ar={startOnLoad:!0,mermaidAPI:tJ,parse:ae,render:at,init:t6,run:t0,registerExternalDiagrams:t8,registerLayoutLoaders:i.registerLayoutLoaders,initialize:t2,parseError:void 0,contentLoaded:t5,setParseErrorHandler:t3,detectType:l.detectType,registerIconPacks:s.registerIconPacks,getRegisteredDiagramsMetadata:aa};e.s(["default",()=>ar],76913)},39484,e=>{e.v(t=>Promise.all(["static/chunks/34e2788a0be7ee63.js"].map(t=>e.l(t))).then(()=>t(16400)))},5230,e=>{e.v(t=>Promise.all(["static/chunks/09e4e9409aadc2fe.js","static/chunks/5623d8a1c99eba62.js","static/chunks/559e55a53f22f5d1.js"].map(t=>e.l(t))).then(()=>t(72465)))},62369,e=>{e.v(t=>Promise.all(["static/chunks/c231010aae14914b.js","static/chunks/762121739217e5da.js"].map(t=>e.l(t))).then(()=>t(97810)))},31892,e=>{e.v(t=>Promise.all(["static/chunks/f42ff7863eb4c3ff.js","static/chunks/6fee5c7b5d483c8a.js"].map(t=>e.l(t))).then(()=>t(3887)))},24476,e=>{e.v(t=>Promise.all(["static/chunks/cb863a7e46548566.js","static/chunks/b8b36494d4330f5f.js"].map(t=>e.l(t))).then(()=>t(23142)))},98583,e=>{e.v(t=>Promise.all(["static/chunks/d5b700b8aafeea3b.js"].map(t=>e.l(t))).then(()=>t(26887)))},12413,e=>{e.v(t=>Promise.all(["static/chunks/ec0de430276c8209.js","static/chunks/9eb0474ddf7f6238.js","static/chunks/b9a047fc90291dbd.js"].map(t=>e.l(t))).then(()=>t(76816)))},62316,e=>{e.v(t=>Promise.all(["static/chunks/581c7f8a86cc86fb.js","static/chunks/9525dc246b363870.js"].map(t=>e.l(t))).then(()=>t(55454)))},97189,e=>{e.v(t=>Promise.all(["static/chunks/957a5dae245bbc84.js","static/chunks/9eb0474ddf7f6238.js","static/chunks/ec0de430276c8209.js"].map(t=>e.l(t))).then(()=>t(61398)))},67571,e=>{e.v(t=>Promise.all(["static/chunks/09ec2e3c3d2d294f.js","static/chunks/9eb0474ddf7f6238.js","static/chunks/ec0de430276c8209.js"].map(t=>e.l(t))).then(()=>t(98741)))},66991,e=>{e.v(t=>Promise.all(["static/chunks/8321c26033c9fc5b.js"].map(t=>e.l(t))).then(()=>t(46579)))},95768,e=>{e.v(t=>Promise.all(["static/chunks/0697f660af9a95f1.js","static/chunks/27f5fab49d8a5395.js"].map(t=>e.l(t))).then(()=>t(73239)))},72270,e=>{e.v(t=>Promise.all(["static/chunks/ae52f8e72d4127b1.js"].map(t=>e.l(t))).then(()=>t(17747)))},32135,e=>{e.v(t=>Promise.all(["static/chunks/20c1169c30c95e0f.js","static/chunks/dc16aeb5aabadbd8.js"].map(t=>e.l(t))).then(()=>t(31587)))},28891,e=>{e.v(t=>Promise.all(["static/chunks/1cec4d71237d0c89.js","static/chunks/0356b23e9d8fbd11.js"].map(t=>e.l(t))).then(()=>t(89546)))},85144,e=>{e.v(t=>Promise.all(["static/chunks/46d959abf8046f0e.js","static/chunks/0356b23e9d8fbd11.js"].map(t=>e.l(t))).then(()=>t(77929)))},81963,e=>{e.v(t=>Promise.all(["static/chunks/559e55a53f22f5d1.js","static/chunks/5623d8a1c99eba62.js","static/chunks/9a52b8ded6a9ee38.js"].map(t=>e.l(t))).then(()=>t(92377)))},50875,e=>{e.v(t=>Promise.all(["static/chunks/909ac8a87c0dd9cb.js"].map(t=>e.l(t))).then(()=>t(49634)))},88594,e=>{e.v(t=>Promise.all(["static/chunks/b8ca88454bfa8e05.js"].map(t=>e.l(t))).then(()=>t(68271)))},50608,e=>{e.v(t=>Promise.all(["static/chunks/f9eb3f4ff87b8d8d.js"].map(t=>e.l(t))).then(()=>t(48487)))},79956,e=>{e.v(t=>Promise.all(["static/chunks/1bdb5b021c9a4e61.js"].map(t=>e.l(t))).then(()=>t(15489)))},47048,e=>{e.v(t=>Promise.all(["static/chunks/af66c50a65af610b.js"].map(t=>e.l(t))).then(()=>t(77145)))},10617,e=>{e.v(t=>Promise.all(["static/chunks/70b3258c508216b5.js"].map(t=>e.l(t))).then(()=>t(46768)))},55071,e=>{e.v(t=>Promise.all(["static/chunks/034e8cfdbd1cf3ac.js","static/chunks/9eb0474ddf7f6238.js","static/chunks/ec0de430276c8209.js"].map(t=>e.l(t))).then(()=>t(26229)))},71855,e=>{e.v(t=>Promise.all(["static/chunks/c36e148ece9c20ae.js","static/chunks/9eb0474ddf7f6238.js","static/chunks/ec0de430276c8209.js"].map(t=>e.l(t))).then(()=>t(52024)))},94694,e=>{e.v(t=>Promise.all(["static/chunks/df3c9c7fcf3e0a3d.js","static/chunks/be28d13ded360528.js","static/chunks/20337e5244416041.js"].map(t=>e.l(t))).then(()=>t(52409)))},27724,e=>{e.v(t=>Promise.all(["static/chunks/ed2e02f2db03c1dc.js","static/chunks/ec0de430276c8209.js","static/chunks/eb22f55ae829d296.js","static/chunks/762121739217e5da.js","static/chunks/9eb0474ddf7f6238.js"].map(t=>e.l(t))).then(()=>t(89619)))},75754,e=>{e.v(t=>Promise.all(["static/chunks/ec0de430276c8209.js","static/chunks/9eb0474ddf7f6238.js","static/chunks/31965ae569bf807f.js"].map(t=>e.l(t))).then(()=>t(25260)))}]);