@rubytech/create-maxy-code 0.1.553 → 0.1.555

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 (661) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/lib/agent-dispatch-rule/dist/index.d.ts +41 -0
  3. package/payload/platform/lib/agent-dispatch-rule/dist/index.d.ts.map +1 -1
  4. package/payload/platform/lib/agent-dispatch-rule/dist/index.js +42 -0
  5. package/payload/platform/lib/agent-dispatch-rule/dist/index.js.map +1 -1
  6. package/payload/platform/lib/agent-dispatch-rule/src/__tests__/dispatch-gap.test.ts +89 -0
  7. package/payload/platform/lib/agent-dispatch-rule/src/index.ts +59 -0
  8. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +24 -11
  9. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +12 -0
  10. package/payload/platform/plugins/docs/references/admin-ui.md +21 -10
  11. package/payload/platform/plugins/docs/references/platform.md +2 -0
  12. package/payload/platform/plugins/scheduling/mcp/dist/index.js +11 -44
  13. package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
  14. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/schedule-render.test.d.ts +2 -0
  15. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/schedule-render.test.d.ts.map +1 -0
  16. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/schedule-render.test.js +72 -0
  17. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/schedule-render.test.js.map +1 -0
  18. package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-render.d.ts +5 -0
  19. package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-render.d.ts.map +1 -0
  20. package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-render.js +63 -0
  21. package/payload/platform/plugins/scheduling/mcp/dist/lib/schedule-render.js.map +1 -0
  22. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/null-startdate-audit.test.d.ts +2 -0
  23. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/null-startdate-audit.test.d.ts.map +1 -0
  24. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/null-startdate-audit.test.js +83 -0
  25. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/null-startdate-audit.test.js.map +1 -0
  26. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts +31 -11
  27. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts.map +1 -1
  28. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js +69 -25
  29. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js.map +1 -1
  30. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +14 -1
  31. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
  32. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-list.test.js +6 -1
  33. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-list.test.js.map +1 -1
  34. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-update-status.test.js +92 -9
  35. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-update-status.test.js.map +1 -1
  36. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-export-ics.d.ts +6 -0
  37. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-export-ics.d.ts.map +1 -1
  38. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-export-ics.js +15 -5
  39. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-export-ics.js.map +1 -1
  40. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.d.ts +6 -1
  41. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.d.ts.map +1 -1
  42. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-get.js.map +1 -1
  43. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.d.ts +6 -1
  44. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.d.ts.map +1 -1
  45. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.js +14 -2
  46. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-list.js.map +1 -1
  47. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.d.ts.map +1 -1
  48. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js +50 -1
  49. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js.map +1 -1
  50. package/payload/platform/scripts/check-no-esm-require.mjs +6 -0
  51. package/payload/server/public/activity.html +5 -5
  52. package/payload/server/public/agents.html +4 -4
  53. package/payload/server/public/assets/{AdminLoginScreens-Ca2QhL18.js → AdminLoginScreens-DrF7rAcb.js} +1 -1
  54. package/payload/server/public/assets/AdminLoginScreens-DrF7rAcb.js.br +0 -0
  55. package/payload/server/public/assets/AdminLoginScreens-DrF7rAcb.js.gz +0 -0
  56. package/payload/server/public/assets/AdminShell-BVKfxSgh.js +2 -0
  57. package/payload/server/public/assets/AdminShell-BVKfxSgh.js.br +0 -0
  58. package/payload/server/public/assets/AdminShell-BVKfxSgh.js.gz +0 -0
  59. package/payload/server/public/assets/{activity-TSDKmIYb.js → activity-CBcvL5MZ.js} +1 -1
  60. package/payload/server/public/assets/activity-CBcvL5MZ.js.br +0 -0
  61. package/payload/server/public/assets/activity-CBcvL5MZ.js.gz +0 -0
  62. package/payload/server/public/assets/admin-CCB9k3GB.js +1 -0
  63. package/payload/server/public/assets/admin-CCB9k3GB.js.br +0 -0
  64. package/payload/server/public/assets/admin-CCB9k3GB.js.gz +0 -0
  65. package/payload/server/public/assets/{agents-9hlQHOS5.js → agents-Dzx8Uxgz.js} +1 -1
  66. package/payload/server/public/assets/agents-Dzx8Uxgz.js.br +0 -0
  67. package/payload/server/public/assets/agents-Dzx8Uxgz.js.gz +0 -0
  68. package/payload/server/public/assets/{arc-DaudCnXg.js → arc-DaI5MLTq.js} +1 -1
  69. package/payload/server/public/assets/arc-DaI5MLTq.js.br +0 -0
  70. package/payload/server/public/assets/arc-DaI5MLTq.js.gz +0 -0
  71. package/payload/server/public/assets/architecture-YZFGNWBL-DWZIX5aV.js +1 -0
  72. package/payload/server/public/assets/architecture-YZFGNWBL-DWZIX5aV.js.br +0 -0
  73. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-Dj9L_JR0.js → architectureDiagram-Q4EWVU46-xZ0gDnJQ.js} +1 -1
  74. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-xZ0gDnJQ.js.br +0 -0
  75. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-xZ0gDnJQ.js.gz +0 -0
  76. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-BTXKYwrR.js → blockDiagram-DXYQGD6D-DwWtWBJp.js} +1 -1
  77. package/payload/server/public/assets/blockDiagram-DXYQGD6D-DwWtWBJp.js.br +0 -0
  78. package/payload/server/public/assets/blockDiagram-DXYQGD6D-DwWtWBJp.js.gz +0 -0
  79. package/payload/server/public/assets/{browser-BrqoCsqh.js → browser-B7EsGyVd.js} +1 -1
  80. package/payload/server/public/assets/browser-B7EsGyVd.js.br +0 -0
  81. package/payload/server/public/assets/browser-B7EsGyVd.js.gz +0 -0
  82. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-BN7XeOWV.js → c4Diagram-AHTNJAMY-qRseEjtL.js} +1 -1
  83. package/payload/server/public/assets/c4Diagram-AHTNJAMY-qRseEjtL.js.br +0 -0
  84. package/payload/server/public/assets/c4Diagram-AHTNJAMY-qRseEjtL.js.gz +0 -0
  85. package/payload/server/public/assets/calendar-D4qD0upn.js +1 -0
  86. package/payload/server/public/assets/calendar-D4qD0upn.js.br +0 -0
  87. package/payload/server/public/assets/calendar-D4qD0upn.js.gz +0 -0
  88. package/payload/server/public/assets/channel-DnchwXmx.js +1 -0
  89. package/payload/server/public/assets/chat-BgOUm7r1.js +1 -0
  90. package/payload/server/public/assets/chat-BgOUm7r1.js.br +0 -0
  91. package/payload/server/public/assets/chat-BgOUm7r1.js.gz +0 -0
  92. package/payload/server/public/assets/chevron-left-CGsW9Vsp.js +1 -0
  93. package/payload/server/public/assets/chevron-left-CGsW9Vsp.js.br +0 -0
  94. package/payload/server/public/assets/{chunk-2KRD3SAO-BwEVlnxo.js → chunk-2KRD3SAO-B6koUoB7.js} +1 -1
  95. package/payload/server/public/assets/chunk-2KRD3SAO-B6koUoB7.js.br +0 -0
  96. package/payload/server/public/assets/chunk-2KRD3SAO-B6koUoB7.js.gz +0 -0
  97. package/payload/server/public/assets/{chunk-336JU56O-DR5EUh9D.js → chunk-336JU56O-ByZrJI-3.js} +2 -2
  98. package/payload/server/public/assets/chunk-336JU56O-ByZrJI-3.js.br +0 -0
  99. package/payload/server/public/assets/chunk-336JU56O-ByZrJI-3.js.gz +0 -0
  100. package/payload/server/public/assets/chunk-426QAEUC-fNi5i3SA.js +1 -0
  101. package/payload/server/public/assets/chunk-426QAEUC-fNi5i3SA.js.br +0 -0
  102. package/payload/server/public/assets/chunk-426QAEUC-fNi5i3SA.js.gz +0 -0
  103. package/payload/server/public/assets/{chunk-4BX2VUAB-C5p3xTC6.js → chunk-4BX2VUAB-7sO95xR2.js} +1 -1
  104. package/payload/server/public/assets/chunk-4BX2VUAB-7sO95xR2.js.br +0 -0
  105. package/payload/server/public/assets/chunk-4BX2VUAB-7sO95xR2.js.gz +0 -0
  106. package/payload/server/public/assets/{chunk-4TB4RGXK-CqrBvvGI.js → chunk-4TB4RGXK-KqKMvkA_.js} +1 -1
  107. package/payload/server/public/assets/chunk-4TB4RGXK-KqKMvkA_.js.br +0 -0
  108. package/payload/server/public/assets/chunk-4TB4RGXK-KqKMvkA_.js.gz +0 -0
  109. package/payload/server/public/assets/{chunk-55IACEB6-DDU_m1ra.js → chunk-55IACEB6-ggIJf_TC.js} +1 -1
  110. package/payload/server/public/assets/chunk-55IACEB6-ggIJf_TC.js.br +0 -0
  111. package/payload/server/public/assets/chunk-55IACEB6-ggIJf_TC.js.gz +0 -0
  112. package/payload/server/public/assets/{chunk-5FUZZQ4R-B21kX6ld.js → chunk-5FUZZQ4R-CEIokxZS.js} +1 -1
  113. package/payload/server/public/assets/chunk-5FUZZQ4R-CEIokxZS.js.br +0 -0
  114. package/payload/server/public/assets/chunk-5FUZZQ4R-CEIokxZS.js.gz +0 -0
  115. package/payload/server/public/assets/{chunk-5PVQY5BW-CYusrVbq.js → chunk-5PVQY5BW-BEsb0aTb.js} +1 -1
  116. package/payload/server/public/assets/chunk-5PVQY5BW-BEsb0aTb.js.br +0 -0
  117. package/payload/server/public/assets/chunk-5PVQY5BW-BEsb0aTb.js.gz +0 -0
  118. package/payload/server/public/assets/{chunk-67CJDMHE-9W0Qv0jm.js → chunk-67CJDMHE-LS8rUbii.js} +1 -1
  119. package/payload/server/public/assets/chunk-67CJDMHE-LS8rUbii.js.br +2 -0
  120. package/payload/server/public/assets/chunk-67CJDMHE-LS8rUbii.js.gz +0 -0
  121. package/payload/server/public/assets/{chunk-7N4EOEYR-B3gqydR3.js → chunk-7N4EOEYR-JKOVngS0.js} +1 -1
  122. package/payload/server/public/assets/chunk-7N4EOEYR-JKOVngS0.js.br +2 -0
  123. package/payload/server/public/assets/chunk-7N4EOEYR-JKOVngS0.js.gz +0 -0
  124. package/payload/server/public/assets/{chunk-AA7GKIK3-DW8a-2NK.js → chunk-AA7GKIK3-CoXnTVK6.js} +1 -1
  125. package/payload/server/public/assets/chunk-AA7GKIK3-CoXnTVK6.js.br +0 -0
  126. package/payload/server/public/assets/chunk-AA7GKIK3-CoXnTVK6.js.gz +0 -0
  127. package/payload/server/public/assets/{chunk-BSJP7CBP-DqXIO_5R.js → chunk-BSJP7CBP-CcsqObFg.js} +1 -1
  128. package/payload/server/public/assets/chunk-BSJP7CBP-CcsqObFg.js.br +0 -0
  129. package/payload/server/public/assets/chunk-BSJP7CBP-CcsqObFg.js.gz +0 -0
  130. package/payload/server/public/assets/{chunk-CIAEETIT-BMJfgj2u.js → chunk-CIAEETIT-CpsybR7q.js} +1 -1
  131. package/payload/server/public/assets/chunk-CIAEETIT-CpsybR7q.js.br +0 -0
  132. package/payload/server/public/assets/chunk-CIAEETIT-CpsybR7q.js.gz +0 -0
  133. package/payload/server/public/assets/{chunk-EDXVE4YY-CyjTyMkv.js → chunk-EDXVE4YY-CCCHYEbG.js} +1 -1
  134. package/payload/server/public/assets/chunk-EDXVE4YY-CCCHYEbG.js.br +2 -0
  135. package/payload/server/public/assets/chunk-EDXVE4YY-CCCHYEbG.js.gz +0 -0
  136. package/payload/server/public/assets/{chunk-ENJZ2VHE-B-k8uOTF.js → chunk-ENJZ2VHE-yVekovt2.js} +1 -1
  137. package/payload/server/public/assets/chunk-ENJZ2VHE-yVekovt2.js.br +0 -0
  138. package/payload/server/public/assets/chunk-ENJZ2VHE-yVekovt2.js.gz +0 -0
  139. package/payload/server/public/assets/{chunk-FMBD7UC4-CdPjwbtf.js → chunk-FMBD7UC4-D27VnSCa.js} +1 -1
  140. package/payload/server/public/assets/chunk-FMBD7UC4-D27VnSCa.js.br +0 -0
  141. package/payload/server/public/assets/chunk-FMBD7UC4-D27VnSCa.js.gz +0 -0
  142. package/payload/server/public/assets/{chunk-FOC6F5B3-Dl6l1KAh.js → chunk-FOC6F5B3-C0tU2UFl.js} +1 -1
  143. package/payload/server/public/assets/chunk-FOC6F5B3-C0tU2UFl.js.br +0 -0
  144. package/payload/server/public/assets/chunk-FOC6F5B3-C0tU2UFl.js.gz +0 -0
  145. package/payload/server/public/assets/{chunk-ICPOFSXX-CKQWnR1l.js → chunk-ICPOFSXX-BmWvYe_5.js} +2 -2
  146. package/payload/server/public/assets/chunk-ICPOFSXX-BmWvYe_5.js.br +0 -0
  147. package/payload/server/public/assets/chunk-ICPOFSXX-BmWvYe_5.js.gz +0 -0
  148. package/payload/server/public/assets/{chunk-K5T4RW27--g29_wjW.js → chunk-K5T4RW27-DIKxqyYw.js} +1 -1
  149. package/payload/server/public/assets/chunk-K5T4RW27-DIKxqyYw.js.br +0 -0
  150. package/payload/server/public/assets/chunk-K5T4RW27-DIKxqyYw.js.gz +0 -0
  151. package/payload/server/public/assets/{chunk-KGLVRYIC-CI77ENeO.js → chunk-KGLVRYIC-CiL4YVLo.js} +1 -1
  152. package/payload/server/public/assets/chunk-KGLVRYIC-CiL4YVLo.js.br +0 -0
  153. package/payload/server/public/assets/chunk-KGLVRYIC-CiL4YVLo.js.gz +0 -0
  154. package/payload/server/public/assets/{chunk-LIHQZDEY-CE-XByg6.js → chunk-LIHQZDEY-ejKezVlD.js} +1 -1
  155. package/payload/server/public/assets/chunk-LIHQZDEY-ejKezVlD.js.br +0 -0
  156. package/payload/server/public/assets/chunk-LIHQZDEY-ejKezVlD.js.gz +0 -0
  157. package/payload/server/public/assets/{chunk-ORNJ4GCN-DkjJQQSm.js → chunk-ORNJ4GCN-Cc0vqc-D.js} +1 -1
  158. package/payload/server/public/assets/chunk-ORNJ4GCN-Cc0vqc-D.js.br +0 -0
  159. package/payload/server/public/assets/chunk-ORNJ4GCN-Cc0vqc-D.js.gz +0 -0
  160. package/payload/server/public/assets/{chunk-OYMX7WX6-Dis40FU5.js → chunk-OYMX7WX6-BE4b8qC9.js} +1 -1
  161. package/payload/server/public/assets/chunk-OYMX7WX6-BE4b8qC9.js.br +0 -0
  162. package/payload/server/public/assets/chunk-OYMX7WX6-BE4b8qC9.js.gz +0 -0
  163. package/payload/server/public/assets/chunk-QZHKN3VN-Dhlh7Pkk.js +1 -0
  164. package/payload/server/public/assets/chunk-QZHKN3VN-Dhlh7Pkk.js.br +0 -0
  165. package/payload/server/public/assets/chunk-QZHKN3VN-Dhlh7Pkk.js.gz +0 -0
  166. package/payload/server/public/assets/{chunk-U2HBQHQK-DT3NLMic.js → chunk-U2HBQHQK-DcEL3so-.js} +1 -1
  167. package/payload/server/public/assets/chunk-U2HBQHQK-DcEL3so-.js.br +0 -0
  168. package/payload/server/public/assets/chunk-U2HBQHQK-DcEL3so-.js.gz +0 -0
  169. package/payload/server/public/assets/{chunk-X2U36JSP-Dxaab1tD.js → chunk-X2U36JSP-D0X5qpg6.js} +1 -1
  170. package/payload/server/public/assets/chunk-X2U36JSP-D0X5qpg6.js.br +0 -0
  171. package/payload/server/public/assets/chunk-X2U36JSP-D0X5qpg6.js.gz +0 -0
  172. package/payload/server/public/assets/{chunk-XPW4576I-DtqJwn2x.js → chunk-XPW4576I-DZqqB9Zi.js} +1 -1
  173. package/payload/server/public/assets/chunk-XPW4576I-DZqqB9Zi.js.br +0 -0
  174. package/payload/server/public/assets/chunk-XPW4576I-DZqqB9Zi.js.gz +0 -0
  175. package/payload/server/public/assets/{chunk-YZCP3GAM-CEEcRrOH.js → chunk-YZCP3GAM-BTxWHFTx.js} +1 -1
  176. package/payload/server/public/assets/chunk-YZCP3GAM-BTxWHFTx.js.br +0 -0
  177. package/payload/server/public/assets/chunk-YZCP3GAM-BTxWHFTx.js.gz +0 -0
  178. package/payload/server/public/assets/{chunk-ZZ45TVLE-CVhqjM4L.js → chunk-ZZ45TVLE-D8nE76c5.js} +1 -1
  179. package/payload/server/public/assets/chunk-ZZ45TVLE-D8nE76c5.js.br +0 -0
  180. package/payload/server/public/assets/chunk-ZZ45TVLE-D8nE76c5.js.gz +0 -0
  181. package/payload/server/public/assets/classDiagram-6PBFFD2Q-D9OvkaTQ.js +1 -0
  182. package/payload/server/public/assets/classDiagram-6PBFFD2Q-D9OvkaTQ.js.br +0 -0
  183. package/payload/server/public/assets/classDiagram-6PBFFD2Q-D9OvkaTQ.js.gz +0 -0
  184. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BEuoBAgN.js +1 -0
  185. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BEuoBAgN.js.br +0 -0
  186. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BEuoBAgN.js.gz +0 -0
  187. package/payload/server/public/assets/clock-B_xWWLQW.js +1 -0
  188. package/payload/server/public/assets/clock-B_xWWLQW.js.br +0 -0
  189. package/payload/server/public/assets/clock-B_xWWLQW.js.gz +0 -0
  190. package/payload/server/public/assets/clone-C-YfAPQ_.js +1 -0
  191. package/payload/server/public/assets/{copy-BkbgmpJo.js → copy-CG2tAK16.js} +1 -1
  192. package/payload/server/public/assets/copy-CG2tAK16.js.br +0 -0
  193. package/payload/server/public/assets/copy-CG2tAK16.js.gz +0 -0
  194. package/payload/server/public/assets/{cose-bilkent-S5V4N54A-kEHVkDNn.js → cose-bilkent-S5V4N54A-D-95BzXL.js} +1 -1
  195. package/payload/server/public/assets/cose-bilkent-S5V4N54A-D-95BzXL.js.br +0 -0
  196. package/payload/server/public/assets/cose-bilkent-S5V4N54A-D-95BzXL.js.gz +0 -0
  197. package/payload/server/public/assets/{dagre-BgQxtxH1.js → dagre-CrjQCEN9.js} +1 -1
  198. package/payload/server/public/assets/dagre-CrjQCEN9.js.br +0 -0
  199. package/payload/server/public/assets/dagre-CrjQCEN9.js.gz +0 -0
  200. package/payload/server/public/assets/{dagre-KV5264BT-CgxwoTcv.js → dagre-KV5264BT-mcGXOajA.js} +1 -1
  201. package/payload/server/public/assets/dagre-KV5264BT-mcGXOajA.js.br +0 -0
  202. package/payload/server/public/assets/dagre-KV5264BT-mcGXOajA.js.gz +0 -0
  203. package/payload/server/public/assets/data-YEC6LkxI.js +1 -0
  204. package/payload/server/public/assets/data-YEC6LkxI.js.br +0 -0
  205. package/payload/server/public/assets/data-YEC6LkxI.js.gz +0 -0
  206. package/payload/server/public/assets/{diagram-5BDNPKRD-MEZ1cQGO.js → diagram-5BDNPKRD-Colq2XR9.js} +1 -1
  207. package/payload/server/public/assets/diagram-5BDNPKRD-Colq2XR9.js.br +0 -0
  208. package/payload/server/public/assets/diagram-5BDNPKRD-Colq2XR9.js.gz +0 -0
  209. package/payload/server/public/assets/{diagram-G4DWMVQ6-DbZg9hWP.js → diagram-G4DWMVQ6-DafrIgN8.js} +1 -1
  210. package/payload/server/public/assets/diagram-G4DWMVQ6-DafrIgN8.js.br +0 -0
  211. package/payload/server/public/assets/diagram-G4DWMVQ6-DafrIgN8.js.gz +0 -0
  212. package/payload/server/public/assets/{diagram-MMDJMWI5-Bb1y8DFy.js → diagram-MMDJMWI5-CD9pSd2z.js} +1 -1
  213. package/payload/server/public/assets/diagram-MMDJMWI5-CD9pSd2z.js.br +0 -0
  214. package/payload/server/public/assets/diagram-MMDJMWI5-CD9pSd2z.js.gz +0 -0
  215. package/payload/server/public/assets/{diagram-TYMM5635-tbStCw5U.js → diagram-TYMM5635-DqhsN-Il.js} +1 -1
  216. package/payload/server/public/assets/diagram-TYMM5635-DqhsN-Il.js.br +0 -0
  217. package/payload/server/public/assets/diagram-TYMM5635-DqhsN-Il.js.gz +0 -0
  218. package/payload/server/public/assets/{erDiagram-SMLLAGMA-ClEFo_Bw.js → erDiagram-SMLLAGMA-mf9kQrIs.js} +1 -1
  219. package/payload/server/public/assets/erDiagram-SMLLAGMA-mf9kQrIs.js.br +0 -0
  220. package/payload/server/public/assets/erDiagram-SMLLAGMA-mf9kQrIs.js.gz +0 -0
  221. package/payload/server/public/assets/{file-text-DDCrqbWB.js → file-text-47cIljhV.js} +1 -1
  222. package/payload/server/public/assets/file-text-47cIljhV.js.br +0 -0
  223. package/payload/server/public/assets/file-text-47cIljhV.js.gz +0 -0
  224. package/payload/server/public/assets/{flatten-Bu-b1uTY.js → flatten-BtIc9jX7.js} +1 -1
  225. package/payload/server/public/assets/flatten-BtIc9jX7.js.br +0 -0
  226. package/payload/server/public/assets/flatten-BtIc9jX7.js.gz +0 -0
  227. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-9yr262Ji.js → flowDiagram-DWJPFMVM-CJLkGmFm.js} +1 -1
  228. package/payload/server/public/assets/flowDiagram-DWJPFMVM-CJLkGmFm.js.br +0 -0
  229. package/payload/server/public/assets/flowDiagram-DWJPFMVM-CJLkGmFm.js.gz +0 -0
  230. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-ZCSA0DtG.js → ganttDiagram-T4ZO3ILL-JV6PUFic.js} +1 -1
  231. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-JV6PUFic.js.br +0 -0
  232. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-ZCSA0DtG.js.gz → ganttDiagram-T4ZO3ILL-JV6PUFic.js.gz} +0 -0
  233. package/payload/server/public/assets/gitGraph-7Q5UKJZL-C-FvNTHZ.js +1 -0
  234. package/payload/server/public/assets/gitGraph-7Q5UKJZL-C-FvNTHZ.js.br +0 -0
  235. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-0KvpzpaU.js → gitGraphDiagram-UUTBAWPF-JhiumTtl.js} +1 -1
  236. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-JhiumTtl.js.br +0 -0
  237. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-JhiumTtl.js.gz +0 -0
  238. package/payload/server/public/assets/{graph-BKPdL5ph.js → graph-CDbi-eqF.js} +2 -2
  239. package/payload/server/public/assets/graph-CDbi-eqF.js.br +0 -0
  240. package/payload/server/public/assets/graph-CDbi-eqF.js.gz +0 -0
  241. package/payload/server/public/assets/{graph-labels-B2PrHK6O.js → graph-labels-Byp2RkVg.js} +1 -1
  242. package/payload/server/public/assets/graph-labels-Byp2RkVg.js.br +0 -0
  243. package/payload/server/public/assets/graph-labels-Byp2RkVg.js.gz +0 -0
  244. package/payload/server/public/assets/{graphlib-B3SsCJOd.js → graphlib-Z7cApv13.js} +1 -1
  245. package/payload/server/public/assets/graphlib-Z7cApv13.js.br +0 -0
  246. package/payload/server/public/assets/graphlib-Z7cApv13.js.gz +0 -0
  247. package/payload/server/public/assets/info-OMHHGYJF-BjLPgHAC.js +1 -0
  248. package/payload/server/public/assets/info-OMHHGYJF-BjLPgHAC.js.br +0 -0
  249. package/payload/server/public/assets/infoDiagram-42DDH7IO-B-6k2hmd.js +2 -0
  250. package/payload/server/public/assets/infoDiagram-42DDH7IO-B-6k2hmd.js.br +0 -0
  251. package/payload/server/public/assets/infoDiagram-42DDH7IO-B-6k2hmd.js.gz +0 -0
  252. package/payload/server/public/assets/{isEmpty-CjH0UASp.js → isEmpty-Bu4fZ8Kf.js} +1 -1
  253. package/payload/server/public/assets/isEmpty-Bu4fZ8Kf.js.br +0 -0
  254. package/payload/server/public/assets/isEmpty-Bu4fZ8Kf.js.gz +0 -0
  255. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-DsDoNemz.js → ishikawaDiagram-UXIWVN3A-CQIGY8NI.js} +1 -1
  256. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-CQIGY8NI.js.br +0 -0
  257. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-CQIGY8NI.js.gz +0 -0
  258. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-xyayGhw3.js → journeyDiagram-VCZTEJTY-O5rEHC1o.js} +1 -1
  259. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-O5rEHC1o.js.br +0 -0
  260. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-O5rEHC1o.js.gz +0 -0
  261. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-DuV3Go_1.js → kanban-definition-6JOO6SKY-BS7huuG7.js} +1 -1
  262. package/payload/server/public/assets/kanban-definition-6JOO6SKY-BS7huuG7.js.br +0 -0
  263. package/payload/server/public/assets/kanban-definition-6JOO6SKY-BS7huuG7.js.gz +0 -0
  264. package/payload/server/public/assets/{line-Cpb8GRkf.js → line-DjHTnO_W.js} +1 -1
  265. package/payload/server/public/assets/line-DjHTnO_W.js.br +0 -0
  266. package/payload/server/public/assets/line-DjHTnO_W.js.gz +0 -0
  267. package/payload/server/public/assets/{linear-l39GooQ5.js → linear-RvwZxFzh.js} +1 -1
  268. package/payload/server/public/assets/linear-RvwZxFzh.js.br +0 -0
  269. package/payload/server/public/assets/linear-RvwZxFzh.js.gz +0 -0
  270. package/payload/server/public/assets/{mermaid-parser.core-9hkxt3j1.js → mermaid-parser.core-CUoZE61Z.js} +2 -2
  271. package/payload/server/public/assets/mermaid-parser.core-CUoZE61Z.js.br +0 -0
  272. package/payload/server/public/assets/mermaid-parser.core-CUoZE61Z.js.gz +0 -0
  273. package/payload/server/public/assets/{mermaid.core-iR6TQesD.js → mermaid.core-CHquUUrw.js} +3 -3
  274. package/payload/server/public/assets/mermaid.core-CHquUUrw.js.br +0 -0
  275. package/payload/server/public/assets/mermaid.core-CHquUUrw.js.gz +0 -0
  276. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-LCKhTYzs.js → mindmap-definition-QFDTVHPH-pHUJa3IP.js} +1 -1
  277. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-pHUJa3IP.js.br +0 -0
  278. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-pHUJa3IP.js.gz +0 -0
  279. package/payload/server/public/assets/{operator-BVULmN09.js → operator-B0oOVB8R.js} +1 -1
  280. package/payload/server/public/assets/operator-B0oOVB8R.js.br +0 -0
  281. package/payload/server/public/assets/operator-B0oOVB8R.js.gz +0 -0
  282. package/payload/server/public/assets/{ordinal-D6D6WcTC.js → ordinal-C2TEWKNu.js} +1 -1
  283. package/payload/server/public/assets/ordinal-C2TEWKNu.js.br +0 -0
  284. package/payload/server/public/assets/ordinal-C2TEWKNu.js.gz +0 -0
  285. package/payload/server/public/assets/packet-4T2RLAQJ-BBAZASfb.js +1 -0
  286. package/payload/server/public/assets/packet-4T2RLAQJ-BBAZASfb.js.br +0 -0
  287. package/payload/server/public/assets/{page-BbzdSxuU.js → page-Dfce3YQd.js} +3 -3
  288. package/payload/server/public/assets/page-Dfce3YQd.js.br +0 -0
  289. package/payload/server/public/assets/page-Dfce3YQd.js.gz +0 -0
  290. package/payload/server/public/assets/{page-baQ9FQIg.js → page-DrbfHSQ9.js} +1 -1
  291. package/payload/server/public/assets/page-DrbfHSQ9.js.br +0 -0
  292. package/payload/server/public/assets/page-DrbfHSQ9.js.gz +0 -0
  293. package/payload/server/public/assets/{pdf-render-DanMu_cf.js → pdf-render-Bwg_xv1L.js} +1 -1
  294. package/payload/server/public/assets/pdf-render-Bwg_xv1L.js.br +0 -0
  295. package/payload/server/public/assets/{pdf-render-DanMu_cf.js.gz → pdf-render-Bwg_xv1L.js.gz} +0 -0
  296. package/payload/server/public/assets/pie-ZZUOXDRM-CCJUnMeG.js +1 -0
  297. package/payload/server/public/assets/pie-ZZUOXDRM-CCJUnMeG.js.br +0 -0
  298. package/payload/server/public/assets/{pieDiagram-DEJITSTG-Oo7wgo0C.js → pieDiagram-DEJITSTG-DRIRqqhQ.js} +1 -1
  299. package/payload/server/public/assets/pieDiagram-DEJITSTG-DRIRqqhQ.js.br +0 -0
  300. package/payload/server/public/assets/pieDiagram-DEJITSTG-DRIRqqhQ.js.gz +0 -0
  301. package/payload/server/public/assets/play-Bankj0zU.js +1 -0
  302. package/payload/server/public/assets/play-Bankj0zU.js.br +0 -0
  303. package/payload/server/public/assets/play-Bankj0zU.js.gz +0 -0
  304. package/payload/server/public/assets/{public-B_SEBxWy.js → public-DJwMfl-4.js} +1 -1
  305. package/payload/server/public/assets/public-DJwMfl-4.js.br +0 -0
  306. package/payload/server/public/assets/public-DJwMfl-4.js.gz +0 -0
  307. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-B2hs2ord.js → quadrantDiagram-34T5L4WZ-7WHBrI_9.js} +1 -1
  308. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-7WHBrI_9.js.br +0 -0
  309. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-7WHBrI_9.js.gz +0 -0
  310. package/payload/server/public/assets/radar-PYXPWWZC-BsRU8Aep.js +1 -0
  311. package/payload/server/public/assets/radar-PYXPWWZC-BsRU8Aep.js.br +0 -0
  312. package/payload/server/public/assets/{reduce-BtXXK8Ma.js → reduce-BGpN5lgn.js} +1 -1
  313. package/payload/server/public/assets/reduce-BGpN5lgn.js.br +0 -0
  314. package/payload/server/public/assets/reduce-BGpN5lgn.js.gz +0 -0
  315. package/payload/server/public/assets/{requirementDiagram-MS252O5E-B8UkCUzW.js → requirementDiagram-MS252O5E-CatBEoHm.js} +1 -1
  316. package/payload/server/public/assets/requirementDiagram-MS252O5E-CatBEoHm.js.br +0 -0
  317. package/payload/server/public/assets/requirementDiagram-MS252O5E-CatBEoHm.js.gz +0 -0
  318. package/payload/server/public/assets/{rotate-ccw-DzXTXh3g.js → rotate-ccw-Dbj7NrEB.js} +1 -1
  319. package/payload/server/public/assets/rotate-ccw-Dbj7NrEB.js.br +0 -0
  320. package/payload/server/public/assets/rotate-ccw-Dbj7NrEB.js.gz +0 -0
  321. package/payload/server/public/assets/routines-YdqrwNi2.js +2 -0
  322. package/payload/server/public/assets/routines-YdqrwNi2.js.br +0 -0
  323. package/payload/server/public/assets/routines-YdqrwNi2.js.gz +0 -0
  324. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-Cojqqz7t.js → sankeyDiagram-XADWPNL6-DfefvhQ6.js} +1 -1
  325. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-DfefvhQ6.js.br +0 -0
  326. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-DfefvhQ6.js.gz +0 -0
  327. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-C7ODsPjE.js → sequenceDiagram-FGHM5R23-51FmBwFt.js} +1 -1
  328. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-51FmBwFt.js.br +0 -0
  329. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-51FmBwFt.js.gz +0 -0
  330. package/payload/server/public/assets/{skills-yCZhYVIs.js → skills-EtKyNK_3.js} +1 -1
  331. package/payload/server/public/assets/skills-EtKyNK_3.js.br +0 -0
  332. package/payload/server/public/assets/skills-EtKyNK_3.js.gz +0 -0
  333. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-BC8a_P9c.js → stateDiagram-FHFEXIEX-CPgxX16e.js} +1 -1
  334. package/payload/server/public/assets/stateDiagram-FHFEXIEX-CPgxX16e.js.br +0 -0
  335. package/payload/server/public/assets/stateDiagram-FHFEXIEX-CPgxX16e.js.gz +0 -0
  336. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-DrQl9xC9.js +1 -0
  337. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-DrQl9xC9.js.br +0 -0
  338. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-DrQl9xC9.js.gz +0 -0
  339. package/payload/server/public/assets/{tasks-DxNFLsHv.js → tasks-U0poqfi9.js} +2 -2
  340. package/payload/server/public/assets/tasks-U0poqfi9.js.br +0 -0
  341. package/payload/server/public/assets/tasks-U0poqfi9.js.gz +0 -0
  342. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-BMxUC3ri.js → timeline-definition-GMOUNBTQ-DC4gTR2m.js} +1 -1
  343. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-DC4gTR2m.js.br +0 -0
  344. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-DC4gTR2m.js.gz +0 -0
  345. package/payload/server/public/assets/treeView-SZITEDCU-BDzhKA6v.js +1 -0
  346. package/payload/server/public/assets/treeView-SZITEDCU-BDzhKA6v.js.br +0 -0
  347. package/payload/server/public/assets/treemap-W4RFUUIX-epHpdeWa.js +1 -0
  348. package/payload/server/public/assets/treemap-W4RFUUIX-epHpdeWa.js.br +0 -0
  349. package/payload/server/public/assets/{triangle-alert-CYwHTcvU.js → triangle-alert-D7zwttJW.js} +1 -1
  350. package/payload/server/public/assets/triangle-alert-D7zwttJW.js.br +0 -0
  351. package/payload/server/public/assets/triangle-alert-D7zwttJW.js.gz +0 -0
  352. package/payload/server/public/assets/{useCopyFeedback-BCRjKc-H.js → useCopyFeedback-Ae_va0Ps.js} +1 -1
  353. package/payload/server/public/assets/useCopyFeedback-Ae_va0Ps.js.br +4 -0
  354. package/payload/server/public/assets/useCopyFeedback-Ae_va0Ps.js.gz +0 -0
  355. package/payload/server/public/assets/{useMediaQuery-Vxpamxqq.css → useMediaQuery-HRgPNA8l.css} +1 -1
  356. package/payload/server/public/assets/useMediaQuery-HRgPNA8l.css.br +0 -0
  357. package/payload/server/public/assets/useMediaQuery-HRgPNA8l.css.gz +0 -0
  358. package/payload/server/public/assets/useVoiceRecorder-9qVOHhkb.js +2 -0
  359. package/payload/server/public/assets/useVoiceRecorder-9qVOHhkb.js.br +0 -0
  360. package/payload/server/public/assets/useVoiceRecorder-9qVOHhkb.js.gz +0 -0
  361. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-BsRGBF0K.js → vennDiagram-DHZGUBPP-CADQLMv_.js} +1 -1
  362. package/payload/server/public/assets/vennDiagram-DHZGUBPP-CADQLMv_.js.br +0 -0
  363. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-BsRGBF0K.js.gz → vennDiagram-DHZGUBPP-CADQLMv_.js.gz} +0 -0
  364. package/payload/server/public/assets/wardley-RL74JXVD-DNSZCrxV.js +1 -0
  365. package/payload/server/public/assets/wardley-RL74JXVD-DNSZCrxV.js.br +0 -0
  366. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-oQh9A-Mq.js → wardleyDiagram-NUSXRM2D-Cs5AyyGo.js} +1 -1
  367. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-Cs5AyyGo.js.br +0 -0
  368. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-Cs5AyyGo.js.gz +0 -0
  369. package/payload/server/public/assets/{wrench-iI-vx-g2.js → wrench-BmXV4Tmh.js} +1 -1
  370. package/payload/server/public/assets/wrench-BmXV4Tmh.js.br +0 -0
  371. package/payload/server/public/assets/wrench-BmXV4Tmh.js.gz +0 -0
  372. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-0K87OmFI.js → xychartDiagram-5P7HB3ND-Bp_VDbBp.js} +1 -1
  373. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-Bp_VDbBp.js.br +0 -0
  374. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-Bp_VDbBp.js.gz +0 -0
  375. package/payload/server/public/browser.html +4 -4
  376. package/payload/server/public/calendar.html +7 -8
  377. package/payload/server/public/chat.html +14 -14
  378. package/payload/server/public/data.html +13 -13
  379. package/payload/server/public/graph.html +9 -9
  380. package/payload/server/public/index.html +15 -16
  381. package/payload/server/public/operator.html +15 -15
  382. package/payload/server/public/public.html +14 -14
  383. package/payload/server/public/routines.html +8 -7
  384. package/payload/server/public/skills.html +5 -5
  385. package/payload/server/public/tasks.html +6 -6
  386. package/payload/server/server.js +5515 -4918
  387. package/payload/server/public/assets/AdminLoginScreens-Ca2QhL18.js.br +0 -0
  388. package/payload/server/public/assets/AdminLoginScreens-Ca2QhL18.js.gz +0 -0
  389. package/payload/server/public/assets/AdminShell-Dc5du5xX.js +0 -2
  390. package/payload/server/public/assets/AdminShell-Dc5du5xX.js.br +0 -0
  391. package/payload/server/public/assets/AdminShell-Dc5du5xX.js.gz +0 -0
  392. package/payload/server/public/assets/activity-TSDKmIYb.js.br +0 -0
  393. package/payload/server/public/assets/activity-TSDKmIYb.js.gz +0 -0
  394. package/payload/server/public/assets/admin-Ba729Eyg.js +0 -1
  395. package/payload/server/public/assets/admin-Ba729Eyg.js.br +0 -0
  396. package/payload/server/public/assets/admin-Ba729Eyg.js.gz +0 -0
  397. package/payload/server/public/assets/agents-9hlQHOS5.js.br +0 -0
  398. package/payload/server/public/assets/agents-9hlQHOS5.js.gz +0 -0
  399. package/payload/server/public/assets/arc-DaudCnXg.js.br +0 -0
  400. package/payload/server/public/assets/arc-DaudCnXg.js.gz +0 -0
  401. package/payload/server/public/assets/architecture-YZFGNWBL-DPFsm5jD.js +0 -1
  402. package/payload/server/public/assets/architecture-YZFGNWBL-DPFsm5jD.js.br +0 -0
  403. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-Dj9L_JR0.js.br +0 -0
  404. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-Dj9L_JR0.js.gz +0 -0
  405. package/payload/server/public/assets/blockDiagram-DXYQGD6D-BTXKYwrR.js.br +0 -0
  406. package/payload/server/public/assets/blockDiagram-DXYQGD6D-BTXKYwrR.js.gz +0 -0
  407. package/payload/server/public/assets/browser-BrqoCsqh.js.br +0 -0
  408. package/payload/server/public/assets/browser-BrqoCsqh.js.gz +0 -0
  409. package/payload/server/public/assets/c4Diagram-AHTNJAMY-BN7XeOWV.js.br +0 -0
  410. package/payload/server/public/assets/c4Diagram-AHTNJAMY-BN7XeOWV.js.gz +0 -0
  411. package/payload/server/public/assets/calendar-DOObQ_m8.js +0 -1
  412. package/payload/server/public/assets/calendar-DOObQ_m8.js.br +0 -0
  413. package/payload/server/public/assets/calendar-DOObQ_m8.js.gz +0 -0
  414. package/payload/server/public/assets/channel-D08XWP9e.js +0 -1
  415. package/payload/server/public/assets/chat-Xaul2lLF.js +0 -1
  416. package/payload/server/public/assets/chat-Xaul2lLF.js.br +0 -3
  417. package/payload/server/public/assets/chat-Xaul2lLF.js.gz +0 -0
  418. package/payload/server/public/assets/chevron-left-BYH5vH4S.js +0 -1
  419. package/payload/server/public/assets/chevron-left-BYH5vH4S.js.br +0 -0
  420. package/payload/server/public/assets/chevron-right-XxQPHfNH.js +0 -1
  421. package/payload/server/public/assets/chevron-right-XxQPHfNH.js.br +0 -0
  422. package/payload/server/public/assets/chunk-2KRD3SAO-BwEVlnxo.js.br +0 -0
  423. package/payload/server/public/assets/chunk-2KRD3SAO-BwEVlnxo.js.gz +0 -0
  424. package/payload/server/public/assets/chunk-336JU56O-DR5EUh9D.js.br +0 -0
  425. package/payload/server/public/assets/chunk-336JU56O-DR5EUh9D.js.gz +0 -0
  426. package/payload/server/public/assets/chunk-426QAEUC-YPE0DZOq.js +0 -1
  427. package/payload/server/public/assets/chunk-426QAEUC-YPE0DZOq.js.br +0 -0
  428. package/payload/server/public/assets/chunk-426QAEUC-YPE0DZOq.js.gz +0 -0
  429. package/payload/server/public/assets/chunk-4BX2VUAB-C5p3xTC6.js.br +0 -0
  430. package/payload/server/public/assets/chunk-4BX2VUAB-C5p3xTC6.js.gz +0 -0
  431. package/payload/server/public/assets/chunk-4TB4RGXK-CqrBvvGI.js.br +0 -0
  432. package/payload/server/public/assets/chunk-4TB4RGXK-CqrBvvGI.js.gz +0 -0
  433. package/payload/server/public/assets/chunk-55IACEB6-DDU_m1ra.js.br +0 -0
  434. package/payload/server/public/assets/chunk-55IACEB6-DDU_m1ra.js.gz +0 -0
  435. package/payload/server/public/assets/chunk-5FUZZQ4R-B21kX6ld.js.br +0 -0
  436. package/payload/server/public/assets/chunk-5FUZZQ4R-B21kX6ld.js.gz +0 -0
  437. package/payload/server/public/assets/chunk-5PVQY5BW-CYusrVbq.js.br +0 -0
  438. package/payload/server/public/assets/chunk-5PVQY5BW-CYusrVbq.js.gz +0 -0
  439. package/payload/server/public/assets/chunk-67CJDMHE-9W0Qv0jm.js.br +0 -0
  440. package/payload/server/public/assets/chunk-67CJDMHE-9W0Qv0jm.js.gz +0 -0
  441. package/payload/server/public/assets/chunk-7N4EOEYR-B3gqydR3.js.br +0 -0
  442. package/payload/server/public/assets/chunk-7N4EOEYR-B3gqydR3.js.gz +0 -0
  443. package/payload/server/public/assets/chunk-AA7GKIK3-DW8a-2NK.js.br +0 -4
  444. package/payload/server/public/assets/chunk-AA7GKIK3-DW8a-2NK.js.gz +0 -0
  445. package/payload/server/public/assets/chunk-BSJP7CBP-DqXIO_5R.js.br +0 -0
  446. package/payload/server/public/assets/chunk-BSJP7CBP-DqXIO_5R.js.gz +0 -0
  447. package/payload/server/public/assets/chunk-CIAEETIT-BMJfgj2u.js.br +0 -0
  448. package/payload/server/public/assets/chunk-CIAEETIT-BMJfgj2u.js.gz +0 -0
  449. package/payload/server/public/assets/chunk-EDXVE4YY-CyjTyMkv.js.br +0 -0
  450. package/payload/server/public/assets/chunk-EDXVE4YY-CyjTyMkv.js.gz +0 -0
  451. package/payload/server/public/assets/chunk-ENJZ2VHE-B-k8uOTF.js.br +0 -0
  452. package/payload/server/public/assets/chunk-ENJZ2VHE-B-k8uOTF.js.gz +0 -0
  453. package/payload/server/public/assets/chunk-FMBD7UC4-CdPjwbtf.js.br +0 -0
  454. package/payload/server/public/assets/chunk-FMBD7UC4-CdPjwbtf.js.gz +0 -0
  455. package/payload/server/public/assets/chunk-FOC6F5B3-Dl6l1KAh.js.br +0 -0
  456. package/payload/server/public/assets/chunk-FOC6F5B3-Dl6l1KAh.js.gz +0 -0
  457. package/payload/server/public/assets/chunk-ICPOFSXX-CKQWnR1l.js.br +0 -0
  458. package/payload/server/public/assets/chunk-ICPOFSXX-CKQWnR1l.js.gz +0 -0
  459. package/payload/server/public/assets/chunk-K5T4RW27--g29_wjW.js.br +0 -0
  460. package/payload/server/public/assets/chunk-K5T4RW27--g29_wjW.js.gz +0 -0
  461. package/payload/server/public/assets/chunk-KGLVRYIC-CI77ENeO.js.br +0 -3
  462. package/payload/server/public/assets/chunk-KGLVRYIC-CI77ENeO.js.gz +0 -0
  463. package/payload/server/public/assets/chunk-LIHQZDEY-CE-XByg6.js.br +0 -0
  464. package/payload/server/public/assets/chunk-LIHQZDEY-CE-XByg6.js.gz +0 -0
  465. package/payload/server/public/assets/chunk-ORNJ4GCN-DkjJQQSm.js.br +0 -0
  466. package/payload/server/public/assets/chunk-ORNJ4GCN-DkjJQQSm.js.gz +0 -0
  467. package/payload/server/public/assets/chunk-OYMX7WX6-Dis40FU5.js.br +0 -0
  468. package/payload/server/public/assets/chunk-OYMX7WX6-Dis40FU5.js.gz +0 -0
  469. package/payload/server/public/assets/chunk-QZHKN3VN-DnqqL1de.js +0 -1
  470. package/payload/server/public/assets/chunk-QZHKN3VN-DnqqL1de.js.br +0 -0
  471. package/payload/server/public/assets/chunk-QZHKN3VN-DnqqL1de.js.gz +0 -0
  472. package/payload/server/public/assets/chunk-U2HBQHQK-DT3NLMic.js.br +0 -0
  473. package/payload/server/public/assets/chunk-U2HBQHQK-DT3NLMic.js.gz +0 -0
  474. package/payload/server/public/assets/chunk-X2U36JSP-Dxaab1tD.js.br +0 -0
  475. package/payload/server/public/assets/chunk-X2U36JSP-Dxaab1tD.js.gz +0 -0
  476. package/payload/server/public/assets/chunk-XPW4576I-DtqJwn2x.js.br +0 -0
  477. package/payload/server/public/assets/chunk-XPW4576I-DtqJwn2x.js.gz +0 -0
  478. package/payload/server/public/assets/chunk-YZCP3GAM-CEEcRrOH.js.br +0 -0
  479. package/payload/server/public/assets/chunk-YZCP3GAM-CEEcRrOH.js.gz +0 -0
  480. package/payload/server/public/assets/chunk-ZZ45TVLE-CVhqjM4L.js.br +0 -0
  481. package/payload/server/public/assets/chunk-ZZ45TVLE-CVhqjM4L.js.gz +0 -0
  482. package/payload/server/public/assets/classDiagram-6PBFFD2Q-BPY9jtfT.js +0 -1
  483. package/payload/server/public/assets/classDiagram-6PBFFD2Q-BPY9jtfT.js.br +0 -0
  484. package/payload/server/public/assets/classDiagram-6PBFFD2Q-BPY9jtfT.js.gz +0 -0
  485. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-CLgDbwDp.js +0 -1
  486. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-CLgDbwDp.js.br +0 -0
  487. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-CLgDbwDp.js.gz +0 -0
  488. package/payload/server/public/assets/clock-BNp2JTKh.js +0 -1
  489. package/payload/server/public/assets/clock-BNp2JTKh.js.br +0 -0
  490. package/payload/server/public/assets/clock-BNp2JTKh.js.gz +0 -0
  491. package/payload/server/public/assets/clone-B6yMH1PX.js +0 -1
  492. package/payload/server/public/assets/clone-B6yMH1PX.js.br +0 -0
  493. package/payload/server/public/assets/copy-BkbgmpJo.js.br +0 -0
  494. package/payload/server/public/assets/copy-BkbgmpJo.js.gz +0 -0
  495. package/payload/server/public/assets/cose-bilkent-S5V4N54A-kEHVkDNn.js.br +0 -0
  496. package/payload/server/public/assets/cose-bilkent-S5V4N54A-kEHVkDNn.js.gz +0 -0
  497. package/payload/server/public/assets/dagre-BgQxtxH1.js.br +0 -0
  498. package/payload/server/public/assets/dagre-BgQxtxH1.js.gz +0 -0
  499. package/payload/server/public/assets/dagre-KV5264BT-CgxwoTcv.js.br +0 -0
  500. package/payload/server/public/assets/dagre-KV5264BT-CgxwoTcv.js.gz +0 -0
  501. package/payload/server/public/assets/data-yuHj8g0C.js +0 -1
  502. package/payload/server/public/assets/data-yuHj8g0C.js.br +0 -3
  503. package/payload/server/public/assets/data-yuHj8g0C.js.gz +0 -0
  504. package/payload/server/public/assets/diagram-5BDNPKRD-MEZ1cQGO.js.br +0 -0
  505. package/payload/server/public/assets/diagram-5BDNPKRD-MEZ1cQGO.js.gz +0 -0
  506. package/payload/server/public/assets/diagram-G4DWMVQ6-DbZg9hWP.js.br +0 -0
  507. package/payload/server/public/assets/diagram-G4DWMVQ6-DbZg9hWP.js.gz +0 -0
  508. package/payload/server/public/assets/diagram-MMDJMWI5-Bb1y8DFy.js.br +0 -0
  509. package/payload/server/public/assets/diagram-MMDJMWI5-Bb1y8DFy.js.gz +0 -0
  510. package/payload/server/public/assets/diagram-TYMM5635-tbStCw5U.js.br +0 -0
  511. package/payload/server/public/assets/diagram-TYMM5635-tbStCw5U.js.gz +0 -0
  512. package/payload/server/public/assets/erDiagram-SMLLAGMA-ClEFo_Bw.js.br +0 -0
  513. package/payload/server/public/assets/erDiagram-SMLLAGMA-ClEFo_Bw.js.gz +0 -0
  514. package/payload/server/public/assets/file-text-DDCrqbWB.js.br +0 -0
  515. package/payload/server/public/assets/file-text-DDCrqbWB.js.gz +0 -0
  516. package/payload/server/public/assets/flatten-Bu-b1uTY.js.br +0 -0
  517. package/payload/server/public/assets/flatten-Bu-b1uTY.js.gz +0 -0
  518. package/payload/server/public/assets/flowDiagram-DWJPFMVM-9yr262Ji.js.br +0 -0
  519. package/payload/server/public/assets/flowDiagram-DWJPFMVM-9yr262Ji.js.gz +0 -0
  520. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-ZCSA0DtG.js.br +0 -0
  521. package/payload/server/public/assets/gitGraph-7Q5UKJZL-B0OUwOUx.js +0 -1
  522. package/payload/server/public/assets/gitGraph-7Q5UKJZL-B0OUwOUx.js.br +0 -0
  523. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-0KvpzpaU.js.br +0 -0
  524. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-0KvpzpaU.js.gz +0 -0
  525. package/payload/server/public/assets/graph-BKPdL5ph.js.br +0 -0
  526. package/payload/server/public/assets/graph-BKPdL5ph.js.gz +0 -0
  527. package/payload/server/public/assets/graph-labels-B2PrHK6O.js.br +0 -0
  528. package/payload/server/public/assets/graph-labels-B2PrHK6O.js.gz +0 -0
  529. package/payload/server/public/assets/graphlib-B3SsCJOd.js.br +0 -0
  530. package/payload/server/public/assets/graphlib-B3SsCJOd.js.gz +0 -0
  531. package/payload/server/public/assets/info-OMHHGYJF-C_8TwPDe.js +0 -1
  532. package/payload/server/public/assets/info-OMHHGYJF-C_8TwPDe.js.br +0 -0
  533. package/payload/server/public/assets/infoDiagram-42DDH7IO-B607bZBJ.js +0 -2
  534. package/payload/server/public/assets/infoDiagram-42DDH7IO-B607bZBJ.js.br +0 -0
  535. package/payload/server/public/assets/infoDiagram-42DDH7IO-B607bZBJ.js.gz +0 -0
  536. package/payload/server/public/assets/isEmpty-CjH0UASp.js.br +0 -0
  537. package/payload/server/public/assets/isEmpty-CjH0UASp.js.gz +0 -0
  538. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-DsDoNemz.js.br +0 -0
  539. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-DsDoNemz.js.gz +0 -0
  540. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-xyayGhw3.js.br +0 -0
  541. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-xyayGhw3.js.gz +0 -0
  542. package/payload/server/public/assets/kanban-definition-6JOO6SKY-DuV3Go_1.js.br +0 -0
  543. package/payload/server/public/assets/kanban-definition-6JOO6SKY-DuV3Go_1.js.gz +0 -0
  544. package/payload/server/public/assets/line-Cpb8GRkf.js.br +0 -0
  545. package/payload/server/public/assets/line-Cpb8GRkf.js.gz +0 -0
  546. package/payload/server/public/assets/linear-l39GooQ5.js.br +0 -0
  547. package/payload/server/public/assets/linear-l39GooQ5.js.gz +0 -0
  548. package/payload/server/public/assets/mermaid-parser.core-9hkxt3j1.js.br +0 -0
  549. package/payload/server/public/assets/mermaid-parser.core-9hkxt3j1.js.gz +0 -0
  550. package/payload/server/public/assets/mermaid.core-iR6TQesD.js.br +0 -0
  551. package/payload/server/public/assets/mermaid.core-iR6TQesD.js.gz +0 -0
  552. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-LCKhTYzs.js.br +0 -0
  553. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-LCKhTYzs.js.gz +0 -0
  554. package/payload/server/public/assets/operator-BVULmN09.js.br +0 -0
  555. package/payload/server/public/assets/operator-BVULmN09.js.gz +0 -0
  556. package/payload/server/public/assets/ordinal-D6D6WcTC.js.br +0 -0
  557. package/payload/server/public/assets/ordinal-D6D6WcTC.js.gz +0 -0
  558. package/payload/server/public/assets/packet-4T2RLAQJ-CCQdbIqO.js +0 -1
  559. package/payload/server/public/assets/packet-4T2RLAQJ-CCQdbIqO.js.br +0 -0
  560. package/payload/server/public/assets/page-BbzdSxuU.js.br +0 -0
  561. package/payload/server/public/assets/page-BbzdSxuU.js.gz +0 -0
  562. package/payload/server/public/assets/page-baQ9FQIg.js.br +0 -0
  563. package/payload/server/public/assets/page-baQ9FQIg.js.gz +0 -0
  564. package/payload/server/public/assets/pdf-render-DanMu_cf.js.br +0 -0
  565. package/payload/server/public/assets/pie-ZZUOXDRM-Bdw3Iqs7.js +0 -1
  566. package/payload/server/public/assets/pie-ZZUOXDRM-Bdw3Iqs7.js.br +0 -0
  567. package/payload/server/public/assets/pieDiagram-DEJITSTG-Oo7wgo0C.js.br +0 -0
  568. package/payload/server/public/assets/pieDiagram-DEJITSTG-Oo7wgo0C.js.gz +0 -0
  569. package/payload/server/public/assets/play-3hlqzxLI.js +0 -1
  570. package/payload/server/public/assets/play-3hlqzxLI.js.br +0 -0
  571. package/payload/server/public/assets/play-3hlqzxLI.js.gz +0 -0
  572. package/payload/server/public/assets/public-B_SEBxWy.js.br +0 -0
  573. package/payload/server/public/assets/public-B_SEBxWy.js.gz +0 -0
  574. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-B2hs2ord.js.br +0 -0
  575. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-B2hs2ord.js.gz +0 -0
  576. package/payload/server/public/assets/radar-PYXPWWZC-D3FUdA3r.js +0 -1
  577. package/payload/server/public/assets/radar-PYXPWWZC-D3FUdA3r.js.br +0 -0
  578. package/payload/server/public/assets/reduce-BtXXK8Ma.js.br +0 -0
  579. package/payload/server/public/assets/reduce-BtXXK8Ma.js.gz +0 -0
  580. package/payload/server/public/assets/requirementDiagram-MS252O5E-B8UkCUzW.js.br +0 -0
  581. package/payload/server/public/assets/requirementDiagram-MS252O5E-B8UkCUzW.js.gz +0 -0
  582. package/payload/server/public/assets/rotate-ccw-DzXTXh3g.js.br +0 -0
  583. package/payload/server/public/assets/rotate-ccw-DzXTXh3g.js.gz +0 -0
  584. package/payload/server/public/assets/routines-BQzE0xzC.js +0 -2
  585. package/payload/server/public/assets/routines-BQzE0xzC.js.br +0 -0
  586. package/payload/server/public/assets/routines-BQzE0xzC.js.gz +0 -0
  587. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-Cojqqz7t.js.br +0 -0
  588. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-Cojqqz7t.js.gz +0 -0
  589. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-C7ODsPjE.js.br +0 -0
  590. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-C7ODsPjE.js.gz +0 -0
  591. package/payload/server/public/assets/skills-yCZhYVIs.js.br +0 -0
  592. package/payload/server/public/assets/skills-yCZhYVIs.js.gz +0 -0
  593. package/payload/server/public/assets/stateDiagram-FHFEXIEX-BC8a_P9c.js.br +0 -0
  594. package/payload/server/public/assets/stateDiagram-FHFEXIEX-BC8a_P9c.js.gz +0 -0
  595. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-C7KvMtT5.js +0 -1
  596. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-C7KvMtT5.js.br +0 -0
  597. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-C7KvMtT5.js.gz +0 -0
  598. package/payload/server/public/assets/tasks-DxNFLsHv.js.br +0 -0
  599. package/payload/server/public/assets/tasks-DxNFLsHv.js.gz +0 -0
  600. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-BMxUC3ri.js.br +0 -0
  601. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-BMxUC3ri.js.gz +0 -0
  602. package/payload/server/public/assets/treeView-SZITEDCU-DetKw0D0.js +0 -1
  603. package/payload/server/public/assets/treeView-SZITEDCU-DetKw0D0.js.br +0 -0
  604. package/payload/server/public/assets/treemap-W4RFUUIX-zQkIANxW.js +0 -1
  605. package/payload/server/public/assets/treemap-W4RFUUIX-zQkIANxW.js.br +0 -0
  606. package/payload/server/public/assets/triangle-alert-CYwHTcvU.js.br +0 -0
  607. package/payload/server/public/assets/triangle-alert-CYwHTcvU.js.gz +0 -0
  608. package/payload/server/public/assets/useCopyFeedback-BCRjKc-H.js.br +0 -0
  609. package/payload/server/public/assets/useCopyFeedback-BCRjKc-H.js.gz +0 -0
  610. package/payload/server/public/assets/useMediaQuery-Vxpamxqq.css.br +0 -0
  611. package/payload/server/public/assets/useMediaQuery-Vxpamxqq.css.gz +0 -0
  612. package/payload/server/public/assets/useVoiceRecorder-BaAtMu9T.js +0 -2
  613. package/payload/server/public/assets/useVoiceRecorder-BaAtMu9T.js.br +0 -0
  614. package/payload/server/public/assets/useVoiceRecorder-BaAtMu9T.js.gz +0 -0
  615. package/payload/server/public/assets/vennDiagram-DHZGUBPP-BsRGBF0K.js.br +0 -0
  616. package/payload/server/public/assets/wardley-RL74JXVD-DkQV3DvB.js +0 -1
  617. package/payload/server/public/assets/wardley-RL74JXVD-DkQV3DvB.js.br +0 -0
  618. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-oQh9A-Mq.js.br +0 -0
  619. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-oQh9A-Mq.js.gz +0 -0
  620. package/payload/server/public/assets/wrench-iI-vx-g2.js.br +0 -0
  621. package/payload/server/public/assets/wrench-iI-vx-g2.js.gz +0 -0
  622. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-0K87OmFI.js.br +0 -0
  623. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-0K87OmFI.js.gz +0 -0
  624. /package/payload/server/public/assets/{_baseFor-B12He5Rp.js → _baseFor-Be3EKK3K.js} +0 -0
  625. /package/payload/server/public/assets/{_baseFor-B12He5Rp.js.br → _baseFor-Be3EKK3K.js.br} +0 -0
  626. /package/payload/server/public/assets/{_baseFor-B12He5Rp.js.gz → _baseFor-Be3EKK3K.js.gz} +0 -0
  627. /package/payload/server/public/assets/{array-DO1uCttT.js → array-X0JlPOfd.js} +0 -0
  628. /package/payload/server/public/assets/{array-DO1uCttT.js.br → array-X0JlPOfd.js.br} +0 -0
  629. /package/payload/server/public/assets/{cytoscape.esm-DFn2foqy.js → cytoscape.esm-CI2IWMLB.js} +0 -0
  630. /package/payload/server/public/assets/{cytoscape.esm-DFn2foqy.js.br → cytoscape.esm-CI2IWMLB.js.br} +0 -0
  631. /package/payload/server/public/assets/{cytoscape.esm-DFn2foqy.js.gz → cytoscape.esm-CI2IWMLB.js.gz} +0 -0
  632. /package/payload/server/public/assets/{defaultLocale-ieI3yFoA.js → defaultLocale-B6RGN4id.js} +0 -0
  633. /package/payload/server/public/assets/{defaultLocale-ieI3yFoA.js.br → defaultLocale-B6RGN4id.js.br} +0 -0
  634. /package/payload/server/public/assets/{defaultLocale-ieI3yFoA.js.gz → defaultLocale-B6RGN4id.js.gz} +0 -0
  635. /package/payload/server/public/assets/{dist-DlU7AEeD.js → dist-QvbmK1IP.js} +0 -0
  636. /package/payload/server/public/assets/{dist-DlU7AEeD.js.br → dist-QvbmK1IP.js.br} +0 -0
  637. /package/payload/server/public/assets/{dist-DlU7AEeD.js.gz → dist-QvbmK1IP.js.gz} +0 -0
  638. /package/payload/server/public/assets/{file-download-DbNIjWiK.js → file-download-DiQesOd2.js} +0 -0
  639. /package/payload/server/public/assets/{file-download-DbNIjWiK.js.br → file-download-DiQesOd2.js.br} +0 -0
  640. /package/payload/server/public/assets/{file-download-DbNIjWiK.js.gz → file-download-DiQesOd2.js.gz} +0 -0
  641. /package/payload/server/public/assets/{init-BCRlEgNP.js → init-BmUWJJHz.js} +0 -0
  642. /package/payload/server/public/assets/{init-BCRlEgNP.js.br → init-BmUWJJHz.js.br} +0 -0
  643. /package/payload/server/public/assets/{init-BCRlEgNP.js.gz → init-BmUWJJHz.js.gz} +0 -0
  644. /package/payload/server/public/assets/{katex-gkTaZgi6.js → katex-BjZuzSQn.js} +0 -0
  645. /package/payload/server/public/assets/{katex-gkTaZgi6.js.br → katex-BjZuzSQn.js.br} +0 -0
  646. /package/payload/server/public/assets/{katex-gkTaZgi6.js.gz → katex-BjZuzSQn.js.gz} +0 -0
  647. /package/payload/server/public/assets/{path-DTmzQFjQ.js → path-CoPyR7c2.js} +0 -0
  648. /package/payload/server/public/assets/{path-DTmzQFjQ.js.br → path-CoPyR7c2.js.br} +0 -0
  649. /package/payload/server/public/assets/{path-DTmzQFjQ.js.gz → path-CoPyR7c2.js.gz} +0 -0
  650. /package/payload/server/public/assets/{preload-helper-BQrMkyGX.js → preload-helper-BJ2zoBc3.js} +0 -0
  651. /package/payload/server/public/assets/{preload-helper-BQrMkyGX.js.br → preload-helper-BJ2zoBc3.js.br} +0 -0
  652. /package/payload/server/public/assets/{preload-helper-BQrMkyGX.js.gz → preload-helper-BJ2zoBc3.js.gz} +0 -0
  653. /package/payload/server/public/assets/{rough.esm-BFJ-MgcB.js → rough.esm-jSt7UMyi.js} +0 -0
  654. /package/payload/server/public/assets/{rough.esm-BFJ-MgcB.js.br → rough.esm-jSt7UMyi.js.br} +0 -0
  655. /package/payload/server/public/assets/{rough.esm-BFJ-MgcB.js.gz → rough.esm-jSt7UMyi.js.gz} +0 -0
  656. /package/payload/server/public/assets/{src-9CNk4JU0.js → src-C2WwTWSY.js} +0 -0
  657. /package/payload/server/public/assets/{src-9CNk4JU0.js.br → src-C2WwTWSY.js.br} +0 -0
  658. /package/payload/server/public/assets/{src-9CNk4JU0.js.gz → src-C2WwTWSY.js.gz} +0 -0
  659. /package/payload/server/public/assets/{useMediaQuery-Baf4Huvv.js → useMediaQuery-DIm6yGOl.js} +0 -0
  660. /package/payload/server/public/assets/{useMediaQuery-Baf4Huvv.js.br → useMediaQuery-DIm6yGOl.js.br} +0 -0
  661. /package/payload/server/public/assets/{useMediaQuery-Baf4Huvv.js.gz → useMediaQuery-DIm6yGOl.js.gz} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubytech/create-maxy-code",
