@rubytech/create-sitedesk-code 0.1.527 → 0.1.528

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 (705) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/plugins/admin/hooks/__tests__/fs-schema-guard.test.sh +82 -1
  3. package/payload/platform/plugins/admin/hooks/fs-schema-guard.sh +45 -13
  4. package/payload/platform/plugins/admin/mcp/dist/index.js +18 -4
  5. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  6. package/payload/platform/plugins/admin/mcp/dist/tools/logs-read-mcp.d.ts +16 -0
  7. package/payload/platform/plugins/admin/mcp/dist/tools/logs-read-mcp.d.ts.map +1 -0
  8. package/payload/platform/plugins/admin/mcp/dist/tools/logs-read-mcp.js +69 -0
  9. package/payload/platform/plugins/admin/mcp/dist/tools/logs-read-mcp.js.map +1 -0
  10. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +62 -4
  11. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +7 -0
  12. package/payload/platform/plugins/docs/references/admin-ui.md +58 -1
  13. package/payload/platform/plugins/docs/references/deployment.md +1 -1
  14. package/payload/platform/plugins/docs/references/plugins-guide.md +2 -1
  15. package/payload/platform/plugins/email/.claude-plugin/plugin.json +1 -1
  16. package/payload/platform/plugins/email/PLUGIN.md +8 -3
  17. package/payload/platform/plugins/email/mcp/dist/__tests__/compose-signature.test.js +61 -4
  18. package/payload/platform/plugins/email/mcp/dist/__tests__/compose-signature.test.js.map +1 -1
  19. package/payload/platform/plugins/email/mcp/dist/__tests__/email-draft-edit.test.js +41 -0
  20. package/payload/platform/plugins/email/mcp/dist/__tests__/email-draft-edit.test.js.map +1 -1
  21. package/payload/platform/plugins/email/mcp/dist/__tests__/email-draft.test.js +47 -1
  22. package/payload/platform/plugins/email/mcp/dist/__tests__/email-draft.test.js.map +1 -1
  23. package/payload/platform/plugins/email/mcp/dist/__tests__/email-sending-identity-set.test.d.ts +2 -0
  24. package/payload/platform/plugins/email/mcp/dist/__tests__/email-sending-identity-set.test.d.ts.map +1 -0
  25. package/payload/platform/plugins/email/mcp/dist/__tests__/email-sending-identity-set.test.js +184 -0
  26. package/payload/platform/plugins/email/mcp/dist/__tests__/email-sending-identity-set.test.js.map +1 -0
  27. package/payload/platform/plugins/email/mcp/dist/__tests__/email-signature-set.test.js +8 -5
  28. package/payload/platform/plugins/email/mcp/dist/__tests__/email-signature-set.test.js.map +1 -1
  29. package/payload/platform/plugins/email/mcp/dist/__tests__/email-status.test.js +64 -0
  30. package/payload/platform/plugins/email/mcp/dist/__tests__/email-status.test.js.map +1 -1
  31. package/payload/platform/plugins/email/mcp/dist/__tests__/mailbox-resolve.test.js +132 -0
  32. package/payload/platform/plugins/email/mcp/dist/__tests__/mailbox-resolve.test.js.map +1 -1
  33. package/payload/platform/plugins/email/mcp/dist/__tests__/signature.test.js +93 -11
  34. package/payload/platform/plugins/email/mcp/dist/__tests__/signature.test.js.map +1 -1
  35. package/payload/platform/plugins/email/mcp/dist/index.js +34 -3
  36. package/payload/platform/plugins/email/mcp/dist/index.js.map +1 -1
  37. package/payload/platform/plugins/email/mcp/dist/lib/compose.d.ts +2 -1
  38. package/payload/platform/plugins/email/mcp/dist/lib/compose.d.ts.map +1 -1
  39. package/payload/platform/plugins/email/mcp/dist/lib/compose.js +13 -2
  40. package/payload/platform/plugins/email/mcp/dist/lib/compose.js.map +1 -1
  41. package/payload/platform/plugins/email/mcp/dist/lib/credentials.d.ts +47 -2
  42. package/payload/platform/plugins/email/mcp/dist/lib/credentials.d.ts.map +1 -1
  43. package/payload/platform/plugins/email/mcp/dist/lib/credentials.js +92 -5
  44. package/payload/platform/plugins/email/mcp/dist/lib/credentials.js.map +1 -1
  45. package/payload/platform/plugins/email/mcp/dist/lib/signature.d.ts +55 -7
  46. package/payload/platform/plugins/email/mcp/dist/lib/signature.d.ts.map +1 -1
  47. package/payload/platform/plugins/email/mcp/dist/lib/signature.js +72 -9
  48. package/payload/platform/plugins/email/mcp/dist/lib/signature.js.map +1 -1
  49. package/payload/platform/plugins/email/mcp/dist/tools/email-draft-edit.d.ts.map +1 -1
  50. package/payload/platform/plugins/email/mcp/dist/tools/email-draft-edit.js +5 -2
  51. package/payload/platform/plugins/email/mcp/dist/tools/email-draft-edit.js.map +1 -1
  52. package/payload/platform/plugins/email/mcp/dist/tools/email-draft.d.ts.map +1 -1
  53. package/payload/platform/plugins/email/mcp/dist/tools/email-draft.js +6 -3
  54. package/payload/platform/plugins/email/mcp/dist/tools/email-draft.js.map +1 -1
  55. package/payload/platform/plugins/email/mcp/dist/tools/email-sending-identity-set.d.ts +20 -0
  56. package/payload/platform/plugins/email/mcp/dist/tools/email-sending-identity-set.d.ts.map +1 -0
  57. package/payload/platform/plugins/email/mcp/dist/tools/email-sending-identity-set.js +32 -0
  58. package/payload/platform/plugins/email/mcp/dist/tools/email-sending-identity-set.js.map +1 -0
  59. package/payload/platform/plugins/email/mcp/dist/tools/email-status.d.ts.map +1 -1
  60. package/payload/platform/plugins/email/mcp/dist/tools/email-status.js +22 -2
  61. package/payload/platform/plugins/email/mcp/dist/tools/email-status.js.map +1 -1
  62. package/payload/platform/plugins/email/references/email-reference.md +11 -3
  63. package/payload/platform/plugins/email/skills/email-composition/SKILL.md +3 -0
  64. package/payload/platform/plugins/email/skills/email-signature/SKILL.md +27 -9
  65. package/payload/platform/scripts/__tests__/vnc-cdp-liveness.test.sh +25 -2
  66. package/payload/platform/scripts/vnc.sh +34 -26
  67. package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.d.ts +24 -1
  68. package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.d.ts.map +1 -1
  69. package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.js +84 -3
  70. package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.js.map +1 -1
  71. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
  72. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +1 -0
  73. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
  74. package/payload/platform/templates/specialists/agents/personal-assistant.md +1 -1
  75. package/payload/server/{chunk-XCR5D2G3.js → chunk-BP7LH7MC.js} +0 -1
  76. package/payload/server/{chunk-KY3BBT67.js → chunk-DLG7XSLA.js} +1 -1
  77. package/payload/server/{chunk-7MGR5M6G.js → chunk-UTIHI6KV.js} +1 -1
  78. package/payload/server/{manager-6XOWHREK.js → manager-B4LRDZKC.js} +2 -2
  79. package/payload/server/maxy-edge.js +2 -2
  80. package/payload/server/public/activity.html +5 -5
  81. package/payload/server/public/agents.html +4 -4
  82. package/payload/server/public/assets/AdminLoginScreens-Bx9vPuUg.js +1 -0
  83. package/payload/server/public/assets/AdminLoginScreens-Bx9vPuUg.js.br +0 -0
  84. package/payload/server/public/assets/AdminLoginScreens-Bx9vPuUg.js.gz +0 -0
  85. package/payload/server/public/assets/AdminShell-BxJPbC3p.js +2 -0
  86. package/payload/server/public/assets/AdminShell-BxJPbC3p.js.br +0 -0
  87. package/payload/server/public/assets/AdminShell-BxJPbC3p.js.gz +0 -0
  88. package/payload/server/public/assets/CdpScreencastSurface-5HLhTQTV.js +1 -0
  89. package/payload/server/public/assets/CdpScreencastSurface-5HLhTQTV.js.br +0 -0
  90. package/payload/server/public/assets/CdpScreencastSurface-5HLhTQTV.js.gz +0 -0
  91. package/payload/server/public/assets/{activity-aVvbaVd4.js → activity-BaSYn62l.js} +1 -1
  92. package/payload/server/public/assets/activity-BaSYn62l.js.br +0 -0
  93. package/payload/server/public/assets/activity-BaSYn62l.js.gz +0 -0
  94. package/payload/server/public/assets/admin-CYCKrV_x.js +1 -0
  95. package/payload/server/public/assets/admin-CYCKrV_x.js.br +0 -0
  96. package/payload/server/public/assets/admin-CYCKrV_x.js.gz +0 -0
  97. package/payload/server/public/assets/{agents-CrpVTPRG.js → agents-D8EJG-ta.js} +1 -1
  98. package/payload/server/public/assets/agents-D8EJG-ta.js.br +0 -0
  99. package/payload/server/public/assets/agents-D8EJG-ta.js.gz +0 -0
  100. package/payload/server/public/assets/{arc-DaudCnXg.js → arc-CHoXZR2f.js} +1 -1
  101. package/payload/server/public/assets/arc-CHoXZR2f.js.br +0 -0
  102. package/payload/server/public/assets/arc-CHoXZR2f.js.gz +0 -0
  103. package/payload/server/public/assets/architecture-YZFGNWBL-CQyo9W6E.js +1 -0
  104. package/payload/server/public/assets/architecture-YZFGNWBL-CQyo9W6E.js.br +0 -0
  105. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-BEEC3s7i.js → architectureDiagram-Q4EWVU46-B8SCI0AR.js} +1 -1
  106. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-B8SCI0AR.js.br +0 -0
  107. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-B8SCI0AR.js.gz +0 -0
  108. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-BIWyfb18.js → blockDiagram-DXYQGD6D-CsJmhz5D.js} +1 -1
  109. package/payload/server/public/assets/blockDiagram-DXYQGD6D-CsJmhz5D.js.br +0 -0
  110. package/payload/server/public/assets/blockDiagram-DXYQGD6D-CsJmhz5D.js.gz +0 -0
  111. package/payload/server/public/assets/browser-D6Y_Zu8C.js +1 -0
  112. package/payload/server/public/assets/browser-D6Y_Zu8C.js.br +0 -0
  113. package/payload/server/public/assets/browser-D6Y_Zu8C.js.gz +0 -0
  114. package/payload/server/public/assets/{c4Diagram-AHTNJAMY--h6oE2cv.js → c4Diagram-AHTNJAMY-CzaSNqcs.js} +1 -1
  115. package/payload/server/public/assets/c4Diagram-AHTNJAMY-CzaSNqcs.js.br +0 -0
  116. package/payload/server/public/assets/c4Diagram-AHTNJAMY-CzaSNqcs.js.gz +0 -0
  117. package/payload/server/public/assets/{calendar-4IWQpwYv.js → calendar-DD4oVa-r.js} +1 -1
  118. package/payload/server/public/assets/calendar-DD4oVa-r.js.br +0 -0
  119. package/payload/server/public/assets/calendar-DD4oVa-r.js.gz +0 -0
  120. package/payload/server/public/assets/channel-Dg_Rah6O.js +1 -0
  121. package/payload/server/public/assets/channel-Dg_Rah6O.js.br +0 -0
  122. package/payload/server/public/assets/chat-CwWs69PO.js +1 -0
  123. package/payload/server/public/assets/chat-CwWs69PO.js.br +0 -0
  124. package/payload/server/public/assets/chat-CwWs69PO.js.gz +0 -0
  125. package/payload/server/public/assets/chevron-left-ClfIy5Fx.js +1 -0
  126. package/payload/server/public/assets/chevron-right-B0QvXpxl.js +1 -0
  127. package/payload/server/public/assets/chevron-right-B0QvXpxl.js.br +0 -0
  128. package/payload/server/public/assets/{chunk-2KRD3SAO-BwEVlnxo.js → chunk-2KRD3SAO-DAN3KCZc.js} +1 -1
  129. package/payload/server/public/assets/chunk-2KRD3SAO-DAN3KCZc.js.br +0 -0
  130. package/payload/server/public/assets/chunk-2KRD3SAO-DAN3KCZc.js.gz +0 -0
  131. package/payload/server/public/assets/{chunk-336JU56O-DQddTATH.js → chunk-336JU56O-Dm-0_lIT.js} +2 -2
  132. package/payload/server/public/assets/chunk-336JU56O-Dm-0_lIT.js.br +0 -0
  133. package/payload/server/public/assets/chunk-336JU56O-Dm-0_lIT.js.gz +0 -0
  134. package/payload/server/public/assets/chunk-426QAEUC-Rh8qTRZB.js +1 -0
  135. package/payload/server/public/assets/chunk-426QAEUC-Rh8qTRZB.js.br +0 -0
  136. package/payload/server/public/assets/chunk-426QAEUC-Rh8qTRZB.js.gz +0 -0
  137. package/payload/server/public/assets/{chunk-4BX2VUAB-C5p3xTC6.js → chunk-4BX2VUAB-C2l9bAlo.js} +1 -1
  138. package/payload/server/public/assets/chunk-4BX2VUAB-C2l9bAlo.js.br +0 -0
  139. package/payload/server/public/assets/chunk-4BX2VUAB-C2l9bAlo.js.gz +0 -0
  140. package/payload/server/public/assets/{chunk-4TB4RGXK-gClfNc1w.js → chunk-4TB4RGXK-BMXDzU09.js} +1 -1
  141. package/payload/server/public/assets/chunk-4TB4RGXK-BMXDzU09.js.br +0 -0
  142. package/payload/server/public/assets/chunk-4TB4RGXK-BMXDzU09.js.gz +0 -0
  143. package/payload/server/public/assets/{chunk-55IACEB6-DDU_m1ra.js → chunk-55IACEB6-CbMYAZon.js} +1 -1
  144. package/payload/server/public/assets/chunk-55IACEB6-CbMYAZon.js.br +0 -0
  145. package/payload/server/public/assets/chunk-55IACEB6-CbMYAZon.js.gz +0 -0
  146. package/payload/server/public/assets/{chunk-5FUZZQ4R-CZ2jQWNR.js → chunk-5FUZZQ4R-DjdsuxLA.js} +1 -1
  147. package/payload/server/public/assets/chunk-5FUZZQ4R-DjdsuxLA.js.br +0 -0
  148. package/payload/server/public/assets/chunk-5FUZZQ4R-DjdsuxLA.js.gz +0 -0
  149. package/payload/server/public/assets/{chunk-5PVQY5BW-kcZ5kfTg.js → chunk-5PVQY5BW-CGSBzsF6.js} +1 -1
  150. package/payload/server/public/assets/chunk-5PVQY5BW-CGSBzsF6.js.br +0 -0
  151. package/payload/server/public/assets/chunk-5PVQY5BW-CGSBzsF6.js.gz +0 -0
  152. package/payload/server/public/assets/{chunk-67CJDMHE-9W0Qv0jm.js → chunk-67CJDMHE-ClOLWser.js} +1 -1
  153. package/payload/server/public/assets/chunk-67CJDMHE-ClOLWser.js.br +0 -0
  154. package/payload/server/public/assets/chunk-67CJDMHE-ClOLWser.js.gz +0 -0
  155. package/payload/server/public/assets/{chunk-7N4EOEYR-B3gqydR3.js → chunk-7N4EOEYR-BzC1dzY0.js} +1 -1
  156. package/payload/server/public/assets/chunk-7N4EOEYR-BzC1dzY0.js.br +0 -0
  157. package/payload/server/public/assets/chunk-7N4EOEYR-BzC1dzY0.js.gz +0 -0
  158. package/payload/server/public/assets/{chunk-AA7GKIK3-DW8a-2NK.js → chunk-AA7GKIK3-R_pjI1kw.js} +1 -1
  159. package/payload/server/public/assets/chunk-AA7GKIK3-R_pjI1kw.js.br +0 -0
  160. package/payload/server/public/assets/chunk-AA7GKIK3-R_pjI1kw.js.gz +0 -0
  161. package/payload/server/public/assets/{chunk-BSJP7CBP-DqXIO_5R.js → chunk-BSJP7CBP-D2KRAq3U.js} +1 -1
  162. package/payload/server/public/assets/chunk-BSJP7CBP-D2KRAq3U.js.br +0 -0
  163. package/payload/server/public/assets/chunk-BSJP7CBP-D2KRAq3U.js.gz +0 -0
  164. package/payload/server/public/assets/{chunk-CIAEETIT-BMJfgj2u.js → chunk-CIAEETIT-BPGWtrKR.js} +1 -1
  165. package/payload/server/public/assets/chunk-CIAEETIT-BPGWtrKR.js.br +0 -0
  166. package/payload/server/public/assets/chunk-CIAEETIT-BPGWtrKR.js.gz +0 -0
  167. package/payload/server/public/assets/{chunk-EDXVE4YY-BxdLPk0b.js → chunk-EDXVE4YY-tqt7wueu.js} +1 -1
  168. package/payload/server/public/assets/chunk-EDXVE4YY-tqt7wueu.js.br +3 -0
  169. package/payload/server/public/assets/chunk-EDXVE4YY-tqt7wueu.js.gz +0 -0
  170. package/payload/server/public/assets/{chunk-ENJZ2VHE-Cfe2DCjQ.js → chunk-ENJZ2VHE-DJG3cA6E.js} +1 -1
  171. package/payload/server/public/assets/chunk-ENJZ2VHE-DJG3cA6E.js.br +0 -0
  172. package/payload/server/public/assets/chunk-ENJZ2VHE-DJG3cA6E.js.gz +0 -0
  173. package/payload/server/public/assets/{chunk-FMBD7UC4-CdPjwbtf.js → chunk-FMBD7UC4-DO1xgCDf.js} +1 -1
  174. package/payload/server/public/assets/chunk-FMBD7UC4-DO1xgCDf.js.br +2 -0
  175. package/payload/server/public/assets/chunk-FMBD7UC4-DO1xgCDf.js.gz +0 -0
  176. package/payload/server/public/assets/{chunk-FOC6F5B3-Dl6l1KAh.js → chunk-FOC6F5B3-BhWAbCUG.js} +1 -1
  177. package/payload/server/public/assets/chunk-FOC6F5B3-BhWAbCUG.js.br +0 -0
  178. package/payload/server/public/assets/chunk-FOC6F5B3-BhWAbCUG.js.gz +0 -0
  179. package/payload/server/public/assets/{chunk-ICPOFSXX-PnsGrqtx.js → chunk-ICPOFSXX-BhUzt35c.js} +2 -2
  180. package/payload/server/public/assets/chunk-ICPOFSXX-BhUzt35c.js.br +0 -0
  181. package/payload/server/public/assets/chunk-ICPOFSXX-BhUzt35c.js.gz +0 -0
  182. package/payload/server/public/assets/{chunk-K5T4RW27--g29_wjW.js → chunk-K5T4RW27-Boj-qHrX.js} +1 -1
  183. package/payload/server/public/assets/chunk-K5T4RW27-Boj-qHrX.js.br +0 -0
  184. package/payload/server/public/assets/chunk-K5T4RW27-Boj-qHrX.js.gz +0 -0
  185. package/payload/server/public/assets/{chunk-KGLVRYIC-CI77ENeO.js → chunk-KGLVRYIC-3cBRDk1b.js} +1 -1
  186. package/payload/server/public/assets/chunk-KGLVRYIC-3cBRDk1b.js.br +2 -0
  187. package/payload/server/public/assets/chunk-KGLVRYIC-3cBRDk1b.js.gz +0 -0
  188. package/payload/server/public/assets/{chunk-LIHQZDEY-CE-XByg6.js → chunk-LIHQZDEY-CgkLKaII.js} +1 -1
  189. package/payload/server/public/assets/chunk-LIHQZDEY-CgkLKaII.js.br +0 -0
  190. package/payload/server/public/assets/chunk-LIHQZDEY-CgkLKaII.js.gz +0 -0
  191. package/payload/server/public/assets/{chunk-ORNJ4GCN-DkjJQQSm.js → chunk-ORNJ4GCN-Dl449r_k.js} +1 -1
  192. package/payload/server/public/assets/chunk-ORNJ4GCN-Dl449r_k.js.br +0 -0
  193. package/payload/server/public/assets/chunk-ORNJ4GCN-Dl449r_k.js.gz +0 -0
  194. package/payload/server/public/assets/{chunk-OYMX7WX6-DhogFeD7.js → chunk-OYMX7WX6-Dzkj67n6.js} +1 -1
  195. package/payload/server/public/assets/chunk-OYMX7WX6-Dzkj67n6.js.br +0 -0
  196. package/payload/server/public/assets/chunk-OYMX7WX6-Dzkj67n6.js.gz +0 -0
  197. package/payload/server/public/assets/chunk-QZHKN3VN-BDoCtU0N.js +1 -0
  198. package/payload/server/public/assets/chunk-QZHKN3VN-BDoCtU0N.js.br +0 -0
  199. package/payload/server/public/assets/chunk-QZHKN3VN-BDoCtU0N.js.gz +0 -0
  200. package/payload/server/public/assets/{chunk-U2HBQHQK-CeaRXuiO.js → chunk-U2HBQHQK-Dyz9Kbir.js} +1 -1
  201. package/payload/server/public/assets/chunk-U2HBQHQK-Dyz9Kbir.js.br +0 -0
  202. package/payload/server/public/assets/chunk-U2HBQHQK-Dyz9Kbir.js.gz +0 -0
  203. package/payload/server/public/assets/{chunk-X2U36JSP-BqxXeOqf.js → chunk-X2U36JSP-ag0VVCw6.js} +1 -1
  204. package/payload/server/public/assets/chunk-X2U36JSP-ag0VVCw6.js.br +0 -0
  205. package/payload/server/public/assets/chunk-X2U36JSP-ag0VVCw6.js.gz +0 -0
  206. package/payload/server/public/assets/{chunk-XPW4576I-DtqJwn2x.js → chunk-XPW4576I-B-vhDYPE.js} +1 -1
  207. package/payload/server/public/assets/chunk-XPW4576I-B-vhDYPE.js.br +0 -0
  208. package/payload/server/public/assets/chunk-XPW4576I-B-vhDYPE.js.gz +0 -0
  209. package/payload/server/public/assets/{chunk-YZCP3GAM-COBlEwQw.js → chunk-YZCP3GAM-C4COviPb.js} +1 -1
  210. package/payload/server/public/assets/chunk-YZCP3GAM-C4COviPb.js.br +0 -0
  211. package/payload/server/public/assets/chunk-YZCP3GAM-C4COviPb.js.gz +0 -0
  212. package/payload/server/public/assets/{chunk-ZZ45TVLE-CcL088y6.js → chunk-ZZ45TVLE-8dGsCp5b.js} +1 -1
  213. package/payload/server/public/assets/chunk-ZZ45TVLE-8dGsCp5b.js.br +0 -0
  214. package/payload/server/public/assets/chunk-ZZ45TVLE-8dGsCp5b.js.gz +0 -0
  215. package/payload/server/public/assets/classDiagram-6PBFFD2Q-qevfwy5C.js +1 -0
  216. package/payload/server/public/assets/classDiagram-6PBFFD2Q-qevfwy5C.js.br +0 -0
  217. package/payload/server/public/assets/classDiagram-6PBFFD2Q-qevfwy5C.js.gz +0 -0
  218. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-CxOR3aao.js +1 -0
  219. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-CxOR3aao.js.br +0 -0
  220. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-CxOR3aao.js.gz +0 -0
  221. package/payload/server/public/assets/clock-BIaRnIP_.js +1 -0
  222. package/payload/server/public/assets/clock-BIaRnIP_.js.br +0 -0
  223. package/payload/server/public/assets/clock-BIaRnIP_.js.gz +0 -0
  224. package/payload/server/public/assets/clone-CJmzeWWZ.js +1 -0
  225. package/payload/server/public/assets/clone-CJmzeWWZ.js.br +0 -0
  226. package/payload/server/public/assets/{cose-bilkent-S5V4N54A-kEHVkDNn.js → cose-bilkent-S5V4N54A-qM4Q4TuE.js} +1 -1
  227. package/payload/server/public/assets/cose-bilkent-S5V4N54A-qM4Q4TuE.js.br +0 -0
  228. package/payload/server/public/assets/cose-bilkent-S5V4N54A-qM4Q4TuE.js.gz +0 -0
  229. package/payload/server/public/assets/{dagre-D2wUw1zC.js → dagre-DRvHdusQ.js} +1 -1
  230. package/payload/server/public/assets/dagre-DRvHdusQ.js.br +0 -0
  231. package/payload/server/public/assets/dagre-DRvHdusQ.js.gz +0 -0
  232. package/payload/server/public/assets/{dagre-KV5264BT-BWfTDwEs.js → dagre-KV5264BT-CGqSVVTn.js} +1 -1
  233. package/payload/server/public/assets/dagre-KV5264BT-CGqSVVTn.js.br +0 -0
  234. package/payload/server/public/assets/dagre-KV5264BT-CGqSVVTn.js.gz +0 -0
  235. package/payload/server/public/assets/data-O_9Kiicl.js +1 -0
  236. package/payload/server/public/assets/data-O_9Kiicl.js.br +2 -0
  237. package/payload/server/public/assets/data-O_9Kiicl.js.gz +0 -0
  238. package/payload/server/public/assets/{diagram-5BDNPKRD-Tl9dS8w0.js → diagram-5BDNPKRD-DfFgeApz.js} +1 -1
  239. package/payload/server/public/assets/diagram-5BDNPKRD-DfFgeApz.js.br +0 -0
  240. package/payload/server/public/assets/diagram-5BDNPKRD-DfFgeApz.js.gz +0 -0
  241. package/payload/server/public/assets/{diagram-G4DWMVQ6-CeSe6TMu.js → diagram-G4DWMVQ6-DPXc3Q8e.js} +1 -1
  242. package/payload/server/public/assets/diagram-G4DWMVQ6-DPXc3Q8e.js.br +0 -0
  243. package/payload/server/public/assets/diagram-G4DWMVQ6-DPXc3Q8e.js.gz +0 -0
  244. package/payload/server/public/assets/{diagram-MMDJMWI5-DYBNJCmk.js → diagram-MMDJMWI5-V8RCddvy.js} +1 -1
  245. package/payload/server/public/assets/diagram-MMDJMWI5-V8RCddvy.js.br +0 -0
  246. package/payload/server/public/assets/diagram-MMDJMWI5-V8RCddvy.js.gz +0 -0
  247. package/payload/server/public/assets/{diagram-TYMM5635-BmpUGltx.js → diagram-TYMM5635-CrvfIf-m.js} +1 -1
  248. package/payload/server/public/assets/diagram-TYMM5635-CrvfIf-m.js.br +0 -0
  249. package/payload/server/public/assets/diagram-TYMM5635-CrvfIf-m.js.gz +0 -0
  250. package/payload/server/public/assets/{erDiagram-SMLLAGMA-DuwuNGqx.js → erDiagram-SMLLAGMA-DClMgmBB.js} +1 -1
  251. package/payload/server/public/assets/erDiagram-SMLLAGMA-DClMgmBB.js.br +0 -0
  252. package/payload/server/public/assets/erDiagram-SMLLAGMA-DClMgmBB.js.gz +0 -0
  253. package/payload/server/public/assets/{file-download-DayBHhKS.js → file-download-sXU3_umF.js} +1 -1
  254. package/payload/server/public/assets/file-download-sXU3_umF.js.br +0 -0
  255. package/payload/server/public/assets/file-download-sXU3_umF.js.gz +0 -0
  256. package/payload/server/public/assets/{file-text-BSyhVH0m.js → file-text-CeXBviDH.js} +1 -1
  257. package/payload/server/public/assets/file-text-CeXBviDH.js.br +0 -0
  258. package/payload/server/public/assets/file-text-CeXBviDH.js.gz +0 -0
  259. package/payload/server/public/assets/{flatten-Bu-b1uTY.js → flatten-UdUTbm8v.js} +1 -1
  260. package/payload/server/public/assets/flatten-UdUTbm8v.js.br +0 -0
  261. package/payload/server/public/assets/flatten-UdUTbm8v.js.gz +0 -0
  262. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-Bpp8P6Ba.js → flowDiagram-DWJPFMVM-D29Ou09P.js} +1 -1
  263. package/payload/server/public/assets/flowDiagram-DWJPFMVM-D29Ou09P.js.br +0 -0
  264. package/payload/server/public/assets/flowDiagram-DWJPFMVM-D29Ou09P.js.gz +0 -0
  265. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-CE6ppjB4.js → ganttDiagram-T4ZO3ILL-CoAK7W_V.js} +1 -1
  266. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-CoAK7W_V.js.br +0 -0
  267. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-CoAK7W_V.js.gz +0 -0
  268. package/payload/server/public/assets/gitGraph-7Q5UKJZL--JSoLMoH.js +1 -0
  269. package/payload/server/public/assets/gitGraph-7Q5UKJZL--JSoLMoH.js.br +0 -0
  270. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-BdK1GjPr.js → gitGraphDiagram-UUTBAWPF-DMEc_1aX.js} +1 -1
  271. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-DMEc_1aX.js.br +0 -0
  272. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-DMEc_1aX.js.gz +0 -0
  273. package/payload/server/public/assets/{graph-Bjv3Tc3B.js → graph-BSuDP6k7.js} +3 -3
  274. package/payload/server/public/assets/graph-BSuDP6k7.js.br +0 -0
  275. package/payload/server/public/assets/graph-BSuDP6k7.js.gz +0 -0
  276. package/payload/server/public/assets/{graph-labels-DegLKGdx.js → graph-labels-D2pQkgYW.js} +1 -1
  277. package/payload/server/public/assets/graph-labels-D2pQkgYW.js.br +0 -0
  278. package/payload/server/public/assets/graph-labels-D2pQkgYW.js.gz +0 -0
  279. package/payload/server/public/assets/{graphlib-CHEXylyU.js → graphlib-ihSLgqUG.js} +1 -1
  280. package/payload/server/public/assets/graphlib-ihSLgqUG.js.br +0 -0
  281. package/payload/server/public/assets/graphlib-ihSLgqUG.js.gz +0 -0
  282. package/payload/server/public/assets/info-OMHHGYJF-CY4gsXn4.js +1 -0
  283. package/payload/server/public/assets/info-OMHHGYJF-CY4gsXn4.js.br +0 -0
  284. package/payload/server/public/assets/infoDiagram-42DDH7IO-CpWSNS3C.js +2 -0
  285. package/payload/server/public/assets/infoDiagram-42DDH7IO-CpWSNS3C.js.br +0 -0
  286. package/payload/server/public/assets/infoDiagram-42DDH7IO-CpWSNS3C.js.gz +0 -0
  287. package/payload/server/public/assets/{isEmpty-CjH0UASp.js → isEmpty-DY_Xp9Na.js} +1 -1
  288. package/payload/server/public/assets/isEmpty-DY_Xp9Na.js.br +0 -0
  289. package/payload/server/public/assets/isEmpty-DY_Xp9Na.js.gz +0 -0
  290. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-CgkVZ4-3.js → ishikawaDiagram-UXIWVN3A-w8fVIbxy.js} +1 -1
  291. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-w8fVIbxy.js.br +0 -0
  292. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-w8fVIbxy.js.gz +0 -0
  293. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-ByUPv8q6.js → journeyDiagram-VCZTEJTY-BRTPKDT5.js} +1 -1
  294. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-BRTPKDT5.js.br +0 -0
  295. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-BRTPKDT5.js.gz +0 -0
  296. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-CFinqhpu.js → kanban-definition-6JOO6SKY-Ls3VaFZ_.js} +1 -1
  297. package/payload/server/public/assets/kanban-definition-6JOO6SKY-Ls3VaFZ_.js.br +0 -0
  298. package/payload/server/public/assets/kanban-definition-6JOO6SKY-Ls3VaFZ_.js.gz +0 -0
  299. package/payload/server/public/assets/{line-Y4ns5Ghi.js → line-BwhAIh8u.js} +1 -1
  300. package/payload/server/public/assets/line-BwhAIh8u.js.br +0 -0
  301. package/payload/server/public/assets/line-BwhAIh8u.js.gz +0 -0
  302. package/payload/server/public/assets/{linear-l39GooQ5.js → linear-USiZPFN4.js} +1 -1
  303. package/payload/server/public/assets/linear-USiZPFN4.js.br +0 -0
  304. package/payload/server/public/assets/linear-USiZPFN4.js.gz +0 -0
  305. package/payload/server/public/assets/{maximize-2-DJFG2EXJ.js → maximize-2-DlzSNygU.js} +1 -1
  306. package/payload/server/public/assets/maximize-2-DlzSNygU.js.br +0 -0
  307. package/payload/server/public/assets/maximize-2-DlzSNygU.js.gz +0 -0
  308. package/payload/server/public/assets/{mermaid-parser.core-5w0T1dRj.js → mermaid-parser.core-Bq--iC2w.js} +2 -2
  309. package/payload/server/public/assets/mermaid-parser.core-Bq--iC2w.js.br +0 -0
  310. package/payload/server/public/assets/mermaid-parser.core-Bq--iC2w.js.gz +0 -0
  311. package/payload/server/public/assets/{mermaid.core-DBADY5VW.js → mermaid.core-oYX-FxVa.js} +3 -3
  312. package/payload/server/public/assets/mermaid.core-oYX-FxVa.js.br +0 -0
  313. package/payload/server/public/assets/mermaid.core-oYX-FxVa.js.gz +0 -0
  314. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-rHz37loq.js → mindmap-definition-QFDTVHPH-ByZjL4Bs.js} +1 -1
  315. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-ByZjL4Bs.js.br +0 -0
  316. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-ByZjL4Bs.js.gz +0 -0
  317. package/payload/server/public/assets/operator-BP61-xjz.js +1 -0
  318. package/payload/server/public/assets/operator-BP61-xjz.js.br +0 -0
  319. package/payload/server/public/assets/operator-BP61-xjz.js.gz +0 -0
  320. package/payload/server/public/assets/{ordinal-D6D6WcTC.js → ordinal-gnpqfIHn.js} +1 -1
  321. package/payload/server/public/assets/ordinal-gnpqfIHn.js.br +0 -0
  322. package/payload/server/public/assets/ordinal-gnpqfIHn.js.gz +0 -0
  323. package/payload/server/public/assets/packet-4T2RLAQJ-DczCn3uj.js +1 -0
  324. package/payload/server/public/assets/packet-4T2RLAQJ-DczCn3uj.js.br +0 -0
  325. package/payload/server/public/assets/page-DX7ArY_s.js +1 -0
  326. package/payload/server/public/assets/page-DX7ArY_s.js.br +0 -0
  327. package/payload/server/public/assets/page-DX7ArY_s.js.gz +0 -0
  328. package/payload/server/public/assets/page-eQ4OVros.js +32 -0
  329. package/payload/server/public/assets/page-eQ4OVros.js.br +0 -0
  330. package/payload/server/public/assets/page-eQ4OVros.js.gz +0 -0
  331. package/payload/server/public/assets/{pdf-render-BSgBp8Fr.js → pdf-render-gEryZmeC.js} +1 -1
  332. package/payload/server/public/assets/pdf-render-gEryZmeC.js.br +0 -0
  333. package/payload/server/public/assets/pdf-render-gEryZmeC.js.gz +0 -0
  334. package/payload/server/public/assets/pie-ZZUOXDRM-CbvZUaof.js +1 -0
  335. package/payload/server/public/assets/pie-ZZUOXDRM-CbvZUaof.js.br +0 -0
  336. package/payload/server/public/assets/{pieDiagram-DEJITSTG-as0e_DSH.js → pieDiagram-DEJITSTG-BGFms5bU.js} +1 -1
  337. package/payload/server/public/assets/pieDiagram-DEJITSTG-BGFms5bU.js.br +0 -0
  338. package/payload/server/public/assets/pieDiagram-DEJITSTG-BGFms5bU.js.gz +0 -0
  339. package/payload/server/public/assets/{public-CNVEM-Bx.js → public-DPDKFKM2.js} +1 -1
  340. package/payload/server/public/assets/public-DPDKFKM2.js.br +0 -0
  341. package/payload/server/public/assets/public-DPDKFKM2.js.gz +0 -0
  342. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-B4t8HO9J.js → quadrantDiagram-34T5L4WZ-_ymoz8bQ.js} +1 -1
  343. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-_ymoz8bQ.js.br +0 -0
  344. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-_ymoz8bQ.js.gz +0 -0
  345. package/payload/server/public/assets/radar-PYXPWWZC-XmuabQlO.js +1 -0
  346. package/payload/server/public/assets/radar-PYXPWWZC-XmuabQlO.js.br +0 -0
  347. package/payload/server/public/assets/{reduce-BtXXK8Ma.js → reduce-BvezuHIe.js} +1 -1
  348. package/payload/server/public/assets/reduce-BvezuHIe.js.br +0 -0
  349. package/payload/server/public/assets/reduce-BvezuHIe.js.gz +0 -0
  350. package/payload/server/public/assets/{requirementDiagram-MS252O5E-yxh30zHX.js → requirementDiagram-MS252O5E-lrOmOxIA.js} +1 -1
  351. package/payload/server/public/assets/requirementDiagram-MS252O5E-lrOmOxIA.js.br +0 -0
  352. package/payload/server/public/assets/requirementDiagram-MS252O5E-lrOmOxIA.js.gz +0 -0
  353. package/payload/server/public/assets/{rotate-ccw-DQCaky8_.js → rotate-ccw-BR0JbPFV.js} +1 -1
  354. package/payload/server/public/assets/rotate-ccw-BR0JbPFV.js.br +0 -0
  355. package/payload/server/public/assets/rotate-ccw-BR0JbPFV.js.gz +0 -0
  356. package/payload/server/public/assets/{routines-DwK5FeLm.js → routines-y413YZa-.js} +1 -1
  357. package/payload/server/public/assets/routines-y413YZa-.js.br +0 -0
  358. package/payload/server/public/assets/routines-y413YZa-.js.gz +0 -0
  359. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-j-k9Wfty.js → sankeyDiagram-XADWPNL6-CdUQThXU.js} +1 -1
  360. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-CdUQThXU.js.br +0 -0
  361. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-CdUQThXU.js.gz +0 -0
  362. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-DGLgcLhC.js → sequenceDiagram-FGHM5R23-DqnEEldq.js} +1 -1
  363. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-DqnEEldq.js.br +0 -0
  364. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-DqnEEldq.js.gz +0 -0
  365. package/payload/server/public/assets/{skills-CosN3uA4.js → skills-fH0uA7cj.js} +1 -1
  366. package/payload/server/public/assets/skills-fH0uA7cj.js.br +0 -0
  367. package/payload/server/public/assets/skills-fH0uA7cj.js.gz +0 -0
  368. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-C9p1OUMI.js → stateDiagram-FHFEXIEX-KEdtxqdq.js} +1 -1
  369. package/payload/server/public/assets/stateDiagram-FHFEXIEX-KEdtxqdq.js.br +0 -0
  370. package/payload/server/public/assets/stateDiagram-FHFEXIEX-KEdtxqdq.js.gz +0 -0
  371. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Cs85Ewtt.js +1 -0
  372. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Cs85Ewtt.js.br +0 -0
  373. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Cs85Ewtt.js.gz +0 -0
  374. package/payload/server/public/assets/{tasks-f0QikHmw.js → tasks-CrVzFrTR.js} +2 -2
  375. package/payload/server/public/assets/tasks-CrVzFrTR.js.br +0 -0
  376. package/payload/server/public/assets/tasks-CrVzFrTR.js.gz +0 -0
  377. package/payload/server/public/assets/{time-entry-format-DLTdS35_.js → time-entry-format-C_0jiMpQ.js} +1 -1
  378. package/payload/server/public/assets/time-entry-format-C_0jiMpQ.js.br +1 -0
  379. package/payload/server/public/assets/time-entry-format-C_0jiMpQ.js.gz +0 -0
  380. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-B1g7pgkH.js → timeline-definition-GMOUNBTQ-BRXdCMau.js} +1 -1
  381. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-BRXdCMau.js.br +0 -0
  382. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-BRXdCMau.js.gz +0 -0
  383. package/payload/server/public/assets/treeView-SZITEDCU-B-SYhqwK.js +1 -0
  384. package/payload/server/public/assets/treeView-SZITEDCU-B-SYhqwK.js.br +0 -0
  385. package/payload/server/public/assets/treemap-W4RFUUIX-DpZmFNM9.js +1 -0
  386. package/payload/server/public/assets/treemap-W4RFUUIX-DpZmFNM9.js.br +0 -0
  387. package/payload/server/public/assets/{triangle-alert-CpwrbdYq.js → triangle-alert-eLJHC_QJ.js} +1 -1
  388. package/payload/server/public/assets/triangle-alert-eLJHC_QJ.js.br +1 -0
  389. package/payload/server/public/assets/triangle-alert-eLJHC_QJ.js.gz +0 -0
  390. package/payload/server/public/assets/{useCopyFeedback-D01gSp36.js → useCopyFeedback-vPCmdOmY.js} +1 -1
  391. package/payload/server/public/assets/useCopyFeedback-vPCmdOmY.js.br +0 -0
  392. package/payload/server/public/assets/useCopyFeedback-vPCmdOmY.js.gz +0 -0
  393. package/payload/server/public/assets/useSubAccountSwitcher-DMr3DR5N.js +14 -0
  394. package/payload/server/public/assets/useSubAccountSwitcher-DMr3DR5N.js.br +0 -0
  395. package/payload/server/public/assets/useSubAccountSwitcher-DMr3DR5N.js.gz +0 -0
  396. package/payload/server/public/assets/useSubAccountSwitcher-DxuUS_C7.css +1 -0
  397. package/payload/server/public/assets/useSubAccountSwitcher-DxuUS_C7.css.br +0 -0
  398. package/payload/server/public/assets/useSubAccountSwitcher-DxuUS_C7.css.gz +0 -0
  399. package/payload/server/public/assets/{useVoiceRecorder-DiPgyDUy.js → useVoiceRecorder-D5bFDRqL.js} +2 -2
  400. package/payload/server/public/assets/useVoiceRecorder-D5bFDRqL.js.br +0 -0
  401. package/payload/server/public/assets/useVoiceRecorder-D5bFDRqL.js.gz +0 -0
  402. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-D2ZjFfh4.js → vennDiagram-DHZGUBPP-8nc7NUVQ.js} +1 -1
  403. package/payload/server/public/assets/vennDiagram-DHZGUBPP-8nc7NUVQ.js.br +0 -0
  404. package/payload/server/public/assets/vennDiagram-DHZGUBPP-8nc7NUVQ.js.gz +0 -0
  405. package/payload/server/public/assets/wardley-RL74JXVD-D2FCCV4-.js +1 -0
  406. package/payload/server/public/assets/wardley-RL74JXVD-D2FCCV4-.js.br +0 -0
  407. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-BFAhfkD8.js → wardleyDiagram-NUSXRM2D-Cjjiap8M.js} +1 -1
  408. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-Cjjiap8M.js.br +0 -0
  409. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-Cjjiap8M.js.gz +0 -0
  410. package/payload/server/public/assets/{wrench-C5SJreEu.js → wrench-sXisQXkf.js} +1 -1
  411. package/payload/server/public/assets/wrench-sXisQXkf.js.br +0 -0
  412. package/payload/server/public/assets/wrench-sXisQXkf.js.gz +0 -0
  413. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-Dt94h2RQ.js → xychartDiagram-5P7HB3ND-DEzDNw_i.js} +1 -1
  414. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-DEzDNw_i.js.br +0 -0
  415. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-DEzDNw_i.js.gz +0 -0
  416. package/payload/server/public/browser.html +5 -4
  417. package/payload/server/public/calendar.html +7 -7
  418. package/payload/server/public/chat.html +14 -14
  419. package/payload/server/public/data.html +13 -13
  420. package/payload/server/public/graph.html +9 -9
  421. package/payload/server/public/index.html +17 -16
  422. package/payload/server/public/operator.html +16 -15
  423. package/payload/server/public/public.html +14 -14
  424. package/payload/server/public/routines.html +7 -7
  425. package/payload/server/public/skills.html +5 -5
  426. package/payload/server/public/tasks.html +6 -6
  427. package/payload/server/server.js +61 -73
  428. package/payload/server/public/assets/AdminLoginScreens-DSt9DYZZ.js +0 -1
  429. package/payload/server/public/assets/AdminLoginScreens-DSt9DYZZ.js.br +0 -0
  430. package/payload/server/public/assets/AdminLoginScreens-DSt9DYZZ.js.gz +0 -0
  431. package/payload/server/public/assets/AdminShell-MM3_yp3N.js +0 -2
  432. package/payload/server/public/assets/AdminShell-MM3_yp3N.js.br +0 -0
  433. package/payload/server/public/assets/AdminShell-MM3_yp3N.js.gz +0 -0
  434. package/payload/server/public/assets/activity-aVvbaVd4.js.br +0 -0
  435. package/payload/server/public/assets/activity-aVvbaVd4.js.gz +0 -0
  436. package/payload/server/public/assets/admin-B0lQnkH-.js +0 -1
  437. package/payload/server/public/assets/admin-B0lQnkH-.js.br +0 -0
  438. package/payload/server/public/assets/admin-B0lQnkH-.js.gz +0 -0
  439. package/payload/server/public/assets/agents-CrpVTPRG.js.br +0 -0
  440. package/payload/server/public/assets/agents-CrpVTPRG.js.gz +0 -0
  441. package/payload/server/public/assets/arc-DaudCnXg.js.br +0 -0
  442. package/payload/server/public/assets/arc-DaudCnXg.js.gz +0 -0
  443. package/payload/server/public/assets/architecture-YZFGNWBL-DPFsm5jD.js +0 -1
  444. package/payload/server/public/assets/architecture-YZFGNWBL-DPFsm5jD.js.br +0 -0
  445. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-BEEC3s7i.js.br +0 -0
  446. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-BEEC3s7i.js.gz +0 -0
  447. package/payload/server/public/assets/blockDiagram-DXYQGD6D-BIWyfb18.js.br +0 -0
  448. package/payload/server/public/assets/blockDiagram-DXYQGD6D-BIWyfb18.js.gz +0 -0
  449. package/payload/server/public/assets/browser-CYHUzTop.js +0 -1
  450. package/payload/server/public/assets/browser-CYHUzTop.js.br +0 -0
  451. package/payload/server/public/assets/browser-CYHUzTop.js.gz +0 -0
  452. package/payload/server/public/assets/c4Diagram-AHTNJAMY--h6oE2cv.js.br +0 -0
  453. package/payload/server/public/assets/c4Diagram-AHTNJAMY--h6oE2cv.js.gz +0 -0
  454. package/payload/server/public/assets/calendar-4IWQpwYv.js.br +0 -0
  455. package/payload/server/public/assets/calendar-4IWQpwYv.js.gz +0 -0
  456. package/payload/server/public/assets/channel-TwxCDSpK.js +0 -1
  457. package/payload/server/public/assets/channel-TwxCDSpK.js.br +0 -0
  458. package/payload/server/public/assets/chat-DmjZTqnV.js +0 -1
  459. package/payload/server/public/assets/chat-DmjZTqnV.js.br +0 -0
  460. package/payload/server/public/assets/chat-DmjZTqnV.js.gz +0 -0
  461. package/payload/server/public/assets/chevron-left-CIl-s3LZ.js +0 -1
  462. package/payload/server/public/assets/chevron-left-CIl-s3LZ.js.br +0 -0
  463. package/payload/server/public/assets/chevron-right-DpAi2BsF.js +0 -1
  464. package/payload/server/public/assets/chevron-right-DpAi2BsF.js.br +0 -0
  465. package/payload/server/public/assets/chunk-2KRD3SAO-BwEVlnxo.js.br +0 -0
  466. package/payload/server/public/assets/chunk-2KRD3SAO-BwEVlnxo.js.gz +0 -0
  467. package/payload/server/public/assets/chunk-336JU56O-DQddTATH.js.br +0 -0
  468. package/payload/server/public/assets/chunk-336JU56O-DQddTATH.js.gz +0 -0
  469. package/payload/server/public/assets/chunk-426QAEUC-BDC8wptW.js +0 -1
  470. package/payload/server/public/assets/chunk-426QAEUC-BDC8wptW.js.br +0 -0
  471. package/payload/server/public/assets/chunk-426QAEUC-BDC8wptW.js.gz +0 -0
  472. package/payload/server/public/assets/chunk-4BX2VUAB-C5p3xTC6.js.br +0 -0
  473. package/payload/server/public/assets/chunk-4BX2VUAB-C5p3xTC6.js.gz +0 -0
  474. package/payload/server/public/assets/chunk-4TB4RGXK-gClfNc1w.js.br +0 -0
  475. package/payload/server/public/assets/chunk-4TB4RGXK-gClfNc1w.js.gz +0 -0
  476. package/payload/server/public/assets/chunk-55IACEB6-DDU_m1ra.js.br +0 -0
  477. package/payload/server/public/assets/chunk-55IACEB6-DDU_m1ra.js.gz +0 -0
  478. package/payload/server/public/assets/chunk-5FUZZQ4R-CZ2jQWNR.js.br +0 -0
  479. package/payload/server/public/assets/chunk-5FUZZQ4R-CZ2jQWNR.js.gz +0 -0
  480. package/payload/server/public/assets/chunk-5PVQY5BW-kcZ5kfTg.js.br +0 -0
  481. package/payload/server/public/assets/chunk-5PVQY5BW-kcZ5kfTg.js.gz +0 -0
  482. package/payload/server/public/assets/chunk-67CJDMHE-9W0Qv0jm.js.br +0 -0
  483. package/payload/server/public/assets/chunk-67CJDMHE-9W0Qv0jm.js.gz +0 -0
  484. package/payload/server/public/assets/chunk-7N4EOEYR-B3gqydR3.js.br +0 -0
  485. package/payload/server/public/assets/chunk-7N4EOEYR-B3gqydR3.js.gz +0 -0
  486. package/payload/server/public/assets/chunk-AA7GKIK3-DW8a-2NK.js.br +0 -4
  487. package/payload/server/public/assets/chunk-AA7GKIK3-DW8a-2NK.js.gz +0 -0
  488. package/payload/server/public/assets/chunk-BSJP7CBP-DqXIO_5R.js.br +0 -0
  489. package/payload/server/public/assets/chunk-BSJP7CBP-DqXIO_5R.js.gz +0 -0
  490. package/payload/server/public/assets/chunk-CIAEETIT-BMJfgj2u.js.br +0 -0
  491. package/payload/server/public/assets/chunk-CIAEETIT-BMJfgj2u.js.gz +0 -0
  492. package/payload/server/public/assets/chunk-EDXVE4YY-BxdLPk0b.js.br +0 -0
  493. package/payload/server/public/assets/chunk-EDXVE4YY-BxdLPk0b.js.gz +0 -0
  494. package/payload/server/public/assets/chunk-ENJZ2VHE-Cfe2DCjQ.js.br +0 -0
  495. package/payload/server/public/assets/chunk-ENJZ2VHE-Cfe2DCjQ.js.gz +0 -0
  496. package/payload/server/public/assets/chunk-FMBD7UC4-CdPjwbtf.js.br +0 -0
  497. package/payload/server/public/assets/chunk-FMBD7UC4-CdPjwbtf.js.gz +0 -0
  498. package/payload/server/public/assets/chunk-FOC6F5B3-Dl6l1KAh.js.br +0 -0
  499. package/payload/server/public/assets/chunk-FOC6F5B3-Dl6l1KAh.js.gz +0 -0
  500. package/payload/server/public/assets/chunk-ICPOFSXX-PnsGrqtx.js.br +0 -0
  501. package/payload/server/public/assets/chunk-ICPOFSXX-PnsGrqtx.js.gz +0 -0
  502. package/payload/server/public/assets/chunk-K5T4RW27--g29_wjW.js.br +0 -0
  503. package/payload/server/public/assets/chunk-K5T4RW27--g29_wjW.js.gz +0 -0
  504. package/payload/server/public/assets/chunk-KGLVRYIC-CI77ENeO.js.br +0 -3
  505. package/payload/server/public/assets/chunk-KGLVRYIC-CI77ENeO.js.gz +0 -0
  506. package/payload/server/public/assets/chunk-LIHQZDEY-CE-XByg6.js.br +0 -0
  507. package/payload/server/public/assets/chunk-LIHQZDEY-CE-XByg6.js.gz +0 -0
  508. package/payload/server/public/assets/chunk-ORNJ4GCN-DkjJQQSm.js.br +0 -0
  509. package/payload/server/public/assets/chunk-ORNJ4GCN-DkjJQQSm.js.gz +0 -0
  510. package/payload/server/public/assets/chunk-OYMX7WX6-DhogFeD7.js.br +0 -0
  511. package/payload/server/public/assets/chunk-OYMX7WX6-DhogFeD7.js.gz +0 -0
  512. package/payload/server/public/assets/chunk-QZHKN3VN-DnqqL1de.js +0 -1
  513. package/payload/server/public/assets/chunk-QZHKN3VN-DnqqL1de.js.br +0 -0
  514. package/payload/server/public/assets/chunk-QZHKN3VN-DnqqL1de.js.gz +0 -0
  515. package/payload/server/public/assets/chunk-U2HBQHQK-CeaRXuiO.js.br +0 -0
  516. package/payload/server/public/assets/chunk-U2HBQHQK-CeaRXuiO.js.gz +0 -0
  517. package/payload/server/public/assets/chunk-X2U36JSP-BqxXeOqf.js.br +0 -0
  518. package/payload/server/public/assets/chunk-X2U36JSP-BqxXeOqf.js.gz +0 -0
  519. package/payload/server/public/assets/chunk-XPW4576I-DtqJwn2x.js.br +0 -0
  520. package/payload/server/public/assets/chunk-XPW4576I-DtqJwn2x.js.gz +0 -0
  521. package/payload/server/public/assets/chunk-YZCP3GAM-COBlEwQw.js.br +0 -0
  522. package/payload/server/public/assets/chunk-YZCP3GAM-COBlEwQw.js.gz +0 -0
  523. package/payload/server/public/assets/chunk-ZZ45TVLE-CcL088y6.js.br +0 -0
  524. package/payload/server/public/assets/chunk-ZZ45TVLE-CcL088y6.js.gz +0 -0
  525. package/payload/server/public/assets/classDiagram-6PBFFD2Q-Bc3P4dpc.js +0 -1
  526. package/payload/server/public/assets/classDiagram-6PBFFD2Q-Bc3P4dpc.js.br +0 -0
  527. package/payload/server/public/assets/classDiagram-6PBFFD2Q-Bc3P4dpc.js.gz +0 -0
  528. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DgEF_rR_.js +0 -1
  529. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DgEF_rR_.js.br +0 -0
  530. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DgEF_rR_.js.gz +0 -0
  531. package/payload/server/public/assets/clock-CGuM9VRx.js +0 -1
  532. package/payload/server/public/assets/clock-CGuM9VRx.js.br +0 -0
  533. package/payload/server/public/assets/clone-B3vq32j7.js +0 -1
  534. package/payload/server/public/assets/cose-bilkent-S5V4N54A-kEHVkDNn.js.br +0 -0
  535. package/payload/server/public/assets/cose-bilkent-S5V4N54A-kEHVkDNn.js.gz +0 -0
  536. package/payload/server/public/assets/dagre-D2wUw1zC.js.br +0 -0
  537. package/payload/server/public/assets/dagre-D2wUw1zC.js.gz +0 -0
  538. package/payload/server/public/assets/dagre-KV5264BT-BWfTDwEs.js.br +0 -0
  539. package/payload/server/public/assets/dagre-KV5264BT-BWfTDwEs.js.gz +0 -0
  540. package/payload/server/public/assets/data-BpdFiZKH.js +0 -1
  541. package/payload/server/public/assets/data-BpdFiZKH.js.br +0 -2
  542. package/payload/server/public/assets/data-BpdFiZKH.js.gz +0 -0
  543. package/payload/server/public/assets/diagram-5BDNPKRD-Tl9dS8w0.js.br +0 -0
  544. package/payload/server/public/assets/diagram-5BDNPKRD-Tl9dS8w0.js.gz +0 -0
  545. package/payload/server/public/assets/diagram-G4DWMVQ6-CeSe6TMu.js.br +0 -0
  546. package/payload/server/public/assets/diagram-G4DWMVQ6-CeSe6TMu.js.gz +0 -0
  547. package/payload/server/public/assets/diagram-MMDJMWI5-DYBNJCmk.js.br +0 -0
  548. package/payload/server/public/assets/diagram-MMDJMWI5-DYBNJCmk.js.gz +0 -0
  549. package/payload/server/public/assets/diagram-TYMM5635-BmpUGltx.js.br +0 -0
  550. package/payload/server/public/assets/diagram-TYMM5635-BmpUGltx.js.gz +0 -0
  551. package/payload/server/public/assets/erDiagram-SMLLAGMA-DuwuNGqx.js.br +0 -0
  552. package/payload/server/public/assets/erDiagram-SMLLAGMA-DuwuNGqx.js.gz +0 -0
  553. package/payload/server/public/assets/file-download-DayBHhKS.js.br +0 -0
  554. package/payload/server/public/assets/file-download-DayBHhKS.js.gz +0 -0
  555. package/payload/server/public/assets/file-text-BSyhVH0m.js.br +0 -0
  556. package/payload/server/public/assets/file-text-BSyhVH0m.js.gz +0 -0
  557. package/payload/server/public/assets/flatten-Bu-b1uTY.js.br +0 -0
  558. package/payload/server/public/assets/flatten-Bu-b1uTY.js.gz +0 -0
  559. package/payload/server/public/assets/flowDiagram-DWJPFMVM-Bpp8P6Ba.js.br +0 -0
  560. package/payload/server/public/assets/flowDiagram-DWJPFMVM-Bpp8P6Ba.js.gz +0 -0
  561. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-CE6ppjB4.js.br +0 -0
  562. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-CE6ppjB4.js.gz +0 -0
  563. package/payload/server/public/assets/gitGraph-7Q5UKJZL-B0OUwOUx.js +0 -1
  564. package/payload/server/public/assets/gitGraph-7Q5UKJZL-B0OUwOUx.js.br +0 -0
  565. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-BdK1GjPr.js.br +0 -0
  566. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-BdK1GjPr.js.gz +0 -0
  567. package/payload/server/public/assets/graph-Bjv3Tc3B.js.br +0 -0
  568. package/payload/server/public/assets/graph-Bjv3Tc3B.js.gz +0 -0
  569. package/payload/server/public/assets/graph-labels-DegLKGdx.js.br +0 -0
  570. package/payload/server/public/assets/graph-labels-DegLKGdx.js.gz +0 -0
  571. package/payload/server/public/assets/graphlib-CHEXylyU.js.br +0 -0
  572. package/payload/server/public/assets/graphlib-CHEXylyU.js.gz +0 -0
  573. package/payload/server/public/assets/info-OMHHGYJF-C_8TwPDe.js +0 -1
  574. package/payload/server/public/assets/info-OMHHGYJF-C_8TwPDe.js.br +0 -0
  575. package/payload/server/public/assets/infoDiagram-42DDH7IO-msfwyvbV.js +0 -2
  576. package/payload/server/public/assets/infoDiagram-42DDH7IO-msfwyvbV.js.br +0 -0
  577. package/payload/server/public/assets/infoDiagram-42DDH7IO-msfwyvbV.js.gz +0 -0
  578. package/payload/server/public/assets/isEmpty-CjH0UASp.js.br +0 -0
  579. package/payload/server/public/assets/isEmpty-CjH0UASp.js.gz +0 -0
  580. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-CgkVZ4-3.js.br +0 -0
  581. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-CgkVZ4-3.js.gz +0 -0
  582. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-ByUPv8q6.js.br +0 -0
  583. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-ByUPv8q6.js.gz +0 -0
  584. package/payload/server/public/assets/kanban-definition-6JOO6SKY-CFinqhpu.js.br +0 -0
  585. package/payload/server/public/assets/kanban-definition-6JOO6SKY-CFinqhpu.js.gz +0 -0
  586. package/payload/server/public/assets/line-Y4ns5Ghi.js.br +0 -0
  587. package/payload/server/public/assets/line-Y4ns5Ghi.js.gz +0 -0
  588. package/payload/server/public/assets/linear-l39GooQ5.js.br +0 -0
  589. package/payload/server/public/assets/linear-l39GooQ5.js.gz +0 -0
  590. package/payload/server/public/assets/maximize-2-DJFG2EXJ.js.br +0 -0
  591. package/payload/server/public/assets/maximize-2-DJFG2EXJ.js.gz +0 -0
  592. package/payload/server/public/assets/mermaid-parser.core-5w0T1dRj.js.br +0 -0
  593. package/payload/server/public/assets/mermaid-parser.core-5w0T1dRj.js.gz +0 -0
  594. package/payload/server/public/assets/mermaid.core-DBADY5VW.js.br +0 -0
  595. package/payload/server/public/assets/mermaid.core-DBADY5VW.js.gz +0 -0
  596. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-rHz37loq.js.br +0 -0
  597. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-rHz37loq.js.gz +0 -0
  598. package/payload/server/public/assets/operator-Du9Ve_PR.js +0 -1
  599. package/payload/server/public/assets/operator-Du9Ve_PR.js.br +0 -0
  600. package/payload/server/public/assets/operator-Du9Ve_PR.js.gz +0 -0
  601. package/payload/server/public/assets/ordinal-D6D6WcTC.js.br +0 -0
  602. package/payload/server/public/assets/ordinal-D6D6WcTC.js.gz +0 -0
  603. package/payload/server/public/assets/packet-4T2RLAQJ-CCQdbIqO.js +0 -1
  604. package/payload/server/public/assets/packet-4T2RLAQJ-CCQdbIqO.js.br +0 -0
  605. package/payload/server/public/assets/page-DgHYxG3M.js +0 -1
  606. package/payload/server/public/assets/page-DgHYxG3M.js.br +0 -0
  607. package/payload/server/public/assets/page-DgHYxG3M.js.gz +0 -0
  608. package/payload/server/public/assets/page-qV1ypb6i.js +0 -32
  609. package/payload/server/public/assets/page-qV1ypb6i.js.br +0 -0
  610. package/payload/server/public/assets/page-qV1ypb6i.js.gz +0 -0
  611. package/payload/server/public/assets/pdf-render-BSgBp8Fr.js.br +0 -0
  612. package/payload/server/public/assets/pdf-render-BSgBp8Fr.js.gz +0 -0
  613. package/payload/server/public/assets/pie-ZZUOXDRM-Bdw3Iqs7.js +0 -1
  614. package/payload/server/public/assets/pie-ZZUOXDRM-Bdw3Iqs7.js.br +0 -0
  615. package/payload/server/public/assets/pieDiagram-DEJITSTG-as0e_DSH.js.br +0 -0
  616. package/payload/server/public/assets/pieDiagram-DEJITSTG-as0e_DSH.js.gz +0 -0
  617. package/payload/server/public/assets/public-CNVEM-Bx.js.br +0 -0
  618. package/payload/server/public/assets/public-CNVEM-Bx.js.gz +0 -0
  619. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-B4t8HO9J.js.br +0 -0
  620. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-B4t8HO9J.js.gz +0 -0
  621. package/payload/server/public/assets/radar-PYXPWWZC-D3FUdA3r.js +0 -1
  622. package/payload/server/public/assets/radar-PYXPWWZC-D3FUdA3r.js.br +0 -0
  623. package/payload/server/public/assets/reduce-BtXXK8Ma.js.br +0 -0
  624. package/payload/server/public/assets/reduce-BtXXK8Ma.js.gz +0 -0
  625. package/payload/server/public/assets/requirementDiagram-MS252O5E-yxh30zHX.js.br +0 -0
  626. package/payload/server/public/assets/requirementDiagram-MS252O5E-yxh30zHX.js.gz +0 -0
  627. package/payload/server/public/assets/rotate-ccw-DQCaky8_.js.br +0 -0
  628. package/payload/server/public/assets/rotate-ccw-DQCaky8_.js.gz +0 -0
  629. package/payload/server/public/assets/routines-DwK5FeLm.js.br +0 -0
  630. package/payload/server/public/assets/routines-DwK5FeLm.js.gz +0 -0
  631. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-j-k9Wfty.js.br +0 -0
  632. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-j-k9Wfty.js.gz +0 -0
  633. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-DGLgcLhC.js.br +0 -0
  634. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-DGLgcLhC.js.gz +0 -0
  635. package/payload/server/public/assets/skills-CosN3uA4.js.br +0 -0
  636. package/payload/server/public/assets/skills-CosN3uA4.js.gz +0 -0
  637. package/payload/server/public/assets/stateDiagram-FHFEXIEX-C9p1OUMI.js.br +0 -0
  638. package/payload/server/public/assets/stateDiagram-FHFEXIEX-C9p1OUMI.js.gz +0 -0
  639. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Bf808Apk.js +0 -1
  640. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Bf808Apk.js.br +0 -0
  641. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Bf808Apk.js.gz +0 -0
  642. package/payload/server/public/assets/tasks-f0QikHmw.js.br +0 -0
  643. package/payload/server/public/assets/tasks-f0QikHmw.js.gz +0 -0
  644. package/payload/server/public/assets/time-entry-format-DLTdS35_.js.br +0 -0
  645. package/payload/server/public/assets/time-entry-format-DLTdS35_.js.gz +0 -0
  646. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-B1g7pgkH.js.br +0 -0
  647. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-B1g7pgkH.js.gz +0 -0
  648. package/payload/server/public/assets/treeView-SZITEDCU-DetKw0D0.js +0 -1
  649. package/payload/server/public/assets/treeView-SZITEDCU-DetKw0D0.js.br +0 -0
  650. package/payload/server/public/assets/treemap-W4RFUUIX-zQkIANxW.js +0 -1
  651. package/payload/server/public/assets/treemap-W4RFUUIX-zQkIANxW.js.br +0 -0
  652. package/payload/server/public/assets/triangle-alert-CpwrbdYq.js.br +0 -3
  653. package/payload/server/public/assets/triangle-alert-CpwrbdYq.js.gz +0 -0
  654. package/payload/server/public/assets/useCopyFeedback-D01gSp36.js.br +0 -0
  655. package/payload/server/public/assets/useCopyFeedback-D01gSp36.js.gz +0 -0
  656. package/payload/server/public/assets/useSubAccountSwitcher-BRHYXwGO.js +0 -14
  657. package/payload/server/public/assets/useSubAccountSwitcher-BRHYXwGO.js.br +0 -0
  658. package/payload/server/public/assets/useSubAccountSwitcher-BRHYXwGO.js.gz +0 -0
  659. package/payload/server/public/assets/useSubAccountSwitcher-CJzJ9xV3.css +0 -1
  660. package/payload/server/public/assets/useSubAccountSwitcher-CJzJ9xV3.css.br +0 -0
  661. package/payload/server/public/assets/useSubAccountSwitcher-CJzJ9xV3.css.gz +0 -0
  662. package/payload/server/public/assets/useVoiceRecorder-DiPgyDUy.js.br +0 -0
  663. package/payload/server/public/assets/useVoiceRecorder-DiPgyDUy.js.gz +0 -0
  664. package/payload/server/public/assets/vennDiagram-DHZGUBPP-D2ZjFfh4.js.br +0 -0
  665. package/payload/server/public/assets/vennDiagram-DHZGUBPP-D2ZjFfh4.js.gz +0 -0
  666. package/payload/server/public/assets/wardley-RL74JXVD-DkQV3DvB.js +0 -1
  667. package/payload/server/public/assets/wardley-RL74JXVD-DkQV3DvB.js.br +0 -0
  668. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-BFAhfkD8.js.br +0 -0
  669. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-BFAhfkD8.js.gz +0 -0
  670. package/payload/server/public/assets/wrench-C5SJreEu.js.br +0 -1
  671. package/payload/server/public/assets/wrench-C5SJreEu.js.gz +0 -0
  672. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-Dt94h2RQ.js.br +0 -0
  673. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-Dt94h2RQ.js.gz +0 -0
  674. /package/payload/server/public/assets/{_baseFor-B12He5Rp.js → _baseFor-BApe6Tla.js} +0 -0
  675. /package/payload/server/public/assets/{_baseFor-B12He5Rp.js.br → _baseFor-BApe6Tla.js.br} +0 -0
  676. /package/payload/server/public/assets/{_baseFor-B12He5Rp.js.gz → _baseFor-BApe6Tla.js.gz} +0 -0
  677. /package/payload/server/public/assets/{array-DO1uCttT.js → array-eiH4WfvY.js} +0 -0
  678. /package/payload/server/public/assets/{array-DO1uCttT.js.br → array-eiH4WfvY.js.br} +0 -0
  679. /package/payload/server/public/assets/{cytoscape.esm-DFn2foqy.js → cytoscape.esm-BZ6NYo0w.js} +0 -0
  680. /package/payload/server/public/assets/{cytoscape.esm-DFn2foqy.js.br → cytoscape.esm-BZ6NYo0w.js.br} +0 -0
  681. /package/payload/server/public/assets/{cytoscape.esm-DFn2foqy.js.gz → cytoscape.esm-BZ6NYo0w.js.gz} +0 -0
  682. /package/payload/server/public/assets/{defaultLocale-ieI3yFoA.js → defaultLocale-DWHqsa6O.js} +0 -0
  683. /package/payload/server/public/assets/{defaultLocale-ieI3yFoA.js.br → defaultLocale-DWHqsa6O.js.br} +0 -0
  684. /package/payload/server/public/assets/{defaultLocale-ieI3yFoA.js.gz → defaultLocale-DWHqsa6O.js.gz} +0 -0
  685. /package/payload/server/public/assets/{dist-DlU7AEeD.js → dist-IoQuidkp.js} +0 -0
  686. /package/payload/server/public/assets/{dist-DlU7AEeD.js.br → dist-IoQuidkp.js.br} +0 -0
  687. /package/payload/server/public/assets/{dist-DlU7AEeD.js.gz → dist-IoQuidkp.js.gz} +0 -0
  688. /package/payload/server/public/assets/{init-BCRlEgNP.js → init-BdkYWjJJ.js} +0 -0
  689. /package/payload/server/public/assets/{init-BCRlEgNP.js.br → init-BdkYWjJJ.js.br} +0 -0
  690. /package/payload/server/public/assets/{init-BCRlEgNP.js.gz → init-BdkYWjJJ.js.gz} +0 -0
  691. /package/payload/server/public/assets/{katex-gkTaZgi6.js → katex-BCzoGtFh.js} +0 -0
  692. /package/payload/server/public/assets/{katex-gkTaZgi6.js.br → katex-BCzoGtFh.js.br} +0 -0
  693. /package/payload/server/public/assets/{katex-gkTaZgi6.js.gz → katex-BCzoGtFh.js.gz} +0 -0
  694. /package/payload/server/public/assets/{path-DTmzQFjQ.js → path-DY2qBuPM.js} +0 -0
  695. /package/payload/server/public/assets/{path-DTmzQFjQ.js.br → path-DY2qBuPM.js.br} +0 -0
  696. /package/payload/server/public/assets/{path-DTmzQFjQ.js.gz → path-DY2qBuPM.js.gz} +0 -0
  697. /package/payload/server/public/assets/{preload-helper-eAV8hweq.js → preload-helper-3YNEDsJZ.js} +0 -0
  698. /package/payload/server/public/assets/{preload-helper-eAV8hweq.js.br → preload-helper-3YNEDsJZ.js.br} +0 -0
  699. /package/payload/server/public/assets/{preload-helper-eAV8hweq.js.gz → preload-helper-3YNEDsJZ.js.gz} +0 -0
  700. /package/payload/server/public/assets/{rough.esm-BFJ-MgcB.js → rough.esm-ec8xsRC7.js} +0 -0
  701. /package/payload/server/public/assets/{rough.esm-BFJ-MgcB.js.br → rough.esm-ec8xsRC7.js.br} +0 -0
  702. /package/payload/server/public/assets/{rough.esm-BFJ-MgcB.js.gz → rough.esm-ec8xsRC7.js.gz} +0 -0
  703. /package/payload/server/public/assets/{src-9CNk4JU0.js → src-C-STKunZ.js} +0 -0
  704. /package/payload/server/public/assets/{src-9CNk4JU0.js.br → src-C-STKunZ.js.br} +0 -0
  705. /package/payload/server/public/assets/{src-9CNk4JU0.js.gz → src-C-STKunZ.js.gz} +0 -0
