factory-factory 0.4.8 → 0.4.9

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 (425) hide show
  1. package/README.md +66 -29
  2. package/dist/client/assets/{Archive.es-CGY-HOtI.js → Archive.es-moH8rDRO.js} +1 -1
  3. package/dist/client/assets/{ArrowLeft.es-BkuVunBb.js → ArrowLeft.es-CVl_zVBC.js} +1 -1
  4. package/dist/client/assets/{abnfDiagram-VCTEODGH-B2jWIJ_F.js → abnfDiagram-VCTEODGH-DzuBdUSN.js} +1 -1
  5. package/dist/client/assets/admin-page-CAsPxzW9.js +1 -0
  6. package/dist/client/assets/{alert-PePzkOCj.js → alert-2CAe526X.js} +1 -1
  7. package/dist/client/assets/{alert-dialog-BgqiS2Mp.js → alert-dialog-8vhMuR-k.js} +1 -1
  8. package/dist/client/assets/architecture-7GRP2DOG-Bcwjoi8B.js +1 -0
  9. package/dist/client/assets/{architectureDiagram-5GKGNRK7-CV8YjPRr.js → architectureDiagram-5GKGNRK7-CeuoQvaW.js} +1 -1
  10. package/dist/client/assets/{badge-BESbZ2wy.js → badge-CoDH1rER.js} +1 -1
  11. package/dist/client/assets/{blockDiagram-I7D4REHJ-BdQWAITV.js → blockDiagram-I7D4REHJ-BY92gQgN.js} +1 -1
  12. package/dist/client/assets/{c4Diagram-7LVT6UL2-Dp1ETdzU.js → c4Diagram-7LVT6UL2-D5TNBYXh.js} +1 -1
  13. package/dist/client/assets/channel-NEbtzeVB.js +1 -0
  14. package/dist/client/assets/{chunk-4HAMMTFA-BXRLulFZ.js → chunk-4HAMMTFA-DBbX-wzu.js} +1 -1
  15. package/dist/client/assets/{chunk-75Z2AOVW-FUHgKXYa.js → chunk-75Z2AOVW-962-yyBD.js} +1 -1
  16. package/dist/client/assets/{chunk-DU6HZSFF-nxkO_ute.js → chunk-DU6HZSFF-CHHMX1CR.js} +1 -1
  17. package/dist/client/assets/{chunk-F27PBJKO-Dal8QxK3.js → chunk-F27PBJKO-BOnYAGjZ.js} +1 -1
  18. package/dist/client/assets/{chunk-GMAD6QVW-B_VbYl2S.js → chunk-GMAD6QVW-DQF31PdR.js} +1 -1
  19. package/dist/client/assets/{chunk-GVQU2GXP-DobNOfAy.js → chunk-GVQU2GXP-rruJzn36.js} +1 -1
  20. package/dist/client/assets/{chunk-IMKFNOWR-D_P1eTAa.js → chunk-IMKFNOWR-GIKO0MCA.js} +1 -1
  21. package/dist/client/assets/{chunk-L3NEJ4N5-CZpV3_Q0.js → chunk-L3NEJ4N5-USlKRxmU.js} +1 -1
  22. package/dist/client/assets/{chunk-OSK3NFVY-e3uqzkQq.js → chunk-OSK3NFVY-DYQeYWNP.js} +1 -1
  23. package/dist/client/assets/{chunk-P2QGCYS3-B1FUAlmg.js → chunk-P2QGCYS3-SDkZ9hQX.js} +1 -1
  24. package/dist/client/assets/{chunk-POPQ4Y6H-BKVSxG-w.js → chunk-POPQ4Y6H-bdnFdIMc.js} +1 -1
  25. package/dist/client/assets/{chunk-PWAF6VOD-DQe8ztwz.js → chunk-PWAF6VOD-DuKrEmQw.js} +1 -1
  26. package/dist/client/assets/{chunk-SHT3W25Y-D8Ie2IK_.js → chunk-SHT3W25Y-BnWDS29f.js} +1 -1
  27. package/dist/client/assets/{chunk-SVP7TREG-_l4ZFWYL.js → chunk-SVP7TREG-BqyZjR36.js} +1 -1
  28. package/dist/client/assets/{chunk-TICWLB2K-BfcOBlR4.js → chunk-TICWLB2K-ZCb3dlre.js} +1 -1
  29. package/dist/client/assets/{ci-status-ChifTKM1.js → ci-status-cs76P3se.js} +1 -1
  30. package/dist/client/assets/classDiagram-ZZMXUADV-zE_E4kYq.js +1 -0
  31. package/dist/client/assets/classDiagram-v2-VYDZK3BY-zE_E4kYq.js +1 -0
  32. package/dist/client/assets/components-CoS_rGt2.js +1 -0
  33. package/dist/client/assets/{confirm-dialog-BAfboPjS.js → confirm-dialog-CfvO9f42.js} +1 -1
  34. package/dist/client/assets/{core-DW1Rn28Z.js → core-DW3tuXQ3.js} +1 -1
  35. package/dist/client/assets/{cynefin-OW5HDTMX-B7JP5WcM.js → cynefin-OW5HDTMX-Ci2WypGa.js} +1 -1
  36. package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-B5jcLvUi.js → cynefinDiagram-5FMLGOSQ-CGea7wa2.js} +1 -1
  37. package/dist/client/assets/{dagre-GXQ25YYZ-CFkt7lun.js → dagre-GXQ25YYZ-CJcHs09G.js} +1 -1
  38. package/dist/client/assets/data-import-button-cvKmYZJe.js +6 -0
  39. package/dist/client/assets/detail-C3U9ED1b.js +1 -0
  40. package/dist/client/assets/{diagram-S7CK7UJ4-DpT9R2w0.js → diagram-S7CK7UJ4-Drsfjeco.js} +1 -1
  41. package/dist/client/assets/{diagram-UQ7AKVKN-DAy1Fpaf.js → diagram-UQ7AKVKN-0SrBP_3E.js} +1 -1
  42. package/dist/client/assets/{diagram-VSXAHHWV-Co-NFSf3.js → diagram-VSXAHHWV-DB2rqHgv.js} +1 -1
  43. package/dist/client/assets/{diagram-VX7I27RA-CaIWof2e.js → diagram-VX7I27RA-B2y3VQbR.js} +1 -1
  44. package/dist/client/assets/{diagram-Z3DM3KII-BpcVyNtl.js → diagram-Z3DM3KII-D63_zfy5.js} +1 -1
  45. package/dist/client/assets/diff-highlight.worker-FEJq0yPv.js +60 -0
  46. package/dist/client/assets/dist-BO6Gz-vk.js +1 -0
  47. package/dist/client/assets/{dist-Dtgf0TOg.js → dist-DGw3MClt.js} +1 -1
  48. package/dist/client/assets/{ebnfDiagram-PWID7BFC-CS26Rt0p.js → ebnfDiagram-PWID7BFC-8gEK-ifx.js} +1 -1
  49. package/dist/client/assets/{en-US-SlQiGO_s.js → en-US-C-x19js7.js} +1 -1
  50. package/dist/client/assets/{erDiagram-RLTQ6QDP-DsdFXV4-.js → erDiagram-RLTQ6QDP-B2CcHHg7.js} +1 -1
  51. package/dist/client/assets/eventmodeling-NTZA5JFV-DqUwwD9w.js +1 -0
  52. package/dist/client/assets/{factory-config-scripts-BoDNVi6q.js → factory-config-scripts-C2BfO5od.js} +1 -1
  53. package/dist/client/assets/flowDiagram-HODETNUW-DCZkaOsj.js +1 -0
  54. package/dist/client/assets/{ganttDiagram-EL5Y4UJY-D_b7Bn-J.js → ganttDiagram-EL5Y4UJY-B_Y3HJTL.js} +1 -1
  55. package/dist/client/assets/{gitGraph-4MIJSDKK-De5ASUSY.js → gitGraph-4MIJSDKK-DBd1UxTm.js} +1 -1
  56. package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-BHMJvUNJ.js → gitGraphDiagram-WWUBYQGX-CrdKibnu.js} +1 -1
  57. package/dist/client/assets/{home-DjDt91tt.js → home-DRzNpm0E.js} +1 -1
  58. package/dist/client/assets/hooks-3rxtNHRh.js +1 -0
  59. package/dist/client/assets/index-BJo4hZ8z.js +10 -0
  60. package/dist/client/assets/{info-A6RAGUB7-DNiM6MW6.js → info-A6RAGUB7-CCMRmQ2H.js} +1 -1
  61. package/dist/client/assets/{infoDiagram-27XIBGKW-4g58w-zo.js → infoDiagram-27XIBGKW-DO-IhKUM.js} +1 -1
  62. package/dist/client/assets/{ishikawaDiagram-5VMMS53U-DO7_eJ6Q.js → ishikawaDiagram-5VMMS53U-KejlLQ1k.js} +1 -1
  63. package/dist/client/assets/{journeyDiagram-3NMN7TZE-6CJtdIGo.js → journeyDiagram-3NMN7TZE-DemWKqD6.js} +1 -1
  64. package/dist/client/assets/jsx-runtime-BNakU3Ej.js +1 -0
  65. package/dist/client/assets/{kanban-definition-UXKFOSKX-D211MzXr.js → kanban-definition-UXKFOSKX-uRffHAE9.js} +1 -1
  66. package/dist/client/assets/{label-CI3jpwv-.js → label-ANA2Lfpk.js} +1 -1
  67. package/dist/client/assets/lib-CHy_7XQu.js +1 -0
  68. package/dist/client/assets/{line-DotOMT4o.js → line-CfCBYCoS.js} +1 -1
  69. package/dist/client/assets/list-C3P6JbyU.js +30 -0
  70. package/dist/client/assets/{list-bUzF8ozJ.js → list-oJCufmEX.js} +1 -1
  71. package/dist/client/assets/{logs-CjKXHkrB.js → logs-zb2la033.js} +1 -1
  72. package/dist/client/assets/{mermaid-diagram-CESNj6Ju.js → mermaid-diagram-kbWN558y.js} +4 -4
  73. package/dist/client/assets/{mermaid-parser.core-DK0kgowR.js → mermaid-parser.core-CpkwJ-8U.js} +3 -3
  74. package/dist/client/assets/{mindmap-definition-YA3MSWOX-DF5ewLZ5.js → mindmap-definition-YA3MSWOX-DYYi_9Si.js} +1 -1
  75. package/dist/client/assets/{mobile-baseline-B0PakiKB.js → mobile-baseline-BVS3GXLz.js} +1 -1
  76. package/dist/client/assets/new-BiEmR60A.js +1 -0
  77. package/dist/client/assets/new-CcQm3ES8.js +1 -0
  78. package/dist/client/assets/{packet-AYTQ26CC-C4EHUAzU.js → packet-AYTQ26CC-kvNXQn-j.js} +1 -1
  79. package/dist/client/assets/{page-header-BCpV1oUO.js → page-header-CpSh-j1O.js} +1 -1
  80. package/dist/client/assets/{pegDiagram-XKGWAZYB-_WrA16pJ.js → pegDiagram-XKGWAZYB-CMAngYAK.js} +1 -1
  81. package/dist/client/assets/{pie-WAS4IAKB-BkSTK6KM.js → pie-WAS4IAKB-DFNGAljQ.js} +1 -1
  82. package/dist/client/assets/{pieDiagram-E7YTZNPT-CUR0mgrL.js → pieDiagram-E7YTZNPT-XGRy7b5E.js} +1 -1
  83. package/dist/client/assets/{popover-D-6mugCQ.js → popover-CIfFCO0U.js} +1 -1
  84. package/dist/client/assets/pr-inbox-item-D9UcI0SS.js +2 -0
  85. package/dist/client/assets/{preload-helper-Czpn1I53.js → preload-helper-BZ1Pz5am.js} +1 -1
  86. package/dist/client/assets/{project-repo-form-DjzRbY9O.js → project-repo-form-Dc8ha6XP.js} +1 -1
  87. package/dist/client/assets/{provider-cli-warning-LYUDO_5Y.js → provider-cli-warning-CIAJ88Cy.js} +1 -1
  88. package/dist/client/assets/{quadrantDiagram-AXDQQJYC-QXmh8FnA.js → quadrantDiagram-AXDQQJYC-BFek-axl.js} +1 -1
  89. package/dist/client/assets/{radar-RG4KPBEZ-ymOfNW7I.js → radar-RG4KPBEZ-k-UBw86I.js} +1 -1
  90. package/dist/client/assets/{radio-group-CcAx51bT.js → radio-group-BhmTXkIv.js} +1 -1
  91. package/dist/client/assets/{railroad-74A4TZTK-CwWB40du.js → railroad-74A4TZTK-B6DuT-HY.js} +1 -1
  92. package/dist/client/assets/railroad-abnf-HS5TGJTU-DF-z1cVb.js +1 -0
  93. package/dist/client/assets/railroad-ebnf-LZEXJU2U-C6VgaalR.js +1 -0
  94. package/dist/client/assets/railroad-peg-WCYAUIDC-DRMqhGU3.js +1 -0
  95. package/dist/client/assets/{railroadDiagram-O6MQD6OU-O7DCuidl.js → railroadDiagram-O6MQD6OU-CBzDTFh9.js} +1 -1
  96. package/dist/client/assets/redirect-DexaYCz_.js +1 -0
  97. package/dist/client/assets/{requirementDiagram-BXWQKSXE-BajIi2rw.js → requirementDiagram-BXWQKSXE-DSgpbBy3.js} +1 -1
  98. package/dist/client/assets/{reviews-B04-ADI9.js → reviews-DDO7Pvrz.js} +1 -1
  99. package/dist/client/assets/{sankeyDiagram-P5KCCOFB-CnR7slVB.js → sankeyDiagram-P5KCCOFB-BOWaOPXp.js} +1 -1
  100. package/dist/client/assets/{select-BgEObL9n.js → select-Cq3ddA2b.js} +1 -1
  101. package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-BUxl34n_.js → sequenceDiagram-WJ2MYXX4-9wHsZFGh.js} +1 -1
  102. package/dist/client/assets/spinner-BszfzCYe.js +1 -0
  103. package/dist/client/assets/{startup-script-form-c7w0nnHp.js → startup-script-form-CHvwd1Nb.js} +1 -1
  104. package/dist/client/assets/{stateDiagram-D77RDMKH-aFuhfmKp.js → stateDiagram-D77RDMKH-Blo9H6q_.js} +1 -1
  105. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-BzJ9AKXW.js +1 -0
  106. package/dist/client/assets/{swimlanes-42K2YHIH-BccYx63r.js → swimlanes-42K2YHIH-DI0BHdWG.js} +1 -1
  107. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DSnxWZUW.js +8 -0
  108. package/dist/client/assets/{table-wIG3osPW.js → table-CUvMM0aA.js} +1 -1
  109. package/dist/client/assets/{tabs-Cn3M4k-N.js → tabs-BBAQyvSA.js} +1 -1
  110. package/dist/client/assets/{terminal-instance-7W1Sdy6P.js → terminal-instance-BEqkmyvv.js} +1 -1
  111. package/dist/client/assets/{textarea-BVHmIkCM.js → textarea-DxWYClhS.js} +1 -1
  112. package/dist/client/assets/{timeline-definition-24CTP7MA-CM_waoCp.js → timeline-definition-24CTP7MA-C8fyxpVm.js} +1 -1
  113. package/dist/client/assets/{tooltip-DCH0jP98.js → tooltip-DXcY1U7y.js} +1 -1
  114. package/dist/client/assets/{treeView-Q6P3EWNA-CkV-8YWk.js → treeView-Q6P3EWNA-CzQAwJw-.js} +1 -1
  115. package/dist/client/assets/{treemap-WGGIJYW6-L1FedAzz.js → treemap-WGGIJYW6-zWRSK6WR.js} +1 -1
  116. package/dist/client/assets/trpc-CQO3zfei.js +1 -0
  117. package/dist/client/assets/{use-auto-scroll-QQMmbsX-.js → use-auto-scroll-DNohsNoz.js} +1 -1
  118. package/dist/client/assets/{use-download-server-log-Bag_Et_8.js → use-download-server-log-efKIcIwE.js} +1 -1
  119. package/dist/client/assets/use-project-header-navigation-D5yIIgnb.js +1 -0
  120. package/dist/client/assets/{use-websocket-channel-DW9rsEG5.js → use-websocket-channel-dNXOJZfW.js} +1 -1
  121. package/dist/client/assets/use-websocket-transport-BuYcrZTd.js +55 -0
  122. package/dist/client/assets/vbnet-CwR9YcOY.js +57 -0
  123. package/dist/client/assets/{vennDiagram-4TSXK5OY-Djoofmfi.js → vennDiagram-4TSXK5OY-ffnMpD5u.js} +1 -1
  124. package/dist/client/assets/{wardley-WFR3VGLG-BU-g6L7U.js → wardley-WFR3VGLG-acbsrLnl.js} +1 -1
  125. package/dist/client/assets/{wardleyDiagram-VM6X3IG4-DZNgTneT.js → wardleyDiagram-VM6X3IG4-BtqGCwsu.js} +1 -1
  126. package/dist/client/assets/workspace-a6lf168c.js +18 -0
  127. package/dist/client/assets/{xychartDiagram-S5SC5T6Z-WTubjsZj.js → xychartDiagram-S5SC5T6Z-Bfy9xcWF.js} +1 -1
  128. package/dist/client/index.html +28 -35
  129. package/dist/prisma/generated/internal/class.js +1 -1
  130. package/dist/prisma/generated/internal/class.js.map +1 -1
  131. package/dist/prompts/quick-actions/fetch-rebase.md +5 -9
  132. package/dist/prompts/quick-actions/rename-branch.md +4 -8
  133. package/dist/prompts/quick-actions/review.md +6 -5
  134. package/dist/prompts/quick-actions/screenshots.md +7 -20
  135. package/dist/prompts/quick-actions/simplify.md +4 -1
  136. package/dist/prompts/ratchet/dispatch.md +13 -46
  137. package/dist/src/backend/orchestration/cli-health.service.d.ts.map +1 -1
  138. package/dist/src/backend/orchestration/cli-health.service.js +31 -23
  139. package/dist/src/backend/orchestration/cli-health.service.js.map +1 -1
  140. package/dist/src/backend/orchestration/cli-health.service.test.js +40 -0
  141. package/dist/src/backend/orchestration/cli-health.service.test.js.map +1 -1
  142. package/dist/src/backend/orchestration/data-backup.service.test.js +37 -4
  143. package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
  144. package/dist/src/backend/orchestration/event-collector.idle-refresh.test.d.ts +2 -0
  145. package/dist/src/backend/orchestration/event-collector.idle-refresh.test.d.ts.map +1 -0
  146. package/dist/src/backend/orchestration/event-collector.idle-refresh.test.js +83 -0
  147. package/dist/src/backend/orchestration/event-collector.idle-refresh.test.js.map +1 -0
  148. package/dist/src/backend/orchestration/event-collector.linear.test.d.ts +2 -0
  149. package/dist/src/backend/orchestration/event-collector.linear.test.d.ts.map +1 -0
  150. package/dist/src/backend/orchestration/event-collector.linear.test.js +206 -0
  151. package/dist/src/backend/orchestration/event-collector.linear.test.js.map +1 -0
  152. package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts.map +1 -1
  153. package/dist/src/backend/orchestration/event-collector.orchestrator.js +40 -8
  154. package/dist/src/backend/orchestration/event-collector.orchestrator.js.map +1 -1
  155. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts +1 -0
  156. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts.map +1 -1
  157. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js +20 -4
  158. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js.map +1 -1
  159. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js +55 -104
  160. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js.map +1 -1
  161. package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.d.ts +6 -0
  162. package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.d.ts.map +1 -0
  163. package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.js +117 -0
  164. package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.js.map +1 -0
  165. package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.test.d.ts +2 -0
  166. package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.test.d.ts.map +1 -0
  167. package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.test.js +8 -0
  168. package/dist/src/backend/orchestration/snapshot-reconciliation.test-helpers.test.js.map +1 -0
  169. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts.map +1 -1
  170. package/dist/src/backend/orchestration/workspace-archive.orchestrator.js +40 -34
  171. package/dist/src/backend/orchestration/workspace-archive.orchestrator.js.map +1 -1
  172. package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js +4 -0
  173. package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js.map +1 -1
  174. package/dist/src/backend/orchestration/workspace-children.orchestrator.d.ts.map +1 -1
  175. package/dist/src/backend/orchestration/workspace-children.orchestrator.js +1 -2
  176. package/dist/src/backend/orchestration/workspace-children.orchestrator.js.map +1 -1
  177. package/dist/src/backend/orchestration/workspace-init-issue-prompts.test.js +3 -3
  178. package/dist/src/backend/orchestration/workspace-init-issue-prompts.test.js.map +1 -1
  179. package/dist/src/backend/orchestration/workspace-init-script-pipeline.d.ts.map +1 -1
  180. package/dist/src/backend/orchestration/workspace-init-script-pipeline.js +3 -3
  181. package/dist/src/backend/orchestration/workspace-init-script-pipeline.js.map +1 -1
  182. package/dist/src/backend/orchestration/workspace-init-script-pipeline.test.d.ts +2 -0
  183. package/dist/src/backend/orchestration/workspace-init-script-pipeline.test.d.ts.map +1 -0
  184. package/dist/src/backend/orchestration/workspace-init-script-pipeline.test.js +52 -0
  185. package/dist/src/backend/orchestration/workspace-init-script-pipeline.test.js.map +1 -0
  186. package/dist/src/backend/orchestration/workspace-runtime-cleanup-notification.test.d.ts +2 -0
  187. package/dist/src/backend/orchestration/workspace-runtime-cleanup-notification.test.d.ts.map +1 -0
  188. package/dist/src/backend/orchestration/workspace-runtime-cleanup-notification.test.js +175 -0
  189. package/dist/src/backend/orchestration/workspace-runtime-cleanup-notification.test.js.map +1 -0
  190. package/dist/src/backend/prompts/branch-rename.js +1 -1
  191. package/dist/src/backend/prompts/ratchet-dispatch.d.ts.map +1 -1
  192. package/dist/src/backend/prompts/ratchet-dispatch.js +12 -78
  193. package/dist/src/backend/prompts/ratchet-dispatch.js.map +1 -1
  194. package/dist/src/backend/prompts/ratchet-dispatch.test.js +39 -27
  195. package/dist/src/backend/prompts/ratchet-dispatch.test.js.map +1 -1
  196. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts.map +1 -1
  197. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js +6 -1
  198. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js.map +1 -1
  199. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.js +60 -1
  200. package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.js.map +1 -1
  201. package/dist/src/backend/services/auto-iteration/service/prompts.d.ts.map +1 -1
  202. package/dist/src/backend/services/auto-iteration/service/prompts.js +14 -54
  203. package/dist/src/backend/services/auto-iteration/service/prompts.js.map +1 -1
  204. package/dist/src/backend/services/github/service/github-cli-health-cache.test.d.ts +2 -0
  205. package/dist/src/backend/services/github/service/github-cli-health-cache.test.d.ts.map +1 -0
  206. package/dist/src/backend/services/github/service/github-cli-health-cache.test.js +45 -0
  207. package/dist/src/backend/services/github/service/github-cli-health-cache.test.js.map +1 -0
  208. package/dist/src/backend/services/github/service/github-cli.service.d.ts +1 -1
  209. package/dist/src/backend/services/github/service/github-cli.service.d.ts.map +1 -1
  210. package/dist/src/backend/services/github/service/github-cli.service.js +25 -23
  211. package/dist/src/backend/services/github/service/github-cli.service.js.map +1 -1
  212. package/dist/src/backend/services/linear/service/linear-client.service.d.ts +1 -1
  213. package/dist/src/backend/services/linear/service/linear-client.service.d.ts.map +1 -1
  214. package/dist/src/backend/services/linear/service/linear-client.service.js +24 -9
  215. package/dist/src/backend/services/linear/service/linear-client.service.js.map +1 -1
  216. package/dist/src/backend/services/linear/service/linear-client.service.test.js +46 -5
  217. package/dist/src/backend/services/linear/service/linear-client.service.test.js.map +1 -1
  218. package/dist/src/backend/services/linear/service/linear-state-sync.service.d.ts +1 -1
  219. package/dist/src/backend/services/linear/service/linear-state-sync.service.d.ts.map +1 -1
  220. package/dist/src/backend/services/linear/service/linear-state-sync.service.js +2 -1
  221. package/dist/src/backend/services/linear/service/linear-state-sync.service.js.map +1 -1
  222. package/dist/src/backend/services/linear/service/linear-state-sync.service.test.js +7 -3
  223. package/dist/src/backend/services/linear/service/linear-state-sync.service.test.js.map +1 -1
  224. package/dist/src/backend/services/ratchet/service/fixer-session.service.js +1 -1
  225. package/dist/src/backend/services/ratchet/service/fixer-session.service.js.map +1 -1
  226. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js +1 -1
  227. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js.map +1 -1
  228. package/dist/src/backend/services/run-script/service/startup-script.service.d.ts +1 -0
  229. package/dist/src/backend/services/run-script/service/startup-script.service.d.ts.map +1 -1
  230. package/dist/src/backend/services/run-script/service/startup-script.service.js +3 -1
  231. package/dist/src/backend/services/run-script/service/startup-script.service.js.map +1 -1
  232. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.js +1 -1
  233. package/dist/src/backend/services/session/service/acp/acp-runtime-quiescence.js.map +1 -1
  234. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.js +1 -1
  235. package/dist/src/backend/services/session/service/acp/acp-runtime-supervisor.js.map +1 -1
  236. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.d.ts.map +1 -1
  237. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.js +1 -3
  238. package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-notification-queue.js.map +1 -1
  239. package/dist/src/backend/services/session/service/acp/types.d.ts +0 -1
  240. package/dist/src/backend/services/session/service/acp/types.d.ts.map +1 -1
  241. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.test.js +0 -1
  242. package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.test.js.map +1 -1
  243. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.test.js +1 -1
  244. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.test.js.map +1 -1
  245. package/dist/src/backend/services/session/service/index.d.ts +1 -1
  246. package/dist/src/backend/services/session/service/index.d.ts.map +1 -1
  247. package/dist/src/backend/services/session/service/index.js +1 -1
  248. package/dist/src/backend/services/session/service/index.js.map +1 -1
  249. package/dist/src/backend/services/session/service/lifecycle/session-context.service.d.ts +1 -5
  250. package/dist/src/backend/services/session/service/lifecycle/session-context.service.d.ts.map +1 -1
  251. package/dist/src/backend/services/session/service/lifecycle/session-context.service.js +2 -63
  252. package/dist/src/backend/services/session/service/lifecycle/session-context.service.js.map +1 -1
  253. package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.js +23 -99
  254. package/dist/src/backend/services/session/service/lifecycle/session-context.service.test.js.map +1 -1
  255. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.d.ts.map +1 -1
  256. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.js +13 -7
  257. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.js.map +1 -1
  258. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.js +26 -5
  259. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-external-ports.test.js.map +1 -1
  260. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.d.ts +1 -0
  261. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.d.ts.map +1 -1
  262. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.js +3 -0
  263. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle-gate.js.map +1 -1
  264. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.d.ts +1 -1
  265. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.d.ts.map +1 -1
  266. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.js +0 -11
  267. package/dist/src/backend/services/session/service/lifecycle/session-lifecycle.test-helpers.js.map +1 -1
  268. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.d.ts +1 -1
  269. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.d.ts.map +1 -1
  270. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.js +8 -5
  271. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.js.map +1 -1
  272. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.js +9 -5
  273. package/dist/src/backend/services/session/service/lifecycle/session-runtime-exit.coordinator.test.js.map +1 -1
  274. package/dist/src/backend/services/session/service/lifecycle/session-services.composition.test.js +0 -1
  275. package/dist/src/backend/services/session/service/lifecycle/session-services.composition.test.js.map +1 -1
  276. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.d.ts.map +1 -1
  277. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.js +0 -1
  278. package/dist/src/backend/services/session/service/lifecycle/session-startup.coordinator.js.map +1 -1
  279. package/dist/src/backend/services/session/service/lifecycle/session-workflow-permissions.d.ts +7 -0
  280. package/dist/src/backend/services/session/service/lifecycle/session-workflow-permissions.d.ts.map +1 -0
  281. package/dist/src/backend/services/session/service/lifecycle/session-workflow-permissions.js +9 -0
  282. package/dist/src/backend/services/session/service/lifecycle/session-workflow-permissions.js.map +1 -0
  283. package/dist/src/backend/services/session/service/lifecycle/session.config.service.d.ts.map +1 -1
  284. package/dist/src/backend/services/session/service/lifecycle/session.config.service.js +4 -5
  285. package/dist/src/backend/services/session/service/lifecycle/session.config.service.js.map +1 -1
  286. package/dist/src/backend/services/session/service/lifecycle/session.config.service.test.js +8 -8
  287. package/dist/src/backend/services/session/service/lifecycle/session.config.service.test.js.map +1 -1
  288. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.facade.test.js +0 -2
  289. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.facade.test.js.map +1 -1
  290. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts +0 -1
  291. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts.map +1 -1
  292. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js.map +1 -1
  293. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.d.ts +0 -33
  294. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.d.ts.map +1 -1
  295. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.js +0 -40
  296. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.js.map +1 -1
  297. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.test.js +2 -170
  298. package/dist/src/backend/services/session/service/lifecycle/session.prompt-builder.test.js.map +1 -1
  299. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts +4 -12
  300. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts.map +1 -1
  301. package/dist/src/backend/services/session/service/lifecycle/session.repository.js +2 -7
  302. package/dist/src/backend/services/session/service/lifecycle/session.repository.js.map +1 -1
  303. package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js +1 -4
  304. package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js.map +1 -1
  305. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js +0 -162
  306. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js.map +1 -1
  307. package/dist/src/backend/services/session/service/voice/voice-narration.service.d.ts +1 -0
  308. package/dist/src/backend/services/session/service/voice/voice-narration.service.d.ts.map +1 -1
  309. package/dist/src/backend/services/session/service/voice/voice-narration.service.js +69 -19
  310. package/dist/src/backend/services/session/service/voice/voice-narration.service.js.map +1 -1
  311. package/dist/src/backend/services/session/service/voice/voice-narration.service.test.js +196 -113
  312. package/dist/src/backend/services/session/service/voice/voice-narration.service.test.js.map +1 -1
  313. package/dist/src/backend/services/workspace/resources/project.accessor.d.ts.map +1 -1
  314. package/dist/src/backend/services/workspace/resources/project.accessor.js +3 -0
  315. package/dist/src/backend/services/workspace/resources/project.accessor.js.map +1 -1
  316. package/dist/src/backend/services/workspace/resources/project.accessor.test.js +24 -2
  317. package/dist/src/backend/services/workspace/resources/project.accessor.test.js.map +1 -1
  318. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.d.ts +2 -0
  319. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.d.ts.map +1 -1
  320. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.js +30 -0
  321. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.js.map +1 -1
  322. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.test.js +113 -0
  323. package/dist/src/backend/services/workspace/service/lifecycle/activity.service.test.js.map +1 -1
  324. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js +2 -2
  325. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js.map +1 -1
  326. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.d.ts.map +1 -1
  327. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.js +12 -1
  328. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.js.map +1 -1
  329. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.test.js +15 -0
  330. package/dist/src/backend/services/workspace/service/worktree/git-ops.service.test.js.map +1 -1
  331. package/dist/src/backend/services/workspace-git-state.service.js +1 -1
  332. package/dist/src/backend/services/workspace-git-state.service.js.map +1 -1
  333. package/dist/src/backend/trpc/admin.router.test.js +34 -1
  334. package/dist/src/backend/trpc/admin.router.test.js.map +1 -1
  335. package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
  336. package/dist/src/backend/trpc/admin.trpc.js +2 -2
  337. package/dist/src/backend/trpc/admin.trpc.js.map +1 -1
  338. package/dist/src/backend/trpc/voice.trpc.d.ts.map +1 -1
  339. package/dist/src/backend/trpc/voice.trpc.js +6 -3
  340. package/dist/src/backend/trpc/voice.trpc.js.map +1 -1
  341. package/dist/src/backend/trpc/voice.trpc.test.js +27 -8
  342. package/dist/src/backend/trpc/voice.trpc.test.js.map +1 -1
  343. package/dist/src/backend/trpc/workspace/init.router.test.js +40 -1
  344. package/dist/src/backend/trpc/workspace/init.router.test.js.map +1 -1
  345. package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
  346. package/dist/src/backend/trpc/workspace/init.trpc.js +20 -14
  347. package/dist/src/backend/trpc/workspace/init.trpc.js.map +1 -1
  348. package/dist/src/backend/trpc/workspace.router.test.js +1 -0
  349. package/dist/src/backend/trpc/workspace.router.test.js.map +1 -1
  350. package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
  351. package/dist/src/backend/trpc/workspace.trpc.js +17 -16
  352. package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
  353. package/dist/src/shared/deepgram-voices.d.ts +7 -3
  354. package/dist/src/shared/deepgram-voices.d.ts.map +1 -1
  355. package/dist/src/shared/deepgram-voices.js +62 -45
  356. package/dist/src/shared/deepgram-voices.js.map +1 -1
  357. package/dist/src/shared/issue-start-prompt.d.ts.map +1 -1
  358. package/dist/src/shared/issue-start-prompt.js +6 -160
  359. package/dist/src/shared/issue-start-prompt.js.map +1 -1
  360. package/dist/src/shared/schemas/export-data.schema.d.ts +4 -4
  361. package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
  362. package/dist/src/shared/schemas/export-data.schema.js +13 -5
  363. package/dist/src/shared/schemas/export-data.schema.js.map +1 -1
  364. package/dist/tsconfig.backend.tsbuildinfo +1 -1
  365. package/package.json +34 -28
  366. package/prisma/migrations/20260904150539_upgrade_deepgram_flux_tts/migration.sql +43 -0
  367. package/prisma/schema.prisma +1 -1
  368. package/prompts/quick-actions/fetch-rebase.md +5 -9
  369. package/prompts/quick-actions/rename-branch.md +4 -8
  370. package/prompts/quick-actions/review.md +6 -5
  371. package/prompts/quick-actions/screenshots.md +7 -20
  372. package/prompts/quick-actions/simplify.md +4 -1
  373. package/prompts/ratchet/dispatch.md +13 -46
  374. package/dist/client/assets/admin-page-DSQHBVdP.js +0 -1
  375. package/dist/client/assets/architecture-7GRP2DOG-iqZodW6v.js +0 -1
  376. package/dist/client/assets/channel-CuF41sy9.js +0 -1
  377. package/dist/client/assets/classDiagram-ZZMXUADV-CSnIdOhD.js +0 -1
  378. package/dist/client/assets/classDiagram-v2-VYDZK3BY-CSnIdOhD.js +0 -1
  379. package/dist/client/assets/components-CYsyoHP0.js +0 -1
  380. package/dist/client/assets/data-import-button-D-ZWnQAg.js +0 -6
  381. package/dist/client/assets/detail-C1zBkWd-.js +0 -1
  382. package/dist/client/assets/diff-highlight.worker-C-7SSG_d.js +0 -55
  383. package/dist/client/assets/dist-BiFeezwN.js +0 -1
  384. package/dist/client/assets/eventmodeling-NTZA5JFV-C4d4RnR4.js +0 -1
  385. package/dist/client/assets/flowDiagram-HODETNUW-Df-T-03y.js +0 -1
  386. package/dist/client/assets/hooks-BTcY6K1q.js +0 -1
  387. package/dist/client/assets/index-D34fUfAP.js +0 -10
  388. package/dist/client/assets/jsx-runtime-DE3RlOCf.js +0 -1
  389. package/dist/client/assets/lib-DyBYhPHb.js +0 -1
  390. package/dist/client/assets/list-DozL_ZP-.js +0 -184
  391. package/dist/client/assets/new-C3e5S62x.js +0 -1
  392. package/dist/client/assets/new-CCDeoRvw.js +0 -1
  393. package/dist/client/assets/pr-inbox-item-vOH1gfSf.js +0 -2
  394. package/dist/client/assets/railroad-abnf-HS5TGJTU-DGUx-UBP.js +0 -1
  395. package/dist/client/assets/railroad-ebnf-LZEXJU2U-isA18bJo.js +0 -1
  396. package/dist/client/assets/railroad-peg-WCYAUIDC-Qz11I2dz.js +0 -1
  397. package/dist/client/assets/redirect-CNaRFL8d.js +0 -1
  398. package/dist/client/assets/spinner-ASaPCL5c.js +0 -1
  399. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-C3HBCmSp.js +0 -1
  400. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DXqJPUvi.js +0 -8
  401. package/dist/client/assets/trpc-X4t2_jd5.js +0 -1
  402. package/dist/client/assets/use-project-header-navigation-BXqLQ4G_.js +0 -1
  403. package/dist/client/assets/use-websocket-transport-BT1hhmkl.js +0 -50
  404. package/dist/client/assets/vbnet-CrqJJ08J.js +0 -57
  405. package/dist/client/assets/workspace-CsQCO4D_.js +0 -18
  406. package/dist/prompts/workflows/bugfix.md +0 -86
  407. package/dist/prompts/workflows/ci-fix.md +0 -52
  408. package/dist/prompts/workflows/explore.md +0 -54
  409. package/dist/prompts/workflows/feature.md +0 -80
  410. package/dist/prompts/workflows/followup.md +0 -32
  411. package/dist/prompts/workflows/pr-review-fix.md +0 -50
  412. package/dist/src/backend/prompts/workflows.d.ts +0 -14
  413. package/dist/src/backend/prompts/workflows.d.ts.map +0 -1
  414. package/dist/src/backend/prompts/workflows.js +0 -47
  415. package/dist/src/backend/prompts/workflows.js.map +0 -1
  416. package/dist/src/backend/prompts/workflows.test.d.ts +0 -2
  417. package/dist/src/backend/prompts/workflows.test.d.ts.map +0 -1
  418. package/dist/src/backend/prompts/workflows.test.js +0 -128
  419. package/dist/src/backend/prompts/workflows.test.js.map +0 -1
  420. package/prompts/workflows/bugfix.md +0 -86
  421. package/prompts/workflows/ci-fix.md +0 -52
  422. package/prompts/workflows/explore.md +0 -54
  423. package/prompts/workflows/feature.md +0 -80
  424. package/prompts/workflows/followup.md +0 -32
  425. package/prompts/workflows/pr-review-fix.md +0 -50