3
- "version": "0.1.553",
3
+ "version": "0.1.555",
4
4
  "description": "Install Maxy — AI for Productive People",
5
5
  "bin": {
6
6
  "create-maxy-code": "./dist/index.js"
@@ -114,5 +114,46 @@ export declare function listDispatchDestinations(input: {
114
114
  houseAccountId: string | null;
115
115
  accountId: string;
116
116
  }): DispatchDestination[];
117
+ /**
118
+ * Task 2393 — the five fields that decide whether an automation `:Event` can
119
+ * deliver anything, and which one is missing when it cannot.
120
+ *
121
+ * Both consumers of this rule already import this package: the scheduling
122
+ * plugin at `plugins/scheduling/mcp/src/lib/agent-dispatch.ts` and `platform/ui`
123
+ * at `server/routes/admin/routines.ts`. So the rule lives here once rather than
124
+ * in the plugin with a copy on the UI side — there is no second definition for
125
+ * a drift test to police.
126
+ *
127
+ * `actionArgs` is deliberately absent: neither function reads it, and requiring
128
+ * callers to project it would make the arming routes read a column for nothing.
129
+ */
130
+ export interface DispatchFields {
131
+ agentChannel: string | null;
132
+ agentDestination: string | null;
133
+ agentPrompt: string | null;
134
+ actionPlugin: string | null;
135
+ actionTool: string | null;
136
+ }
137
+ /**
138
+ * Can this row deliver? Channel AND destination AND prompt, or plugin AND tool.
139
+ * Exactly the condition under which `chooseDispatchMode` returns something
140
+ * other than `{kind:'none'}`, which is what makes a fire silent.
141
+ */
142
+ export declare function isDispatchable(fields: DispatchFields): boolean;
143
+ /**
144
+ * Task 2130 — which missing field makes this row undispatchable.
145
+ *
146
+ * A fixed `reason=no-destination` would be wrong roughly as often as it is
147
+ * right: an agent turn needs channel AND destination AND prompt, so the label
148
+ * sends an operator to bind a destination on a routine whose prompt is what is
149
+ * absent, and the next fire is just as silent. Agent dispatch is reported first
150
+ * because a partially-configured routine — any agent field set but not all
151
+ * three — is almost always reaching for that mode. A row with nothing set at
152
+ * all is an automation event carrying no dispatch of either kind.
153
+ *
154
+ * Moved here from `plugins/scheduling/mcp/src/scripts/agent-turn-dispatch.ts`
155
+ * (Task 2393), which re-exports it so its fire-site callers are unchanged.
156
+ */
157
+ export declare function dispatchGapReason(fields: DispatchFields): string;
117
158
  export {};
118
159
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA0BA,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GACf;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAC1C;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,eAAe,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnG;wCACwC;AACxC,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOnD;AAED,sCAAsC;AACtC,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB;;;gBAGY;IACZ,KAAK,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACvD;AAED,UAAU,cAAc;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,uDAAuD;IACvD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED;;uCAEuC;AACvC,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,cAAc,CAAC;AAC3F,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,cAAc,CAAC;AA6E3F;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,IAAI,CAOf;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMzF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,MAAM,GAClB,mBAAmB,CAkBrB;AAED;;uDAEuD;AACvD,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAEjF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,YAAY,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,aAAa,CAAC;IACrB;8CAC0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;iFAG6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,mBAAmB,EAAE,CA+CxB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA0BA,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GACf;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAC1C;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,eAAe,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnG;wCACwC;AACxC,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOnD;AAED,sCAAsC;AACtC,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB;;;gBAGY;IACZ,KAAK,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACvD;AAED,UAAU,cAAc;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,uDAAuD;IACvD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED;;uCAEuC;AACvC,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,cAAc,CAAC;AAC3F,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,cAAc,CAAC;AA6E3F;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,IAAI,CAOf;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMzF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,MAAM,GAClB,mBAAmB,CAkBrB;AAED;;uDAEuD;AACvD,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAEjF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,YAAY,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,aAAa,CAAC;IACrB;8CAC0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;iFAG6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,mBAAmB,EAAE,CA+CxB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAG9D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAYhE"}
@@ -7,6 +7,8 @@ exports.registeredAccountForDestination = registeredAccountForDestination;
7
7
  exports.boundSubAccountFor = boundSubAccountFor;
8
8
  exports.validateAgentDestination = validateAgentDestination;
9
9
  exports.listDispatchDestinations = listDispatchDestinations;
10
+ exports.isDispatchable = isDispatchable;
11
+ exports.dispatchGapReason = dispatchGapReason;
10
12
  /**
11
13
  * The dispatch-destination rule, shared by the scheduling plugin and the admin
12
14
  * UI so create-time, fire-time and dashboard-time cannot diverge on the rule or
@@ -259,4 +261,44 @@ function listDispatchDestinations(input) {
259
261
  const byDestination = (a, b) => a.destination.localeCompare(b.destination);
260
262
  return [...managers.sort(byDestination), ...admins.sort(byDestination), ...telegram];
261
263
  }
264
+ /**
265
+ * Can this row deliver? Channel AND destination AND prompt, or plugin AND tool.
266
+ * Exactly the condition under which `chooseDispatchMode` returns something
267
+ * other than `{kind:'none'}`, which is what makes a fire silent.
268
+ */
269
+ function isDispatchable(fields) {
270
+ if (fields.agentChannel && fields.agentDestination && fields.agentPrompt)
271
+ return true;
272
+ return Boolean(fields.actionPlugin && fields.actionTool);
273
+ }
274
+ /**
275
+ * Task 2130 — which missing field makes this row undispatchable.
276
+ *
277
+ * A fixed `reason=no-destination` would be wrong roughly as often as it is
278
+ * right: an agent turn needs channel AND destination AND prompt, so the label
279
+ * sends an operator to bind a destination on a routine whose prompt is what is
280
+ * absent, and the next fire is just as silent. Agent dispatch is reported first
281
+ * because a partially-configured routine — any agent field set but not all
282
+ * three — is almost always reaching for that mode. A row with nothing set at
283
+ * all is an automation event carrying no dispatch of either kind.
284
+ *
285
+ * Moved here from `plugins/scheduling/mcp/src/scripts/agent-turn-dispatch.ts`
286
+ * (Task 2393), which re-exports it so its fire-site callers are unchanged.
287
+ */
288
+ function dispatchGapReason(fields) {
289
+ if (fields.agentChannel || fields.agentDestination || fields.agentPrompt) {
290
+ const missing = [];
291
+ if (!fields.agentChannel)
292
+ missing.push("channel");
293
+ if (!fields.agentDestination)
294
+ missing.push("destination");
295
+ if (!fields.agentPrompt)
296
+ missing.push("prompt");
297
+ return `no-${missing.join("+")}`;
298
+ }
299
+ if (fields.actionPlugin || fields.actionTool) {
300
+ return fields.actionTool ? "no-action-plugin" : "no-action-tool";
301
+ }
302
+ return "no-dispatch-configured";
303
+ }
262
304
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Task 2393 — the dispatchability rule, in the one place both the scheduling
3
+ * plugin and the admin UI read it.
4
+ *
5
+ * `dispatchGapReason` moved here from
6
+ * `plugins/scheduling/mcp/src/scripts/agent-turn-dispatch.ts`, which now
7
+ * re-exports it. The token vocabulary is asserted here rather than in two
8
+ * places, because two copies is the drift this move removes.
9
+ */
10
+ import { describe, it, expect } from "vitest";
11
+ import { isDispatchable, dispatchGapReason, type DispatchFields } from "../index.js";
12
+
13
+ function fields(over: Partial<DispatchFields> = {}): DispatchFields {
14
+ return {
15
+ agentChannel: null,
16
+ agentDestination: null,
17
+ agentPrompt: null,
18
+ actionPlugin: null,
19
+ actionTool: null,
20
+ ...over,
21
+ };
22
+ }
23
+
24
+ describe("isDispatchable", () => {
25
+ it("is true for a complete agent dispatch", () => {
26
+ expect(
27
+ isDispatchable(
28
+ fields({
29
+ agentChannel: "whatsapp",
30
+ agentDestination: "+447700900123",
31
+ agentPrompt: "Send it.",
32
+ }),
33
+ ),
34
+ ).toBe(true);
35
+ });
36
+
37
+ it("is true for a complete tool action", () => {
38
+ expect(isDispatchable(fields({ actionPlugin: "scheduling", actionTool: "schedule-list" }))).toBe(
39
+ true,
40
+ );
41
+ });
42
+
43
+ it("is false when the agent dispatch is missing any one of its three fields", () => {
44
+ expect(
45
+ isDispatchable(fields({ agentDestination: "+447700900123", agentPrompt: "Send it." })),
46
+ ).toBe(false);
47
+ expect(isDispatchable(fields({ agentChannel: "whatsapp", agentPrompt: "Send it." }))).toBe(false);
48
+ expect(
49
+ isDispatchable(fields({ agentChannel: "whatsapp", agentDestination: "+447700900123" })),
50
+ ).toBe(false);
51
+ });
52
+
53
+ it("is false when the action names a plugin without a tool, or a tool without a plugin", () => {
54
+ expect(isDispatchable(fields({ actionPlugin: "scheduling" }))).toBe(false);
55
+ expect(isDispatchable(fields({ actionTool: "schedule-list" }))).toBe(false);
56
+ });
57
+
58
+ it("is false for a row carrying nothing", () => {
59
+ expect(isDispatchable(fields())).toBe(false);
60
+ });
61
+ });
62
+
63
+ describe("dispatchGapReason", () => {
64
+ it("names every missing agent field, in field order, joined by +", () => {
65
+ expect(dispatchGapReason(fields({ agentPrompt: "Send it." }))).toBe("no-channel+destination");
66
+ expect(dispatchGapReason(fields({ agentChannel: "whatsapp" }))).toBe("no-destination+prompt");
67
+ expect(
68
+ dispatchGapReason(fields({ agentChannel: "whatsapp", agentDestination: "+447700900123" })),
69
+ ).toBe("no-prompt");
70
+ });
71
+
72
+ it("reports the action gap when only action fields are present", () => {
73
+ expect(dispatchGapReason(fields({ actionPlugin: "scheduling" }))).toBe("no-action-tool");
74
+ expect(dispatchGapReason(fields({ actionTool: "schedule-list" }))).toBe("no-action-plugin");
75
+ });
76
+
77
+ it("reports no-dispatch-configured for a row carrying neither mode", () => {
78
+ expect(dispatchGapReason(fields())).toBe("no-dispatch-configured");
79
+ });
80
+
81
+ it("prefers the agent gap when both modes are partially set", () => {
82
+ // A partially-configured agent routine is almost always reaching for that
83
+ // mode; the fire-site behaviour this preserves is chooseDispatchMode's own
84
+ // agent-first ordering.
85
+ expect(dispatchGapReason(fields({ agentChannel: "whatsapp", actionPlugin: "scheduling" }))).toBe(
86
+ "no-destination+prompt",
87
+ );
88
+ });
89
+ });
@@ -316,3 +316,62 @@ export function listDispatchDestinations(input: {
316
316
  a.destination.localeCompare(b.destination);
317
317
  return [...managers.sort(byDestination), ...admins.sort(byDestination), ...telegram];
318
318
  }
319
+
320
+ /**
321
+ * Task 2393 — the five fields that decide whether an automation `:Event` can
322
+ * deliver anything, and which one is missing when it cannot.
323
+ *
324
+ * Both consumers of this rule already import this package: the scheduling
325
+ * plugin at `plugins/scheduling/mcp/src/lib/agent-dispatch.ts` and `platform/ui`
326
+ * at `server/routes/admin/routines.ts`. So the rule lives here once rather than
327
+ * in the plugin with a copy on the UI side — there is no second definition for
328
+ * a drift test to police.
329
+ *
330
+ * `actionArgs` is deliberately absent: neither function reads it, and requiring
331
+ * callers to project it would make the arming routes read a column for nothing.
332
+ */
333
+ export interface DispatchFields {
334
+ agentChannel: string | null;
335
+ agentDestination: string | null;
336
+ agentPrompt: string | null;
337
+ actionPlugin: string | null;
338
+ actionTool: string | null;
339
+ }
340
+
341
+ /**
342
+ * Can this row deliver? Channel AND destination AND prompt, or plugin AND tool.
343
+ * Exactly the condition under which `chooseDispatchMode` returns something
344
+ * other than `{kind:'none'}`, which is what makes a fire silent.
345
+ */
346
+ export function isDispatchable(fields: DispatchFields): boolean {
347
+ if (fields.agentChannel && fields.agentDestination && fields.agentPrompt) return true;
348
+ return Boolean(fields.actionPlugin && fields.actionTool);
349
+ }
350
+
351
+ /**
352
+ * Task 2130 — which missing field makes this row undispatchable.
353
+ *
354
+ * A fixed `reason=no-destination` would be wrong roughly as often as it is
355
+ * right: an agent turn needs channel AND destination AND prompt, so the label
356
+ * sends an operator to bind a destination on a routine whose prompt is what is
357
+ * absent, and the next fire is just as silent. Agent dispatch is reported first
358
+ * because a partially-configured routine — any agent field set but not all
359
+ * three — is almost always reaching for that mode. A row with nothing set at
360
+ * all is an automation event carrying no dispatch of either kind.
361
+ *
362
+ * Moved here from `plugins/scheduling/mcp/src/scripts/agent-turn-dispatch.ts`
363
+ * (Task 2393), which re-exports it so its fire-site callers are unchanged.
364
+ */
365
+ export function dispatchGapReason(fields: DispatchFields): string {
366
+ if (fields.agentChannel || fields.agentDestination || fields.agentPrompt) {
367
+ const missing: string[] = [];
368
+ if (!fields.agentChannel) missing.push("channel");
369
+ if (!fields.agentDestination) missing.push("destination");
370
+ if (!fields.agentPrompt) missing.push("prompt");
371
+ return `no-${missing.join("+")}`;
372
+ }
373
+ if (fields.actionPlugin || fields.actionTool) {
374
+ return fields.actionTool ? "no-action-plugin" : "no-action-tool";
375
+ }
376
+ return "no-dispatch-configured";
377
+ }
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: platform-architecture
3
3
  description: Use when grounding any documented-surface claim about what Maxy ships — plugins, skills, specialists, install/deploy flows, internals. This is the install catalogue, not evidence of what is enabled on the current account. For install state on this account, call `capabilities-here`; for documented surface, cite the `Source:` URL inline.
4
- content-hash: sha256:b20c0cc4943d42c84f0e324403b1da911481214c3834ff2c778daf1f5f6db086
4
+ content-hash: sha256:954efb55d2fa57e9dcf65b855682a265cc70e1b6739d32bce4a59fcd2b0297c6
5
5
  brand: maxy-code
6
6
  product-name: Maxy
7
7
  ---
@@ -212,6 +212,8 @@ There is no dashboard, no settings panel, no menus. Everything is done through c
212
212
 
213
213
  The chat input auto-grows as you type — it expands to fit your message and shrinks back when you delete text. You can also drag the resize handle above the input to set a custom height.
214
214
 
215
+ Long conversations open at the newest messages rather than loading the whole history first, so a chat that has been running for months appears as quickly as a fresh one. Scroll up and the earlier messages load in a page at a time, with a brief "Loading earlier messages…" line while each one arrives. Your place in the conversation is kept as they load, so the message you were reading stays where it is instead of jumping. Keep scrolling and you will reach the very first message. This applies to the admin chat, the visitor-facing public chats, and the WhatsApp conversation reader. Searching a conversation still only looks at the messages already loaded, so scroll back first if you are hunting for something old.
216
+
215
217
  The admin interface is a three-pane layout: a sidebar on the left with navigation (Sessions, People, Agents, Projects, Tasks, Artefacts) and your recent conversations; the chat in the middle; and an artefact pane on the right that opens when you select a document, click a project, or open Browser, Data, or Graph from the menu, holding the surface side-by-side with the conversation so the chat stays live while you work in it. At the very top of the sidebar — above the nav rows — a borderless row holds two controls: a "+ New session" button on the left that spawns a fresh Claude Code session, and a Mode trigger on the right showing the current permission mode (Ask, Accept edits, Plan, or Auto). The sidebar's vertical order is: new-session strip first, then the nav (Sessions, People, Agents, Projects, Tasks, Artefacts), then the sessions list, then the footer. Both controls render as plain text-plus-icon affordances with no surrounding rectangle. The "+ New session" button is a text-width hit target — its clickable area is exactly the icon plus label, not the whole row — and shows no hover fill; the only hover feedback is the pointer cursor. The Mode trigger is pushed flush to the right edge of the row. Clicking the Mode trigger opens a popover downward from the row whose header reads "Mode" and lists the four permission modes with the current selection check-marked. The sidebar's nav rows swap the list view in place: Sessions shows recent conversations, Projects shows your active work projects, and Artefacts lists every KnowledgeDocument plus this account's agent templates (your admin agent's IDENTITY, SOUL, and KNOWLEDGE files plus one entry per enabled specialist). Each recent session row carries a three-state indicator: three pulsing dots when the session is busy (currently processing a turn), a solid sage dot when it is idle (live PTY waiting for input), and a hollow ring when it is archived (PTY exited, JSONL on disk for audit). The list itself splits into three views via a segmented control above the rows: **Active** shows every live session, **Archived** shows every JSONL on disk whose PTY has exited, and **All** shows both. The view choice persists across reloads. An "Include subagents" toggle inside the Active view surfaces specialist spawns (database-operator, premium-plugin agents, anything spawned with a `--agent` flag) which are hidden by default so the list reflects what you started directly. Each row also carries a small uppercase badge — `admin` for operator-driven sessions, the specialist name (for example `db-op`) for background work — so the source of any row is unambiguous at a glance. The People, Agents, and Tasks rows are graph shortcuts: clicking each opens the artefact-pane Graph filtered to every Person, every public Agent, or every Task in your account respectively, with no side-list, because the graph itself is the result. Public agents become first-class graph entities the moment you create them, with edges to their IDENTITY/SOUL/KNOWLEDGE files, edges to every knowledge document they have access to, and edges from every conversation they have handled, so a single Agents click reveals the whole shape of who knows what and who has been talking to whom. Click an artefact row to open the document. KnowledgeDocuments and your admin agent's templates are editable: type in the document and changes save automatically; specialist agent templates are read-only because they ship with Maxy and your edits would be overwritten on the next install. PDF artefacts render inline so you can read them without leaving the pane. If your browser doesn't have a built-in PDF viewer, a Download button appears instead. Artefacts that have no readable file backing them (orphan rows, files removed from disk, unsupported content types) show a one-line banner explaining the skip instead of opening to a blank pane. Click a project row to open the Graph view focused on that project's neighbourhood; clicking a second project swaps the focus rather than stacking on top. The sidebar's right edge is drag-resizable on every shell-hosted admin page (Sessions root, Chat, Graph, Browser, and Data): drag the handle to widen or narrow the sidebar, and your chosen width is remembered across reloads and shared across all of them. AdminShell mounts the drag handle itself, so every route that wraps its content in `<AdminShell>` gets sidebar resize for free; the handle does not render in the mobile drawer. The chat and artefact divider is also drag-resizable: drag the line between the columns to make either side wider; double-click it to reset to half of the available width (viewport minus sidebar), clamped to the chat and artefact min-width floors. Your chosen width is remembered across reloads. The conversation column on the Chat page has its own width control: a small handle sits half way up the page just inside each side of the column, and dragging either one widens or narrows the reading measure. The column stays centred, so both handles do the same thing — dragging the left one out and the right one out by the same distance give the same width. It will not go below its default 760px and will not go wider than the chat panel itself; the messages, the input box and the jump-to-latest button all move together. Double-click either handle to go back to 760px. Your chosen width is remembered across reloads. The handles do not appear on a phone (below 640px), where the conversation already fills the width. On wider screens (>1280px) all three panes are visible. The sidebar narrows at 1280px, the artefact pane hides at 1080px (Browser, Data, and Graph then open as full-window pages instead), and the sidebar collapses to a 56px icon rail at 820px. On every viewport the chat header reads left to right as a triptych: a dedicated sidebar toggle (the panel-right icon, which swaps to panel-right-open when the sidebar is showing), the brand mark next to the title in the centre, and the menu burger on the right. This header toggle is the sole sidebar-toggle button; the sidebar itself no longer carries a duplicate. The burger opens the navigation flyout: Dashboard, Data, Graph, Browser, and Chat at the top — Dashboard routes back to `/`, so every satellite page keeps a one-click way home, and the Chat item carries the Claude mark rather than a generic icon — then Public (the agents list) between the two dividers, and below the second divider the version row, Disconnect Claude, and Log out. Tap the sidebar toggle to show or hide the sidebar: on phones (<720px) it slides the drawer in or out, on wider screens it collapses or expands the sidebar column. The brand mark in the centre is decorative; clicks go through the dedicated toggle so the affordance is unambiguous. The drawer animation only fires on tap (220ms slide in or out); resizing your window across the 720px boundary snaps the layout without animation, so you never see a half-open flash. At ≤640px the session metadata pane stacks each label above its value instead of the desktop two-column grid, and the row of action buttons (Open in new tab / Download JSONL / View JSONL / Rename / Pin / Archive / End or Purge) collapses behind a single Actions trigger that opens a popover upward from the foot of the pane. Breakpoint summary: >1280px = full sidebar + chat + artefact pane (drag-resizable divider); 1280px→1080px = sidebar narrows; 1080px→820px = artefact pane hides (Browser/Data/Graph open as full-window pages instead); 820px→720px = sidebar collapses to 56px icon rail; ≤720px = sidebar becomes off-canvas drawer (vertical stack of nav, recents list, foot, the same shape as the desktop sidebar, just on top of the chat instead of beside it).
216
218
 
217
219
  Page titles are brand-aware: the browser tab shows your product name (e.g. `Real Agent` instead of `Maxy`) on every shell — chat, graph, and data — so a non-default brand never leaks the default name in tab strips or browser history.
@@ -3484,15 +3486,23 @@ The Routines surface (`/routines`) is the admin view of the account's
3484
3486
  automation `:Event` nodes — the device's scheduled agent turns and tool
3485
3487
  dispatches, which the Calendar surface deliberately excludes (`calendar.ts`
3486
3488
  unions only appointment events, `actionPlugin IS NULL`). It renders one card per
3487
- routine (title, its one-line description where it has one, human-readable
3488
- schedule, next run, channel/destination or tool, status); a card opens a detail
3489
- modal modeled on the calendar `EventDetailModal`. A shipped routine is seeded with
3490
- a description and the operator can rewrite it from the modal; a routine nobody has
3491
- captioned renders with no line and no placeholder. Editing it stamps the row
3489
+ routine (title, human-readable schedule, its one-line description where it has
3490
+ one, next run, channel/destination or tool, status); a card opens a detail
3491
+ modal modeled on the calendar `EventDetailModal`.
3492
+
3493
+ Every card on the page is the same height, whatever its description says. The
3494
+ title takes its own row and truncates to one line with an ellipsis, with the
3495
+ full text on hover and in the modal; the schedule reads directly beneath it; the
3496
+ description is clamped to three lines; and the status line is pinned to the
3497
+ card's bottom edge, so a column of cards shares one baseline for "Next:".
3498
+
3499
+ A shipped routine is seeded with a name and a description, and the operator can
3500
+ rewrite either from the modal; a routine nobody has captioned renders with no
3501
+ description line and no placeholder. Editing either stamps the row
3492
3502
  operator-owned, so the next roster refresh leaves the operator's wording alone,
3493
3503
  and recomputes the row's search vector, which is built from the name and the
3494
- description. A description is never dispatched: `agentPrompt` is the only text a
3495
- fire sends.
3504
+ description together. A description is never dispatched: `agentPrompt` is the
3505
+ only text a fire sends.
3496
3506
  The read-only view shows two prose blocks, each under its own heading, in the
3497
3507
  order **Description** then **Instruction sent to the agent**. Both use the same
3498
3508
  header-above-prose shape, so neither reads as a different kind of thing from the
@@ -3511,7 +3521,10 @@ daily/weekly/monthly, day-of-week, day-of-month, time) that falls back to a
3511
3521
  raw-cron field for patterns it cannot represent. The binding control appears on
