@rubytech/create-sitedesk-code 0.1.523 → 0.1.525

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 (804) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/lib/agent-dispatch-rule/dist/index.d.ts +99 -0
  3. package/payload/platform/lib/agent-dispatch-rule/dist/index.d.ts.map +1 -0
  4. package/payload/platform/lib/agent-dispatch-rule/dist/index.js +228 -0
  5. package/payload/platform/lib/agent-dispatch-rule/dist/index.js.map +1 -0
  6. package/payload/platform/lib/agent-dispatch-rule/package.json +6 -0
  7. package/payload/platform/lib/agent-dispatch-rule/src/__tests__/rule.test.ts +384 -0
  8. package/payload/platform/lib/agent-dispatch-rule/src/index.ts +269 -0
  9. package/payload/platform/lib/agent-dispatch-rule/tsconfig.json +9 -0
  10. package/payload/platform/lib/agent-dispatch-rule/vitest.config.ts +9 -0
  11. package/payload/platform/lib/routine-templates/dist/roster.js +1 -1
  12. package/payload/platform/lib/routine-templates/src/roster.ts +1 -1
  13. package/payload/platform/package.json +2 -2
  14. package/payload/platform/plugins/admin/PLUGIN.md +1 -0
  15. package/payload/platform/plugins/admin/hooks/__tests__/mailbox-inject.test.sh +501 -0
  16. package/payload/platform/plugins/admin/hooks/mailbox-inject.sh +299 -0
  17. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +54 -21
  18. package/payload/platform/plugins/admin/skills/superpowers-sprint/SKILL.md +26 -0
  19. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +12 -0
  20. package/payload/platform/plugins/docs/references/admin-ui.md +49 -18
  21. package/payload/platform/plugins/docs/references/workflows.md +4 -2
  22. package/payload/platform/plugins/email/mcp/dist/__tests__/email-status.test.js +72 -1
  23. package/payload/platform/plugins/email/mcp/dist/__tests__/email-status.test.js.map +1 -1
  24. package/payload/platform/plugins/email/mcp/dist/__tests__/mailbox-resolve.test.js +4 -1
  25. package/payload/platform/plugins/email/mcp/dist/__tests__/mailbox-resolve.test.js.map +1 -1
  26. package/payload/platform/plugins/email/mcp/dist/lib/credentials.d.ts.map +1 -1
  27. package/payload/platform/plugins/email/mcp/dist/lib/credentials.js +4 -2
  28. package/payload/platform/plugins/email/mcp/dist/lib/credentials.js.map +1 -1
  29. package/payload/platform/plugins/email/mcp/dist/tools/email-status.d.ts +0 -6
  30. package/payload/platform/plugins/email/mcp/dist/tools/email-status.d.ts.map +1 -1
  31. package/payload/platform/plugins/email/mcp/dist/tools/email-status.js +24 -2
  32. package/payload/platform/plugins/email/mcp/dist/tools/email-status.js.map +1 -1
  33. package/payload/platform/plugins/email/references/email-reference.md +1 -1
  34. package/payload/platform/plugins/memory/PLUGIN.md +10 -0
  35. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-revision.test.js +5 -1
  36. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/compiled-truth-revision.test.js.map +1 -1
  37. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/temporal-type-preserve.test.d.ts +2 -0
  38. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/temporal-type-preserve.test.d.ts.map +1 -0
  39. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/temporal-type-preserve.test.js +141 -0
  40. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/temporal-type-preserve.test.js.map +1 -0
  41. package/payload/platform/plugins/memory/mcp/dist/lib/log-ingest.d.ts +1 -1
  42. package/payload/platform/plugins/memory/mcp/dist/lib/log-ingest.d.ts.map +1 -1
  43. package/payload/platform/plugins/memory/mcp/dist/lib/log-ingest.js +6 -0
  44. package/payload/platform/plugins/memory/mcp/dist/lib/log-ingest.js.map +1 -1
  45. package/payload/platform/plugins/memory/mcp/dist/lib/temporal-type-preserve.d.ts +45 -0
  46. package/payload/platform/plugins/memory/mcp/dist/lib/temporal-type-preserve.d.ts.map +1 -0
  47. package/payload/platform/plugins/memory/mcp/dist/lib/temporal-type-preserve.js +122 -0
  48. package/payload/platform/plugins/memory/mcp/dist/lib/temporal-type-preserve.js.map +1 -0
  49. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-by-name.test.js +26 -0
  50. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-by-name.test.js.map +1 -1
  51. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-type-preserve.test.d.ts +2 -0
  52. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-type-preserve.test.d.ts.map +1 -0
  53. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-type-preserve.test.js +201 -0
  54. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-update-type-preserve.test.js.map +1 -0
  55. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.d.ts.map +1 -1
  56. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js +89 -33
  57. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js.map +1 -1
  58. package/payload/platform/plugins/memory/mcp/vitest.config.ts +2 -0
  59. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-search-delegated-ids.test.d.ts +2 -0
  60. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-search-delegated-ids.test.d.ts.map +1 -0
  61. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-search-delegated-ids.test.js +322 -0
  62. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-search-delegated-ids.test.js.map +1 -0
  63. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-registry.test.js +21 -1
  64. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mailbox-registry.test.js.map +1 -1
  65. package/payload/platform/plugins/outlook/mcp/dist/auth/mailbox-registry.d.ts +13 -0
  66. package/payload/platform/plugins/outlook/mcp/dist/auth/mailbox-registry.d.ts.map +1 -1
  67. package/payload/platform/plugins/outlook/mcp/dist/auth/mailbox-registry.js +16 -0
  68. package/payload/platform/plugins/outlook/mcp/dist/auth/mailbox-registry.js.map +1 -1
  69. package/payload/platform/plugins/outlook/mcp/dist/index.js +5 -5
  70. package/payload/platform/plugins/outlook/mcp/dist/index.js.map +1 -1
  71. package/payload/platform/plugins/outlook/mcp/dist/lib/graph-client.d.ts.map +1 -1
  72. package/payload/platform/plugins/outlook/mcp/dist/lib/graph-client.js +6 -0
  73. package/payload/platform/plugins/outlook/mcp/dist/lib/graph-client.js.map +1 -1
  74. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-search.d.ts +7 -0
  75. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-search.d.ts.map +1 -1
  76. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-search.js +122 -8
  77. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-search.js.map +1 -1
  78. package/payload/platform/plugins/scheduling/PLUGIN.md +26 -1
  79. package/payload/platform/plugins/scheduling/mcp/dist/index.js +6 -4
  80. package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
  81. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/agent-dispatch.test.js +8 -36
  82. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/agent-dispatch.test.js.map +1 -1
  83. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/meeting-retype.test.d.ts +2 -0
  84. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/meeting-retype.test.d.ts.map +1 -0
  85. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/meeting-retype.test.js +148 -0
  86. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/meeting-retype.test.js.map +1 -0
  87. package/payload/platform/plugins/scheduling/mcp/dist/lib/agent-dispatch.d.ts +10 -65
  88. package/payload/platform/plugins/scheduling/mcp/dist/lib/agent-dispatch.d.ts.map +1 -1
  89. package/payload/platform/plugins/scheduling/mcp/dist/lib/agent-dispatch.js +29 -122
  90. package/payload/platform/plugins/scheduling/mcp/dist/lib/agent-dispatch.js.map +1 -1
  91. package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.d.ts +83 -6
  92. package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.d.ts.map +1 -1
  93. package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.js +90 -5
  94. package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.js.map +1 -1
  95. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/routine-roster-audit.test.js +111 -2
  96. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/routine-roster-audit.test.js.map +1 -1
  97. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts +38 -0
  98. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts.map +1 -1
  99. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js +116 -0
  100. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js.map +1 -1
  101. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +13 -1
  102. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
  103. package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js +81 -8
  104. package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js.map +1 -1
  105. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-event-agent.test.js +39 -0
  106. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-event-agent.test.js.map +1 -1
  107. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-update-status.test.d.ts +2 -0
  108. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-update-status.test.d.ts.map +1 -0
  109. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-update-status.test.js +305 -0
  110. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-update-status.test.js.map +1 -0
  111. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.d.ts.map +1 -1
  112. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js +9 -1
  113. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js.map +1 -1
  114. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.d.ts +46 -1
  115. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.d.ts.map +1 -1
  116. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js +172 -4
  117. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-update.js.map +1 -1
  118. package/payload/platform/plugins/scheduling/skills/routine-control/SKILL.md +48 -0
  119. package/payload/platform/plugins/sweep/skills/email-graph-sweep/SKILL.md +21 -7
  120. package/payload/platform/scripts/__tests__/check-canonical-tool-names.test.sh +162 -0
  121. package/payload/platform/scripts/__tests__/check-no-task-id-leaks.test.sh +53 -0
  122. package/payload/platform/scripts/__tests__/mailbox-inject-registered.test.sh +80 -0
  123. package/payload/platform/scripts/__tests__/task-id-citation.test.sh +72 -0
  124. package/payload/platform/scripts/check-canonical-tool-names.mjs +36 -4
  125. package/payload/platform/scripts/check-no-task-id-leaks.mjs +80 -62
  126. package/payload/platform/scripts/lib/__tests__/account-settings-mailbox-inject.test.sh +166 -0
  127. package/payload/platform/scripts/lib/account-settings-mailbox-inject.sh +91 -0
  128. package/payload/platform/scripts/lib/canonical-tool-names.mjs +130 -26
  129. package/payload/platform/scripts/lib/provision-account-dir.sh +1 -0
  130. package/payload/platform/scripts/lib/task-id-citation.mjs +67 -0
  131. package/payload/platform/scripts/setup-account.sh +15 -0
  132. package/payload/server/public/activity.html +5 -5
  133. package/payload/server/public/agents.html +4 -4
  134. package/payload/server/public/assets/{AdminLoginScreens-uknqh2Pm.js → AdminLoginScreens-BgDjueVe.js} +1 -1
  135. package/payload/server/public/assets/AdminLoginScreens-BgDjueVe.js.br +0 -0
  136. package/payload/server/public/assets/AdminLoginScreens-BgDjueVe.js.gz +0 -0
  137. package/payload/server/public/assets/{AdminShell-GqtMImyQ.js → AdminShell-YctTrR-D.js} +1 -1
  138. package/payload/server/public/assets/AdminShell-YctTrR-D.js.br +0 -0
  139. package/payload/server/public/assets/AdminShell-YctTrR-D.js.gz +0 -0
  140. package/payload/server/public/assets/{activity-B4KfMJqO.js → activity-DGQt5ys_.js} +1 -1
  141. package/payload/server/public/assets/activity-DGQt5ys_.js.br +0 -0
  142. package/payload/server/public/assets/activity-DGQt5ys_.js.gz +0 -0
  143. package/payload/server/public/assets/admin-DnUxbB3P.js +1 -0
  144. package/payload/server/public/assets/admin-DnUxbB3P.js.br +0 -0
  145. package/payload/server/public/assets/admin-DnUxbB3P.js.gz +0 -0
  146. package/payload/server/public/assets/agents-Bc2LZjwC.js +1 -0
  147. package/payload/server/public/assets/agents-Bc2LZjwC.js.br +0 -0
  148. package/payload/server/public/assets/agents-Bc2LZjwC.js.gz +0 -0
  149. package/payload/server/public/assets/{arc-DaI5MLTq.js → arc-DaudCnXg.js} +1 -1
  150. package/payload/server/public/assets/arc-DaudCnXg.js.br +0 -0
  151. package/payload/server/public/assets/arc-DaudCnXg.js.gz +0 -0
  152. package/payload/server/public/assets/architecture-YZFGNWBL-DPFsm5jD.js +1 -0
  153. package/payload/server/public/assets/architecture-YZFGNWBL-DPFsm5jD.js.br +0 -0
  154. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-CBGVUEN9.js → architectureDiagram-Q4EWVU46-BEEC3s7i.js} +1 -1
  155. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-BEEC3s7i.js.br +0 -0
  156. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-BEEC3s7i.js.gz +0 -0
  157. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-DS6dS4GZ.js → blockDiagram-DXYQGD6D-BIWyfb18.js} +1 -1
  158. package/payload/server/public/assets/blockDiagram-DXYQGD6D-BIWyfb18.js.br +0 -0
  159. package/payload/server/public/assets/blockDiagram-DXYQGD6D-BIWyfb18.js.gz +0 -0
  160. package/payload/server/public/assets/{browser-B3hSzI3O.js → browser-BtF7SzvG.js} +1 -1
  161. package/payload/server/public/assets/browser-BtF7SzvG.js.br +0 -0
  162. package/payload/server/public/assets/browser-BtF7SzvG.js.gz +0 -0
  163. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-hBSBUZPt.js → c4Diagram-AHTNJAMY--h6oE2cv.js} +1 -1
  164. package/payload/server/public/assets/c4Diagram-AHTNJAMY--h6oE2cv.js.br +0 -0
  165. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-hBSBUZPt.js.gz → c4Diagram-AHTNJAMY--h6oE2cv.js.gz} +0 -0
  166. package/payload/server/public/assets/{calendar-BggxXxhS.js → calendar-D25EhXbD.js} +1 -1
  167. package/payload/server/public/assets/calendar-D25EhXbD.js.br +0 -0
  168. package/payload/server/public/assets/calendar-D25EhXbD.js.gz +0 -0
  169. package/payload/server/public/assets/channel-TwxCDSpK.js +1 -0
  170. package/payload/server/public/assets/channel-TwxCDSpK.js.br +0 -0
  171. package/payload/server/public/assets/chat-z4jsHFXg.js +1 -0
  172. package/payload/server/public/assets/chat-z4jsHFXg.js.br +0 -0
  173. package/payload/server/public/assets/chat-z4jsHFXg.js.gz +0 -0
  174. package/payload/server/public/assets/chevron-left-BD09SN6R.js +1 -0
  175. package/payload/server/public/assets/chevron-right-ChmWeo7T.js +1 -0
  176. package/payload/server/public/assets/chevron-right-ChmWeo7T.js.br +0 -0
  177. package/payload/server/public/assets/{chunk-2KRD3SAO-B6koUoB7.js → chunk-2KRD3SAO-BwEVlnxo.js} +1 -1
  178. package/payload/server/public/assets/chunk-2KRD3SAO-BwEVlnxo.js.br +0 -0
  179. package/payload/server/public/assets/chunk-2KRD3SAO-BwEVlnxo.js.gz +0 -0
  180. package/payload/server/public/assets/{chunk-336JU56O-BF6BRh8u.js → chunk-336JU56O-DQddTATH.js} +2 -2
  181. package/payload/server/public/assets/chunk-336JU56O-DQddTATH.js.br +0 -0
  182. package/payload/server/public/assets/chunk-336JU56O-DQddTATH.js.gz +0 -0
  183. package/payload/server/public/assets/chunk-426QAEUC-BDC8wptW.js +1 -0
  184. package/payload/server/public/assets/chunk-426QAEUC-BDC8wptW.js.br +0 -0
  185. package/payload/server/public/assets/chunk-426QAEUC-BDC8wptW.js.gz +0 -0
  186. package/payload/server/public/assets/{chunk-4BX2VUAB-7sO95xR2.js → chunk-4BX2VUAB-C5p3xTC6.js} +1 -1
  187. package/payload/server/public/assets/chunk-4BX2VUAB-C5p3xTC6.js.br +0 -0
  188. package/payload/server/public/assets/chunk-4BX2VUAB-C5p3xTC6.js.gz +0 -0
  189. package/payload/server/public/assets/{chunk-4TB4RGXK-GCTndJYx.js → chunk-4TB4RGXK-gClfNc1w.js} +1 -1
  190. package/payload/server/public/assets/chunk-4TB4RGXK-gClfNc1w.js.br +0 -0
  191. package/payload/server/public/assets/chunk-4TB4RGXK-gClfNc1w.js.gz +0 -0
  192. package/payload/server/public/assets/{chunk-55IACEB6-ggIJf_TC.js → chunk-55IACEB6-DDU_m1ra.js} +1 -1
  193. package/payload/server/public/assets/chunk-55IACEB6-DDU_m1ra.js.br +0 -0
  194. package/payload/server/public/assets/chunk-55IACEB6-DDU_m1ra.js.gz +0 -0
  195. package/payload/server/public/assets/{chunk-5FUZZQ4R-DeGmkimt.js → chunk-5FUZZQ4R-CZ2jQWNR.js} +1 -1
  196. package/payload/server/public/assets/chunk-5FUZZQ4R-CZ2jQWNR.js.br +0 -0
  197. package/payload/server/public/assets/chunk-5FUZZQ4R-CZ2jQWNR.js.gz +0 -0
  198. package/payload/server/public/assets/{chunk-5PVQY5BW-aFIQKk_U.js → chunk-5PVQY5BW-kcZ5kfTg.js} +1 -1
  199. package/payload/server/public/assets/chunk-5PVQY5BW-kcZ5kfTg.js.br +0 -0
  200. package/payload/server/public/assets/chunk-5PVQY5BW-kcZ5kfTg.js.gz +0 -0
  201. package/payload/server/public/assets/{chunk-67CJDMHE-LS8rUbii.js → chunk-67CJDMHE-9W0Qv0jm.js} +1 -1
  202. package/payload/server/public/assets/chunk-67CJDMHE-9W0Qv0jm.js.br +0 -0
  203. package/payload/server/public/assets/chunk-67CJDMHE-9W0Qv0jm.js.gz +0 -0
  204. package/payload/server/public/assets/{chunk-7N4EOEYR-JKOVngS0.js → chunk-7N4EOEYR-B3gqydR3.js} +1 -1
  205. package/payload/server/public/assets/chunk-7N4EOEYR-B3gqydR3.js.br +0 -0
  206. package/payload/server/public/assets/chunk-7N4EOEYR-B3gqydR3.js.gz +0 -0
  207. package/payload/server/public/assets/{chunk-AA7GKIK3-CoXnTVK6.js → chunk-AA7GKIK3-DW8a-2NK.js} +1 -1
  208. package/payload/server/public/assets/chunk-AA7GKIK3-DW8a-2NK.js.br +4 -0
  209. package/payload/server/public/assets/chunk-AA7GKIK3-DW8a-2NK.js.gz +0 -0
  210. package/payload/server/public/assets/{chunk-BSJP7CBP-CcsqObFg.js → chunk-BSJP7CBP-DqXIO_5R.js} +1 -1
  211. package/payload/server/public/assets/chunk-BSJP7CBP-DqXIO_5R.js.br +0 -0
  212. package/payload/server/public/assets/chunk-BSJP7CBP-DqXIO_5R.js.gz +0 -0
  213. package/payload/server/public/assets/{chunk-CIAEETIT-CpsybR7q.js → chunk-CIAEETIT-BMJfgj2u.js} +1 -1
  214. package/payload/server/public/assets/chunk-CIAEETIT-BMJfgj2u.js.br +0 -0
  215. package/payload/server/public/assets/chunk-CIAEETIT-BMJfgj2u.js.gz +0 -0
  216. package/payload/server/public/assets/{chunk-EDXVE4YY-BZ2I9PSq.js → chunk-EDXVE4YY-BxdLPk0b.js} +1 -1
  217. package/payload/server/public/assets/chunk-EDXVE4YY-BxdLPk0b.js.br +0 -0
  218. package/payload/server/public/assets/chunk-EDXVE4YY-BxdLPk0b.js.gz +0 -0
  219. package/payload/server/public/assets/{chunk-ENJZ2VHE-DbTwt6OZ.js → chunk-ENJZ2VHE-Cfe2DCjQ.js} +1 -1
  220. package/payload/server/public/assets/chunk-ENJZ2VHE-Cfe2DCjQ.js.br +0 -0
  221. package/payload/server/public/assets/chunk-ENJZ2VHE-Cfe2DCjQ.js.gz +0 -0
  222. package/payload/server/public/assets/{chunk-FMBD7UC4-D27VnSCa.js → chunk-FMBD7UC4-CdPjwbtf.js} +1 -1
  223. package/payload/server/public/assets/chunk-FMBD7UC4-CdPjwbtf.js.br +0 -0
  224. package/payload/server/public/assets/chunk-FMBD7UC4-CdPjwbtf.js.gz +0 -0
  225. package/payload/server/public/assets/{chunk-FOC6F5B3-C0tU2UFl.js → chunk-FOC6F5B3-Dl6l1KAh.js} +1 -1
  226. package/payload/server/public/assets/chunk-FOC6F5B3-Dl6l1KAh.js.br +0 -0
  227. package/payload/server/public/assets/chunk-FOC6F5B3-Dl6l1KAh.js.gz +0 -0
  228. package/payload/server/public/assets/{chunk-ICPOFSXX-UPPu2OIq.js → chunk-ICPOFSXX-PnsGrqtx.js} +2 -2
  229. package/payload/server/public/assets/chunk-ICPOFSXX-PnsGrqtx.js.br +0 -0
  230. package/payload/server/public/assets/chunk-ICPOFSXX-PnsGrqtx.js.gz +0 -0
  231. package/payload/server/public/assets/{chunk-K5T4RW27-DIKxqyYw.js → chunk-K5T4RW27--g29_wjW.js} +1 -1
  232. package/payload/server/public/assets/chunk-K5T4RW27--g29_wjW.js.br +0 -0
  233. package/payload/server/public/assets/chunk-K5T4RW27--g29_wjW.js.gz +0 -0
  234. package/payload/server/public/assets/{chunk-KGLVRYIC-CiL4YVLo.js → chunk-KGLVRYIC-CI77ENeO.js} +1 -1
  235. package/payload/server/public/assets/chunk-KGLVRYIC-CI77ENeO.js.br +3 -0
  236. package/payload/server/public/assets/chunk-KGLVRYIC-CI77ENeO.js.gz +0 -0
  237. package/payload/server/public/assets/{chunk-LIHQZDEY-ejKezVlD.js → chunk-LIHQZDEY-CE-XByg6.js} +1 -1
  238. package/payload/server/public/assets/chunk-LIHQZDEY-CE-XByg6.js.br +0 -0
  239. package/payload/server/public/assets/chunk-LIHQZDEY-CE-XByg6.js.gz +0 -0
  240. package/payload/server/public/assets/{chunk-ORNJ4GCN-Cc0vqc-D.js → chunk-ORNJ4GCN-DkjJQQSm.js} +1 -1
  241. package/payload/server/public/assets/chunk-ORNJ4GCN-DkjJQQSm.js.br +0 -0
  242. package/payload/server/public/assets/chunk-ORNJ4GCN-DkjJQQSm.js.gz +0 -0
  243. package/payload/server/public/assets/{chunk-OYMX7WX6-Drxn1qG0.js → chunk-OYMX7WX6-DhogFeD7.js} +1 -1
  244. package/payload/server/public/assets/chunk-OYMX7WX6-DhogFeD7.js.br +0 -0
  245. package/payload/server/public/assets/chunk-OYMX7WX6-DhogFeD7.js.gz +0 -0
  246. package/payload/server/public/assets/chunk-QZHKN3VN-DnqqL1de.js +1 -0
  247. package/payload/server/public/assets/chunk-QZHKN3VN-DnqqL1de.js.br +0 -0
  248. package/payload/server/public/assets/chunk-QZHKN3VN-DnqqL1de.js.gz +0 -0
  249. package/payload/server/public/assets/{chunk-U2HBQHQK-DnbQIkRP.js → chunk-U2HBQHQK-CeaRXuiO.js} +1 -1
  250. package/payload/server/public/assets/chunk-U2HBQHQK-CeaRXuiO.js.br +0 -0
  251. package/payload/server/public/assets/chunk-U2HBQHQK-CeaRXuiO.js.gz +0 -0
  252. package/payload/server/public/assets/{chunk-X2U36JSP-CauTSVWg.js → chunk-X2U36JSP-BqxXeOqf.js} +1 -1
  253. package/payload/server/public/assets/chunk-X2U36JSP-BqxXeOqf.js.br +0 -0
  254. package/payload/server/public/assets/chunk-X2U36JSP-BqxXeOqf.js.gz +0 -0
  255. package/payload/server/public/assets/{chunk-XPW4576I-DZqqB9Zi.js → chunk-XPW4576I-DtqJwn2x.js} +1 -1
  256. package/payload/server/public/assets/chunk-XPW4576I-DtqJwn2x.js.br +0 -0
  257. package/payload/server/public/assets/chunk-XPW4576I-DtqJwn2x.js.gz +0 -0
  258. package/payload/server/public/assets/{chunk-YZCP3GAM-BGHo4Li-.js → chunk-YZCP3GAM-COBlEwQw.js} +1 -1
  259. package/payload/server/public/assets/chunk-YZCP3GAM-COBlEwQw.js.br +0 -0
  260. package/payload/server/public/assets/chunk-YZCP3GAM-COBlEwQw.js.gz +0 -0
  261. package/payload/server/public/assets/{chunk-ZZ45TVLE-DWGJKPd7.js → chunk-ZZ45TVLE-CcL088y6.js} +1 -1
  262. package/payload/server/public/assets/chunk-ZZ45TVLE-CcL088y6.js.br +0 -0
  263. package/payload/server/public/assets/chunk-ZZ45TVLE-CcL088y6.js.gz +0 -0
  264. package/payload/server/public/assets/classDiagram-6PBFFD2Q-Bc3P4dpc.js +1 -0
  265. package/payload/server/public/assets/classDiagram-6PBFFD2Q-Bc3P4dpc.js.br +0 -0
  266. package/payload/server/public/assets/classDiagram-6PBFFD2Q-Bc3P4dpc.js.gz +0 -0
  267. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DgEF_rR_.js +1 -0
  268. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DgEF_rR_.js.br +0 -0
  269. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DgEF_rR_.js.gz +0 -0
  270. package/payload/server/public/assets/clock-Yqf7Ke7I.js +1 -0
  271. package/payload/server/public/assets/clock-Yqf7Ke7I.js.br +0 -0
  272. package/payload/server/public/assets/clock-Yqf7Ke7I.js.gz +0 -0
  273. package/payload/server/public/assets/clone-B3vq32j7.js +1 -0
  274. package/payload/server/public/assets/{cose-bilkent-S5V4N54A-D-95BzXL.js → cose-bilkent-S5V4N54A-kEHVkDNn.js} +1 -1
  275. package/payload/server/public/assets/cose-bilkent-S5V4N54A-kEHVkDNn.js.br +0 -0
  276. package/payload/server/public/assets/cose-bilkent-S5V4N54A-kEHVkDNn.js.gz +0 -0
  277. package/payload/server/public/assets/{dagre-BZYNBHvT.js → dagre-D2wUw1zC.js} +1 -1
  278. package/payload/server/public/assets/dagre-D2wUw1zC.js.br +0 -0
  279. package/payload/server/public/assets/dagre-D2wUw1zC.js.gz +0 -0
  280. package/payload/server/public/assets/{dagre-KV5264BT-DyU4HQLQ.js → dagre-KV5264BT-BWfTDwEs.js} +1 -1
  281. package/payload/server/public/assets/dagre-KV5264BT-BWfTDwEs.js.br +0 -0
  282. package/payload/server/public/assets/dagre-KV5264BT-BWfTDwEs.js.gz +0 -0
  283. package/payload/server/public/assets/data-RmnKj5nC.js +1 -0
  284. package/payload/server/public/assets/data-RmnKj5nC.js.br +2 -0
  285. package/payload/server/public/assets/data-RmnKj5nC.js.gz +0 -0
  286. package/payload/server/public/assets/{diagram-5BDNPKRD-CCttJ9XA.js → diagram-5BDNPKRD-Tl9dS8w0.js} +1 -1
  287. package/payload/server/public/assets/diagram-5BDNPKRD-Tl9dS8w0.js.br +0 -0
  288. package/payload/server/public/assets/diagram-5BDNPKRD-Tl9dS8w0.js.gz +0 -0
  289. package/payload/server/public/assets/{diagram-G4DWMVQ6-DvkpgSLO.js → diagram-G4DWMVQ6-CeSe6TMu.js} +1 -1
  290. package/payload/server/public/assets/diagram-G4DWMVQ6-CeSe6TMu.js.br +0 -0
  291. package/payload/server/public/assets/diagram-G4DWMVQ6-CeSe6TMu.js.gz +0 -0
  292. package/payload/server/public/assets/{diagram-MMDJMWI5-DHmW5Y9k.js → diagram-MMDJMWI5-DYBNJCmk.js} +1 -1
  293. package/payload/server/public/assets/diagram-MMDJMWI5-DYBNJCmk.js.br +0 -0
  294. package/payload/server/public/assets/diagram-MMDJMWI5-DYBNJCmk.js.gz +0 -0
  295. package/payload/server/public/assets/{diagram-TYMM5635-C6T4hwzO.js → diagram-TYMM5635-BmpUGltx.js} +1 -1
  296. package/payload/server/public/assets/diagram-TYMM5635-BmpUGltx.js.br +0 -0
  297. package/payload/server/public/assets/diagram-TYMM5635-BmpUGltx.js.gz +0 -0
  298. package/payload/server/public/assets/{erDiagram-SMLLAGMA-5v_o7s3T.js → erDiagram-SMLLAGMA-DuwuNGqx.js} +1 -1
  299. package/payload/server/public/assets/erDiagram-SMLLAGMA-DuwuNGqx.js.br +0 -0
  300. package/payload/server/public/assets/erDiagram-SMLLAGMA-DuwuNGqx.js.gz +0 -0
  301. package/payload/server/public/assets/file-download-CiGklOfA.js +1 -0
  302. package/payload/server/public/assets/file-download-CiGklOfA.js.br +0 -0
  303. package/payload/server/public/assets/file-download-CiGklOfA.js.gz +0 -0
  304. package/payload/server/public/assets/{file-text-BKs9eyiw.js → file-text-XjJPULAZ.js} +1 -1
  305. package/payload/server/public/assets/file-text-XjJPULAZ.js.br +0 -0
  306. package/payload/server/public/assets/file-text-XjJPULAZ.js.gz +0 -0
  307. package/payload/server/public/assets/{flatten-BtIc9jX7.js → flatten-Bu-b1uTY.js} +1 -1
  308. package/payload/server/public/assets/flatten-Bu-b1uTY.js.br +0 -0
  309. package/payload/server/public/assets/flatten-Bu-b1uTY.js.gz +0 -0
  310. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-3UhCDsjt.js → flowDiagram-DWJPFMVM-Bpp8P6Ba.js} +1 -1
  311. package/payload/server/public/assets/flowDiagram-DWJPFMVM-Bpp8P6Ba.js.br +0 -0
  312. package/payload/server/public/assets/flowDiagram-DWJPFMVM-Bpp8P6Ba.js.gz +0 -0
  313. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-F2zgHIIQ.js → ganttDiagram-T4ZO3ILL-CE6ppjB4.js} +1 -1
  314. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-CE6ppjB4.js.br +0 -0
  315. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-CE6ppjB4.js.gz +0 -0
  316. package/payload/server/public/assets/gitGraph-7Q5UKJZL-B0OUwOUx.js +1 -0
  317. package/payload/server/public/assets/gitGraph-7Q5UKJZL-B0OUwOUx.js.br +0 -0
  318. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-oQc1N3dT.js → gitGraphDiagram-UUTBAWPF-BdK1GjPr.js} +1 -1
  319. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-BdK1GjPr.js.br +0 -0
  320. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-BdK1GjPr.js.gz +0 -0
  321. package/payload/server/public/assets/{graph-DTi71NaZ.js → graph-BjHJ0z_6.js} +1 -1
  322. package/payload/server/public/assets/graph-BjHJ0z_6.js.br +0 -0
  323. package/payload/server/public/assets/graph-BjHJ0z_6.js.gz +0 -0
  324. package/payload/server/public/assets/{graph-labels-BT3S6e9H.js → graph-labels-D-0u37KA.js} +1 -1
  325. package/payload/server/public/assets/graph-labels-D-0u37KA.js.br +0 -0
  326. package/payload/server/public/assets/graph-labels-D-0u37KA.js.gz +0 -0
  327. package/payload/server/public/assets/{graphlib-DY4-AT2Q.js → graphlib-CHEXylyU.js} +1 -1
  328. package/payload/server/public/assets/graphlib-CHEXylyU.js.br +0 -0
  329. package/payload/server/public/assets/graphlib-CHEXylyU.js.gz +0 -0
  330. package/payload/server/public/assets/info-OMHHGYJF-C_8TwPDe.js +1 -0
  331. package/payload/server/public/assets/info-OMHHGYJF-C_8TwPDe.js.br +0 -0
  332. package/payload/server/public/assets/infoDiagram-42DDH7IO-msfwyvbV.js +2 -0
  333. package/payload/server/public/assets/infoDiagram-42DDH7IO-msfwyvbV.js.br +0 -0
  334. package/payload/server/public/assets/infoDiagram-42DDH7IO-msfwyvbV.js.gz +0 -0
  335. package/payload/server/public/assets/{isEmpty-Bu4fZ8Kf.js → isEmpty-CjH0UASp.js} +1 -1
  336. package/payload/server/public/assets/isEmpty-CjH0UASp.js.br +0 -0
  337. package/payload/server/public/assets/isEmpty-CjH0UASp.js.gz +0 -0
  338. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-wJhSOkuw.js → ishikawaDiagram-UXIWVN3A-CgkVZ4-3.js} +1 -1
  339. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-CgkVZ4-3.js.br +0 -0
  340. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-CgkVZ4-3.js.gz +0 -0
  341. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-DgadC6Pz.js → journeyDiagram-VCZTEJTY-ByUPv8q6.js} +1 -1
  342. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-ByUPv8q6.js.br +0 -0
  343. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-ByUPv8q6.js.gz +0 -0
  344. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-Bs4nQqXI.js → kanban-definition-6JOO6SKY-CFinqhpu.js} +1 -1
  345. package/payload/server/public/assets/kanban-definition-6JOO6SKY-CFinqhpu.js.br +0 -0
  346. package/payload/server/public/assets/kanban-definition-6JOO6SKY-CFinqhpu.js.gz +0 -0
  347. package/payload/server/public/assets/{line-Bnmxy1hO.js → line-Y4ns5Ghi.js} +1 -1
  348. package/payload/server/public/assets/line-Y4ns5Ghi.js.br +0 -0
  349. package/payload/server/public/assets/line-Y4ns5Ghi.js.gz +0 -0
  350. package/payload/server/public/assets/{linear-RvwZxFzh.js → linear-l39GooQ5.js} +1 -1
  351. package/payload/server/public/assets/linear-l39GooQ5.js.br +0 -0
  352. package/payload/server/public/assets/linear-l39GooQ5.js.gz +0 -0
  353. package/payload/server/public/assets/{maximize-2-zC94tsxY.js → maximize-2-BJ9S-nfS.js} +1 -1
  354. package/payload/server/public/assets/maximize-2-BJ9S-nfS.js.br +0 -0
  355. package/payload/server/public/assets/maximize-2-BJ9S-nfS.js.gz +0 -0
  356. package/payload/server/public/assets/{mermaid-parser.core-DeNV8RtA.js → mermaid-parser.core-5w0T1dRj.js} +2 -2
  357. package/payload/server/public/assets/mermaid-parser.core-5w0T1dRj.js.br +0 -0
  358. package/payload/server/public/assets/mermaid-parser.core-5w0T1dRj.js.gz +0 -0
  359. package/payload/server/public/assets/{mermaid.core-BU9IiSCP.js → mermaid.core-DBADY5VW.js} +3 -3
  360. package/payload/server/public/assets/mermaid.core-DBADY5VW.js.br +0 -0
  361. package/payload/server/public/assets/mermaid.core-DBADY5VW.js.gz +0 -0
  362. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-D1PMUxxm.js → mindmap-definition-QFDTVHPH-rHz37loq.js} +1 -1
  363. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-rHz37loq.js.br +0 -0
  364. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-rHz37loq.js.gz +0 -0
  365. package/payload/server/public/assets/{operator-BtWNEMh-.js → operator-Cay4rOOK.js} +1 -1
  366. package/payload/server/public/assets/operator-Cay4rOOK.js.br +0 -0
  367. package/payload/server/public/assets/operator-Cay4rOOK.js.gz +0 -0
  368. package/payload/server/public/assets/{ordinal-C2TEWKNu.js → ordinal-D6D6WcTC.js} +1 -1
  369. package/payload/server/public/assets/ordinal-D6D6WcTC.js.br +0 -0
  370. package/payload/server/public/assets/ordinal-D6D6WcTC.js.gz +0 -0
  371. package/payload/server/public/assets/packet-4T2RLAQJ-CCQdbIqO.js +1 -0
  372. package/payload/server/public/assets/packet-4T2RLAQJ-CCQdbIqO.js.br +0 -0
  373. package/payload/server/public/assets/{page-Ccl0FazM.js → page-Cci_j_y7.js} +3 -3
  374. package/payload/server/public/assets/page-Cci_j_y7.js.br +0 -0
  375. package/payload/server/public/assets/page-Cci_j_y7.js.gz +0 -0
  376. package/payload/server/public/assets/page-shuh4ES9.js +1 -0
  377. package/payload/server/public/assets/page-shuh4ES9.js.br +0 -0
  378. package/payload/server/public/assets/page-shuh4ES9.js.gz +0 -0
  379. package/payload/server/public/assets/{pdf-render-C257cidb.js → pdf-render-BSgBp8Fr.js} +1 -1
  380. package/payload/server/public/assets/pdf-render-BSgBp8Fr.js.br +0 -0
  381. package/payload/server/public/assets/pdf-render-BSgBp8Fr.js.gz +0 -0
  382. package/payload/server/public/assets/pie-ZZUOXDRM-Bdw3Iqs7.js +1 -0
  383. package/payload/server/public/assets/pie-ZZUOXDRM-Bdw3Iqs7.js.br +0 -0
  384. package/payload/server/public/assets/{pieDiagram-DEJITSTG-BzdNzoKA.js → pieDiagram-DEJITSTG-as0e_DSH.js} +1 -1
  385. package/payload/server/public/assets/pieDiagram-DEJITSTG-as0e_DSH.js.br +0 -0
  386. package/payload/server/public/assets/pieDiagram-DEJITSTG-as0e_DSH.js.gz +0 -0
  387. package/payload/server/public/assets/{public-BpC6cn9S.js → public-BbJcQGsO.js} +1 -1
  388. package/payload/server/public/assets/public-BbJcQGsO.js.br +0 -0
  389. package/payload/server/public/assets/public-BbJcQGsO.js.gz +0 -0
  390. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-oFr1MJRO.js → quadrantDiagram-34T5L4WZ-B4t8HO9J.js} +1 -1
  391. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-B4t8HO9J.js.br +0 -0
  392. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-B4t8HO9J.js.gz +0 -0
  393. package/payload/server/public/assets/radar-PYXPWWZC-D3FUdA3r.js +1 -0
  394. package/payload/server/public/assets/radar-PYXPWWZC-D3FUdA3r.js.br +0 -0
  395. package/payload/server/public/assets/{reduce-BGpN5lgn.js → reduce-BtXXK8Ma.js} +1 -1
  396. package/payload/server/public/assets/reduce-BtXXK8Ma.js.br +0 -0
  397. package/payload/server/public/assets/reduce-BtXXK8Ma.js.gz +0 -0
  398. package/payload/server/public/assets/{requirementDiagram-MS252O5E-C9QBQxDh.js → requirementDiagram-MS252O5E-yxh30zHX.js} +1 -1
  399. package/payload/server/public/assets/requirementDiagram-MS252O5E-yxh30zHX.js.br +0 -0
  400. package/payload/server/public/assets/requirementDiagram-MS252O5E-yxh30zHX.js.gz +0 -0
  401. package/payload/server/public/assets/{rotate-ccw-BNcqbHkZ.js → rotate-ccw-jeSVwUAv.js} +1 -1
  402. package/payload/server/public/assets/rotate-ccw-jeSVwUAv.js.br +0 -0
  403. package/payload/server/public/assets/rotate-ccw-jeSVwUAv.js.gz +0 -0
  404. package/payload/server/public/assets/routines-D3M1Wh3a.js +1 -0
  405. package/payload/server/public/assets/routines-D3M1Wh3a.js.br +0 -0
  406. package/payload/server/public/assets/routines-D3M1Wh3a.js.gz +0 -0
  407. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-c_y3bvVv.js → sankeyDiagram-XADWPNL6-j-k9Wfty.js} +1 -1
  408. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-j-k9Wfty.js.br +0 -0
  409. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-j-k9Wfty.js.gz +0 -0
  410. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-YwlCBPHE.js → sequenceDiagram-FGHM5R23-DGLgcLhC.js} +1 -1
  411. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-DGLgcLhC.js.br +0 -0
  412. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-DGLgcLhC.js.gz +0 -0
  413. package/payload/server/public/assets/{skills-COLAw_jt.js → skills-Bhej2ub1.js} +1 -1
  414. package/payload/server/public/assets/skills-Bhej2ub1.js.br +0 -0
  415. package/payload/server/public/assets/skills-Bhej2ub1.js.gz +0 -0
  416. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-BFE3e-FM.js → stateDiagram-FHFEXIEX-C9p1OUMI.js} +1 -1
  417. package/payload/server/public/assets/stateDiagram-FHFEXIEX-C9p1OUMI.js.br +0 -0
  418. package/payload/server/public/assets/stateDiagram-FHFEXIEX-C9p1OUMI.js.gz +0 -0
  419. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Bf808Apk.js +1 -0
  420. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Bf808Apk.js.br +0 -0
  421. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Bf808Apk.js.gz +0 -0
  422. package/payload/server/public/assets/{tasks-CZDQI4nB.js → tasks-qY-dtOI2.js} +1 -1
  423. package/payload/server/public/assets/tasks-qY-dtOI2.js.br +0 -0
  424. package/payload/server/public/assets/tasks-qY-dtOI2.js.gz +0 -0
  425. package/payload/server/public/assets/{time-entry-format-laTFzawg.js → time-entry-format-r5UY9rjG.js} +1 -1
  426. package/payload/server/public/assets/time-entry-format-r5UY9rjG.js.br +0 -0
  427. package/payload/server/public/assets/time-entry-format-r5UY9rjG.js.gz +0 -0
  428. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-azqhmRwZ.js → timeline-definition-GMOUNBTQ-B1g7pgkH.js} +1 -1
  429. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-B1g7pgkH.js.br +0 -0
  430. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-B1g7pgkH.js.gz +0 -0
  431. package/payload/server/public/assets/treeView-SZITEDCU-DetKw0D0.js +1 -0
  432. package/payload/server/public/assets/treeView-SZITEDCU-DetKw0D0.js.br +0 -0
  433. package/payload/server/public/assets/treemap-W4RFUUIX-zQkIANxW.js +1 -0
  434. package/payload/server/public/assets/treemap-W4RFUUIX-zQkIANxW.js.br +0 -0
  435. package/payload/server/public/assets/{triangle-alert-DrwqhEog.js → triangle-alert--PCKaewD.js} +1 -1
  436. package/payload/server/public/assets/triangle-alert--PCKaewD.js.br +2 -0
  437. package/payload/server/public/assets/triangle-alert--PCKaewD.js.gz +0 -0
  438. package/payload/server/public/assets/{useCopyFeedback-Cxme5GK6.js → useCopyFeedback-Dg5lNgqH.js} +1 -1
  439. package/payload/server/public/assets/useCopyFeedback-Dg5lNgqH.js.br +0 -0
  440. package/payload/server/public/assets/useCopyFeedback-Dg5lNgqH.js.gz +0 -0
  441. package/payload/server/public/assets/useSubAccountSwitcher-BYfe9vj8.css +1 -0
  442. package/payload/server/public/assets/useSubAccountSwitcher-BYfe9vj8.css.br +0 -0
  443. package/payload/server/public/assets/useSubAccountSwitcher-BYfe9vj8.css.gz +0 -0
  444. package/payload/server/public/assets/{useVoiceRecorder-DUBpVa2T.js → useVoiceRecorder-BY6ZsGMH.js} +2 -2
  445. package/payload/server/public/assets/useVoiceRecorder-BY6ZsGMH.js.br +0 -0
  446. package/payload/server/public/assets/useVoiceRecorder-BY6ZsGMH.js.gz +0 -0
  447. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-Da2RfFs8.js → vennDiagram-DHZGUBPP-D2ZjFfh4.js} +1 -1
  448. package/payload/server/public/assets/vennDiagram-DHZGUBPP-D2ZjFfh4.js.br +0 -0
  449. package/payload/server/public/assets/vennDiagram-DHZGUBPP-D2ZjFfh4.js.gz +0 -0
  450. package/payload/server/public/assets/wardley-RL74JXVD-DkQV3DvB.js +1 -0
  451. package/payload/server/public/assets/wardley-RL74JXVD-DkQV3DvB.js.br +0 -0
  452. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-HdrdBYES.js → wardleyDiagram-NUSXRM2D-BFAhfkD8.js} +1 -1
  453. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-BFAhfkD8.js.br +0 -0
  454. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-BFAhfkD8.js.gz +0 -0
  455. package/payload/server/public/assets/{wrench-DWuxPnzF.js → wrench-Bw1FMolk.js} +1 -1
  456. package/payload/server/public/assets/wrench-Bw1FMolk.js.br +0 -0
  457. package/payload/server/public/assets/wrench-Bw1FMolk.js.gz +0 -0
  458. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-DMk6rTcQ.js → xychartDiagram-5P7HB3ND-Dt94h2RQ.js} +1 -1
  459. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-Dt94h2RQ.js.br +0 -0
  460. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-Dt94h2RQ.js.gz +0 -0
  461. package/payload/server/public/brand-defaults.css +1 -0
  462. package/payload/server/public/browser.html +4 -4
  463. package/payload/server/public/calendar.html +7 -7
  464. package/payload/server/public/chat.html +14 -14
  465. package/payload/server/public/data.html +13 -12
  466. package/payload/server/public/graph.html +9 -9
  467. package/payload/server/public/index.html +16 -15
  468. package/payload/server/public/operator.html +15 -15
  469. package/payload/server/public/public.html +14 -14
  470. package/payload/server/public/routines.html +7 -6
  471. package/payload/server/public/skills.html +5 -5
  472. package/payload/server/public/tasks.html +6 -6
  473. package/payload/server/server.js +744 -425
  474. package/payload/platform/.docs/search-surface-contract.md +0 -58
  475. package/payload/platform/docs/superpowers/plans/2026-06-02-task-610-follower-202-retry.md +0 -372
  476. package/payload/platform/docs/superpowers/plans/2026-06-04-public-agent-knowledge-delivery.md +0 -230
  477. package/payload/platform/docs/superpowers/plans/2026-06-23-account-filesystem-schema.md +0 -544
  478. package/payload/platform/docs/superpowers/plans/2026-07-11-task-1557-operator-on-behalf-preference-attribution.md +0 -542
  479. package/payload/platform/docs/superpowers/plans/2026-07-13-account-schema-ontology-projection.md +0 -547
  480. package/payload/platform/docs/superpowers/plans/2026-07-14-graph-top-level-labels-ontology-single-source.md +0 -458
  481. package/payload/platform/docs/superpowers/plans/2026-07-17-task-1736-retire-mcp-stderr-tee.md +0 -397
  482. package/payload/platform/docs/superpowers/plans/2026-07-18-graph-native-ledger.md +0 -807
  483. package/payload/platform/docs/superpowers/plans/2026-07-18-ledger-write-path-fix.md +0 -109
  484. package/payload/platform/docs/superpowers/plans/2026-07-20-storage-pages-create.md +0 -82
  485. package/payload/platform/docs/superpowers/plans/2026-07-20-task-1704-data-portal-standing-audit.md +0 -673
  486. package/payload/platform/docs/superpowers/plans/2026-07-20-task-1789-reseat-channel-row-fork.md +0 -1244
  487. package/payload/platform/docs/superpowers/plans/2026-07-20-task-1818-loop-gate-app-routes.md +0 -462
  488. package/payload/platform/docs/superpowers/plans/2026-07-20-task-1819-top-level-label-allowlist.md +0 -321
  489. package/payload/platform/docs/superpowers/plans/2026-07-20-task-1829-platform-ui-typecheck.md +0 -830
  490. package/payload/platform/docs/superpowers/plans/2026-07-20-task-1831-data-portal-class-derived-allowlist.md +0 -2177
  491. package/payload/platform/docs/superpowers/plans/2026-07-21-graph-caption-resolver.md +0 -124
  492. package/payload/platform/docs/superpowers/plans/2026-07-21-task-1877-bash-schema-enforcement.md +0 -107
  493. package/payload/platform/docs/superpowers/plans/2026-07-21-task-1887-reconcile-allowed-top-level.md +0 -205
  494. package/payload/platform/docs/superpowers/plans/2026-07-22-task-1899-reconcile-report-only.md +0 -748
  495. package/payload/platform/docs/superpowers/plans/2026-07-22-task-1910-two-way-portal-exchange.md +0 -1716
  496. package/payload/platform/docs/superpowers/plans/2026-07-23-task-1930-adherence-enforcement.md +0 -422
  497. package/payload/platform/docs/superpowers/plans/2026-07-24-task-1942-subaccount-switcher-brand-head.md +0 -327
  498. package/payload/platform/docs/superpowers/plans/2026-07-25-task-1974-uploads-intake-inbox.md +0 -235
  499. package/payload/platform/docs/superpowers/plans/2026-07-25-task-1976-intra-folder-hygiene.md +0 -215
  500. package/payload/platform/docs/superpowers/plans/2026-07-26-task-1902-account-owned-entry-declarations.md +0 -555
  501. package/payload/platform/docs/superpowers/plans/2026-07-26-task-1926-portal-push-concurrency-guard.md +0 -482
  502. package/payload/platform/docs/superpowers/plans/2026-07-26-task-2023-sidebar-sessions-async-reads.md +0 -394
  503. package/payload/platform/docs/superpowers/plans/2026-07-27-task-2016-disabled-agent-routing.md +0 -624
  504. package/payload/platform/docs/superpowers/plans/2026-07-27-task-2028-declared-file-write-deny.md +0 -303
  505. package/payload/platform/docs/superpowers/plans/2026-07-27-task-2052-account-machinery-write-fence.md +0 -250
  506. package/payload/platform/docs/superpowers/plans/2026-07-28-task-2097-email-signature-set.md +0 -65
  507. package/payload/platform/docs/superpowers/specs/2026-06-02-task-610-follower-202-retry-design.md +0 -116
  508. package/payload/platform/docs/superpowers/specs/2026-06-23-account-filesystem-schema-design.md +0 -170
  509. package/payload/platform/docs/superpowers/specs/2026-07-11-task-1557-operator-on-behalf-preference-attribution-design.md +0 -90
  510. package/payload/platform/docs/superpowers/specs/2026-07-13-account-schema-ontology-projection-design.md +0 -178
  511. package/payload/platform/docs/superpowers/specs/2026-07-14-graph-top-level-labels-ontology-single-source-design.md +0 -119
  512. package/payload/platform/docs/superpowers/specs/2026-07-17-task-1736-retire-mcp-stderr-tee-design.md +0 -128
  513. package/payload/platform/docs/superpowers/specs/2026-07-18-graph-native-ledger-design.md +0 -241
  514. package/payload/platform/docs/superpowers/specs/2026-07-20-task-1704-data-portal-standing-audit-design.md +0 -177
  515. package/payload/platform/docs/superpowers/specs/2026-07-20-task-1789-reseat-channel-row-fork-design.md +0 -201
  516. package/payload/platform/docs/superpowers/specs/2026-07-20-task-1818-loop-gate-app-routes-design.md +0 -217
  517. package/payload/platform/docs/superpowers/specs/2026-07-20-task-1819-top-level-label-allowlist-design.md +0 -80
  518. package/payload/platform/docs/superpowers/specs/2026-07-20-task-1820-cpu-triage-admin-tools-design.md +0 -97
  519. package/payload/platform/docs/superpowers/specs/2026-07-20-task-1829-platform-ui-typecheck-design.md +0 -163
  520. package/payload/platform/docs/superpowers/specs/2026-07-20-task-1831-data-portal-class-derived-allowlist-design.md +0 -163
  521. package/payload/platform/docs/superpowers/specs/2026-07-22-task-1899-reconcile-report-only-design.md +0 -121
  522. package/payload/platform/docs/superpowers/specs/2026-07-22-task-1910-two-way-portal-exchange-design.md +0 -103
  523. package/payload/platform/docs/superpowers/specs/2026-07-23-task-1930-adherence-enforcement-design.md +0 -81
  524. package/payload/platform/docs/superpowers/specs/2026-07-24-task-1942-subaccount-switcher-brand-head-design.md +0 -35
  525. package/payload/platform/docs/superpowers/specs/2026-07-26-task-1902-account-owned-entry-declarations-design.md +0 -232
  526. package/payload/platform/docs/superpowers/specs/2026-07-26-task-1926-portal-push-concurrency-guard-design.md +0 -200
  527. package/payload/platform/docs/superpowers/specs/2026-07-26-task-2014-ui-suite-nondeterminism-design.md +0 -169
  528. package/payload/platform/docs/superpowers/specs/2026-07-27-task-2016-disabled-agent-routing-design.md +0 -139
  529. package/payload/platform/docs/superpowers/specs/2026-07-27-task-2028-declared-file-write-deny-design.md +0 -127
  530. package/payload/platform/docs/superpowers/specs/2026-07-27-task-2052-account-machinery-write-fence-design.md +0 -150
  531. package/payload/platform/docs/superpowers/specs/2026-07-28-task-2097-email-signature-set-design.md +0 -155
  532. package/payload/server/public/assets/AdminLoginScreens-uknqh2Pm.js.br +0 -0
  533. package/payload/server/public/assets/AdminLoginScreens-uknqh2Pm.js.gz +0 -0
  534. package/payload/server/public/assets/AdminShell-GqtMImyQ.js.br +0 -0
  535. package/payload/server/public/assets/AdminShell-GqtMImyQ.js.gz +0 -0
  536. package/payload/server/public/assets/activity-B4KfMJqO.js.br +0 -0
  537. package/payload/server/public/assets/activity-B4KfMJqO.js.gz +0 -0
  538. package/payload/server/public/assets/admin-DxCZeVw0.js +0 -1
  539. package/payload/server/public/assets/admin-DxCZeVw0.js.br +0 -0
  540. package/payload/server/public/assets/admin-DxCZeVw0.js.gz +0 -0
  541. package/payload/server/public/assets/agents-BtwBuO4G.js +0 -1
  542. package/payload/server/public/assets/agents-BtwBuO4G.js.br +0 -0
  543. package/payload/server/public/assets/agents-BtwBuO4G.js.gz +0 -0
  544. package/payload/server/public/assets/arc-DaI5MLTq.js.br +0 -0
  545. package/payload/server/public/assets/arc-DaI5MLTq.js.gz +0 -0
  546. package/payload/server/public/assets/architecture-YZFGNWBL-DWZIX5aV.js +0 -1
  547. package/payload/server/public/assets/architecture-YZFGNWBL-DWZIX5aV.js.br +0 -0
  548. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-CBGVUEN9.js.br +0 -0
  549. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-CBGVUEN9.js.gz +0 -0
  550. package/payload/server/public/assets/blockDiagram-DXYQGD6D-DS6dS4GZ.js.br +0 -0
  551. package/payload/server/public/assets/blockDiagram-DXYQGD6D-DS6dS4GZ.js.gz +0 -0
  552. package/payload/server/public/assets/browser-B3hSzI3O.js.br +0 -0
  553. package/payload/server/public/assets/browser-B3hSzI3O.js.gz +0 -0
  554. package/payload/server/public/assets/c4Diagram-AHTNJAMY-hBSBUZPt.js.br +0 -0
  555. package/payload/server/public/assets/calendar-BggxXxhS.js.br +0 -0
  556. package/payload/server/public/assets/calendar-BggxXxhS.js.gz +0 -0
  557. package/payload/server/public/assets/channel-BEokjAeE.js +0 -1
  558. package/payload/server/public/assets/channel-BEokjAeE.js.br +0 -0
  559. package/payload/server/public/assets/chat-flivHt0t.js +0 -1
  560. package/payload/server/public/assets/chat-flivHt0t.js.br +0 -0
  561. package/payload/server/public/assets/chat-flivHt0t.js.gz +0 -0
  562. package/payload/server/public/assets/chevron-left-nVRThX7f.js +0 -1
  563. package/payload/server/public/assets/chevron-right-CLqfrkRA.js +0 -1
  564. package/payload/server/public/assets/chevron-right-CLqfrkRA.js.br +0 -0
  565. package/payload/server/public/assets/chunk-2KRD3SAO-B6koUoB7.js.br +0 -0
  566. package/payload/server/public/assets/chunk-2KRD3SAO-B6koUoB7.js.gz +0 -0
  567. package/payload/server/public/assets/chunk-336JU56O-BF6BRh8u.js.br +0 -0
  568. package/payload/server/public/assets/chunk-336JU56O-BF6BRh8u.js.gz +0 -0
  569. package/payload/server/public/assets/chunk-426QAEUC-pbQ4PWBU.js +0 -1
  570. package/payload/server/public/assets/chunk-426QAEUC-pbQ4PWBU.js.br +0 -0
  571. package/payload/server/public/assets/chunk-426QAEUC-pbQ4PWBU.js.gz +0 -0
  572. package/payload/server/public/assets/chunk-4BX2VUAB-7sO95xR2.js.br +0 -0
  573. package/payload/server/public/assets/chunk-4BX2VUAB-7sO95xR2.js.gz +0 -0
  574. package/payload/server/public/assets/chunk-4TB4RGXK-GCTndJYx.js.br +0 -0
  575. package/payload/server/public/assets/chunk-4TB4RGXK-GCTndJYx.js.gz +0 -0
  576. package/payload/server/public/assets/chunk-55IACEB6-ggIJf_TC.js.br +0 -0
  577. package/payload/server/public/assets/chunk-55IACEB6-ggIJf_TC.js.gz +0 -0
  578. package/payload/server/public/assets/chunk-5FUZZQ4R-DeGmkimt.js.br +0 -0
  579. package/payload/server/public/assets/chunk-5FUZZQ4R-DeGmkimt.js.gz +0 -0
  580. package/payload/server/public/assets/chunk-5PVQY5BW-aFIQKk_U.js.br +0 -0
  581. package/payload/server/public/assets/chunk-5PVQY5BW-aFIQKk_U.js.gz +0 -0
  582. package/payload/server/public/assets/chunk-67CJDMHE-LS8rUbii.js.br +0 -2
  583. package/payload/server/public/assets/chunk-67CJDMHE-LS8rUbii.js.gz +0 -0
  584. package/payload/server/public/assets/chunk-7N4EOEYR-JKOVngS0.js.br +0 -2
  585. package/payload/server/public/assets/chunk-7N4EOEYR-JKOVngS0.js.gz +0 -0
  586. package/payload/server/public/assets/chunk-AA7GKIK3-CoXnTVK6.js.br +0 -0
  587. package/payload/server/public/assets/chunk-AA7GKIK3-CoXnTVK6.js.gz +0 -0
  588. package/payload/server/public/assets/chunk-BSJP7CBP-CcsqObFg.js.br +0 -0
  589. package/payload/server/public/assets/chunk-BSJP7CBP-CcsqObFg.js.gz +0 -0
  590. package/payload/server/public/assets/chunk-CIAEETIT-CpsybR7q.js.br +0 -0
  591. package/payload/server/public/assets/chunk-CIAEETIT-CpsybR7q.js.gz +0 -0
  592. package/payload/server/public/assets/chunk-EDXVE4YY-BZ2I9PSq.js.br +0 -0
  593. package/payload/server/public/assets/chunk-EDXVE4YY-BZ2I9PSq.js.gz +0 -0
  594. package/payload/server/public/assets/chunk-ENJZ2VHE-DbTwt6OZ.js.br +0 -0
  595. package/payload/server/public/assets/chunk-ENJZ2VHE-DbTwt6OZ.js.gz +0 -0
  596. package/payload/server/public/assets/chunk-FMBD7UC4-D27VnSCa.js.br +0 -0
  597. package/payload/server/public/assets/chunk-FMBD7UC4-D27VnSCa.js.gz +0 -0
  598. package/payload/server/public/assets/chunk-FOC6F5B3-C0tU2UFl.js.br +0 -0
  599. package/payload/server/public/assets/chunk-FOC6F5B3-C0tU2UFl.js.gz +0 -0
  600. package/payload/server/public/assets/chunk-ICPOFSXX-UPPu2OIq.js.br +0 -0
  601. package/payload/server/public/assets/chunk-ICPOFSXX-UPPu2OIq.js.gz +0 -0
  602. package/payload/server/public/assets/chunk-K5T4RW27-DIKxqyYw.js.br +0 -0
  603. package/payload/server/public/assets/chunk-K5T4RW27-DIKxqyYw.js.gz +0 -0
  604. package/payload/server/public/assets/chunk-KGLVRYIC-CiL4YVLo.js.br +0 -0
  605. package/payload/server/public/assets/chunk-KGLVRYIC-CiL4YVLo.js.gz +0 -0
  606. package/payload/server/public/assets/chunk-LIHQZDEY-ejKezVlD.js.br +0 -0
  607. package/payload/server/public/assets/chunk-LIHQZDEY-ejKezVlD.js.gz +0 -0
  608. package/payload/server/public/assets/chunk-ORNJ4GCN-Cc0vqc-D.js.br +0 -0
  609. package/payload/server/public/assets/chunk-ORNJ4GCN-Cc0vqc-D.js.gz +0 -0
  610. package/payload/server/public/assets/chunk-OYMX7WX6-Drxn1qG0.js.br +0 -0
  611. package/payload/server/public/assets/chunk-OYMX7WX6-Drxn1qG0.js.gz +0 -0
  612. package/payload/server/public/assets/chunk-QZHKN3VN-Dhlh7Pkk.js +0 -1
  613. package/payload/server/public/assets/chunk-QZHKN3VN-Dhlh7Pkk.js.br +0 -0
  614. package/payload/server/public/assets/chunk-QZHKN3VN-Dhlh7Pkk.js.gz +0 -0
  615. package/payload/server/public/assets/chunk-U2HBQHQK-DnbQIkRP.js.br +0 -0
  616. package/payload/server/public/assets/chunk-U2HBQHQK-DnbQIkRP.js.gz +0 -0
  617. package/payload/server/public/assets/chunk-X2U36JSP-CauTSVWg.js.br +0 -0
  618. package/payload/server/public/assets/chunk-X2U36JSP-CauTSVWg.js.gz +0 -0
  619. package/payload/server/public/assets/chunk-XPW4576I-DZqqB9Zi.js.br +0 -0
  620. package/payload/server/public/assets/chunk-XPW4576I-DZqqB9Zi.js.gz +0 -0
  621. package/payload/server/public/assets/chunk-YZCP3GAM-BGHo4Li-.js.br +0 -0
  622. package/payload/server/public/assets/chunk-YZCP3GAM-BGHo4Li-.js.gz +0 -0
  623. package/payload/server/public/assets/chunk-ZZ45TVLE-DWGJKPd7.js.br +0 -0
  624. package/payload/server/public/assets/chunk-ZZ45TVLE-DWGJKPd7.js.gz +0 -0
  625. package/payload/server/public/assets/classDiagram-6PBFFD2Q-D2z_ZV1x.js +0 -1
  626. package/payload/server/public/assets/classDiagram-6PBFFD2Q-D2z_ZV1x.js.br +0 -0
  627. package/payload/server/public/assets/classDiagram-6PBFFD2Q-D2z_ZV1x.js.gz +0 -0
  628. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BJwJoNEK.js +0 -1
  629. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BJwJoNEK.js.br +0 -0
  630. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BJwJoNEK.js.gz +0 -0
  631. package/payload/server/public/assets/clock-Dj3SRZKo.js +0 -1
  632. package/payload/server/public/assets/clock-Dj3SRZKo.js.br +0 -0
  633. package/payload/server/public/assets/clock-Dj3SRZKo.js.gz +0 -0
  634. package/payload/server/public/assets/clone-Bn7XXVhr.js +0 -1
  635. package/payload/server/public/assets/clone-Bn7XXVhr.js.br +0 -0
  636. package/payload/server/public/assets/cose-bilkent-S5V4N54A-D-95BzXL.js.br +0 -0
  637. package/payload/server/public/assets/cose-bilkent-S5V4N54A-D-95BzXL.js.gz +0 -0
  638. package/payload/server/public/assets/dagre-BZYNBHvT.js.br +0 -0
  639. package/payload/server/public/assets/dagre-BZYNBHvT.js.gz +0 -0
  640. package/payload/server/public/assets/dagre-KV5264BT-DyU4HQLQ.js.br +0 -0
  641. package/payload/server/public/assets/dagre-KV5264BT-DyU4HQLQ.js.gz +0 -0
  642. package/payload/server/public/assets/data-Ckjkne54.js +0 -1
  643. package/payload/server/public/assets/data-Ckjkne54.js.br +0 -3
  644. package/payload/server/public/assets/data-Ckjkne54.js.gz +0 -0
  645. package/payload/server/public/assets/diagram-5BDNPKRD-CCttJ9XA.js.br +0 -0
  646. package/payload/server/public/assets/diagram-5BDNPKRD-CCttJ9XA.js.gz +0 -0
  647. package/payload/server/public/assets/diagram-G4DWMVQ6-DvkpgSLO.js.br +0 -0
  648. package/payload/server/public/assets/diagram-G4DWMVQ6-DvkpgSLO.js.gz +0 -0
  649. package/payload/server/public/assets/diagram-MMDJMWI5-DHmW5Y9k.js.br +0 -0
  650. package/payload/server/public/assets/diagram-MMDJMWI5-DHmW5Y9k.js.gz +0 -0
  651. package/payload/server/public/assets/diagram-TYMM5635-C6T4hwzO.js.br +0 -0
  652. package/payload/server/public/assets/diagram-TYMM5635-C6T4hwzO.js.gz +0 -0
  653. package/payload/server/public/assets/erDiagram-SMLLAGMA-5v_o7s3T.js.br +0 -0
  654. package/payload/server/public/assets/erDiagram-SMLLAGMA-5v_o7s3T.js.gz +0 -0
  655. package/payload/server/public/assets/file-text-BKs9eyiw.js.br +0 -0
  656. package/payload/server/public/assets/file-text-BKs9eyiw.js.gz +0 -0
  657. package/payload/server/public/assets/flatten-BtIc9jX7.js.br +0 -0
  658. package/payload/server/public/assets/flatten-BtIc9jX7.js.gz +0 -0
  659. package/payload/server/public/assets/flowDiagram-DWJPFMVM-3UhCDsjt.js.br +0 -0
  660. package/payload/server/public/assets/flowDiagram-DWJPFMVM-3UhCDsjt.js.gz +0 -0
  661. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-F2zgHIIQ.js.br +0 -0
  662. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-F2zgHIIQ.js.gz +0 -0
  663. package/payload/server/public/assets/gitGraph-7Q5UKJZL-C-FvNTHZ.js +0 -1
  664. package/payload/server/public/assets/gitGraph-7Q5UKJZL-C-FvNTHZ.js.br +0 -0
  665. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-oQc1N3dT.js.br +0 -0
  666. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-oQc1N3dT.js.gz +0 -0
  667. package/payload/server/public/assets/graph-DTi71NaZ.js.br +0 -0
  668. package/payload/server/public/assets/graph-DTi71NaZ.js.gz +0 -0
  669. package/payload/server/public/assets/graph-labels-BT3S6e9H.js.br +0 -0
  670. package/payload/server/public/assets/graph-labels-BT3S6e9H.js.gz +0 -0
  671. package/payload/server/public/assets/graphlib-DY4-AT2Q.js.br +0 -0
  672. package/payload/server/public/assets/graphlib-DY4-AT2Q.js.gz +0 -0
  673. package/payload/server/public/assets/info-OMHHGYJF-BjLPgHAC.js +0 -1
  674. package/payload/server/public/assets/info-OMHHGYJF-BjLPgHAC.js.br +0 -0
  675. package/payload/server/public/assets/infoDiagram-42DDH7IO-CXNKLTui.js +0 -2
  676. package/payload/server/public/assets/infoDiagram-42DDH7IO-CXNKLTui.js.br +0 -0
  677. package/payload/server/public/assets/infoDiagram-42DDH7IO-CXNKLTui.js.gz +0 -0
  678. package/payload/server/public/assets/isEmpty-Bu4fZ8Kf.js.br +0 -0
  679. package/payload/server/public/assets/isEmpty-Bu4fZ8Kf.js.gz +0 -0
  680. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-wJhSOkuw.js.br +0 -0
  681. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-wJhSOkuw.js.gz +0 -0
  682. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-DgadC6Pz.js.br +0 -0
  683. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-DgadC6Pz.js.gz +0 -0
  684. package/payload/server/public/assets/kanban-definition-6JOO6SKY-Bs4nQqXI.js.br +0 -0
  685. package/payload/server/public/assets/kanban-definition-6JOO6SKY-Bs4nQqXI.js.gz +0 -0
  686. package/payload/server/public/assets/line-Bnmxy1hO.js.br +0 -0
  687. package/payload/server/public/assets/line-Bnmxy1hO.js.gz +0 -0
  688. package/payload/server/public/assets/linear-RvwZxFzh.js.br +0 -0
  689. package/payload/server/public/assets/linear-RvwZxFzh.js.gz +0 -0
  690. package/payload/server/public/assets/maximize-2-zC94tsxY.js.br +0 -0
  691. package/payload/server/public/assets/maximize-2-zC94tsxY.js.gz +0 -0
  692. package/payload/server/public/assets/mermaid-parser.core-DeNV8RtA.js.br +0 -0
  693. package/payload/server/public/assets/mermaid-parser.core-DeNV8RtA.js.gz +0 -0
  694. package/payload/server/public/assets/mermaid.core-BU9IiSCP.js.br +0 -0
  695. package/payload/server/public/assets/mermaid.core-BU9IiSCP.js.gz +0 -0
  696. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-D1PMUxxm.js.br +0 -0
  697. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-D1PMUxxm.js.gz +0 -0
  698. package/payload/server/public/assets/operator-BtWNEMh-.js.br +0 -0
  699. package/payload/server/public/assets/operator-BtWNEMh-.js.gz +0 -0
  700. package/payload/server/public/assets/ordinal-C2TEWKNu.js.br +0 -0
  701. package/payload/server/public/assets/ordinal-C2TEWKNu.js.gz +0 -0
  702. package/payload/server/public/assets/packet-4T2RLAQJ-BBAZASfb.js +0 -1
  703. package/payload/server/public/assets/packet-4T2RLAQJ-BBAZASfb.js.br +0 -0
  704. package/payload/server/public/assets/page-BFm91p0e.js +0 -1
  705. package/payload/server/public/assets/page-BFm91p0e.js.br +0 -0
  706. package/payload/server/public/assets/page-BFm91p0e.js.gz +0 -0
  707. package/payload/server/public/assets/page-Ccl0FazM.js.br +0 -0
  708. package/payload/server/public/assets/page-Ccl0FazM.js.gz +0 -0
  709. package/payload/server/public/assets/pdf-render-C257cidb.js.br +0 -0
  710. package/payload/server/public/assets/pdf-render-C257cidb.js.gz +0 -0
  711. package/payload/server/public/assets/pie-ZZUOXDRM-CCJUnMeG.js +0 -1
  712. package/payload/server/public/assets/pie-ZZUOXDRM-CCJUnMeG.js.br +0 -0
  713. package/payload/server/public/assets/pieDiagram-DEJITSTG-BzdNzoKA.js.br +0 -0
  714. package/payload/server/public/assets/pieDiagram-DEJITSTG-BzdNzoKA.js.gz +0 -0
  715. package/payload/server/public/assets/public-BpC6cn9S.js.br +0 -0
  716. package/payload/server/public/assets/public-BpC6cn9S.js.gz +0 -0
  717. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-oFr1MJRO.js.br +0 -0
  718. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-oFr1MJRO.js.gz +0 -0
  719. package/payload/server/public/assets/radar-PYXPWWZC-BsRU8Aep.js +0 -1
  720. package/payload/server/public/assets/radar-PYXPWWZC-BsRU8Aep.js.br +0 -0
  721. package/payload/server/public/assets/reduce-BGpN5lgn.js.br +0 -0
  722. package/payload/server/public/assets/reduce-BGpN5lgn.js.gz +0 -0
  723. package/payload/server/public/assets/requirementDiagram-MS252O5E-C9QBQxDh.js.br +0 -0
  724. package/payload/server/public/assets/requirementDiagram-MS252O5E-C9QBQxDh.js.gz +0 -0
  725. package/payload/server/public/assets/rotate-ccw-BNcqbHkZ.js.br +0 -0
  726. package/payload/server/public/assets/rotate-ccw-BNcqbHkZ.js.gz +0 -0
  727. package/payload/server/public/assets/routines-D5iia-XG.js +0 -1
  728. package/payload/server/public/assets/routines-D5iia-XG.js.br +0 -0
  729. package/payload/server/public/assets/routines-D5iia-XG.js.gz +0 -0
  730. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-c_y3bvVv.js.br +0 -0
  731. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-c_y3bvVv.js.gz +0 -0
  732. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-YwlCBPHE.js.br +0 -0
  733. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-YwlCBPHE.js.gz +0 -0
  734. package/payload/server/public/assets/skills-COLAw_jt.js.br +0 -0
  735. package/payload/server/public/assets/skills-COLAw_jt.js.gz +0 -0
  736. package/payload/server/public/assets/stateDiagram-FHFEXIEX-BFE3e-FM.js.br +0 -0
  737. package/payload/server/public/assets/stateDiagram-FHFEXIEX-BFE3e-FM.js.gz +0 -0
  738. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-CpjB4ykI.js +0 -1
  739. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-CpjB4ykI.js.br +0 -4
  740. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-CpjB4ykI.js.gz +0 -0
  741. package/payload/server/public/assets/tasks-CZDQI4nB.js.br +0 -0
  742. package/payload/server/public/assets/tasks-CZDQI4nB.js.gz +0 -0
  743. package/payload/server/public/assets/time-entry-format-laTFzawg.js.br +0 -0
  744. package/payload/server/public/assets/time-entry-format-laTFzawg.js.gz +0 -0
  745. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-azqhmRwZ.js.br +0 -0
  746. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-azqhmRwZ.js.gz +0 -0
  747. package/payload/server/public/assets/treeView-SZITEDCU-BDzhKA6v.js +0 -1
  748. package/payload/server/public/assets/treeView-SZITEDCU-BDzhKA6v.js.br +0 -0
  749. package/payload/server/public/assets/treemap-W4RFUUIX-epHpdeWa.js +0 -1
  750. package/payload/server/public/assets/treemap-W4RFUUIX-epHpdeWa.js.br +0 -0
  751. package/payload/server/public/assets/triangle-alert-DrwqhEog.js.br +0 -0
  752. package/payload/server/public/assets/triangle-alert-DrwqhEog.js.gz +0 -0
  753. package/payload/server/public/assets/useCopyFeedback-Cxme5GK6.js.br +0 -0
  754. package/payload/server/public/assets/useCopyFeedback-Cxme5GK6.js.gz +0 -0
  755. package/payload/server/public/assets/useSubAccountSwitcher-B-K8y5a4.css +0 -1
  756. package/payload/server/public/assets/useSubAccountSwitcher-B-K8y5a4.css.br +0 -0
  757. package/payload/server/public/assets/useSubAccountSwitcher-B-K8y5a4.css.gz +0 -0
  758. package/payload/server/public/assets/useVoiceRecorder-DUBpVa2T.js.br +0 -0
  759. package/payload/server/public/assets/useVoiceRecorder-DUBpVa2T.js.gz +0 -0
  760. package/payload/server/public/assets/vennDiagram-DHZGUBPP-Da2RfFs8.js.br +0 -0
  761. package/payload/server/public/assets/vennDiagram-DHZGUBPP-Da2RfFs8.js.gz +0 -0
  762. package/payload/server/public/assets/wardley-RL74JXVD-DNSZCrxV.js +0 -1
  763. package/payload/server/public/assets/wardley-RL74JXVD-DNSZCrxV.js.br +0 -0
  764. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-HdrdBYES.js.br +0 -0
  765. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-HdrdBYES.js.gz +0 -0
  766. package/payload/server/public/assets/wrench-DWuxPnzF.js.br +0 -0
  767. package/payload/server/public/assets/wrench-DWuxPnzF.js.gz +0 -0
  768. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-DMk6rTcQ.js.br +0 -0
  769. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-DMk6rTcQ.js.gz +0 -0
  770. /package/payload/server/public/assets/{_baseFor-Be3EKK3K.js → _baseFor-B12He5Rp.js} +0 -0
  771. /package/payload/server/public/assets/{_baseFor-Be3EKK3K.js.br → _baseFor-B12He5Rp.js.br} +0 -0
  772. /package/payload/server/public/assets/{_baseFor-Be3EKK3K.js.gz → _baseFor-B12He5Rp.js.gz} +0 -0
  773. /package/payload/server/public/assets/{array-X0JlPOfd.js → array-DO1uCttT.js} +0 -0
  774. /package/payload/server/public/assets/{array-X0JlPOfd.js.br → array-DO1uCttT.js.br} +0 -0
  775. /package/payload/server/public/assets/{cytoscape.esm-CI2IWMLB.js → cytoscape.esm-DFn2foqy.js} +0 -0
  776. /package/payload/server/public/assets/{cytoscape.esm-CI2IWMLB.js.br → cytoscape.esm-DFn2foqy.js.br} +0 -0
  777. /package/payload/server/public/assets/{cytoscape.esm-CI2IWMLB.js.gz → cytoscape.esm-DFn2foqy.js.gz} +0 -0
  778. /package/payload/server/public/assets/{defaultLocale-B6RGN4id.js → defaultLocale-ieI3yFoA.js} +0 -0
  779. /package/payload/server/public/assets/{defaultLocale-B6RGN4id.js.br → defaultLocale-ieI3yFoA.js.br} +0 -0
  780. /package/payload/server/public/assets/{defaultLocale-B6RGN4id.js.gz → defaultLocale-ieI3yFoA.js.gz} +0 -0
  781. /package/payload/server/public/assets/{dist-QvbmK1IP.js → dist-DlU7AEeD.js} +0 -0
  782. /package/payload/server/public/assets/{dist-QvbmK1IP.js.br → dist-DlU7AEeD.js.br} +0 -0
  783. /package/payload/server/public/assets/{dist-QvbmK1IP.js.gz → dist-DlU7AEeD.js.gz} +0 -0
  784. /package/payload/server/public/assets/{init-BmUWJJHz.js → init-BCRlEgNP.js} +0 -0
  785. /package/payload/server/public/assets/{init-BmUWJJHz.js.br → init-BCRlEgNP.js.br} +0 -0
  786. /package/payload/server/public/assets/{init-BmUWJJHz.js.gz → init-BCRlEgNP.js.gz} +0 -0
  787. /package/payload/server/public/assets/{katex-BjZuzSQn.js → katex-gkTaZgi6.js} +0 -0
  788. /package/payload/server/public/assets/{katex-BjZuzSQn.js.br → katex-gkTaZgi6.js.br} +0 -0
  789. /package/payload/server/public/assets/{katex-BjZuzSQn.js.gz → katex-gkTaZgi6.js.gz} +0 -0
  790. /package/payload/server/public/assets/{path-CoPyR7c2.js → path-DTmzQFjQ.js} +0 -0
  791. /package/payload/server/public/assets/{path-CoPyR7c2.js.br → path-DTmzQFjQ.js.br} +0 -0
  792. /package/payload/server/public/assets/{path-CoPyR7c2.js.gz → path-DTmzQFjQ.js.gz} +0 -0
  793. /package/payload/server/public/assets/{preload-helper-BQrMkyGX.js → preload-helper-eAV8hweq.js} +0 -0
  794. /package/payload/server/public/assets/{preload-helper-BQrMkyGX.js.br → preload-helper-eAV8hweq.js.br} +0 -0
  795. /package/payload/server/public/assets/{preload-helper-BQrMkyGX.js.gz → preload-helper-eAV8hweq.js.gz} +0 -0
  796. /package/payload/server/public/assets/{rough.esm-jSt7UMyi.js → rough.esm-BFJ-MgcB.js} +0 -0
  797. /package/payload/server/public/assets/{rough.esm-jSt7UMyi.js.br → rough.esm-BFJ-MgcB.js.br} +0 -0
  798. /package/payload/server/public/assets/{rough.esm-jSt7UMyi.js.gz → rough.esm-BFJ-MgcB.js.gz} +0 -0
  799. /package/payload/server/public/assets/{src-C2WwTWSY.js → src-9CNk4JU0.js} +0 -0
  800. /package/payload/server/public/assets/{src-C2WwTWSY.js.br → src-9CNk4JU0.js.br} +0 -0
  801. /package/payload/server/public/assets/{src-C2WwTWSY.js.gz → src-9CNk4JU0.js.gz} +0 -0
  802. /package/payload/server/public/assets/{useSubAccountSwitcher-C_1E11Dv.js → useSubAccountSwitcher-CnpeWIYq.js} +0 -0
  803. /package/payload/server/public/assets/{useSubAccountSwitcher-C_1E11Dv.js.br → useSubAccountSwitcher-CnpeWIYq.js.br} +0 -0
  804. /package/payload/server/public/assets/{useSubAccountSwitcher-C_1E11Dv.js.gz → useSubAccountSwitcher-CnpeWIYq.js.gz} +0 -0