@@ -1,4 +1,4 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{p as t}from"./src-B6xuSHsQ.js";import{H as n,K as r,U as i,a,b as o,c as s,et as c,f as l,nt as u,rt as d,tt as f,v as p,w as m,y as h}from"./chunk-DU6HZSFF-nxkO_ute.js";import{i as g}from"./chunk-75Z2AOVW-FUHgKXYa.js";import{t as _}from"./rough.esm-Dy-Kn_BL.js";import{p as v}from"./mermaid-diagram-CESNj6Ju.js";var y=(e,t)=>u(e,`a`,-t),b=1e-10;function x(e,t){let n=C(e),r=n.filter(t=>S(t,e)),i=0,a=0,o=[];if(r.length>1){let t=O(r);for(let e=0;e<r.length;++e){let n=r[e];n.angle=Math.atan2(n.x-t.x,n.y-t.y)}r.sort((e,t)=>t.angle-e.angle);let n=r[r.length-1];for(let t=0;t<r.length;++t){let s=r[t];a+=(n.x+s.x)*(s.y-n.y);let c={x:(s.x+n.x)/2,y:(s.y+n.y)/2},l=null;for(let t=0;t<s.parentIndex.length;++t)if(n.parentIndex.includes(s.parentIndex[t])){let r=e[s.parentIndex[t]],i=Math.atan2(s.x-r.x,s.y-r.y),a=Math.atan2(n.x-r.x,n.y-r.y),o=a-i;o<0&&(o+=2*Math.PI);let u=a-o/2,d=T(c,{x:r.x+r.radius*Math.sin(u),y:r.y+r.radius*Math.cos(u)});d>r.radius*2&&(d=r.radius*2),(l==null||l.width>d)&&(l={circle:r,width:d,p1:s,p2:n,large:d>r.radius,sweep:!0})}l!=null&&(o.push(l),i+=w(l.circle.radius,l.width),n=s)}}else{let t=e[0];for(let n=1;n<e.length;++n)e[n].radius<t.radius&&(t=e[n]);let n=!1;for(let r=0;r<e.length;++r)if(T(e[r],t)>Math.abs(t.radius-e[r].radius)){n=!0;break}n?i=a=0:(i=t.radius*t.radius*Math.PI,o.push({circle:t,p1:{x:t.x,y:t.y+t.radius},p2:{x:t.x-b,y:t.y+t.radius},width:t.radius*2,large:!0,sweep:!0}))}return a/=2,t&&(t.area=i+a,t.arcArea=i,t.polygonArea=a,t.arcs=o,t.innerPoints=r,t.intersectionPoints=n),i+a}function S(e,t){return t.every(t=>T(e,t)<t.radius+b)}function C(e){let t=[];for(let n=0;n<e.length;++n)for(let r=n+1;r<e.length;++r){let i=D(e[n],e[r]);for(let e of i)e.parentIndex=[n,r],t.push(e)}return t}function w(e,t){return e*e*Math.acos(1-t/e)-(e-t)*Math.sqrt(t*(2*e-t))}function T(e,t){return Math.sqrt((e.x-t.x)*(e.x-t.x)+(e.y-t.y)*(e.y-t.y))}function E(e,t,n){if(n>=e+t)return 0;if(n<=Math.abs(e-t))return Math.PI*Math.min(e,t)*Math.min(e,t);let r=e-(n*n-t*t+e*e)/(2*n),i=t-(n*n-e*e+t*t)/(2*n);return w(e,r)+w(t,i)}function D(e,t){let n=T(e,t),r=e.radius,i=t.radius;if(n>=r+i||n<=Math.abs(r-i))return[];let a=(r*r-i*i+n*n)/(2*n),o=Math.sqrt(r*r-a*a),s=e.x+a*(t.x-e.x)/n,c=e.y+a*(t.y-e.y)/n,l=-(t.y-e.y)*(o/n),u=-(t.x-e.x)*(o/n);return[{x:s+l,y:c-u},{x:s-l,y:c+u}]}function O(e){let t={x:0,y:0};for(let n of e)t.x+=n.x,t.y+=n.y;return t.x/=e.length,t.y/=e.length,t}function k(e,t,n,r){r||={};let i=r.maxIterations||100,a=r.tolerance||1e-10,o=e(t),s=e(n),c=n-t;if(o*s>0)throw`Initial bisect points must have opposite signs`;if(o===0)return t;if(s===0)return n;for(let n=0;n<i;++n){c/=2;let n=t+c,r=e(n);if(r*o>=0&&(t=n),Math.abs(c)<a||r===0)return n}return t+c}function A(e){let t=Array(e);for(let n=0;n<e;++n)t[n]=0;return t}function j(e,t){return A(e).map(()=>A(t))}function M(e,t){let n=0;for(let r=0;r<e.length;++r)n+=e[r]*t[r];return n}function N(e){return Math.sqrt(M(e,e))}function P(e,t,n){for(let r=0;r<t.length;++r)e[r]=t[r]*n}function F(e,t,n,r,i){for(let a=0;a<e.length;++a)e[a]=t*n[a]+r*i[a]}function I(e,t,n){n||={};let r=n.maxIterations||t.length*200,i=n.nonZeroDelta||1.05,a=n.zeroDelta||.001,o=n.minErrorDelta||1e-6,s=n.minErrorDelta||1e-5,c=n.rho===void 0?1:n.rho,l=n.chi===void 0?2:n.chi,u=n.psi===void 0?-.5:n.psi,d=n.sigma===void 0?.5:n.sigma,f,p=t.length,m=Array(p+1);m[0]=t,m[0].fx=e(t),m[0].id=0;for(let n=0;n<p;++n){let r=t.slice();r[n]=r[n]?r[n]*i:a,m[n+1]=r,m[n+1].fx=e(r),m[n+1].id=n+1}function h(e){for(let t=0;t<e.length;t++)m[p][t]=e[t];m[p].fx=e.fx}let g=(e,t)=>e.fx-t.fx,_=t.slice(),v=t.slice(),y=t.slice(),b=t.slice();for(let t=0;t<r;++t){if(m.sort(g),n.history){let e=m.map(e=>{let t=e.slice();return t.fx=e.fx,t.id=e.id,t});e.sort((e,t)=>e.id-t.id),n.history.push({x:m[0].slice(),fx:m[0].fx,simplex:e})}f=0;for(let e=0;e<p;++e)f=Math.max(f,Math.abs(m[0][e]-m[1][e]));if(Math.abs(m[0].fx-m[p].fx)<o&&f<s)break;for(let e=0;e<p;++e){_[e]=0;for(let t=0;t<p;++t)_[e]+=m[t][e];_[e]/=p}let t=m[p];if(F(v,1+c,_,-c,t),v.fx=e(v),v.fx<m[0].fx)F(b,1+l,_,-l,t),b.fx=e(b),b.fx<v.fx?h(b):h(v);else if(v.fx>=m[p-1].fx){let n=!1;if(v.fx>t.fx?(F(y,1+u,_,-u,t),y.fx=e(y),y.fx<t.fx?h(y):n=!0):(F(y,1-u*c,_,u*c,t),y.fx=e(y),y.fx<v.fx?h(y):n=!0),n){if(d>=1)break;for(let t=1;t<m.length;++t)F(m[t],1-d,m[0],d,m[t]),m[t].fx=e(m[t])}}else h(v)}return m.sort(g),{fx:m[0].fx,x:m[0]}}function L(e,t,n,r,i,a,o){let s=n.fx,c=M(n.fxprime,t),l=s,u=s,d=c,f=0;i||=1,a||=1e-6,o||=.1;function p(u,f,p){for(let m=0;m<16;++m)if(i=(u+f)/2,F(r.x,1,n.x,i,t),l=r.fx=e(r.x,r.fxprime),d=M(r.fxprime,t),l>s+a*i*c||l>=p)f=i;else{if(Math.abs(d)<=-o*c)return i;d*(f-u)>=0&&(f=u),u=i,p=l}return 0}for(let m=0;m<10;++m){if(F(r.x,1,n.x,i,t),l=r.fx=e(r.x,r.fxprime),d=M(r.fxprime,t),l>s+a*i*c||m&&l>=u)return p(f,i,u);if(Math.abs(d)<=-o*c)return i;if(d>=0)return p(i,f,l);u=l,f=i,i*=2}return i}function R(e,t,n){let r={x:t.slice(),fx:0,fxprime:t.slice()},i={x:t.slice(),fx:0,fxprime:t.slice()},a=t.slice(),o,s,c=1,l;n||={},l=n.maxIterations||t.length*20,r.fx=e(r.x,r.fxprime),o=r.fxprime.slice(),P(o,r.fxprime,-1);for(let t=0;t<l;++t){if(c=L(e,o,r,i,c),n.history&&n.history.push({x:r.x.slice(),fx:r.fx,fxprime:r.fxprime.slice(),alpha:c}),!c)P(o,r.fxprime,-1);else{F(a,1,i.fxprime,-1,r.fxprime);let e=M(r.fxprime,r.fxprime),t=Math.max(0,M(a,i.fxprime)/e);F(o,t,o,-1,i.fxprime),s=r,r=i,i=s}if(N(r.fxprime)<=1e-5)break}return n.history&&n.history.push({x:r.x.slice(),fx:r.fx,fxprime:r.fxprime.slice(),alpha:c}),r}function ee(e,t={}){t.maxIterations=t.maxIterations||500;let n=t.initialLayout||ae,r=t.lossFunction||B,i=ne(e,t),a=n(i,t),o=Object.keys(a),s=[];for(let e of o)s.push(a[e].x),s.push(a[e].y);let c=I(e=>{let t={};for(let n=0;n<o.length;++n){let r=o[n];t[r]={x:e[2*n],y:e[2*n+1],radius:a[r].radius}}return r(t,i)},s,t).x;for(let e=0;e<o.length;++e){let t=o[e];a[t].x=c[2*e],a[t].y=c[2*e+1]}return a}var te=1e-10;function z(e,t,n){return Math.min(e,t)*Math.min(e,t)*Math.PI<=n+te?Math.abs(e-t):k(r=>E(e,t,r)-n,0,e+t)}function ne(e,t={}){let n=t.distinct,r=e.map(e=>Object.assign({},e));function i(e){return e.join(`;`)}if(n){let e=new Map;for(let t of r)for(let n=0;n<t.sets.length;n++){let r=String(t.sets[n]);e.set(r,t.size+(e.get(r)||0));for(let i=n+1;i<t.sets.length;i++){let n=String(t.sets[i]),a=`${r};${n}`,o=`${n};${r}`;e.set(a,t.size+(e.get(a)||0)),e.set(o,t.size+(e.get(o)||0))}}for(let t of r)t.sets.length<3&&(t.size=e.get(i(t.sets)))}let a=[],o=new Set;for(let e of r)if(e.sets.length===1)a.push(e.sets[0]);else if(e.sets.length===2){let t=e.sets[0],n=e.sets[1];o.add(i(e.sets)),o.add(i([n,t]))}a.sort((e,t)=>e===t?0:e<t?-1:1);for(let e=0;e<a.length;++e){let t=a[e];for(let n=e+1;n<a.length;++n){let e=a[n];o.has(i([t,e]))||r.push({sets:[t,e],size:0})}}return r}function re(e,t,n){let r=j(t.length,t.length),i=j(t.length,t.length);return e.filter(e=>e.sets.length===2).forEach(e=>{let a=n[e.sets[0]],o=n[e.sets[1]],s=z(Math.sqrt(t[a].size/Math.PI),Math.sqrt(t[o].size/Math.PI),e.size);r[a][o]=r[o][a]=s;let c=0;e.size+1e-10>=Math.min(t[a].size,t[o].size)?c=1:e.size<=1e-10&&(c=-1),i[a][o]=i[o][a]=c}),{distances:r,constraints:i}}function ie(e,t,n,r){for(let e=0;e<t.length;++e)t[e]=0;let i=0;for(let a=0;a<n.length;++a){let o=e[2*a],s=e[2*a+1];for(let c=a+1;c<n.length;++c){let l=e[2*c],u=e[2*c+1],d=n[a][c],f=r[a][c],p=(l-o)*(l-o)+(u-s)*(u-s),m=Math.sqrt(p),h=p-d*d;f>0&&m<=d||f<0&&m>=d||(i+=2*h*h,t[2*a]+=4*h*(o-l),t[2*a+1]+=4*h*(s-u),t[2*c]+=4*h*(l-o),t[2*c+1]+=4*h*(u-s))}}return i}function ae(e,t={}){let n=se(e,t),r=t.lossFunction||B;if(e.length>=8){let i=oe(e,t),a=r(i,e),o=r(n,e);a+1e-8<o&&(n=i)}return n}function oe(e,t={}){let n=t.restarts||10,r=[],i={};for(let t of e)t.sets.length===1&&(i[t.sets[0]]=r.length,r.push(t));let{distances:a,constraints:o}=re(e,r,i),s=N(a.map(N))/a.length;a=a.map(e=>e.map(e=>e/s));let c=(e,t)=>ie(e,t,a,o),l=null;for(let e=0;e<n;++e){let e=R(c,A(a.length*2).map(Math.random),t);(!l||e.fx<l.fx)&&(l=e)}let u=l.x,d={};for(let e=0;e<r.length;++e){let t=r[e];d[t.sets[0]]={x:u[2*e]*s,y:u[2*e+1]*s,radius:Math.sqrt(t.size/Math.PI)}}if(t.history)for(let e of t.history)P(e.x,s);return d}function se(e,t){let n=t&&t.lossFunction?t.lossFunction:B,r={},i={};for(let t of e)if(t.sets.length===1){let e=t.sets[0];r[e]={x:1e10,y:1e10,rowid:r.length,size:t.size,radius:Math.sqrt(t.size/Math.PI)},i[e]=[]}e=e.filter(e=>e.sets.length===2);for(let t of e){let e=t.weight==null?1:t.weight,n=t.sets[0],a=t.sets[1];t.size+te>=Math.min(r[n].size,r[a].size)&&(e=0),i[n].push({set:a,size:t.size,weight:e}),i[a].push({set:n,size:t.size,weight:e})}let a=[];Object.keys(i).forEach(e=>{let t=0;for(let n=0;n<i[e].length;++n)t+=i[e][n].size*i[e][n].weight;a.push({set:e,size:t})});function o(e,t){return t.size-e.size}a.sort(o);let s={};function c(e){return e.set in s}function l(e,t){r[t].x=e.x,r[t].y=e.y,s[t]=!0}l({x:0,y:0},a[0].set);for(let t=1;t<a.length;++t){let s=a[t].set,d=i[s].filter(c),f=r[s];if(d.sort(o),d.length===0)throw`ERROR: missing pairwise overlap information`;let p=[];for(var u=0;u<d.length;++u){let e=r[d[u].set],t=z(f.radius,e.radius,d[u].size);p.push({x:e.x+t,y:e.y}),p.push({x:e.x-t,y:e.y}),p.push({y:e.y+t,x:e.x}),p.push({y:e.y-t,x:e.x});for(let n=u+1;n<d.length;++n){let i=r[d[n].set],a=z(f.radius,i.radius,d[n].size),o=D({x:e.x,y:e.y,radius:t},{x:i.x,y:i.y,radius:a});p.push(...o)}}let m=1e50,h=p[0];for(let t of p){r[s].x=t.x,r[s].y=t.y;let i=n(r,e);i<m&&(m=i,h=t)}l(h,s)}return r}function B(e,t){let n=0;for(let r of t){if(r.sets.length===1)continue;let t;if(r.sets.length===2){let n=e[r.sets[0]],i=e[r.sets[1]];t=E(n.radius,i.radius,T(n,i))}else t=x(r.sets.map(t=>e[t]));let i=r.weight==null?1:r.weight;n+=i*(t-r.size)*(t-r.size)}return n}function ce(e,t){let n=0;for(let r of t){if(r.sets.length===1)continue;let t;if(r.sets.length===2){let n=e[r.sets[0]],i=e[r.sets[1]];t=E(n.radius,i.radius,T(n,i))}else t=x(r.sets.map(t=>e[t]));let i=r.weight==null?1:r.weight,a=Math.log((t+1)/(r.size+1));n+=i*a*a}return n}function le(e,t,n){if(n==null?e.sort((e,t)=>t.radius-e.radius):e.sort(n),e.length>0){let t=e[0].x,n=e[0].y;for(let r of e)r.x-=t,r.y-=n}if(e.length===2&&T(e[0],e[1])<Math.abs(e[1].radius-e[0].radius)&&(e[1].x=e[0].x+e[0].radius-e[1].radius-1e-10,e[1].y=e[0].y),e.length>1){let n=Math.atan2(e[1].x,e[1].y)-t,r=Math.cos(n),i=Math.sin(n);for(let t of e){let e=t.x,n=t.y;t.x=r*e-i*n,t.y=i*e+r*n}}if(e.length>2){let n=Math.atan2(e[2].x,e[2].y)-t;for(;n<0;)n+=2*Math.PI;for(;n>2*Math.PI;)n-=2*Math.PI;if(n>Math.PI){let t=e[1].y/(1e-10+e[1].x);for(let n of e){var r=(n.x+t*n.y)/(1+t*t);n.x=2*r-n.x,n.y=2*r*t-n.y}}}}function ue(e){e.forEach(e=>{e.parent=e});function t(e){return e.parent!==e&&(e.parent=t(e.parent)),e.parent}function n(e,n){let r=t(e);r.parent=t(n)}for(let t=0;t<e.length;++t)for(let r=t+1;r<e.length;++r){let i=e[t].radius+e[r].radius;T(e[t],e[r])+1e-10<i&&n(e[r],e[t])}let r=new Map;for(let n=0;n<e.length;++n){let i=t(e[n]).parent.setid;r.has(i)||r.set(i,[]),r.get(i).push(e[n])}return e.forEach(e=>{delete e.parent}),Array.from(r.values())}function V(e){let t=t=>({max:e.reduce((e,n)=>Math.max(e,n[t]+n.radius),-1/0),min:e.reduce((e,n)=>Math.min(e,n[t]-n.radius),1/0)});return{xRange:t(`x`),yRange:t(`y`)}}function de(e,t,n){t??=Math.PI/2;let r=me(e).map(e=>Object.assign({},e)),i=ue(r);for(let e of i){le(e,t,n);let r=V(e);e.size=(r.xRange.max-r.xRange.min)*(r.yRange.max-r.yRange.min),e.bounds=r}i.sort((e,t)=>t.size-e.size),r=i[0];let a=r.bounds,o=(a.xRange.max-a.xRange.min)/50;function s(e,t,n){if(!e)return;let i=e.bounds,s,c;if(t)s=a.xRange.max-i.xRange.min+o;else{s=a.xRange.max-i.xRange.max;let e=(i.xRange.max-i.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;e<0&&(s+=e)}if(n)c=a.yRange.max-i.yRange.min+o;else{c=a.yRange.max-i.yRange.max;let e=(i.yRange.max-i.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;e<0&&(c+=e)}for(let t of e)t.x+=s,t.y+=c,r.push(t)}let c=1;for(;c<i.length;)s(i[c],!0,!1),s(i[c+1],!1,!0),s(i[c+2],!0,!0),c+=3,a=V(r);return pe(r)}function fe(e,t,n,r,i){let a=me(e);t-=2*r,n-=2*r;let{xRange:o,yRange:s}=V(a);if(o.max===o.min||s.max===s.min)return console.log(`not scaling solution: zero size detected`),e;let c,l;if(i){let e=Math.sqrt(i/Math.PI)*2;c=t/e,l=n/e}else c=t/(o.max-o.min),l=n/(s.max-s.min);let u=Math.min(l,c),d=(t-(o.max-o.min)*u)/2,f=(n-(s.max-s.min)*u)/2;return pe(a.map(e=>({radius:u*e.radius,x:r+d+(e.x-o.min)*u,y:r+f+(e.y-s.min)*u,setid:e.setid})))}function pe(e){let t={};for(let n of e)t[n.setid]=n;return t}function me(e){return Object.keys(e).map(t=>Object.assign(e[t],{setid:t}))}function he(e={}){let t=!1,n=600,r=350,i=15,a=1e3,o=Math.PI/2,s=!0,c=null,l=!0,u=!0,d=null,f=null,p=!1,m=null,h=e&&e.symmetricalTextCentre?e.symmetricalTextCentre:!1,g={},_=e&&e.colourScheme?e.colourScheme:e&&e.colorScheme?e.colorScheme:[`#1f77b4`,`#ff7f0e`,`#2ca02c`,`#d62728`,`#9467bd`,`#8c564b`,`#e377c2`,`#7f7f7f`,`#bcbd22`,`#17becf`],v=0,y=function(e){if(e in g)return g[e];var t=g[e]=_[v];return v+=1,v>=_.length&&(v=0),t},b=ee,x=B;function S(g){let _=g.datum(),v=new Set;_.forEach(e=>{e.size==0&&e.sets.length==1&&v.add(e.sets[0])}),_=_.filter(e=>!e.sets.some(e=>v.has(e)));let S={},C={};if(_.length>0){let e=b(_,{lossFunction:x,distinct:p});s&&(e=de(e,o,f)),S=fe(e,n,r,i,c),C=ve(S,_,h)}let w={};_.forEach(e=>{e.label&&(w[e.sets]=e.label)});function T(e){if(e.sets in w)return w[e.sets];if(e.sets.length==1)return``+e.sets[0]}g.selectAll(`svg`).data([S]).enter().append(`svg`);let E=g.select(`svg`);t?E.attr(`viewBox`,`0 0 ${n} ${r}`):E.attr(`width`,n).attr(`height`,r);let D={},O=!1;E.selectAll(`.venn-area path`).each(function(e){let t=this.getAttribute(`d`);e.sets.length==1&&t&&!p&&(O=!0,D[e.sets[0]]=be(t))});function k(e){return t=>Ce(e.sets.map(e=>{let i=D[e],a=S[e];return i||={x:n/2,y:r/2,radius:1},a||={x:n/2,y:r/2,radius:1},{x:i.x*(1-t)+a.x*t,y:i.y*(1-t)+a.y*t,radius:i.radius*(1-t)+a.radius*t}}),m)}let A=E.selectAll(`.venn-area`).data(_,e=>e.sets),j=A.enter().append(`g`).attr(`class`,e=>`venn-area venn-${e.sets.length==1?`circle`:`intersection`}${e.colour||e.color?` venn-coloured`:``}`).attr(`data-venn-sets`,e=>e.sets.join(`_`)),M=j.append(`path`),N=j.append(`text`).attr(`class`,`label`).text(e=>T(e)).attr(`text-anchor`,`middle`).attr(`dy`,`.35em`).attr(`x`,n/2).attr(`y`,r/2);u&&(M.style(`fill-opacity`,`0`).filter(e=>e.sets.length==1).style(`fill`,e=>e.colour?e.colour:e.color?e.color:y(e.sets)).style(`fill-opacity`,`.25`),N.style(`fill`,t=>t.colour||t.color?`#FFF`:e.textFill?e.textFill:t.sets.length==1?y(t.sets):`#444`));function P(e){return typeof e.transition==`function`?e.transition(`venn`).duration(a):e}let F=g;O&&typeof F.transition==`function`?(F=P(g),F.selectAll(`path`).attrTween(`d`,k)):F.selectAll(`path`).attr(`d`,e=>Ce(e.sets.map(e=>S[e])),m);let I=F.selectAll(`text`).filter(e=>e.sets in C).text(e=>T(e)).attr(`x`,e=>Math.floor(C[e.sets].x)).attr(`y`,e=>Math.floor(C[e.sets].y));l&&(O?`on`in I?I.on(`end`,H(S,T)):I.each(`end`,H(S,T)):I.each(H(S,T)));let L=P(A.exit()).remove();typeof A.transition==`function`&&L.selectAll(`path`).attrTween(`d`,k);let R=L.selectAll(`text`).attr(`x`,n/2).attr(`y`,r/2);return d!==null&&(N.style(`font-size`,`0px`),I.style(`font-size`,d),R.style(`font-size`,`0px`)),{circles:S,textCentres:C,nodes:A,enter:j,update:F,exit:L}}return S.wrap=function(e){return arguments.length?(l=e,S):l},S.useViewBox=function(){return t=!0,S},S.width=function(e){return arguments.length?(n=e,S):n},S.height=function(e){return arguments.length?(r=e,S):r},S.padding=function(e){return arguments.length?(i=e,S):i},S.distinct=function(e){return arguments.length?(p=e,S):p},S.colours=function(e){return arguments.length?(y=e,S):y},S.colors=function(e){return arguments.length?(y=e,S):y},S.fontSize=function(e){return arguments.length?(d=e,S):d},S.round=function(e){return arguments.length?(m=e,S):m},S.duration=function(e){return arguments.length?(a=e,S):a},S.layoutFunction=function(e){return arguments.length?(b=e,S):b},S.normalize=function(e){return arguments.length?(s=e,S):s},S.scaleToFit=function(e){return arguments.length?(c=e,S):c},S.styled=function(e){return arguments.length?(u=e,S):u},S.orientation=function(e){return arguments.length?(o=e,S):o},S.orientationOrder=function(e){return arguments.length?(f=e,S):f},S.lossFunction=function(e){return arguments.length?(x=e==="default"?B:e===`logRatio`?ce:e,S):x},S}function H(e,t){return function(n){let r=this,i=e[n.sets[0]].radius||50,a=t(n)||``,o=a.split(/\s+/).reverse(),s=(a.length+o.length)/3,c=o.pop(),l=[c],u=0,d=1.1;r.textContent=null;let f=[];function p(e){let t=r.ownerDocument.createElementNS(r.namespaceURI,`tspan`);return t.textContent=e,f.push(t),r.append(t),t}let m=p(c);for(;c=o.pop(),c;){l.push(c);let e=l.join(` `);m.textContent=e,e.length>s&&m.getComputedTextLength()>i&&(l.pop(),m.textContent=l.join(` `),l=[c],m=p(c),u++)}let h=.35-u*d/2,g=r.getAttribute(`x`),_=r.getAttribute(`y`);f.forEach((e,t)=>{e.setAttribute(`x`,g),e.setAttribute(`y`,_),e.setAttribute(`dy`,`${h+t*d}em`)})}}function U(e,t,n){let r=t[0].radius-T(t[0],e);for(let n=1;n<t.length;++n){let i=t[n].radius-T(t[n],e);i<=r&&(r=i)}for(let t=0;t<n.length;++t){let i=T(n[t],e)-n[t].radius;i<=r&&(r=i)}return r}function ge(e,t,n){let r=[];for(let t of e)r.push({x:t.x,y:t.y}),r.push({x:t.x+t.radius/2,y:t.y}),r.push({x:t.x-t.radius/2,y:t.y}),r.push({x:t.x,y:t.y+t.radius/2}),r.push({x:t.x,y:t.y-t.radius/2});let i=r[0],a=U(r[0],e,t);for(let n=1;n<r.length;++n){let o=U(r[n],e,t);o>=a&&(i=r[n],a=o)}let o=I(n=>-1*U({x:n[0],y:n[1]},e,t),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,s={x:n?0:o[0],y:o[1]},c=!0;for(let t of e)if(T(s,t)>t.radius){c=!1;break}for(let e of t)if(T(s,e)<e.radius){c=!1;break}if(c)return s;if(e.length==1)return{x:e[0].x,y:e[0].y};let l={};return x(e,l),l.arcs.length===0?{x:0,y:-1e3,disjoint:!0}:l.arcs.length==1?{x:l.arcs[0].circle.x,y:l.arcs[0].circle.y}:t.length?ge(e,[]):O(l.arcs.map(e=>e.p1))}function _e(e){let t={},n=Object.keys(e);for(let e of n)t[e]=[];for(let r=0;r<n.length;r++){let i=n[r],a=e[i];for(let o=r+1;o<n.length;++o){let r=n[o],s=e[r],c=T(a,s);c+s.radius<=a.radius+1e-10?t[r].push(i):c+a.radius<=s.radius+1e-10&&t[i].push(r)}}return t}function ve(e,t,n){let r={},i=_e(e);for(let a=0;a<t.length;++a){let o=t[a].sets,s={},c={};for(let e=0;e<o.length;++e){s[o[e]]=!0;let t=i[o[e]];for(let e=0;e<t.length;++e)c[t[e]]=!0}let l=[],u=[];for(let t in e)t in s?l.push(e[t]):t in c||u.push(e[t]);let d=ge(l,u,n);r[o]=d,d.disjoint&&t[a].size>0&&console.log(`WARNING: area `+o+` not represented on screen`)}return r}function ye(e,t,n){let r=[];return r.push(`
1
+ import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{p as t}from"./src-B6xuSHsQ.js";import{H as n,K as r,U as i,a,b as o,c as s,et as c,f as l,nt as u,rt as d,tt as f,v as p,w as m,y as h}from"./chunk-DU6HZSFF-CHHMX1CR.js";import{i as g}from"./chunk-75Z2AOVW-962-yyBD.js";import{t as _}from"./rough.esm-Dy-Kn_BL.js";import{p as v}from"./mermaid-diagram-kbWN558y.js";var y=(e,t)=>u(e,`a`,-t),b=1e-10;function x(e,t){let n=C(e),r=n.filter(t=>S(t,e)),i=0,a=0,o=[];if(r.length>1){let t=O(r);for(let e=0;e<r.length;++e){let n=r[e];n.angle=Math.atan2(n.x-t.x,n.y-t.y)}r.sort((e,t)=>t.angle-e.angle);let n=r[r.length-1];for(let t=0;t<r.length;++t){let s=r[t];a+=(n.x+s.x)*(s.y-n.y);let c={x:(s.x+n.x)/2,y:(s.y+n.y)/2},l=null;for(let t=0;t<s.parentIndex.length;++t)if(n.parentIndex.includes(s.parentIndex[t])){let r=e[s.parentIndex[t]],i=Math.atan2(s.x-r.x,s.y-r.y),a=Math.atan2(n.x-r.x,n.y-r.y),o=a-i;o<0&&(o+=2*Math.PI);let u=a-o/2,d=T(c,{x:r.x+r.radius*Math.sin(u),y:r.y+r.radius*Math.cos(u)});d>r.radius*2&&(d=r.radius*2),(l==null||l.width>d)&&(l={circle:r,width:d,p1:s,p2:n,large:d>r.radius,sweep:!0})}l!=null&&(o.push(l),i+=w(l.circle.radius,l.width),n=s)}}else{let t=e[0];for(let n=1;n<e.length;++n)e[n].radius<t.radius&&(t=e[n]);let n=!1;for(let r=0;r<e.length;++r)if(T(e[r],t)>Math.abs(t.radius-e[r].radius)){n=!0;break}n?i=a=0:(i=t.radius*t.radius*Math.PI,o.push({circle:t,p1:{x:t.x,y:t.y+t.radius},p2:{x:t.x-b,y:t.y+t.radius},width:t.radius*2,large:!0,sweep:!0}))}return a/=2,t&&(t.area=i+a,t.arcArea=i,t.polygonArea=a,t.arcs=o,t.innerPoints=r,t.intersectionPoints=n),i+a}function S(e,t){return t.every(t=>T(e,t)<t.radius+b)}function C(e){let t=[];for(let n=0;n<e.length;++n)for(let r=n+1;r<e.length;++r){let i=D(e[n],e[r]);for(let e of i)e.parentIndex=[n,r],t.push(e)}return t}function w(e,t){return e*e*Math.acos(1-t/e)-(e-t)*Math.sqrt(t*(2*e-t))}function T(e,t){return Math.sqrt((e.x-t.x)*(e.x-t.x)+(e.y-t.y)*(e.y-t.y))}function E(e,t,n){if(n>=e+t)return 0;if(n<=Math.abs(e-t))return Math.PI*Math.min(e,t)*Math.min(e,t);let r=e-(n*n-t*t+e*e)/(2*n),i=t-(n*n-e*e+t*t)/(2*n);return w(e,r)+w(t,i)}function D(e,t){let n=T(e,t),r=e.radius,i=t.radius;if(n>=r+i||n<=Math.abs(r-i))return[];let a=(r*r-i*i+n*n)/(2*n),o=Math.sqrt(r*r-a*a),s=e.x+a*(t.x-e.x)/n,c=e.y+a*(t.y-e.y)/n,l=-(t.y-e.y)*(o/n),u=-(t.x-e.x)*(o/n);return[{x:s+l,y:c-u},{x:s-l,y:c+u}]}function O(e){let t={x:0,y:0};for(let n of e)t.x+=n.x,t.y+=n.y;return t.x/=e.length,t.y/=e.length,t}function k(e,t,n,r){r||={};let i=r.maxIterations||100,a=r.tolerance||1e-10,o=e(t),s=e(n),c=n-t;if(o*s>0)throw`Initial bisect points must have opposite signs`;if(o===0)return t;if(s===0)return n;for(let n=0;n<i;++n){c/=2;let n=t+c,r=e(n);if(r*o>=0&&(t=n),Math.abs(c)<a||r===0)return n}return t+c}function A(e){let t=Array(e);for(let n=0;n<e;++n)t[n]=0;return t}function j(e,t){return A(e).map(()=>A(t))}function M(e,t){let n=0;for(let r=0;r<e.length;++r)n+=e[r]*t[r];return n}function N(e){return Math.sqrt(M(e,e))}function P(e,t,n){for(let r=0;r<t.length;++r)e[r]=t[r]*n}function F(e,t,n,r,i){for(let a=0;a<e.length;++a)e[a]=t*n[a]+r*i[a]}function I(e,t,n){n||={};let r=n.maxIterations||t.length*200,i=n.nonZeroDelta||1.05,a=n.zeroDelta||.001,o=n.minErrorDelta||1e-6,s=n.minErrorDelta||1e-5,c=n.rho===void 0?1:n.rho,l=n.chi===void 0?2:n.chi,u=n.psi===void 0?-.5:n.psi,d=n.sigma===void 0?.5:n.sigma,f,p=t.length,m=Array(p+1);m[0]=t,m[0].fx=e(t),m[0].id=0;for(let n=0;n<p;++n){let r=t.slice();r[n]=r[n]?r[n]*i:a,m[n+1]=r,m[n+1].fx=e(r),m[n+1].id=n+1}function h(e){for(let t=0;t<e.length;t++)m[p][t]=e[t];m[p].fx=e.fx}let g=(e,t)=>e.fx-t.fx,_=t.slice(),v=t.slice(),y=t.slice(),b=t.slice();for(let t=0;t<r;++t){if(m.sort(g),n.history){let e=m.map(e=>{let t=e.slice();return t.fx=e.fx,t.id=e.id,t});e.sort((e,t)=>e.id-t.id),n.history.push({x:m[0].slice(),fx:m[0].fx,simplex:e})}f=0;for(let e=0;e<p;++e)f=Math.max(f,Math.abs(m[0][e]-m[1][e]));if(Math.abs(m[0].fx-m[p].fx)<o&&f<s)break;for(let e=0;e<p;++e){_[e]=0;for(let t=0;t<p;++t)_[e]+=m[t][e];_[e]/=p}let t=m[p];if(F(v,1+c,_,-c,t),v.fx=e(v),v.fx<m[0].fx)F(b,1+l,_,-l,t),b.fx=e(b),b.fx<v.fx?h(b):h(v);else if(v.fx>=m[p-1].fx){let n=!1;if(v.fx>t.fx?(F(y,1+u,_,-u,t),y.fx=e(y),y.fx<t.fx?h(y):n=!0):(F(y,1-u*c,_,u*c,t),y.fx=e(y),y.fx<v.fx?h(y):n=!0),n){if(d>=1)break;for(let t=1;t<m.length;++t)F(m[t],1-d,m[0],d,m[t]),m[t].fx=e(m[t])}}else h(v)}return m.sort(g),{fx:m[0].fx,x:m[0]}}function L(e,t,n,r,i,a,o){let s=n.fx,c=M(n.fxprime,t),l=s,u=s,d=c,f=0;i||=1,a||=1e-6,o||=.1;function p(u,f,p){for(let m=0;m<16;++m)if(i=(u+f)/2,F(r.x,1,n.x,i,t),l=r.fx=e(r.x,r.fxprime),d=M(r.fxprime,t),l>s+a*i*c||l>=p)f=i;else{if(Math.abs(d)<=-o*c)return i;d*(f-u)>=0&&(f=u),u=i,p=l}return 0}for(let m=0;m<10;++m){if(F(r.x,1,n.x,i,t),l=r.fx=e(r.x,r.fxprime),d=M(r.fxprime,t),l>s+a*i*c||m&&l>=u)return p(f,i,u);if(Math.abs(d)<=-o*c)return i;if(d>=0)return p(i,f,l);u=l,f=i,i*=2}return i}function R(e,t,n){let r={x:t.slice(),fx:0,fxprime:t.slice()},i={x:t.slice(),fx:0,fxprime:t.slice()},a=t.slice(),o,s,c=1,l;n||={},l=n.maxIterations||t.length*20,r.fx=e(r.x,r.fxprime),o=r.fxprime.slice(),P(o,r.fxprime,-1);for(let t=0;t<l;++t){if(c=L(e,o,r,i,c),n.history&&n.history.push({x:r.x.slice(),fx:r.fx,fxprime:r.fxprime.slice(),alpha:c}),!c)P(o,r.fxprime,-1);else{F(a,1,i.fxprime,-1,r.fxprime);let e=M(r.fxprime,r.fxprime),t=Math.max(0,M(a,i.fxprime)/e);F(o,t,o,-1,i.fxprime),s=r,r=i,i=s}if(N(r.fxprime)<=1e-5)break}return n.history&&n.history.push({x:r.x.slice(),fx:r.fx,fxprime:r.fxprime.slice(),alpha:c}),r}function ee(e,t={}){t.maxIterations=t.maxIterations||500;let n=t.initialLayout||ae,r=t.lossFunction||B,i=ne(e,t),a=n(i,t),o=Object.keys(a),s=[];for(let e of o)s.push(a[e].x),s.push(a[e].y);let c=I(e=>{let t={};for(let n=0;n<o.length;++n){let r=o[n];t[r]={x:e[2*n],y:e[2*n+1],radius:a[r].radius}}return r(t,i)},s,t).x;for(let e=0;e<o.length;++e){let t=o[e];a[t].x=c[2*e],a[t].y=c[2*e+1]}return a}var te=1e-10;function z(e,t,n){return Math.min(e,t)*Math.min(e,t)*Math.PI<=n+te?Math.abs(e-t):k(r=>E(e,t,r)-n,0,e+t)}function ne(e,t={}){let n=t.distinct,r=e.map(e=>Object.assign({},e));function i(e){return e.join(`;`)}if(n){let e=new Map;for(let t of r)for(let n=0;n<t.sets.length;n++){let r=String(t.sets[n]);e.set(r,t.size+(e.get(r)||0));for(let i=n+1;i<t.sets.length;i++){let n=String(t.sets[i]),a=`${r};${n}`,o=`${n};${r}`;e.set(a,t.size+(e.get(a)||0)),e.set(o,t.size+(e.get(o)||0))}}for(let t of r)t.sets.length<3&&(t.size=e.get(i(t.sets)))}let a=[],o=new Set;for(let e of r)if(e.sets.length===1)a.push(e.sets[0]);else if(e.sets.length===2){let t=e.sets[0],n=e.sets[1];o.add(i(e.sets)),o.add(i([n,t]))}a.sort((e,t)=>e===t?0:e<t?-1:1);for(let e=0;e<a.length;++e){let t=a[e];for(let n=e+1;n<a.length;++n){let e=a[n];o.has(i([t,e]))||r.push({sets:[t,e],size:0})}}return r}function re(e,t,n){let r=j(t.length,t.length),i=j(t.length,t.length);return e.filter(e=>e.sets.length===2).forEach(e=>{let a=n[e.sets[0]],o=n[e.sets[1]],s=z(Math.sqrt(t[a].size/Math.PI),Math.sqrt(t[o].size/Math.PI),e.size);r[a][o]=r[o][a]=s;let c=0;e.size+1e-10>=Math.min(t[a].size,t[o].size)?c=1:e.size<=1e-10&&(c=-1),i[a][o]=i[o][a]=c}),{distances:r,constraints:i}}function ie(e,t,n,r){for(let e=0;e<t.length;++e)t[e]=0;let i=0;for(let a=0;a<n.length;++a){let o=e[2*a],s=e[2*a+1];for(let c=a+1;c<n.length;++c){let l=e[2*c],u=e[2*c+1],d=n[a][c],f=r[a][c],p=(l-o)*(l-o)+(u-s)*(u-s),m=Math.sqrt(p),h=p-d*d;f>0&&m<=d||f<0&&m>=d||(i+=2*h*h,t[2*a]+=4*h*(o-l),t[2*a+1]+=4*h*(s-u),t[2*c]+=4*h*(l-o),t[2*c+1]+=4*h*(u-s))}}return i}function ae(e,t={}){let n=se(e,t),r=t.lossFunction||B;if(e.length>=8){let i=oe(e,t),a=r(i,e),o=r(n,e);a+1e-8<o&&(n=i)}return n}function oe(e,t={}){let n=t.restarts||10,r=[],i={};for(let t of e)t.sets.length===1&&(i[t.sets[0]]=r.length,r.push(t));let{distances:a,constraints:o}=re(e,r,i),s=N(a.map(N))/a.length;a=a.map(e=>e.map(e=>e/s));let c=(e,t)=>ie(e,t,a,o),l=null;for(let e=0;e<n;++e){let e=R(c,A(a.length*2).map(Math.random),t);(!l||e.fx<l.fx)&&(l=e)}let u=l.x,d={};for(let e=0;e<r.length;++e){let t=r[e];d[t.sets[0]]={x:u[2*e]*s,y:u[2*e+1]*s,radius:Math.sqrt(t.size/Math.PI)}}if(t.history)for(let e of t.history)P(e.x,s);return d}function se(e,t){let n=t&&t.lossFunction?t.lossFunction:B,r={},i={};for(let t of e)if(t.sets.length===1){let e=t.sets[0];r[e]={x:1e10,y:1e10,rowid:r.length,size:t.size,radius:Math.sqrt(t.size/Math.PI)},i[e]=[]}e=e.filter(e=>e.sets.length===2);for(let t of e){let e=t.weight==null?1:t.weight,n=t.sets[0],a=t.sets[1];t.size+te>=Math.min(r[n].size,r[a].size)&&(e=0),i[n].push({set:a,size:t.size,weight:e}),i[a].push({set:n,size:t.size,weight:e})}let a=[];Object.keys(i).forEach(e=>{let t=0;for(let n=0;n<i[e].length;++n)t+=i[e][n].size*i[e][n].weight;a.push({set:e,size:t})});function o(e,t){return t.size-e.size}a.sort(o);let s={};function c(e){return e.set in s}function l(e,t){r[t].x=e.x,r[t].y=e.y,s[t]=!0}l({x:0,y:0},a[0].set);for(let t=1;t<a.length;++t){let s=a[t].set,d=i[s].filter(c),f=r[s];if(d.sort(o),d.length===0)throw`ERROR: missing pairwise overlap information`;let p=[];for(var u=0;u<d.length;++u){let e=r[d[u].set],t=z(f.radius,e.radius,d[u].size);p.push({x:e.x+t,y:e.y}),p.push({x:e.x-t,y:e.y}),p.push({y:e.y+t,x:e.x}),p.push({y:e.y-t,x:e.x});for(let n=u+1;n<d.length;++n){let i=r[d[n].set],a=z(f.radius,i.radius,d[n].size),o=D({x:e.x,y:e.y,radius:t},{x:i.x,y:i.y,radius:a});p.push(...o)}}let m=1e50,h=p[0];for(let t of p){r[s].x=t.x,r[s].y=t.y;let i=n(r,e);i<m&&(m=i,h=t)}l(h,s)}return r}function B(e,t){let n=0;for(let r of t){if(r.sets.length===1)continue;let t;if(r.sets.length===2){let n=e[r.sets[0]],i=e[r.sets[1]];t=E(n.radius,i.radius,T(n,i))}else t=x(r.sets.map(t=>e[t]));let i=r.weight==null?1:r.weight;n+=i*(t-r.size)*(t-r.size)}return n}function ce(e,t){let n=0;for(let r of t){if(r.sets.length===1)continue;let t;if(r.sets.length===2){let n=e[r.sets[0]],i=e[r.sets[1]];t=E(n.radius,i.radius,T(n,i))}else t=x(r.sets.map(t=>e[t]));let i=r.weight==null?1:r.weight,a=Math.log((t+1)/(r.size+1));n+=i*a*a}return n}function le(e,t,n){if(n==null?e.sort((e,t)=>t.radius-e.radius):e.sort(n),e.length>0){let t=e[0].x,n=e[0].y;for(let r of e)r.x-=t,r.y-=n}if(e.length===2&&T(e[0],e[1])<Math.abs(e[1].radius-e[0].radius)&&(e[1].x=e[0].x+e[0].radius-e[1].radius-1e-10,e[1].y=e[0].y),e.length>1){let n=Math.atan2(e[1].x,e[1].y)-t,r=Math.cos(n),i=Math.sin(n);for(let t of e){let e=t.x,n=t.y;t.x=r*e-i*n,t.y=i*e+r*n}}if(e.length>2){let n=Math.atan2(e[2].x,e[2].y)-t;for(;n<0;)n+=2*Math.PI;for(;n>2*Math.PI;)n-=2*Math.PI;if(n>Math.PI){let t=e[1].y/(1e-10+e[1].x);for(let n of e){var r=(n.x+t*n.y)/(1+t*t);n.x=2*r-n.x,n.y=2*r*t-n.y}}}}function ue(e){e.forEach(e=>{e.parent=e});function t(e){return e.parent!==e&&(e.parent=t(e.parent)),e.parent}function n(e,n){let r=t(e);r.parent=t(n)}for(let t=0;t<e.length;++t)for(let r=t+1;r<e.length;++r){let i=e[t].radius+e[r].radius;T(e[t],e[r])+1e-10<i&&n(e[r],e[t])}let r=new Map;for(let n=0;n<e.length;++n){let i=t(e[n]).parent.setid;r.has(i)||r.set(i,[]),r.get(i).push(e[n])}return e.forEach(e=>{delete e.parent}),Array.from(r.values())}function V(e){let t=t=>({max:e.reduce((e,n)=>Math.max(e,n[t]+n.radius),-1/0),min:e.reduce((e,n)=>Math.min(e,n[t]-n.radius),1/0)});return{xRange:t(`x`),yRange:t(`y`)}}function de(e,t,n){t??=Math.PI/2;let r=me(e).map(e=>Object.assign({},e)),i=ue(r);for(let e of i){le(e,t,n);let r=V(e);e.size=(r.xRange.max-r.xRange.min)*(r.yRange.max-r.yRange.min),e.bounds=r}i.sort((e,t)=>t.size-e.size),r=i[0];let a=r.bounds,o=(a.xRange.max-a.xRange.min)/50;function s(e,t,n){if(!e)return;let i=e.bounds,s,c;if(t)s=a.xRange.max-i.xRange.min+o;else{s=a.xRange.max-i.xRange.max;let e=(i.xRange.max-i.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;e<0&&(s+=e)}if(n)c=a.yRange.max-i.yRange.min+o;else{c=a.yRange.max-i.yRange.max;let e=(i.yRange.max-i.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;e<0&&(c+=e)}for(let t of e)t.x+=s,t.y+=c,r.push(t)}let c=1;for(;c<i.length;)s(i[c],!0,!1),s(i[c+1],!1,!0),s(i[c+2],!0,!0),c+=3,a=V(r);return pe(r)}function fe(e,t,n,r,i){let a=me(e);t-=2*r,n-=2*r;let{xRange:o,yRange:s}=V(a);if(o.max===o.min||s.max===s.min)return console.log(`not scaling solution: zero size detected`),e;let c,l;if(i){let e=Math.sqrt(i/Math.PI)*2;c=t/e,l=n/e}else c=t/(o.max-o.min),l=n/(s.max-s.min);let u=Math.min(l,c),d=(t-(o.max-o.min)*u)/2,f=(n-(s.max-s.min)*u)/2;return pe(a.map(e=>({radius:u*e.radius,x:r+d+(e.x-o.min)*u,y:r+f+(e.y-s.min)*u,setid:e.setid})))}function pe(e){let t={};for(let n of e)t[n.setid]=n;return t}function me(e){return Object.keys(e).map(t=>Object.assign(e[t],{setid:t}))}function he(e={}){let t=!1,n=600,r=350,i=15,a=1e3,o=Math.PI/2,s=!0,c=null,l=!0,u=!0,d=null,f=null,p=!1,m=null,h=e&&e.symmetricalTextCentre?e.symmetricalTextCentre:!1,g={},_=e&&e.colourScheme?e.colourScheme:e&&e.colorScheme?e.colorScheme:[`#1f77b4`,`#ff7f0e`,`#2ca02c`,`#d62728`,`#9467bd`,`#8c564b`,`#e377c2`,`#7f7f7f`,`#bcbd22`,`#17becf`],v=0,y=function(e){if(e in g)return g[e];var t=g[e]=_[v];return v+=1,v>=_.length&&(v=0),t},b=ee,x=B;function S(g){let _=g.datum(),v=new Set;_.forEach(e=>{e.size==0&&e.sets.length==1&&v.add(e.sets[0])}),_=_.filter(e=>!e.sets.some(e=>v.has(e)));let S={},C={};if(_.length>0){let e=b(_,{lossFunction:x,distinct:p});s&&(e=de(e,o,f)),S=fe(e,n,r,i,c),C=ve(S,_,h)}let w={};_.forEach(e=>{e.label&&(w[e.sets]=e.label)});function T(e){if(e.sets in w)return w[e.sets];if(e.sets.length==1)return``+e.sets[0]}g.selectAll(`svg`).data([S]).enter().append(`svg`);let E=g.select(`svg`);t?E.attr(`viewBox`,`0 0 ${n} ${r}`):E.attr(`width`,n).attr(`height`,r);let D={},O=!1;E.selectAll(`.venn-area path`).each(function(e){let t=this.getAttribute(`d`);e.sets.length==1&&t&&!p&&(O=!0,D[e.sets[0]]=be(t))});function k(e){return t=>Ce(e.sets.map(e=>{let i=D[e],a=S[e];return i||={x:n/2,y:r/2,radius:1},a||={x:n/2,y:r/2,radius:1},{x:i.x*(1-t)+a.x*t,y:i.y*(1-t)+a.y*t,radius:i.radius*(1-t)+a.radius*t}}),m)}let A=E.selectAll(`.venn-area`).data(_,e=>e.sets),j=A.enter().append(`g`).attr(`class`,e=>`venn-area venn-${e.sets.length==1?`circle`:`intersection`}${e.colour||e.color?` venn-coloured`:``}`).attr(`data-venn-sets`,e=>e.sets.join(`_`)),M=j.append(`path`),N=j.append(`text`).attr(`class`,`label`).text(e=>T(e)).attr(`text-anchor`,`middle`).attr(`dy`,`.35em`).attr(`x`,n/2).attr(`y`,r/2);u&&(M.style(`fill-opacity`,`0`).filter(e=>e.sets.length==1).style(`fill`,e=>e.colour?e.colour:e.color?e.color:y(e.sets)).style(`fill-opacity`,`.25`),N.style(`fill`,t=>t.colour||t.color?`#FFF`:e.textFill?e.textFill:t.sets.length==1?y(t.sets):`#444`));function P(e){return typeof e.transition==`function`?e.transition(`venn`).duration(a):e}let F=g;O&&typeof F.transition==`function`?(F=P(g),F.selectAll(`path`).attrTween(`d`,k)):F.selectAll(`path`).attr(`d`,e=>Ce(e.sets.map(e=>S[e])),m);let I=F.selectAll(`text`).filter(e=>e.sets in C).text(e=>T(e)).attr(`x`,e=>Math.floor(C[e.sets].x)).attr(`y`,e=>Math.floor(C[e.sets].y));l&&(O?`on`in I?I.on(`end`,H(S,T)):I.each(`end`,H(S,T)):I.each(H(S,T)));let L=P(A.exit()).remove();typeof A.transition==`function`&&L.selectAll(`path`).attrTween(`d`,k);let R=L.selectAll(`text`).attr(`x`,n/2).attr(`y`,r/2);return d!==null&&(N.style(`font-size`,`0px`),I.style(`font-size`,d),R.style(`font-size`,`0px`)),{circles:S,textCentres:C,nodes:A,enter:j,update:F,exit:L}}return S.wrap=function(e){return arguments.length?(l=e,S):l},S.useViewBox=function(){return t=!0,S},S.width=function(e){return arguments.length?(n=e,S):n},S.height=function(e){return arguments.length?(r=e,S):r},S.padding=function(e){return arguments.length?(i=e,S):i},S.distinct=function(e){return arguments.length?(p=e,S):p},S.colours=function(e){return arguments.length?(y=e,S):y},S.colors=function(e){return arguments.length?(y=e,S):y},S.fontSize=function(e){return arguments.length?(d=e,S):d},S.round=function(e){return arguments.length?(m=e,S):m},S.duration=function(e){return arguments.length?(a=e,S):a},S.layoutFunction=function(e){return arguments.length?(b=e,S):b},S.normalize=function(e){return arguments.length?(s=e,S):s},S.scaleToFit=function(e){return arguments.length?(c=e,S):c},S.styled=function(e){return arguments.length?(u=e,S):u},S.orientation=function(e){return arguments.length?(o=e,S):o},S.orientationOrder=function(e){return arguments.length?(f=e,S):f},S.lossFunction=function(e){return arguments.length?(x=e==="default"?B:e===`logRatio`?ce:e,S):x},S}function H(e,t){return function(n){let r=this,i=e[n.sets[0]].radius||50,a=t(n)||``,o=a.split(/\s+/).reverse(),s=(a.length+o.length)/3,c=o.pop(),l=[c],u=0,d=1.1;r.textContent=null;let f=[];function p(e){let t=r.ownerDocument.createElementNS(r.namespaceURI,`tspan`);return t.textContent=e,f.push(t),r.append(t),t}let m=p(c);for(;c=o.pop(),c;){l.push(c);let e=l.join(` `);m.textContent=e,e.length>s&&m.getComputedTextLength()>i&&(l.pop(),m.textContent=l.join(` `),l=[c],m=p(c),u++)}let h=.35-u*d/2,g=r.getAttribute(`x`),_=r.getAttribute(`y`);f.forEach((e,t)=>{e.setAttribute(`x`,g),e.setAttribute(`y`,_),e.setAttribute(`dy`,`${h+t*d}em`)})}}function U(e,t,n){let r=t[0].radius-T(t[0],e);for(let n=1;n<t.length;++n){let i=t[n].radius-T(t[n],e);i<=r&&(r=i)}for(let t=0;t<n.length;++t){let i=T(n[t],e)-n[t].radius;i<=r&&(r=i)}return r}function ge(e,t,n){let r=[];for(let t of e)r.push({x:t.x,y:t.y}),r.push({x:t.x+t.radius/2,y:t.y}),r.push({x:t.x-t.radius/2,y:t.y}),r.push({x:t.x,y:t.y+t.radius/2}),r.push({x:t.x,y:t.y-t.radius/2});let i=r[0],a=U(r[0],e,t);for(let n=1;n<r.length;++n){let o=U(r[n],e,t);o>=a&&(i=r[n],a=o)}let o=I(n=>-1*U({x:n[0],y:n[1]},e,t),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,s={x:n?0:o[0],y:o[1]},c=!0;for(let t of e)if(T(s,t)>t.radius){c=!1;break}for(let e of t)if(T(s,e)<e.radius){c=!1;break}if(c)return s;if(e.length==1)return{x:e[0].x,y:e[0].y};let l={};return x(e,l),l.arcs.length===0?{x:0,y:-1e3,disjoint:!0}:l.arcs.length==1?{x:l.arcs[0].circle.x,y:l.arcs[0].circle.y}:t.length?ge(e,[]):O(l.arcs.map(e=>e.p1))}function _e(e){let t={},n=Object.keys(e);for(let e of n)t[e]=[];for(let r=0;r<n.length;r++){let i=n[r],a=e[i];for(let o=r+1;o<n.length;++o){let r=n[o],s=e[r],c=T(a,s);c+s.radius<=a.radius+1e-10?t[r].push(i):c+a.radius<=s.radius+1e-10&&t[i].push(r)}}return t}function ve(e,t,n){let r={},i=_e(e);for(let a=0;a<t.length;++a){let o=t[a].sets,s={},c={};for(let e=0;e<o.length;++e){s[o[e]]=!0;let t=i[o[e]];for(let e=0;e<t.length;++e)c[t[e]]=!0}let l=[],u=[];for(let t in e)t in s?l.push(e[t]):t in c||u.push(e[t]);let d=ge(l,u,n);r[o]=d,d.disjoint&&t[a].size>0&&console.log(`WARNING: area `+o+` not represented on screen`)}return r}function ye(e,t,n){let r=[];return r.push(`
2
2
  M`,e,t),r.push(`
3
3
  m`,-n,0),r.push(`
4
4
  a`,n,n,0,1,0,n*2,0),r.push(`
@@ -1 +1 @@
1
- import"./chunk-FOHPRMQF-CoA4358r.js";import{i as e}from"./mermaid-parser.core-DK0kgowR.js";export{e as createWardleyServices};
1
+ import"./chunk-FOHPRMQF-CoA4358r.js";import{i as e}from"./mermaid-parser.core-CpkwJ-8U.js";export{e as createWardleyServices};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./mermaid-parser.core-DK0kgowR.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as n}from"./src-B6xuSHsQ.js";import{D as r,H as i,K as a,U as o,a as s,b as c,c as l,v as u,w as d,x as f,y as p}from"./chunk-DU6HZSFF-nxkO_ute.js";import{i as m}from"./chunk-75Z2AOVW-FUHgKXYa.js";import{t as h}from"./chunk-JWPE2WC7-DVXcaiue.js";import{p as g}from"./mermaid-diagram-CESNj6Ju.js";var _=t((e,t)=>{let n=e<=1?e*100:e;if(n<0||n>100)throw Error(`${t} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${e}`);return n},`toPercent`),v=t((e,t,n)=>({x:_(t,`${n} evolution`),y:_(e,`${n} visibility`)}),`toCoordinates`),y=t(e=>{if(e){if(e===`+<>`)return`bidirectional`;if(e===`+<`)return`backward`;if(e===`+>`)return`forward`}},`getFlowFromPort`),b=t(e=>{if(!e?.startsWith(`+`))return{};let t=/^\+'([^']*)'/.exec(e)?.[1];return e.includes(`<>`)?{flow:`bidirectional`,label:t}:e.includes(`<`)?{flow:`backward`,label:t}:e.includes(`>`)?{flow:`forward`,label:t}:{label:t}},`extractFlowFromArrow`),x=t((e,t)=>{if(h(e,t),e.size&&t.setSize(e.size.width,e.size.height),e.evolution){let n=e.evolution.stages.map(e=>e.secondName?`${e.name.trim()} / ${e.secondName.trim()}`:e.name.trim()),r=e.evolution.stages.filter(e=>e.boundary!==void 0).map(e=>e.boundary);t.updateAxes({stages:n,stageBoundaries:r})}if(e.anchors.forEach(e=>{let n=v(e.visibility,e.evolution,`Anchor "${e.name}"`);t.addNode(e.name,e.name,n.x,n.y,`anchor`)}),e.components.forEach(e=>{let n=v(e.visibility,e.evolution,`Component "${e.name}"`),r=e.label?(e.label.negX?-1:1)*e.label.offsetX:void 0,i=e.label?(e.label.negY?-1:1)*e.label.offsetY:void 0,a=e.decorator?.strategy;t.addNode(e.name,e.name,n.x,n.y,`component`,r,i,e.inertia,a)}),e.notes.forEach(e=>{let n=v(e.visibility,e.evolution,`Note "${e.text}"`);t.addNote(e.text,n.x,n.y)}),e.pipelines.forEach(e=>{let n=t.getNode(e.parent);if(!n||typeof n.y!=`number`)throw Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);let r=n.y;t.startPipeline(e.parent),e.components.forEach(n=>{let i=`${e.parent}_${n.name}`,a=n.label?(n.label.negX?-1:1)*n.label.offsetX:void 0,o=n.label?(n.label.negY?-1:1)*n.label.offsetY:void 0,s=_(n.evolution,`Pipeline component "${n.name}" evolution`);t.addNode(i,n.name,s,r,`pipeline-component`,a,o),t.addPipelineComponent(e.parent,i)})}),e.links.forEach(e=>{let n=!!e.arrow&&(e.arrow.includes(`-.->`)||e.arrow.includes(`.-.`)),r=y(e.fromPort)??y(e.toPort),{flow:i,label:a}=b(e.arrow);!r&&i&&(r=i);let o=e.linkLabel,s=a??o;t.addLink(t.resolveNodeId(e.from),t.resolveNodeId(e.to),n,s,r)}),e.evolves.forEach(e=>{let n=t.getNode(e.component);if(n?.y!==void 0){let r=_(e.target,`Evolve target for "${e.component}"`);t.addTrend(e.component,r,n.y)}}),e.annotations.length>0){let n=e.annotations[0],r=v(n.x,n.y,`Annotations box`);t.setAnnotationsBox(r.x,r.y)}e.annotation.forEach(e=>{let n=v(e.x,e.y,`Annotation ${e.number}`);t.addAnnotation(e.number,[{x:n.x,y:n.y}],e.text)}),e.accelerators.forEach(e=>{let n=v(e.x,e.y,`Accelerator "${e.name}"`);t.addAccelerator(e.name,n.x,n.y)}),e.deaccelerators.forEach(e=>{let n=v(e.x,e.y,`Deaccelerator "${e.name}"`);t.addDeaccelerator(e.name,n.x,n.y)})},`populateDb`),S={parser:{yy:void 0},parse:t(async t=>{let r=await e(`wardley`,t);n.debug(r);let i=S.parser?.yy;if(!i||typeof i.addNode!=`function`)throw Error(`parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);x(r,i)},`parse`)},C=new class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{t(this,`WardleyBuilder`)}addNode(e){let t=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...t,...e,className:e.className??t.className,labelOffsetX:e.labelOffsetX??t.labelOffsetX,labelOffsetY:e.labelOffsetY??t.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});let t=this.nodes.get(e);t&&(t.isPipelineParent=!0)}addPipelineComponent(e,t){let n=this.pipelines.get(e);n&&n.componentIds.push(t);let r=this.nodes.get(t);r&&(r.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,t){this.annotationsBox={x:e,y:t}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,t){this.size={width:e,height:t}}getNode(e){return this.nodes.get(e)}resolveNodeId(e){if(this.nodes.has(e))return e;for(let[t,n]of this.nodes)if(n.label===e)return t;return e}build(){let e=[];for(let t of this.nodes.values()){if(typeof t.x!=`number`||typeof t.y!=`number`)throw Error(`Node "${t.label}" is missing coordinates`);e.push(t)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}};function w(){return f()[`wardley-beta`]}t(w,`getConfig`);function T(e,t,n,r,i,a,o,s,c){C.addNode({id:e,label:t,x:n,y:r,className:i,labelOffsetX:a,labelOffsetY:o,inertia:s,sourceStrategy:c})}t(T,`addNode`);function E(e,t,n=!1,r,i){C.addLink({source:e,target:t,dashed:n,label:r,flow:i})}t(E,`addLink`);function D(e,t,n){C.addTrend({nodeId:e,targetX:t,targetY:n})}t(D,`addTrend`);function O(e,t,n){C.addAnnotation({number:e,coordinates:t,text:n})}t(O,`addAnnotation`);function k(e,t,n){C.addNote({text:e,x:t,y:n})}t(k,`addNote`);function A(e,t,n){C.addAccelerator({name:e,x:t,y:n})}t(A,`addAccelerator`);function j(e,t,n){C.addDeaccelerator({name:e,x:t,y:n})}t(j,`addDeaccelerator`);function M(e,t){C.setAnnotationsBox(e,t)}t(M,`setAnnotationsBox`);function N(e,t){C.setSize(e,t)}t(N,`setSize`);function P(e){C.startPipeline(e)}t(P,`startPipeline`);function F(e,t){C.addPipelineComponent(e,t)}t(F,`addPipelineComponent`);function I(e){C.setAxes(e)}t(I,`updateAxes`);function L(e){return C.getNode(e)}t(L,`getNode`);function R(e){return C.resolveNodeId(e)}t(R,`resolveNodeId`);function z(){return C.build()}t(z,`getWardleyData`);function B(){C.clear(),s()}t(B,`clear`);var V={getConfig:w,addNode:T,addLink:E,addTrend:D,addAnnotation:O,addNote:k,addAccelerator:A,addDeaccelerator:j,setAnnotationsBox:M,setSize:N,startPipeline:P,addPipelineComponent:F,updateAxes:I,getNode:L,resolveNodeId:R,getWardleyData:z,clear:B,setAccTitle:o,getAccTitle:p,setDiagramTitle:a,getDiagramTitle:d,getAccDescription:u,setAccDescription:i},H=[`Genesis`,`Custom Built`,`Product`,`Commodity`],U=t(()=>{let{themeVariables:e}=f();return{backgroundColor:e.wardley?.backgroundColor??e.background??`#fff`,axisColor:e.wardley?.axisColor??`#000`,axisTextColor:e.wardley?.axisTextColor??e.primaryTextColor??`#222`,gridColor:e.wardley?.gridColor??`rgba(100, 100, 100, 0.2)`,componentFill:e.wardley?.componentFill??`#fff`,componentStroke:e.wardley?.componentStroke??`#000`,componentLabelColor:e.wardley?.componentLabelColor??e.primaryTextColor??`#222`,linkStroke:e.wardley?.linkStroke??`#000`,evolutionStroke:e.wardley?.evolutionStroke??`#dc3545`,annotationStroke:e.wardley?.annotationStroke??`#000`,annotationTextColor:e.wardley?.annotationTextColor??e.primaryTextColor??`#222`,annotationFill:e.wardley?.annotationFill??e.background??`#fff`}},`getTheme`),W=t(()=>{let e=f()[`wardley-beta`];return{width:e?.width??900,height:e?.height??600,padding:e?.padding??48,nodeRadius:e?.nodeRadius??6,nodeLabelOffset:e?.nodeLabelOffset??8,axisFontSize:e?.axisFontSize??12,labelFontSize:e?.labelFontSize??10,showGrid:e?.showGrid??!1,useMaxWidth:e?.useMaxWidth??!0}},`getConfigValues`),G={parser:S,db:V,renderer:{draw:t((e,r,i,a)=>{n.debug(`Rendering Wardley map
1
+ import{n as e}from"./mermaid-parser.core-CpkwJ-8U.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as n}from"./src-B6xuSHsQ.js";import{D as r,H as i,K as a,U as o,a as s,b as c,c as l,v as u,w as d,x as f,y as p}from"./chunk-DU6HZSFF-CHHMX1CR.js";import{i as m}from"./chunk-75Z2AOVW-962-yyBD.js";import{t as h}from"./chunk-JWPE2WC7-DVXcaiue.js";import{p as g}from"./mermaid-diagram-kbWN558y.js";var _=t((e,t)=>{let n=e<=1?e*100:e;if(n<0||n>100)throw Error(`${t} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${e}`);return n},`toPercent`),v=t((e,t,n)=>({x:_(t,`${n} evolution`),y:_(e,`${n} visibility`)}),`toCoordinates`),y=t(e=>{if(e){if(e===`+<>`)return`bidirectional`;if(e===`+<`)return`backward`;if(e===`+>`)return`forward`}},`getFlowFromPort`),b=t(e=>{if(!e?.startsWith(`+`))return{};let t=/^\+'([^']*)'/.exec(e)?.[1];return e.includes(`<>`)?{flow:`bidirectional`,label:t}:e.includes(`<`)?{flow:`backward`,label:t}:e.includes(`>`)?{flow:`forward`,label:t}:{label:t}},`extractFlowFromArrow`),x=t((e,t)=>{if(h(e,t),e.size&&t.setSize(e.size.width,e.size.height),e.evolution){let n=e.evolution.stages.map(e=>e.secondName?`${e.name.trim()} / ${e.secondName.trim()}`:e.name.trim()),r=e.evolution.stages.filter(e=>e.boundary!==void 0).map(e=>e.boundary);t.updateAxes({stages:n,stageBoundaries:r})}if(e.anchors.forEach(e=>{let n=v(e.visibility,e.evolution,`Anchor "${e.name}"`);t.addNode(e.name,e.name,n.x,n.y,`anchor`)}),e.components.forEach(e=>{let n=v(e.visibility,e.evolution,`Component "${e.name}"`),r=e.label?(e.label.negX?-1:1)*e.label.offsetX:void 0,i=e.label?(e.label.negY?-1:1)*e.label.offsetY:void 0,a=e.decorator?.strategy;t.addNode(e.name,e.name,n.x,n.y,`component`,r,i,e.inertia,a)}),e.notes.forEach(e=>{let n=v(e.visibility,e.evolution,`Note "${e.text}"`);t.addNote(e.text,n.x,n.y)}),e.pipelines.forEach(e=>{let n=t.getNode(e.parent);if(!n||typeof n.y!=`number`)throw Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);let r=n.y;t.startPipeline(e.parent),e.components.forEach(n=>{let i=`${e.parent}_${n.name}`,a=n.label?(n.label.negX?-1:1)*n.label.offsetX:void 0,o=n.label?(n.label.negY?-1:1)*n.label.offsetY:void 0,s=_(n.evolution,`Pipeline component "${n.name}" evolution`);t.addNode(i,n.name,s,r,`pipeline-component`,a,o),t.addPipelineComponent(e.parent,i)})}),e.links.forEach(e=>{let n=!!e.arrow&&(e.arrow.includes(`-.->`)||e.arrow.includes(`.-.`)),r=y(e.fromPort)??y(e.toPort),{flow:i,label:a}=b(e.arrow);!r&&i&&(r=i);let o=e.linkLabel,s=a??o;t.addLink(t.resolveNodeId(e.from),t.resolveNodeId(e.to),n,s,r)}),e.evolves.forEach(e=>{let n=t.getNode(e.component);if(n?.y!==void 0){let r=_(e.target,`Evolve target for "${e.component}"`);t.addTrend(e.component,r,n.y)}}),e.annotations.length>0){let n=e.annotations[0],r=v(n.x,n.y,`Annotations box`);t.setAnnotationsBox(r.x,r.y)}e.annotation.forEach(e=>{let n=v(e.x,e.y,`Annotation ${e.number}`);t.addAnnotation(e.number,[{x:n.x,y:n.y}],e.text)}),e.accelerators.forEach(e=>{let n=v(e.x,e.y,`Accelerator "${e.name}"`);t.addAccelerator(e.name,n.x,n.y)}),e.deaccelerators.forEach(e=>{let n=v(e.x,e.y,`Deaccelerator "${e.name}"`);t.addDeaccelerator(e.name,n.x,n.y)})},`populateDb`),S={parser:{yy:void 0},parse:t(async t=>{let r=await e(`wardley`,t);n.debug(r);let i=S.parser?.yy;if(!i||typeof i.addNode!=`function`)throw Error(`parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);x(r,i)},`parse`)},C=new class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{t(this,`WardleyBuilder`)}addNode(e){let t=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...t,...e,className:e.className??t.className,labelOffsetX:e.labelOffsetX??t.labelOffsetX,labelOffsetY:e.labelOffsetY??t.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});let t=this.nodes.get(e);t&&(t.isPipelineParent=!0)}addPipelineComponent(e,t){let n=this.pipelines.get(e);n&&n.componentIds.push(t);let r=this.nodes.get(t);r&&(r.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,t){this.annotationsBox={x:e,y:t}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,t){this.size={width:e,height:t}}getNode(e){return this.nodes.get(e)}resolveNodeId(e){if(this.nodes.has(e))return e;for(let[t,n]of this.nodes)if(n.label===e)return t;return e}build(){let e=[];for(let t of this.nodes.values()){if(typeof t.x!=`number`||typeof t.y!=`number`)throw Error(`Node "${t.label}" is missing coordinates`);e.push(t)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}};function w(){return f()[`wardley-beta`]}t(w,`getConfig`);function T(e,t,n,r,i,a,o,s,c){C.addNode({id:e,label:t,x:n,y:r,className:i,labelOffsetX:a,labelOffsetY:o,inertia:s,sourceStrategy:c})}t(T,`addNode`);function E(e,t,n=!1,r,i){C.addLink({source:e,target:t,dashed:n,label:r,flow:i})}t(E,`addLink`);function D(e,t,n){C.addTrend({nodeId:e,targetX:t,targetY:n})}t(D,`addTrend`);function O(e,t,n){C.addAnnotation({number:e,coordinates:t,text:n})}t(O,`addAnnotation`);function k(e,t,n){C.addNote({text:e,x:t,y:n})}t(k,`addNote`);function A(e,t,n){C.addAccelerator({name:e,x:t,y:n})}t(A,`addAccelerator`);function j(e,t,n){C.addDeaccelerator({name:e,x:t,y:n})}t(j,`addDeaccelerator`);function M(e,t){C.setAnnotationsBox(e,t)}t(M,`setAnnotationsBox`);function N(e,t){C.setSize(e,t)}t(N,`setSize`);function P(e){C.startPipeline(e)}t(P,`startPipeline`);function F(e,t){C.addPipelineComponent(e,t)}t(F,`addPipelineComponent`);function I(e){C.setAxes(e)}t(I,`updateAxes`);function L(e){return C.getNode(e)}t(L,`getNode`);function R(e){return C.resolveNodeId(e)}t(R,`resolveNodeId`);function z(){return C.build()}t(z,`getWardleyData`);function B(){C.clear(),s()}t(B,`clear`);var V={getConfig:w,addNode:T,addLink:E,addTrend:D,addAnnotation:O,addNote:k,addAccelerator:A,addDeaccelerator:j,setAnnotationsBox:M,setSize:N,startPipeline:P,addPipelineComponent:F,updateAxes:I,getNode:L,resolveNodeId:R,getWardleyData:z,clear:B,setAccTitle:o,getAccTitle:p,setDiagramTitle:a,getDiagramTitle:d,getAccDescription:u,setAccDescription:i},H=[`Genesis`,`Custom Built`,`Product`,`Commodity`],U=t(()=>{let{themeVariables:e}=f();return{backgroundColor:e.wardley?.backgroundColor??e.background??`#fff`,axisColor:e.wardley?.axisColor??`#000`,axisTextColor:e.wardley?.axisTextColor??e.primaryTextColor??`#222`,gridColor:e.wardley?.gridColor??`rgba(100, 100, 100, 0.2)`,componentFill:e.wardley?.componentFill??`#fff`,componentStroke:e.wardley?.componentStroke??`#000`,componentLabelColor:e.wardley?.componentLabelColor??e.primaryTextColor??`#222`,linkStroke:e.wardley?.linkStroke??`#000`,evolutionStroke:e.wardley?.evolutionStroke??`#dc3545`,annotationStroke:e.wardley?.annotationStroke??`#000`,annotationTextColor:e.wardley?.annotationTextColor??e.primaryTextColor??`#222`,annotationFill:e.wardley?.annotationFill??e.background??`#fff`}},`getTheme`),W=t(()=>{let e=f()[`wardley-beta`];return{width:e?.width??900,height:e?.height??600,padding:e?.padding??48,nodeRadius:e?.nodeRadius??6,nodeLabelOffset:e?.nodeLabelOffset??8,axisFontSize:e?.axisFontSize??12,labelFontSize:e?.labelFontSize??10,showGrid:e?.showGrid??!1,useMaxWidth:e?.useMaxWidth??!0}},`getConfigValues`),G={parser:S,db:V,renderer:{draw:t((e,r,i,a)=>{n.debug(`Rendering Wardley map
2
2
  `+e);let o=W(),s=U(),c=o.nodeRadius*1.6,u=a.db,d=u.getWardleyData(),f=u.getDiagramTitle(),p=d.size?.width??o.width,m=d.size?.height??o.height,h=g(r);h.selectAll(`*`).remove(),l(h,m,p,o.useMaxWidth),h.attr(`viewBox`,`0 0 ${p} ${m}`);let _=h.append(`g`).attr(`class`,`wardley-map`),v=h.append(`defs`);v.append(`marker`).attr(`id`,`arrow-${r}`).attr(`viewBox`,`0 0 10 10`).attr(`refX`,9).attr(`refY`,5).attr(`markerWidth`,6).attr(`markerHeight`,6).attr(`orient`,`auto-start-reverse`).append(`path`).attr(`d`,`M 0 0 L 10 5 L 0 10 z`).attr(`fill`,s.evolutionStroke).attr(`stroke`,`none`),v.append(`marker`).attr(`id`,`link-arrow-end-${r}`).attr(`viewBox`,`0 0 10 10`).attr(`refX`,9).attr(`refY`,5).attr(`markerWidth`,5).attr(`markerHeight`,5).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 0 L 10 5 L 0 10 z`).attr(`fill`,s.linkStroke).attr(`stroke`,`none`),v.append(`marker`).attr(`id`,`link-arrow-start-${r}`).attr(`viewBox`,`0 0 10 10`).attr(`refX`,1).attr(`refY`,5).attr(`markerWidth`,5).attr(`markerHeight`,5).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 10 0 L 0 5 L 10 10 z`).attr(`fill`,s.linkStroke).attr(`stroke`,`none`),_.append(`rect`).attr(`class`,`wardley-background`).attr(`width`,p).attr(`height`,m).attr(`fill`,s.backgroundColor);let y=p-o.padding*2,b=m-o.padding*2;f&&_.append(`text`).attr(`class`,`wardley-title`).attr(`x`,p/2).attr(`y`,o.padding/2).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize*1.05).attr(`font-weight`,`bold`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(f);let x=t(e=>o.padding+e/100*y,`projectX`),S=t(e=>m-o.padding-e/100*b,`projectY`),C=_.append(`g`).attr(`class`,`wardley-axes`);C.append(`line`).attr(`x1`,o.padding).attr(`x2`,p-o.padding).attr(`y1`,m-o.padding).attr(`y2`,m-o.padding).attr(`stroke`,s.axisColor).attr(`stroke-width`,1),C.append(`line`).attr(`x1`,o.padding).attr(`x2`,o.padding).attr(`y1`,o.padding).attr(`y2`,m-o.padding).attr(`stroke`,s.axisColor).attr(`stroke-width`,1);let w=d.axes.xLabel??`Evolution`,T=d.axes.yLabel??`Visibility`;C.append(`text`).attr(`class`,`wardley-axis-label wardley-axis-label-x`).attr(`x`,o.padding+y/2).attr(`y`,m-o.padding/4).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize).attr(`font-weight`,`bold`).attr(`text-anchor`,`middle`).text(w),C.append(`text`).attr(`class`,`wardley-axis-label wardley-axis-label-y`).attr(`x`,o.padding/3).attr(`y`,o.padding+b/2).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize).attr(`font-weight`,`bold`).attr(`text-anchor`,`middle`).attr(`transform`,`rotate(-90 ${o.padding/3} ${o.padding+b/2})`).text(T);let E=d.axes.stages&&d.axes.stages.length>0?d.axes.stages:H;if(E.length>0){let e=_.append(`g`).attr(`class`,`wardley-stages`),t=d.axes.stageBoundaries,n=[];if(t&&t.length===E.length){let e=0;t.forEach(t=>{n.push({start:e,end:t}),e=t})}else{let e=1/E.length;E.forEach((t,r)=>{n.push({start:r*e,end:(r+1)*e})})}E.forEach((t,r)=>{let i=n[r],a=o.padding+i.start*y,c=(a+(o.padding+i.end*y))/2;r>0&&e.append(`line`).attr(`x1`,a).attr(`x2`,a).attr(`y1`,o.padding).attr(`y2`,m-o.padding).attr(`stroke`,`#000`).attr(`stroke-width`,1).attr(`stroke-dasharray`,`5 5`).attr(`opacity`,.8),e.append(`text`).attr(`class`,`wardley-stage-label`).attr(`x`,c).attr(`y`,m-o.padding/1.5).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize-2).attr(`text-anchor`,`middle`).text(t)})}if(o.showGrid){let e=_.append(`g`).attr(`class`,`wardley-grid`);for(let t=1;t<4;t++){let n=t/4,r=o.padding+y*n;e.append(`line`).attr(`x1`,r).attr(`x2`,r).attr(`y1`,o.padding).attr(`y2`,m-o.padding).attr(`stroke`,s.gridColor).attr(`stroke-dasharray`,`2 6`),e.append(`line`).attr(`x1`,o.padding).attr(`x2`,p-o.padding).attr(`y1`,m-o.padding-b*n).attr(`y2`,m-o.padding-b*n).attr(`stroke`,s.gridColor).attr(`stroke-dasharray`,`2 6`)}}let D=new Map;if(d.nodes.forEach(e=>{D.set(e.id,{x:x(e.x),y:S(e.y),node:e})}),d.pipelines.length>0){let e=_.append(`g`).attr(`class`,`wardley-pipelines`),t=_.append(`g`).attr(`class`,`wardley-pipeline-links`);d.pipelines.forEach(n=>{if(n.componentIds.length===0)return;let r=n.componentIds.map(e=>({id:e,pos:D.get(e),node:d.nodes.find(t=>t.id===e)})).filter(e=>e.pos&&e.node).sort((e,t)=>e.node.x-t.node.x);for(let e=0;e<r.length-1;e++){let n=r[e],i=r[e+1];t.append(`line`).attr(`class`,`wardley-pipeline-evolution-link`).attr(`x1`,n.pos.x).attr(`y1`,n.pos.y).attr(`x2`,i.pos.x).attr(`y2`,i.pos.y).attr(`stroke`,s.linkStroke).attr(`stroke-width`,1).attr(`stroke-dasharray`,`4 4`)}let i=1/0,a=-1/0,l=0;if(n.componentIds.forEach(e=>{let t=D.get(e);t&&(i=Math.min(i,t.x),a=Math.max(a,t.x),l=t.y)}),i!==1/0&&a!==-1/0){let t=o.nodeRadius*4,r=l-t/2,u=D.get(n.nodeId);u&&(u.x=(i+a)/2,u.y=r-c/6),e.append(`rect`).attr(`class`,`wardley-pipeline-box`).attr(`x`,i-15).attr(`y`,r).attr(`width`,a-i+30).attr(`height`,t).attr(`fill`,`none`).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5).attr(`rx`,4).attr(`ry`,4)}})}let O=_.append(`g`).attr(`class`,`wardley-links`),k=new Map;d.pipelines.forEach(e=>{k.set(e.nodeId,new Set(e.componentIds))});let A=d.links.filter(e=>!(!D.has(e.source)||!D.has(e.target)||k.get(e.target)?.has(e.source)));O.selectAll(`line`).data(A).enter().append(`line`).attr(`class`,e=>`wardley-link${e.dashed?` wardley-link--dashed`:``}`).attr(`x1`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.source).isPipelineParent?c/Math.sqrt(2):o.nodeRadius,i=n.x-t.x,a=n.y-t.y,s=Math.sqrt(i*i+a*a);return t.x+i/s*r}).attr(`y1`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.source).isPipelineParent?c/Math.sqrt(2):o.nodeRadius,i=n.x-t.x,a=n.y-t.y,s=Math.sqrt(i*i+a*a);return t.y+a/s*r}).attr(`x2`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.target).isPipelineParent?c/Math.sqrt(2):o.nodeRadius,i=t.x-n.x,a=t.y-n.y,s=Math.sqrt(i*i+a*a);return n.x+i/s*r}).attr(`y2`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.target).isPipelineParent?c/Math.sqrt(2):o.nodeRadius,i=t.x-n.x,a=t.y-n.y,s=Math.sqrt(i*i+a*a);return n.y+a/s*r}).attr(`stroke`,s.linkStroke).attr(`stroke-width`,1).attr(`stroke-dasharray`,e=>e.dashed?`6 6`:null).attr(`marker-end`,e=>e.flow===`forward`||e.flow===`bidirectional`?`url(#link-arrow-end-${r})`:null).attr(`marker-start`,e=>e.flow===`backward`||e.flow===`bidirectional`?`url(#link-arrow-start-${r})`:null),O.selectAll(`text`).data(A.filter(e=>e.label)).enter().append(`text`).attr(`class`,`wardley-link-label`).attr(`x`,e=>{let t=D.get(e.source),n=D.get(e.target),r=(t.x+n.x)/2,i=n.y-t.y,a=n.x-t.x;return r+i/Math.sqrt(a*a+i*i)*8}).attr(`y`,e=>{let t=D.get(e.source),n=D.get(e.target),r=(t.y+n.y)/2,i=n.x-t.x,a=n.y-t.y,o=Math.sqrt(i*i+a*a);return r+-i/o*8}).attr(`fill`,s.axisTextColor).attr(`font-size`,o.labelFontSize).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).attr(`transform`,e=>{let t=D.get(e.source),n=D.get(e.target),r=(t.x+n.x)/2,i=(t.y+n.y)/2,a=n.x-t.x,o=n.y-t.y,s=Math.sqrt(a*a+o*o),c=o/s,l=-a/s,u=r+c*8,d=i+l*8,f=Math.atan2(o,a)*180/Math.PI;return(f>90||f<-90)&&(f+=180),`rotate(${f} ${u} ${d})`}).text(e=>e.label);let j=_.append(`g`).attr(`class`,`wardley-trends`),M=d.trends.map(e=>{let t=D.get(e.nodeId);if(!t)return null;let n=x(e.targetX),r=S(e.targetY),i=n-t.x,a=r-t.y,s=Math.sqrt(i*i+a*a),c=o.nodeRadius+2;return{origin:t,targetX:n,targetY:r,adjustedX2:s>c?n-i/s*c:n,adjustedY2:s>c?r-a/s*c:r}}).filter(e=>e!==null);j.selectAll(`line`).data(M).enter().append(`line`).attr(`class`,`wardley-trend`).attr(`x1`,e=>e.origin.x).attr(`y1`,e=>e.origin.y).attr(`x2`,e=>e.adjustedX2).attr(`y2`,e=>e.adjustedY2).attr(`stroke`,s.evolutionStroke).attr(`stroke-width`,1).attr(`stroke-dasharray`,`4 4`).attr(`marker-end`,`url(#arrow-${r})`);let N=_.append(`g`).attr(`class`,`wardley-nodes`).selectAll(`g`).data(d.nodes).enter().append(`g`).attr(`class`,e=>[`wardley-node`,e.className?`wardley-node--${e.className}`:``].filter(Boolean).join(` `));N.filter(e=>e.sourceStrategy===`outsource`).append(`circle`).attr(`class`,`wardley-outsource-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`#666`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>e.sourceStrategy===`buy`).append(`circle`).attr(`class`,`wardley-buy-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`#ccc`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>e.sourceStrategy===`build`).append(`circle`).attr(`class`,`wardley-build-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`#eee`).attr(`stroke`,`#000`).attr(`stroke-width`,1);let P=N.filter(e=>e.sourceStrategy===`market`);P.append(`circle`).attr(`class`,`wardley-market-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>!e.isPipelineParent&&e.sourceStrategy!==`market`&&e.className!==`anchor`).append(`circle`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius).attr(`fill`,s.componentFill).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1);let F=o.nodeRadius*.7,I=o.nodeRadius*1.2;if(P.append(`line`).attr(`class`,`wardley-market-line`).attr(`x1`,e=>D.get(e.id).x).attr(`y1`,e=>D.get(e.id).y-I).attr(`x2`,e=>D.get(e.id).x-I*Math.cos(Math.PI/6)).attr(`y2`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),P.append(`line`).attr(`class`,`wardley-market-line`).attr(`x1`,e=>D.get(e.id).x-I*Math.cos(Math.PI/6)).attr(`y1`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`x2`,e=>D.get(e.id).x+I*Math.cos(Math.PI/6)).attr(`y2`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),P.append(`line`).attr(`class`,`wardley-market-line`).attr(`x1`,e=>D.get(e.id).x+I*Math.cos(Math.PI/6)).attr(`y1`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`x2`,e=>D.get(e.id).x).attr(`y2`,e=>D.get(e.id).y-I).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),P.append(`circle`).attr(`class`,`wardley-market-dot`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y-I).attr(`r`,F).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,2),P.append(`circle`).attr(`class`,`wardley-market-dot`).attr(`cx`,e=>D.get(e.id).x-I*Math.cos(Math.PI/6)).attr(`cy`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`r`,F).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,2),P.append(`circle`).attr(`class`,`wardley-market-dot`).attr(`cx`,e=>D.get(e.id).x+I*Math.cos(Math.PI/6)).attr(`cy`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`r`,F).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,2),N.filter(e=>e.isPipelineParent===!0).append(`rect`).attr(`x`,e=>D.get(e.id).x-c/2).attr(`y`,e=>D.get(e.id).y-c/2).attr(`width`,c).attr(`height`,c).attr(`fill`,s.componentFill).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>e.inertia===!0).append(`line`).attr(`class`,`wardley-inertia`).attr(`x1`,e=>{let t=D.get(e.id),n=e.isPipelineParent?c/2+15:o.nodeRadius+15;return e.sourceStrategy&&(n+=o.nodeRadius+10),t.x+n}).attr(`y1`,e=>{let t=D.get(e.id),n=e.isPipelineParent?c:o.nodeRadius*2;return t.y-n/2}).attr(`x2`,e=>{let t=D.get(e.id),n=e.isPipelineParent?c/2+15:o.nodeRadius+15;return e.sourceStrategy&&(n+=o.nodeRadius+10),t.x+n}).attr(`y2`,e=>{let t=D.get(e.id),n=e.isPipelineParent?c:o.nodeRadius*2;return t.y+n/2}).attr(`stroke`,s.componentStroke).attr(`stroke-width`,6),N.append(`text`).attr(`x`,e=>{let t=D.get(e.id);if(e.className===`anchor`)return e.labelOffsetX===void 0?t.x:t.x+e.labelOffsetX;let n=o.nodeLabelOffset;e.sourceStrategy&&e.labelOffsetX===void 0&&(n+=10);let r=e.labelOffsetX??n;return t.x+r}).attr(`y`,e=>{let t=D.get(e.id);if(e.className===`anchor`)return e.labelOffsetY===void 0?t.y-3:t.y+e.labelOffsetY;let n=-o.nodeLabelOffset;e.sourceStrategy&&e.labelOffsetY===void 0&&(n-=10);let r=e.labelOffsetY??n;return t.y+r}).attr(`class`,`wardley-node-label`).attr(`fill`,e=>e.className===`evolved`?s.evolutionStroke:e.className===`anchor`?`#000`:s.componentLabelColor).attr(`font-size`,o.labelFontSize).attr(`font-weight`,e=>e.className===`anchor`?`bold`:`normal`).attr(`text-anchor`,e=>e.className===`anchor`?`middle`:`start`).attr(`dominant-baseline`,e=>e.className===`anchor`?`middle`:`auto`).text(e=>e.label),d.annotations.length>0){let e=_.append(`g`).attr(`class`,`wardley-annotations`);if(d.annotations.forEach(t=>{let n=t.coordinates.map(e=>({x:x(e.x),y:S(e.y)}));if(n.length>1)for(let t=0;t<n.length-1;t++)e.append(`line`).attr(`class`,`wardley-annotation-line`).attr(`x1`,n[t].x).attr(`y1`,n[t].y).attr(`x2`,n[t+1].x).attr(`y2`,n[t+1].y).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5).attr(`stroke-dasharray`,`4 4`);n.forEach(n=>{let r=e.append(`g`).attr(`class`,`wardley-annotation`);r.append(`circle`).attr(`cx`,n.x).attr(`cy`,n.y).attr(`r`,10).attr(`fill`,`white`).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5),r.append(`text`).attr(`x`,n.x).attr(`y`,n.y).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,10).attr(`fill`,s.axisTextColor).attr(`font-weight`,`bold`).text(t.number)})}),d.annotationsBox){let t=x(d.annotationsBox.x),n=S(d.annotationsBox.y),r=e.append(`g`).attr(`class`,`wardley-annotations-box`),i=[...d.annotations].filter(e=>e.text).sort((e,t)=>e.number-t.number),a=[];if(i.forEach((e,i)=>{let o=r.append(`text`).attr(`x`,t+10).attr(`y`,n+10+(i+1)*16).attr(`font-size`,11).attr(`fill`,s.axisTextColor).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`middle`).text(`${e.number}. ${e.text}`);a.push(o)}),a.length>0){let e=0,c=0;a.forEach(t=>{let n=t.node(),r=n.getComputedTextLength();e=Math.max(e,r);let i=n.getBBox();c=Math.max(c,i.height)});let l=e+20+105,u=i.length*16+20+c/2,d=o.padding,f=p-o.padding-l,h=o.padding,g=m-o.padding-u;t=Math.max(d,Math.min(t,f)),n=Math.max(h,Math.min(n,g)),a.forEach((e,r)=>{e.attr(`x`,t+10).attr(`y`,n+10+(r+1)*16)}),r.insert(`rect`,`text`).attr(`x`,t).attr(`y`,n).attr(`width`,l).attr(`height`,u).attr(`fill`,`white`).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5).attr(`rx`,4).attr(`ry`,4)}}}if(d.notes.length>0){let e=_.append(`g`).attr(`class`,`wardley-notes`);d.notes.forEach(t=>{let n=x(t.x),r=S(t.y);e.append(`text`).attr(`x`,n).attr(`y`,r).attr(`text-anchor`,`start`).attr(`font-size`,11).attr(`fill`,s.axisTextColor).attr(`font-weight`,`bold`).text(t.text)})}if(d.accelerators.length>0){let e=_.append(`g`).attr(`class`,`wardley-accelerators`);d.accelerators.forEach(t=>{let n=x(t.x),r=S(t.y),i=`
3
3
  M ${n} ${r-15}
4
4
  L ${n+60-20} ${r-15}