3512
3522
  an agent routine and on a routine with no dispatch at all; a tool-action
3513
3523
  routine's dispatch stays read-only, because an agent binding takes precedence at
3514
- fire time and would stop the tool running.
3524
+ fire time and would stop the tool running. The **Name** box is the first field
3525
+ in the edit form: it is bounded at 200 characters, Save is blocked while it is
3526
+ empty, and renaming stamps the row operator-owned so the next roster version
3527
+ bump cannot put the seeded name back.
3515
3528
 
3516
3529
  **The status dot.** The card and the modal each carry a dot ahead of
3517
3530
  the raw status word, so a grid of eight routines can be read without reading
@@ -3525,8 +3538,8 @@ render it through one `RoutineStatusDot`, which is what stops them drifting:
3525
3538
  | `cancelled`, `completed` | solid grey (`--text-tertiary`) | deliberately stopped or finished |
3526
3539
  | anything else, and `null` | grey ring, no fill | no reading taken |
3527
3540
 
3528
- **The run recap.** Each card carries a history icon that opens that routine's
3529
- run history; the detail modal's **Runs** button reaches the same view. A run
3541
+ **The run recap.** The detail modal's **Runs** button opens that routine's run
3542
+ history, and it is the only way in: the card face carries no control. A run
3530
3543
  shows what it sent — the message text itself, on the row and in full in the run