@@ -1,458 +0,0 @@
1
- # Graph top-level label allowlist ontology single-source — Implementation Plan
2
-
3
- > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
4
-
5
- **Goal:** Make the `/graph` filter-popover chip allowlist (and the two other server routes that read the same set) derive from each vertical's `## Top-level node types` schema table instead of the hardcoded `FILTER_TOP_LEVEL_LABELS`, so a top-level label added to a vertical schema surfaces as a chip with no TypeScript edit, while preserving today's exact chip visibility.
6
-
7
- **Architecture:** A new server-only module `platform/ui/server/lib/top-level-labels.ts` reads every `platform/plugins/memory/references/schema-*.md`, extracts the `Neo4j Label` column of each file's `## Top-level node types` table, and unions those with an explicit `STATIC_TOP_LEVEL_LABELS` const (base-schema infra plus verticals lacking a top-level section). The three server routes (`graph-labels-in-graph`, `graph-subgraph`, `graph-default-view`) call `getTopLevelLabelAllowlist()` instead of importing `FILTER_TOP_LEVEL_LABELS`. Count-gating in the cypher is unchanged.
8
-
9
- **Tech Stack:** TypeScript (ES modules), Node `fs` (`readdirSync`/`readFileSync`), Vitest, Hono routes.
10
-
11
- ## Global Constraints
12
-
13
- - Derived union MUST deep-equal today's `FILTER_TOP_LEVEL_LABELS` (48 members) against the real references dir — the byte-identical acceptance baseline.
14
- - No `schema:` namespace filter: every row of a `## Top-level node types` table contributes its `Neo4j Label`, so `WhatsAppGroup` (`cdm:Channel`) stays a chip.
15
- - The `Neo4j Label` column is resolved by header name, never by index (construction table has 5 columns, estate-agent 4).
16
- - The new module is server-only (reads files). `FILTER_TOP_LEVEL_LABELS` stays in `app/lib/graph-labels.ts` for the client `searchHelpers.ts`.
17
- - `getTopLevelLabelAllowlist()` returns a `ReadonlySet<string>` so `.has()` and spread work at every call site.
18
- - Observability line on computation: `op=top-level-labels source=ontology count=<n> files=<...> derived=<d> static=<s>`, written to stderr via `console.error`.
19
- - No em-dashes in any shipped log string. No task numbers in operator-visible strings or log lines.
20
- - Path resolution mirrors `server/index.ts`: `process.env.MAXY_PLATFORM_ROOT ?? join(__dirname, '..')`, then `plugins/memory/references`.
21
-
22
- ---
23
-
24
- ### Task 1: The derivation module and its regression test
25
-
26
- **Files:**
27
- - Create: `platform/ui/server/lib/top-level-labels.ts`
28
- - Test: `platform/ui/server/lib/top-level-labels.test.ts`
29
-
30
- **Interfaces:**
31
- - Produces: `getTopLevelLabelAllowlist(opts?: { referencesDir?: string }): ReadonlySet<string>` and `STATIC_TOP_LEVEL_LABELS: ReadonlySet<string>`.
32
- - Consumes: nothing from earlier tasks. Reads `FILTER_TOP_LEVEL_LABELS` from `../../app/lib/graph-labels` in the test only.
33
-
34
- - [ ] **Step 1: Write the failing test**
35
-
36
- ```ts
37
- // platform/ui/server/lib/top-level-labels.test.ts
38
- import { describe, it, expect } from 'vitest'
39
- import { resolve } from 'node:path'
40
- import { mkdtempSync, writeFileSync, mkdirSync } from 'node:fs'
41
- import { tmpdir } from 'node:os'
42
- import { getTopLevelLabelAllowlist } from './top-level-labels'
43
- import { FILTER_TOP_LEVEL_LABELS } from '../../app/lib/graph-labels'
44
-
45
- // The real shipped references directory (four hops up from this test file:
46
- // server/lib -> server -> ui -> platform -> plugins/memory/references).
47
- const REAL_REFERENCES = resolve(
48
- import.meta.dirname,
49
- '../../../plugins/memory/references',
50
- )
51
-
52
- describe('getTopLevelLabelAllowlist', () => {
53
- it('deep-equals FILTER_TOP_LEVEL_LABELS against the real references dir', () => {
54
- const derived = getTopLevelLabelAllowlist({ referencesDir: REAL_REFERENCES })
55
- expect([...derived].sort()).toEqual([...FILTER_TOP_LEVEL_LABELS].sort())
56
- })
57
-
58
- it('surfaces a new top-level row with no TypeScript edit', () => {
59
- const dir = mkdtempSync(resolve(tmpdir(), 'tll-'))
60
- writeFileSync(
61
- resolve(dir, 'schema-widgets.md'),
62
- [
63
- '# Widgets',
64
- '',
65
- '## Top-level node types (operator-entry, natural key)',
66
- '',
67
- '| Entity | Neo4j Label | Schema.org Type | Required Properties |',
68
- '|--------|-------------|-----------------|---------------------|',
69
- '| Widget | `Widget` | `schema:Product` | `accountId`, `sku` |',
70
- '',
71
- ].join('\n'),
72
- )
73
- const derived = getTopLevelLabelAllowlist({ referencesDir: dir })
74
- expect(derived.has('Widget')).toBe(true)
75
- })
76
-
77
- it('includes a cdm:-namespaced top-level row (no namespace filter)', () => {
78
- const dir = mkdtempSync(resolve(tmpdir(), 'tll-'))
79
- writeFileSync(
80
- resolve(dir, 'schema-transport.md'),
81
- [
82
- '## Top-level node types',
83
- '',
84
- '| Entity | Neo4j Label | Schema.org Type | Required Properties |',
85
- '|--------|-------------|-----------------|---------------------|',
86
- '| Channel | `SomeChannel` | `cdm:Channel` | `accountId`, `id` |',
87
- '',
88
- ].join('\n'),
89
- )
90
- const derived = getTopLevelLabelAllowlist({ referencesDir: dir })
91
- expect(derived.has('SomeChannel')).toBe(true)
92
- })
93
-
94
- it('ignores tables that are not under a Top-level node types heading', () => {
95
- const dir = mkdtempSync(resolve(tmpdir(), 'tll-'))
96
- writeFileSync(
97
- resolve(dir, 'schema-child.md'),
98
- [
99
- '## Child node types (reached via parent neighbourhood)',
100
- '',
101
- '| Entity | Neo4j Label | Schema.org Type | Required Properties |',
102
- '|--------|-------------|-----------------|---------------------|',
103
- '| Line | `QuoteLine` | `schema:Thing` | `accountId`, `id` |',
104
- '',
105
- ].join('\n'),
106
- )
107
- const derived = getTopLevelLabelAllowlist({ referencesDir: dir })
108
- // Only the STATIC base labels survive; QuoteLine is a child, not top-level.
109
- expect(derived.has('QuoteLine')).toBe(false)
110
- expect(derived.has('Person')).toBe(true)
111
- })
112
- })
113
- ```
114
-
115
- - [ ] **Step 2: Run test to verify it fails**
116
-
117
- Run: `cd platform/ui && npx vitest run server/lib/top-level-labels.test.ts`
118
- Expected: FAIL — `getTopLevelLabelAllowlist` is not exported / module not found.
119
-
120
- - [ ] **Step 3: Write minimal implementation**
121
-
122
- ```ts
123
- // platform/ui/server/lib/top-level-labels.ts
124
- /**
125
- * Server-side derivation of the /graph top-level chip allowlist from the
126
- * per-vertical ontology.
127
- *
128
- * The allowlist is the union of two sources:
129
- * 1. The `Neo4j Label` column of every `## Top-level node types` table in
130
- * `plugins/memory/references/schema-*.md`. Today only schema-construction
131
- * and schema-estate-agent carry that section; more arrive as verticals
132
- * gain one.
133
- * 2. `STATIC_TOP_LEVEL_LABELS` — base-schema infra (schema-base.md has no
134
- * top-level section; its Node Types table mixes in child types) plus any
135
- * vertical whose schema has no top-level section yet.
136
- *
137
- * No namespace filter: every row contributes its label, so transport labels
138
- * like WhatsAppGroup (cdm:Channel) stay chips. This differs from the account
139
- * file-schema generator, which excludes non-schema: rows because a channel
140
- * has no file bucket. A channel is still a legitimate operator-entry graph node.
141
- */
142
- import { readdirSync, readFileSync } from 'node:fs'
143
- import { join, resolve } from 'node:path'
144
-
145
- /**
146
- * Top-level labels not (yet) sourced from a vertical `## Top-level node types`
147
- * section. This set shrinks as verticals gain a top-level section; each such
148
- * change moves its labels from here into the derived union.
149
- */
150
- export const STATIC_TOP_LEVEL_LABELS: ReadonlySet<string> = Object.freeze(
151
- new Set([
152
- // Base-schema infra (schema-base.md has no top-level section).
153
- 'LocalBusiness',
154
- 'Service',
155
- 'PriceSpecification',
156
- 'OpeningHoursSpecification',
157
- 'Organization',
158
- 'Person',
159
- 'UserProfile',
160
- 'Preference',
161
- 'AdminUser',
162
- 'AccessGrant',
163
- 'KnowledgeDocument',
164
- 'DigitalDocument',
165
- 'CreativeWork',
166
- 'Question',
167
- 'FAQPage',
168
- 'DefinedTerm',
169
- 'Review',
170
- 'ImageObject',
171
- 'Invoice',
172
- 'Task',
173
- 'Project',
174
- 'Event',
175
- 'Workflow',
176
- 'Email',
177
- 'EmailAccount',
178
- 'Agent',
179
- // Knowledge-work vertical: schema-knowledge-work.md has no top-level
180
- // section yet.
181
- 'Objective',
182
- 'KeyResult',
183
- 'Decision',
184
- 'Risk',
185
- 'Source',
186
- 'Finding',
187
- 'Hypothesis',
188
- ]),
189
- ) as ReadonlySet<string>
190
-
191
- /**
192
- * Split a pipe-delimited markdown row into trimmed cells, honouring backtick
193
- * code-spans so a `|` inside `` `A|B` `` does not split the row. Strips the
194
- * optional leading/trailing pipes.
195
- */
196
- function splitPipeRow(row: string): string[] {
197
- let trimmed = row.trim()
198
- if (trimmed.startsWith('|')) trimmed = trimmed.slice(1)
199
- if (trimmed.endsWith('|')) trimmed = trimmed.slice(0, -1)
200
- const cells: string[] = []
201
- let inBacktick = false
202
- let start = 0
203
- for (let i = 0; i < trimmed.length; i++) {
204
- const ch = trimmed[i]
205
- if (ch === '`') inBacktick = !inBacktick
206
- else if (ch === '|' && !inBacktick) {
207
- cells.push(trimmed.slice(start, i).trim())
208
- start = i + 1
209
- }
210
- }
211
- cells.push(trimmed.slice(start).trim())
212
- return cells
213
- }
214
-
215
- const stripBackticks = (s: string): string => s.replace(/`/g, '').trim()
216
-
217
- /**
218
- * Extract the `Neo4j Label` column of the first pipe-table beneath a
219
- * `## Top-level node types` heading. Returns [] when the file has no such
220
- * section. The heading is matched by case-insensitive prefix so the
221
- * `(operator-entry, natural key)` suffix is tolerated; parsing stops at the
222
- * next `## ` heading.
223
- */
224
- function parseTopLevelLabels(content: string): string[] {
225
- const lines = content.split(/\r?\n/)
226
- let i = 0
227
- // Find the heading.
228
- while (i < lines.length) {
229
- const l = lines[i]
230
- if (l.startsWith('## ') && l.toLowerCase().includes('top-level node types')) break
231
- i++
232
- }
233
- if (i >= lines.length) return []
234
- i++
235
- // Find the header row of the first table before the next `## `.
236
- for (; i < lines.length - 1; i++) {
237
- const line = lines[i]
238
- if (line.startsWith('## ')) return []
239
- if (!line.includes('|')) continue
240
- const sep = lines[i + 1]
241
- if (!/^\s*\|?[\s:|-]+\|?\s*$/.test(sep) || !sep.includes('-')) continue
242
- const headers = splitPipeRow(line)
243
- const labelCol = headers.findIndex((h) => h.toLowerCase() === 'neo4j label')
244
- if (labelCol === -1) return []
245
- const out: string[] = []
246
- let j = i + 2
247
- for (; j < lines.length; j++) {
248
- const row = lines[j]
249
- if (!row.trim() || !row.includes('|')) break
250
- const cells = splitPipeRow(row)
251
- const label = stripBackticks(cells[labelCol] ?? '')
252
- if (label) out.push(label)
253
- }
254
- return out
255
- }
256
- return []
257
- }
258
-
259
- function resolveReferencesDir(): string {
260
- // Production: MAXY_PLATFORM_ROOT is `<install>/platform`, and the schema
261
- // references live at `<platform>/plugins/memory/references` (same root
262
- // schema-loader.ts resolves brand.json against).
263
- if (process.env.MAXY_PLATFORM_ROOT) {
264
- return join(process.env.MAXY_PLATFORM_ROOT, 'plugins', 'memory', 'references')
265
- }
266
- // Dev fallback (env unset, unbundled): three hops up from this source file,
267
- // server/lib -> server -> ui -> platform, then plugins/memory/references.
268
- return resolve(import.meta.dirname, '../../../plugins/memory/references')
269
- }
270
-
271
- let cached: ReadonlySet<string> | null = null
272
-
273
- /**
274
- * The /graph top-level chip allowlist, derived from the ontology. Cached at
275
- * module scope because schema files are static per install. An injected
276
- * `referencesDir` (tests) bypasses the cache and does not populate it.
277
- */
278
- export function getTopLevelLabelAllowlist(
279
- opts: { referencesDir?: string } = {},
280
- ): ReadonlySet<string> {
281
- if (!opts.referencesDir && cached) return cached
282
-
283
- const referencesDir = opts.referencesDir ?? resolveReferencesDir()
284
- const fileNames = readdirSync(referencesDir)
285
- .filter((f) => f.startsWith('schema-') && f.endsWith('.md'))
286
- .sort()
287
-
288
- const derived = new Set<string>()
289
- const contributingFiles: string[] = []
290
- for (const fileName of fileNames) {
291
- const content = readFileSync(join(referencesDir, fileName), 'utf-8')
292
- const labels = parseTopLevelLabels(content)
293
- if (labels.length > 0) contributingFiles.push(fileName)
294
- for (const label of labels) derived.add(label)
295
- }
296
-
297
- const derivedCount = derived.size
298
- for (const label of STATIC_TOP_LEVEL_LABELS) derived.add(label)
299
-
300
- const result = Object.freeze(derived) as ReadonlySet<string>
301
- process.stderr.write(
302
- `[graph-page] op=top-level-labels source=ontology count=${derived.size} ` +
303
- `files=${contributingFiles.join('|') || 'none'} derived=${derivedCount} ` +
304
- `static=${STATIC_TOP_LEVEL_LABELS.size}\n`,
305
- )
306
-
307
- if (!opts.referencesDir) cached = result
308
- return result
309
- }
310
- ```
311
-
312
- - [ ] **Step 4: Run test to verify it passes**
313
-
314
- Run: `cd platform/ui && npx vitest run server/lib/top-level-labels.test.ts`
315
- Expected: PASS — all four tests green. If the deep-equal test fails, the diff names the drifted label(s); reconcile `STATIC_TOP_LEVEL_LABELS` against `FILTER_TOP_LEVEL_LABELS` (do not weaken the assertion).
316
-
317
- - [ ] **Step 5: Commit**
318
-
319
- ```bash
320
- git add platform/ui/server/lib/top-level-labels.ts platform/ui/server/lib/top-level-labels.test.ts
321
- git commit -m "feat: derive /graph top-level chip allowlist from vertical ontology (1624)"
322
- ```
323
-
324
- ---
325
-
326
- ### Task 2: Point the three server routes at the derived allowlist
327
-
328
- **Files:**
329
- - Modify: `platform/ui/server/routes/admin/graph-labels-in-graph.ts`
330
- - Modify: `platform/ui/server/routes/admin/graph-subgraph.ts`
331
- - Modify: `platform/ui/server/routes/admin/graph-default-view.ts`
332
-
333
- **Interfaces:**
334
- - Consumes: `getTopLevelLabelAllowlist(): ReadonlySet<string>` from Task 1.
335
- - Produces: nothing new; behaviour of the three routes is unchanged because the derived set deep-equals `FILTER_TOP_LEVEL_LABELS`.
336
-
337
- - [ ] **Step 1: Confirm the existing route tests pass before the swap (baseline)**
338
-
339
- Run: `cd platform/ui && npx vitest run app/graph/__tests__/labels-in-graph.test.ts server/routes/__tests__/graph-default-topLevel.test.ts`
340
- Expected: PASS. This is the regression baseline the swap must preserve.
341
-
342
- - [ ] **Step 2: Swap the popover route**
343
-
344
- In `graph-labels-in-graph.ts`, change the import block
345
-
346
- ```ts
347
- import {
348
- FILTER_TOP_LEVEL_LABELS,
349
- AGENT_ACTION_LABELS,
350
- } from '../../../app/lib/graph-labels'
351
- ```
352
-
353
- to
354
-
355
- ```ts
356
- import { AGENT_ACTION_LABELS } from '../../../app/lib/graph-labels'
357
- import { getTopLevelLabelAllowlist } from '../../lib/top-level-labels'
358
- ```
359
-
360
- and change the allowlist construction (currently `new Set<string>(FILTER_TOP_LEVEL_LABELS)`)
361
-
362
- ```ts
363
- const allowedSet = new Set<string>(getTopLevelLabelAllowlist())
364
- if (includeAgentActions) {
365
- for (const label of AGENT_ACTION_LABELS) allowedSet.add(label)
366
- }
367
- ```
368
-
369
- - [ ] **Step 3: Swap the default-view fetch route**
370
-
371
- In `graph-subgraph.ts`, remove `FILTER_TOP_LEVEL_LABELS` from the `../../../app/lib/graph-labels` import (keep `HIDDEN_BY_DEFAULT_LABELS` and any others it imports), add `import { getTopLevelLabelAllowlist } from '../../lib/top-level-labels'`, and change line ~280
372
-
373
- ```ts
374
- const labels = [...getTopLevelLabelAllowlist()].filter((l) => !HIDDEN_BY_DEFAULT_LABELS.has(l))
375
- ```
376
-
377
- - [ ] **Step 4: Swap the eligibility route**
378
-
379
- In `graph-default-view.ts`, replace
380
-
381
- ```ts
382
- import { FILTER_TOP_LEVEL_LABELS } from '../../../app/lib/graph-labels'
383
- ```
384
-
385
- with
386
-
387
- ```ts
388
- import { getTopLevelLabelAllowlist } from '../../lib/top-level-labels'
389
- ```
390
-
391
- and change the eligibility check (line ~158)
392
-
393
- ```ts
394
- if (!getTopLevelLabelAllowlist().has(lbl)) {
395
- ```
396
-
397
- Update the adjacent `reason` string to drop the parenthetical `(FILTER_TOP_LEVEL_LABELS)` naming so no internal set name leaks; keep the operator-facing text: `label "${lbl}" is not eligible for default view — outside the chip allowlist`.
398
-
399
- - [ ] **Step 5: Run the route tests to verify no behaviour change**
400
-
401
- Run: `cd platform/ui && npx vitest run app/graph/__tests__/labels-in-graph.test.ts server/routes/__tests__/graph-default-topLevel.test.ts`
402
- Expected: PASS — the derived set equals `FILTER_TOP_LEVEL_LABELS`, so every assertion still holds.
403
-
404
- - [ ] **Step 6: Typecheck the UI package**
405
-
406
- Run: `cd platform/ui && npx tsc --noEmit`
407
- Expected: no errors (no unused-import errors for the removed `FILTER_TOP_LEVEL_LABELS`).
408
-
409
- - [ ] **Step 7: Commit**
410
-
411
- ```bash
412
- git add platform/ui/server/routes/admin/graph-labels-in-graph.ts platform/ui/server/routes/admin/graph-subgraph.ts platform/ui/server/routes/admin/graph-default-view.ts
413
- git commit -m "refactor: three /graph server routes read the ontology-derived allowlist (1624)"
414
- ```
415
-
416
- ---
417
-
418
- ### Task 3: Update the graph-labels doc comment and file the client follow-up
419
-
420
- **Files:**
421
- - Modify: `platform/ui/app/lib/graph-labels.ts` (comment only — the set stays for the client)
422
- - Create: `.tasks/NNNN-graph-searchhelpers-derive-top-level-from-ontology.md` (number assigned at land time from LANES)
423
-
424
- **Interfaces:**
425
- - Consumes: nothing. Documentation and task-tracking only.
426
-
427
- - [ ] **Step 1: Annotate `FILTER_TOP_LEVEL_LABELS` as the client-only mirror**
428
-
429
- Add a sentence to the `FILTER_TOP_LEVEL_LABELS` doc block in `graph-labels.ts` recording that the server routes now derive this set from the vertical ontology (`server/lib/top-level-labels.ts`), and that this constant remains only for the client `searchHelpers.ts`, which cannot read files. Do not change the set members.
430
-
431
- - [ ] **Step 2: Write the follow-up task file**
432
-
433
- Create the task file describing: plumb the ontology-derived allowlist to the client `app/data/searchHelpers.ts` so its `/data` search chip pre-filter stops reading the static `FILTER_TOP_LEVEL_LABELS`, closing the last second source. In scope: deliver the derived set to the client (via the `graph-labels-in-graph` response the page already fetches, or an equivalent). Out of scope: the server routes (done here). Include Testing and Observability sections per the `.tasks` format.
434
-
435
- - [ ] **Step 3: Commit**
436
-
437
- ```bash
438
- git add platform/ui/app/lib/graph-labels.ts .tasks/NNNN-graph-searchhelpers-derive-top-level-from-ontology.md
439
- git commit -m "docs: mark FILTER_TOP_LEVEL_LABELS client-only; file searchHelpers follow-up (1624)"
440
- ```
441
-
442
- ---
443
-
444
- ## Self-Review
445
-
446
- **Spec coverage:**
447
- - New module + derivation → Task 1. ✅
448
- - Three server routes switch → Task 2. ✅
449
- - Byte-identical baseline → Task 1 Step 1 deep-equal test + Task 2 route tests. ✅
450
- - No namespace filter (WhatsAppGroup) → Task 1 Step 1 cdm test + the real-dir deep-equal (which contains WhatsAppGroup). ✅
451
- - Base list explicit → `STATIC_TOP_LEVEL_LABELS` in Task 1. ✅
452
- - Observability line → Task 1 Step 3 `process.stderr.write`. ✅
453
- - Client follow-up filed → Task 3. ✅
454
- - Count-gating unchanged → cypher untouched in Task 2; asserted by the pre-existing route tests. ✅
455
-
456
- **Placeholder scan:** The only deferred value is the follow-up task number (`NNNN`), assigned from LANES at archive time per sprint protocol — not a code placeholder.
457
-
458
- **Type consistency:** `getTopLevelLabelAllowlist(opts?: { referencesDir?: string }): ReadonlySet<string>` is used identically in Task 1 (definition), Task 1 test, and all three Task 2 call sites. `STATIC_TOP_LEVEL_LABELS` is a `ReadonlySet<string>`. Call sites use `.has()` and spread, both valid on `ReadonlySet`.