@@ -0,0 +1,32 @@
1
+ import { resolveConfig, writeSendingIdentity } from "../lib/credentials.js";
2
+ /**
3
+ * Task 2194 — designate the account's own outbound address.
4
+ *
5
+ * A dedicated writer rather than an `email-setup` parameter, following the
6
+ * `email-signature-set` precedent from Task 2097: designation has to be
7
+ * changeable on an account whose mailboxes already exist, and the account this
8
+ * was filed from holds three.
9
+ *
10
+ * The mailbox is resolved through `resolveConfig` before anything is written,
11
+ * so an address the account does not hold is refused naming the stored
12
+ * identities and nothing is touched. Uniqueness is enforced by the write, not
13
+ * by a check afterwards — see `writeSendingIdentity`.
14
+ */
15
+ export async function emailSendingIdentitySet(params) {
16
+ const { accountId, mailbox } = params;
17
+ const resolved = await resolveConfig(accountId, mailbox);
18
+ if ("error" in resolved)
19
+ throw new Error(resolved.error);
20
+ const { config } = resolved;
21
+ const cleared = await writeSendingIdentity(accountId, config.email);
22
+ console.error(`[email-sending-identity-set] op=write accountId=${accountId.slice(0, 8)} mailbox=${config.email} cleared=${cleared}`);
23
+ return [
24
+ `${config.email} is now this account's sending identity. `,
25
+ `An email-draft, email-send or email-reply that names no mailbox composes from it, `,
26
+ `so the sending address is read from the account rather than chosen by whoever is drafting.`,
27
+ cleared
28
+ ? `\n\nCleared the designation from ${cleared} other mailbox${cleared === 1 ? "" : "es"}. Exactly one mailbox carries it at a time.`
29
+ : `\n\nNo other mailbox carried the designation.`,
30
+ ].join("");
31
+ }
32
+ //# sourceMappingURL=email-sending-identity-set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-sending-identity-set.js","sourceRoot":"","sources":["../../src/tools/email-sending-identity-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAO5E;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAgC;IAEhC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEtC,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACzD,IAAI,OAAO,IAAI,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAE5B,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAEpE,OAAO,CAAC,KAAK,CACX,mDAAmD,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,MAAM,CAAC,KAAK,YAAY,OAAO,EAAE,CACtH,CAAC;IAEF,OAAO;QACL,GAAG,MAAM,CAAC,KAAK,2CAA2C;QAC1D,oFAAoF;QACpF,4FAA4F;QAC5F,OAAO;YACL,CAAC,CAAC,oCAAoC,OAAO,iBAAiB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,6CAA6C;YACpI,CAAC,CAAC,+CAA+C;KACpD,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"email-status.d.ts","sourceRoot":"","sources":["../../src/tools/email-status.ts"],"names":[],"mappings":"AAQA,UAAU,YAAY;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA4FD,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BvE"}
1
+ {"version":3,"file":"email-status.d.ts","sourceRoot":"","sources":["../../src/tools/email-status.ts"],"names":[],"mappings":"AAQA,UAAU,YAAY;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA0GD,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAwCvE"}
@@ -3,9 +3,20 @@ import * as imap from "../lib/imap.js";
3
3
  import * as smtp from "../lib/smtp.js";