3531
3544
  dialog — and a run that finished having sent nothing says so, which is a
3532
3545
  different statement from a run whose outcome is not yet known. Both the routine
@@ -9,6 +9,18 @@ Invoked by the admin agent directly.
9
9
 
10
10
  This is the platform's release timeline, newest first. Each entry shows the date it shipped and the version it shipped in, so you can tell the operator how current their install is. To compare, read the installed version from `capabilities-here` and match it against the versions below. Keep answers high level and in plain English; this is a summary, not a full commit log.
11
11
 
12
+ ## 2026-08-03 (0.1.555)
13
+
14
+ - Long conversations now open at the most recent messages and load older ones as you scroll back, rather than loading the whole history at once.
15
+ - A routine that is switched on but has no way to deliver is now refused and marked on its card, instead of arming silently and never reaching you.
16
+ - A calendar entry with no date now shows rather than breaking the list it appears in, and a standing check counts them.
17
+
18
+ ## 2026-08-03 (0.1.554)
19
+
20
+ - You can now rename a routine from its detail view, and your name is kept when the built-in list is next refreshed.
21
+ - Routine cards are now equal height with the title on its own row and past runs reached from the detail view rather than the card face.
22
+ - The sidebar menu can now be collapsed to an icon rail, and your choice is remembered.
23
+
12
24
  ## 2026-08-03 (0.1.553)
