@cuongtran001/kanna 1.93.0 → 1.94.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1343) hide show
  1. package/README.md +2 -2
  2. package/dist/client/assets/BoardsPage-R1NeKyda.js +1 -0
  3. package/dist/client/assets/BoardsRoutePage-D5h9v8uT.js +1 -0
  4. package/dist/client/assets/ChatPage-BVynEKaw.js +35 -0
  5. package/dist/client/assets/CronJobsPage-Cdd4RzOX.js +1 -0
  6. package/dist/client/assets/FilePreviewSheet-qV0aMjbN.js +10 -0
  7. package/dist/client/assets/FlowSurface-D7etyg8o.js +7 -0
  8. package/dist/client/assets/GenUIBlock-CNxJQPAv.js +2 -0
  9. package/dist/client/assets/InboundHandlerFields-C06QVuEE.js +1 -0
  10. package/dist/client/assets/InboxPage-Qs044g9g.js +1 -0
  11. package/dist/client/assets/LocalProjectsPage-BgXOD_d2.js +1 -0
  12. package/dist/client/assets/SettingsPage-CstF60NX.js +16 -0
  13. package/dist/client/assets/{StackBoardsRoutePage-BSCcX9Ux.js → StackBoardsRoutePage-D4bMyO1r.js} +1 -1
  14. package/dist/client/assets/ToolCallMessage-CMy_SA4Q.js +4 -0
  15. package/dist/client/assets/VChartSurface-C0qDeGVZ.js +11 -0
  16. package/dist/client/assets/WebhooksPage-DhNxgRWe.js +5 -0
  17. package/dist/client/assets/WorkflowsPage-BQRfiTio.js +1 -0
  18. package/dist/client/assets/abnfDiagram-WEYOIA3C-BHai21EK.js +1 -0
  19. package/dist/client/assets/andromeeda-BJLMrMlp.js +1 -0
  20. package/dist/client/assets/{angular-html-cDdt99o9.js → angular-html-1v2-OpYA.js} +1 -1
  21. package/dist/client/assets/{angular-ts-6irXudWm.js → angular-ts-CKENEF9V.js} +1 -1
  22. package/dist/client/assets/{apl-B8d8Vz5e.js → apl-CKyqRZry.js} +1 -1
  23. package/dist/client/assets/appSettingsStore-DorOhX3h.js +1 -0
  24. package/dist/client/assets/{arc-SXJSVd7o.js → arc-Bw7m-cfu.js} +1 -1
  25. package/dist/client/assets/architecture-WOLXFQ4H-BUERx_-B.js +1 -0
  26. package/dist/client/assets/architectureDiagram-ZHVYKT53-CGNovi7h.js +36 -0
  27. package/dist/client/assets/{arrow-left-DlwnV5xW.js → arrow-left-C_A55luo.js} +1 -1
  28. package/dist/client/assets/{astro-Bg_Wz6Z2.js → astro-Cq_8fV5E.js} +1 -1
  29. package/dist/client/assets/aurora-x-BCChoRpm.js +1 -0
  30. package/dist/client/assets/ayu-dark-DzFZPuMV.js +1 -0
  31. package/dist/client/assets/ayu-light-DSkcX_XD.js +1 -0
  32. package/dist/client/assets/ayu-mirage-DSve0zuE.js +1 -0
  33. package/dist/client/assets/{lexicalToReact-BKKYLs4k.js → beacon-alias-RvDfxoXq.js} +8 -8
  34. package/dist/client/assets/{blade-r67qM8DN.js → blade-dJqyvBdL.js} +1 -1
  35. package/dist/client/assets/{blockDiagram-RJAE7QA3-0GL2zmin.js → blockDiagram-RJAE7QA3-DdkPhuxf.js} +2 -2
  36. package/dist/client/assets/browser-DUvIcXp1.js +3 -0
  37. package/dist/client/assets/{c-mSN2GbH4.js → c-BP8oY9gM.js} +1 -1
  38. package/dist/client/assets/{c4Diagram-XDPPPE54-B-MMGLQq.js → c4Diagram-XDPPPE54-D-cbepLn.js} +1 -1
  39. package/dist/client/assets/catppuccin-frappe-DbLkF0J2.js +1 -0
  40. package/dist/client/assets/catppuccin-latte-b6208YQK.js +1 -0
  41. package/dist/client/assets/catppuccin-macchiato-CNNBbV1L.js +1 -0
  42. package/dist/client/assets/catppuccin-mocha-DHkNF0Mp.js +1 -0
  43. package/dist/client/assets/channel-B3YrKlvM.js +1 -0
  44. package/dist/client/assets/{chunk-2E7WHVMD-C_bpaSFY.js → chunk-2E7WHVMD-CmVhswvm.js} +1 -1
  45. package/dist/client/assets/{chunk-4EMNKR2T-COkhL9RD.js → chunk-4EMNKR2T-BptmsKqz.js} +1 -1
  46. package/dist/client/assets/{chunk-55XCU76K-BpX1F7QM.js → chunk-55XCU76K-Tp84YEPA.js} +1 -1
  47. package/dist/client/assets/{chunk-7S6XSTFO-CddfL1MG.js → chunk-7S6XSTFO-pfhMrhA0.js} +1 -1
  48. package/dist/client/assets/{chunk-AQDTSKZB-kaWiNStl.js → chunk-AQDTSKZB-Mur9zlR5.js} +6 -6
  49. package/dist/client/assets/{chunk-DSNLSHJZ-ouwfoCtA.js → chunk-DSNLSHJZ-D5Iibx2y.js} +3 -3
  50. package/dist/client/assets/{chunk-HAGFOTED-BQ9cYi7R.js → chunk-HAGFOTED--TH6w7Tu.js} +2 -2
  51. package/dist/client/assets/{chunk-HNE4Q36P-LDnL_jpo.js → chunk-HNE4Q36P-pxtEEFeh.js} +1 -1
  52. package/dist/client/assets/{chunk-NGNAAXSQ-DqoPQk1a.js → chunk-NGNAAXSQ-Bw6tHVuc.js} +6 -6
  53. package/dist/client/assets/{chunk-NQOKRVIF-BArtr3wB.js → chunk-NQOKRVIF-B3fWC5Oi.js} +3 -3
  54. package/dist/client/assets/chunk-OB3PAWPO-zund-gx-.js +3 -0
  55. package/dist/client/assets/{chunk-UHW7PFBP-D1DW9Q0V.js → chunk-UHW7PFBP-Dyj--6BQ.js} +1 -1
  56. package/dist/client/assets/{chunk-VQ5W62QI-CqaqJLMX.js → chunk-VQ5W62QI-_Da3NNu9.js} +1 -1
  57. package/dist/client/assets/{chunk-WQQL4CDK-BOMTT7im.js → chunk-WQQL4CDK-Qu-ToZ1a.js} +1 -1
  58. package/dist/client/assets/chunk-XXDRQBXY-BTtAvzHU.js +1 -0
  59. package/dist/client/assets/{chunk-YZO67HFG-BbSMSuPs.js → chunk-YZO67HFG-asNK6fGE.js} +1 -1
  60. package/dist/client/assets/{chunk-ZAUX2LTX-Dglkxe4X.js → chunk-ZAUX2LTX-9rUW8M31.js} +1 -1
  61. package/dist/client/assets/chunk-ZCHMQSOR-B2sUesmT.js +2 -0
  62. package/dist/client/assets/{classDiagram-v2-4MYWR3UA-BRbRL3D_.js → classDiagram-v2-4MYWR3UA-CIzeotII.js} +1 -1
  63. package/dist/client/assets/{cobol-BWrJmEve.js → cobol-B0c4jg7F.js} +1 -1
  64. package/dist/client/assets/code-xml-4HW1ZKvY.js +1 -0
  65. package/dist/client/assets/{coffee-C17FjuDx.js → coffee-CR0VCb3Q.js} +1 -1
  66. package/dist/client/assets/commandFeedback-Crg0feI_.js +1 -0
  67. package/dist/client/assets/contextWindow-BclfwNFJ.js +1 -0
  68. package/dist/client/assets/copyFeedbackStore-DmcvdlxG.js +1 -0
  69. package/dist/client/assets/core-CaAXRWIH.js +1 -0
  70. package/dist/client/assets/core-types-Ds7PFmZN.js +1 -0
  71. package/dist/client/assets/cose-bilkent-JH36ORCC-72jY2ox6.js +1 -0
  72. package/dist/client/assets/{cpp-DuLqMNGY.js → cpp-D3VxjCdf.js} +1 -1
  73. package/dist/client/assets/createScopedStore-BaYuVAci.js +1 -0
  74. package/dist/client/assets/cronJobsStore-C25mtJN2.js +1 -0
  75. package/dist/client/assets/{crystal-DItxLjbf.js → crystal-Cu-hY9rK.js} +1 -1
  76. package/dist/client/assets/{css-DHP299pV.js → css-CbI8RDJZ.js} +1 -1
  77. package/dist/client/assets/cynefin-EF2NZ3EQ-1rI2T0cc.js +1 -0
  78. package/dist/client/assets/cynefinDiagram-WF24UDRP-C7YTEQLO.js +62 -0
  79. package/dist/client/assets/cytoscape.esm-BbBREfsg.js +321 -0
  80. package/dist/client/assets/dagre-NK4GIZVX-P6Azg0o-.js +4 -0
  81. package/dist/client/assets/dark-plus-BVZ_4wTZ.js +1 -0
  82. package/dist/client/assets/diagram-CBK3MWTC-C2D5TkB9.js +24 -0
  83. package/dist/client/assets/diagram-I5XIIV2D-DRYHaN4p.js +24 -0
  84. package/dist/client/assets/{diagram-ODIL2UCW-T_AH6X_v.js → diagram-ODIL2UCW-BdhWx-Hm.js} +4 -4
  85. package/dist/client/assets/diagram-PFBEJUXE-KCNhxRKB.js +3 -0
  86. package/dist/client/assets/diagram-RJA3I4VV-BihF65Wn.js +41 -0
  87. package/dist/client/assets/diagram-TYUNFSNR-DepHGBI_.js +200 -0
  88. package/dist/client/assets/dist-Bi13CDSi.js +1 -0
  89. package/dist/client/assets/dist-Bk41vfIT.js +1 -0
  90. package/dist/client/assets/dist-BkGNwYRA.js +4 -0
  91. package/dist/client/assets/{dist-Ba01u0Yg.js → dist-CPNt6b3u.js} +1 -1
  92. package/dist/client/assets/{dist-Cz2MTljl.js → dist-DGs_yUrP.js} +1 -1
  93. package/dist/client/assets/dist-DQaZwNEz.js +1 -0
  94. package/dist/client/assets/dom.adapter-C26vNdMA.js +1 -0
  95. package/dist/client/assets/dracula-BoZgXveB.js +1 -0
  96. package/dist/client/assets/dracula-soft-D-Kgh5gw.js +1 -0
  97. package/dist/client/assets/ebnfDiagram-V4P3TTPT-BeUeNf83.js +1 -0
  98. package/dist/client/assets/{edge-hRXDlD2t.js → edge-DFcKo1n3.js} +1 -1
  99. package/dist/client/assets/{elixir-oZZERfp2.js → elixir-BCLHqWte.js} +1 -1
  100. package/dist/client/assets/elk-QONTBCTQ-BfP2Vr5r.js +27 -0
  101. package/dist/client/assets/elk.bundled-ChRT-c4f.js +24 -0
  102. package/dist/client/assets/{elm-D_TZK0Oc.js → elm-Dy6u7Zc2.js} +1 -1
  103. package/dist/client/assets/engine-javascript-Dg4SYqUU.js +141 -0
  104. package/dist/client/assets/engine-oniguruma-DfAmf83Z.js +1 -0
  105. package/dist/client/assets/{erDiagram-KYQIGQAA-DJi3cdwU.js → erDiagram-KYQIGQAA-DCaxnCnw.js} +1 -1
  106. package/dist/client/assets/{erb-BqbaQSzs.js → erb-C5yh8lKl.js} +1 -1
  107. package/dist/client/assets/eventmodeling-K75KTNOO-CTQdA_1v.js +1 -0
  108. package/dist/client/assets/everforest-dark-Y6tr-2zD.js +1 -0
  109. package/dist/client/assets/everforest-light-CA0Ol4Qu.js +1 -0
  110. package/dist/client/assets/file-plus-corner-Z5JxncXS.js +1 -0
  111. package/dist/client/assets/flowDiagram-IUGLLWBU-DrORYdYi.js +1 -0
  112. package/dist/client/assets/focusOverlay-BNpERJzs.js +41 -0
  113. package/dist/client/assets/{ganttDiagram-R7GPNTJY-C7bMAwEy.js → ganttDiagram-R7GPNTJY-BIkf5EM2.js} +2 -2
  114. package/dist/client/assets/{git-rebase-CuqI2PUc.js → git-rebase-OuKXkovv.js} +1 -1
  115. package/dist/client/assets/gitGraph-VSP46ZUC-B59HXvj1.js +1 -0
  116. package/dist/client/assets/gitGraphDiagram-PDYL7XHY-C1ZMRTMI.js +106 -0
  117. package/dist/client/assets/github-dark-C895GGrm.js +1 -0
  118. package/dist/client/assets/github-dark-default-adAWTKmX.js +1 -0
  119. package/dist/client/assets/github-dark-dimmed-jPx1V1fR.js +1 -0
  120. package/dist/client/assets/github-dark-high-contrast-UN5YjL_Z.js +1 -0
  121. package/dist/client/assets/github-light-B4HDwToD.js +1 -0
  122. package/dist/client/assets/github-light-default-CfC59JYV.js +1 -0
  123. package/dist/client/assets/github-light-high-contrast-C3edEHcK.js +1 -0
  124. package/dist/client/assets/{glimmer-js-BEliQnII.js → glimmer-js-CSmC6d3a.js} +1 -1
  125. package/dist/client/assets/{glimmer-ts-COGUPgS1.js → glimmer-ts-D0jgdexw.js} +1 -1
  126. package/dist/client/assets/{glsl-C3yOxx6A.js → glsl-AYV3VvSI.js} +1 -1
  127. package/dist/client/assets/{graphql-DlruBr94.js → graphql-j35xtSU9.js} +1 -1
  128. package/dist/client/assets/gruvbox-dark-hard-BdGOuxq8.js +1 -0
  129. package/dist/client/assets/gruvbox-dark-medium-CmygtSMi.js +1 -0
  130. package/dist/client/assets/gruvbox-dark-soft-BJH4XuY9.js +1 -0
  131. package/dist/client/assets/gruvbox-light-hard-BkSILF4E.js +1 -0
  132. package/dist/client/assets/gruvbox-light-medium-DiZUfgdz.js +1 -0
  133. package/dist/client/assets/gruvbox-light-soft-CRCTnbIj.js +1 -0
  134. package/dist/client/assets/{hack-DaHVb6ft.js → hack-Bosrx5GJ.js} +1 -1
  135. package/dist/client/assets/{haml-D8bc4mST.js → haml-CnxSmGLN.js} +1 -1
  136. package/dist/client/assets/{handlebars-DqwzwOTk.js → handlebars-BqoTHev8.js} +1 -1
  137. package/dist/client/assets/highlights-CFT8RIMY.js +3 -0
  138. package/dist/client/assets/horizon-DUI96lQn.js +1 -0
  139. package/dist/client/assets/horizon-bright-COxh1lHf.js +1 -0
  140. package/dist/client/assets/houston-DduE73P7.js +1 -0
  141. package/dist/client/assets/{html-CnSmHL-e.js → html-DZd58tGt.js} +1 -1
  142. package/dist/client/assets/{html-derivative-DJ4gxBQC.js → html-derivative-2szOappm.js} +1 -1
  143. package/dist/client/assets/{http-Dy2ncae7.js → http-DeniH75-.js} +1 -1
  144. package/dist/client/assets/{hurl-Cb5XgwOM.js → hurl-BzaKKBqA.js} +1 -1
  145. package/dist/client/assets/inboxStore-DkbalqdJ.js +1 -0
  146. package/dist/client/assets/index-CgldJgZf.js +93 -0
  147. package/dist/client/assets/index-JXlKTAWE.css +1 -0
  148. package/dist/client/assets/{info-mqICBAEV.js → info-BIQxnSmG.js} +1 -1
  149. package/dist/client/assets/info-OHQRW6UA-DWlkKvmi.js +1 -0
  150. package/dist/client/assets/infoDiagram-MVDRKAX5-BgICBMK8.js +2 -0
  151. package/dist/client/assets/{input-SOOu62o-.js → input-BpTxjU7c.js} +1 -1
  152. package/dist/client/assets/{ishikawaDiagram-HPEHV2GE-C-dSB7ML.js → ishikawaDiagram-HPEHV2GE-DbFqBsKT.js} +3 -3
  153. package/dist/client/assets/{java-CCLYh7Ws.js → java-CIgaegb7.js} +1 -1
  154. package/dist/client/assets/{javascript-B3ZoUvGD.js → javascript-CS1UlO1x.js} +1 -1
  155. package/dist/client/assets/{jinja-BGGFsaqr.js → jinja-bThszUrR.js} +1 -1
  156. package/dist/client/assets/{jison-C7uQeUlv.js → jison-Del_MnxN.js} +1 -1
  157. package/dist/client/assets/{journeyDiagram-BOSHW7O7-D2gfz3l9.js → journeyDiagram-BOSHW7O7-DUs9Cc9c.js} +1 -1
  158. package/dist/client/assets/{json-DYyUca0x.js → json-BCymDGPe.js} +1 -1
  159. package/dist/client/assets/{jsx-Cb6Vub3Y.js → jsx-B8h_aaCu.js} +1 -1
  160. package/dist/client/assets/{jsx-runtime-BdxMnOeJ.js → jsx-runtime-BB9-612F.js} +1 -1
  161. package/dist/client/assets/{julia-BWHbVzQy.js → julia-BUUbwqWT.js} +1 -1
  162. package/dist/client/assets/{just-wi8yPAJS.js → just-llYSPmCq.js} +1 -1
  163. package/dist/client/assets/kanagawa-dragon-BHDhSKDf.js +1 -0
  164. package/dist/client/assets/kanagawa-lotus-NJjGXXql.js +1 -0
  165. package/dist/client/assets/kanagawa-wave-DsGe2Uqk.js +1 -0
  166. package/dist/client/assets/{kanban-definition-FNSA4HC5-D8wI8zMt.js → kanban-definition-FNSA4HC5-DoN8nmrQ.js} +3 -3
  167. package/dist/client/assets/{katex-7vI-Mmbq.js → katex-B940_AAO.js} +1 -1
  168. package/dist/client/assets/langs-Co02r6ba.js +2 -0
  169. package/dist/client/assets/laserwave-DYV0fvJ_.js +1 -0
  170. package/dist/client/assets/{latex-DElmv1zH.js → latex-B8cMKZ-b.js} +1 -1
  171. package/dist/client/assets/lib-BlOM_ItO.js +9 -0
  172. package/dist/client/assets/light-plus-FTnIShls.js +1 -0
  173. package/dist/client/assets/{line-ClND-con.js → line-BwNeh2p4.js} +1 -1
  174. package/dist/client/assets/{linear-CFt_L1U_.js → linear-CrSOBZfn.js} +1 -1
  175. package/dist/client/assets/{liquid-DAik6A0c.js → liquid-DTf8Nl4f.js} +1 -1
  176. package/dist/client/assets/loader-BxIVfMhW.js +1 -0
  177. package/dist/client/assets/log-CqB88hyY.js +1 -0
  178. package/dist/client/assets/{lua-tuq8Rev2.js → lua-DMaandPP.js} +1 -1
  179. package/dist/client/assets/{marko-d0Yv3Yj_.js → marko-BGkqiDnq.js} +1 -1
  180. package/dist/client/assets/material-theme-IcIb8QNx.js +1 -0
  181. package/dist/client/assets/material-theme-darker-B_f2vxdL.js +1 -0
  182. package/dist/client/assets/material-theme-lighter-CR2Q-4Hp.js +1 -0
  183. package/dist/client/assets/material-theme-ocean-BX6hAJ_y.js +1 -0
  184. package/dist/client/assets/material-theme-palenight-B6DWAotd.js +1 -0
  185. package/dist/client/assets/{mdc-COIjL5tp.js → mdc-XsPX1a9h.js} +1 -1
  186. package/dist/client/assets/mermaid-parser.core-BrXnuEs7.js +7 -0
  187. package/dist/client/assets/mermaid.core-p9MbdTIm.js +44 -0
  188. package/dist/client/assets/min-dark-DECtZcqS.js +1 -0
  189. package/dist/client/assets/min-light-qRIVcaqf.js +1 -0
  190. package/dist/client/assets/{mindmap-definition-6OY57UG3-BCpTg_vP.js → mindmap-definition-6OY57UG3-DXYmipuv.js} +1 -1
  191. package/dist/client/assets/minus-Cr55u0-M.js +1 -0
  192. package/dist/client/assets/{monitor-DfHhFWbB.js → monitor-Ba_DrtaE.js} +1 -1
  193. package/dist/client/assets/monokai-CLmrJ-8t.js +1 -0
  194. package/dist/client/assets/{nginx-nAXs0UmH.js → nginx-CA9SgvTg.js} +1 -1
  195. package/dist/client/assets/night-owl-eR4AsyAP.js +1 -0
  196. package/dist/client/assets/night-owl-light-C74n5ti-.js +1 -0
  197. package/dist/client/assets/{nim-DVG0-ig8.js → nim-BtcIAt4j.js} +1 -1
  198. package/dist/client/assets/nord-D4wy7NEP.js +1 -0
  199. package/dist/client/assets/one-dark-pro-28TLzoS8.js +1 -0
  200. package/dist/client/assets/one-light-C0UY_Fh7.js +1 -0
  201. package/dist/client/assets/packet-JDAUHWVQ-iW8w3JF5.js +1 -0
  202. package/dist/client/assets/pathUtils-DTWwEzHK.js +1 -0
  203. package/dist/client/assets/pegDiagram-ECIUJNBX-CsPXZzO3.js +1 -0
  204. package/dist/client/assets/pencil-CAEODwO4.js +1 -0
  205. package/dist/client/assets/pendingActionsStore-Dxvq78CS.js +1 -0
  206. package/dist/client/assets/{perl-CrwHgQCL.js → perl-5PsGm2vI.js} +1 -1
  207. package/dist/client/assets/{php-A_l-HRpS.js → php-C4Z_2ANa.js} +1 -1
  208. package/dist/client/assets/pie-XZMESJXO-KHXEq-Yx.js +1 -0
  209. package/dist/client/assets/pieDiagram-GNMPY74T-D_Mjd02g.js +39 -0
  210. package/dist/client/assets/pierre-dark-fPlffE7i.js +1 -0
  211. package/dist/client/assets/pierre-dark-protanopia-deuteranopia-BmjibgrW.js +1 -0
  212. package/dist/client/assets/pierre-dark-soft-Cng2SYKc.js +1 -0
  213. package/dist/client/assets/pierre-dark-tritanopia-DneQ5i7L.js +1 -0
  214. package/dist/client/assets/pierre-dark-vibrant-BUK9Y-N_.js +1 -0
  215. package/dist/client/assets/pierre-light-BvcXQJIj.js +1 -0
  216. package/dist/client/assets/pierre-light-protanopia-deuteranopia-Cd5nk0bp.js +1 -0
  217. package/dist/client/assets/pierre-light-soft-BvU23vks.js +1 -0
  218. package/dist/client/assets/pierre-light-tritanopia-BSHccQzI.js +1 -0
  219. package/dist/client/assets/pierre-light-vibrant-BgMZEwQI.js +1 -0
  220. package/dist/client/assets/plastic-B2V_PDVk.js +1 -0
  221. package/dist/client/assets/{plus-ORAeZ8KB.js → plus-DYBSDYfu.js} +1 -1
  222. package/dist/client/assets/poimandres-DB9-pI6r.js +1 -0
  223. package/dist/client/assets/{pug-CbTch1oj.js → pug-Cn9FYlYE.js} +1 -1
  224. package/dist/client/assets/{qml-DaaPxMrD.js → qml-DtpKOgIE.js} +1 -1
  225. package/dist/client/assets/{quadrantDiagram-D57K4MC3-m3-EDrn6.js → quadrantDiagram-D57K4MC3-D5b1xrO1.js} +1 -1
  226. package/dist/client/assets/{r-yAZWIVFP.js → r-DJVojnqI.js} +1 -1
  227. package/dist/client/assets/radar-ABXABTNO-BkAUJ_Zd.js +1 -0
  228. package/dist/client/assets/railroad-I3PHUGI6-BdnWRdGt.js +1 -0
  229. package/dist/client/assets/railroad-abnf-LNEFI6M7-C8K36-8b.js +1 -0
  230. package/dist/client/assets/railroad-ebnf-DWYD2UWJ-BlS25T3f.js +1 -0
  231. package/dist/client/assets/railroad-peg-JR7BVNR7-CBKGDi75.js +1 -0
  232. package/dist/client/assets/railroadDiagram-Y72NRBL7-X_S0e7wz.js +1 -0
  233. package/dist/client/assets/{razor-CWjPPkfn.js → razor-Dp6aYQM2.js} +1 -1
  234. package/dist/client/assets/{react-eq8zrF0J.js → react-BWPDF9mI.js} +1 -1
  235. package/dist/client/assets/react-CZBv4gq-.js +163 -0
  236. package/dist/client/assets/{react-dom-Cqh0D36c.js → react-dom-2r3XOwTS.js} +1 -1
  237. package/dist/client/assets/red-CqYzoXtd.js +1 -0
  238. package/dist/client/assets/{search-5e3KgZ4r.js → refresh-cw-Di2hSIFd.js} +1 -1
  239. package/dist/client/assets/{regexp-723CALth.js → regexp-Bj-_Rfm1.js} +1 -1
  240. package/dist/client/assets/{requirementDiagram-EQYSW5RA-Ca63mR5O.js → requirementDiagram-EQYSW5RA-DfAYsHve.js} +1 -1
  241. package/dist/client/assets/rolldown-runtime-BCiCTKAo.js +1 -0
  242. package/dist/client/assets/rose-pine-C3zjVKxG.js +1 -0
  243. package/dist/client/assets/rose-pine-dawn-C72QYfqa.js +1 -0
  244. package/dist/client/assets/rose-pine-moon-CSM8ewhO.js +1 -0
  245. package/dist/client/assets/{rst-EKFmAutQ.js → rst-eEULymTW.js} +1 -1
  246. package/dist/client/assets/{ruby-dl7o7a85.js → ruby-Bsxd-AIc.js} +1 -1
  247. package/dist/client/assets/runDetached-BJ8sTmI_.js +1 -0
  248. package/dist/client/assets/{sankeyDiagram-SY24JHO5-BOcYPxP4.js → sankeyDiagram-SY24JHO5-DPuLtc10.js} +1 -1
  249. package/dist/client/assets/{sas-CnHIAVlE.js → sas-DT9n8icu.js} +1 -1
  250. package/dist/client/assets/{scss-B7HLuD1K.js → scss-BlcSLPwR.js} +1 -1
  251. package/dist/client/assets/search-D4oI8xx9.js +1 -0
  252. package/dist/client/assets/searchable-select-BIlhJs3K.js +1 -0
  253. package/dist/client/assets/segmented-control-Cy9xs9vv.js +1 -0
  254. package/dist/client/assets/select-DNJTBH-m.js +1 -0
  255. package/dist/client/assets/{sequenceDiagram-BLEHNHQU-BJtiS4r4.js → sequenceDiagram-BLEHNHQU-DO18er8d.js} +2 -2
  256. package/dist/client/assets/settings-header-button-DW05_hgi.js +1 -0
  257. package/dist/client/assets/{shellscript-DoDh9O3W.js → shellscript-C0fN5siR.js} +1 -1
  258. package/dist/client/assets/{shellsession-DYrWla-w.js → shellsession-CAaAjSMZ.js} +1 -1
  259. package/dist/client/assets/shiki-CCur_AjT.js +2 -0
  260. package/dist/client/assets/{shim-CKOM012b.js → shim-IYZxwmPZ.js} +1 -1
  261. package/dist/client/assets/slack-dark-Dtzi51su.js +1 -0
  262. package/dist/client/assets/slack-ochin-Bb7oPExa.js +1 -0
  263. package/dist/client/assets/snazzy-light-DXgiwzKu.js +1 -0
  264. package/dist/client/assets/solarized-dark-BKOT3ICq.js +1 -0
  265. package/dist/client/assets/solarized-light--Lk5pOfE.js +1 -0
  266. package/dist/client/assets/{soy-DPLowEo3.js → soy-BwFmmWPz.js} +1 -1
  267. package/dist/client/assets/{sql-BAPossRw.js → sql-BB6gTJDo.js} +1 -1
  268. package/dist/client/assets/src-BGvpoTgt.js +1 -0
  269. package/dist/client/assets/src-C_gRsKqw.js +1 -0
  270. package/dist/client/assets/{stata-uikMS13-.js → stata-P3Jj1R6I.js} +1 -1
  271. package/dist/client/assets/state-mark-Urny-Qku.js +1 -0
  272. package/dist/client/assets/{stateDiagram-v2-A6IESKWZ-DFA37cju.js → stateDiagram-v2-A6IESKWZ-C-qsxlTB.js} +1 -1
  273. package/dist/client/assets/storage.adapter-DafyA8In.js +1 -0
  274. package/dist/client/assets/stream-tokenizer-B5Lrlknv.js +4 -0
  275. package/dist/client/assets/{surrealql-Dg_RLHhg.js → surrealql-DTFTScrw.js} +1 -1
  276. package/dist/client/assets/{svelte-C3pZB89g.js → svelte-I5ah5lH4.js} +1 -1
  277. package/dist/client/assets/swimlanes-B3ENRKFQ-DxBQGrTI.js +1 -0
  278. package/dist/client/assets/swimlanesDiagram-AYQRV4AK-tNgIjwkd.js +8 -0
  279. package/dist/client/assets/synthwave-84-BJJFg-sc.js +1 -0
  280. package/dist/client/assets/{templ-BDPwZuN2.js → templ-D1-LuJ9Z.js} +1 -1
  281. package/dist/client/assets/terminal-DtmtrN53.js +1 -0
  282. package/dist/client/assets/{tex-DgW53hUi.js → tex-jZ6oAmcj.js} +1 -1
  283. package/dist/client/assets/themes-B2qJmig7.js +2 -0
  284. package/dist/client/assets/{timeline-definition-JXYKGLGB-RbZKhApy.js → timeline-definition-JXYKGLGB-q6sMLTfp.js} +4 -4
  285. package/dist/client/assets/timer.adapter-DKD6x2d-.js +1 -0
  286. package/dist/client/assets/tokyo-night-DvpptEDd.js +1 -0
  287. package/dist/client/assets/tool-call-types-CtytAxam.js +1 -0
  288. package/dist/client/assets/tools-FX7P00jZ.js +1 -0
  289. package/dist/client/assets/treeView-D4JQ5SDB-6-eTVUuH.js +1 -0
  290. package/dist/client/assets/treemap-SAJKECNS-Dxl8yCLE.js +1 -0
  291. package/dist/client/assets/{triangle-alert-CIeyn01i.js → triangle-alert-SdPlbDKh.js} +1 -1
  292. package/dist/client/assets/{ts-tags-B7JG1dII.js → ts-tags-CuKwbz-9.js} +1 -1
  293. package/dist/client/assets/{tsx-D0-aSICp.js → tsx-BBsz_Nt1.js} +1 -1
  294. package/dist/client/assets/{twig-MNumDvuo.js → twig-D01dHcNx.js} +1 -1
  295. package/dist/client/assets/{typescript-ITQieXu3.js → typescript-C--v55m-.js} +1 -1
  296. package/dist/client/assets/useAppGlobalState-mBUTgrw-.js +1 -0
  297. package/dist/client/assets/useProviderCatalog-Y4EMjO8f.js +3 -0
  298. package/dist/client/assets/useTheme-C1N4Xgyo.js +56 -0
  299. package/dist/client/assets/{usecaseDiagram-WPOLBNNX-BJ8hJHA4.js → usecaseDiagram-WPOLBNNX-CzUcRLTQ.js} +6 -6
  300. package/dist/client/assets/value-CHmTzbgv.js +1 -0
  301. package/dist/client/assets/{vennDiagram-Q3Y3IDCW-CGVVOsoY.js → vennDiagram-Q3Y3IDCW-D2649YE8.js} +2 -2
  302. package/dist/client/assets/vesper-C1rBZbON.js +1 -0
  303. package/dist/client/assets/vitesse-black-Sqvrs2Sw.js +1 -0
  304. package/dist/client/assets/vitesse-dark-BWf_ZQtP.js +1 -0
  305. package/dist/client/assets/vitesse-light-Cqenv4Qv.js +1 -0
  306. package/dist/client/assets/{vue-DMyn4zP-.js → vue-CaIU5pfV.js} +1 -1
  307. package/dist/client/assets/{vue-html-d0F-gcUX.js → vue-html-Bqx4wzzR.js} +1 -1
  308. package/dist/client/assets/{vue-vine-RX8vlWVe.js → vue-vine-Dxw_kOmM.js} +1 -1
  309. package/dist/client/assets/wardley-7MLQ67FV-CZtI22aa.js +1 -0
  310. package/dist/client/assets/{wardleyDiagram-IVAIDKWA-D6wfiSSc.js → wardleyDiagram-IVAIDKWA-Bm5Ejmtk.js} +3 -3
  311. package/dist/client/assets/{xml-BgwO9svv.js → xml-Dl30OFts.js} +1 -1
  312. package/dist/client/assets/{xsl-Ci-Eh2uW.js → xsl-CepWDWM_.js} +1 -1
  313. package/dist/client/assets/{xychartDiagram-4URNHDU4-DvoGxEw-.js → xychartDiagram-4URNHDU4-CYOO2_pm.js} +3 -3
  314. package/dist/client/assets/{yaml-BnkSoqfe.js → yaml-Ba7jIux5.js} +1 -1
  315. package/dist/client/index.html +44 -57
  316. package/package.json +18 -20
  317. package/src/server/agent-coordinator-types.ts +7 -58
  318. package/src/server/agent-coordinator.ts +124 -218
  319. package/src/server/agent-runtime-config.test.ts +58 -0
  320. package/src/server/agent-runtime-config.ts +62 -0
  321. package/src/server/agent-transcript-parse.test.ts +1 -1
  322. package/src/server/agent-transcript-parse.ts +1 -1
  323. package/src/server/agent.background-task-sdk.test.ts +2 -2
  324. package/src/server/agent.compaction.test.ts +4 -2
  325. package/src/server/agent.notification-loop-scenario.test.ts +6 -5
  326. package/src/server/agent.oauth-account-info.test.ts +7 -5
  327. package/src/server/agent.oauth-pool.test.ts +2 -2
  328. package/src/server/agent.oauth-release.test.ts +7 -5
  329. package/src/server/agent.oauth-rotation.test.ts +7 -5
  330. package/src/server/agent.oauth-token-share-cap.test.ts +7 -5
  331. package/src/server/agent.openrouter-model.test.ts +7 -5
  332. package/src/server/agent.openrouter-watchdog.test.ts +8 -5
  333. package/src/server/agent.sdk-workflow-register.test.ts +8 -6
  334. package/src/server/agent.stack-spawn.test.ts +2 -2
  335. package/src/server/agent.test.ts +42 -43
  336. package/src/server/agent.turn-duration-metric.test.ts +7 -2
  337. package/src/server/agent.turn-tokens-metric.test.ts +7 -2
  338. package/src/server/analytics.test.ts +117 -180
  339. package/src/server/analytics.ts +20 -7
  340. package/src/server/app-settings-io.adapter.ts +1 -9
  341. package/src/server/app-settings-package-updates.ts +9 -9
  342. package/src/server/app-settings.test.ts +1 -1
  343. package/src/server/app-settings.ts +162 -512
  344. package/src/server/auth-backend.ts +3 -1
  345. package/src/server/auth.test.ts +1 -1
  346. package/src/server/auto-continue/auth-error-detector.test.ts +1 -1
  347. package/src/server/auto-continue/compact-loop-wakes.test.ts +33 -33
  348. package/src/server/auto-continue/compact-loop-wakes.ts +2 -2
  349. package/src/server/auto-continue/compact.test.ts +52 -0
  350. package/src/server/auto-continue/compact.ts +7 -0
  351. package/src/server/auto-continue/e2e.test.ts +6 -6
  352. package/src/server/auto-continue/events.test.ts +5 -5
  353. package/src/server/auto-continue/events.ts +37 -17
  354. package/src/server/auto-continue/limit-detector.test.ts +1 -1
  355. package/src/server/auto-continue/read-model.test.ts +9 -9
  356. package/src/server/auto-continue/read-model.ts +23 -24
  357. package/src/server/auto-continue/schedule-manager.test.ts +8 -16
  358. package/src/server/auto-continue/schedule-manager.ts +7 -26
  359. package/src/server/background-task-output-io.adapter.ts +0 -9
  360. package/src/server/background-task-output-registry.test.ts +1 -5
  361. package/src/server/background-task-output-registry.ts +0 -3
  362. package/src/server/beacon-connection.test.ts +2 -2
  363. package/src/server/beacon-connection.ts +4 -10
  364. package/src/server/beacon-crypto.test.ts +1 -1
  365. package/src/server/beacon-mention-prompt.test.ts +1 -1
  366. package/src/server/beacon-pairing.test.ts +1 -1
  367. package/src/server/beacon-registry.test.ts +1 -1
  368. package/src/server/beacon-registry.ts +13 -17
  369. package/src/server/beacon-services.test.ts +1 -1
  370. package/src/server/beacon-services.ts +18 -14
  371. package/src/server/beacon-settings.test.ts +30 -1
  372. package/src/server/beacon-settings.ts +29 -16
  373. package/src/server/beacon-transfer-files.adapter.ts +13 -24
  374. package/src/server/beacon-transfer-http.adapter.ts +8 -23
  375. package/src/server/beacon-transfer-http.test.ts +12 -6
  376. package/src/server/beacon-transfer-tickets.ts +10 -3
  377. package/src/server/better-auth-oauth.adapter.ts +3 -4
  378. package/src/server/better-auth.adapter.ts +5 -6
  379. package/src/server/board-registry.test.ts +4 -8
  380. package/src/server/board-registry.ts +6 -20
  381. package/src/server/board-start-work.integration.test.ts +1 -1
  382. package/src/server/board-start-work.test.ts +31 -3
  383. package/src/server/board-start-work.ts +12 -1
  384. package/src/server/board-store.adapter.test.ts +6 -41
  385. package/src/server/board-store.adapter.ts +76 -92
  386. package/src/server/board-store.ts +23 -12
  387. package/src/server/board-sync-reconcile.test.ts +21 -5
  388. package/src/server/board-sync-reconcile.ts +0 -0
  389. package/src/server/board-sync.test.ts +1 -8
  390. package/src/server/board-sync.ts +16 -64
  391. package/src/server/board-templates.ts +7 -29
  392. package/src/server/board-worktree-cleanup.test.ts +1 -1
  393. package/src/server/board-worktree-cleanup.ts +3 -4
  394. package/src/server/boot.test.ts +1 -1
  395. package/src/server/canonical-args.test.ts +1 -1
  396. package/src/server/chat-op-log.test.ts +1 -1
  397. package/src/server/chat-ops-diff.test.ts +1 -1
  398. package/src/server/chat-ops-parity.test.ts +3 -13
  399. package/src/server/chat-teardown.test.ts +49 -0
  400. package/src/server/chat-teardown.ts +25 -0
  401. package/src/server/claude-autocontinue-commands.test.ts +16 -17
  402. package/src/server/claude-autocontinue-commands.ts +15 -27
  403. package/src/server/claude-cancel-handler.test.ts +1 -1
  404. package/src/server/claude-cancel-handler.ts +11 -32
  405. package/src/server/claude-chat-management.test.ts +72 -72
  406. package/src/server/claude-chat-management.ts +4 -3
  407. package/src/server/claude-context-commands.test.ts +3 -3
  408. package/src/server/claude-context-commands.ts +1 -2
  409. package/src/server/claude-harness-stream.test.ts +8 -10
  410. package/src/server/claude-harness-stream.ts +84 -65
  411. package/src/server/claude-loop-commands.test.ts +22 -26
  412. package/src/server/claude-loop-commands.ts +64 -94
  413. package/src/server/claude-message-normalizer.test.ts +1 -1
  414. package/src/server/claude-message-normalizer.ts +16 -34
  415. package/src/server/claude-oauth-probe.adapter.ts +42 -0
  416. package/src/server/claude-plugin-update-applier.adapter.ts +15 -81
  417. package/src/server/claude-plugin-update-checker.adapter.test.ts +24 -2
  418. package/src/server/claude-plugin-update-checker.adapter.ts +11 -16
  419. package/src/server/claude-projects-path.adapter.test.ts +1 -1
  420. package/src/server/claude-projects-path.adapter.ts +5 -1
  421. package/src/server/claude-prompt-helpers.test.ts +1 -105
  422. package/src/server/claude-prompt-helpers.ts +0 -40
  423. package/src/server/claude-sdk-queue.test.ts +2 -37
  424. package/src/server/claude-sdk-queue.ts +0 -17
  425. package/src/server/claude-send-command.test.ts +47 -33
  426. package/src/server/claude-send-command.ts +25 -26
  427. package/src/server/claude-session-config-helpers.test.ts +11 -17
  428. package/src/server/claude-session-config-helpers.ts +3 -10
  429. package/src/server/claude-session-config.test.ts +1 -1
  430. package/src/server/claude-session-decode.ts +95 -0
  431. package/src/server/claude-session-error-handler.test.ts +16 -16
  432. package/src/server/claude-session-error-handler.ts +115 -124
  433. package/src/server/claude-session-importer.adapter.ts +12 -31
  434. package/src/server/claude-session-importer.test.ts +1 -1
  435. package/src/server/claude-session-lifecycle.test.ts +13 -15
  436. package/src/server/claude-session-lifecycle.ts +1 -9
  437. package/src/server/claude-session-mapper.test.ts +48 -21
  438. package/src/server/claude-session-mapper.ts +29 -24
  439. package/src/server/claude-session-parser.adapter.ts +3 -11
  440. package/src/server/claude-session-parser.test.ts +1 -1
  441. package/src/server/claude-session-runner.test.ts +2 -4
  442. package/src/server/claude-session-runner.ts +42 -113
  443. package/src/server/claude-session-scanner.adapter.ts +3 -2
  444. package/src/server/claude-session-scanner.test.ts +1 -1
  445. package/src/server/claude-session-spawner.test.ts +3 -3
  446. package/src/server/claude-session-spawner.ts +27 -36
  447. package/src/server/claude-session-start.test.ts +3 -3
  448. package/src/server/claude-session-start.ts +20 -56
  449. package/src/server/claude-session-state-queries.test.ts +76 -42
  450. package/src/server/claude-session-state-queries.ts +18 -14
  451. package/src/server/claude-session-state.test.ts +111 -1
  452. package/src/server/claude-session-state.ts +43 -0
  453. package/src/server/claude-session-types.ts +17 -24
  454. package/src/server/claude-slash-commands.test.ts +1 -1
  455. package/src/server/claude-spawn-helpers.test.ts +25 -12
  456. package/src/server/claude-spawn-helpers.ts +46 -55
  457. package/src/server/claude-steer-log.test.ts +5 -5
  458. package/src/server/claude-steer-log.ts +0 -13
  459. package/src/server/claude-subagent-tool-response.test.ts +5 -5
  460. package/src/server/claude-subagent-tool-response.ts +2 -1
  461. package/src/server/claude-subagent-wiring.test.ts +16 -29
  462. package/src/server/claude-subagent-wiring.ts +37 -28
  463. package/src/server/claude-tool-respond.test.ts +21 -21
  464. package/src/server/claude-tool-respond.ts +5 -9
  465. package/src/server/claude-turn-failure.test.ts +144 -0
  466. package/src/server/claude-turn-failure.ts +96 -0
  467. package/src/server/claude-turn-outcome.ts +38 -0
  468. package/src/server/claude-turn-runner.integration.test.ts +19 -19
  469. package/src/server/claude-turn-runner.test.ts +29 -29
  470. package/src/server/claude-turn-runner.ts +5 -34
  471. package/src/server/claude-turn-starter-types.ts +14 -1
  472. package/src/server/claude-turn-starter.test.ts +157 -163
  473. package/src/server/claude-turn-starter.ts +26 -31
  474. package/src/server/claude-usage-math.test.ts +1 -1
  475. package/src/server/claude-usage-math.ts +19 -30
  476. package/src/server/cli-runtime.test.ts +1 -1
  477. package/src/server/cli-runtime.ts +4 -4
  478. package/src/server/cli-supervisor.adapter.ts +2 -1
  479. package/src/server/cli.ts +9 -11
  480. package/src/server/cloudflare-tunnel/e2e.test.ts +26 -1
  481. package/src/server/cloudflare-tunnel/events.test.ts +1 -1
  482. package/src/server/cloudflare-tunnel/events.ts +8 -2
  483. package/src/server/cloudflare-tunnel/gateway.ts +11 -30
  484. package/src/server/cloudflare-tunnel/lifecycle.test.ts +1 -1
  485. package/src/server/cloudflare-tunnel/read-model.test.ts +1 -1
  486. package/src/server/cloudflare-tunnel/read-model.ts +5 -1
  487. package/src/server/cloudflare-tunnel/tunnel-manager.adapter.ts +7 -23
  488. package/src/server/cloudflare-tunnel/tunnel-manager.test.ts +5 -5
  489. package/src/server/codex-app-server-decode.ts +4 -13
  490. package/src/server/codex-app-server-protocol.ts +15 -22
  491. package/src/server/codex-app-server.test.ts +1 -1
  492. package/src/server/codex-app-server.ts +72 -84
  493. package/src/server/codex-plan-steps.test.ts +37 -0
  494. package/src/server/codex-plan-steps.ts +30 -0
  495. package/src/server/codex-plugin-update-applier.adapter.ts +8 -74
  496. package/src/server/codex-plugin-update-checker.adapter.test.ts +1 -1
  497. package/src/server/codex-plugin-update-checker.adapter.ts +7 -15
  498. package/src/server/codex-rollout-to-thread-item.test.ts +11 -42
  499. package/src/server/codex-rollout-to-thread-item.ts +10 -41
  500. package/src/server/codex-session-scanner.adapter.ts +5 -1
  501. package/src/server/codex-session-scanner.test.ts +1 -1
  502. package/src/server/codex-spawn.adapter.ts +6 -10
  503. package/src/server/codex-spawn.test.ts +1 -1
  504. package/src/server/codex-tool-payloads.ts +1 -15
  505. package/src/server/codex-transcript-translator.test.ts +1 -1
  506. package/src/server/codex-transcript-translator.ts +23 -70
  507. package/src/server/compaction.test.ts +1 -1
  508. package/src/server/compaction.ts +1 -1
  509. package/src/server/context-usage-snapshot.ts +27 -0
  510. package/src/server/cron/commands.test.ts +8 -8
  511. package/src/server/cron/commands.ts +30 -69
  512. package/src/server/cron/compact.test.ts +14 -14
  513. package/src/server/cron/compact.ts +0 -0
  514. package/src/server/cron/confirm.test.ts +1 -1
  515. package/src/server/cron/fire.test.ts +5 -5
  516. package/src/server/cron/fire.ts +14 -35
  517. package/src/server/cron/job-key.ts +9 -0
  518. package/src/server/cron/next-fire.test.ts +1 -1
  519. package/src/server/cron/preview.ts +42 -27
  520. package/src/server/cron/read-model.test.ts +11 -27
  521. package/src/server/cron/read-model.ts +20 -44
  522. package/src/server/cron/repair.test.ts +1 -1
  523. package/src/server/cron/scheduler.test.ts +5 -5
  524. package/src/server/cron/scheduler.ts +0 -0
  525. package/src/server/cron/skip-coalescer.test.ts +1 -1
  526. package/src/server/cron/skip-coalescer.ts +5 -7
  527. package/src/server/custom-providers-settings.ts +6 -5
  528. package/src/server/design/chart-palette.test.ts +4 -4
  529. package/src/server/design/motion-tokens.test.ts +3 -3
  530. package/src/server/design/prePaint.test.ts +2 -2
  531. package/src/server/design/px-text-ratchet.test.ts +2 -2
  532. package/src/server/design/raw-ink-guard.test.ts +2 -2
  533. package/src/server/design/tone-pairings.test.ts +4 -4
  534. package/src/server/design/typography-css.test.ts +2 -2
  535. package/src/server/design/ui-source-contract.test.ts +2 -2
  536. package/src/server/{diff-store-branch-ops.adapter.test.ts → diff-store-branch-ops.test.ts} +8 -7
  537. package/src/server/{diff-store-branch-ops.adapter.ts → diff-store-branch-ops.ts} +35 -138
  538. package/src/server/{diff-store-commit-ops.adapter.test.ts → diff-store-commit-ops.test.ts} +3 -3
  539. package/src/server/{diff-store-commit-ops.adapter.ts → diff-store-commit-ops.ts} +25 -30
  540. package/src/server/diff-store-errors.test.ts +49 -0
  541. package/src/server/diff-store-errors.ts +90 -54
  542. package/src/server/{diff-store-file-ops.adapter.ts → diff-store-file-ops.ts} +3 -3
  543. package/src/server/{diff-store-git-branch.adapter.ts → diff-store-git-branch.ts} +47 -89
  544. package/src/server/diff-store-io.adapter.ts +2 -55
  545. package/src/server/diff-store-parse.test.ts +1 -1
  546. package/src/server/diff-store-state.ts +2 -47
  547. package/src/server/diff-store.test.ts +48 -88
  548. package/src/server/diff-store.ts +44 -68
  549. package/src/server/discovery.adapter.ts +11 -34
  550. package/src/server/discovery.test.ts +1 -1
  551. package/src/server/env-int.test.ts +42 -0
  552. package/src/server/env-int.ts +5 -0
  553. package/src/server/event-logs.test.ts +46 -0
  554. package/src/server/event-logs.ts +69 -0
  555. package/src/server/event-routes.test.ts +83 -0
  556. package/src/server/event-routes.ts +126 -0
  557. package/src/server/event-store-apply.test.ts +3 -3
  558. package/src/server/event-store-apply.ts +19 -93
  559. package/src/server/event-store-byte-budget.test.ts +2 -2
  560. package/src/server/event-store-chat-lifecycle.test.ts +56 -7
  561. package/src/server/event-store-chat-lifecycle.ts +40 -16
  562. package/src/server/event-store-init.ts +46 -129
  563. package/src/server/event-store-lookup.test.ts +36 -0
  564. package/src/server/event-store-lookup.ts +40 -0
  565. package/src/server/event-store-messages.adapter.test.ts +20 -53
  566. package/src/server/event-store-messages.adapter.ts +39 -110
  567. package/src/server/event-store-peripheral-events.adapter.test.ts +10 -17
  568. package/src/server/event-store-peripheral-events.adapter.ts +28 -40
  569. package/src/server/event-store-snapshot.test.ts +44 -46
  570. package/src/server/event-store-snapshot.ts +74 -221
  571. package/src/server/event-store-subagent.test.ts +1 -1
  572. package/src/server/event-store-subagent.ts +2 -3
  573. package/src/server/event-store-tail-cache.test.ts +10 -9
  574. package/src/server/event-store-tasks.test.ts +3 -1
  575. package/src/server/event-store-tool-requests.test.ts +1 -1
  576. package/src/server/event-store-tool-requests.ts +4 -5
  577. package/src/server/event-store-transcript-write.adapter.ts +68 -107
  578. package/src/server/event-store-write-ops.test.ts +1 -1
  579. package/src/server/event-store-write-ops.ts +45 -64
  580. package/src/server/event-store-writer.test.ts +99 -0
  581. package/src/server/event-store-writer.ts +38 -0
  582. package/src/server/event-store.project-delete.test.ts +5 -5
  583. package/src/server/event-store.stack-methods.test.ts +1 -1
  584. package/src/server/event-store.test.ts +33 -45
  585. package/src/server/event-store.ts +76 -182
  586. package/src/server/event-store.write-protocol.test.ts +156 -0
  587. package/src/server/events.test.ts +18 -0
  588. package/src/server/events.ts +67 -146
  589. package/src/server/external-open.test.ts +1 -1
  590. package/src/server/external-open.ts +119 -185
  591. package/src/server/followed-session-registry.test.ts +7 -7
  592. package/src/server/generate-commit-message.test.ts +1 -1
  593. package/src/server/generate-commit-message.ts +6 -20
  594. package/src/server/generate-title.ts +5 -22
  595. package/src/server/genui/dataset-file.adapter.ts +3 -3
  596. package/src/server/genui/dataset-ports.ts +4 -0
  597. package/src/server/genui/dataset-service-boot.ts +2 -2
  598. package/src/server/genui/dataset-service.test.ts +1 -1
  599. package/src/server/genui/dataset-service.ts +60 -20
  600. package/src/server/genui/genui-guard.test.ts +1 -1
  601. package/src/server/genui/mcp-data-client.adapter.ts +2 -4
  602. package/src/server/genui/validate-ui-tool.ts +3 -11
  603. package/src/server/git-runner.adapter.ts +27 -0
  604. package/src/server/github-cli.adapter.ts +3 -11
  605. package/src/server/github-issues.adapter.test.ts +1 -1
  606. package/src/server/gitleaks-config.test.ts +2 -2
  607. package/src/server/gitleaks-hook.test.ts +2 -2
  608. package/src/server/gitleaks-workflow.test.ts +2 -2
  609. package/src/server/harness-types.test.ts +1 -1
  610. package/src/server/harness-types.ts +13 -5
  611. package/src/server/history-paging.test.ts +108 -0
  612. package/src/server/history-paging.ts +104 -0
  613. package/src/server/history-primer.test.ts +12 -12
  614. package/src/server/history-primer.ts +0 -1
  615. package/src/server/home-dir.adapter.ts +5 -0
  616. package/src/server/home-path.ts +9 -0
  617. package/src/server/http-api-routes.ts +41 -62
  618. package/src/server/http-dispatcher.test.ts +1 -1
  619. package/src/server/http-dispatcher.ts +7 -8
  620. package/src/server/http-route-inventory.test.ts +1 -1
  621. package/src/server/import-subagent-drill.e2e.test.ts +1 -1
  622. package/src/server/imported-subagents-dir.test.ts +1 -1
  623. package/src/server/inbound/deliver-inbound.test.ts +1 -1
  624. package/src/server/inbound/deliver-inbound.ts +24 -19
  625. package/src/server/inbound/inbox-reply.test.ts +1 -1
  626. package/src/server/inbound/inbox-reply.ts +3 -17
  627. package/src/server/inbox/inbox-boot.test.ts +1 -1
  628. package/src/server/inbox/inbox-log.adapter.test.ts +33 -1
  629. package/src/server/inbox/inbox-registry.test.ts +1 -1
  630. package/src/server/inbox/inbox-registry.ts +17 -20
  631. package/src/server/input-validation.ts +2 -1
  632. package/src/server/json-boundary.test.ts +27 -0
  633. package/src/server/json-boundary.ts +1 -0
  634. package/src/server/json-settings-file.adapter.ts +47 -0
  635. package/src/server/jsonl-log.test.ts +84 -0
  636. package/src/server/jsonl-log.ts +55 -0
  637. package/src/server/kanna-mcp-beacon-transfer.test.ts +35 -22
  638. package/src/server/kanna-mcp-beacon-transfer.ts +28 -40
  639. package/src/server/kanna-mcp-beacon.test.ts +21 -15
  640. package/src/server/kanna-mcp-beacon.ts +16 -25
  641. package/src/server/kanna-mcp-boards.test.ts +12 -18
  642. package/src/server/kanna-mcp-boards.ts +11 -21
  643. package/src/server/kanna-mcp-inbox.test.ts +16 -28
  644. package/src/server/kanna-mcp-inbox.ts +3 -6
  645. package/src/server/kanna-mcp-plugins.test.ts +28 -21
  646. package/src/server/kanna-mcp-plugins.ts +15 -38
  647. package/src/server/kanna-mcp-tool.ts +16 -5
  648. package/src/server/kanna-mcp-tools/bash.adapter.ts +24 -47
  649. package/src/server/kanna-mcp-tools/bash.test.ts +1 -1
  650. package/src/server/kanna-mcp-tools/chat-tasks.test.ts +6 -6
  651. package/src/server/kanna-mcp-tools/chat-tasks.ts +68 -79
  652. package/src/server/kanna-mcp-tools/delegate-subagent.test.ts +1 -1
  653. package/src/server/kanna-mcp-tools/delegate-subagent.ts +28 -55
  654. package/src/server/kanna-mcp-tools/edit.adapter.ts +35 -80
  655. package/src/server/kanna-mcp-tools/edit.test.ts +1 -1
  656. package/src/server/kanna-mcp-tools/glob.adapter.ts +21 -71
  657. package/src/server/kanna-mcp-tools/glob.test.ts +1 -1
  658. package/src/server/kanna-mcp-tools/grep.adapter.ts +43 -96
  659. package/src/server/kanna-mcp-tools/grep.test.ts +1 -1
  660. package/src/server/kanna-mcp-tools/read.adapter.ts +16 -48
  661. package/src/server/kanna-mcp-tools/read.test.ts +1 -1
  662. package/src/server/kanna-mcp-tools/tool-callback-shim.ts +47 -28
  663. package/src/server/kanna-mcp-tools/walk-files.adapter.ts +18 -0
  664. package/src/server/kanna-mcp-tools/webfetch.test.ts +1 -1
  665. package/src/server/kanna-mcp-tools/webfetch.ts +18 -48
  666. package/src/server/kanna-mcp-tools/websearch.test.ts +1 -1
  667. package/src/server/kanna-mcp-tools/websearch.ts +11 -33
  668. package/src/server/kanna-mcp-tools/write.adapter.ts +19 -48
  669. package/src/server/kanna-mcp-tools/write.test.ts +1 -1
  670. package/src/server/kanna-mcp.test.ts +11 -49
  671. package/src/server/kanna-mcp.ts +93 -209
  672. package/src/server/keybindings-store.adapter.ts +1 -23
  673. package/src/server/keybindings.test.ts +2 -2
  674. package/src/server/keybindings.ts +15 -43
  675. package/src/server/lifetime.test.ts +44 -0
  676. package/src/server/lifetime.ts +28 -0
  677. package/src/server/live-block-throttle.test.ts +1 -1
  678. package/src/server/llm-provider.test.ts +1 -1
  679. package/src/server/llm-provider.ts +27 -36
  680. package/src/server/local-catalog-io.adapter.test.ts +1 -1
  681. package/src/server/local-catalog-io.adapter.ts +31 -136
  682. package/src/server/local-catalog.test.ts +1 -1
  683. package/src/server/local-catalog.ts +76 -10
  684. package/src/server/loop-integrate-io.adapter.ts +7 -29
  685. package/src/server/loop-prompt-parallel.ts +0 -1
  686. package/src/server/loop-template-io.adapter.test.ts +2 -136
  687. package/src/server/loop-template-io.adapter.ts +4 -72
  688. package/src/server/loop-template.test.ts +12 -218
  689. package/src/server/loop-template.ts +7 -197
  690. package/src/server/loop-verify-cache.test.ts +1 -1
  691. package/src/server/loop-verify-cache.ts +0 -0
  692. package/src/server/loop-verify-io.adapter.test.ts +1 -1
  693. package/src/server/loop-verify-io.adapter.ts +7 -34
  694. package/src/server/loop-wake-recovery.test.ts +13 -13
  695. package/src/server/loop-wake-recovery.ts +13 -25
  696. package/src/server/mcp-oauth.test.ts +1 -1
  697. package/src/server/mcp-server-test.ts +16 -0
  698. package/src/server/mcp-sources/mcp-source-client.adapter.test.ts +1 -1
  699. package/src/server/mcp-sources/mcp-source-client.adapter.ts +3 -13
  700. package/src/server/mcp-sources/mcp-source-cursor-store.adapter.test.ts +1 -1
  701. package/src/server/mcp-sources/mcp-source-runner.test.ts +1 -1
  702. package/src/server/mcp-sources/mcp-source-runner.ts +16 -19
  703. package/src/server/mcp-sources/mcp-sources-boot.test.ts +47 -0
  704. package/src/server/mcp-sources/mcp-sources-boot.ts +36 -19
  705. package/src/server/mcp-sources-settings.test.ts +1 -1
  706. package/src/server/mcp-validator.test.ts +1 -1
  707. package/src/server/mcp-validator.ts +6 -1
  708. package/src/server/memory-ceiling.test.ts +1 -1
  709. package/src/server/mention-parser.test.ts +1 -1
  710. package/src/server/mermaid-guard.test.ts +1 -1
  711. package/src/server/mermaid-parse.adapter.test.ts +1 -1
  712. package/src/server/model-escalation.test.ts +1 -1
  713. package/src/server/oauth-errors.ts +28 -0
  714. package/src/server/oauth-pool/oauth-token-pool.test.ts +1 -1
  715. package/src/server/oauth-pool/oauth-token-pool.ts +21 -37
  716. package/src/server/observability.test.ts +1 -1
  717. package/src/server/observability.ts +21 -5
  718. package/src/server/openrouter-models.test.ts +1 -1
  719. package/src/server/otel-config.test.ts +1 -1
  720. package/src/server/otel.adapter.test.ts +1 -1
  721. package/src/server/otel.adapter.ts +11 -12
  722. package/src/server/output-ring.test.ts +1 -1
  723. package/src/server/package-apply-command.adapter.ts +84 -0
  724. package/src/server/package-inventory-io.adapter.test.ts +1 -1
  725. package/src/server/package-inventory-io.adapter.ts +10 -21
  726. package/src/server/package-update-appliers-boot.adapter.ts +2 -4
  727. package/src/server/package-update-manager.test.ts +1 -1
  728. package/src/server/path-containment.test.ts +32 -0
  729. package/src/server/path-containment.ts +14 -0
  730. package/src/server/paths.test.ts +1 -1
  731. package/src/server/paths.ts +32 -9
  732. package/src/server/pending-tool-slot.test.ts +35 -2
  733. package/src/server/pending-tool-slot.ts +15 -1
  734. package/src/server/permission-gate.test.ts +1 -1
  735. package/src/server/permission-gate.ts +77 -130
  736. package/src/server/plugin-cli-dispatch.test.ts +17 -8
  737. package/src/server/plugin-cli-dispatch.ts +6 -10
  738. package/src/server/plugin-cli.ts +23 -16
  739. package/src/server/plugin-http-routes.ts +4 -7
  740. package/src/server/plugin-system-acceptance.test.tsx +31 -28
  741. package/src/server/plugins/installed-plugin-store.test.ts +1 -1
  742. package/src/server/plugins/plugin-build.adapter.test.ts +4 -4
  743. package/src/server/plugins/plugin-build.adapter.ts +14 -7
  744. package/src/server/plugins/plugin-child-entry.adapter.ts +12 -13
  745. package/src/server/plugins/plugin-service-io.adapter.ts +2 -6
  746. package/src/server/plugins/plugin-service.ts +30 -36
  747. package/src/server/plugins/plugin-settings.ts +8 -11
  748. package/src/server/plugins/server-host-modules.ts +9 -0
  749. package/src/server/proactive-compact.test.ts +1 -1
  750. package/src/server/process-utils.adapter.ts +59 -17
  751. package/src/server/process-utils.test.ts +1 -1
  752. package/src/server/process-vitals-sampler.adapter.test.ts +1 -1
  753. package/src/server/process-vitals.test.ts +1 -1
  754. package/src/server/project-directory.test.ts +1 -1
  755. package/src/server/project-file-path.ts +26 -5
  756. package/src/server/project-kanna-files.adapter.test.ts +1 -1
  757. package/src/server/project-kanna-files.adapter.ts +3 -5
  758. package/src/server/project-mention-attach.test.ts +1 -1
  759. package/src/server/project-paths-io.adapter.ts +0 -18
  760. package/src/server/project-paths.test.ts +1 -1
  761. package/src/server/project-paths.ts +2 -2
  762. package/src/server/project-process-env.test.ts +1 -1
  763. package/src/server/projectFileRelocation.adapter.ts +4 -9
  764. package/src/server/projectFileRelocation.test.ts +5 -5
  765. package/src/server/provider-catalog.test.ts +1 -1
  766. package/src/server/push/push-manager.test.ts +1 -1
  767. package/src/server/push/push-manager.ts +14 -37
  768. package/src/server/push/vapid.test.ts +1 -1
  769. package/src/server/queued-message-recovery.test.ts +1 -1
  770. package/src/server/queued-message-recovery.ts +2 -2
  771. package/src/server/quick-response.test.ts +11 -16
  772. package/src/server/quick-response.ts +30 -11
  773. package/src/server/read-models.test.ts +41 -101
  774. package/src/server/read-models.ts +46 -22
  775. package/src/server/remote-mcp/oauth-page-routes.ts +4 -5
  776. package/src/server/remote-mcp/oauth-pages.test.ts +1 -1
  777. package/src/server/remote-mcp/oauth-pages.ts +4 -2
  778. package/src/server/remote-mcp/oauth-paths.test.ts +1 -1
  779. package/src/server/remote-mcp/oauth-paths.ts +25 -11
  780. package/src/server/remote-mcp/redact-secrets.test.ts +1 -1
  781. package/src/server/remote-mcp/remote-mcp-audit-log.test.ts +1 -1
  782. package/src/server/remote-mcp/remote-mcp-audit-log.ts +4 -3
  783. package/src/server/remote-mcp/remote-mcp-boot.ts +2 -2
  784. package/src/server/remote-mcp/remote-mcp-egress-redaction.test.ts +12 -2
  785. package/src/server/remote-mcp/remote-mcp-egress-redaction.ts +9 -12
  786. package/src/server/remote-mcp/remote-mcp-follow-view.test.ts +1 -1
  787. package/src/server/remote-mcp/remote-mcp-follow-view.ts +5 -6
  788. package/src/server/remote-mcp/remote-mcp-http-routes.test.ts +1 -1
  789. package/src/server/remote-mcp/remote-mcp-http-routes.ts +2 -3
  790. package/src/server/remote-mcp/remote-mcp-oauth.test.ts +1 -1
  791. package/src/server/remote-mcp/remote-mcp-parity.test.ts +3 -2
  792. package/src/server/remote-mcp/remote-mcp-resources.ts +2 -1
  793. package/src/server/remote-mcp/remote-mcp-send-guard.test.ts +1 -1
  794. package/src/server/remote-mcp/remote-mcp-send-guard.ts +2 -3
  795. package/src/server/remote-mcp/remote-mcp-tool-registrar.ts +3 -2
  796. package/src/server/remote-mcp/remote-mcp-tool-table.test.ts +2 -2
  797. package/src/server/remote-mcp/remote-mcp-tools-boards.ts +1 -1
  798. package/src/server/remote-mcp/remote-mcp-tools-chat.ts +4 -4
  799. package/src/server/remote-mcp/remote-mcp-tools-cron.ts +1 -1
  800. package/src/server/remote-mcp/remote-mcp-tools-files.ts +5 -4
  801. package/src/server/remote-mcp/remote-mcp-tools-generic.ts +1 -1
  802. package/src/server/remote-mcp/remote-mcp-tools-git.ts +3 -4
  803. package/src/server/remote-mcp/remote-mcp-tools-observability.ts +1 -1
  804. package/src/server/remote-mcp/remote-mcp-tools-projects.ts +2 -2
  805. package/src/server/remote-mcp/remote-mcp-tools-settings.ts +4 -4
  806. package/src/server/remote-mcp/remote-mcp-tools-system.ts +1 -1
  807. package/src/server/remote-mcp/remote-mcp-tools.test.ts +3 -2
  808. package/src/server/remote-mcp/remote-mcp-views.ts +37 -21
  809. package/src/server/remote-mcp/send-and-wait.test.ts +1 -1
  810. package/src/server/remote-mcp/send-and-wait.ts +6 -10
  811. package/src/server/remote-mcp/topics.test.ts +2 -2
  812. package/src/server/restart.test.ts +1 -1
  813. package/src/server/restart.ts +1 -0
  814. package/src/server/secret-json-store.adapter.ts +34 -0
  815. package/src/server/seen-message-ids.test.ts +66 -0
  816. package/src/server/seen-message-ids.ts +46 -0
  817. package/src/server/serial-lane.test.ts +94 -0
  818. package/src/server/serial-lane.ts +30 -0
  819. package/src/server/server-data-dir.test.ts +1 -1
  820. package/src/server/server.test.ts +1 -1
  821. package/src/server/server.ts +63 -82
  822. package/src/server/service-bus/event-store-tap.test.ts +1 -1
  823. package/src/server/service-bus/event-store-tap.ts +13 -21
  824. package/src/server/service-bus/in-memory-service-bus.test.ts +1 -1
  825. package/src/server/service-bus/jetstream-reconcile.test.ts +1 -1
  826. package/src/server/service-bus/nats-mirror-queue.test.ts +1 -1
  827. package/src/server/service-bus/nats-mirror.test.ts +1 -1
  828. package/src/server/service-bus/nats-mirror.ts +1 -9
  829. package/src/server/service-bus/nats-server-install.adapter.test.ts +1 -1
  830. package/src/server/service-bus/nats-server-install.adapter.ts +4 -5
  831. package/src/server/service-bus/nats-server-process.adapter.test.ts +1 -1
  832. package/src/server/service-bus/nats-server-process.adapter.ts +1 -9
  833. package/src/server/service-bus/nats-server-release.ts +1 -6
  834. package/src/server/service-bus/nats-service-bus.adapter.integration.test.ts +1 -1
  835. package/src/server/service-bus/scheduler.ts +8 -0
  836. package/src/server/service-bus/service-bus-boot.test.ts +1 -1
  837. package/src/server/service-bus/service-bus-boot.ts +3 -3
  838. package/src/server/service-bus/store-event-subjects.test.ts +3 -3
  839. package/src/server/service-bus/store-event-subjects.ts +64 -71
  840. package/src/server/service-bus-settings.test.ts +1 -1
  841. package/src/server/service-bus-settings.ts +22 -29
  842. package/src/server/session-import-e2e.test.ts +1 -1
  843. package/src/server/session-share/http-integration.test.ts +1 -1
  844. package/src/server/session-share/http-routes.test.ts +3 -3
  845. package/src/server/session-share/http-routes.ts +7 -6
  846. package/src/server/session-share/index.ts +7 -15
  847. package/src/server/session-share/session-share.test.ts +15 -1
  848. package/src/server/session-share/share-projection.test.ts +1 -1
  849. package/src/server/session-share/snapshot-builder.test.ts +11 -12
  850. package/src/server/session-share/snapshot-builder.ts +2 -4
  851. package/src/server/session-share/snapshot-store.adapter.test.ts +16 -17
  852. package/src/server/session-share/snapshot-store.adapter.ts +3 -24
  853. package/src/server/session-share/sweep.test.ts +1 -1
  854. package/src/server/session-share/token.test.ts +7 -8
  855. package/src/server/session-share/token.ts +7 -5
  856. package/src/server/share.test.ts +1 -1
  857. package/src/server/skill-invocation.test.ts +1 -1
  858. package/src/server/skill-update-applier.adapter.test.ts +1 -1
  859. package/src/server/skill-update-applier.adapter.ts +19 -65
  860. package/src/server/skill-update-checker.adapter.test.ts +1 -1
  861. package/src/server/skills-cli.test.ts +65 -0
  862. package/src/server/skills-cli.ts +32 -0
  863. package/src/server/static-serve.test.ts +1 -1
  864. package/src/server/storage/backend.test.ts +1 -1
  865. package/src/server/storage/backend.ts +2 -2
  866. package/src/server/structured-doc-io.adapter.test.ts +1 -1
  867. package/src/server/subagent-entry-cap.adapter.ts +5 -45
  868. package/src/server/subagent-entry-cap.test.ts +3 -2
  869. package/src/server/subagent-orchestrator.test.ts +47 -1
  870. package/src/server/subagent-orchestrator.ts +273 -310
  871. package/src/server/subagent-pausable-timeout.test.ts +1 -1
  872. package/src/server/subagent-provider-run.test.ts +1 -1
  873. package/src/server/subagent-provider-run.ts +27 -37
  874. package/src/server/subagent-transcript-io.adapter.test.ts +1 -1
  875. package/src/server/subagent-transcript-io.adapter.ts +0 -6
  876. package/src/server/subagent-transcript-registry.test.ts +1 -1
  877. package/src/server/terminal-manager.test.ts +1 -1
  878. package/src/server/terminal-manager.ts +15 -82
  879. package/src/server/terminal-pid-registry.adapter.ts +12 -19
  880. package/src/server/terminal-pid-registry.test.ts +1 -1
  881. package/src/server/test-helpers/failing-claude-session.ts +29 -0
  882. package/src/server/test-helpers/inbox-harness.ts +2 -1
  883. package/src/server/test-helpers/loop-command-fakes.ts +4 -12
  884. package/src/server/test-helpers/sdk-tool.ts +14 -0
  885. package/src/server/title-generation.live.test.ts +6 -2
  886. package/src/server/tool-callback.test.ts +1 -1
  887. package/src/server/tool-callback.ts +32 -28
  888. package/src/server/update-manager.test.ts +1 -1
  889. package/src/server/update-manager.ts +46 -52
  890. package/src/server/update-strategy.test.ts +1 -5
  891. package/src/server/update-strategy.ts +1 -5
  892. package/src/server/uploads.adapter.ts +44 -33
  893. package/src/server/uploads.test.ts +3 -2
  894. package/src/server/uploads.ts +3 -6
  895. package/src/server/watched-registry.test.ts +1 -1
  896. package/src/server/webhooks/slack/slack-api.adapter.test.ts +1 -1
  897. package/src/server/webhooks/slack/slack-events.test.ts +1 -1
  898. package/src/server/webhooks/slack/slack-http.test.ts +1 -1
  899. package/src/server/webhooks/slack/slack-prompt.test.ts +1 -1
  900. package/src/server/webhooks/slack/slack-service.test.ts +3 -3
  901. package/src/server/webhooks/slack/slack-service.ts +20 -41
  902. package/src/server/webhooks/slack/slack-signature.test.ts +1 -1
  903. package/src/server/webhooks/slack/slack-thread-store.adapter.test.ts +1 -1
  904. package/src/server/webhooks/slack/slack-thread-store.adapter.ts +2 -20
  905. package/src/server/webhooks/slack/slack-threads.ts +3 -3
  906. package/src/server/webhooks/webhook-delivery.test.ts +1 -1
  907. package/src/server/webhooks/webhook-delivery.ts +4 -10
  908. package/src/server/webhooks/webhook-filter.ts +2 -3
  909. package/src/server/webhooks/webhook-http-routes.test.ts +1 -1
  910. package/src/server/webhooks/webhook-http-routes.ts +3 -77
  911. package/src/server/webhooks/webhook-registry.test.ts +13 -3
  912. package/src/server/webhooks/webhook-registry.ts +50 -29
  913. package/src/server/webhooks/webhook-response.ts +16 -0
  914. package/src/server/webhooks/webhook-service.ts +57 -7
  915. package/src/server/webhooks/webhook-store.adapter.test.ts +1 -1
  916. package/src/server/webhooks/webhook-store.adapter.ts +18 -40
  917. package/src/server/workflow-agent-transcript-io.adapter.test.ts +1 -1
  918. package/src/server/workflow-registry.test.ts +1 -1
  919. package/src/server/workflow-registry.ts +48 -36
  920. package/src/server/workflow-watch-io.adapter.test.ts +1 -1
  921. package/src/server/workflow-watch-io.adapter.ts +3 -6
  922. package/src/server/worktree-store.adapter.ts +3 -3
  923. package/src/server/worktree-store.test.ts +1 -1
  924. package/src/server/ws-router-agent-ctrl.test.ts +14 -14
  925. package/src/server/ws-router-boards.test.ts +4 -12
  926. package/src/server/ws-router-boards.ts +2 -3
  927. package/src/server/ws-router-broadcast.ts +47 -176
  928. package/src/server/ws-router-chat.test.ts +57 -57
  929. package/src/server/ws-router-chat.ts +5 -20
  930. package/src/server/ws-router-command-results.test.ts +2 -2
  931. package/src/server/ws-router-coverage.test.ts +2 -2
  932. package/src/server/ws-router-defaults.test.ts +18 -18
  933. package/src/server/ws-router-defaults.ts +10 -206
  934. package/src/server/ws-router-diff.test.ts +23 -23
  935. package/src/server/ws-router-diff.ts +130 -151
  936. package/src/server/ws-router-envelope.test.ts +1 -1
  937. package/src/server/ws-router-envelope.ts +101 -302
  938. package/src/server/ws-router-inbox.ts +7 -18
  939. package/src/server/ws-router-misc.test.ts +41 -41
  940. package/src/server/ws-router-misc.ts +5 -5
  941. package/src/server/ws-router-observability.test.ts +26 -25
  942. package/src/server/ws-router-plugins.test.ts +1 -1
  943. package/src/server/ws-router-project-files.test.ts +1 -1
  944. package/src/server/ws-router-project-files.ts +5 -11
  945. package/src/server/ws-router-project.test.ts +42 -42
  946. package/src/server/ws-router-project.ts +11 -22
  947. package/src/server/ws-router-push.test.ts +19 -19
  948. package/src/server/ws-router-settings.test.ts +43 -62
  949. package/src/server/ws-router-settings.ts +31 -87
  950. package/src/server/ws-router-skills.test.ts +4 -68
  951. package/src/server/ws-router-skills.ts +38 -61
  952. package/src/server/ws-router-utils.ts +73 -128
  953. package/src/server/ws-router-webhooks.ts +4 -4
  954. package/src/server/ws-router.stack.test.ts +1 -1
  955. package/src/server/ws-router.test.ts +83 -99
  956. package/src/server/ws-router.ts +25 -51
  957. package/src/shared/anthropic-base-url.test.ts +27 -0
  958. package/src/shared/anthropic-base-url.ts +19 -0
  959. package/src/shared/app-settings-types.schema.ts +27 -48
  960. package/src/shared/app-settings-types.test.ts +1 -1
  961. package/src/shared/app-settings-types.ts +71 -136
  962. package/src/shared/beacon-alias.test.ts +1 -1
  963. package/src/shared/beacon-alias.ts +3 -3
  964. package/src/shared/beacon-config.schema.ts +2 -3
  965. package/src/shared/beacon-conformance.test.ts +1 -1
  966. package/src/shared/beacon-pair-link.test.ts +1 -1
  967. package/src/shared/beacon-pair-link.ts +7 -3
  968. package/src/shared/beacon-protocol.test.ts +1 -1
  969. package/src/shared/beacon-protocol.ts +41 -43
  970. package/src/shared/beacon-scope.test.ts +1 -1
  971. package/src/shared/beacon-status.test.ts +1 -1
  972. package/src/shared/boards/decode.test.ts +17 -42
  973. package/src/shared/boards/decode.ts +62 -88
  974. package/src/shared/boards/dependencies.test.ts +1 -1
  975. package/src/shared/boards/rank.test.ts +1 -1
  976. package/src/shared/boards/rank.ts +6 -8
  977. package/src/shared/boards/repo-slug.test.ts +35 -2
  978. package/src/shared/boards/repo-slug.ts +29 -0
  979. package/src/shared/boards/start-work.test.ts +1 -1
  980. package/src/shared/boards/start-work.ts +16 -22
  981. package/src/shared/boards/types.schema.test.ts +43 -0
  982. package/src/shared/boards/types.schema.ts +46 -12
  983. package/src/shared/boards/types.ts +25 -70
  984. package/src/shared/boards/{cardSchema.test.ts → well-known-fields.test.ts} +21 -3
  985. package/src/shared/boards/well-known-fields.ts +44 -0
  986. package/src/shared/boards/worktree-cleanup.test.ts +1 -1
  987. package/src/shared/boards/worktree-cleanup.ts +8 -9
  988. package/src/shared/branding.test.ts +1 -1
  989. package/src/shared/builtin-commands.test.ts +2 -2
  990. package/src/shared/chat-ops.test.ts +1 -1
  991. package/src/shared/chat-status.ts +12 -0
  992. package/src/shared/chat-tasks/import-tracking.ts +7 -15
  993. package/src/shared/chat-tasks/native-mirror.ts +24 -23
  994. package/src/shared/chat-tasks/read-model.test.ts +1 -1
  995. package/src/shared/chat-tasks/read-model.ts +25 -13
  996. package/src/shared/chat-tasks/seed.ts +0 -4
  997. package/src/shared/chat-tasks/types.ts +0 -13
  998. package/src/shared/claude-session-id.test.ts +1 -1
  999. package/src/shared/codex-error-classification.test.ts +1 -1
  1000. package/src/shared/codex-error-classification.ts +112 -68
  1001. package/src/shared/commands/board.ts +2 -1
  1002. package/src/shared/commands/commands.test.ts +1 -1
  1003. package/src/shared/commands/git.ts +2 -1
  1004. package/src/shared/commands/index.ts +4 -0
  1005. package/src/shared/commands/results/board.ts +7 -17
  1006. package/src/shared/commands/results/packages.ts +6 -5
  1007. package/src/shared/core-types.schema.ts +14 -25
  1008. package/src/shared/core-types.ts +23 -7
  1009. package/src/shared/cron/arm-summary.test.ts +1 -1
  1010. package/src/shared/cron/humanize.test.ts +1 -1
  1011. package/src/shared/cron/parse-command.test.ts +1 -1
  1012. package/src/shared/cron/parse-command.ts +14 -5
  1013. package/src/shared/cron/parse-schedule.test.ts +1 -1
  1014. package/src/shared/cron/repair-report.test.ts +1 -1
  1015. package/src/shared/cron/repair-report.ts +3 -2
  1016. package/src/shared/cron/types.schema.ts +2 -3
  1017. package/src/shared/cron/types.ts +4 -7
  1018. package/src/shared/custom-providers.test.ts +1 -1
  1019. package/src/shared/custom-providers.ts +3 -2
  1020. package/src/shared/design/contrast.ts +0 -4
  1021. package/src/shared/design/tokens.ts +3 -5
  1022. package/src/shared/design/typography.test.ts +3 -3
  1023. package/src/shared/design/typography.ts +4 -5
  1024. package/src/shared/dev-ports.test.ts +13 -28
  1025. package/src/shared/dev-ports.ts +90 -95
  1026. package/src/shared/equality.test.ts +264 -0
  1027. package/src/shared/equality.ts +201 -30
  1028. package/src/shared/errors.test.ts +28 -2
  1029. package/src/shared/errors.ts +22 -0
  1030. package/src/shared/genui/catalog.ts +57 -29
  1031. package/src/shared/genui/contract.test.ts +53 -1
  1032. package/src/shared/genui/datasets.ts +6 -3
  1033. package/src/shared/genui/fences.ts +1 -1
  1034. package/src/shared/genui/format.test.ts +1 -1
  1035. package/src/shared/genui/index.ts +1 -1
  1036. package/src/shared/genui/intent.ts +27 -3
  1037. package/src/shared/genui/period.ts +105 -57
  1038. package/src/shared/genui/prompt.ts +17 -5
  1039. package/src/shared/genui/protocol.ts +2 -1
  1040. package/src/shared/genui/query.test.ts +1 -1
  1041. package/src/shared/genui/query.ts +7 -5
  1042. package/src/shared/genui/rows.test.ts +8 -1
  1043. package/src/shared/genui/rows.ts +2 -18
  1044. package/src/shared/genui/spec.test.ts +1 -1
  1045. package/src/shared/git-diff-types.schema.ts +3 -1
  1046. package/src/shared/git-diff-types.ts +10 -2
  1047. package/src/shared/home-path.ts +15 -0
  1048. package/src/shared/http-routes.test.ts +1 -1
  1049. package/src/shared/inbound/handler.schema.ts +3 -5
  1050. package/src/shared/inbound/handler.test.ts +13 -0
  1051. package/src/shared/inbound/handler.ts +72 -13
  1052. package/src/shared/inbound/reply-prompt.test.ts +1 -1
  1053. package/src/shared/inbound/template.test.ts +50 -5
  1054. package/src/shared/inbound/template.ts +2 -24
  1055. package/src/shared/inbox/describe.test.ts +1 -1
  1056. package/src/shared/inbox/describe.ts +29 -25
  1057. package/src/shared/inbox/events.ts +37 -177
  1058. package/src/shared/inbox/policy.test.ts +1 -1
  1059. package/src/shared/inbox/policy.ts +10 -10
  1060. package/src/shared/inbox/types.schema.ts +46 -22
  1061. package/src/shared/inbox/types.ts +8 -21
  1062. package/src/shared/json.test.ts +1 -1
  1063. package/src/shared/json.ts +47 -0
  1064. package/src/shared/kanna-system-prompt.test.ts +1 -6
  1065. package/src/shared/kanna-system-prompt.ts +11 -8
  1066. package/src/shared/lazyModule.test.ts +1 -1
  1067. package/src/shared/loop-progress.test.ts +1 -1
  1068. package/src/shared/loop-progress.ts +22 -46
  1069. package/src/shared/markdown-fences.test.ts +19 -0
  1070. package/src/shared/markdown-fences.ts +31 -0
  1071. package/src/shared/mask-oauth-key.test.ts +1 -1
  1072. package/src/shared/mcp-sources/types.schema.ts +19 -27
  1073. package/src/shared/mcp-sources/types.ts +10 -11
  1074. package/src/shared/mcp-sources/validate.test.ts +4 -3
  1075. package/src/shared/mcp-sources/validate.ts +15 -25
  1076. package/src/shared/mcp-types.schema.ts +16 -21
  1077. package/src/shared/mcp-types.ts +2 -1
  1078. package/src/shared/mermaid-fences.test.ts +2 -19
  1079. package/src/shared/mermaid-fences.ts +1 -32
  1080. package/src/shared/mermaid-hints.test.ts +1 -1
  1081. package/src/shared/mermaid-prompt-drift.test.ts +1 -1
  1082. package/src/shared/mermaid-report.test.ts +1 -1
  1083. package/src/shared/mermaid-report.ts +2 -1
  1084. package/src/shared/mermaid-validate.test.ts +1 -1
  1085. package/src/shared/mermaidError.test.ts +1 -1
  1086. package/src/shared/mermaidRepair.parity.test.ts +1 -1
  1087. package/src/shared/mermaidRepair.test.ts +1 -1
  1088. package/src/shared/numeric.ts +64 -0
  1089. package/src/shared/packages/installed-package.ts +20 -0
  1090. package/src/shared/packages/parse-claude-plugin-marketplace.test.ts +1 -1
  1091. package/src/shared/packages/parse-claude-plugin-marketplace.ts +12 -0
  1092. package/src/shared/packages/parse-claude-plugins.test.ts +1 -1
  1093. package/src/shared/packages/parse-claude-plugins.ts +55 -104
  1094. package/src/shared/packages/parse-codex-plugins.test.ts +1 -1
  1095. package/src/shared/packages/parse-codex-plugins.ts +16 -32
  1096. package/src/shared/packages/parse-skill-lock.test.ts +1 -1
  1097. package/src/shared/packages/parse-skill-lock.ts +18 -33
  1098. package/src/shared/packages/skill-update-classifier.test.ts +1 -1
  1099. package/src/shared/packages/tag-order.test.ts +1 -1
  1100. package/src/shared/packages/types.ts +5 -1
  1101. package/src/shared/pane-tab-width.test.ts +1 -1
  1102. package/src/shared/pane-tab-width.ts +2 -3
  1103. package/src/shared/permission-policy.test.ts +1 -1
  1104. package/src/shared/persisted-output.test.ts +34 -0
  1105. package/src/shared/persisted-output.ts +50 -0
  1106. package/src/shared/plugins/host-modules.ts +9 -3
  1107. package/src/shared/plugins/log-ring.test.ts +34 -0
  1108. package/src/shared/plugins/log-ring.ts +7 -2
  1109. package/src/shared/plugins/manifest.test.ts +5 -5
  1110. package/src/shared/plugins/manifest.ts +8 -13
  1111. package/src/shared/plugins/paths.test.ts +1 -1
  1112. package/src/shared/project-mention.test.ts +1 -1
  1113. package/src/shared/projectFileUrl.test.ts +1 -1
  1114. package/src/shared/protocol.schema.test.ts +27 -0
  1115. package/src/shared/protocol.schema.ts +84 -0
  1116. package/src/shared/protocol.ts +0 -11
  1117. package/src/shared/provider-model-types.test.ts +10 -2
  1118. package/src/shared/provider-model-types.ts +31 -29
  1119. package/src/shared/remote-mcp/setup-snippets.test.ts +1 -1
  1120. package/src/shared/remote-mcp/topics.ts +2 -43
  1121. package/src/shared/service-bus/envelope.test.ts +1 -1
  1122. package/src/shared/service-bus/envelope.ts +26 -5
  1123. package/src/shared/service-bus/jetstream-config.schema.ts +20 -13
  1124. package/src/shared/service-bus/jetstream-config.test.ts +1 -1
  1125. package/src/shared/service-bus/jetstream-config.ts +51 -23
  1126. package/src/shared/service-bus/subjects.ts +105 -0
  1127. package/src/shared/session-share/types.test.ts +2 -8
  1128. package/src/shared/session-share/types.ts +1 -17
  1129. package/src/shared/settings/auth.test.ts +2 -7
  1130. package/src/shared/settings/auth.ts +18 -28
  1131. package/src/shared/settings/bounds.test.ts +38 -0
  1132. package/src/shared/settings/bounds.ts +60 -0
  1133. package/src/shared/settings/chat-sound.test.ts +33 -0
  1134. package/src/shared/settings/chat-sound.ts +13 -0
  1135. package/src/shared/settings/cloudflare-tunnel.test.ts +1 -1
  1136. package/src/shared/settings/cloudflare-tunnel.ts +13 -32
  1137. package/src/shared/settings/editor.test.ts +34 -0
  1138. package/src/shared/settings/editor.ts +29 -0
  1139. package/src/shared/settings/index.ts +3 -1
  1140. package/src/shared/settings/merge-settings-sections.test.ts +30 -0
  1141. package/src/shared/settings/merge-settings-sections.ts +90 -0
  1142. package/src/shared/settings/provider-defaults.test.ts +43 -0
  1143. package/src/shared/settings/provider-defaults.ts +119 -0
  1144. package/src/shared/settings/push.test.ts +1 -1
  1145. package/src/shared/settings/push.ts +6 -19
  1146. package/src/shared/settings/read-fields.ts +41 -0
  1147. package/src/shared/settings/remote-mcp.test.ts +1 -1
  1148. package/src/shared/settings/remote-mcp.ts +5 -12
  1149. package/src/shared/settings/settings.schema.ts +2 -3
  1150. package/src/shared/settings/telemetry.test.ts +1 -1
  1151. package/src/shared/settings/telemetry.ts +10 -24
  1152. package/src/shared/settings/typography.test.ts +1 -1
  1153. package/src/shared/settings/typography.ts +10 -15
  1154. package/src/shared/settings/uploads.test.ts +2 -7
  1155. package/src/shared/settings/uploads.ts +18 -28
  1156. package/src/shared/settings/validation.ts +16 -0
  1157. package/src/shared/sidebar-data.test.ts +44 -0
  1158. package/src/shared/sidebar-data.ts +11 -0
  1159. package/src/shared/skill-agents.ts +3 -5
  1160. package/src/shared/slash-expansion.test.ts +2 -2
  1161. package/src/shared/stack-activity.test.ts +1 -1
  1162. package/src/shared/stacks.ts +7 -0
  1163. package/src/shared/steered-message.test.ts +42 -0
  1164. package/src/shared/steered-message.ts +25 -0
  1165. package/src/shared/structured-doc/markdown.test.ts +1 -1
  1166. package/src/shared/structured-doc/markdown.ts +16 -14
  1167. package/src/shared/structured-doc/registry.test.ts +1 -1
  1168. package/src/shared/subagent-types.schema.ts +9 -11
  1169. package/src/shared/subagent-types.ts +7 -8
  1170. package/src/shared/task-doc.test.ts +1 -1
  1171. package/src/shared/terminal-column-width.ts +13 -0
  1172. package/src/shared/terminal-scrollback.test.ts +1 -1
  1173. package/src/shared/terminal-scrollback.ts +4 -3
  1174. package/src/shared/token-pricing.test.ts +1 -1
  1175. package/src/shared/tool-call-types.schema.ts +2 -2
  1176. package/src/shared/tool-call-types.ts +6 -2
  1177. package/src/shared/tools.test.ts +15 -1
  1178. package/src/shared/tools.ts +220 -383
  1179. package/src/shared/transcript-entry.ts +12 -0
  1180. package/src/shared/transcript-types.ts +25 -27
  1181. package/src/shared/types.test.ts +1 -1
  1182. package/src/shared/types.ts +0 -3
  1183. package/src/shared/vapid-subject.test.ts +1 -1
  1184. package/src/shared/vocab.ts +4 -0
  1185. package/src/shared/webhooks/types.ts +3 -16
  1186. package/src/shared/webhooks/validate.test.ts +1 -1
  1187. package/src/shared/webhooks/validate.ts +12 -40
  1188. package/src/shared/workflow-types.schema.ts +2 -2
  1189. package/src/shared/workflow-types.test.ts +1 -1
  1190. package/src/shared/workflow-types.ts +42 -50
  1191. package/dist/client/assets/BoardsPage-D6NwfXAL.js +0 -1
  1192. package/dist/client/assets/BoardsRoutePage-D9RzhFoL.js +0 -1
  1193. package/dist/client/assets/ChatPage-DU9IiMp6.js +0 -98
  1194. package/dist/client/assets/CronJobRow-E1c4iJ9G.js +0 -1
  1195. package/dist/client/assets/CronJobsPage-c_v2WrgQ.js +0 -1
  1196. package/dist/client/assets/CronRunMessage-RixJcOzB.js +0 -1
  1197. package/dist/client/assets/FilePreviewSheet-2biHtWUP.js +0 -11
  1198. package/dist/client/assets/FlowSurface-0MWPhYZ8.js +0 -7
  1199. package/dist/client/assets/GenUIBlock-CjxmMzU2.js +0 -2
  1200. package/dist/client/assets/InboxPage-B9F_t2n1.js +0 -1
  1201. package/dist/client/assets/LocalProjectsPage-CcIn5uu3.js +0 -1
  1202. package/dist/client/assets/SettingsPage-C82bGYBP.js +0 -17
  1203. package/dist/client/assets/ToolCallMessage-m4udKlR2.js +0 -4
  1204. package/dist/client/assets/VChartSurface-CXvNb2nC.js +0 -11
  1205. package/dist/client/assets/WebhooksPage-Btp6jD7j.js +0 -5
  1206. package/dist/client/assets/WorkflowsPage-CU1Kpvby.js +0 -1
  1207. package/dist/client/assets/WorkflowsSection-D_7-AZKz.js +0 -1
  1208. package/dist/client/assets/abnfDiagram-WEYOIA3C-DChOQNmH.js +0 -1
  1209. package/dist/client/assets/appSettingsStore-DsJwx33k.js +0 -1
  1210. package/dist/client/assets/architecture-WOLXFQ4H-C0NxYiG7.js +0 -1
  1211. package/dist/client/assets/architectureDiagram-ZHVYKT53-BtxTDfl1.js +0 -36
  1212. package/dist/client/assets/browser-uLao0xGx.js +0 -3
  1213. package/dist/client/assets/channel-CpH929lc.js +0 -1
  1214. package/dist/client/assets/chart-renderer-BRNdlIJD.js +0 -1
  1215. package/dist/client/assets/chatFocusPolicy-keHCdv0s.js +0 -41
  1216. package/dist/client/assets/chatSounds-BidZgM5v.js +0 -1
  1217. package/dist/client/assets/chevron-down-DXLIOiVq.js +0 -1
  1218. package/dist/client/assets/chevron-left-Bnn9c10J.js +0 -1
  1219. package/dist/client/assets/chunk-24IY7LWP-flnn6SWX.js +0 -1
  1220. package/dist/client/assets/chunk-3M4EKCLJ-D-sZGCtO.js +0 -1
  1221. package/dist/client/assets/chunk-4S7OKTRW-BpUW13a3.js +0 -1
  1222. package/dist/client/assets/chunk-53FOQ5SW-5lPdGYP4.js +0 -1
  1223. package/dist/client/assets/chunk-BP2KR52E-DAQ1pzDV.js +0 -2
  1224. package/dist/client/assets/chunk-EJLWFMJV-FBUhvkoF.js +0 -2
  1225. package/dist/client/assets/chunk-F6S3BTY2-DVWKCAHp.js +0 -2
  1226. package/dist/client/assets/chunk-KPI5JJXK-B2ld5-w4.js +0 -1
  1227. package/dist/client/assets/chunk-LNGE3PJU-5-SxdO55.js +0 -34
  1228. package/dist/client/assets/chunk-OB3PAWPO-bMwGZcTr.js +0 -3
  1229. package/dist/client/assets/chunk-OD3NTWWA-Dz9nCUGX.js +0 -1
  1230. package/dist/client/assets/chunk-OYAV6JZA-DewdxI5x.js +0 -1
  1231. package/dist/client/assets/chunk-QNH66VMT-Cb9xxTwQ.js +0 -1
  1232. package/dist/client/assets/chunk-TPMEZKFX-DIPHIqGb.js +0 -1
  1233. package/dist/client/assets/chunk-VPELOWWC-DXayM28-.js +0 -1
  1234. package/dist/client/assets/chunk-VTWWFHGB-SZnJiyWY.js +0 -1
  1235. package/dist/client/assets/chunk-VZTHESGH-eHyXmK8W.js +0 -1
  1236. package/dist/client/assets/chunk-XXDRQBXY-BZ1S0ZST.js +0 -1
  1237. package/dist/client/assets/chunk-YK26KJH5-DVy3MGMd.js +0 -1
  1238. package/dist/client/assets/chunk-ZCHMQSOR-B_ATM6zM.js +0 -2
  1239. package/dist/client/assets/chunk-ZO67DCNQ-BAOMIkLF.js +0 -2
  1240. package/dist/client/assets/clipboard.adapter-C_Y6MCfK.js +0 -1
  1241. package/dist/client/assets/columnStyle-BWXtWjiI.js +0 -1
  1242. package/dist/client/assets/contextWindow-x8hZDomU.js +0 -1
  1243. package/dist/client/assets/copyFeedbackStore-C0COsRAq.js +0 -1
  1244. package/dist/client/assets/cose-bilkent-JH36ORCC-3J-FMas9.js +0 -1
  1245. package/dist/client/assets/createScopedStore-BOhUgKYu.js +0 -1
  1246. package/dist/client/assets/cronJobsStore-CU7flVa-.js +0 -1
  1247. package/dist/client/assets/cynefin-EF2NZ3EQ-DVkJeZ8i.js +0 -1
  1248. package/dist/client/assets/cynefinDiagram-WF24UDRP-D3fzsYkC.js +0 -62
  1249. package/dist/client/assets/cytoscape.esm-NgwPT4ez.js +0 -321
  1250. package/dist/client/assets/dagre-NK4GIZVX-DC-YWEzx.js +0 -4
  1251. package/dist/client/assets/diagram-CBK3MWTC-CJ5kUcAN.js +0 -24
  1252. package/dist/client/assets/diagram-I5XIIV2D-PCeLB4SM.js +0 -24
  1253. package/dist/client/assets/diagram-PFBEJUXE-BQfuaLMC.js +0 -3
  1254. package/dist/client/assets/diagram-RJA3I4VV-BNGVOwMj.js +0 -41
  1255. package/dist/client/assets/diagram-TYUNFSNR-D-NQOX_C.js +0 -200
  1256. package/dist/client/assets/dist-C8wnV1mz.js +0 -1
  1257. package/dist/client/assets/dist-CT9j6DWv.js +0 -13
  1258. package/dist/client/assets/dist-HdfQrDcg.js +0 -1
  1259. package/dist/client/assets/ebnfDiagram-V4P3TTPT-B8POjhwK.js +0 -1
  1260. package/dist/client/assets/elk-QONTBCTQ-m430bm1C.js +0 -27
  1261. package/dist/client/assets/elk.bundled-BfUIUPT1.js +0 -24
  1262. package/dist/client/assets/ellipsis-iV506IfD.js +0 -1
  1263. package/dist/client/assets/eventmodeling-K75KTNOO-BWBlZ5cR.js +0 -1
  1264. package/dist/client/assets/external-link-C88vi3mo.js +0 -1
  1265. package/dist/client/assets/flow-kinds-D1mEELnn.js +0 -1
  1266. package/dist/client/assets/flowDiagram-IUGLLWBU-CwauCT7Y.js +0 -1
  1267. package/dist/client/assets/folder-BIltTlkb.js +0 -1
  1268. package/dist/client/assets/formatters-BGORekd-.js +0 -1
  1269. package/dist/client/assets/genui-D86LkmEh.js +0 -68
  1270. package/dist/client/assets/gitGraph-VSP46ZUC-1499lQAI.js +0 -1
  1271. package/dist/client/assets/gitGraphDiagram-PDYL7XHY-C4FiavER.js +0 -106
  1272. package/dist/client/assets/globe-BYV9JkIB.js +0 -1
  1273. package/dist/client/assets/host-ske8wTnP.js +0 -1
  1274. package/dist/client/assets/inbox-D6yzNSMO.js +0 -1
  1275. package/dist/client/assets/inboxPresentation-Drn6X1s5.js +0 -1
  1276. package/dist/client/assets/inboxStore-C6mSj2sA.js +0 -1
  1277. package/dist/client/assets/index-7sZrrlDB.js +0 -26
  1278. package/dist/client/assets/index-ChFjBc7x.css +0 -1
  1279. package/dist/client/assets/info-OHQRW6UA-BDFQOo4H.js +0 -1
  1280. package/dist/client/assets/infoDiagram-MVDRKAX5-C4-bqDJA.js +0 -2
  1281. package/dist/client/assets/kannaStateStore-C5Hfx9_s.js +0 -1
  1282. package/dist/client/assets/log-CCCDJ-RJ.js +0 -1
  1283. package/dist/client/assets/mermaid-parser.core-DUIvugRg.js +0 -4
  1284. package/dist/client/assets/mermaid.core-CS56ZyoX.js +0 -11
  1285. package/dist/client/assets/minus-BktaMy2I.js +0 -1
  1286. package/dist/client/assets/packet-JDAUHWVQ-DJ9K2MA4.js +0 -1
  1287. package/dist/client/assets/pegDiagram-ECIUJNBX-D9yfHoPb.js +0 -1
  1288. package/dist/client/assets/pencil-CbUK_wx5.js +0 -1
  1289. package/dist/client/assets/pendingActionsStore-BrfyW4fE.js +0 -1
  1290. package/dist/client/assets/pie-XZMESJXO-CQIQasY-.js +0 -1
  1291. package/dist/client/assets/pieDiagram-GNMPY74T-Os3LD3nT.js +0 -39
  1292. package/dist/client/assets/play-CjEyimZN.js +0 -1
  1293. package/dist/client/assets/popover-BBCrctJs.js +0 -1
  1294. package/dist/client/assets/radar-ABXABTNO-ByfpCXh9.js +0 -1
  1295. package/dist/client/assets/railroad-I3PHUGI6-CTUn9HhI.js +0 -1
  1296. package/dist/client/assets/railroad-abnf-LNEFI6M7-Ct-b-y0F.js +0 -1
  1297. package/dist/client/assets/railroad-ebnf-DWYD2UWJ-BZMYMWOe.js +0 -1
  1298. package/dist/client/assets/railroad-peg-JR7BVNR7-Dj23PxYc.js +0 -1
  1299. package/dist/client/assets/railroadDiagram-Y72NRBL7-Ct8UBrxl.js +0 -1
  1300. package/dist/client/assets/react-CUxhxv_r.js +0 -293
  1301. package/dist/client/assets/rolldown-runtime-C0FnF6B9.js +0 -1
  1302. package/dist/client/assets/runDetached-DHNwY67d.js +0 -1
  1303. package/dist/client/assets/searchable-select-D5uMiK_3.js +0 -1
  1304. package/dist/client/assets/segmented-control-4VACURsh.js +0 -1
  1305. package/dist/client/assets/select-D1wa68A8.js +0 -1
  1306. package/dist/client/assets/settings-header-button-kwIufmiz.js +0 -1
  1307. package/dist/client/assets/shallow-BErRtSkK.js +0 -1
  1308. package/dist/client/assets/shellChrome-bmmKlcOk.js +0 -1
  1309. package/dist/client/assets/sidebarPendingActions-mnJsvklC.js +0 -1
  1310. package/dist/client/assets/square-pen-DSc-Unmn.js +0 -1
  1311. package/dist/client/assets/src-B-DeWB10.js +0 -1
  1312. package/dist/client/assets/src-DEuepP9r.js +0 -1
  1313. package/dist/client/assets/state-mark-C-rm48aD.js +0 -1
  1314. package/dist/client/assets/swimlanes-B3ENRKFQ-BKT3kBgx.js +0 -1
  1315. package/dist/client/assets/swimlanesDiagram-AYQRV4AK-NscQFyWB.js +0 -8
  1316. package/dist/client/assets/terminal-VTYyOIC4.js +0 -1
  1317. package/dist/client/assets/timer.adapter-pSCh23aq.js +0 -1
  1318. package/dist/client/assets/tools-BTc3kCMG.js +0 -1
  1319. package/dist/client/assets/treeView-D4JQ5SDB-DcX7Bx0H.js +0 -1
  1320. package/dist/client/assets/treemap-SAJKECNS-BcCHmcAX.js +0 -1
  1321. package/dist/client/assets/types-C-hQn4rL.js +0 -1
  1322. package/dist/client/assets/useAppGlobalState-BxiMXQZX.js +0 -1
  1323. package/dist/client/assets/useKannaState-B4MwPaCT.js +0 -5
  1324. package/dist/client/assets/useQuery-CX-HVJPH.js +0 -1
  1325. package/dist/client/assets/useTheme-CooV0OfN.js +0 -1
  1326. package/dist/client/assets/value-DcGlvoTp.js +0 -1
  1327. package/dist/client/assets/wardley-7MLQ67FV-DOahSwbZ.js +0 -1
  1328. package/dist/client/assets/webhook-CPUPK2Cd.js +0 -1
  1329. package/dist/client/assets/webhookCommands-BkyFi2Aa.js +0 -1
  1330. package/dist/client/assets/webhooksStore-DuSGI39q.js +0 -3
  1331. package/src/server/agent.ts +0 -37
  1332. package/src/server/beacon-transfer-host.ts +0 -21
  1333. package/src/server/event-store-helpers.test.ts +0 -205
  1334. package/src/server/event-store-helpers.ts +0 -243
  1335. package/src/server/llm-provider-store.adapter.ts +0 -43
  1336. package/src/server/remote-mcp/remote-mcp-envelope.ts +0 -9
  1337. package/src/server/tracking-file-lock.test.ts +0 -60
  1338. package/src/server/tracking-file-lock.ts +0 -26
  1339. package/src/server/ws-router-io.adapter.ts +0 -30
  1340. package/src/shared/boards/cardSchema.ts +0 -13
  1341. package/src/shared/settings/plain-object.ts +0 -6
  1342. package/src/shared/webhooks/template.test.ts +0 -37
  1343. package/src/shared/webhooks/template.ts +0 -31