4
4
  /** Probe one mailbox's IMAP + SMTP and render its health block. */
5
5
  async function probeOne(accountId, config) {
6
+ // Task 2194. The account's own outbound address is a stored fact about this
7
+ // mailbox, so it is reported on a single-mailbox account as well as a
8
+ // multi-mailbox one, and above the credential check rather than below it: a
9
+ // broken credential changes the mailbox's health, not which address the
10
+ // account sends from, and a failing mailbox is exactly when someone is
11
+ // reading this looking for it.
12
+ const identityLine = config.sendingIdentity === true
13
+ ? "Sending identity: yes — a draft, send or reply that names no mailbox composes from this address"
14
+ : "";
6
15
  const credResult = await loadCredentials(accountId, config.email);
7
16
  if ("error" in credResult) {
8
- return `Email: ${config.email} — ${credResult.error}`;
17
+ return [`Email: ${config.email} — ${credResult.error}`, identityLine]
18
+ .filter(Boolean)
19
+ .join("\n");
9
20
  }
10
21
  const { password } = credResult.credentials;
11
22
  // Test IMAP
@@ -56,6 +67,7 @@ async function probeOne(accountId, config) {
56
67
  `IMAP: ${config.imapHost}:${config.imapPort} (${config.imapSecurity}) — ${imapStatus}`,
57
68
  `SMTP: ${config.smtpHost}:${config.smtpPort} (${config.smtpSecurity}) — ${smtpStatus}`,
58
69
  lastConnectLine,
70
+ identityLine,
59
71
  inboxInfo,
60
72
  ]
61
73
  .filter(Boolean)
@@ -112,7 +124,15 @@ export async function emailStatus(params) {
112
124
  blocks.push(multi ? `Mailbox: ${config.email}\n${body}` : body);
113
125
  }
114
126
  const header = multi ? `${configs.length} mailboxes attached.\n\n` : "";
127
+ // Task 2194. Computed from `configs`, the whole account, and not from
128
+ // `targets` — a mailbox-narrowed report must not hide the account's gap.
129
+ // Only multi-mailbox accounts have a gap: resolveConfig returns the sole
130
+ // mailbox on a single-mailbox account without any designation.
131
+ const noneDesignated = multi && !configs.some((c) => c.sendingIdentity === true);
132
+ const identityGap = noneDesignated
133
+ ? `\n\nNo mailbox is designated as this account's sending identity, so a draft, send or reply that names no mailbox is refused rather than resolved. Ask the operator which address this account sends from, then run email-sending-identity-set with it.`
134
+ : "";
115
135
  logOutcome("ok");
116
- return header + blocks.join("\n\n");
136
+ return header + blocks.join("\n\n") + identityGap;
117
137
  }