13
25
 
14
26
  - Each routine now shows how it runs, what its precondition checks, and how often it fired in the last day, so a routine that skipped can be told apart from one that ran quietly.
@@ -99,15 +99,23 @@ The Routines surface (`/routines`) is the admin view of the account's
99
99
  automation `:Event` nodes — the device's scheduled agent turns and tool
100
100
  dispatches, which the Calendar surface deliberately excludes (`calendar.ts`
101
101
  unions only appointment events, `actionPlugin IS NULL`). It renders one card per
102
- routine (title, its one-line description where it has one, human-readable
103
- schedule, next run, channel/destination or tool, status); a card opens a detail
104
- modal modeled on the calendar `EventDetailModal`. A shipped routine is seeded with
105
- a description and the operator can rewrite it from the modal; a routine nobody has
106
- captioned renders with no line and no placeholder. Editing it stamps the row
102
+ routine (title, human-readable schedule, its one-line description where it has
103
+ one, next run, channel/destination or tool, status); a card opens a detail
104
+ modal modeled on the calendar `EventDetailModal`.
105
+
106
+ Every card on the page is the same height, whatever its description says. The
107
+ title takes its own row and truncates to one line with an ellipsis, with the
108
+ full text on hover and in the modal; the schedule reads directly beneath it; the
109
+ description is clamped to three lines; and the status line is pinned to the
110
+ card's bottom edge, so a column of cards shares one baseline for "Next:".
111
+
112
+ A shipped routine is seeded with a name and a description, and the operator can
113
+ rewrite either from the modal; a routine nobody has captioned renders with no
114
+ description line and no placeholder. Editing either stamps the row
107
115
  operator-owned, so the next roster refresh leaves the operator's wording alone,