@@ -1,4 +0,0 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t}from"./src-DEuepP9r.js";import{b as n}from"./chunk-DSNLSHJZ-ouwfoCtA.js";import"./chunk-7S6XSTFO-CddfL1MG.js";import"./chunk-YZO67HFG-BbSMSuPs.js";import"./chunk-AQDTSKZB-kaWiNStl.js";import"./chunk-UHW7PFBP-D1DW9Q0V.js";import{c as r}from"./chunk-HAGFOTED-BQ9cYi7R.js";import{a as i,i as a,n as o}from"./chunk-ZAUX2LTX-Dglkxe4X.js";import{a as s,i as c,l}from"./chunk-WQQL4CDK-BOMTT7im.js";import{$ as u,A as d,B as f,C as p,D as m,E as h,F as g,G as ee,H as _,I as te,J as ne,K as re,L as ie,M as ae,N as oe,O as se,P as v,Q as y,R as ce,S as le,T as ue,U as de,V as fe,W as pe,X as me,Y as he,Z as b,_ as x,a as S,b as ge,c as _e,d as ve,et as ye,f as C,g as be,h as xe,i as w,it as Se,j as Ce,k as we,l as Te,m as Ee,n as T,nt as De,o as E,p as Oe,q as ke,r as D,rt as Ae,s as je,t as O,tt as k,u as Me,v as Ne,w as Pe,x as Fe,y as Ie,z as A}from"./graphlib-DS17s2tU.js";import{r as Le}from"./chunk-HNE4Q36P-LDnL_jpo.js";import{c as Re,i as ze,n as j,o as Be,r as Ve,s as He,t as Ue}from"./chunk-ZCHMQSOR-B_ATM6zM.js";var We=/\s/;function Ge(e){for(var t=e.length;t--&&We.test(e.charAt(t)););return t}var Ke=/^\s+/;function qe(e){return e&&e.slice(0,Ge(e)+1).replace(Ke,``)}var Je=NaN,Ye=/^[-+]0x[0-9a-f]+$/i,Xe=/^0b[01]+$/i,Ze=/^0o[0-7]+$/i,Qe=parseInt;function $e(e){if(typeof e==`number`)return e;if(ye(e))return Je;if(b(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=b(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=qe(e);var n=Xe.test(e);return n||Ze.test(e)?Qe(e.slice(2),n?2:8):Ye.test(e)?Je:+e}var et=1/0,tt=17976931348623157e292;function M(e){return e?(e=$e(e),e===et||e===-et?(e<0?-1:1)*tt:e===e?e:0):e===0?e:0}function nt(e){var t=M(e),n=t%1;return t===t?n?t-n:t:0}var rt=Object.create,it=function(){function e(){}return function(t){if(!b(t))return{};if(rt)return rt(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function at(e,t){var n=-1,r=e.length;for(t||=Array(r);++n<r;)t[n]=e[n];return t}function N(e,t,n){t==`__proto__`&&ke?ke(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var ot=Object.prototype.hasOwnProperty;function P(e,t,n){var r=e[t];(!(ot.call(e,t)&&_(r,n))||n===void 0&&!(t in e))&&N(e,t,n)}function F(e,t,n,r){var i=!n;n||={};for(var a=-1,o=t.length;++a<o;){var s=t[a],c=r?r(n[s],e[s],s,n,e):void 0;c===void 0&&(c=e[s]),i?N(n,s,c):P(n,s,c)}return n}function I(e,t,n){if(!b(n))return!1;var r=typeof t;return(r==`number`?A(n)&&de(t,n.length):r==`string`&&t in n)?_(n[t],e):!1}function st(e){return f(function(t,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(a=e.length>3&&typeof a==`function`?(i--,a):void 0,o&&I(n[0],n[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++r<i;){var s=n[r];s&&e(t,s,r,a)}return t})}function ct(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var lt=Object.prototype.hasOwnProperty;function ut(e){if(!b(e))return ct(e);var t=ce(e),n=[];for(var r in e)(r!=`constructor`||!t&&lt.call(e,r))&&n.push(r);return n}function L(e){return A(e)?ae(e,!0):ut(e)}function R(e){return e!=null&&e.length?p(e,1):[]}function dt(e){return re(fe(e,void 0,R),e+``)}var ft=Ce(Object.getPrototypeOf,Object),pt=`[object Object]`,mt=Function.prototype,ht=Object.prototype,gt=mt.toString,_t=ht.hasOwnProperty,vt=gt.call(Object);function yt(e){if(!k(e)||De(e)!=pt)return!1;var t=ft(e);if(t===null)return!0;var n=_t.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n instanceof n&&gt.call(n)==vt}var bt=RegExp(`[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]`);function xt(e){return bt.test(e)}function St(e,t){return e&&F(t,we(t),e)}function Ct(e,t){return e&&F(t,L(t),e)}var wt=typeof exports==`object`&&exports&&!exports.nodeType&&exports,Tt=wt&&typeof module==`object`&&module&&!module.nodeType&&module,Et=Tt&&Tt.exports===wt?Se.Buffer:void 0,Dt=Et?Et.allocUnsafe:void 0;function Ot(e,t){if(t)return e.slice();var n=e.length,r=Dt?Dt(n):new e.constructor(n);return e.copy(r),r}function kt(e,t){return F(e,ge(e),t)}var At=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Pe(t,ge(e)),e=ft(e);return t}:Fe;function jt(e,t){return F(e,At(e),t)}function Mt(e){return Ie(e,L,At)}var Nt=Object.prototype.hasOwnProperty;function Pt(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]==`string`&&Nt.call(e,`index`)&&(n.index=e.index,n.input=e.input),n}function Ft(e){var t=new e.constructor(e.byteLength);return new be(t).set(new be(e)),t}function It(e,t){var n=t?Ft(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var Lt=/\w*$/;function Rt(e){var t=new e.constructor(e.source,Lt.exec(e));return t.lastIndex=e.lastIndex,t}var zt=Ae?Ae.prototype:void 0,Bt=zt?zt.valueOf:void 0;function Vt(e){return Bt?Object(Bt.call(e)):{}}function Ht(e,t){var n=t?Ft(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var Ut=`[object Boolean]`,Wt=`[object Date]`,Gt=`[object Map]`,Kt=`[object Number]`,qt=`[object RegExp]`,Jt=`[object Set]`,Yt=`[object String]`,Xt=`[object Symbol]`,Zt=`[object ArrayBuffer]`,Qt=`[object DataView]`,$t=`[object Float32Array]`,en=`[object Float64Array]`,tn=`[object Int8Array]`,nn=`[object Int16Array]`,rn=`[object Int32Array]`,an=`[object Uint8Array]`,on=`[object Uint8ClampedArray]`,sn=`[object Uint16Array]`,cn=`[object Uint32Array]`;function ln(e,t,n){var r=e.constructor;switch(t){case Zt:return Ft(e);case Ut:case Wt:return new r(+e);case Qt:return It(e,n);case $t:case en:case tn:case nn:case rn:case an:case on:case sn:case cn:return Ht(e,n);case Gt:return new r;case Kt:case Yt:return new r(e);case qt:return Rt(e);case Jt:return new r;case Xt:return Vt(e)}}function un(e){return typeof e.constructor==`function`&&!ce(e)?it(ft(e)):{}}var dn=`[object Map]`;function fn(e){return k(e)&&x(e)==dn}var pn=v&&v.isMap,mn=pn?g(pn):fn,hn=`[object Set]`;function gn(e){return k(e)&&x(e)==hn}var _n=v&&v.isSet,vn=_n?g(_n):gn,yn=1,bn=2,xn=4,Sn=`[object Arguments]`,Cn=`[object Array]`,wn=`[object Boolean]`,Tn=`[object Date]`,En=`[object Error]`,Dn=`[object Function]`,On=`[object GeneratorFunction]`,kn=`[object Map]`,An=`[object Number]`,jn=`[object Object]`,Mn=`[object RegExp]`,Nn=`[object Set]`,Pn=`[object String]`,Fn=`[object Symbol]`,In=`[object WeakMap]`,Ln=`[object ArrayBuffer]`,Rn=`[object DataView]`,zn=`[object Float32Array]`,Bn=`[object Float64Array]`,Vn=`[object Int8Array]`,Hn=`[object Int16Array]`,Un=`[object Int32Array]`,Wn=`[object Uint8Array]`,Gn=`[object Uint8ClampedArray]`,Kn=`[object Uint16Array]`,qn=`[object Uint32Array]`,z={};z[Sn]=z[Cn]=z[Ln]=z[Rn]=z[wn]=z[Tn]=z[zn]=z[Bn]=z[Vn]=z[Hn]=z[Un]=z[kn]=z[An]=z[jn]=z[Mn]=z[Nn]=z[Pn]=z[Fn]=z[Wn]=z[Gn]=z[Kn]=z[qn]=!0,z[En]=z[Dn]=z[In]=!1;function B(e,t,n,r,i,a){var o,s=t&yn,c=t&bn,l=t&xn;if(n&&(o=i?n(e,r,i,a):n(e)),o!==void 0)return o;if(!b(e))return e;var u=y(e);if(u){if(o=Pt(e),!s)return at(e,o)}else{var d=x(e),f=d==Dn||d==On;if(te(e))return Ot(e,s);if(d==jn||d==Sn||f&&!i){if(o=c||f?{}:un(e),!s)return c?jt(e,Ct(o,e)):kt(e,St(o,e))}else{if(!z[d])return i?e:{};o=ln(e,d,s)}}a||=new le;var p=a.get(e);if(p)return p;a.set(e,o),vn(e)?e.forEach(function(r){o.add(B(r,t,n,r,e,a))}):mn(e)&&e.forEach(function(r,i){o.set(i,B(r,t,n,i,e,a))});var m=u?void 0:(l?c?Mt:Ne:c?L:we)(e);return ee(m||e,function(r,i){m&&(i=r,r=e[i]),P(o,i,B(r,t,n,i,e,a))}),o}var Jn=1,Yn=4;function Xn(e){return B(e,Jn|Yn)}var Zn=function(){return Se.Date.now()},Qn=Object.prototype,$n=Qn.hasOwnProperty,er=f(function(e,t){e=Object(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&I(t[0],t[1],i)&&(r=1);++n<r;)for(var a=t[n],o=L(a),s=-1,c=o.length;++s<c;){var l=o[s],u=e[l];(u===void 0||_(u,Qn[l])&&!$n.call(e,l))&&(e[l]=a[l])}return e});function tr(e,t,n){(n!==void 0&&!_(e[t],n)||n===void 0&&!(t in e))&&N(e,t,n)}function nr(e,t){if((t!==`constructor`||typeof e[t]!=`function`)&&t!=`__proto__`)return e[t]}function rr(e){return F(e,L(e))}function ir(e,t,n,r,i,a,o){var s=nr(e,n),c=nr(t,n),l=o.get(c);if(l){tr(e,n,l);return}var u=a?a(s,c,n+``,e,t,o):void 0,d=u===void 0;if(d){var f=y(c),p=!f&&te(c),m=!f&&!p&&oe(c);u=c,f||p||m?y(s)?u=s:_e(s)?u=at(s):p?(d=!1,u=Ot(c,!0)):m?(d=!1,u=Ht(c,!0)):u=[]:yt(c)||ie(c)?(u=s,ie(s)?u=rr(s):(!b(s)||he(s))&&(u=un(c))):d=!1}d&&(o.set(c,u),i(u,c,r,a,o),o.delete(c)),tr(e,n,u)}function ar(e,t,n,r,i){e!==t&&ve(t,function(a,o){if(i||=new le,b(a))ir(e,t,o,n,ar,r,i);else{var s=r?r(nr(e,o),a,o+``,e,t,i):void 0;s===void 0&&(s=a),tr(e,o,s)}},L)}function V(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}function or(e){return function(t,n,r){var i=Object(t);if(!A(t)){var a=C(n,3);t=we(t),n=function(e){return a(i[e],e,i)}}var o=e(t,n,r);return o>-1?i[a?t[o]:o]:void 0}}var sr=Math.max;function cr(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=n==null?0:nt(n);return i<0&&(i=sr(r+i,0)),pe(e,C(t,3),i)}var lr=or(cr);function ur(e,t){var n=-1,r=A(e)?Array(e.length):[];return Te(e,function(e,i,a){r[++n]=t(e,i,a)}),r}function H(e,t){return(y(e)?u:ur)(e,C(t,3))}function dr(e,t){return e==null?e:ve(e,je(t),L)}function fr(e,t){return e&&Me(e,je(t))}function pr(e,t){return e>t}var mr=Object.prototype.hasOwnProperty;function hr(e,t){return e!=null&&mr.call(e,t)}function gr(e,t){return e!=null&&xe(e,t,hr)}var _r=`[object String]`;function vr(e){return typeof e==`string`||!y(e)&&k(e)&&De(e)==_r}function yr(e,t){return e<t}function U(e,t){var n={};return t=C(t,3),Me(e,function(e,r,i){N(n,r,t(e,r,i))}),n}function br(e,t,n){for(var r=-1,i=e.length;++r<i;){var a=e[r],o=t(a);if(o!=null&&(s===void 0?o===o&&!ye(o):n(o,s)))var s=o,c=a}return c}function W(e){return e&&e.length?br(e,me,pr):void 0}var xr=st(function(e,t,n){ar(e,t,n)});function G(e){return e&&e.length?br(e,me,yr):void 0}function Sr(e,t){return e&&e.length?br(e,C(t,2),yr):void 0}function Cr(e,t,n,r){if(!b(e))return e;t=m(t,e);for(var i=-1,a=t.length,o=a-1,s=e;s!=null&&++i<a;){var c=h(t[i]),l=n;if(c===`__proto__`||c===`constructor`||c===`prototype`)return e;if(i!=o){var u=s[c];l=r?r(u,c,s):void 0,l===void 0&&(l=b(u)?u:de(t[i+1])?[]:{})}P(s,c,l),s=s[c]}return e}function wr(e,t,n){for(var r=-1,i=t.length,a={};++r<i;){var o=t[r],s=ue(e,o);n(s,o)&&Cr(a,m(o,e),s)}return a}function Tr(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}function Er(e,t){if(e!==t){var n=e!==void 0,r=e===null,i=e===e,a=ye(e),o=t!==void 0,s=t===null,c=t===t,l=ye(t);if(!s&&!l&&!a&&e>t||a&&o&&c&&!s&&!l||r&&o&&c||!n&&c||!i)return 1;if(!r&&!a&&!l&&e<t||l&&n&&i&&!r&&!a||s&&n&&i||!o&&i||!c)return-1}return 0}function Dr(e,t,n){for(var r=-1,i=e.criteria,a=t.criteria,o=i.length,s=n.length;++r<o;){var c=Er(i[r],a[r]);if(c)return r>=s?c:c*(n[r]==`desc`?-1:1)}return e.index-t.index}function Or(e,t,n){t=t.length?u(t,function(e){return y(e)?function(t){return ue(t,e.length===1?e[0]:e)}:e}):[me];var r=-1;return t=u(t,g(C)),Tr(ur(e,function(e,n,i){return{criteria:u(t,function(t){return t(e)}),index:++r,value:e}}),function(e,t){return Dr(e,t,n)})}var kr=Oe(`length`),Ar=`\\ud800-\\udfff`,jr=`\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff`,Mr=`\\ufe0e\\ufe0f`,Nr=`[`+Ar+`]`,Pr=`[`+jr+`]`,Fr=`\\ud83c[\\udffb-\\udfff]`,Ir=`(?:`+Pr+`|`+Fr+`)`,Lr=`[^`+Ar+`]`,Rr=`(?:\\ud83c[\\udde6-\\uddff]){2}`,zr=`[\\ud800-\\udbff][\\udc00-\\udfff]`,Br=`\\u200d`,Vr=Ir+`?`,Hr=`[`+Mr+`]?`,Ur=`(?:`+Br+`(?:`+[Lr,Rr,zr].join(`|`)+`)`+Hr+Vr+`)*`,Wr=Hr+Vr+Ur,Gr=`(?:`+[Lr+Pr+`?`,Pr,Rr,zr,Nr].join(`|`)+`)`,Kr=RegExp(Fr+`(?=`+Fr+`)|`+Gr+Wr,`g`);function qr(e){for(var t=Kr.lastIndex=0;Kr.test(e);)++t;return t}function Jr(e){return xt(e)?qr(e):kr(e)}function Yr(e,t){return wr(e,t,function(t,n){return Ee(e,n)})}var K=dt(function(e,t){return e==null?{}:Yr(e,t)}),Xr=Math.ceil,Zr=Math.max;function Qr(e,t,n,r){for(var i=-1,a=Zr(Xr((t-e)/(n||1)),0),o=Array(a);a--;)o[r?a:++i]=e,e+=n;return o}function $r(e){return function(t,n,r){return r&&typeof r!=`number`&&I(t,n,r)&&(n=r=void 0),t=M(t),n===void 0?(n=t,t=0):n=M(n),r=r===void 0?t<n?1:-1:M(r),Qr(t,n,r,e)}}var q=$r(),ei=`[object Map]`,ti=`[object Set]`;function ni(e){if(e==null)return 0;if(A(e))return vr(e)?Jr(e):e.length;var t=x(e);return t==ei||t==ti?e.size:d(e).length}var J=f(function(e,t){if(e==null)return[];var n=t.length;return n>1&&I(e,t[0],t[1])?t=[]:n>2&&I(t[0],t[1],t[2])&&(t=[t[0]]),Or(e,p(t,1),[])}),ri=0;function ii(e){var t=++ri;return se(e)+t}function ai(e,t,n){for(var r=-1,i=e.length,a=t.length,o={};++r<i;){var s=r<a?t[r]:void 0;n(o,e[r],s)}return o}function oi(e,t){return ai(e||[],t||[],P)}var si=class{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,t=e._prev;if(t!==e)return ci(t),t}enqueue(e){var t=this._sentinel;e._prev&&e._next&&ci(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){for(var e=[],t=this._sentinel,n=t._prev;n!==t;)e.push(JSON.stringify(n,li)),n=n._prev;return`[`+e.join(`, `)+`]`}};function ci(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function li(e,t){if(e!==`_next`&&e!==`_prev`)return t}var ui=ne(1);function di(e,t){if(e.nodeCount()<=1)return[];var n=mi(e,t||ui);return R(H(fi(n.graph,n.buckets,n.zeroIdx),function(t){return e.outEdges(t.v,t.w)}))}function fi(e,t,n){for(var r=[],i=t[t.length-1],a=t[0],o;e.nodeCount();){for(;o=a.dequeue();)pi(e,t,n,o);for(;o=i.dequeue();)pi(e,t,n,o);if(e.nodeCount()){for(var s=t.length-2;s>0;--s)if(o=t[s].dequeue(),o){r=r.concat(pi(e,t,n,o,!0));break}}}return r}function pi(e,t,n,r,i){var a=i?[]:void 0;return E(e.inEdges(r.v),function(r){var o=e.edge(r),s=e.node(r.v);i&&a.push({v:r.v,w:r.w}),s.out-=o,hi(t,n,s)}),E(e.outEdges(r.v),function(r){var i=e.edge(r),a=r.w,o=e.node(a);o.in-=i,hi(t,n,o)}),e.removeNode(r.v),a}function mi(e,t){var n=new O,r=0,i=0;E(e.nodes(),function(e){n.setNode(e,{v:e,in:0,out:0})}),E(e.edges(),function(e){var a=n.edge(e.v,e.w)||0,o=t(e),s=a+o;n.setEdge(e.v,e.w,s),i=Math.max(i,n.node(e.v).out+=o),r=Math.max(r,n.node(e.w).in+=o)});var a=q(i+r+3).map(function(){return new si}),o=r+1;return E(n.nodes(),function(e){hi(a,o,n.node(e))}),{graph:n,buckets:a,zeroIdx:o}}function hi(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}function gi(e){var t=e.graph().acyclicer===`greedy`?di(e,n(e)):_i(e);E(t,function(t){var n=e.edge(t);e.removeEdge(t),n.forwardName=t.name,n.reversed=!0,e.setEdge(t.w,t.v,n,ii(`rev`))});function n(e){return function(t){return e.edge(t).weight}}}function _i(e){var t=[],n={},r={};function i(a){Object.prototype.hasOwnProperty.call(r,a)||(r[a]=!0,n[a]=!0,E(e.outEdges(a),function(e){Object.prototype.hasOwnProperty.call(n,e.w)?t.push(e):i(e.w)}),delete n[a])}return E(e.nodes(),i),t}function vi(e){E(e.edges(),function(t){var n=e.edge(t);if(n.reversed){e.removeEdge(t);var r=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,r)}})}function Y(e,t,n,r){var i;do i=ii(r);while(e.hasNode(i));return n.dummy=t,e.setNode(i,n),i}function yi(e){var t=new O().setGraph(e.graph());return E(e.nodes(),function(n){t.setNode(n,e.node(n))}),E(e.edges(),function(n){var r=t.edge(n.v,n.w)||{weight:0,minlen:1},i=e.edge(n);t.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),t}function bi(e){var t=new O({multigraph:e.isMultigraph()}).setGraph(e.graph());return E(e.nodes(),function(n){e.children(n).length||t.setNode(n,e.node(n))}),E(e.edges(),function(n){t.setEdge(n,e.edge(n))}),t}function xi(e,t){var n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2;if(!i&&!a)throw Error(`Not possible to find intersection inside of the rectangle`);var c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,l=s):(i<0&&(o=-o),c=o,l=o*a/i),{x:n+c,y:r+l}}function X(e){var t=H(q(Ti(e)+1),function(){return[]});return E(e.nodes(),function(n){var r=e.node(n),i=r.rank;D(i)||(t[i][r.order]=n)}),t}function Si(e){var t=G(H(e.nodes(),function(t){return e.node(t).rank}));E(e.nodes(),function(n){var r=e.node(n);gr(r,`rank`)&&(r.rank-=t)})}function Ci(e){var t=G(H(e.nodes(),function(t){return e.node(t).rank})),n=[];E(e.nodes(),function(r){var i=e.node(r).rank-t;n[i]||(n[i]=[]),n[i].push(r)});var r=0,i=e.graph().nodeRankFactor;E(n,function(t,n){D(t)&&n%i!==0?--r:r&&E(t,function(t){e.node(t).rank+=r})})}function wi(e,t,n,r){var i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),Y(e,`border`,i,t)}function Ti(e){return W(H(e.nodes(),function(t){var n=e.node(t).rank;if(!D(n))return n}))}function Ei(e,t){var n={lhs:[],rhs:[]};return E(e,function(e){t(e)?n.lhs.push(e):n.rhs.push(e)}),n}function Di(e,t){var n=Zn();try{return t()}finally{console.log(e+` time: `+(Zn()-n)+`ms`)}}function Oi(e,t){return t()}function ki(e){function t(n){var r=e.children(n),i=e.node(n);if(r.length&&E(r,t),Object.prototype.hasOwnProperty.call(i,`minRank`)){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,o=i.maxRank+1;a<o;++a)Ai(e,`borderLeft`,`_bl`,n,i,a),Ai(e,`borderRight`,`_br`,n,i,a)}}E(e.children(),t)}function Ai(e,t,n,r,i,a){var o={width:0,height:0,rank:a,borderType:t},s=i[t][a-1],c=Y(e,`border`,o,n);i[t][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}function ji(e){var t=e.graph().rankdir.toLowerCase();(t===`lr`||t===`rl`)&&Ni(e)}function Mi(e){var t=e.graph().rankdir.toLowerCase();(t===`bt`||t===`rl`)&&Fi(e),(t===`lr`||t===`rl`)&&(Li(e),Ni(e))}function Ni(e){E(e.nodes(),function(t){Pi(e.node(t))}),E(e.edges(),function(t){Pi(e.edge(t))})}function Pi(e){var t=e.width;e.width=e.height,e.height=t}function Fi(e){E(e.nodes(),function(t){Ii(e.node(t))}),E(e.edges(),function(t){var n=e.edge(t);E(n.points,Ii),Object.prototype.hasOwnProperty.call(n,`y`)&&Ii(n)})}function Ii(e){e.y=-e.y}function Li(e){E(e.nodes(),function(t){Ri(e.node(t))}),E(e.edges(),function(t){var n=e.edge(t);E(n.points,Ri),Object.prototype.hasOwnProperty.call(n,`x`)&&Ri(n)})}function Ri(e){var t=e.x;e.x=e.y,e.y=t}function zi(e){e.graph().dummyChains=[],E(e.edges(),function(t){Bi(e,t)})}function Bi(e,t){var n=t.v,r=e.node(n).rank,i=t.w,a=e.node(i).rank,o=t.name,s=e.edge(t),c=s.labelRank;if(a!==r+1){e.removeEdge(t);var l=void 0,u,d=0;for(++r;r<a;++d,++r)s.points=[],l={width:0,height:0,edgeLabel:s,edgeObj:t,rank:r},u=Y(e,`edge`,l,`_d`),r===c&&(l.width=s.width,l.height=s.height,l.dummy=`edge-label`,l.labelpos=s.labelpos),e.setEdge(n,u,{weight:s.weight},o),d===0&&e.graph().dummyChains.push(u),n=u;e.setEdge(n,i,{weight:s.weight},o)}}function Vi(e){E(e.graph().dummyChains,function(t){var n=e.node(t),r=n.edgeLabel,i;for(e.setEdge(n.edgeObj,r);n.dummy;)i=e.successors(t)[0],e.removeNode(t),r.points.push({x:n.x,y:n.y}),n.dummy===`edge-label`&&(r.x=n.x,r.y=n.y,r.width=n.width,r.height=n.height),t=i,n=e.node(t)})}function Hi(e){var t={};function n(r){var i=e.node(r);if(Object.prototype.hasOwnProperty.call(t,r))return i.rank;t[r]=!0;var a=G(H(e.outEdges(r),function(t){return n(t.w)-e.edge(t).minlen}));return(a===1/0||a==null)&&(a=0),i.rank=a}E(e.sources(),n)}function Z(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}function Ui(e){var t=new O({directed:!1}),n=e.nodes()[0],r=e.nodeCount();t.setNode(n,{});for(var i,a;Wi(t,e)<r;)i=Gi(t,e),a=t.hasNode(i.v)?Z(e,i):-Z(e,i),Ki(t,e,a);return t}function Wi(e,t){function n(r){E(t.nodeEdges(r),function(i){var a=i.v,o=r===a?i.w:a;!e.hasNode(o)&&!Z(t,i)&&(e.setNode(o,{}),e.setEdge(r,o,{}),n(o))})}return E(e.nodes(),n),e.nodeCount()}function Gi(e,t){return Sr(t.edges(),function(n){if(e.hasNode(n.v)!==e.hasNode(n.w))return Z(t,n)})}function Ki(e,t,n){E(e.nodes(),function(e){t.node(e).rank+=n})}ne(1),ne(1),qi.CycleException=Q;function qi(e){var t={},n={},r=[];function i(a){if(Object.prototype.hasOwnProperty.call(n,a))throw new Q;Object.prototype.hasOwnProperty.call(t,a)||(n[a]=!0,t[a]=!0,E(e.predecessors(a),i),delete n[a],r.push(a))}if(E(e.sinks(),i),ni(t)!==e.nodeCount())throw new Q;return r}function Q(){}Q.prototype=Error();function Ji(e,t,n){y(t)||(t=[t]);var r=(e.isDirected()?e.successors:e.neighbors).bind(e),i=[],a={};return E(t,function(t){if(!e.hasNode(t))throw Error(`Graph does not have node: `+t);Yi(e,t,n===`post`,a,r,i)}),i}function Yi(e,t,n,r,i,a){Object.prototype.hasOwnProperty.call(r,t)||(r[t]=!0,n||a.push(t),E(i(t),function(t){Yi(e,t,n,r,i,a)}),n&&a.push(t))}function Xi(e,t){return Ji(e,t,`post`)}function Zi(e,t){return Ji(e,t,`pre`)}$.initLowLimValues=ta,$.initCutValues=Qi,$.calcCutValue=ea,$.leaveEdge=ra,$.enterEdge=ia,$.exchangeEdges=aa;function $(e){e=yi(e),Hi(e);var t=Ui(e);ta(t),Qi(t,e);for(var n,r;n=ra(t);)r=ia(t,e,n),aa(t,e,n,r)}function Qi(e,t){var n=Xi(e,e.nodes());n=n.slice(0,n.length-1),E(n,function(n){$i(e,t,n)})}function $i(e,t,n){var r=e.node(n).parent;e.edge(n,r).cutvalue=ea(e,t,n)}function ea(e,t,n){var r=e.node(n).parent,i=!0,a=t.edge(n,r),o=0;return a||=(i=!1,t.edge(r,n)),o=a.weight,E(t.nodeEdges(n),function(a){var s=a.v===n,c=s?a.w:a.v;if(c!==r){var l=s===i,u=t.edge(a).weight;if(o+=l?u:-u,sa(e,n,c)){var d=e.edge(n,c).cutvalue;o+=l?-d:d}}}),o}function ta(e,t){arguments.length<2&&(t=e.nodes()[0]),na(e,{},1,t)}function na(e,t,n,r,i){var a=n,o=e.node(r);return t[r]=!0,E(e.neighbors(r),function(i){Object.prototype.hasOwnProperty.call(t,i)||(n=na(e,t,n,i,r))}),o.low=a,o.lim=n++,i?o.parent=i:delete o.parent,n}function ra(e){return lr(e.edges(),function(t){return e.edge(t).cutvalue<0})}function ia(e,t,n){var r=n.v,i=n.w;t.hasEdge(r,i)||(r=n.w,i=n.v);var a=e.node(r),o=e.node(i),s=a,c=!1;return a.lim>o.lim&&(s=o,c=!0),Sr(S(t.edges(),function(t){return c===ca(e,e.node(t.v),s)&&c!==ca(e,e.node(t.w),s)}),function(e){return Z(t,e)})}function aa(e,t,n,r){var i=n.v,a=n.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),ta(e),Qi(e,t),oa(e,t)}function oa(e,t){var n=Zi(e,lr(e.nodes(),function(e){return!t.node(e).parent}));n=n.slice(1),E(n,function(n){var r=e.node(n).parent,i=t.edge(n,r),a=!1;i||(i=t.edge(r,n),a=!0),t.node(n).rank=t.node(r).rank+(a?i.minlen:-i.minlen)})}function sa(e,t,n){return e.hasEdge(t,n)}function ca(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}function la(e){switch(e.graph().ranker){case`network-simplex`:fa(e);break;case`tight-tree`:da(e);break;case`longest-path`:ua(e);break;default:fa(e)}}var ua=Hi;function da(e){Hi(e),Ui(e)}function fa(e){$(e)}function pa(e){var t=Y(e,`root`,{},`_root`),n=ha(e),r=W(w(n))-1,i=2*r+1;e.graph().nestingRoot=t,E(e.edges(),function(t){e.edge(t).minlen*=i});var a=ga(e)+1;E(e.children(),function(o){ma(e,t,i,a,r,n,o)}),e.graph().nodeRankFactor=i}function ma(e,t,n,r,i,a,o){var s=e.children(o);if(!s.length){o!==t&&e.setEdge(t,o,{weight:0,minlen:n});return}var c=wi(e,`_bt`),l=wi(e,`_bb`),u=e.node(o);e.setParent(c,o),u.borderTop=c,e.setParent(l,o),u.borderBottom=l,E(s,function(s){ma(e,t,n,r,i,a,s);var u=e.node(s),d=u.borderTop?u.borderTop:s,f=u.borderBottom?u.borderBottom:s,p=u.borderTop?r:2*r,m=d===f?i-a[o]+1:1;e.setEdge(c,d,{weight:p,minlen:m,nestingEdge:!0}),e.setEdge(f,l,{weight:p,minlen:m,nestingEdge:!0})}),e.parent(o)||e.setEdge(t,c,{weight:0,minlen:i+a[o]})}function ha(e){var t={};function n(r,i){var a=e.children(r);a&&a.length&&E(a,function(e){n(e,i+1)}),t[r]=i}return E(e.children(),function(e){n(e,1)}),t}function ga(e){return T(e.edges(),function(t,n){return t+e.edge(n).weight},0)}function _a(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,E(e.edges(),function(t){e.edge(t).nestingEdge&&e.removeEdge(t)})}function va(e,t,n){var r={},i;E(n,function(n){for(var a=e.parent(n),o,s;a;){if(o=e.parent(a),o?(s=r[o],r[o]=a):(s=i,i=a),s&&s!==a){t.setEdge(s,a);return}a=o}})}function ya(e,t,n){var r=ba(e),i=new O({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(function(t){return e.node(t)});return E(e.nodes(),function(a){var o=e.node(a),s=e.parent(a);(o.rank===t||o.minRank<=t&&t<=o.maxRank)&&(i.setNode(a),i.setParent(a,s||r),E(e[n](a),function(t){var n=t.v===a?t.w:t.v,r=i.edge(n,a),o=D(r)?0:r.weight;i.setEdge(n,a,{weight:e.edge(t).weight+o})}),Object.prototype.hasOwnProperty.call(o,`minRank`)&&i.setNode(a,{borderLeft:o.borderLeft[t],borderRight:o.borderRight[t]}))}),i}function ba(e){for(var t;e.hasNode(t=ii(`_root`)););return t}function xa(e,t){for(var n=0,r=1;r<t.length;++r)n+=Sa(e,t[r-1],t[r]);return n}function Sa(e,t,n){for(var r=oi(n,H(n,function(e,t){return t})),i=R(H(t,function(t){return J(H(e.outEdges(t),function(t){return{pos:r[t.w],weight:e.edge(t).weight}}),`pos`)})),a=1;a<n.length;)a<<=1;var o=2*a-1;--a;var s=H(Array(o),function(){return 0}),c=0;return E(i.forEach(function(e){var t=e.pos+a;s[t]+=e.weight;for(var n=0;t>0;)t%2&&(n+=s[t+1]),t=t-1>>1,s[t]+=e.weight;c+=e.weight*n})),c}function Ca(e){var t={},n=S(e.nodes(),function(t){return!e.children(t).length}),r=H(q(W(H(n,function(t){return e.node(t).rank}))+1),function(){return[]});function i(n){gr(t,n)||(t[n]=!0,r[e.node(n).rank].push(n),E(e.successors(n),i))}var a=J(n,function(t){return e.node(t).rank});return E(a,i),r}function wa(e,t){return H(t,function(t){var n=e.inEdges(t);if(n.length){var r=T(n,function(t,n){var r=e.edge(n),i=e.node(n.v);return{sum:t.sum+r.weight*i.order,weight:t.weight+r.weight}},{sum:0,weight:0});return{v:t,barycenter:r.sum/r.weight,weight:r.weight}}return{v:t}})}function Ta(e,t){var n={};return E(e,function(e,t){var r=n[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};D(e.barycenter)||(r.barycenter=e.barycenter,r.weight=e.weight)}),E(t.edges(),function(e){var t=n[e.v],r=n[e.w];!D(t)&&!D(r)&&(r.indegree++,t.out.push(n[e.w]))}),Ea(S(n,function(e){return!e.indegree}))}function Ea(e){var t=[];function n(e){return function(t){t.merged||(D(t.barycenter)||D(e.barycenter)||t.barycenter>=e.barycenter)&&Da(e,t)}}function r(t){return function(n){n.in.push(t),--n.indegree===0&&e.push(n)}}for(;e.length;){var i=e.pop();t.push(i),E(i.in.reverse(),n(i)),E(i.out,r(i))}return H(S(t,function(e){return!e.merged}),function(e){return K(e,[`vs`,`i`,`barycenter`,`weight`])})}function Da(e,t){var n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),t.weight&&(n+=t.barycenter*t.weight,r+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}function Oa(e,t){var n=Ei(e,function(e){return Object.prototype.hasOwnProperty.call(e,`barycenter`)}),r=n.lhs,i=J(n.rhs,function(e){return-e.i}),a=[],o=0,s=0,c=0;r.sort(Aa(!!t)),c=ka(a,i,c),E(r,function(e){c+=e.vs.length,a.push(e.vs),o+=e.barycenter*e.weight,s+=e.weight,c=ka(a,i,c)});var l={vs:R(a)};return s&&(l.barycenter=o/s,l.weight=s),l}function ka(e,t,n){for(var r;t.length&&(r=V(t)).i<=n;)t.pop(),e.push(r.vs),n++;return n}function Aa(e){return function(t,n){return t.barycenter<n.barycenter?-1:t.barycenter>n.barycenter?1:e?n.i-t.i:t.i-n.i}}function ja(e,t,n,r){var i=e.children(t),a=e.node(t),o=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};o&&(i=S(i,function(e){return e!==o&&e!==s}));var l=wa(e,i);E(l,function(t){if(e.children(t.v).length){var i=ja(e,t.v,n,r);c[t.v]=i,Object.prototype.hasOwnProperty.call(i,`barycenter`)&&Na(t,i)}});var u=Ta(l,n);Ma(u,c);var d=Oa(u,r);if(o&&(d.vs=R([o,d.vs,s]),e.predecessors(o).length)){var f=e.node(e.predecessors(o)[0]),p=e.node(e.predecessors(s)[0]);Object.prototype.hasOwnProperty.call(d,`barycenter`)||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+p.order)/(d.weight+2),d.weight+=2}return d}function Ma(e,t){E(e,function(e){e.vs=R(e.vs.map(function(e){return t[e]?t[e].vs:e}))})}function Na(e,t){D(e.barycenter)?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}function Pa(e){var t=Ti(e),n=Fa(e,q(1,t+1),`inEdges`),r=Fa(e,q(t-1,-1,-1),`outEdges`),i=Ca(e);La(e,i);for(var a=1/0,o,s=0,c=0;c<4;++s,++c){Ia(s%2?n:r,s%4>=2),i=X(e);var l=xa(e,i);l<a&&(c=0,o=Xn(i),a=l)}La(e,o)}function Fa(e,t,n){return H(t,function(t){return ya(e,t,n)})}function Ia(e,t){var n=new O;E(e,function(e){var r=e.graph().root,i=ja(e,r,n,t);E(i.vs,function(t,n){e.node(t).order=n}),va(e,n,i.vs)})}function La(e,t){E(t,function(t){E(t,function(t,n){e.node(t).order=n})})}function Ra(e){var t=Ba(e);E(e.graph().dummyChains,function(n){for(var r=e.node(n),i=r.edgeObj,a=za(e,t,i.v,i.w),o=a.path,s=a.lca,c=0,l=o[c],u=!0;n!==i.w;){if(r=e.node(n),u){for(;(l=o[c])!==s&&e.node(l).maxRank<r.rank;)c++;l===s&&(u=!1)}if(!u){for(;c<o.length-1&&e.node(l=o[c+1]).minRank<=r.rank;)c++;l=o[c]}e.setParent(n,l),n=e.successors(n)[0]}})}function za(e,t,n,r){var i=[],a=[],o=Math.min(t[n].low,t[r].low),s=Math.max(t[n].lim,t[r].lim),c=n,l;do c=e.parent(c),i.push(c);while(c&&(t[c].low>o||s>t[c].lim));for(l=c,c=r;(c=e.parent(c))!==l;)a.push(c);return{path:i.concat(a.reverse()),lca:l}}function Ba(e){var t={},n=0;function r(i){var a=n;E(e.children(i),r),t[i]={low:a,lim:n++}}return E(e.children(),r),t}function Va(e,t){var n={};function r(t,r){var i=0,a=0,o=t.length,s=V(r);return E(r,function(t,c){var l=Ua(e,t),u=l?e.node(l).order:o;(l||t===s)&&(E(r.slice(a,c+1),function(t){E(e.predecessors(t),function(r){var a=e.node(r),o=a.order;(o<i||u<o)&&!(a.dummy&&e.node(t).dummy)&&Wa(n,r,t)})}),a=c+1,i=u)}),r}return T(t,r),n}function Ha(e,t){var n={};function r(t,r,i,a,o){var s;E(q(r,i),function(r){s=t[r],e.node(s).dummy&&E(e.predecessors(s),function(t){var r=e.node(t);r.dummy&&(r.order<a||r.order>o)&&Wa(n,t,s)})})}function i(t,n){var i=-1,a,o=0;return E(n,function(s,c){if(e.node(s).dummy===`border`){var l=e.predecessors(s);l.length&&(a=e.node(l[0]).order,r(n,o,c,i,a),o=c,i=a)}r(n,o,n.length,a,t.length)}),n}return T(t,i),n}function Ua(e,t){if(e.node(t).dummy)return lr(e.predecessors(t),function(t){return e.node(t).dummy})}function Wa(e,t,n){if(t>n){var r=t;t=n,n=r}Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=e[t];Object.defineProperty(i,n,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function Ga(e,t,n){if(t>n){var r=t;t=n,n=r}return!!e[t]&&Object.prototype.hasOwnProperty.call(e[t],n)}function Ka(e,t,n,r){var i={},a={},o={};return E(t,function(e){E(e,function(e,t){i[e]=e,a[e]=e,o[e]=t})}),E(t,function(e){var t=-1;E(e,function(e){var s=r(e);if(s.length){s=J(s,function(e){return o[e]});for(var c=(s.length-1)/2,l=Math.floor(c),u=Math.ceil(c);l<=u;++l){var d=s[l];a[e]===e&&t<o[d]&&!Ga(n,e,d)&&(a[d]=e,a[e]=i[e]=i[d],t=o[d])}}})}),{root:i,align:a}}function qa(e,t,n,r,i){var a={},o=Ja(e,t,n,i),s=i?`borderLeft`:`borderRight`;function c(e,t){for(var n=o.nodes(),r=n.pop(),i={};r;)i[r]?e(r):(i[r]=!0,n.push(r),n=n.concat(t(r))),r=n.pop()}function l(e){a[e]=o.inEdges(e).reduce(function(e,t){return Math.max(e,a[t.v]+o.edge(t))},0)}function u(t){var n=o.outEdges(t).reduce(function(e,t){return Math.min(e,a[t.w]-o.edge(t))},1/0),r=e.node(t);n!==1/0&&r.borderType!==s&&(a[t]=Math.max(a[t],n))}return c(l,o.predecessors.bind(o)),c(u,o.successors.bind(o)),E(r,function(e){a[e]=a[n[e]]}),a}function Ja(e,t,n,r){var i=new O,a=e.graph(),o=$a(a.nodesep,a.edgesep,r);return E(t,function(t){var r;E(t,function(t){var a=n[t];if(i.setNode(a),r){var s=n[r],c=i.edge(s,a);i.setEdge(s,a,Math.max(o(e,t,r),c||0))}r=t})}),i}function Ya(e,t){return Sr(w(t),function(t){var n=-1/0,r=1/0;return dr(t,function(t,i){var a=eo(e,i)/2;n=Math.max(t+a,n),r=Math.min(t-a,r)}),n-r})}function Xa(e,t){var n=w(t),r=G(n),i=W(n);E([`u`,`d`],function(n){E([`l`,`r`],function(a){var o=n+a,s=e[o],c;if(s!==t){var l=w(s);c=a===`l`?r-G(l):i-W(l),c&&(e[o]=U(s,function(e){return e+c}))}})})}function Za(e,t){return U(e.ul,function(n,r){if(t)return e[t.toLowerCase()][r];var i=J(H(e,r));return(i[1]+i[2])/2})}function Qa(e){var t=X(e),n=xr(Va(e,t),Ha(e,t)),r={},i;return E([`u`,`d`],function(a){i=a===`u`?t:w(t).reverse(),E([`l`,`r`],function(t){t===`r`&&(i=H(i,function(e){return w(e).reverse()}));var o=(a===`u`?e.predecessors:e.successors).bind(e),s=Ka(e,i,n,o),c=qa(e,i,s.root,s.align,t===`r`);t===`r`&&(c=U(c,function(e){return-e})),r[a+t]=c})}),Xa(r,Ya(e,r)),Za(r,e.graph().align)}function $a(e,t,n){return function(r,i,a){var o=r.node(i),s=r.node(a),c=0,l;if(c+=o.width/2,Object.prototype.hasOwnProperty.call(o,`labelpos`))switch(o.labelpos.toLowerCase()){case`l`:l=-o.width/2;break;case`r`:l=o.width/2}if(l&&(c+=n?l:-l),l=0,c+=(o.dummy?t:e)/2,c+=(s.dummy?t:e)/2,c+=s.width/2,Object.prototype.hasOwnProperty.call(s,`labelpos`))switch(s.labelpos.toLowerCase()){case`l`:l=s.width/2;break;case`r`:l=-s.width/2}return l&&(c+=n?l:-l),l=0,c}}function eo(e,t){return e.node(t).width}function to(e){e=bi(e),no(e),fr(Qa(e),function(t,n){e.node(n).x=t})}function no(e){var t=X(e),n=e.graph().ranksep,r=0;E(t,function(t){var i=W(H(t,function(t){return e.node(t).height}));E(t,function(t){e.node(t).y=r+i/2}),r+=i+n})}function ro(e,t){var n=t&&t.debugTiming?Di:Oi;n(`layout`,()=>{var t=n(` buildLayoutGraph`,()=>ho(e));n(` runLayout`,()=>io(t,n)),n(` updateInputGraph`,()=>ao(e,t))})}function io(e,t){t(` makeSpaceForEdgeLabels`,()=>go(e)),t(` removeSelfEdges`,()=>To(e)),t(` acyclic`,()=>gi(e)),t(` nestingGraph.run`,()=>pa(e)),t(` rank`,()=>la(bi(e))),t(` injectEdgeLabelProxies`,()=>_o(e)),t(` removeEmptyRanks`,()=>Ci(e)),t(` nestingGraph.cleanup`,()=>_a(e)),t(` normalizeRanks`,()=>Si(e)),t(` assignRankMinMax`,()=>vo(e)),t(` removeEdgeLabelProxies`,()=>yo(e)),t(` normalize.run`,()=>zi(e)),t(` parentDummyChains`,()=>Ra(e)),t(` addBorderSegments`,()=>ki(e)),t(` order`,()=>Pa(e)),t(` insertSelfEdges`,()=>Eo(e)),t(` adjustCoordinateSystem`,()=>ji(e)),t(` position`,()=>to(e)),t(` positionSelfEdges`,()=>Do(e)),t(` removeBorderNodes`,()=>wo(e)),t(` normalize.undo`,()=>Vi(e)),t(` fixupEdgeLabelCoords`,()=>So(e)),t(` undoCoordinateSystem`,()=>Mi(e)),t(` translateGraph`,()=>bo(e)),t(` assignNodeIntersects`,()=>xo(e)),t(` reversePoints`,()=>Co(e)),t(` acyclic.undo`,()=>vi(e))}function ao(e,t){E(e.nodes(),function(n){var r=e.node(n),i=t.node(n);r&&(r.x=i.x,r.y=i.y,t.children(n).length&&(r.width=i.width,r.height=i.height))}),E(e.edges(),function(n){var r=e.edge(n),i=t.edge(n);r.points=i.points,Object.prototype.hasOwnProperty.call(i,`x`)&&(r.x=i.x,r.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}var oo=[`nodesep`,`edgesep`,`ranksep`,`marginx`,`marginy`],so={ranksep:50,edgesep:20,nodesep:50,rankdir:`tb`},co=[`acyclicer`,`ranker`,`rankdir`,`align`],lo=[`width`,`height`],uo={width:0,height:0},fo=[`minlen`,`weight`,`width`,`height`,`labeloffset`],po={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:`r`},mo=[`labelpos`];function ho(e){var t=new O({multigraph:!0,compound:!0}),n=ko(e.graph());return t.setGraph(xr({},so,Oo(n,oo),K(n,co))),E(e.nodes(),function(n){var r=ko(e.node(n));t.setNode(n,er(Oo(r,lo),uo)),t.setParent(n,e.parent(n))}),E(e.edges(),function(n){var r=ko(e.edge(n));t.setEdge(n,xr({},po,Oo(r,fo),K(r,mo)))}),t}function go(e){var t=e.graph();t.ranksep/=2,E(e.edges(),function(n){var r=e.edge(n);r.minlen*=2,r.labelpos.toLowerCase()!==`c`&&(t.rankdir===`TB`||t.rankdir===`BT`?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function _o(e){E(e.edges(),function(t){var n=e.edge(t);if(n.width&&n.height){var r=e.node(t.v);Y(e,`edge-proxy`,{rank:(e.node(t.w).rank-r.rank)/2+r.rank,e:t},`_ep`)}})}function vo(e){var t=0;E(e.nodes(),function(n){var r=e.node(n);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,t=W(t,r.maxRank))}),e.graph().maxRank=t}function yo(e){E(e.nodes(),function(t){var n=e.node(t);n.dummy===`edge-proxy`&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))})}function bo(e){var t=1/0,n=0,r=1/0,i=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;function c(e){var a=e.x,o=e.y,s=e.width,c=e.height;t=Math.min(t,a-s/2),n=Math.max(n,a+s/2),r=Math.min(r,o-c/2),i=Math.max(i,o+c/2)}E(e.nodes(),function(t){c(e.node(t))}),E(e.edges(),function(t){var n=e.edge(t);Object.prototype.hasOwnProperty.call(n,`x`)&&c(n)}),t-=o,r-=s,E(e.nodes(),function(n){var i=e.node(n);i.x-=t,i.y-=r}),E(e.edges(),function(n){var i=e.edge(n);E(i.points,function(e){e.x-=t,e.y-=r}),Object.prototype.hasOwnProperty.call(i,`x`)&&(i.x-=t),Object.prototype.hasOwnProperty.call(i,`y`)&&(i.y-=r)}),a.width=n-t+o,a.height=i-r+s}function xo(e){E(e.edges(),function(t){var n=e.edge(t),r=e.node(t.v),i=e.node(t.w),a,o;n.points?(a=n.points[0],o=n.points[n.points.length-1]):(n.points=[],a=i,o=r),n.points.unshift(xi(r,a)),n.points.push(xi(i,o))})}function So(e){E(e.edges(),function(t){var n=e.edge(t);if(Object.prototype.hasOwnProperty.call(n,`x`))switch((n.labelpos===`l`||n.labelpos===`r`)&&(n.width-=n.labeloffset),n.labelpos){case`l`:n.x-=n.width/2+n.labeloffset;break;case`r`:n.x+=n.width/2+n.labeloffset}})}function Co(e){E(e.edges(),function(t){var n=e.edge(t);n.reversed&&n.points.reverse()})}function wo(e){E(e.nodes(),function(t){if(e.children(t).length){var n=e.node(t),r=e.node(n.borderTop),i=e.node(n.borderBottom),a=e.node(V(n.borderLeft)),o=e.node(V(n.borderRight));n.width=Math.abs(o.x-a.x),n.height=Math.abs(i.y-r.y),n.x=a.x+n.width/2,n.y=r.y+n.height/2}}),E(e.nodes(),function(t){e.node(t).dummy===`border`&&e.removeNode(t)})}function To(e){E(e.edges(),function(t){if(t.v===t.w){var n=e.node(t.v);n.selfEdges||=[],n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function Eo(e){var t=X(e);E(t,function(t){var n=0;E(t,function(t,r){var i=e.node(t);i.order=r+n,E(i.selfEdges,function(t){Y(e,`selfedge`,{width:t.label.width,height:t.label.height,rank:i.rank,order:r+ ++n,e:t.e,label:t.label},`_se`)}),delete i.selfEdges})})}function Do(e){E(e.nodes(),function(t){var n=e.node(t);if(n.dummy===`selfedge`){var r=e.node(n.e.v),i=r.x+r.width/2,a=r.y,o=n.x-i,s=r.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:i+2*o/3,y:a-s},{x:i+5*o/6,y:a-s},{x:i+o,y:a},{x:i+5*o/6,y:a+s},{x:i+2*o/3,y:a+s}],n.label.x=n.x,n.label.y=n.y}})}function Oo(e,t){return U(K(e,t),Number)}function ko(e){var t={};return E(e,function(e,n){t[n.toLowerCase()]=e}),t}var Ao=e((e,t,n)=>Math.max(t,Math.min(n,e)),`clamp`),jo=e((e=`TB`)=>{switch(e){case`BT`:return`bottom`;case`LR`:return`right`;case`RL`:return`left`;default:return`top`}},`getDefaultSelfLoopSide`),Mo=e(e=>e===`flowchart`||e===`flowchart-v2`||e===`stateDiagram`||e===`er`||e===`classDiagram`,`shouldMergeSelfLoopSegments`),No=[`x`,`y`,`width`,`height`,`labelBBox`,`intersect`,`calcIntersect`,`diff`,`clusterNode`],Po=e((e,t,n,r,i)=>{let a=[],o=new Set;if(n.forEach(({start:e,end:t})=>{e!==r&&o.add(e),t!==r&&o.add(t)}),o.forEach(t=>{let n=e.node(t);typeof n?.x==`number`&&typeof n?.y==`number`&&a.push(n)}),a.length===0&&n.forEach(({edge:e})=>{(e.points??[]).forEach(e=>{typeof e?.x==`number`&&typeof e?.y==`number`&&a.push(e)})}),a.length===0)return jo(i);let s=a.reduce((e,t)=>({x:e.x+t.x/a.length,y:e.y+t.y/a.length}),{x:0,y:0}),c=s.x-t.x,l=s.y-t.y;return Math.abs(c)>Math.abs(l)?c>0?`right`:`left`:Math.abs(l)>0?l>0?`bottom`:`top`:jo(i)},`getSelfLoopSide`),Fo=e((e,t=`top`,n=0,r=0)=>{let i=e.x,a=e.y-n,o=e.width/2,s=e.height/2,c=Math.max(36,Math.min(100,e.width*.8)),l=Ao(Math.max(r,e.width*.35),36,c),u=Ao(Math.min(e.width,e.height)*.45,24,48);switch(t){case`bottom`:{let e=a+s;return[{x:i-l/2,y:e},{x:i-l/2,y:e+u},{x:i+l/2,y:e+u},{x:i+l/2,y:e}]}case`right`:{let e=i+o;return[{x:e,y:a-l/2},{x:e+u,y:a-l/2},{x:e+u,y:a+l/2},{x:e,y:a+l/2}]}case`left`:{let e=i-o;return[{x:e,y:a-l/2},{x:e-u,y:a-l/2},{x:e-u,y:a+l/2},{x:e,y:a+l/2}]}default:{let e=a-s;return[{x:i-l/2,y:e},{x:i-l/2,y:e-u},{x:i+l/2,y:e-u},{x:i+l/2,y:e}]}}},`getSelfLoopPoints`),Io=e((e,t,n=`top`,r=0,i={})=>{let a=e.x,o=e.y-r,s=i.width??0,c=i.height??0;switch(n){case`bottom`:return{x:a,y:Math.max(...t.map(e=>e.y))+c/2+4};case`right`:return{x:Math.max(...t.map(e=>e.x))+s/2+4,y:o};case`left`:return{x:Math.min(...t.map(e=>e.x))-s/2-4,y:o};default:return{x:a,y:Math.min(...t.map(e=>e.y))-c/2-4}}},`getSelfLoopLabelPosition`),Lo=e((e,t=0,{mergeSelfLoops:n=!0}={})=>{let r=new Map,i=[],a=e.graph()?.rankdir;return e.edges().forEach(t=>{let a=e.edge(t);if(n&&a.selfLoop){let e=a.selfLoop.id;r.has(e)||r.set(e,[]),r.get(e).push({edge:a,start:t.v,end:t.w})}else i.push({edge:a,start:t.v,end:t.w})}),r.forEach(n=>{if(n.length!==3){n.forEach(e=>i.push(e));return}n.sort((e,t)=>e.edge.selfLoop.order-t.edge.selfLoop.order);let[r,o,s]=n,c=r.edge.originalEdge??o.edge.originalEdge??s.edge.originalEdge??o.edge,l=e.node(c.start);if(!l){n.forEach(e=>i.push(e));return}let u={width:o.edge.width,height:o.edge.height},d=Po(e,l,n,c.start,a),f=Fo(l,d,t,u.width??0),p=Io(l,f,d,t,u),m={...o.edge,...c,id:c.id,points:f,start:c.start,end:c.end,x:p.x,y:p.y,width:u.width,height:u.height,labelStyle:o.edge.labelStyle,fromCluster:r.edge.fromCluster??o.edge.fromCluster??s.edge.fromCluster,toCluster:r.edge.toCluster??o.edge.toCluster??s.edge.toCluster};delete m.selfLoop,delete m.originalEdge,i.push({edge:m,start:m.start,end:m.end})}),i},`getEdgesToRender`),Ro=e(async({element:n,graph:a,diagramType:c,id:l,parentCluster:u,siteConfig:d})=>{let f=a.graph().rankdir;t.trace(`Dir in recursive render - dir:`,f);let{clusters:p,edgePaths:m,edgeLabels:h,nodes:g,rootGroups:ee}=ze(n,{edgePathsClass:`edgePaths`});a.nodes()?t.info(`Recursive render XXX`,a.nodes()):t.info(`No nodes found for`,a),a.edges().length>0&&t.info(`Recursive edges`,a.edge(a.edges()[0]));let _=Mo(c);await Promise.all(a.nodes().map(async function(e){let n=a.node(e);if(u!==void 0){let n=JSON.parse(JSON.stringify(u.clusterData));t.trace(`Setting data for parent cluster XXX
2
- Node.id = `,e,`
3
- data=`,n.height,`
4
- Parent cluster`,u.height),a.setNode(u.id,n),a.parent(e)||(t.trace(`Setting parent`,e,u.id),a.setParent(e,u.id,n))}if(t.info(`(Insert) Node XXX`+e+`: `+JSON.stringify(a.node(e))),n?.clusterNode){t.info(`Cluster identified XBX`,e,n.width,a.node(e));let{ranksep:o,nodesep:s}=a.graph();n.graph.setGraph({...n.graph.graph(),ranksep:o+25,nodesep:s});let u=await Go({element:g,graph:n.graph,diagramType:c,id:l,parentCluster:a.node(e),siteConfig:d}),f=u.elem;r(n,f),n.diff=u.diff||0,t.info(`New compound node after recursive render XAX`,e,`width`,n.width,`height`,n.height),i(f,n)}else a.children(e).length>0?(t.trace(`Cluster - the non recursive path XBX`,e,n.id,n,n.width,`Graph:`,a),t.trace(Be(n.id,a)),j.set(n.id,{id:Be(n.id,a),node:n})):(t.trace(`Node - the non recursive path XAX`,e,g,a.node(e),f),await He(g,a.node(e),{config:d,dir:f}))})),await e(async()=>{let e=a.edges().map(async function(e){let n=a.edge(e.v,e.w,e.name);if(t.info(`Edge `+e.v+` -> `+e.w+`: `+JSON.stringify(e)),t.info(`Edge `+e.v+` -> `+e.w+`: `,e,` `,JSON.stringify(a.edge(e))),t.info(`Fix`,j,`ids:`,e.v,e.w,`Translating: `,j.get(e.v),j.get(e.w)),_&&n.selfLoop){if(n.selfLoop.order!==1)return;let e={...n.originalEdge,...n,id:n.selfLoop.id,startLabelLeft:n.originalEdge?.startLabelLeft??n.startLabelLeft,startLabelRight:n.originalEdge?.startLabelRight??n.startLabelRight,endLabelLeft:n.originalEdge?.endLabelLeft??n.endLabelLeft,endLabelRight:n.originalEdge?.endLabelRight??n.endLabelRight};await s(h,e),n.width=e.width,n.height=e.height,n.labelStyle=e.labelStyle;return}await s(h,n)});await Promise.all(e)},`processEdges`)();let{subGraphTitleTotalMargin:te}=o(d);return{elem:ee,graph:a,groups:{clusters:p,edgePaths:m,edgeLabels:h,nodes:g,rootGroups:ee},diagramType:c,id:l,mergeSelfLoops:_,subGraphTitleTotalMargin:te}},`measureDagreGraph`),zo=e(e=>{t.info(`############################################# XXX`),t.info(`### Layout ### XXX`),t.info(`############################################# XXX`),ro(e)},`runDagreGraphLayout`),Bo=e((e,t,n)=>{let r=e.node(t);if(!r)return;let i={...r};return r?.clusterNode?i.y=(r.y??0)+n:e.children(t).length>0?i.height=(r.height??0)+n:i.y=(r.y??0)+n/2,i},`normalizeDagreNode`),Vo=e((e,t)=>{No.forEach(n=>{t[n]!==void 0&&(e[n]=t[n])})},`applyDagreNodeLayout`),Ho=e((e,t,n,r)=>({...e,start:e.start??t,end:e.end??n,points:(e.points??[]).map(e=>({...e,y:typeof e.y==`number`?e.y+r:e.y}))}),`normalizeDagreEdge`),Uo=e((e,t)=>{let{graph:n,mergeSelfLoops:r,subGraphTitleTotalMargin:i=0}=t,a=new Map(e.nodes.map(e=>[e.id,e]));Re(n).forEach(e=>{let t=Bo(n,e,i);if(!t)return;Vo(n.node(e),t);let r=a.get(e);r&&Vo(r,t)});let o=i/2;return e.edges=Lo(n,o,{mergeSelfLoops:r}).map(({edge:e,start:t,end:n})=>Ho(e,t,n,o)),e},`applyDagreLayoutResult`),Wo=e(async({elem:e,graph:n,groups:{clusters:r,edgePaths:i},diagramType:o,id:s,mergeSelfLoops:u,subGraphTitleTotalMargin:d})=>{let f=0;await Promise.all(Re(n).map(async function(e){let i=n.node(e);if(t.info(`Position XBX => `+e+`: (`+i.x,`,`+i.y,`) width: `,i.width,` height: `,i.height),i?.clusterNode)i.y+=d,t.info(`A tainted cluster node XBX1`,e,i.id,i.width,i.height,i.x,i.y,n.parent(e)),j.get(i.id).node=i,a(i);else if(n.children(e).length>0){t.info(`A pure cluster node XBX1`,e,i.id,i.x,i.y,i.width,i.height,n.parent(e)),i.height+=d,n.node(i.parentId);let a=i?.padding/2||0,o=i?.labelBBox?.height||0,s=o-a||0;t.debug(`OffsetY`,s,`labelHeight`,o,`halfPadding`,a),await Le(r,i),j.get(i.id).node=i}else{let e=n.node(i.parentId);i.y+=d/2,t.info(`A regular node XBX1 - using the padding`,i.id,`parent`,i.parentId,i.width,i.height,i.x,i.y,`offsetY`,i.offsetY,`parent`,e,e?.offsetY,i),a(i)}}));let p=d/2;return Lo(n,p,{mergeSelfLoops:u}).forEach(function({edge:e,start:r,end:a}){t.info(`Edge `+r+` -> `+a+`: `+JSON.stringify(e),e),e.points.forEach(e=>e.y+=p);let u=n.node(r),d=n.node(a),f=c(i,e,j,o,u,d,s);l(e,f)}),n.nodes().forEach(function(e){let r=n.node(e);t.info(e,r.type,r.diff),r.isGroup&&(f=r.diff)}),t.warn(`Returning from recursive render XAX`,e,f),{elem:e,diff:f}},`paintDagreLayoutCore`),Go=e(async e=>{let t=await Ro(e);return zo(t.graph),await Wo(t)},`renderDagreSubgraph`),Ko=e(e=>{let n=new O({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.nodeSpacing||e.config?.flowchart?.nodeSpacing,ranksep:e.config?.rankSpacing||e.rankSpacing||e.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return e.nodes.forEach(e=>{n.setNode(e.id,{...e}),e.parentId&&n.setParent(e.id,e.parentId)}),t.debug(`Edges:`,e.edges),e.edges.forEach(e=>{if(e.start===e.end){let t=e.start,r=t+`---`+t+`---1`,i=t+`---`+t+`---2`,a=n.node(t);n.setNode(r,{domId:r,id:r,parentId:a.parentId,labelStyle:``,label:``,padding:0,shape:`labelRect`,style:``,width:10,height:10}),n.setParent(r,a.parentId),n.setNode(i,{domId:i,id:i,parentId:a.parentId,labelStyle:``,padding:0,shape:`labelRect`,label:``,style:``,width:10,height:10}),n.setParent(i,a.parentId);let o=structuredClone(e),s=structuredClone(e),c=structuredClone(e),l=structuredClone(e);s.originalEdge=o,s.selfLoop={id:o.id,order:0},c.originalEdge=o,c.selfLoop={id:o.id,order:1},l.originalEdge=o,l.selfLoop={id:o.id,order:2},s.label=``,s.arrowTypeEnd=`none`,s.endLabelLeft=``,s.endLabelRight=``,s.startLabelLeft=``,s.id=t+`-cyclic-special-1`,c.startLabelRight=``,c.startLabelLeft=``,c.endLabelLeft=``,c.endLabelRight=``,c.arrowTypeStart=`none`,c.arrowTypeEnd=`none`,c.id=t+`-cyclic-special-mid`,l.label=``,l.startLabelRight=``,l.startLabelLeft=``,l.arrowTypeStart=`none`,a.isGroup&&(s.fromCluster=t,l.toCluster=t),l.id=t+`-cyclic-special-2`,l.arrowTypeStart=`none`,n.setEdge(t,r,s,t+`-cyclic-special-0`),n.setEdge(r,i,c,t+`-cyclic-special-1`),n.setEdge(i,t,l,t+`-cyclic-special-2`)}else n.setEdge(e.start,e.end,{...e},e.id)}),Ue(n),{graph:n}},`prepareLayoutForDagre`),qo=e(async(e,{element:t,preparedLayout:r})=>{let i=r??Ko(e),a=n(),o=await Ro({element:t,graph:i.graph,diagramType:e.type,id:e.diagramId,parentCluster:void 0,siteConfig:a});return i.measuredLayout=o,o},`measureDagreLayout`),Jo=e((e,t)=>{let n=t.preparedLayout?.measuredLayout;if(!n)throw Error(`runDagreLayoutCore requires measureDagreLayout to run first`);return zo(n.graph),Uo(e,n),n},`runDagreLayoutCore`),Yo=Ve({prepareLayout:Ko,measureLayout:qo,runLayoutCore:Jo,paintOptions:{clusterDb:j,getNodes:e((e,{measure:t})=>Re(t.graph).map(e=>t.graph.node(e)).filter(Boolean),`getDagrePaintNodes`),getEdgeNode:e((e,t,{measure:n})=>e?n.graph.node(e):void 0,`getDagreEdgeNode`),skipNode:e((e,{measure:t})=>!t.graph.hasNode(e.id),`skipNode`),isCluster:e((e,{measure:t})=>t.graph.hasNode(e.id)&&(t.graph.children(e.id)??[]).length>0,`isCluster`)}});export{Uo as applyDagreLayoutResult,Lo as getEdgesToRender,qo as measureDagreLayout,Ko as prepareLayoutForDagre,Yo as render,Jo as runDagreLayoutCore};
@@ -1,24 +0,0 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t}from"./src-DEuepP9r.js";import{C as n,E as r,H as i,U as a,_ as o,a as s,c,f as l,q as u,v as d,y as f}from"./chunk-DSNLSHJZ-ouwfoCtA.js";import{t as p}from"./ordinal-BDEzSJ7C.js";import{w as m}from"./src-B-DeWB10.js";import{t as h}from"./defaultLocale-BFoDCU3G.js";import{i as g}from"./chunk-7S6XSTFO-CddfL1MG.js";import{t as _}from"./chunk-OYAV6JZA-DewdxI5x.js";import{t as v}from"./chunk-JWPE2WC7-DVXcaiue.js";import{n as y}from"./mermaid-parser.core-DUIvugRg.js";import{i as b,n as x}from"./chunk-UHW7PFBP-D1DW9Q0V.js";import{t as S}from"./chunk-VQ5W62QI-CqaqJLMX.js";function C(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function w(){return this.eachAfter(C)}function T(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function E(e,t){for(var n=this,r=[n],i,a,o=-1;n=r.pop();)if(e.call(t,n,++o,this),i=n.children)for(a=i.length-1;a>=0;--a)r.push(i[a]);return this}function D(e,t){for(var n=this,r=[n],i=[],a,o,s,c=-1;n=r.pop();)if(i.push(n),a=n.children)for(o=0,s=a.length;o<s;++o)r.push(a[o]);for(;n=i.pop();)e.call(t,n,++c,this);return this}function O(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function k(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})}function A(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function j(e){for(var t=this,n=M(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function M(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function N(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function P(){return Array.from(this)}function F(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function I(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*L(){var e=this,t,n=[e],r,i,a;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,a=r.length;i<a;++i)n.push(r[i]);while(n.length)}function R(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=V)):t===void 0&&(t=B);for(var n=new W(e),r,i=[n],a,o,s,c;r=i.pop();)if((o=t(r.data))&&(c=(o=Array.from(o)).length))for(r.children=o,s=c-1;s>=0;--s)i.push(a=o[s]=new W(o[s])),a.parent=r,a.depth=r.depth+1;return n.eachBefore(U)}function z(){return R(this).eachBefore(H)}function B(e){return e.children}function V(e){return Array.isArray(e)?e[1]:null}function H(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function U(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function W(e){this.data=e,this.depth=this.height=0,this.parent=null}W.prototype=R.prototype={constructor:W,count:w,each:T,eachAfter:D,eachBefore:E,find:O,sum:k,sort:A,path:j,ancestors:N,descendants:P,leaves:F,links:I,copy:z,[Symbol.iterator]:L};function G(e){if(typeof e!=`function`)throw Error();return e}function K(){return 0}function q(e){return function(){return e}}function J(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function ee(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(r-t)/e.value;++s<c;)o=a[s],o.y0=n,o.y1=i,o.x0=t,o.x1=t+=o.value*l}function te(e,t,n,r,i){for(var a=e.children,o,s=-1,c=a.length,l=e.value&&(i-n)/e.value;++s<c;)o=a[s],o.x0=t,o.x1=r,o.y0=n,o.y1=n+=o.value*l}var ne=(1+Math.sqrt(5))/2;function re(e,t,n,r,i,a){for(var o=[],s=t.children,c,l,u=0,d=0,f=s.length,p,m,h=t.value,g,_,v,y,b,x,S;u<f;){p=i-n,m=a-r;do g=s[d++].value;while(!g&&d<f);for(_=v=g,x=Math.max(m/p,p/m)/(h*e),S=g*g*x,b=Math.max(v/S,S/_);d<f;++d){if(g+=l=s[d].value,l<_&&(_=l),l>v&&(v=l),S=g*g*x,y=Math.max(v/S,S/_),y>b){g-=l;break}b=y}o.push(c={value:g,dice:p<m,children:s.slice(u,d)}),c.dice?ee(c,n,r,i,h?r+=m*g/h:a):te(c,n,r,h?n+=p*g/h:i,a),h-=g,u=d}return o}var ie=(function e(t){function n(e,n,r,i,a){re(t,e,n,r,i,a)}return n.ratio=function(t){return e((t=+t)>1?t:1)},n})(ne);function ae(){var e=ie,t=!1,n=1,r=1,i=[0],a=K,o=K,s=K,c=K,l=K;function u(e){return e.x0=e.y0=0,e.x1=n,e.y1=r,e.eachBefore(d),i=[0],t&&e.eachBefore(J),e}function d(t){var n=i[t.depth],r=t.x0+n,u=t.y0+n,d=t.x1-n,f=t.y1-n;d<r&&(r=d=(r+d)/2),f<u&&(u=f=(u+f)/2),t.x0=r,t.y0=u,t.x1=d,t.y1=f,t.children&&(n=i[t.depth+1]=a(t)/2,r+=l(t)-n,u+=o(t)-n,d-=s(t)-n,f-=c(t)-n,d<r&&(r=d=(r+d)/2),f<u&&(u=f=(u+f)/2),e(t,r,u,d,f))}return u.round=function(e){return arguments.length?(t=!!e,u):t},u.size=function(e){return arguments.length?(n=+e[0],r=+e[1],u):[n,r]},u.tile=function(t){return arguments.length?(e=G(t),u):e},u.padding=function(e){return arguments.length?u.paddingInner(e).paddingOuter(e):u.paddingInner()},u.paddingInner=function(e){return arguments.length?(a=typeof e==`function`?e:q(+e),u):a},u.paddingOuter=function(e){return arguments.length?u.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):u.paddingTop()},u.paddingTop=function(e){return arguments.length?(o=typeof e==`function`?e:q(+e),u):o},u.paddingRight=function(e){return arguments.length?(s=typeof e==`function`?e:q(+e),u):s},u.paddingBottom=function(e){return arguments.length?(c=typeof e==`function`?e:q(+e),u):c},u.paddingLeft=function(e){return arguments.length?(l=typeof e==`function`?e:q(+e),u):l},u}var Y=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=a,this.getAccTitle=d,this.setDiagramTitle=u,this.getDiagramTitle=n,this.getAccDescription=o,this.setAccDescription=i}static{e(this,`TreeMapDB`)}getNodes(){return this.nodes}getConfig(){let e=l,t=f();return g({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),t===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:``,children:this.outerNodes}}addClass(e,t){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},r=t.replace(/\\,/g,`§§§`).replace(/,/g,`;`).replace(/§§§/g,`,`).split(`;`);r&&r.forEach(e=>{x(e)&&(n?.textStyles?n.textStyles.push(e):n.textStyles=[e]),n?.styles?n.styles.push(e):n.styles=[e]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){s(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function X(e){if(!e.length)return[];let t=[],n=[];return e.forEach(e=>{let r={name:e.name,children:e.type===`Leaf`?void 0:[]};for(r.classSelector=e?.classSelector,e?.cssCompiledStyles&&(r.cssCompiledStyles=e.cssCompiledStyles),e.type===`Leaf`&&e.value!==void 0&&(r.value=e.value);n.length>0&&n[n.length-1].level>=e.level;)n.pop();if(n.length===0)t.push(r);else{let e=n[n.length-1].node;e.children?e.children.push(r):e.children=[r]}e.type!==`Leaf`&&n.push({node:r,level:e.level})}),t}e(X,`buildHierarchy`);var oe=e((t,n)=>{v(t,n);let r=[];for(let e of t.TreemapRows??[])e.$type===`ClassDefStatement`&&n.addClass(e.className??``,e.styleText??``);for(let e of t.TreemapRows??[]){let t=e.item;if(!t)continue;let i=e.indent?parseInt(e.indent):0,a=se(t),o=t.classSelector?n.getStylesForClass(t.classSelector):[],s=o.length>0?o:void 0,c={level:i,name:a,type:t.$type,value:t.value,classSelector:t.classSelector,cssCompiledStyles:s};r.push(c)}let i=X(r),a=e((e,t)=>{for(let r of e)n.addNode(r,t),r.children&&r.children.length>0&&a(r.children,t+1)},`addNodesRecursively`);a(i,0)},`populate`),se=e(e=>e.name?String(e.name):``,`getItemName`),Z={parser:{yy:void 0},parse:e(async e=>{try{let n=await y(`treemap`,e);t.debug(`Treemap AST:`,n);let r=Z.parser?.yy;if(!(r instanceof Y))throw Error(`parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);oe(n,r)}catch(e){throw t.error(`Error parsing treemap:`,e),e}},`parse`)},ce=10,Q=10,$=25,le={draw:e((n,r,i,a)=>{let o=a.db,s=o.getConfig(),l=s.padding??ce,u=o.getDiagramTitle(),d=o.getRoot(),{themeVariables:g}=f();if(!d)return;let v=u?30:0,y=_(r),x=s.nodeWidth?s.nodeWidth*Q:960,C=s.nodeHeight?s.nodeHeight*Q:500,w=x,T=C+v;y.attr(`viewBox`,`0 0 ${w} ${T}`),c(y,T,w,s.useMaxWidth);let E;try{let t=s.valueFormat||`,`;if(t===`$0,0`)E=e(e=>`$`+h(`,`)(e),`valueFormat`);else if(t.startsWith(`$`)&&t.includes(`,`)){let n=/\.\d+/.exec(t),r=n?n[0]:``;E=e(e=>`$`+h(`,`+r)(e),`valueFormat`)}else if(t.startsWith(`$`)){let n=t.substring(1);E=e(e=>`$`+h(n||``)(e),`valueFormat`)}else E=h(t)}catch(e){t.error(`Error creating format function:`,e),E=h(`,`)}let D=p().range([`transparent`,g.cScale0,g.cScale1,g.cScale2,g.cScale3,g.cScale4,g.cScale5,g.cScale6,g.cScale7,g.cScale8,g.cScale9,g.cScale10,g.cScale11]),O=p().range([`transparent`,g.cScalePeer0,g.cScalePeer1,g.cScalePeer2,g.cScalePeer3,g.cScalePeer4,g.cScalePeer5,g.cScalePeer6,g.cScalePeer7,g.cScalePeer8,g.cScalePeer9,g.cScalePeer10,g.cScalePeer11]),k=p().range([g.cScaleLabel0,g.cScaleLabel1,g.cScaleLabel2,g.cScaleLabel3,g.cScaleLabel4,g.cScaleLabel5,g.cScaleLabel6,g.cScaleLabel7,g.cScaleLabel8,g.cScaleLabel9,g.cScaleLabel10,g.cScaleLabel11]);u&&y.append(`text`).attr(`x`,w/2).attr(`y`,v/2).attr(`class`,`treemapTitle`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(u);let A=y.append(`g`).attr(`transform`,`translate(0, ${v})`).attr(`class`,`treemapContainer`),j=R(d).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),M=ae().size([x,C]).paddingTop(e=>e.children&&e.children.length>0?$+Q:0).paddingInner(l).paddingLeft(e=>e.children&&e.children.length>0?Q:0).paddingRight(e=>e.children&&e.children.length>0?Q:0).paddingBottom(e=>e.children&&e.children.length>0?Q:0).round(!0)(j),N=M.descendants().filter(e=>e.children&&e.children.length>0),P=A.selectAll(`.treemapSection`).data(N).enter().append(`g`).attr(`class`,`treemapSection`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);P.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,$).attr(`class`,`treemapSectionHeader`).attr(`fill`,`none`).attr(`fill-opacity`,.6).attr(`stroke-width`,.6).attr(`style`,e=>e.depth===0?`display: none;`:``),P.append(`clipPath`).attr(`id`,(e,t)=>`clip-section-${r}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-12)).attr(`height`,$),P.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,(e,t)=>`treemapSection section${t}`).attr(`fill`,e=>D(e.data.name)).attr(`fill-opacity`,.6).attr(`stroke`,e=>O(e.data.name)).attr(`stroke-width`,2).attr(`stroke-opacity`,.4).attr(`style`,e=>{if(e.depth===0)return`display: none;`;let t=b({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+`;`+t.borderStyles.join(`;`)}),P.append(`text`).attr(`class`,`treemapSectionLabel`).attr(`x`,6).attr(`y`,$/2).attr(`dominant-baseline`,`middle`).text(e=>e.depth===0?``:e.data.name).attr(`font-weight`,`bold`).attr(`clip-path`,(e,t)=>`url(#clip-section-${r}-${t})`).attr(`style`,e=>e.depth===0?`display: none;`:`dominant-baseline: middle; font-size: 12px; fill:`+k(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+b({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).each(function(e){if(e.depth===0)return;let t=m(this),n=e.data.name;t.text(n);let r=e.x1-e.x0,i;i=s.showValues!==!1&&e.value?r-10-30-10-6:r-6-6;let a=Math.max(15,i),o=t.node();if(o.getComputedTextLength()>a){let e=n;for(;e.length>0;){if(e=n.substring(0,e.length-1),e.length===0){t.text(`...`),o.getComputedTextLength()>a&&t.text(``);break}if(t.text(e+`...`),o.getComputedTextLength()<=a)break}}}),s.showValues!==!1&&P.append(`text`).attr(`class`,`treemapSectionValue`).attr(`x`,e=>e.x1-e.x0-10).attr(`y`,$/2).attr(`text-anchor`,`end`).attr(`dominant-baseline`,`middle`).text(e=>e.value?E(e.value):``).attr(`font-style`,`italic`).attr(`style`,e=>e.depth===0?`display: none;`:`text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:`+k(e.data.name)+`; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`+b({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`));let F=M.leaves(),I=F.length>20,L=I?16:38,z=I?14:28,B=I?4:8,V=I?4:6,H=I?2:4,U=I?8:10,W=I?1:2,G=A.selectAll(`.treemapLeafGroup`).data(F).enter().append(`g`).attr(`class`,(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:``}x`).attr(`transform`,e=>`translate(${e.x0},${e.y0})`);G.append(`rect`).attr(`width`,e=>e.x1-e.x0).attr(`height`,e=>e.y1-e.y0).attr(`class`,`treemapLeaf`).attr(`fill`,e=>e.parent?D(e.parent.data.name):D(e.data.name)).attr(`style`,e=>b({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr(`fill-opacity`,.3).attr(`stroke`,e=>e.parent?D(e.parent.data.name):D(e.data.name)).attr(`stroke-width`,3),G.append(`clipPath`).attr(`id`,(e,t)=>`clip-${r}-${t}`).append(`rect`).attr(`width`,e=>Math.max(0,e.x1-e.x0-4)).attr(`height`,e=>Math.max(0,e.y1-e.y0-4)),G.append(`text`).attr(`class`,`treemapLabel`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,e=>(e.y1-e.y0)/2).attr(`style`,e=>`text-anchor: middle; dominant-baseline: middle; font-size: ${L}px;fill:`+k(e.data.name)+`;`+b({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${r}-${t})`).text(e=>e.data.name).each(function(e){let t=m(this),n=e.x1-e.x0,r=e.y1-e.y0,i=t.node(),a=n-2*H,o=r-2*H;if(a<U||o<U){t.style(`display`,`none`);return}let s=parseInt(t.style(`font-size`),10),c=.6;for(;i.getComputedTextLength()>a&&s>B;)s--,t.style(`font-size`,`${s}px`);let l=Math.max(V,Math.min(z,Math.round(s*c))),u=s+W+l;for(;u>o&&s>B&&(s--,l=Math.max(V,Math.min(z,Math.round(s*c))),!(l<V&&s===B));)t.style(`font-size`,`${s}px`),u=s+W+l;t.style(`font-size`,`${s}px`),I?(s<B||o<B)&&t.style(`display`,`none`):(i.getComputedTextLength()>a||s<B||o<s)&&t.style(`display`,`none`)}),s.showValues!==!1&&G.append(`text`).attr(`class`,`treemapValue`).attr(`x`,e=>(e.x1-e.x0)/2).attr(`y`,function(e){return(e.y1-e.y0)/2}).attr(`style`,e=>`text-anchor: middle; dominant-baseline: hanging; font-size: ${z}px;fill:`+k(e.data.name)+`;`+b({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace(`color:`,`fill:`)).attr(`clip-path`,(e,t)=>`url(#clip-${r}-${t})`).text(e=>e.value?E(e.value):``).each(function(e){let t=m(this),n=this.parentNode;if(!n){t.style(`display`,`none`);return}let r=m(n).select(`.treemapLabel`);if(r.empty()||r.style(`display`)===`none`){t.style(`display`,`none`);return}let i=parseFloat(r.style(`font-size`)),a=Math.max(V,Math.min(z,Math.round(i*.6)));t.style(`font-size`,`${a}px`);let o=(e.y1-e.y0)/2+i/2+W;t.attr(`y`,o);let s=e.x1-e.x0,c=e.y1-e.y0-4,l=s-2*H;t.node().getComputedTextLength()>l||o+a>c||a<V?t.style(`display`,`none`):t.style(`display`,null)});let K=s.diagramPadding??8;S(y,K,`flowchart`,s?.useMaxWidth||!1)},`draw`),getClasses:e(function(e,t){return t.db.getClasses()},`getClasses`)},ue={sectionStrokeColor:`black`,sectionStrokeWidth:`1`,sectionFillColor:`#efefef`,leafStrokeColor:`black`,leafStrokeWidth:`1`,leafFillColor:`#efefef`,labelFontSize:`12px`,valueFontSize:`10px`,titleFontSize:`14px`},de={parser:Z,get db(){return new Y},renderer:le,styles:e(({treemap:e}={})=>{let t=r(),n=f(),i=g(t,n.themeVariables),a=g(ue,e),o=a.titleColor??i.titleColor,s=a.labelColor??i.textColor,c=a.valueColor??i.textColor;return`
2
- .treemapNode.section {
3
- stroke: ${a.sectionStrokeColor};
4
- stroke-width: ${a.sectionStrokeWidth};
5
- fill: ${a.sectionFillColor};
6
- }
7
- .treemapNode.leaf {
8
- stroke: ${a.leafStrokeColor};
9
- stroke-width: ${a.leafStrokeWidth};
10
- fill: ${a.leafFillColor};
11
- }
12
- .treemapLabel {
13
- fill: ${s};
14
- font-size: ${a.labelFontSize};
15
- }
16
- .treemapValue {
17
- fill: ${c};
18
- font-size: ${a.valueFontSize};
19
- }
20
- .treemapTitle {
21
- fill: ${o};
22
- font-size: ${a.titleFontSize};
23
- }
24
- `},`getStyles`)};export{de as diagram};
@@ -1,24 +0,0 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t}from"./src-DEuepP9r.js";import{C as n,H as r,U as i,_ as a,a as o,c as s,f as c,q as l,v as u,y as d}from"./chunk-DSNLSHJZ-ouwfoCtA.js";import{i as f}from"./chunk-7S6XSTFO-CddfL1MG.js";import{t as p}from"./chunk-OYAV6JZA-DewdxI5x.js";import{t as m}from"./chunk-JWPE2WC7-DVXcaiue.js";import{n as h}from"./mermaid-parser.core-DUIvugRg.js";var g=c.packet,_=class{constructor(){this.packet=[],this.setAccTitle=i,this.getAccTitle=u,this.setDiagramTitle=l,this.getDiagramTitle=n,this.getAccDescription=a,this.setAccDescription=r}static{e(this,`PacketDB`)}getConfig(){let e=f({...g,...d().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){o(),this.packet=[]}},v=1e4,y=e((e,n)=>{m(e,n);let r=-1,i=[],a=1,{bitsPerRow:o}=n.getConfig();for(let{start:s,end:c,bits:l,label:u}of e.blocks){if(s!==void 0&&c!==void 0&&c<s)throw Error(`Packet block ${s} - ${c} is invalid. End must be greater than start.`);if(s??=r+1,s!==r+1)throw Error(`Packet block ${s} - ${c??s} is not contiguous. It should start from ${r+1}.`);if(l===0)throw Error(`Packet block ${s} is invalid. Cannot have a zero bit field.`);for(c??=s+(l??1)-1,l??=c-s+1,r=c,t.debug(`Packet block ${s} - ${r} with label ${u}`);i.length<=o+1&&n.getPacket().length<v;){let[e,t]=b({start:s,end:c,bits:l,label:u},a,o);if(i.push(e),e.end+1===a*o&&(n.pushWord(i),i=[],a++),!t)break;({start:s,end:c,bits:l,label:u}=t)}}n.pushWord(i)},`populate`),b=e((e,t,n)=>{if(e.start===void 0)throw Error(`start should have been set during first phase`);if(e.end===void 0)throw Error(`end should have been set during first phase`);if(e.start>e.end)throw Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*n)return[e,void 0];let r=t*n-1,i=t*n;return[{start:e.start,end:r,label:e.label,bits:r-e.start},{start:i,end:e.end,label:e.label,bits:e.end-i}]},`getNextFittingBlock`),x={parser:{yy:void 0},parse:e(async e=>{let n=await h(`packet`,e),r=x.parser?.yy;if(!(r instanceof _))throw Error(`parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);t.debug(n),y(n,r)},`parse`)},S=e((e,t,n,r)=>{let i=r.db,a=i.getConfig(),{rowHeight:o,paddingY:c,bitWidth:l,bitsPerRow:u}=a,d=i.getPacket(),f=i.getDiagramTitle(),m=o+c,h=m*(d.length+1)-(f?0:o),g=l*u+2,_=p(t);_.attr(`viewBox`,`0 0 ${g} ${h}`),s(_,h,g,a.useMaxWidth);for(let[e,t]of d.entries())C(_,t,e,a);_.append(`text`).text(f).attr(`x`,g/2).attr(`y`,h-m/2).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).attr(`class`,`packetTitle`)},`draw`),C=e((e,t,n,{rowHeight:r,paddingX:i,paddingY:a,bitWidth:o,bitsPerRow:s,showBits:c,bitOrder:l})=>{let u=e.append(`g`),d=n*(r+a)+a,f=l===`descending`;for(let e of t){let t=e.end-e.start+1,n=e.start%s,a=(f?s-n-t:n)*o+1,l=t*o-i;if(u.append(`rect`).attr(`x`,a).attr(`y`,d).attr(`width`,l).attr(`height`,r).attr(`class`,`packetBlock`),u.append(`text`).attr(`x`,a+l/2).attr(`y`,d+r/2).attr(`class`,`packetLabel`).attr(`dominant-baseline`,`middle`).attr(`text-anchor`,`middle`).text(e.label),!c)continue;let[p,m]=f?[e.end,e.start]:[e.start,e.end],h=t===1,g=d-2;u.append(`text`).attr(`x`,a+(h?l/2:0)).attr(`y`,g).attr(`class`,`packetByte start`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,h?`middle`:`start`).text(p),h||u.append(`text`).attr(`x`,a+l).attr(`y`,g).attr(`class`,`packetByte end`).attr(`dominant-baseline`,`auto`).attr(`text-anchor`,`end`).text(m)}},`drawWord`),w={draw:S},T={byteFontSize:`10px`,startByteColor:`black`,endByteColor:`black`,labelColor:`black`,labelFontSize:`12px`,titleColor:`black`,titleFontSize:`14px`,blockStrokeColor:`black`,blockStrokeWidth:`1`,blockFillColor:`#efefef`},E={parser:x,get db(){return new _},renderer:w,styles:e(({packet:e}={})=>{let t=f(T,e);return`
2
- .packetByte {
3
- font-size: ${t.byteFontSize};
4
- }
5
- .packetByte.start {
6
- fill: ${t.startByteColor};
7
- }
8
- .packetByte.end {
9
- fill: ${t.endByteColor};
10
- }
11
- .packetLabel {
12
- fill: ${t.labelColor};
13
- font-size: ${t.labelFontSize};
14
- }
15
- .packetTitle {
16
- fill: ${t.titleColor};
17
- font-size: ${t.titleFontSize};
18
- }
19
- .packetBlock {
20
- stroke: ${t.blockStrokeColor};
21
- stroke-width: ${t.blockStrokeWidth};
22
- fill: ${t.blockFillColor};
23
- }
24
- `},`styles`)};export{E as diagram};
@@ -1,3 +0,0 @@
1
- import{T as e}from"./chunk-NGNAAXSQ-DqoPQk1a.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t as n}from"./src-DEuepP9r.js";import{C as r,H as i,U as a,X as o,_ as s,a as c,b as l,f as u,q as d,v as f,y as p,z as m}from"./chunk-DSNLSHJZ-ouwfoCtA.js";import{w as h}from"./src-B-DeWB10.js";import{i as ee,t as te,v as g}from"./chunk-7S6XSTFO-CddfL1MG.js";import{t as ne}from"./chunk-JWPE2WC7-DVXcaiue.js";import{n as re}from"./mermaid-parser.core-DUIvugRg.js";var _=`position frame`,v=`frame positioned`,y=`position relation`,b=`relation positioned`,ie=t(function(e){n.debug(`options str`,e)},`setOptions`),ae=t(function(){return{}},`getOptions`),oe=t(function(){x(),c()},`clear`);function x(){S={}}t(x,`reset`);var se=u.eventmodeling,ce=t(()=>ee({...se,...p().eventmodeling}),`getConfig`),S={};function C(){let e=le,{ast:t}=S,r=E();if(!t)throw Error(`No data for EventModel`);return t.frames.forEach((i,a)=>{let o=N(i,t.dataEntities,r);e=q(e,{$kind:_,index:a,frame:i,textProps:o});let s;B(i)?(n.debug(`source frame`,i.sourceFrames),s=t.frames.filter(e=>i.sourceFrames.some(t=>t.$refText===e.name)),s.forEach(t=>{e=q(e,{$kind:y,index:a,frame:i,sourceFrame:t})})):e=q(e,{$kind:y,index:a,frame:i})}),e={...e,sortedSwimlanesArray:L(e.swimlanes)},e}t(C,`getState`);function w(e){S.ast=void 0;let t=new Set;for(let n of e.frames){if(t.has(n.name)){let e=n.$cstNode?.range.start.line,t=e===void 0?``:` on line ${e+1}`;throw Error(`Duplicate event modeling frame ID "${n.name}"${t}`)}t.add(n.name)}S.ast=e}t(w,`setAst`);var T={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:`bold`,boxTextPadding:10,swimlaneTextFontWeight:`bold`,labelUiAutomation:`UI/Automation`,labelUiAutomationPrefix:`UI/A: `,labelCommandReadModel:`Command/Read Model`,labelCommandReadModelPrefix:`C/RM: `,labelEvents:`Events`,labelEventsPrefix:`Stream: `};function E(){return T}t(E,`getDiagramProps`);var le={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function D(e){let t=e.split(`.`);if(t.length===2)return t[0]}t(D,`extractNamespace`);function O(e){let t=e.split(`.`);return t.length===2?t[1]:e}t(O,`extractName`);function k(e,t){if(t&&t.length!==0)return Object.values(e).find(e=>e.namespace===t)}t(k,`findSwimlaneByNamespace`);function A(e,t,n){return Math.max(t,...Object.keys(e).filter(e=>{let r=Number.parseInt(e);return r>t&&r<n}).map(e=>Number.parseInt(e)))+1}t(A,`findNextAvailableIndex`);function j(e,t){let n=D(e.entityIdentifier),r=k(t,n);switch(e.modelEntityType){case`ui`:case`pcr`:case`processor`:return r?{index:r.index,label:r.namespace||T.labelUiAutomation}:n?{index:A(t,0,100),label:T.labelUiAutomationPrefix+n}:{index:0,label:T.labelUiAutomation};case`rmo`:case`readmodel`:case`cmd`:case`command`:return r?{index:r.index,label:r.namespace||T.labelCommandReadModel}:n?{index:A(t,100,200),label:T.labelCommandReadModelPrefix+n}:{index:100,label:T.labelCommandReadModel};default:return r?{index:r.index,label:r.namespace||T.labelEvents}:n?{index:A(t,200,300),label:T.labelEventsPrefix+n}:{index:200,label:T.labelEvents}}}t(j,`calculateSwimlaneProps`);function M(e){let{themeVariables:t}=p();switch(e.modelEntityType){case`ui`:return{fill:t.emUiFill??`white`,stroke:t.emUiStroke??`#dbdada`};case`pcr`:case`processor`:return{fill:t.emProcessorFill??`#edb3f6`,stroke:t.emProcessorStroke??`#b88cbf`};case`rmo`:case`readmodel`:return{fill:t.emReadModelFill??`#d3f1a2`,stroke:t.emReadModelStroke??`#a3b732`};case`cmd`:case`command`:return{fill:t.emCommandFill??`#bcd6fe`,stroke:t.emCommandStroke??`#679ac3`};case`evt`:case`event`:return{fill:t.emEventFill??`#ffb778`,stroke:t.emEventStroke??`#c19a0f`};default:return{fill:`red`,stroke:`black`}}}t(M,`calculateEntityVisualProps`);function N(e,t,r){let i=p(),a=m(O(e.entityIdentifier)??``,i),o,s={fontSize:16,fontWeight:700,fontFamily:`"trebuchet ms", verdana, arial, sans-serif`,joinWith:`<br/>`},c=`<b>${g(a,r.textMaxWidth,s)}</b>`;if(e.dataInlineValue&&(o=e.dataInlineValue,o=o.substring(o.indexOf(`{`)+1),o=o.substring(0,o.lastIndexOf(`}`)-1),o=m(o,i),o=g(o,r.textMaxWidth,s),o=o.replaceAll(` `,`&nbsp;`)),e.dataReference){let n=t.find(t=>t.name===e.dataReference?.$refText);n&&(o=n.dataBlockValue,o=o.substring(o.indexOf(`{
2
- `)+2),o=o.substring(0,o.lastIndexOf(`}`)-1),o=m(o,i),o=g(o,r.textMaxWidth,s),o=o.replaceAll(` `,`&nbsp;`),o+=`<br/>`)}let l=o!==void 0;l&&(c+=`<br/><br/><code style="text-align: left; display: block;max-width:${r.textMaxWidth}px">${o}</code>`);let u={fontSize:s.fontSize,fontWeight:s.fontWeight,fontFamily:s.fontFamily},d=te(c,u),f=l?d.width/3:d.width,h={content:c,width:f,height:d.height};return n.debug(`[${e.name}] ${e.entityIdentifier} text`,h),h}t(N,`calculateTextProps`);function P(e,t){let n=t,r=M(n.frame),i={width:n.textProps.width+2*T.boxTextPadding,height:n.textProps.height+2*T.boxTextPadding};return[{$kind:v,frame:n.frame,index:n.index,visual:r,dimension:i,textProps:n.textProps}]}t(P,`decidePositionFrame`);function F(e,t,n){return t===void 0?T.contentStartX:t.index===e.index&&e.r?e.r+T.boxPadding:n===void 0?T.contentStartX:n.r-T.boxOverlap+T.boxPadding}t(F,`calculateX`);function I(e,t){let n=[...e.map(e=>e.r),t];return Math.max(...n)}t(I,`calculateMaxRight`);function L(e){return Object.values(e).sort((e,t)=>e.index-t.index)}t(L,`sortedSwimlanesArray`);function R(e,t){let n=t,r=j(n.frame,e.swimlanes),i;i=r.index in e.swimlanes?e.swimlanes[r.index]:{index:r.index,label:r.label,r:0,y:r.index*T.swimlaneMinHeight+T.swimlaneGap,height:T.swimlaneMinHeight,maxHeight:T.swimlaneMinHeight};let a=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,o=e.previousSwimlaneNumber===void 0?void 0:e.swimlanes[e.previousSwimlaneNumber],s={width:Math.max(T.boxMinWidth,Math.min(T.boxMaxWidth,n.dimension.width))+2*T.boxPadding,height:Math.max(T.boxMinHeight,Math.min(T.boxMaxHeight,n.dimension.height))+2*T.boxPadding},c=F(i,o,a),l=c+s.width+T.boxPadding,u=I(Object.values(e.swimlanes),l);i.r=c+s.width,i.maxHeight=Math.max(i.maxHeight,s.height),i.height=Math.max(T.swimlaneMinHeight,i.maxHeight)+2*T.swimlanePadding;let d={x:c,y:T.swimlanePadding+i.y,r:l,dimension:s,leftSibling:!1,swimlane:i,visual:n.visual,text:n.textProps.content,frame:n.frame,index:n.index},f={...e,boxes:[...e.boxes,d],swimlanes:{...e.swimlanes,[`${i.index}`]:i},previousSwimlaneNumber:r.index,previousFrame:n.frame,maxR:u},p=L(f.swimlanes);p.length>0&&(p[0].y=0);for(let e=1;e<p.length;e++){let t=p[e],n=p[e-1];t.y=n.y+n.height+T.swimlaneGap}return f}t(R,`evolveFramePositioned`);function z(e,t){return e===0&&t.sourceFrames.length===0}t(z,`isFirstFrame`);function B(e){return e.sourceFrames!==void 0&&e.sourceFrames!==null&&e.sourceFrames.length>0}t(B,`hasSourceFrame`);function V(e,t){if(t!=null)return e.find(e=>e.frame.name===t.name)}t(V,`findBoxByFrame`);function H(e,t,n){if(!(n<0))for(let r=n;r>=0;r--){let n=e[r];if(n.swimlane.index!==t)return n}}t(H,`findBoxByLineIndex`);function U(t,n){let r=n;if(z(r.index,r.frame))return[];let i=V(t.boxes,r.frame);if(i===void 0)throw Error(`Target box not found for frame ${r.frame.name}`);let a;if(r.sourceFrame)a=V(t.boxes,r.sourceFrame);else{if(e(r.frame))return[];a=H(t.boxes,i.swimlane.index,r.index-1)}return a===void 0?[]:[{$kind:b,frame:r.frame,index:r.index,sourceBox:a,targetBox:i}]}t(U,`decidePositionRelation`);function W(e,t){let n=t,r={visual:{fill:`none`,stroke:`#000`},source:{x:n.sourceBox.x,y:n.sourceBox.y},target:{x:n.targetBox.x,y:n.targetBox.y},sourceBox:n.sourceBox,targetBox:n.targetBox};return{...e,relations:[...e.relations,r]}}t(W,`evolveRelationPositioned`);var ue={[_]:P,[y]:U},de={[v]:R,[b]:W};function G(e,t){let r=ue[t.$kind];if(r==null)return[];let i=r(e,t);return n.debug(`decided events`,i),i}t(G,`decide`);function K(e,t){let r=t.reduce((e,t)=>{let n=de[t.$kind];return n==null?e:n(e,t)},e);return n.debug(`evolve events`,{state:e,newState:r,events:t}),r}t(K,`evolve`);function q(e,t){return K(e,G(e,t))}t(q,`dispatch`);var J={getConfig:ce,preserveCommentsWhenParsing:!0,setOptions:ie,getOptions:ae,clear:oe,setAccTitle:a,getAccTitle:f,getAccDescription:s,setAccDescription:i,setDiagramTitle:d,getDiagramTitle:r,setAst:w,getDiagramProps:E,getState:C},fe={parse:t(async e=>{let t=await re(`eventmodeling`,e);n.debug(t),J.setAst(t),ne(t,J)},`parse`)},Y=l()?.eventmodeling;function X(e,t){return n=>{let r=n.swimlane.y+t.swimlanePadding,i=e.append(`g`).attr(`class`,`em-box`);i.append(`rect`).attr(`x`,n.x).attr(`y`,r).attr(`rx`,`3`).attr(`width`,n.dimension.width).attr(`height`,n.dimension.height).attr(`stroke`,n.visual.stroke).attr(`fill`,n.visual.fill),i.append(`foreignObject`).attr(`x`,n.x+t.boxPadding).attr(`y`,r+10).attr(`width`,n.dimension.width-2*t.boxPadding).attr(`height`,n.dimension.height-2*t.boxPadding).append(`xhtml:div`).style(`display`,`table`).style(`height`,`100%`).style(`width`,`100%`).append(`span`).style(`display`,`table-cell`).style(`text-align`,`center`).style(`vertical-align`,`middle`).html(n.text)}}t(X,`renderD3Box`);function Z(e,t){return e>t}t(Z,`dirUpwards`);function Q(e,t,r,i){return a=>{let o=a.sourceBox.swimlane.y+t.swimlanePadding,s=a.targetBox.swimlane.y+t.swimlanePadding,c=Z(o,s),l=a.sourceBox.x+a.sourceBox.dimension.width*2/3,u=a.targetBox.x+a.targetBox.dimension.width/3,d,f;n.debug(`rendering relation up=${c} for `,{sourceBox:a.sourceBox,targetBox:a.targetBox}),c?(d=o,f=s+a.targetBox.dimension.height):(d=o+a.sourceBox.dimension.height,f=s);let p=i.emRelationStroke??a.visual.stroke;e.append(`path`).attr(`class`,`em-relation`).attr(`fill`,a.visual.fill).attr(`stroke`,p).attr(`stroke-width`,`1`).attr(`marker-end`,`url(#${r})`).attr(`d`,`M${l} ${d} L${u} ${f}`)}}t(Q,`renderD3Relation`);function $(e,t,n,r){return i=>{let a=e.append(`g`).attr(`class`,`em-swimlane`),o=r.emSwimlaneBackgroundOdd??`rgb(250,250,250)`,s=r.emSwimlaneBackgroundStroke??`rgb(240,240,240)`;a.append(`rect`).attr(`x`,0).attr(`y`,i.y).attr(`rx`,`3`).attr(`width`,t+n.swimlanePadding).attr(`height`,i.height).attr(`fill`,o).attr(`stroke`,s),a.append(`text`).attr(`font-weight`,n.swimlaneTextFontWeight).attr(`x`,30).attr(`y`,i.y+30).text(i.label)}}t($,`renderD3Swimlane`);var pe={parser:fe,db:J,renderer:{draw:t(function(e,t,r,i){if(n.debug(`in eventmodeling renderer`,e+`
3
- `,`id:`,t,r),!Y)throw Error(`EventModeling config not found`);let a=i.db,{themeVariables:s,eventmodeling:c}=l(),u=h(`[id="${t}"]`),d=a.getDiagramProps(),f=a.getState(),p=`em-arrowhead-${t}`,m=s.emArrowhead??`#000000`;f.sortedSwimlanesArray.forEach($(u,f.maxR,d,s)),f.boxes.forEach(X(u,d)),f.relations.forEach(Q(u,d,p,s)),u.append(`defs`).append(`marker`).attr(`id`,p).attr(`markerWidth`,`10`).attr(`markerHeight`,`7`).attr(`refX`,`10`).attr(`refY`,`3.5`).attr(`orient`,`auto`).append(`polygon`).attr(`points`,`0 0, 10 3.5, 0 7`).attr(`fill`,m),o(void 0,u,c?.padding??30,c?.useMaxWidth)},`draw`)},styles:t(e=>``,`getStyles`)};export{pe as diagram};
@@ -1,41 +0,0 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{t}from"./src-DEuepP9r.js";import{C as n,E as r,H as i,U as a,_ as o,a as s,c,f as l,q as u,v as d,y as f}from"./chunk-DSNLSHJZ-ouwfoCtA.js";import{i as p}from"./chunk-7S6XSTFO-CddfL1MG.js";import{t as m}from"./chunk-OYAV6JZA-DewdxI5x.js";import{t as h}from"./chunk-JWPE2WC7-DVXcaiue.js";import{n as g}from"./mermaid-parser.core-DUIvugRg.js";var _={showLegend:!0,ticks:5,max:null,min:0,graticule:`circle`},v=32,y={axes:[],curves:[],options:_},b=structuredClone(y),x=l.radar,S=e(()=>p({...x,...f().radar}),`getConfig`),C=e(()=>b.axes,`getAxes`),w=e(()=>b.curves,`getCurves`),T=e(()=>b.options,`getOptions`),E=e(e=>{b.axes=e.map(e=>({name:e.name,label:e.label??e.name}))},`setAxes`),D=e(e=>{b.curves=e.map(e=>({name:e.name,label:e.label??e.name,entries:O(e.entries)}))},`setCurves`),O=e(e=>{if(e[0].axis==null)return e.map(e=>e.value);let t=C();if(t.length===0)throw Error(`Axes must be populated before curves for reference entries`);return t.map(t=>{let n=e.find(e=>e.axis?.$refText===t.name);if(n===void 0)throw Error(`Missing entry for axis `+t.label);return n.value})},`computeCurveEntries`),k={getAxes:C,getCurves:w,getOptions:T,setAxes:E,setCurves:D,setOptions:e(e=>{let n=e.reduce((e,t)=>(e[t.name]=t,e),{});b.options={showLegend:n.showLegend?.value??_.showLegend,ticks:n.ticks?.value??_.ticks,max:n.max?.value??_.max,min:n.min?.value??_.min,graticule:n.graticule?.value??_.graticule},b.options.ticks>v&&(t.warn(`Radar diagram ticks (${b.options.ticks}) exceeds maximum allowed (${v}). Using ${v} instead.`),b.options.ticks=v)},`setOptions`),getConfig:S,clear:e(()=>{s(),b=structuredClone(y)},`clear`),setAccTitle:a,getAccTitle:d,setDiagramTitle:u,getDiagramTitle:n,getAccDescription:o,setAccDescription:i},A=e(e=>{h(e,k);let{axes:t,curves:n,options:r}=e;k.setAxes(t),k.setCurves(n),k.setOptions(r)},`populate`),j={parse:e(async e=>{let n=await g(`radar`,e);t.debug(n),A(n)},`parse`)},M=e((e,t,n,r)=>{let i=r.db,a=i.getAxes(),o=i.getCurves(),s=i.getOptions(),c=i.getConfig(),l=i.getDiagramTitle(),u=N(m(t),c),d=s.max??Math.max(...o.map(e=>Math.max(...e.entries))),f=s.min,p=Math.min(c.width,c.height)/2;P(u,a,p,s.ticks,s.graticule),F(u,a,p,c),I(u,a,o,f,d,s.graticule,c),z(u,o,s.showLegend,c),u.append(`text`).attr(`class`,`radarTitle`).text(l).attr(`x`,0).attr(`y`,-c.height/2-c.marginTop)},`draw`),N=e((e,t)=>{let n=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,i={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return c(e,r,n,t.useMaxWidth??!0),e.attr(`viewBox`,`0 0 ${n} ${r}`).attr(`overflow`,`visible`),e.append(`g`).attr(`transform`,`translate(${i.x}, ${i.y})`)},`drawFrame`),P=e((e,t,n,r,i)=>{if(i===`circle`)for(let t=0;t<r;t++){let i=n*(t+1)/r;e.append(`circle`).attr(`r`,i).attr(`class`,`radarGraticule`)}else if(i===`polygon`){let i=t.length;for(let a=0;a<r;a++){let o=n*(a+1)/r,s=t.map((e,t)=>{let n=2*t*Math.PI/i-Math.PI/2;return`${o*Math.cos(n)},${o*Math.sin(n)}`}).join(` `);e.append(`polygon`).attr(`points`,s).attr(`class`,`radarGraticule`)}}},`drawGraticule`),F=e((e,t,n,r)=>{let i=t.length;for(let a=0;a<i;a++){let o=t[a].label,s=2*a*Math.PI/i-Math.PI/2,c=Math.cos(s),l=Math.sin(s);e.append(`line`).attr(`x1`,0).attr(`y1`,0).attr(`x2`,n*r.axisScaleFactor*c).attr(`y2`,n*r.axisScaleFactor*l).attr(`class`,`radarAxisLine`);let u=c>.01?`start`:c<-.01?`end`:`middle`,d=l>.01?`hanging`:l<-.01?`auto`:`central`;e.append(`text`).text(o).attr(`x`,n*r.axisLabelFactor*c+4*c).attr(`y`,n*r.axisLabelFactor*l+4*l).attr(`text-anchor`,u).attr(`dominant-baseline`,d).attr(`class`,`radarAxisLabel`)}},`drawAxes`);function I(e,t,n,r,i,a,o){let s=t.length,c=Math.min(o.width,o.height)/2;n.forEach((t,n)=>{if(t.entries.length!==s)return;let l=t.entries.map((e,t)=>{let n=2*Math.PI*t/s-Math.PI/2,a=L(e,r,i,c);return{x:a*Math.cos(n),y:a*Math.sin(n)}});a===`circle`?e.append(`path`).attr(`d`,R(l,o.curveTension)).attr(`class`,`radarCurve-${n}`):a===`polygon`&&e.append(`polygon`).attr(`points`,l.map(e=>`${e.x},${e.y}`).join(` `)).attr(`class`,`radarCurve-${n}`)})}e(I,`drawCurves`);function L(e,t,n,r){return r*(Math.min(Math.max(e,t),n)-t)/(n-t)}e(L,`relativeRadius`);function R(e,t){let n=e.length,r=`M${e[0].x},${e[0].y}`;for(let i=0;i<n;i++){let a=e[(i-1+n)%n],o=e[i],s=e[(i+1)%n],c=e[(i+2)%n],l={x:o.x+(s.x-a.x)*t,y:o.y+(s.y-a.y)*t},u={x:s.x-(c.x-o.x)*t,y:s.y-(c.y-o.y)*t};r+=` C${l.x},${l.y} ${u.x},${u.y} ${s.x},${s.y}`}return`${r} Z`}e(R,`closedRoundCurve`);function z(e,t,n,r){if(!n)return;let i=(r.width/2+r.marginRight)*3/4,a=-(r.height/2+r.marginTop)*3/4;t.forEach((t,n)=>{let r=e.append(`g`).attr(`transform`,`translate(${i}, ${a+n*20})`);r.append(`rect`).attr(`width`,12).attr(`height`,12).attr(`class`,`radarLegendBox-${n}`),r.append(`text`).attr(`x`,16).attr(`y`,0).attr(`class`,`radarLegendText`).text(t.label)})}e(z,`drawLegend`);var B={draw:M},V=e((e,t)=>{let n=``;for(let r=0;r<e.THEME_COLOR_LIMIT;r++){let i=e[`cScale${r}`];n+=`
2
- .radarCurve-${r} {
3
- color: ${i};
4
- fill: ${i};
5
- fill-opacity: ${t.curveOpacity};
6
- stroke: ${i};
7
- stroke-width: ${t.curveStrokeWidth};
8
- }
9
- .radarLegendBox-${r} {
10
- fill: ${i};
11
- fill-opacity: ${t.curveOpacity};
12
- stroke: ${i};
13
- }
14
- `}return n},`genIndexStyles`),H=e(e=>{let t=r(),n=f(),i=p(t,n.themeVariables);return{themeVariables:i,radarOptions:p(i.radar,e)}},`buildRadarStyleOptions`),U={parser:j,db:k,renderer:B,styles:e(({radar:e}={})=>{let{themeVariables:t,radarOptions:n}=H(e);return`
15
- .radarTitle {
16
- font-size: ${t.fontSize};
17
- color: ${t.titleColor};
18
- dominant-baseline: hanging;
19
- text-anchor: middle;
20
- }
21
- .radarAxisLine {
22
- stroke: ${n.axisColor};
23
- stroke-width: ${n.axisStrokeWidth};
24
- }
25
- .radarAxisLabel {
26
- font-size: ${n.axisLabelFontSize}px;
27
- color: ${n.axisColor};
28
- }
29
- .radarGraticule {
30
- fill: ${n.graticuleColor};
31
- fill-opacity: ${n.graticuleOpacity};
32
- stroke: ${n.graticuleColor};
33
- stroke-width: ${n.graticuleStrokeWidth};
34
- }
35
- .radarLegendText {
36
- text-anchor: start;
37
- font-size: ${n.legendFontSize}px;
38
- dominant-baseline: hanging;
39
- }
40
- ${V(t,n)}
41
- `},`styles`)};export{U as diagram};