118
138
  //# sourceMappingURL=email-status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-status.js","sourceRoot":"","sources":["../../src/tools/email-status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email-status.js","sourceRoot":"","sources":["../../src/tools/email-status.ts"],"names":[],"mappings":"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"}
@@ -54,12 +54,18 @@ Every operational tool (`email-read`, `email-search`, `email-fetch-body`, `email
54
54
  - `mailbox` given and configured: act on that mailbox.
55
55
  - `mailbox` given but not configured: refused with `No mailbox <addr> is configured. Stored mailbox identities: [...]. Run email-setup for <addr>. This lists IMAP mailboxes only; if <addr> is a Microsoft 365 address, call outlook-mailbox-list.`
56
56
  - `mailbox` omitted, exactly one mailbox configured: act on it (single-mailbox installs pass nothing).
57
- - `mailbox` omitted, two or more configured: refused with `Multiple mailboxes are configured. Stored mailbox identities: [...]. Pass mailbox to choose one.`
57
+ - `mailbox` omitted, two or more configured, one designated as the account's sending identity: act on the designated mailbox.
58
+ - `mailbox` omitted, two or more configured, none designated: refused with `Multiple mailboxes are configured and none is designated as this account's sending identity. Stored mailbox identities: [...]. Pass mailbox to choose one for this call, or run email-sending-identity-set to designate the address this account sends from, so calls that name no mailbox resolve it without guessing.`
59
+ - `mailbox` omitted, two or more designated: refused naming the designated addresses. The setter clears every sibling in one statement, so this state was written outside the plugin; electing one of them would be the silent pick the designation exists to remove.
58
60
 
59
61
  Read the attached mailboxes with `email-status`, which lists every one, before naming a selector. To act on a message in a second inbox, pass that inbox's address as `mailbox` on the operating tool; there is no setup swap. The poll high-water mark (`lastFetchedUid`) and the pending `email-fetch` / `email-ingest` batch are per-mailbox, so triaging two inboxes never crosses their state.
60
62
 
61
63
  `email-graph-query` is account-scoped (it reads stored archives, not a live mailbox) and takes no `mailbox` argument. Every credential load logs `[email] cred-resolve ... email=<addr> source=store`, naming the resolved mailbox, so a per-call selection is visible in the logs.
62
64
 
65
+ **Designating the sender: `email-sending-identity-set`.** An account holding two or more mailboxes has no default until one is designated. The setter takes one `mailbox`, resolves it through the same `resolveConfig` every operational tool uses (an address the account does not hold is refused naming the stored identities, and nothing is written), then designates it and removes the flag from every sibling in one statement — uniqueness is a property of the write, not of a check afterwards. It logs `[email-sending-identity-set] op=write accountId=<id8> mailbox=<addr> cleared=<n>`; `cleared=` is what makes that uniqueness claim auditable. Re-running `email-setup` on a designated mailbox preserves the designation, because `writeConfig` names the property in neither its `SET` nor its `REMOVE` list. The address must come from the operator: a routing rule, a signature or an inbound reconcile trigger each name an address for a different purpose, and reading one of those as the sending address is exactly the inference this tool exists to remove.
66
+
67
+ Every resolution that picks a mailbox logs `[email] op=identity-resolve accountId=<id8> mailbox=<addr> source=<explicit|sendingIdentity|sole>`, so a wrong-mailbox send is diagnosed from one line naming both the address and the route that chose it. Refusals log nothing here — they pick no mailbox, and each returns a typed error naming the stored identities. `email-status` is the standing check for the account that has never drafted: it marks the designated mailbox and states plainly when a multi-mailbox account has none.
68
+
63
69
  ## Reading and Searching
64
70
 
65
71
  `email-read` and `email-search` return message metadata plus a short body preview (capped at 500 characters): UID, sender, subject, date, and the opening of the body. They are screening tools — use them to find a message, not to read it in full.
@@ -191,9 +197,11 @@ If neither the UID nor the Message-ID resolves a live draft, the prior draft is
191
197
  - `email-signature.html` is the HTML signature block, appended to the message html.
192
198
  - `email-signature.font` is an optional single-line CSS font-family; when present the html part is wrapped in one `font-family` div.
193
199
 
194
- The plain-text signature is appended whenever it exists. The html signature and the font wrap apply only when the caller supplied html, because font has no plain-text analogue. The caller passes body and html without the signature, and the tool appends it. Each draft compose logs `[email-draft] op=signature accountId=<id8> applied=<bool> asset=<path>`; `applied=false` on a turn that produced a draft is the failure signal, meaning the asset was missing or the account directory did not resolve.
200
+ The plain-text signature is appended whenever it exists. The html signature is appended whenever it exists too: when the caller passed no html body, one is derived from the plain body escaped, blank line to paragraph, single newline to line break — so the stored html signature has somewhere to land and the draft becomes `multipart/alternative`. The derivation reads the caller's body, not the text-signed one, so each MIME alternative carries exactly one sign-off. An account with no stored `.html` derives nothing and its drafts stay `text/plain`. The font wrap applies to whichever html body exists, derived or supplied, and has no plain-text analogue.
201
+
202
+ Each draft compose logs `[email-draft] op=signature accountId=<id8> text=<bool> html=<bool> derivedHtml=<bool> asset=<path>`, and each draft tool's own result names the parts that landed and the part the account has not stored. The result sentence is the proof: the log is unreachable from the tools a drafting agent holds. A part reported false means no file of that kind is stored, not that the append failed.
195
203
 
196
- **Writing the files: `email-signature-set`.** Those three files are installed only by `email-signature-set`, which writes to the same directory the draft path reads, so a signature stored through it cannot land somewhere a draft would miss. Text and html are stored byte-for-byte; font is stored trimmed. **Omitting a parameter removes its file**, so a text-only call clears a stale `.html` rather than leaving it to keep being appended — pass every part that should survive on each call. Omitting is the only way to remove: an empty string is a value, so `text: ""` stores an empty signature and makes the draft log report `applied=true` while the recipient sees nothing. A call with no parameters at all is refused rather than treated as "erase everything", and an unresolvable account directory is refused before anything is touched. The write logs `[email-signature-set] op=write accountId=<id8> files=<written> removed=<removed>`. Until this tool shipped the loader had no writer at all, which is why accounts carried `applied=false` and agents hand-built signatures into draft bodies; see `skills/email-signature/SKILL.md` for the standing rules.
204
+ **Writing the files: `email-signature-set`.** Those three files are installed only by `email-signature-set`, which writes to the same directory the draft path reads, so a signature stored through it cannot land somewhere a draft would miss. Text and html are stored byte-for-byte; font is stored trimmed. **Omitting a parameter removes its file**, so a text-only call clears a stale `.html` rather than leaving it to keep being appended — pass every part that should survive on each call. Omitting is the only way to remove: an empty string is a value, so `text: ""` stores an empty signature and makes the draft report `plain text applied` while the recipient sees nothing. A call with no parameters at all is refused rather than treated as "erase everything", and an unresolvable account directory is refused before anything is touched. The write logs `[email-signature-set] op=write accountId=<id8> files=<written> removed=<removed>`. Until this tool shipped the loader had no writer at all, which is why accounts had no signature at all and agents hand-built them into draft bodies; see `skills/email-signature/SKILL.md` for the standing rules.
197
205
 
198
206
  ### Transient connection drops
199
207
 
@@ -131,6 +131,8 @@ Same as the reply flow with two differences:
131
131
 
132
132
  Multi-recipient drafting: if the operator names a single person, use that address. If the operator names a group ("email the team", "everyone from yesterday's viewings"), ask which addresses to include — list candidates if you can resolve them from the graph, otherwise ask the operator to enumerate. Do not invent recipients.
133
133
 
134
+ **The sending mailbox is the account's, not yours to choose.** When the operator has not named a mailbox to send from, pass no `mailbox` and let the tool resolve the account's sending identity. Do not pick one, and do not write one into a brief for another agent. If the call is refused because the account has no designated sending identity, that refusal is the correct outcome: ask the operator which address they send from, then run `email-sending-identity-set` with their answer. An address that appears in a routing rule, a signature, a domain or an inbound trigger is named there for a different purpose and is not evidence of what the account sends from.
135
+
134
136
  ## Flow — save to Drafts instead of sending
135
137
 
136
138
  When the operator's stated outcome is a reviewable, unsent email — signalled by intent like "draft it", "leave it in drafts", "don't send yet", "the same as last time but leave it in the draft box", "let me review before sending" — the approval step changes target: the approved draft goes to `email-draft`, not `email-send`/`email-reply`. Everything upstream (thread identification, voice conditioning, the present-and-edit loop) is identical.
@@ -183,6 +185,7 @@ Delete is move-to-Trash only. There is no permanent/hard delete, no delete-by-cr
183
185
  | Situation | Behaviour |
184
186
  |-----------|-----------|
185
187
  | Multiple threads match the operator's description | Surface 3-5 candidates and ask. Never guess. |
188
+ | Account has two or more mailboxes and the operator named none | Pass no `mailbox`; the account's designated sending identity resolves it. If the call is refused because none is designated, ask the operator which address they send from and run `email-sending-identity-set`. Never infer the address. |
186
189
  | CC / BCC in the original thread | Reply to sender only by default. Ask explicitly before copying others. |
187
190
  | Recipient's contact record carries an always-CC or alternate address | Apply it to To/Cc in the draft and show it for approval. Explicit operator instruction on this send overrides it. |
188
191
  | `replyAll` requested | Pass `replyAll: true` to `email-reply`. Otherwise omit (defaults false). |
@@ -10,9 +10,20 @@ Invoked from `specialists:personal-assistant`, or by the admin session directly.
10
10
  ## What success looks like
11
11
 
12
12
  The operator's real signature is stored in the account, and every draft from then on carries it
13
- byte-for-byte with no signature text the model wrote. `email-draft` logs
14
- `[email-draft] op=signature applied=true asset=<path>` on the next draft. That log line is the proof;
15
- a claim that the signature is set without it is not evidence.
13
+ byte-for-byte with no signature text the model wrote.
14
+
15
+ **The proof is the draft tool's own result.** `email-draft` and `email-draft-edit` each end with one
16
+ of four sentences, naming what that draft actually carried:
17
+
18
+ - `Signature: plain text and HTML (body derived from the plain text) applied.`
19
+ - `Signature: plain text and HTML applied.`
20
+ - `Signature: plain text applied. No HTML signature is stored.`
21
+ - `Signature: none stored for this account.`
22
+
23
+ `email-draft` also logs `[email-draft] op=signature text=<bool> html=<bool> derivedHtml=<bool>
24
+ asset=<path>`, which says the same thing from the other side. It is corroboration, not the proof: that
25
+ log is unreachable from the tools a drafting agent holds. A claim that the signature is set, without
26
+ the result sentence, is not evidence.
16
27
 
17
28
  ## The convention
18
29
 
@@ -22,7 +33,7 @@ judgement in the path. It reads three files at the account root:
22
33
  | File | Content | How it is applied |
23
34
  |---|---|---|
24
35
  | `email-signature.txt` | Plain-text signature | Appended to the plain-text body after a blank line, byte-for-byte |
25
- | `email-signature.html` | HTML signature | Appended to the HTML body, byte-for-byte |
36
+ | `email-signature.html` | HTML signature | Appended to the HTML body, byte-for-byte. A draft composed with no HTML body gets one derived from its plain text, so a stored HTML signature always lands |
26
37
  | `email-signature.font` | One CSS font-family value, e.g. `Georgia, serif` | Wraps the whole HTML body in a `font-family` div. HTML-only, no plain-text effect |
27
38
 
28
39
  `email-signature-set` is the only sanctioned way to write them. It writes to the exact directory the
@@ -46,9 +57,9 @@ that should survive; a part left out has its file deleted, which is how a stale
46
57
  cleared. A call with no parts at all is refused rather than treated as "erase everything".
47
58
 
48
59
  **Omitting a key is the only way to remove a part.** An empty string is a value, so `text: ""` stores an
49
- empty signature rather than clearing it: the file exists, the draft log reports `applied=true`, and the
60
+ empty signature rather than clearing it: the file exists, the draft reports `plain text applied`, and the
50
61
  recipient sees a blank line where the sign-off should be. That is the one way to manufacture a false
51
- `applied=true`, so never pass `""` to clear something — leave the key out.
62
+ `applied`, so never pass `""` to clear something — leave the key out.
52
63
 
53
64
  **One signature per account.** There is no per-mailbox signature: the loader reads one account root.
54
65
  An account whose mailboxes need different sign-offs is a gap to report, not something to work around
@@ -56,6 +67,13 @@ by putting the difference in a draft body.
56
67
 
57
68
  ## When a draft came out wrong
58
69
 
59
- `applied=false` in the draft log means the account has no stored signature, not that the append
60
- failed. Install it rather than compensating in the body. If `applied=true` but the content is wrong,
61
- the stored file is wrong: re-read the source of truth and set it again.
70
+ Read the draft's own result sentence. Each half names a stored file, not a failure:
71
+
72
+ - **`No plain text signature is stored`** the account has no `email-signature.txt`.
73
+ - **`No HTML signature is stored`** — the account has no `email-signature.html`. This is why a draft
74
+ arrives without the logo or letterhead while still carrying the sign-off.
75
+ - **`Signature: none stored for this account`** — neither file is there.
76
+
77
+ In every case the fix is to install the missing part with `email-signature-set`, never to compensate
78
+ in the draft body. If a part is reported applied but its content is wrong, the stored file is wrong:
79
+ re-read the source of truth and set it again.
@@ -96,10 +96,13 @@ SS
96
96
  exec /bin/sleep 0.02
97
97
  SLEEP
98
98
 
99
- # Stub Chromium: record the launch; in "ready" mode open the CDP port.
99
+ # Stub Chromium: record the launch its argv and the DISPLAY it inherited,
100
+ # so a test can assert HOW Chromium was launched, not just that it was
101
+ # (Task 1562 turned the virtual-mode launch headless). In "ready" mode open
102
+ # the CDP port.
100
103
  cat > "$FAKE_BIN/chromium-stub" <<'STUB'
101
104
  #!/usr/bin/env bash
102
- echo "launch" >> "$STATE_DIR/chromium-calls"
105
+ echo "launch DISPLAY=${DISPLAY:-unset} $*" >> "$STATE_DIR/chromium-calls"
103
106
  if [ "$(cat "$STATE_DIR/chromium-mode")" = "ready" ]; then
104
107
  cat "$STATE_DIR/cdp-port" >> "$STATE_DIR/ports"
105
108
  fi
@@ -209,11 +212,31 @@ case_native_noop() {
209
212
  teardown
210
213
  }
211
214
 
215
+ # --- Case 6: virtual-mode respawn launches Chromium HEADLESS -------------
216
+ # Task 1562. The respawned browser must not need an X display: `--headless=new`
217
+ # is present, the X11 ozone backend is not requested, and no DISPLAY is
218
+ # exported into the launch. Without this the respawn silently depends on
219
+ # Xtigervnc and the display stack can never be retired.
220
+ case_respawn_is_headless() {
221
+ echo "=== CASE 6: virtual-mode respawn launches Chromium headless ==="
222
+ setup; write_env virtual
223
+ set_ports "$RFB_PORT" # display up, CDP down → respawn
224
+ set_mode ready
225
+ run_liveness >/dev/null
226
+ local call; call="$(cat "$STATE_DIR/chromium-calls")"
227
+ assert "launch requests --headless=new" "$(echo "$call" | grep -q -- '--headless=new' && echo 1 || echo 0)"
228
+ assert "launch does not request x11 ozone" "$(echo "$call" | grep -q -- '--ozone-platform=x11' && echo 0 || echo 1)"
229
+ assert "launch inherits no DISPLAY" "$(echo "$call" | grep -q 'DISPLAY=unset' && echo 1 || echo 0)"
230
+ assert "launch keeps the brand CDP port" "$(echo "$call" | grep -q -- "--remote-debugging-port=$CDP_PORT" && echo 1 || echo 0)"
231
+ teardown
232
+ }
233
+
212
234
  case_reachable_noop
213
235
  case_down_respawns_ready
214
236
  case_backoff_no_hotloop
215
237
  case_cooldown_retries
216
238
  case_native_noop
239
+ case_respawn_is_headless
217
240
 
218
241
  echo ""
219
242
  echo "==================================="
@@ -8,9 +8,15 @@
8
8
  # Xtigervnc :${VNC_DISPLAY} — virtual X11 display per brand
9
9
  # Xtigervnc -rfbport ${RFB_PORT} — RFB port per brand
10
10
  # websockify :${WEBSOCKIFY_PORT} — WebSocket bridge per brand
11
- # Chromium — headed browser with --user-data-dir per brand
11
+ # Chromium — headless browser with --user-data-dir per brand
12
12
  # CDP :${CDP_PORT} — browser plugin (browser-render) CDP endpoint per brand
13
13
  #
14
+ # Task 1562: virtual-mode Chromium is HEADLESS. The X display, RFB port and
15
+ # websockify still boot, but no browser renders onto them and no surface reads
16
+ # them — every consumer (agent browser-* tools, the operator screencast viewer,
17
+ # the Claude sign-in browser) is a CDP client on ${CDP_PORT}. Retiring the three
18
+ # now-unread components, their ports and their apt deps is Task 2198.
19
+ #
14
20
  # Brand isolation (Tasks 553 + 924): the X display number, Chromium profile,
15
21
  # rfbport, websockify port, and CDP port are all brand-scoped so any number
16
22
  # of brands on the same device run their full VNC stacks concurrently
@@ -27,7 +33,7 @@
27
33
  # (/api/admin/actions/*) rather than an in-browser terminal.
28
34
  #
29
35
  # Display modes (DISPLAY_MODE env var, set by installer --display flag):
30
- # virtual (default) — Chromium runs on the brand's :${VNC_DISPLAY}
36
+ # virtual (default) — Chromium runs headless; no display at all (Task 1562)
31
37
  # native — Chromium runs on the login session's real display
32
38
  # (discovered via loginctl, NOT from $DISPLAY which
33
39
  # is poisoned by the systemd Environment=DISPLAY line)
@@ -263,7 +269,9 @@ wait_for_port() {
263
269
 
264
270
  # Return 0 if a visible Chromium window is mapped on the given X display.
265
271
  # Used as a log-only observability invariant after CDP comes up (callers do
266
- # NOT gate on the result). Matches the WM_CLASS of both Chromium (Pi .deb,
272
+ # NOT gate on the result). Native mode is its only caller since Task 1562 —
273
+ # virtual mode is headless and maps no window anywhere. Matches the WM_CLASS
274
+ # of both Chromium (Pi .deb,
267
275
  # class "chromium") and Google Chrome (Noble, class "google-chrome") via the
268
276
  # [Cc]hrom regex. Degrades to non-zero when xdotool is absent or the display
269
277
  # is non-X11, so the caller logs the existing non-gating "no window visible"
@@ -322,19 +330,32 @@ discover_native_session() {
322
330
  fi
323
331
  }
324
332
 
325
- start_chrome_on() {
326
- local target_display="$1"
327
- local label="$2" # "vnc" (native mode uses start_chrome_native instead)
333
+ # Virtual-mode Chromium: headless, driven entirely over CDP (Task 1562).
334
+ #
335
+ # Nothing reads pixels off an X display any more — the agent's browser-* tools
336
+ # and the operator's screencast viewer (Task 1561) are both CDP clients, and the
337
+ # Claude sign-in browser now reaches this same instance through the wrapper's
338
+ # CDP handover (writeChromiumWrapper, app/lib/vnc.ts) rather than by launching a
339
+ # second Chromium against the profile.
340
+ #
341
+ # DISPLAY and WAYLAND_DISPLAY are actively unset rather than merely omitted: the
342
+ # brand's edge.service stamps `Environment=DISPLAY=:${VNC_DISPLAY}`, so an
343
+ # inherited DISPLAY would otherwise reach Chromium and re-couple the headless
344
+ # browser to the X stack this task exists to decouple it from.
345
+ #
346
+ # `--window-size` still matters headless: it fixes the screencast frame
347
+ # dimensions the viewer renders.
348
+ start_chrome() {
328
349
  # Brand-scoped Chromium kill: only this brand's profile-bound chromium.
329
350
  pkill -f "chromium.*--user-data-dir=${CHROMIUM_PROFILE_DIR}" 2>/dev/null || true
330
351
  sleep 0.3
331
352
 
332
353
  mkdir -p "${CHROMIUM_PROFILE_DIR}"
333
- log "Starting Chromium on ${target_display} (${label}) profile=${CHROMIUM_PROFILE_DIR} CDP=:${CDP_PORT}"
354
+ log "Starting Chromium headless profile=${CHROMIUM_PROFILE_DIR} CDP=:${CDP_PORT}"
334
355
 
335
- DISPLAY="${target_display}" "$CHROMIUM_BIN" \
356
+ env -u DISPLAY -u WAYLAND_DISPLAY "$CHROMIUM_BIN" \
357
+ --headless=new \
336
358
  --user-data-dir="${CHROMIUM_PROFILE_DIR}" \
337
- --ozone-platform=x11 \
338
359
  --no-sandbox \
339
360
  --test-type \
340
361
  --disable-dev-shm-usage \
@@ -353,32 +374,19 @@ start_chrome_on() {
353
374
  --noerrdialogs \
354
375
  --metrics-recording-only \
355
376
  --window-size=1280,800 \
356
- --window-position=0,0 \
357
377
  --remote-debugging-port="${CDP_PORT}" \
358
378
  about:blank \
359
379
  >> "$LOG_FILE" 2>&1 &
360
380
 
361
381
  if wait_for_port "${CDP_PORT}"; then
362
- # Log-only observability: the display-membership invariant is
363
- # asserted but does NOT gate success here. Chromium does not D-Bus-delegate
364
- # its window creation, so the failure mode is not currently reachable — but
365
- # making the invariant visible now means future backend swaps (e.g.
366
- # snap-installed Chromium on Ubuntu with different IPC) surface the drift
367
- # in vnc-boot.log rather than as a silent-black iframe.
368
- if check_window_on_display "${target_display}"; then
369
- log "Chromium ready (${label}) with CDP on :${CDP_PORT} windowPresent=true"
370
- else
371
- log "WARNING: Chromium CDP up on :${CDP_PORT} but no window visible on ${target_display} (${label}) — observability-only, not gating"
372
- fi
382
+ log "Chromium ready (headless) with CDP on :${CDP_PORT}"
383
+ echo "[vnc] op=chromium-headless-start cdp=:${CDP_PORT} outcome=ready"
373
384
  else
374
- log "ERROR: Chromium failed to start on ${target_display} (${label}) — CDP port ${CDP_PORT} not listening (browser-specialist degraded)"
385
+ log "ERROR: Chromium failed to start headless — CDP port ${CDP_PORT} not listening (browser-specialist degraded)"
386
+ echo "[vnc] op=chromium-headless-start cdp=:${CDP_PORT} outcome=failed"
375
387
  fi
376
388
  }
377
389
 
378
- start_chrome() {
379
- start_chrome_on "${VNC_DISPLAY}" "vnc"
380
- }
381
-
382
390
  # ---------------------------------------------------------------------------
383
391
  # Retired in Task 287: the admin-UI terminal and browser-overlay surfaces
384
392
  # are gone. This script still launches Chromium for legacy installs where
@@ -15,7 +15,7 @@ export interface ReconcileResult extends ReconcileCounts {
15
15
  /** The single per-run summary line body. A non-zero count is the standing signal
16
16
  * that an agent authored folders the hard guards could not prevent. Pure
17
17
  * formatter so the emitter and its test share one wording. */
18
- export declare function formatReconcileLine(c: ReconcileCounts, homeMissing?: number, homeUnaudited?: number, agentDrift?: number): string;
18
+ export declare function formatReconcileLine(c: ReconcileCounts, homeMissing?: number, homeUnaudited?: number, agentDrift?: number, hooksMissing?: number, hooksUnaudited?: number): string;
19
19
  /** Parse the fenced ```allowed-top-level block from an account's SCHEMA.md —
20
20
  * the same structured set fs-schema-guard.sh parses with awk. Returns the
21
21
  * entry names (blank lines dropped). An absent block yields an empty set. */
@@ -29,6 +29,29 @@ export interface ReconcileDeps {
29
29
  accountsRoot: string;
30
30
  logger: (line: string) => void;
31
31
  }
32
+ /**
33
+ * Task 2196 — which of the required file-write fences this account's settings do
34
+ * not register, as `<matcher>:<hook filename>`.
35
+ *
36
+ * The cross-account refusal and the account-layout fences live in those hooks,
37
+ * so an account that does not register them is unfenced while every other signal
38
+ * reads clean: a hook that never runs emits nothing, which is precisely the
39
+ * state that cannot be seen by watching for its output.
40
+ *
41
+ * Returns null when settings.json is absent or unparseable, which the caller
42
+ * counts as "not audited" rather than "clean". Without that, an install where no
43
+ * account has settings reports hooks-missing=0 and reads as fenced.
44
+ *
45
+ * The matcher is compared for equality, which is the shape
46
+ * provision-account-dir.sh writes for all five. A settings file that reaches the
47
+ * same effect another way — a matcher-less catch-all entry, or a regex
48
+ * alternation — reads as missing here. That is intended: what this audits is
49
+ * whether the account carries the provisioned fence, and drift from the template
50
+ * is worth a line even when it happens to be equivalent.
51
+ */
52
+ export declare function hookRegistration(accountDir: string): {
53
+ missing: string[];
54
+ } | null;
32
55
  /** One reconcile pass over every account under the accounts root: one op=strays
33
56
  * line naming the unaccounted-for entries of each account that has any, then the
34
57
  * single summary line. An account is any child dir with an account.json (the
@@ -1 +1 @@
1
- {"version":3,"file":"account-dir-schema-reconcile.d.ts","sourceRoot":"","sources":["../src/account-dir-schema-reconcile.ts"],"names":[],"mappings":"AA8EA,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD;;;;;0CAKsC;IACtC,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAED;;+DAE+D;AAC/D,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,eAAe,EAClB,WAAW,SAAI,EACf,aAAa,SAAI,EACjB,UAAU,SAAI,GACb,MAAM,CAGR;AAED;;8EAE8E;AAC9E,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAcpE;AA+ED;;;8EAG8E;AAC9E,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,CAoCpE;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/B;AA0DD;;;;;;;;;;;;;iCAaiC;AACjC,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CA8DtD;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,IAAI,IAAI,CAAA;IACb,IAAI,IAAI,IAAI,CAAA;CACb;AAED;oDACoD;AACpD,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,aAAa,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAC3C,yBAAyB,CAiB3B"}
1
+ {"version":3,"file":"account-dir-schema-reconcile.d.ts","sourceRoot":"","sources":["../src/account-dir-schema-reconcile.ts"],"names":[],"mappings":"AA8EA,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD;;;;;0CAKsC;IACtC,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAED;;+DAE+D;AAC/D,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,eAAe,EAClB,WAAW,SAAI,EACf,aAAa,SAAI,EACjB,UAAU,SAAI,EACd,YAAY,SAAI,EAChB,cAAc,SAAI,GACjB,MAAM,CAIR;AAED;;8EAE8E;AAC9E,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAcpE;AA+ED;;;8EAG8E;AAC9E,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,CAoCpE;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/B;AAqED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CA6BjF;AAED;;;;;;;;;;;;;iCAaiC;AACjC,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CA6EtD;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,IAAI,IAAI,CAAA;IACb,IAAI,IAAI,IAAI,CAAA;CACb;AAED;oDACoD;AACpD,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,aAAa,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAC3C,yBAAyB,CAiB3B"}
@@ -73,9 +73,10 @@ const FILE_NAME_RE = /^[a-z0-9-]+(\.[a-z0-9-]+)*$/;
73
73
  /** The single per-run summary line body. A non-zero count is the standing signal
74
74
  * that an agent authored folders the hard guards could not prevent. Pure
75
75
  * formatter so the emitter and its test share one wording. */
76
- export function formatReconcileLine(c, homeMissing = 0, homeUnaudited = 0, agentDrift = 0) {
76
+ export function formatReconcileLine(c, homeMissing = 0, homeUnaudited = 0, agentDrift = 0, hooksMissing = 0, hooksUnaudited = 0) {
77
77
  return `${TAG} stray-top-level=${c.strayTopLevel} over-deep=${c.overDeep} bad-name=${c.badName}`
78
- + ` home-missing=${homeMissing} home-unaudited=${homeUnaudited} agent-drift=${agentDrift}`;
78
+ + ` home-missing=${homeMissing} home-unaudited=${homeUnaudited} agent-drift=${agentDrift}`
79
+ + ` hooks-missing=${hooksMissing} hooks-unaudited=${hooksUnaudited}`;
79
80
  }
80
81
  /** Parse the fenced ```allowed-top-level block from an account's SCHEMA.md —
81
82
  * the same structured set fs-schema-guard.sh parses with awk. Returns the
@@ -283,6 +284,70 @@ function agentParity(accountDir) {
283
284
  const stillOnDisk = disabled.filter((n) => existsSync(join(accountDir, 'specialists', 'agents', n)));
284
285
  return { disabled: disabled.length, stillOnDisk };
285
286
  }
287
+ /** The hook entries that fence an account's file writes: the path guard on each
288
+ * path-bearing tool, and the Bash snapshot pair. Each row is
289
+ * [settings event, matcher, hook filename]. */
290
+ const REQUIRED_HOOKS = [
291
+ ['PreToolUse', 'Write', 'fs-schema-guard.sh'],
292
+ ['PreToolUse', 'Edit', 'fs-schema-guard.sh'],
293
+ ['PreToolUse', 'NotebookEdit', 'fs-schema-guard.sh'],
294
+ ['PreToolUse', 'Bash', 'fs-schema-guard-bash-pre.sh'],
295
+ ['PostToolUse', 'Bash', 'fs-schema-guard-bash-post.sh'],
296
+ ];
297
+ /**
298
+ * Task 2196 — which of the required file-write fences this account's settings do
299
+ * not register, as `<matcher>:<hook filename>`.
300
+ *
301
+ * The cross-account refusal and the account-layout fences live in those hooks,
302
+ * so an account that does not register them is unfenced while every other signal
303
+ * reads clean: a hook that never runs emits nothing, which is precisely the
304
+ * state that cannot be seen by watching for its output.
305
+ *
306
+ * Returns null when settings.json is absent or unparseable, which the caller
307
+ * counts as "not audited" rather than "clean". Without that, an install where no
308
+ * account has settings reports hooks-missing=0 and reads as fenced.
309
+ *
310
+ * The matcher is compared for equality, which is the shape
311
+ * provision-account-dir.sh writes for all five. A settings file that reaches the
312
+ * same effect another way — a matcher-less catch-all entry, or a regex
313
+ * alternation — reads as missing here. That is intended: what this audits is
314
+ * whether the account carries the provisioned fence, and drift from the template
315
+ * is worth a line even when it happens to be equivalent.
316
+ */
317
+ export function hookRegistration(accountDir) {
318
+ let raw;
319
+ try {
320
+ raw = readFileSync(join(accountDir, '.claude', 'settings.json'), 'utf8');
321
+ }
322
+ catch {
323
+ return null;
324
+ }
325
+ let hooks;
326
+ try {
327
+ hooks = JSON.parse(raw).hooks;
328
+ }
329
+ catch {
330
+ return null;
331
+ }
332
+ const missing = [];
333
+ for (const [event, matcher, hookFile] of REQUIRED_HOOKS) {
334
+ const entries = hooks && typeof hooks === 'object'
335
+ ? hooks[event]
336
+ : undefined;
337
+ const found = Array.isArray(entries) && entries.some((e) => {
338
+ const entry = e;
339
+ if (entry.matcher !== matcher)
340
+ return false;
341
+ return Array.isArray(entry.hooks) && entry.hooks.some((h) => {
342
+ const cmd = h.command;
343
+ return typeof cmd === 'string' && cmd.includes(hookFile);
344
+ });
345
+ });
346
+ if (!found)
347
+ missing.push(`${matcher}:${hookFile}`);
348
+ }
349
+ return { missing };
350
+ }
286
351
  /** One reconcile pass over every account under the accounts root: one op=strays
287
352
  * line naming the unaccounted-for entries of each account that has any, then the
288
353
  * single summary line. An account is any child dir with an account.json (the
@@ -312,6 +377,13 @@ export function runReconcile(deps) {
312
377
  // that the check ran and found nothing, which is what makes the absence of an
313
378
  // op=agent-parity line readable as "clean" rather than "never audited".
314
379
  let agentDrift = 0;
380
+ // Task 2196 — per-run total of required file-write fences no account
381
+ // registers, and the count of accounts whose settings could not be read at
382
+ // all. hooks-missing=0 with hooks-unaudited=0 on the summary line is the
383
+ // per-cycle proof the fence is wired everywhere; either being non-zero means
384
+ // some account is unfenced or unchecked.
385
+ let hooksMissing = 0;
386
+ let hooksUnaudited = 0;
315
387
  let entries;
316
388
  try {
317
389
  entries = readdirSync(deps.accountsRoot);
@@ -350,6 +422,15 @@ export function runReconcile(deps) {
350
422
  `stillOnDisk=${agents.stillOnDisk.join(',')}`);
351
423
  agentDrift += agents.stillOnDisk.length;
352
424
  }
425
+ // Task 2196 — named only when a fence is unregistered, mirroring the lines
426
+ // above. The per-cycle heartbeat is hooks-missing= on the summary line.
427
+ const reg = hookRegistration(accountDir);
428
+ if (!reg)
429
+ hooksUnaudited++;
430
+ if (reg && reg.missing.length > 0) {
431
+ deps.logger(`${TAG} op=hook-registration account=${entry} missing=${reg.missing.join(',')}`);
432
+ hooksMissing += reg.missing.length;
433
+ }
353
434
  total.strayTopLevel += c.strayTopLevel;
354
435
  total.overDeep += c.overDeep;
355
436
  total.badName += c.badName;
@@ -358,7 +439,7 @@ export function runReconcile(deps) {
358
439
  // best-effort: skip an account that throws unexpectedly
359
440
  }
360
441
  }
361
- deps.logger(formatReconcileLine(total, homeMissing, homeUnaudited, agentDrift));
442
+ deps.logger(formatReconcileLine(total, homeMissing, homeUnaudited, agentDrift, hooksMissing, hooksUnaudited));
362
443
  }
363
444
  /** Standing periodic reconcile. Unref'd interval so it never holds the process
364
445
  * open; each tick re-runs the pass best-effort. */
@@ -1 +1 @@
1
- {"version":3,"file":"account-dir-schema-reconcile.js","sourceRoot":"","sources":["../src/account-dir-schema-reconcile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account-dir-schema-reconcile.js","sourceRoot":"","sources":["../src/account-dir-schema-reconcile.ts"],"names":[],"mappings":"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"}