108
116
  and recomputes the row's search vector, which is built from the name and the
109
- description. A description is never dispatched: `agentPrompt` is the only text a
110
- fire sends.
117
+ description together. A description is never dispatched: `agentPrompt` is the
118
+ only text a fire sends.
111
119
  The read-only view shows two prose blocks, each under its own heading, in the
112
120
  order **Description** then **Instruction sent to the agent**. Both use the same
113
121
  header-above-prose shape, so neither reads as a different kind of thing from the
@@ -126,7 +134,10 @@ daily/weekly/monthly, day-of-week, day-of-month, time) that falls back to a
126
134
  raw-cron field for patterns it cannot represent. The binding control appears on
127
135
  an agent routine and on a routine with no dispatch at all; a tool-action
128
136
  routine's dispatch stays read-only, because an agent binding takes precedence at
129
- fire time and would stop the tool running.
137
+ fire time and would stop the tool running. The **Name** box is the first field
138
+ in the edit form: it is bounded at 200 characters, Save is blocked while it is
139
+ empty, and renaming stamps the row operator-owned so the next roster version
140
+ bump cannot put the seeded name back.
130
141
 
131
142
  **The status dot.** The card and the modal each carry a dot ahead of
132
143
  the raw status word, so a grid of eight routines can be read without reading
@@ -140,8 +151,8 @@ render it through one `RoutineStatusDot`, which is what stops them drifting:
140
151
  | `cancelled`, `completed` | solid grey (`--text-tertiary`) | deliberately stopped or finished |
141
152
  | anything else, and `null` | grey ring, no fill | no reading taken |
142
153
 
143
- **The run recap.** Each card carries a history icon that opens that routine's
144
- run history; the detail modal's **Runs** button reaches the same view. A run
154
+ **The run recap.** The detail modal's **Runs** button opens that routine's run
155
+ history, and it is the only way in: the card face carries no control. A run
145
156
  shows what it sent — the message text itself, on the row and in full in the run
146
157
  dialog — and a run that finished having sent nothing says so, which is a
147
158
  different statement from a run whose outcome is not yet known. Both the routine
@@ -85,6 +85,8 @@ There is no dashboard, no settings panel, no menus. Everything is done through c
85
85
 
86
86
  The chat input auto-grows as you type — it expands to fit your message and shrinks back when you delete text. You can also drag the resize handle above the input to set a custom height.
87
87
 
88
+ Long conversations open at the newest messages rather than loading the whole history first, so a chat that has been running for months appears as quickly as a fresh one. Scroll up and the earlier messages load in a page at a time, with a brief "Loading earlier messages…" line while each one arrives. Your place in the conversation is kept as they load, so the message you were reading stays where it is instead of jumping. Keep scrolling and you will reach the very first message. This applies to the admin chat, the visitor-facing public chats, and the WhatsApp conversation reader. Searching a conversation still only looks at the messages already loaded, so scroll back first if you are hunting for something old.
89
+
88
90
  The admin interface is a three-pane layout: a sidebar on the left with navigation (Sessions, People, Agents, Projects, Tasks, Artefacts) and your recent conversations; the chat in the middle; and an artefact pane on the right that opens when you select a document, click a project, or open Browser, Data, or Graph from the menu, holding the surface side-by-side with the conversation so the chat stays live while you work in it. At the very top of the sidebar — above the nav rows — a borderless row holds two controls: a "+ New session" button on the left that spawns a fresh Claude Code session, and a Mode trigger on the right showing the current permission mode (Ask, Accept edits, Plan, or Auto). The sidebar's vertical order is: new-session strip first, then the nav (Sessions, People, Agents, Projects, Tasks, Artefacts), then the sessions list, then the footer. Both controls render as plain text-plus-icon affordances with no surrounding rectangle. The "+ New session" button is a text-width hit target — its clickable area is exactly the icon plus label, not the whole row — and shows no hover fill; the only hover feedback is the pointer cursor. The Mode trigger is pushed flush to the right edge of the row. Clicking the Mode trigger opens a popover downward from the row whose header reads "Mode" and lists the four permission modes with the current selection check-marked. The sidebar's nav rows swap the list view in place: Sessions shows recent conversations, Projects shows your active work projects, and Artefacts lists every KnowledgeDocument plus this account's agent templates (your admin agent's IDENTITY, SOUL, and KNOWLEDGE files plus one entry per enabled specialist). Each recent session row carries a three-state indicator: three pulsing dots when the session is busy (currently processing a turn), a solid sage dot when it is idle (live PTY waiting for input), and a hollow ring when it is archived (PTY exited, JSONL on disk for audit). The list itself splits into three views via a segmented control above the rows: **Active** shows every live session, **Archived** shows every JSONL on disk whose PTY has exited, and **All** shows both. The view choice persists across reloads. An "Include subagents" toggle inside the Active view surfaces specialist spawns (database-operator, premium-plugin agents, anything spawned with a `--agent` flag) which are hidden by default so the list reflects what you started directly. Each row also carries a small uppercase badge — `admin` for operator-driven sessions, the specialist name (for example `db-op`) for background work — so the source of any row is unambiguous at a glance. The People, Agents, and Tasks rows are graph shortcuts: clicking each opens the artefact-pane Graph filtered to every Person, every public Agent, or every Task in your account respectively, with no side-list, because the graph itself is the result. Public agents become first-class graph entities the moment you create them, with edges to their IDENTITY/SOUL/KNOWLEDGE files, edges to every knowledge document they have access to, and edges from every conversation they have handled, so a single Agents click reveals the whole shape of who knows what and who has been talking to whom. Click an artefact row to open the document. KnowledgeDocuments and your admin agent's templates are editable: type in the document and changes save automatically; specialist agent templates are read-only because they ship with Maxy and your edits would be overwritten on the next install. PDF artefacts render inline so you can read them without leaving the pane. If your browser doesn't have a built-in PDF viewer, a Download button appears instead. Artefacts that have no readable file backing them (orphan rows, files removed from disk, unsupported content types) show a one-line banner explaining the skip instead of opening to a blank pane. Click a project row to open the Graph view focused on that project's neighbourhood; clicking a second project swaps the focus rather than stacking on top. The sidebar's right edge is drag-resizable on every shell-hosted admin page (Sessions root, Chat, Graph, Browser, and Data): drag the handle to widen or narrow the sidebar, and your chosen width is remembered across reloads and shared across all of them. AdminShell mounts the drag handle itself, so every route that wraps its content in `<AdminShell>` gets sidebar resize for free; the handle does not render in the mobile drawer. The chat and artefact divider is also drag-resizable: drag the line between the columns to make either side wider; double-click it to reset to half of the available width (viewport minus sidebar), clamped to the chat and artefact min-width floors. Your chosen width is remembered across reloads. The conversation column on the Chat page has its own width control: a small handle sits half way up the page just inside each side of the column, and dragging either one widens or narrows the reading measure. The column stays centred, so both handles do the same thing — dragging the left one out and the right one out by the same distance give the same width. It will not go below its default 760px and will not go wider than the chat panel itself; the messages, the input box and the jump-to-latest button all move together. Double-click either handle to go back to 760px. Your chosen width is remembered across reloads. The handles do not appear on a phone (below 640px), where the conversation already fills the width. On wider screens (>1280px) all three panes are visible. The sidebar narrows at 1280px, the artefact pane hides at 1080px (Browser, Data, and Graph then open as full-window pages instead), and the sidebar collapses to a 56px icon rail at 820px. On every viewport the chat header reads left to right as a triptych: a dedicated sidebar toggle (the panel-right icon, which swaps to panel-right-open when the sidebar is showing), the brand mark next to the title in the centre, and the menu burger on the right. This header toggle is the sole sidebar-toggle button; the sidebar itself no longer carries a duplicate. The burger opens the navigation flyout: Dashboard, Data, Graph, Browser, and Chat at the top — Dashboard routes back to `/`, so every satellite page keeps a one-click way home, and the Chat item carries the Claude mark rather than a generic icon — then Public (the agents list) between the two dividers, and below the second divider the version row, Disconnect Claude, and Log out. Tap the sidebar toggle to show or hide the sidebar: on phones (<720px) it slides the drawer in or out, on wider screens it collapses or expands the sidebar column. The brand mark in the centre is decorative; clicks go through the dedicated toggle so the affordance is unambiguous. The drawer animation only fires on tap (220ms slide in or out); resizing your window across the 720px boundary snaps the layout without animation, so you never see a half-open flash. At ≤640px the session metadata pane stacks each label above its value instead of the desktop two-column grid, and the row of action buttons (Open in new tab / Download JSONL / View JSONL / Rename / Pin / Archive / End or Purge) collapses behind a single Actions trigger that opens a popover upward from the foot of the pane. Breakpoint summary: >1280px = full sidebar + chat + artefact pane (drag-resizable divider); 1280px→1080px = sidebar narrows; 1080px→820px = artefact pane hides (Browser/Data/Graph open as full-window pages instead); 820px→720px = sidebar collapses to 56px icon rail; ≤720px = sidebar becomes off-canvas drawer (vertical stack of nav, recents list, foot, the same shape as the desktop sidebar, just on top of the chat instead of beside it).
89
91
 
90
92
  Page titles are brand-aware: the browser tab shows your product name (e.g. `Real Agent` instead of `Maxy`) on every shell — chat, graph, and data — so a non-default brand never leaks the default name in tab strips or browser history.
@@ -17,6 +17,7 @@ import { resolveAndSyncConnectorBusy, syncConnectorBusy, } from "./tools/schedul
17
17
  import { resolveConnector, spawnProviderCall } from "./lib/connector-freebusy.js";
18
18
  import { closeDriver, getUserTimezone, getSession } from "./lib/neo4j.js";
19
19
  import { formatCombined } from "./lib/time-format.js";
20
+ import { eventListLine, eventDetailText } from "./lib/schedule-render.js";
20
21
  import { join, resolve } from "node:path";
21
22
  // Cast to `any` to avoid TS2589. TypeScript hits its 50-level instantiation
22
23
  // limit when accumulating typed tool signatures on a generic McpServer.
@@ -243,16 +244,9 @@ eagerTool(server, "schedule-list", "List the calendar: scheduled events (reminde
243
244
  if (events.length === 0) {
244
245
  return { content: [{ type: "text", text: "No events match the filters." }] };
245
246
  }
246
- const lines = events.map((e) => {
247
- const loc = e.location ? ` @ ${e.location}` : "";
248
- if (e.kind === "meeting") {
249
- const ends = e.endDate ? ` → ${formatCombined(e.endDate, timezone)}` : "";
250
- return `MEETING — ${e.name} (${formatCombined(e.startDate, timezone)})${ends}${loc} (${e.eventId})`;
251
- }
252
- const recur = e.recurrence ? ` [recurring: ${e.recurrence}]` : "";
253
- const next = e.nextRun ? ` next: ${formatCombined(e.nextRun, timezone)}` : "";
254
- return `${(e.eventStatus ?? "scheduled").toUpperCase()} — ${e.name} (${formatCombined(e.startDate, timezone)})${loc}${recur}${next} (${e.eventId})`;
255
- });
247
+ // Task 2393 — the row builder lives in lib/schedule-render.ts so it can be
248
+ // tested; this module connects a transport at import time and cannot be.
249
+ const lines = events.map((e) => eventListLine(e, timezone));
256
250
  return { content: [{ type: "text", text: `${events.length} entr(ies):\n\n${lines.join("\n")}` }] };
257
251
  }
258
252
  catch (err) {
@@ -277,40 +271,9 @@ eagerTool(server, "schedule-get", "Fetch a single event or meeting with its full
277
271
  if (!event) {
278
272
  return { content: [{ type: "text", text: `Not found: ${eventId}` }] };
279
273
  }
280
- const relLines = event.relationships.length > 0
281
- ? event.relationships
282
- .map((r) => ` -[${r.type}]-> ${r.targetLabel}: ${r.targetName ?? r.targetId}`)
283
- .join("\n")
284
- : " (none)";
285
- const parts = [
286
- `${event.kind === "meeting" ? "Meeting" : "Event"}: ${event.name}`,
287
- `ID: ${event.eventId}`,
288
- event.eventStatus ? `Status: ${event.eventStatus}` : null,
289
- event.description ? `Description: ${event.description}` : null,
290
- `Starts: ${formatCombined(event.startDate, timezone)}`,
291
- event.endDate ? `Ends: ${formatCombined(event.endDate, timezone)}` : null,
292
- event.location ? `Location: ${event.location}` : null,
293
- event.recurrence ? `Recurrence: ${event.recurrence}` : null,
294
- event.timezone ? `Timezone: ${event.timezone}` : null,
295
- event.nextRun ? `Next run: ${formatCombined(event.nextRun, timezone)}` : null,
296
- event.lastTriggered ? `Last triggered: ${formatCombined(event.lastTriggered, timezone)}` : null,
297
- event.skipNext ? `Skip next: yes` : null,
298
- // Task 2136 — the last fire's real outcome, from the run record rather
299
- // than the notes prose. `runCount` is present on every event (0
300
- // included) so "never fired" is stated rather than inferred from a gap.
301
- event.runCount !== undefined ? `Runs recorded: ${event.runCount}` : null,
302
- event.lastRun
303
- ? `Last run: ${formatCombined(event.lastRun.startedAt, timezone)} — ${event.lastRun.status}` +
304
- (event.lastRun.ranMs !== null ? ` (${event.lastRun.ranMs}ms)` : "") +
305
- (event.lastRun.error ? ` — ${event.lastRun.error}` : "")
306
- : null,
307
- event.notes ? `\nNotes:\n${event.notes}` : null,
308
- ``,
309
- `Relationships:\n${relLines}`,
310
- ``,
311
- `Created: ${formatCombined(event.createdAt, timezone)} | Updated: ${formatCombined(event.updatedAt, timezone)}`,
312
- ].filter((line) => line !== null);
313
- return { content: [{ type: "text", text: parts.join("\n") }] };
274
+ // Task 2393 see schedule-list above: the detail builder lives in
275
+ // lib/schedule-render.ts so the NULL-startDate guard can be tested.
276
+ return { content: [{ type: "text", text: eventDetailText(event, timezone) }] };
314
277
  }
315
278
  catch (err) {
316
279
  return {
@@ -515,6 +478,10 @@ eagerTool(server, "schedule-export-ics", "Export one or more scheduled events as
515
478
  parts.push(`${result.rruleFallback} recurring event(s) expanded to individual occurrences`);
516
479
  if (result.notFound.length > 0)
517
480
  parts.push(`Not found: ${result.notFound.join(", ")}`);
481
+ // Task 2393 — named separately from Not found: these events exist, they
482
+ // just carry no start date, which iCalendar requires.
483
+ if (result.noStartDate.length > 0)
484
+ parts.push(`No start date, not exportable: ${result.noStartDate.join(", ")}`);
518
485
  parts.push(`\nThe .ics is at ${result.outputPath}. Tell the operator that exact path and that it is in their Artefacts panel (downloadable), reachable on their file share if set up.`);
519
486
  return { content: [{ type: "text", text: parts.join("\n") }] };
520
487
  }