@rubytech/create-sitedesk-code 0.1.527 → 0.1.529

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 (735) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/lib/account-ingest-token/dist/index.d.ts +21 -0
  3. package/payload/platform/lib/account-ingest-token/dist/index.d.ts.map +1 -0
  4. package/payload/platform/lib/account-ingest-token/dist/index.js +128 -0
  5. package/payload/platform/lib/account-ingest-token/dist/index.js.map +1 -0
  6. package/payload/platform/lib/account-ingest-token/src/index.ts +137 -0
  7. package/payload/platform/lib/account-ingest-token/tsconfig.json +8 -0
  8. package/payload/platform/lib/agent-dispatch-rule/dist/index.d.ts +5 -0
  9. package/payload/platform/lib/agent-dispatch-rule/dist/index.d.ts.map +1 -1
  10. package/payload/platform/lib/agent-dispatch-rule/dist/index.js.map +1 -1
  11. package/payload/platform/lib/agent-dispatch-rule/src/index.ts +5 -0
  12. package/payload/platform/package.json +2 -2
  13. package/payload/platform/plugins/admin/.claude-plugin/plugin.json +1 -1
  14. package/payload/platform/plugins/admin/PLUGIN.md +5 -1
  15. package/payload/platform/plugins/admin/hooks/__tests__/fs-schema-guard.test.sh +82 -1
  16. package/payload/platform/plugins/admin/hooks/fs-schema-guard.sh +45 -13
  17. package/payload/platform/plugins/admin/mcp/dist/index.js +55 -4
  18. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  19. package/payload/platform/plugins/admin/mcp/dist/tools/linkedin-ingest-token.d.ts +10 -0
  20. package/payload/platform/plugins/admin/mcp/dist/tools/linkedin-ingest-token.d.ts.map +1 -0
  21. package/payload/platform/plugins/admin/mcp/dist/tools/linkedin-ingest-token.js +22 -0
  22. package/payload/platform/plugins/admin/mcp/dist/tools/linkedin-ingest-token.js.map +1 -0
  23. package/payload/platform/plugins/admin/mcp/dist/tools/logs-read-mcp.d.ts +16 -0
  24. package/payload/platform/plugins/admin/mcp/dist/tools/logs-read-mcp.d.ts.map +1 -0
  25. package/payload/platform/plugins/admin/mcp/dist/tools/logs-read-mcp.js +69 -0
  26. package/payload/platform/plugins/admin/mcp/dist/tools/logs-read-mcp.js.map +1 -0
  27. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +86 -7
  28. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +13 -0
  29. package/payload/platform/plugins/docs/references/admin-ui.md +80 -2
  30. package/payload/platform/plugins/docs/references/deployment.md +1 -1
  31. package/payload/platform/plugins/docs/references/linkedin-extension.md +2 -2
  32. package/payload/platform/plugins/docs/references/plugins-guide.md +2 -1
  33. package/payload/platform/plugins/email/.claude-plugin/plugin.json +1 -1
  34. package/payload/platform/plugins/email/PLUGIN.md +8 -3
  35. package/payload/platform/plugins/email/mcp/dist/__tests__/compose-signature.test.js +61 -4
  36. package/payload/platform/plugins/email/mcp/dist/__tests__/compose-signature.test.js.map +1 -1
  37. package/payload/platform/plugins/email/mcp/dist/__tests__/email-draft-edit.test.js +41 -0
  38. package/payload/platform/plugins/email/mcp/dist/__tests__/email-draft-edit.test.js.map +1 -1
  39. package/payload/platform/plugins/email/mcp/dist/__tests__/email-draft.test.js +47 -1
  40. package/payload/platform/plugins/email/mcp/dist/__tests__/email-draft.test.js.map +1 -1
  41. package/payload/platform/plugins/email/mcp/dist/__tests__/email-sending-identity-set.test.d.ts +2 -0
  42. package/payload/platform/plugins/email/mcp/dist/__tests__/email-sending-identity-set.test.d.ts.map +1 -0
  43. package/payload/platform/plugins/email/mcp/dist/__tests__/email-sending-identity-set.test.js +184 -0
  44. package/payload/platform/plugins/email/mcp/dist/__tests__/email-sending-identity-set.test.js.map +1 -0
  45. package/payload/platform/plugins/email/mcp/dist/__tests__/email-signature-set.test.js +8 -5
  46. package/payload/platform/plugins/email/mcp/dist/__tests__/email-signature-set.test.js.map +1 -1
  47. package/payload/platform/plugins/email/mcp/dist/__tests__/email-status.test.js +64 -0
  48. package/payload/platform/plugins/email/mcp/dist/__tests__/email-status.test.js.map +1 -1
  49. package/payload/platform/plugins/email/mcp/dist/__tests__/mailbox-resolve.test.js +132 -0
  50. package/payload/platform/plugins/email/mcp/dist/__tests__/mailbox-resolve.test.js.map +1 -1
  51. package/payload/platform/plugins/email/mcp/dist/__tests__/signature.test.js +93 -11
  52. package/payload/platform/plugins/email/mcp/dist/__tests__/signature.test.js.map +1 -1
  53. package/payload/platform/plugins/email/mcp/dist/index.js +34 -3
  54. package/payload/platform/plugins/email/mcp/dist/index.js.map +1 -1
  55. package/payload/platform/plugins/email/mcp/dist/lib/compose.d.ts +2 -1
  56. package/payload/platform/plugins/email/mcp/dist/lib/compose.d.ts.map +1 -1
  57. package/payload/platform/plugins/email/mcp/dist/lib/compose.js +13 -2
  58. package/payload/platform/plugins/email/mcp/dist/lib/compose.js.map +1 -1
  59. package/payload/platform/plugins/email/mcp/dist/lib/credentials.d.ts +47 -2
  60. package/payload/platform/plugins/email/mcp/dist/lib/credentials.d.ts.map +1 -1
  61. package/payload/platform/plugins/email/mcp/dist/lib/credentials.js +92 -5
  62. package/payload/platform/plugins/email/mcp/dist/lib/credentials.js.map +1 -1
  63. package/payload/platform/plugins/email/mcp/dist/lib/signature.d.ts +55 -7
  64. package/payload/platform/plugins/email/mcp/dist/lib/signature.d.ts.map +1 -1
  65. package/payload/platform/plugins/email/mcp/dist/lib/signature.js +72 -9
  66. package/payload/platform/plugins/email/mcp/dist/lib/signature.js.map +1 -1
  67. package/payload/platform/plugins/email/mcp/dist/tools/email-draft-edit.d.ts.map +1 -1
  68. package/payload/platform/plugins/email/mcp/dist/tools/email-draft-edit.js +5 -2
  69. package/payload/platform/plugins/email/mcp/dist/tools/email-draft-edit.js.map +1 -1
  70. package/payload/platform/plugins/email/mcp/dist/tools/email-draft.d.ts.map +1 -1
  71. package/payload/platform/plugins/email/mcp/dist/tools/email-draft.js +6 -3
  72. package/payload/platform/plugins/email/mcp/dist/tools/email-draft.js.map +1 -1
  73. package/payload/platform/plugins/email/mcp/dist/tools/email-sending-identity-set.d.ts +20 -0
  74. package/payload/platform/plugins/email/mcp/dist/tools/email-sending-identity-set.d.ts.map +1 -0
  75. package/payload/platform/plugins/email/mcp/dist/tools/email-sending-identity-set.js +32 -0
  76. package/payload/platform/plugins/email/mcp/dist/tools/email-sending-identity-set.js.map +1 -0
  77. package/payload/platform/plugins/email/mcp/dist/tools/email-status.d.ts.map +1 -1
  78. package/payload/platform/plugins/email/mcp/dist/tools/email-status.js +22 -2
  79. package/payload/platform/plugins/email/mcp/dist/tools/email-status.js.map +1 -1
  80. package/payload/platform/plugins/email/references/email-reference.md +11 -3
  81. package/payload/platform/plugins/email/skills/email-composition/SKILL.md +3 -0
  82. package/payload/platform/plugins/email/skills/email-signature/SKILL.md +27 -9
  83. package/payload/platform/plugins/linkedin-extension/extension/README.md +3 -3
  84. package/payload/platform/plugins/linkedin-extension/extension/background/sw.js +12 -7
  85. package/payload/platform/plugins/linkedin-extension/extension/content/profile.js +4 -1
  86. package/payload/platform/plugins/linkedin-extension/extension/content/thread.js +4 -1
  87. package/payload/platform/plugins/linkedin-extension/extension/options/options.html +3 -3
  88. package/payload/platform/plugins/linkedin-extension/extension/options/options.js +24 -16
  89. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/suspension-census.test.js +45 -2
  90. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/suspension-census.test.js.map +1 -1
  91. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts.map +1 -1
  92. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js +15 -2
  93. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js.map +1 -1
  94. package/payload/platform/scripts/__tests__/vnc-cdp-liveness.test.sh +25 -2
  95. package/payload/platform/scripts/vnc.sh +34 -26
  96. package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.d.ts +24 -1
  97. package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.d.ts.map +1 -1
  98. package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.js +84 -3
  99. package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.js.map +1 -1
  100. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
  101. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +2 -0
  102. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
  103. package/payload/platform/templates/specialists/agents/personal-assistant.md +1 -1
  104. package/payload/server/{chunk-XCR5D2G3.js → chunk-BP7LH7MC.js} +0 -1
  105. package/payload/server/{chunk-KY3BBT67.js → chunk-DLG7XSLA.js} +1 -1
  106. package/payload/server/{chunk-7MGR5M6G.js → chunk-UTIHI6KV.js} +1 -1
  107. package/payload/server/{manager-6XOWHREK.js → manager-B4LRDZKC.js} +2 -2
  108. package/payload/server/maxy-edge.js +2 -2
  109. package/payload/server/public/activity.html +5 -5
  110. package/payload/server/public/agents.html +4 -4
  111. package/payload/server/public/assets/AdminLoginScreens-zfexKfbT.js +1 -0
  112. package/payload/server/public/assets/AdminLoginScreens-zfexKfbT.js.br +0 -0
  113. package/payload/server/public/assets/AdminLoginScreens-zfexKfbT.js.gz +0 -0
  114. package/payload/server/public/assets/AdminShell-Cbk0TL1B.js +2 -0
  115. package/payload/server/public/assets/AdminShell-Cbk0TL1B.js.br +0 -0
  116. package/payload/server/public/assets/AdminShell-Cbk0TL1B.js.gz +0 -0
  117. package/payload/server/public/assets/CdpScreencastSurface-CLSQHh4e.js +1 -0
  118. package/payload/server/public/assets/CdpScreencastSurface-CLSQHh4e.js.br +0 -0
  119. package/payload/server/public/assets/CdpScreencastSurface-CLSQHh4e.js.gz +0 -0
  120. package/payload/server/public/assets/{activity-aVvbaVd4.js → activity-u275Oc-u.js} +1 -1
  121. package/payload/server/public/assets/activity-u275Oc-u.js.br +0 -0
  122. package/payload/server/public/assets/activity-u275Oc-u.js.gz +0 -0
  123. package/payload/server/public/assets/admin-Du1nR_hP.js +1 -0
  124. package/payload/server/public/assets/admin-Du1nR_hP.js.br +0 -0
  125. package/payload/server/public/assets/admin-Du1nR_hP.js.gz +0 -0
  126. package/payload/server/public/assets/{agents-CrpVTPRG.js → agents-DJTxRLLU.js} +1 -1
  127. package/payload/server/public/assets/agents-DJTxRLLU.js.br +0 -0
  128. package/payload/server/public/assets/agents-DJTxRLLU.js.gz +0 -0
  129. package/payload/server/public/assets/{arc-DaudCnXg.js → arc-CHoXZR2f.js} +1 -1
  130. package/payload/server/public/assets/arc-CHoXZR2f.js.br +0 -0
  131. package/payload/server/public/assets/arc-CHoXZR2f.js.gz +0 -0
  132. package/payload/server/public/assets/architecture-YZFGNWBL-CQyo9W6E.js +1 -0
  133. package/payload/server/public/assets/architecture-YZFGNWBL-CQyo9W6E.js.br +0 -0
  134. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-BEEC3s7i.js → architectureDiagram-Q4EWVU46-B8SCI0AR.js} +1 -1
  135. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-B8SCI0AR.js.br +0 -0
  136. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-B8SCI0AR.js.gz +0 -0
  137. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-BIWyfb18.js → blockDiagram-DXYQGD6D-CsJmhz5D.js} +1 -1
  138. package/payload/server/public/assets/blockDiagram-DXYQGD6D-CsJmhz5D.js.br +0 -0
  139. package/payload/server/public/assets/blockDiagram-DXYQGD6D-CsJmhz5D.js.gz +0 -0
  140. package/payload/server/public/assets/browser-Bft6zVkX.js +1 -0
  141. package/payload/server/public/assets/browser-Bft6zVkX.js.br +0 -0
  142. package/payload/server/public/assets/browser-Bft6zVkX.js.gz +0 -0
  143. package/payload/server/public/assets/{c4Diagram-AHTNJAMY--h6oE2cv.js → c4Diagram-AHTNJAMY-CzaSNqcs.js} +1 -1
  144. package/payload/server/public/assets/c4Diagram-AHTNJAMY-CzaSNqcs.js.br +0 -0
  145. package/payload/server/public/assets/c4Diagram-AHTNJAMY-CzaSNqcs.js.gz +0 -0
  146. package/payload/server/public/assets/{calendar-4IWQpwYv.js → calendar-Ct-DCCqY.js} +1 -1
  147. package/payload/server/public/assets/calendar-Ct-DCCqY.js.br +0 -0
  148. package/payload/server/public/assets/calendar-Ct-DCCqY.js.gz +0 -0
  149. package/payload/server/public/assets/channel-Dg_Rah6O.js +1 -0
  150. package/payload/server/public/assets/channel-Dg_Rah6O.js.br +0 -0
  151. package/payload/server/public/assets/chat-pqasbAg8.js +1 -0
  152. package/payload/server/public/assets/chat-pqasbAg8.js.br +0 -0
  153. package/payload/server/public/assets/chat-pqasbAg8.js.gz +0 -0
  154. package/payload/server/public/assets/chevron-left-C8LTc7lb.js +1 -0
  155. package/payload/server/public/assets/chevron-right-Lz9t7Hed.js +1 -0
  156. package/payload/server/public/assets/chevron-right-Lz9t7Hed.js.br +0 -0
  157. package/payload/server/public/assets/{chunk-2KRD3SAO-BwEVlnxo.js → chunk-2KRD3SAO-DAN3KCZc.js} +1 -1
  158. package/payload/server/public/assets/chunk-2KRD3SAO-DAN3KCZc.js.br +0 -0
  159. package/payload/server/public/assets/chunk-2KRD3SAO-DAN3KCZc.js.gz +0 -0
  160. package/payload/server/public/assets/{chunk-336JU56O-DQddTATH.js → chunk-336JU56O-Dm-0_lIT.js} +2 -2
  161. package/payload/server/public/assets/chunk-336JU56O-Dm-0_lIT.js.br +0 -0
  162. package/payload/server/public/assets/chunk-336JU56O-Dm-0_lIT.js.gz +0 -0
  163. package/payload/server/public/assets/chunk-426QAEUC-Rh8qTRZB.js +1 -0
  164. package/payload/server/public/assets/chunk-426QAEUC-Rh8qTRZB.js.br +0 -0
  165. package/payload/server/public/assets/chunk-426QAEUC-Rh8qTRZB.js.gz +0 -0
  166. package/payload/server/public/assets/{chunk-4BX2VUAB-C5p3xTC6.js → chunk-4BX2VUAB-C2l9bAlo.js} +1 -1
  167. package/payload/server/public/assets/chunk-4BX2VUAB-C2l9bAlo.js.br +0 -0
  168. package/payload/server/public/assets/chunk-4BX2VUAB-C2l9bAlo.js.gz +0 -0
  169. package/payload/server/public/assets/{chunk-4TB4RGXK-gClfNc1w.js → chunk-4TB4RGXK-BMXDzU09.js} +1 -1
  170. package/payload/server/public/assets/chunk-4TB4RGXK-BMXDzU09.js.br +0 -0
  171. package/payload/server/public/assets/chunk-4TB4RGXK-BMXDzU09.js.gz +0 -0
  172. package/payload/server/public/assets/{chunk-55IACEB6-DDU_m1ra.js → chunk-55IACEB6-CbMYAZon.js} +1 -1
  173. package/payload/server/public/assets/chunk-55IACEB6-CbMYAZon.js.br +0 -0
  174. package/payload/server/public/assets/chunk-55IACEB6-CbMYAZon.js.gz +0 -0
  175. package/payload/server/public/assets/{chunk-5FUZZQ4R-CZ2jQWNR.js → chunk-5FUZZQ4R-DjdsuxLA.js} +1 -1
  176. package/payload/server/public/assets/chunk-5FUZZQ4R-DjdsuxLA.js.br +0 -0
  177. package/payload/server/public/assets/chunk-5FUZZQ4R-DjdsuxLA.js.gz +0 -0
  178. package/payload/server/public/assets/{chunk-5PVQY5BW-kcZ5kfTg.js → chunk-5PVQY5BW-CGSBzsF6.js} +1 -1
  179. package/payload/server/public/assets/chunk-5PVQY5BW-CGSBzsF6.js.br +0 -0
  180. package/payload/server/public/assets/chunk-5PVQY5BW-CGSBzsF6.js.gz +0 -0
  181. package/payload/server/public/assets/{chunk-67CJDMHE-9W0Qv0jm.js → chunk-67CJDMHE-ClOLWser.js} +1 -1
  182. package/payload/server/public/assets/chunk-67CJDMHE-ClOLWser.js.br +0 -0
  183. package/payload/server/public/assets/chunk-67CJDMHE-ClOLWser.js.gz +0 -0
  184. package/payload/server/public/assets/{chunk-7N4EOEYR-B3gqydR3.js → chunk-7N4EOEYR-BzC1dzY0.js} +1 -1
  185. package/payload/server/public/assets/chunk-7N4EOEYR-BzC1dzY0.js.br +0 -0
  186. package/payload/server/public/assets/chunk-7N4EOEYR-BzC1dzY0.js.gz +0 -0
  187. package/payload/server/public/assets/{chunk-AA7GKIK3-DW8a-2NK.js → chunk-AA7GKIK3-R_pjI1kw.js} +1 -1
  188. package/payload/server/public/assets/chunk-AA7GKIK3-R_pjI1kw.js.br +0 -0
  189. package/payload/server/public/assets/chunk-AA7GKIK3-R_pjI1kw.js.gz +0 -0
  190. package/payload/server/public/assets/{chunk-BSJP7CBP-DqXIO_5R.js → chunk-BSJP7CBP-D2KRAq3U.js} +1 -1
  191. package/payload/server/public/assets/chunk-BSJP7CBP-D2KRAq3U.js.br +0 -0
  192. package/payload/server/public/assets/chunk-BSJP7CBP-D2KRAq3U.js.gz +0 -0
  193. package/payload/server/public/assets/{chunk-CIAEETIT-BMJfgj2u.js → chunk-CIAEETIT-BPGWtrKR.js} +1 -1
  194. package/payload/server/public/assets/chunk-CIAEETIT-BPGWtrKR.js.br +0 -0
  195. package/payload/server/public/assets/chunk-CIAEETIT-BPGWtrKR.js.gz +0 -0
  196. package/payload/server/public/assets/{chunk-EDXVE4YY-BxdLPk0b.js → chunk-EDXVE4YY-tqt7wueu.js} +1 -1
  197. package/payload/server/public/assets/chunk-EDXVE4YY-tqt7wueu.js.br +3 -0
  198. package/payload/server/public/assets/chunk-EDXVE4YY-tqt7wueu.js.gz +0 -0
  199. package/payload/server/public/assets/{chunk-ENJZ2VHE-Cfe2DCjQ.js → chunk-ENJZ2VHE-DJG3cA6E.js} +1 -1
  200. package/payload/server/public/assets/chunk-ENJZ2VHE-DJG3cA6E.js.br +0 -0
  201. package/payload/server/public/assets/chunk-ENJZ2VHE-DJG3cA6E.js.gz +0 -0
  202. package/payload/server/public/assets/{chunk-FMBD7UC4-CdPjwbtf.js → chunk-FMBD7UC4-DO1xgCDf.js} +1 -1
  203. package/payload/server/public/assets/chunk-FMBD7UC4-DO1xgCDf.js.br +2 -0
  204. package/payload/server/public/assets/chunk-FMBD7UC4-DO1xgCDf.js.gz +0 -0
  205. package/payload/server/public/assets/{chunk-FOC6F5B3-Dl6l1KAh.js → chunk-FOC6F5B3-BhWAbCUG.js} +1 -1
  206. package/payload/server/public/assets/chunk-FOC6F5B3-BhWAbCUG.js.br +0 -0
  207. package/payload/server/public/assets/chunk-FOC6F5B3-BhWAbCUG.js.gz +0 -0
  208. package/payload/server/public/assets/{chunk-ICPOFSXX-PnsGrqtx.js → chunk-ICPOFSXX-BhUzt35c.js} +2 -2
  209. package/payload/server/public/assets/chunk-ICPOFSXX-BhUzt35c.js.br +0 -0
  210. package/payload/server/public/assets/chunk-ICPOFSXX-BhUzt35c.js.gz +0 -0
  211. package/payload/server/public/assets/{chunk-K5T4RW27--g29_wjW.js → chunk-K5T4RW27-Boj-qHrX.js} +1 -1
  212. package/payload/server/public/assets/chunk-K5T4RW27-Boj-qHrX.js.br +0 -0
  213. package/payload/server/public/assets/chunk-K5T4RW27-Boj-qHrX.js.gz +0 -0
  214. package/payload/server/public/assets/{chunk-KGLVRYIC-CI77ENeO.js → chunk-KGLVRYIC-3cBRDk1b.js} +1 -1
  215. package/payload/server/public/assets/chunk-KGLVRYIC-3cBRDk1b.js.br +2 -0
  216. package/payload/server/public/assets/chunk-KGLVRYIC-3cBRDk1b.js.gz +0 -0
  217. package/payload/server/public/assets/{chunk-LIHQZDEY-CE-XByg6.js → chunk-LIHQZDEY-CgkLKaII.js} +1 -1
  218. package/payload/server/public/assets/chunk-LIHQZDEY-CgkLKaII.js.br +0 -0
  219. package/payload/server/public/assets/chunk-LIHQZDEY-CgkLKaII.js.gz +0 -0
  220. package/payload/server/public/assets/{chunk-ORNJ4GCN-DkjJQQSm.js → chunk-ORNJ4GCN-Dl449r_k.js} +1 -1
  221. package/payload/server/public/assets/chunk-ORNJ4GCN-Dl449r_k.js.br +0 -0
  222. package/payload/server/public/assets/chunk-ORNJ4GCN-Dl449r_k.js.gz +0 -0
  223. package/payload/server/public/assets/{chunk-OYMX7WX6-DhogFeD7.js → chunk-OYMX7WX6-Dzkj67n6.js} +1 -1
  224. package/payload/server/public/assets/chunk-OYMX7WX6-Dzkj67n6.js.br +0 -0
  225. package/payload/server/public/assets/chunk-OYMX7WX6-Dzkj67n6.js.gz +0 -0
  226. package/payload/server/public/assets/chunk-QZHKN3VN-BDoCtU0N.js +1 -0
  227. package/payload/server/public/assets/chunk-QZHKN3VN-BDoCtU0N.js.br +0 -0
  228. package/payload/server/public/assets/chunk-QZHKN3VN-BDoCtU0N.js.gz +0 -0
  229. package/payload/server/public/assets/{chunk-U2HBQHQK-CeaRXuiO.js → chunk-U2HBQHQK-Dyz9Kbir.js} +1 -1
  230. package/payload/server/public/assets/chunk-U2HBQHQK-Dyz9Kbir.js.br +0 -0
  231. package/payload/server/public/assets/chunk-U2HBQHQK-Dyz9Kbir.js.gz +0 -0
  232. package/payload/server/public/assets/{chunk-X2U36JSP-BqxXeOqf.js → chunk-X2U36JSP-ag0VVCw6.js} +1 -1
  233. package/payload/server/public/assets/chunk-X2U36JSP-ag0VVCw6.js.br +0 -0
  234. package/payload/server/public/assets/chunk-X2U36JSP-ag0VVCw6.js.gz +0 -0
  235. package/payload/server/public/assets/{chunk-XPW4576I-DtqJwn2x.js → chunk-XPW4576I-B-vhDYPE.js} +1 -1
  236. package/payload/server/public/assets/chunk-XPW4576I-B-vhDYPE.js.br +0 -0
  237. package/payload/server/public/assets/chunk-XPW4576I-B-vhDYPE.js.gz +0 -0
  238. package/payload/server/public/assets/{chunk-YZCP3GAM-COBlEwQw.js → chunk-YZCP3GAM-C4COviPb.js} +1 -1
  239. package/payload/server/public/assets/chunk-YZCP3GAM-C4COviPb.js.br +0 -0
  240. package/payload/server/public/assets/chunk-YZCP3GAM-C4COviPb.js.gz +0 -0
  241. package/payload/server/public/assets/{chunk-ZZ45TVLE-CcL088y6.js → chunk-ZZ45TVLE-8dGsCp5b.js} +1 -1
  242. package/payload/server/public/assets/chunk-ZZ45TVLE-8dGsCp5b.js.br +0 -0
  243. package/payload/server/public/assets/chunk-ZZ45TVLE-8dGsCp5b.js.gz +0 -0
  244. package/payload/server/public/assets/classDiagram-6PBFFD2Q-qevfwy5C.js +1 -0
  245. package/payload/server/public/assets/classDiagram-6PBFFD2Q-qevfwy5C.js.br +0 -0
  246. package/payload/server/public/assets/classDiagram-6PBFFD2Q-qevfwy5C.js.gz +0 -0
  247. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-CxOR3aao.js +1 -0
  248. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-CxOR3aao.js.br +0 -0
  249. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-CxOR3aao.js.gz +0 -0
  250. package/payload/server/public/assets/clock-D6QQFHwJ.js +1 -0
  251. package/payload/server/public/assets/clock-D6QQFHwJ.js.br +0 -0
  252. package/payload/server/public/assets/clock-D6QQFHwJ.js.gz +0 -0
  253. package/payload/server/public/assets/clone-CJmzeWWZ.js +1 -0
  254. package/payload/server/public/assets/clone-CJmzeWWZ.js.br +0 -0
  255. package/payload/server/public/assets/{cose-bilkent-S5V4N54A-kEHVkDNn.js → cose-bilkent-S5V4N54A-qM4Q4TuE.js} +1 -1
  256. package/payload/server/public/assets/cose-bilkent-S5V4N54A-qM4Q4TuE.js.br +0 -0
  257. package/payload/server/public/assets/cose-bilkent-S5V4N54A-qM4Q4TuE.js.gz +0 -0
  258. package/payload/server/public/assets/{dagre-D2wUw1zC.js → dagre-DRvHdusQ.js} +1 -1
  259. package/payload/server/public/assets/dagre-DRvHdusQ.js.br +0 -0
  260. package/payload/server/public/assets/dagre-DRvHdusQ.js.gz +0 -0
  261. package/payload/server/public/assets/{dagre-KV5264BT-BWfTDwEs.js → dagre-KV5264BT-CGqSVVTn.js} +1 -1
  262. package/payload/server/public/assets/dagre-KV5264BT-CGqSVVTn.js.br +0 -0
  263. package/payload/server/public/assets/dagre-KV5264BT-CGqSVVTn.js.gz +0 -0
  264. package/payload/server/public/assets/data-B1JJ3Y1T.js +1 -0
  265. package/payload/server/public/assets/data-B1JJ3Y1T.js.br +0 -0
  266. package/payload/server/public/assets/data-B1JJ3Y1T.js.gz +0 -0
  267. package/payload/server/public/assets/{diagram-5BDNPKRD-Tl9dS8w0.js → diagram-5BDNPKRD-DfFgeApz.js} +1 -1
  268. package/payload/server/public/assets/diagram-5BDNPKRD-DfFgeApz.js.br +0 -0
  269. package/payload/server/public/assets/diagram-5BDNPKRD-DfFgeApz.js.gz +0 -0
  270. package/payload/server/public/assets/{diagram-G4DWMVQ6-CeSe6TMu.js → diagram-G4DWMVQ6-DPXc3Q8e.js} +1 -1
  271. package/payload/server/public/assets/diagram-G4DWMVQ6-DPXc3Q8e.js.br +0 -0
  272. package/payload/server/public/assets/diagram-G4DWMVQ6-DPXc3Q8e.js.gz +0 -0
  273. package/payload/server/public/assets/{diagram-MMDJMWI5-DYBNJCmk.js → diagram-MMDJMWI5-V8RCddvy.js} +1 -1
  274. package/payload/server/public/assets/diagram-MMDJMWI5-V8RCddvy.js.br +0 -0
  275. package/payload/server/public/assets/diagram-MMDJMWI5-V8RCddvy.js.gz +0 -0
  276. package/payload/server/public/assets/{diagram-TYMM5635-BmpUGltx.js → diagram-TYMM5635-CrvfIf-m.js} +1 -1
  277. package/payload/server/public/assets/diagram-TYMM5635-CrvfIf-m.js.br +0 -0
  278. package/payload/server/public/assets/diagram-TYMM5635-CrvfIf-m.js.gz +0 -0
  279. package/payload/server/public/assets/{erDiagram-SMLLAGMA-DuwuNGqx.js → erDiagram-SMLLAGMA-DClMgmBB.js} +1 -1
  280. package/payload/server/public/assets/erDiagram-SMLLAGMA-DClMgmBB.js.br +0 -0
  281. package/payload/server/public/assets/erDiagram-SMLLAGMA-DClMgmBB.js.gz +0 -0
  282. package/payload/server/public/assets/{file-download-DayBHhKS.js → file-download-C_fSe4dm.js} +1 -1
  283. package/payload/server/public/assets/file-download-C_fSe4dm.js.br +0 -0
  284. package/payload/server/public/assets/file-download-C_fSe4dm.js.gz +0 -0
  285. package/payload/server/public/assets/{file-text-BSyhVH0m.js → file-text-D7GbEcqj.js} +1 -1
  286. package/payload/server/public/assets/file-text-D7GbEcqj.js.br +0 -0
  287. package/payload/server/public/assets/file-text-D7GbEcqj.js.gz +0 -0
  288. package/payload/server/public/assets/{flatten-Bu-b1uTY.js → flatten-UdUTbm8v.js} +1 -1
  289. package/payload/server/public/assets/flatten-UdUTbm8v.js.br +0 -0
  290. package/payload/server/public/assets/flatten-UdUTbm8v.js.gz +0 -0
  291. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-Bpp8P6Ba.js → flowDiagram-DWJPFMVM-D29Ou09P.js} +1 -1
  292. package/payload/server/public/assets/flowDiagram-DWJPFMVM-D29Ou09P.js.br +0 -0
  293. package/payload/server/public/assets/flowDiagram-DWJPFMVM-D29Ou09P.js.gz +0 -0
  294. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-CE6ppjB4.js → ganttDiagram-T4ZO3ILL-CoAK7W_V.js} +1 -1
  295. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-CoAK7W_V.js.br +0 -0
  296. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-CoAK7W_V.js.gz +0 -0
  297. package/payload/server/public/assets/gitGraph-7Q5UKJZL--JSoLMoH.js +1 -0
  298. package/payload/server/public/assets/gitGraph-7Q5UKJZL--JSoLMoH.js.br +0 -0
  299. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-BdK1GjPr.js → gitGraphDiagram-UUTBAWPF-DMEc_1aX.js} +1 -1
  300. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-DMEc_1aX.js.br +0 -0
  301. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-DMEc_1aX.js.gz +0 -0
  302. package/payload/server/public/assets/{graph-labels-DegLKGdx.js → graph-labels-Dlcb6cW7.js} +1 -1
  303. package/payload/server/public/assets/graph-labels-Dlcb6cW7.js.br +0 -0
  304. package/payload/server/public/assets/graph-labels-Dlcb6cW7.js.gz +0 -0
  305. package/payload/server/public/assets/{graph-Bjv3Tc3B.js → graph-yl5qU1kO.js} +3 -3
  306. package/payload/server/public/assets/graph-yl5qU1kO.js.br +0 -0
  307. package/payload/server/public/assets/graph-yl5qU1kO.js.gz +0 -0
  308. package/payload/server/public/assets/{graphlib-CHEXylyU.js → graphlib-ihSLgqUG.js} +1 -1
  309. package/payload/server/public/assets/graphlib-ihSLgqUG.js.br +0 -0
  310. package/payload/server/public/assets/graphlib-ihSLgqUG.js.gz +0 -0
  311. package/payload/server/public/assets/info-OMHHGYJF-CY4gsXn4.js +1 -0
  312. package/payload/server/public/assets/info-OMHHGYJF-CY4gsXn4.js.br +0 -0
  313. package/payload/server/public/assets/infoDiagram-42DDH7IO-CpWSNS3C.js +2 -0
  314. package/payload/server/public/assets/infoDiagram-42DDH7IO-CpWSNS3C.js.br +0 -0
  315. package/payload/server/public/assets/infoDiagram-42DDH7IO-CpWSNS3C.js.gz +0 -0
  316. package/payload/server/public/assets/{isEmpty-CjH0UASp.js → isEmpty-DY_Xp9Na.js} +1 -1
  317. package/payload/server/public/assets/isEmpty-DY_Xp9Na.js.br +0 -0
  318. package/payload/server/public/assets/isEmpty-DY_Xp9Na.js.gz +0 -0
  319. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-CgkVZ4-3.js → ishikawaDiagram-UXIWVN3A-w8fVIbxy.js} +1 -1
  320. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-w8fVIbxy.js.br +0 -0
  321. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-w8fVIbxy.js.gz +0 -0
  322. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-ByUPv8q6.js → journeyDiagram-VCZTEJTY-BRTPKDT5.js} +1 -1
  323. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-BRTPKDT5.js.br +0 -0
  324. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-BRTPKDT5.js.gz +0 -0
  325. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-CFinqhpu.js → kanban-definition-6JOO6SKY-Ls3VaFZ_.js} +1 -1
  326. package/payload/server/public/assets/kanban-definition-6JOO6SKY-Ls3VaFZ_.js.br +0 -0
  327. package/payload/server/public/assets/kanban-definition-6JOO6SKY-Ls3VaFZ_.js.gz +0 -0
  328. package/payload/server/public/assets/{line-Y4ns5Ghi.js → line-BwhAIh8u.js} +1 -1
  329. package/payload/server/public/assets/line-BwhAIh8u.js.br +0 -0
  330. package/payload/server/public/assets/line-BwhAIh8u.js.gz +0 -0
  331. package/payload/server/public/assets/{linear-l39GooQ5.js → linear-USiZPFN4.js} +1 -1
  332. package/payload/server/public/assets/linear-USiZPFN4.js.br +0 -0
  333. package/payload/server/public/assets/linear-USiZPFN4.js.gz +0 -0
  334. package/payload/server/public/assets/{maximize-2-DJFG2EXJ.js → maximize-2-BS689r4W.js} +1 -1
  335. package/payload/server/public/assets/maximize-2-BS689r4W.js.br +0 -0
  336. package/payload/server/public/assets/maximize-2-BS689r4W.js.gz +0 -0
  337. package/payload/server/public/assets/{mermaid-parser.core-5w0T1dRj.js → mermaid-parser.core-Bq--iC2w.js} +2 -2
  338. package/payload/server/public/assets/mermaid-parser.core-Bq--iC2w.js.br +0 -0
  339. package/payload/server/public/assets/mermaid-parser.core-Bq--iC2w.js.gz +0 -0
  340. package/payload/server/public/assets/{mermaid.core-DBADY5VW.js → mermaid.core-oYX-FxVa.js} +3 -3
  341. package/payload/server/public/assets/mermaid.core-oYX-FxVa.js.br +0 -0
  342. package/payload/server/public/assets/mermaid.core-oYX-FxVa.js.gz +0 -0
  343. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-rHz37loq.js → mindmap-definition-QFDTVHPH-ByZjL4Bs.js} +1 -1
  344. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-ByZjL4Bs.js.br +0 -0
  345. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-ByZjL4Bs.js.gz +0 -0
  346. package/payload/server/public/assets/operator-CvapnpIW.js +1 -0
  347. package/payload/server/public/assets/operator-CvapnpIW.js.br +0 -0
  348. package/payload/server/public/assets/operator-CvapnpIW.js.gz +0 -0
  349. package/payload/server/public/assets/{ordinal-D6D6WcTC.js → ordinal-gnpqfIHn.js} +1 -1
  350. package/payload/server/public/assets/ordinal-gnpqfIHn.js.br +0 -0
  351. package/payload/server/public/assets/ordinal-gnpqfIHn.js.gz +0 -0
  352. package/payload/server/public/assets/packet-4T2RLAQJ-DczCn3uj.js +1 -0
  353. package/payload/server/public/assets/packet-4T2RLAQJ-DczCn3uj.js.br +0 -0
  354. package/payload/server/public/assets/page-987y4JbQ.js +32 -0
  355. package/payload/server/public/assets/page-987y4JbQ.js.br +0 -0
  356. package/payload/server/public/assets/page-987y4JbQ.js.gz +0 -0
  357. package/payload/server/public/assets/page-DWkUH4Z_.js +1 -0
  358. package/payload/server/public/assets/page-DWkUH4Z_.js.br +0 -0
  359. package/payload/server/public/assets/page-DWkUH4Z_.js.gz +0 -0
  360. package/payload/server/public/assets/{pdf-render-BSgBp8Fr.js → pdf-render-gEryZmeC.js} +1 -1
  361. package/payload/server/public/assets/pdf-render-gEryZmeC.js.br +0 -0
  362. package/payload/server/public/assets/pdf-render-gEryZmeC.js.gz +0 -0
  363. package/payload/server/public/assets/pie-ZZUOXDRM-CbvZUaof.js +1 -0
  364. package/payload/server/public/assets/pie-ZZUOXDRM-CbvZUaof.js.br +0 -0
  365. package/payload/server/public/assets/{pieDiagram-DEJITSTG-as0e_DSH.js → pieDiagram-DEJITSTG-BGFms5bU.js} +1 -1
  366. package/payload/server/public/assets/pieDiagram-DEJITSTG-BGFms5bU.js.br +0 -0
  367. package/payload/server/public/assets/pieDiagram-DEJITSTG-BGFms5bU.js.gz +0 -0
  368. package/payload/server/public/assets/{public-CNVEM-Bx.js → public-D5pi-VFn.js} +1 -1
  369. package/payload/server/public/assets/public-D5pi-VFn.js.br +0 -0
  370. package/payload/server/public/assets/public-D5pi-VFn.js.gz +0 -0
  371. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-B4t8HO9J.js → quadrantDiagram-34T5L4WZ-_ymoz8bQ.js} +1 -1
  372. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-_ymoz8bQ.js.br +0 -0
  373. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-_ymoz8bQ.js.gz +0 -0
  374. package/payload/server/public/assets/radar-PYXPWWZC-XmuabQlO.js +1 -0
  375. package/payload/server/public/assets/radar-PYXPWWZC-XmuabQlO.js.br +0 -0
  376. package/payload/server/public/assets/{reduce-BtXXK8Ma.js → reduce-BvezuHIe.js} +1 -1
  377. package/payload/server/public/assets/reduce-BvezuHIe.js.br +0 -0
  378. package/payload/server/public/assets/reduce-BvezuHIe.js.gz +0 -0
  379. package/payload/server/public/assets/{requirementDiagram-MS252O5E-yxh30zHX.js → requirementDiagram-MS252O5E-lrOmOxIA.js} +1 -1
  380. package/payload/server/public/assets/requirementDiagram-MS252O5E-lrOmOxIA.js.br +0 -0
  381. package/payload/server/public/assets/requirementDiagram-MS252O5E-lrOmOxIA.js.gz +0 -0
  382. package/payload/server/public/assets/{rotate-ccw-DQCaky8_.js → rotate-ccw-zNxnK36R.js} +1 -1
  383. package/payload/server/public/assets/rotate-ccw-zNxnK36R.js.br +0 -0
  384. package/payload/server/public/assets/rotate-ccw-zNxnK36R.js.gz +0 -0
  385. package/payload/server/public/assets/routines-mZzrGA5y.js +2 -0
  386. package/payload/server/public/assets/routines-mZzrGA5y.js.br +0 -0
  387. package/payload/server/public/assets/routines-mZzrGA5y.js.gz +0 -0
  388. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-j-k9Wfty.js → sankeyDiagram-XADWPNL6-CdUQThXU.js} +1 -1
  389. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-CdUQThXU.js.br +0 -0
  390. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-CdUQThXU.js.gz +0 -0
  391. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-DGLgcLhC.js → sequenceDiagram-FGHM5R23-DqnEEldq.js} +1 -1
  392. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-DqnEEldq.js.br +0 -0
  393. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-DqnEEldq.js.gz +0 -0
  394. package/payload/server/public/assets/{skills-CosN3uA4.js → skills-5A8PockT.js} +1 -1
  395. package/payload/server/public/assets/skills-5A8PockT.js.br +0 -0
  396. package/payload/server/public/assets/skills-5A8PockT.js.gz +0 -0
  397. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-C9p1OUMI.js → stateDiagram-FHFEXIEX-KEdtxqdq.js} +1 -1
  398. package/payload/server/public/assets/stateDiagram-FHFEXIEX-KEdtxqdq.js.br +0 -0
  399. package/payload/server/public/assets/stateDiagram-FHFEXIEX-KEdtxqdq.js.gz +0 -0
  400. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Cs85Ewtt.js +1 -0
  401. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Cs85Ewtt.js.br +0 -0
  402. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Cs85Ewtt.js.gz +0 -0
  403. package/payload/server/public/assets/{tasks-f0QikHmw.js → tasks-B1_2wc6L.js} +2 -2
  404. package/payload/server/public/assets/tasks-B1_2wc6L.js.br +0 -0
  405. package/payload/server/public/assets/tasks-B1_2wc6L.js.gz +0 -0
  406. package/payload/server/public/assets/{time-entry-format-DLTdS35_.js → time-entry-format-CJ2FSSQt.js} +1 -1
  407. package/payload/server/public/assets/time-entry-format-CJ2FSSQt.js.br +0 -0
  408. package/payload/server/public/assets/time-entry-format-CJ2FSSQt.js.gz +0 -0
  409. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-B1g7pgkH.js → timeline-definition-GMOUNBTQ-BRXdCMau.js} +1 -1
  410. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-BRXdCMau.js.br +0 -0
  411. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-BRXdCMau.js.gz +0 -0
  412. package/payload/server/public/assets/treeView-SZITEDCU-B-SYhqwK.js +1 -0
  413. package/payload/server/public/assets/treeView-SZITEDCU-B-SYhqwK.js.br +0 -0
  414. package/payload/server/public/assets/treemap-W4RFUUIX-DpZmFNM9.js +1 -0
  415. package/payload/server/public/assets/treemap-W4RFUUIX-DpZmFNM9.js.br +0 -0
  416. package/payload/server/public/assets/{triangle-alert-CpwrbdYq.js → triangle-alert-CedsrgME.js} +1 -1
  417. package/payload/server/public/assets/triangle-alert-CedsrgME.js.br +0 -0
  418. package/payload/server/public/assets/triangle-alert-CedsrgME.js.gz +0 -0
  419. package/payload/server/public/assets/{useCopyFeedback-D01gSp36.js → useCopyFeedback-zjZZUC2-.js} +1 -1
  420. package/payload/server/public/assets/useCopyFeedback-zjZZUC2-.js.br +0 -0
  421. package/payload/server/public/assets/useCopyFeedback-zjZZUC2-.js.gz +0 -0
  422. package/payload/server/public/assets/useSubAccountSwitcher-72THldvm.css +1 -0
  423. package/payload/server/public/assets/useSubAccountSwitcher-72THldvm.css.br +0 -0
  424. package/payload/server/public/assets/useSubAccountSwitcher-72THldvm.css.gz +0 -0
  425. package/payload/server/public/assets/useSubAccountSwitcher-HjQZjJBr.js +14 -0
  426. package/payload/server/public/assets/useSubAccountSwitcher-HjQZjJBr.js.br +0 -0
  427. package/payload/server/public/assets/useSubAccountSwitcher-HjQZjJBr.js.gz +0 -0
  428. package/payload/server/public/assets/{useVoiceRecorder-DiPgyDUy.js → useVoiceRecorder-CJecnefX.js} +2 -2
  429. package/payload/server/public/assets/useVoiceRecorder-CJecnefX.js.br +0 -0
  430. package/payload/server/public/assets/useVoiceRecorder-CJecnefX.js.gz +0 -0
  431. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-D2ZjFfh4.js → vennDiagram-DHZGUBPP-8nc7NUVQ.js} +1 -1
  432. package/payload/server/public/assets/vennDiagram-DHZGUBPP-8nc7NUVQ.js.br +0 -0
  433. package/payload/server/public/assets/vennDiagram-DHZGUBPP-8nc7NUVQ.js.gz +0 -0
  434. package/payload/server/public/assets/wardley-RL74JXVD-D2FCCV4-.js +1 -0
  435. package/payload/server/public/assets/wardley-RL74JXVD-D2FCCV4-.js.br +0 -0
  436. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-BFAhfkD8.js → wardleyDiagram-NUSXRM2D-Cjjiap8M.js} +1 -1
  437. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-Cjjiap8M.js.br +0 -0
  438. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-Cjjiap8M.js.gz +0 -0
  439. package/payload/server/public/assets/{wrench-C5SJreEu.js → wrench-D8BH20W8.js} +1 -1
  440. package/payload/server/public/assets/wrench-D8BH20W8.js.br +0 -0
  441. package/payload/server/public/assets/wrench-D8BH20W8.js.gz +0 -0
  442. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-Dt94h2RQ.js → xychartDiagram-5P7HB3ND-DEzDNw_i.js} +1 -1
  443. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-DEzDNw_i.js.br +0 -0
  444. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-DEzDNw_i.js.gz +0 -0
  445. package/payload/server/public/browser.html +5 -4
  446. package/payload/server/public/calendar.html +7 -7
  447. package/payload/server/public/chat.html +14 -14
  448. package/payload/server/public/data.html +13 -13
  449. package/payload/server/public/graph.html +9 -9
  450. package/payload/server/public/index.html +17 -16
  451. package/payload/server/public/operator.html +16 -15
  452. package/payload/server/public/public.html +14 -14
  453. package/payload/server/public/routines.html +7 -7
  454. package/payload/server/public/skills.html +5 -5
  455. package/payload/server/public/tasks.html +6 -6
  456. package/payload/server/server.js +403 -277
  457. package/payload/server/public/assets/AdminLoginScreens-DSt9DYZZ.js +0 -1
  458. package/payload/server/public/assets/AdminLoginScreens-DSt9DYZZ.js.br +0 -0
  459. package/payload/server/public/assets/AdminLoginScreens-DSt9DYZZ.js.gz +0 -0
  460. package/payload/server/public/assets/AdminShell-MM3_yp3N.js +0 -2
  461. package/payload/server/public/assets/AdminShell-MM3_yp3N.js.br +0 -0
  462. package/payload/server/public/assets/AdminShell-MM3_yp3N.js.gz +0 -0
  463. package/payload/server/public/assets/activity-aVvbaVd4.js.br +0 -0
  464. package/payload/server/public/assets/activity-aVvbaVd4.js.gz +0 -0
  465. package/payload/server/public/assets/admin-B0lQnkH-.js +0 -1
  466. package/payload/server/public/assets/admin-B0lQnkH-.js.br +0 -0
  467. package/payload/server/public/assets/admin-B0lQnkH-.js.gz +0 -0
  468. package/payload/server/public/assets/agents-CrpVTPRG.js.br +0 -0
  469. package/payload/server/public/assets/agents-CrpVTPRG.js.gz +0 -0
  470. package/payload/server/public/assets/arc-DaudCnXg.js.br +0 -0
  471. package/payload/server/public/assets/arc-DaudCnXg.js.gz +0 -0
  472. package/payload/server/public/assets/architecture-YZFGNWBL-DPFsm5jD.js +0 -1
  473. package/payload/server/public/assets/architecture-YZFGNWBL-DPFsm5jD.js.br +0 -0
  474. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-BEEC3s7i.js.br +0 -0
  475. package/payload/server/public/assets/architectureDiagram-Q4EWVU46-BEEC3s7i.js.gz +0 -0
  476. package/payload/server/public/assets/blockDiagram-DXYQGD6D-BIWyfb18.js.br +0 -0
  477. package/payload/server/public/assets/blockDiagram-DXYQGD6D-BIWyfb18.js.gz +0 -0
  478. package/payload/server/public/assets/browser-CYHUzTop.js +0 -1
  479. package/payload/server/public/assets/browser-CYHUzTop.js.br +0 -0
  480. package/payload/server/public/assets/browser-CYHUzTop.js.gz +0 -0
  481. package/payload/server/public/assets/c4Diagram-AHTNJAMY--h6oE2cv.js.br +0 -0
  482. package/payload/server/public/assets/c4Diagram-AHTNJAMY--h6oE2cv.js.gz +0 -0
  483. package/payload/server/public/assets/calendar-4IWQpwYv.js.br +0 -0
  484. package/payload/server/public/assets/calendar-4IWQpwYv.js.gz +0 -0
  485. package/payload/server/public/assets/channel-TwxCDSpK.js +0 -1
  486. package/payload/server/public/assets/channel-TwxCDSpK.js.br +0 -0
  487. package/payload/server/public/assets/chat-DmjZTqnV.js +0 -1
  488. package/payload/server/public/assets/chat-DmjZTqnV.js.br +0 -0
  489. package/payload/server/public/assets/chat-DmjZTqnV.js.gz +0 -0
  490. package/payload/server/public/assets/chevron-left-CIl-s3LZ.js +0 -1
  491. package/payload/server/public/assets/chevron-left-CIl-s3LZ.js.br +0 -0
  492. package/payload/server/public/assets/chevron-right-DpAi2BsF.js +0 -1
  493. package/payload/server/public/assets/chevron-right-DpAi2BsF.js.br +0 -0
  494. package/payload/server/public/assets/chunk-2KRD3SAO-BwEVlnxo.js.br +0 -0
  495. package/payload/server/public/assets/chunk-2KRD3SAO-BwEVlnxo.js.gz +0 -0
  496. package/payload/server/public/assets/chunk-336JU56O-DQddTATH.js.br +0 -0
  497. package/payload/server/public/assets/chunk-336JU56O-DQddTATH.js.gz +0 -0
  498. package/payload/server/public/assets/chunk-426QAEUC-BDC8wptW.js +0 -1
  499. package/payload/server/public/assets/chunk-426QAEUC-BDC8wptW.js.br +0 -0
  500. package/payload/server/public/assets/chunk-426QAEUC-BDC8wptW.js.gz +0 -0
  501. package/payload/server/public/assets/chunk-4BX2VUAB-C5p3xTC6.js.br +0 -0
  502. package/payload/server/public/assets/chunk-4BX2VUAB-C5p3xTC6.js.gz +0 -0
  503. package/payload/server/public/assets/chunk-4TB4RGXK-gClfNc1w.js.br +0 -0
  504. package/payload/server/public/assets/chunk-4TB4RGXK-gClfNc1w.js.gz +0 -0
  505. package/payload/server/public/assets/chunk-55IACEB6-DDU_m1ra.js.br +0 -0
  506. package/payload/server/public/assets/chunk-55IACEB6-DDU_m1ra.js.gz +0 -0
  507. package/payload/server/public/assets/chunk-5FUZZQ4R-CZ2jQWNR.js.br +0 -0
  508. package/payload/server/public/assets/chunk-5FUZZQ4R-CZ2jQWNR.js.gz +0 -0
  509. package/payload/server/public/assets/chunk-5PVQY5BW-kcZ5kfTg.js.br +0 -0
  510. package/payload/server/public/assets/chunk-5PVQY5BW-kcZ5kfTg.js.gz +0 -0
  511. package/payload/server/public/assets/chunk-67CJDMHE-9W0Qv0jm.js.br +0 -0
  512. package/payload/server/public/assets/chunk-67CJDMHE-9W0Qv0jm.js.gz +0 -0
  513. package/payload/server/public/assets/chunk-7N4EOEYR-B3gqydR3.js.br +0 -0
  514. package/payload/server/public/assets/chunk-7N4EOEYR-B3gqydR3.js.gz +0 -0
  515. package/payload/server/public/assets/chunk-AA7GKIK3-DW8a-2NK.js.br +0 -4
  516. package/payload/server/public/assets/chunk-AA7GKIK3-DW8a-2NK.js.gz +0 -0
  517. package/payload/server/public/assets/chunk-BSJP7CBP-DqXIO_5R.js.br +0 -0
  518. package/payload/server/public/assets/chunk-BSJP7CBP-DqXIO_5R.js.gz +0 -0
  519. package/payload/server/public/assets/chunk-CIAEETIT-BMJfgj2u.js.br +0 -0
  520. package/payload/server/public/assets/chunk-CIAEETIT-BMJfgj2u.js.gz +0 -0
  521. package/payload/server/public/assets/chunk-EDXVE4YY-BxdLPk0b.js.br +0 -0
  522. package/payload/server/public/assets/chunk-EDXVE4YY-BxdLPk0b.js.gz +0 -0
  523. package/payload/server/public/assets/chunk-ENJZ2VHE-Cfe2DCjQ.js.br +0 -0
  524. package/payload/server/public/assets/chunk-ENJZ2VHE-Cfe2DCjQ.js.gz +0 -0
  525. package/payload/server/public/assets/chunk-FMBD7UC4-CdPjwbtf.js.br +0 -0
  526. package/payload/server/public/assets/chunk-FMBD7UC4-CdPjwbtf.js.gz +0 -0
  527. package/payload/server/public/assets/chunk-FOC6F5B3-Dl6l1KAh.js.br +0 -0
  528. package/payload/server/public/assets/chunk-FOC6F5B3-Dl6l1KAh.js.gz +0 -0
  529. package/payload/server/public/assets/chunk-ICPOFSXX-PnsGrqtx.js.br +0 -0
  530. package/payload/server/public/assets/chunk-ICPOFSXX-PnsGrqtx.js.gz +0 -0
  531. package/payload/server/public/assets/chunk-K5T4RW27--g29_wjW.js.br +0 -0
  532. package/payload/server/public/assets/chunk-K5T4RW27--g29_wjW.js.gz +0 -0
  533. package/payload/server/public/assets/chunk-KGLVRYIC-CI77ENeO.js.br +0 -3
  534. package/payload/server/public/assets/chunk-KGLVRYIC-CI77ENeO.js.gz +0 -0
  535. package/payload/server/public/assets/chunk-LIHQZDEY-CE-XByg6.js.br +0 -0
  536. package/payload/server/public/assets/chunk-LIHQZDEY-CE-XByg6.js.gz +0 -0
  537. package/payload/server/public/assets/chunk-ORNJ4GCN-DkjJQQSm.js.br +0 -0
  538. package/payload/server/public/assets/chunk-ORNJ4GCN-DkjJQQSm.js.gz +0 -0
  539. package/payload/server/public/assets/chunk-OYMX7WX6-DhogFeD7.js.br +0 -0
  540. package/payload/server/public/assets/chunk-OYMX7WX6-DhogFeD7.js.gz +0 -0
  541. package/payload/server/public/assets/chunk-QZHKN3VN-DnqqL1de.js +0 -1
  542. package/payload/server/public/assets/chunk-QZHKN3VN-DnqqL1de.js.br +0 -0
  543. package/payload/server/public/assets/chunk-QZHKN3VN-DnqqL1de.js.gz +0 -0
  544. package/payload/server/public/assets/chunk-U2HBQHQK-CeaRXuiO.js.br +0 -0
  545. package/payload/server/public/assets/chunk-U2HBQHQK-CeaRXuiO.js.gz +0 -0
  546. package/payload/server/public/assets/chunk-X2U36JSP-BqxXeOqf.js.br +0 -0
  547. package/payload/server/public/assets/chunk-X2U36JSP-BqxXeOqf.js.gz +0 -0
  548. package/payload/server/public/assets/chunk-XPW4576I-DtqJwn2x.js.br +0 -0
  549. package/payload/server/public/assets/chunk-XPW4576I-DtqJwn2x.js.gz +0 -0
  550. package/payload/server/public/assets/chunk-YZCP3GAM-COBlEwQw.js.br +0 -0
  551. package/payload/server/public/assets/chunk-YZCP3GAM-COBlEwQw.js.gz +0 -0
  552. package/payload/server/public/assets/chunk-ZZ45TVLE-CcL088y6.js.br +0 -0
  553. package/payload/server/public/assets/chunk-ZZ45TVLE-CcL088y6.js.gz +0 -0
  554. package/payload/server/public/assets/classDiagram-6PBFFD2Q-Bc3P4dpc.js +0 -1
  555. package/payload/server/public/assets/classDiagram-6PBFFD2Q-Bc3P4dpc.js.br +0 -0
  556. package/payload/server/public/assets/classDiagram-6PBFFD2Q-Bc3P4dpc.js.gz +0 -0
  557. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DgEF_rR_.js +0 -1
  558. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DgEF_rR_.js.br +0 -0
  559. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DgEF_rR_.js.gz +0 -0
  560. package/payload/server/public/assets/clock-CGuM9VRx.js +0 -1
  561. package/payload/server/public/assets/clock-CGuM9VRx.js.br +0 -0
  562. package/payload/server/public/assets/clone-B3vq32j7.js +0 -1
  563. package/payload/server/public/assets/cose-bilkent-S5V4N54A-kEHVkDNn.js.br +0 -0
  564. package/payload/server/public/assets/cose-bilkent-S5V4N54A-kEHVkDNn.js.gz +0 -0
  565. package/payload/server/public/assets/dagre-D2wUw1zC.js.br +0 -0
  566. package/payload/server/public/assets/dagre-D2wUw1zC.js.gz +0 -0
  567. package/payload/server/public/assets/dagre-KV5264BT-BWfTDwEs.js.br +0 -0
  568. package/payload/server/public/assets/dagre-KV5264BT-BWfTDwEs.js.gz +0 -0
  569. package/payload/server/public/assets/data-BpdFiZKH.js +0 -1
  570. package/payload/server/public/assets/data-BpdFiZKH.js.br +0 -2
  571. package/payload/server/public/assets/data-BpdFiZKH.js.gz +0 -0
  572. package/payload/server/public/assets/diagram-5BDNPKRD-Tl9dS8w0.js.br +0 -0
  573. package/payload/server/public/assets/diagram-5BDNPKRD-Tl9dS8w0.js.gz +0 -0
  574. package/payload/server/public/assets/diagram-G4DWMVQ6-CeSe6TMu.js.br +0 -0
  575. package/payload/server/public/assets/diagram-G4DWMVQ6-CeSe6TMu.js.gz +0 -0
  576. package/payload/server/public/assets/diagram-MMDJMWI5-DYBNJCmk.js.br +0 -0
  577. package/payload/server/public/assets/diagram-MMDJMWI5-DYBNJCmk.js.gz +0 -0
  578. package/payload/server/public/assets/diagram-TYMM5635-BmpUGltx.js.br +0 -0
  579. package/payload/server/public/assets/diagram-TYMM5635-BmpUGltx.js.gz +0 -0
  580. package/payload/server/public/assets/erDiagram-SMLLAGMA-DuwuNGqx.js.br +0 -0
  581. package/payload/server/public/assets/erDiagram-SMLLAGMA-DuwuNGqx.js.gz +0 -0
  582. package/payload/server/public/assets/file-download-DayBHhKS.js.br +0 -0
  583. package/payload/server/public/assets/file-download-DayBHhKS.js.gz +0 -0
  584. package/payload/server/public/assets/file-text-BSyhVH0m.js.br +0 -0
  585. package/payload/server/public/assets/file-text-BSyhVH0m.js.gz +0 -0
  586. package/payload/server/public/assets/flatten-Bu-b1uTY.js.br +0 -0
  587. package/payload/server/public/assets/flatten-Bu-b1uTY.js.gz +0 -0
  588. package/payload/server/public/assets/flowDiagram-DWJPFMVM-Bpp8P6Ba.js.br +0 -0
  589. package/payload/server/public/assets/flowDiagram-DWJPFMVM-Bpp8P6Ba.js.gz +0 -0
  590. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-CE6ppjB4.js.br +0 -0
  591. package/payload/server/public/assets/ganttDiagram-T4ZO3ILL-CE6ppjB4.js.gz +0 -0
  592. package/payload/server/public/assets/gitGraph-7Q5UKJZL-B0OUwOUx.js +0 -1
  593. package/payload/server/public/assets/gitGraph-7Q5UKJZL-B0OUwOUx.js.br +0 -0
  594. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-BdK1GjPr.js.br +0 -0
  595. package/payload/server/public/assets/gitGraphDiagram-UUTBAWPF-BdK1GjPr.js.gz +0 -0
  596. package/payload/server/public/assets/graph-Bjv3Tc3B.js.br +0 -0
  597. package/payload/server/public/assets/graph-Bjv3Tc3B.js.gz +0 -0
  598. package/payload/server/public/assets/graph-labels-DegLKGdx.js.br +0 -0
  599. package/payload/server/public/assets/graph-labels-DegLKGdx.js.gz +0 -0
  600. package/payload/server/public/assets/graphlib-CHEXylyU.js.br +0 -0
  601. package/payload/server/public/assets/graphlib-CHEXylyU.js.gz +0 -0
  602. package/payload/server/public/assets/info-OMHHGYJF-C_8TwPDe.js +0 -1
  603. package/payload/server/public/assets/info-OMHHGYJF-C_8TwPDe.js.br +0 -0
  604. package/payload/server/public/assets/infoDiagram-42DDH7IO-msfwyvbV.js +0 -2
  605. package/payload/server/public/assets/infoDiagram-42DDH7IO-msfwyvbV.js.br +0 -0
  606. package/payload/server/public/assets/infoDiagram-42DDH7IO-msfwyvbV.js.gz +0 -0
  607. package/payload/server/public/assets/isEmpty-CjH0UASp.js.br +0 -0
  608. package/payload/server/public/assets/isEmpty-CjH0UASp.js.gz +0 -0
  609. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-CgkVZ4-3.js.br +0 -0
  610. package/payload/server/public/assets/ishikawaDiagram-UXIWVN3A-CgkVZ4-3.js.gz +0 -0
  611. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-ByUPv8q6.js.br +0 -0
  612. package/payload/server/public/assets/journeyDiagram-VCZTEJTY-ByUPv8q6.js.gz +0 -0
  613. package/payload/server/public/assets/kanban-definition-6JOO6SKY-CFinqhpu.js.br +0 -0
  614. package/payload/server/public/assets/kanban-definition-6JOO6SKY-CFinqhpu.js.gz +0 -0
  615. package/payload/server/public/assets/line-Y4ns5Ghi.js.br +0 -0
  616. package/payload/server/public/assets/line-Y4ns5Ghi.js.gz +0 -0
  617. package/payload/server/public/assets/linear-l39GooQ5.js.br +0 -0
  618. package/payload/server/public/assets/linear-l39GooQ5.js.gz +0 -0
  619. package/payload/server/public/assets/maximize-2-DJFG2EXJ.js.br +0 -0
  620. package/payload/server/public/assets/maximize-2-DJFG2EXJ.js.gz +0 -0
  621. package/payload/server/public/assets/mermaid-parser.core-5w0T1dRj.js.br +0 -0
  622. package/payload/server/public/assets/mermaid-parser.core-5w0T1dRj.js.gz +0 -0
  623. package/payload/server/public/assets/mermaid.core-DBADY5VW.js.br +0 -0
  624. package/payload/server/public/assets/mermaid.core-DBADY5VW.js.gz +0 -0
  625. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-rHz37loq.js.br +0 -0
  626. package/payload/server/public/assets/mindmap-definition-QFDTVHPH-rHz37loq.js.gz +0 -0
  627. package/payload/server/public/assets/operator-Du9Ve_PR.js +0 -1
  628. package/payload/server/public/assets/operator-Du9Ve_PR.js.br +0 -0
  629. package/payload/server/public/assets/operator-Du9Ve_PR.js.gz +0 -0
  630. package/payload/server/public/assets/ordinal-D6D6WcTC.js.br +0 -0
  631. package/payload/server/public/assets/ordinal-D6D6WcTC.js.gz +0 -0
  632. package/payload/server/public/assets/packet-4T2RLAQJ-CCQdbIqO.js +0 -1
  633. package/payload/server/public/assets/packet-4T2RLAQJ-CCQdbIqO.js.br +0 -0
  634. package/payload/server/public/assets/page-DgHYxG3M.js +0 -1
  635. package/payload/server/public/assets/page-DgHYxG3M.js.br +0 -0
  636. package/payload/server/public/assets/page-DgHYxG3M.js.gz +0 -0
  637. package/payload/server/public/assets/page-qV1ypb6i.js +0 -32
  638. package/payload/server/public/assets/page-qV1ypb6i.js.br +0 -0
  639. package/payload/server/public/assets/page-qV1ypb6i.js.gz +0 -0
  640. package/payload/server/public/assets/pdf-render-BSgBp8Fr.js.br +0 -0
  641. package/payload/server/public/assets/pdf-render-BSgBp8Fr.js.gz +0 -0
  642. package/payload/server/public/assets/pie-ZZUOXDRM-Bdw3Iqs7.js +0 -1
  643. package/payload/server/public/assets/pie-ZZUOXDRM-Bdw3Iqs7.js.br +0 -0
  644. package/payload/server/public/assets/pieDiagram-DEJITSTG-as0e_DSH.js.br +0 -0
  645. package/payload/server/public/assets/pieDiagram-DEJITSTG-as0e_DSH.js.gz +0 -0
  646. package/payload/server/public/assets/public-CNVEM-Bx.js.br +0 -0
  647. package/payload/server/public/assets/public-CNVEM-Bx.js.gz +0 -0
  648. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-B4t8HO9J.js.br +0 -0
  649. package/payload/server/public/assets/quadrantDiagram-34T5L4WZ-B4t8HO9J.js.gz +0 -0
  650. package/payload/server/public/assets/radar-PYXPWWZC-D3FUdA3r.js +0 -1
  651. package/payload/server/public/assets/radar-PYXPWWZC-D3FUdA3r.js.br +0 -0
  652. package/payload/server/public/assets/reduce-BtXXK8Ma.js.br +0 -0
  653. package/payload/server/public/assets/reduce-BtXXK8Ma.js.gz +0 -0
  654. package/payload/server/public/assets/requirementDiagram-MS252O5E-yxh30zHX.js.br +0 -0
  655. package/payload/server/public/assets/requirementDiagram-MS252O5E-yxh30zHX.js.gz +0 -0
  656. package/payload/server/public/assets/rotate-ccw-DQCaky8_.js.br +0 -0
  657. package/payload/server/public/assets/rotate-ccw-DQCaky8_.js.gz +0 -0
  658. package/payload/server/public/assets/routines-DwK5FeLm.js +0 -1
  659. package/payload/server/public/assets/routines-DwK5FeLm.js.br +0 -0
  660. package/payload/server/public/assets/routines-DwK5FeLm.js.gz +0 -0
  661. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-j-k9Wfty.js.br +0 -0
  662. package/payload/server/public/assets/sankeyDiagram-XADWPNL6-j-k9Wfty.js.gz +0 -0
  663. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-DGLgcLhC.js.br +0 -0
  664. package/payload/server/public/assets/sequenceDiagram-FGHM5R23-DGLgcLhC.js.gz +0 -0
  665. package/payload/server/public/assets/skills-CosN3uA4.js.br +0 -0
  666. package/payload/server/public/assets/skills-CosN3uA4.js.gz +0 -0
  667. package/payload/server/public/assets/stateDiagram-FHFEXIEX-C9p1OUMI.js.br +0 -0
  668. package/payload/server/public/assets/stateDiagram-FHFEXIEX-C9p1OUMI.js.gz +0 -0
  669. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Bf808Apk.js +0 -1
  670. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Bf808Apk.js.br +0 -0
  671. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Bf808Apk.js.gz +0 -0
  672. package/payload/server/public/assets/tasks-f0QikHmw.js.br +0 -0
  673. package/payload/server/public/assets/tasks-f0QikHmw.js.gz +0 -0
  674. package/payload/server/public/assets/time-entry-format-DLTdS35_.js.br +0 -0
  675. package/payload/server/public/assets/time-entry-format-DLTdS35_.js.gz +0 -0
  676. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-B1g7pgkH.js.br +0 -0
  677. package/payload/server/public/assets/timeline-definition-GMOUNBTQ-B1g7pgkH.js.gz +0 -0
  678. package/payload/server/public/assets/treeView-SZITEDCU-DetKw0D0.js +0 -1
  679. package/payload/server/public/assets/treeView-SZITEDCU-DetKw0D0.js.br +0 -0
  680. package/payload/server/public/assets/treemap-W4RFUUIX-zQkIANxW.js +0 -1
  681. package/payload/server/public/assets/treemap-W4RFUUIX-zQkIANxW.js.br +0 -0
  682. package/payload/server/public/assets/triangle-alert-CpwrbdYq.js.br +0 -3
  683. package/payload/server/public/assets/triangle-alert-CpwrbdYq.js.gz +0 -0
  684. package/payload/server/public/assets/useCopyFeedback-D01gSp36.js.br +0 -0
  685. package/payload/server/public/assets/useCopyFeedback-D01gSp36.js.gz +0 -0
  686. package/payload/server/public/assets/useSubAccountSwitcher-BRHYXwGO.js +0 -14
  687. package/payload/server/public/assets/useSubAccountSwitcher-BRHYXwGO.js.br +0 -0
  688. package/payload/server/public/assets/useSubAccountSwitcher-BRHYXwGO.js.gz +0 -0
  689. package/payload/server/public/assets/useSubAccountSwitcher-CJzJ9xV3.css +0 -1
  690. package/payload/server/public/assets/useSubAccountSwitcher-CJzJ9xV3.css.br +0 -0
  691. package/payload/server/public/assets/useSubAccountSwitcher-CJzJ9xV3.css.gz +0 -0
  692. package/payload/server/public/assets/useVoiceRecorder-DiPgyDUy.js.br +0 -0
  693. package/payload/server/public/assets/useVoiceRecorder-DiPgyDUy.js.gz +0 -0
  694. package/payload/server/public/assets/vennDiagram-DHZGUBPP-D2ZjFfh4.js.br +0 -0
  695. package/payload/server/public/assets/vennDiagram-DHZGUBPP-D2ZjFfh4.js.gz +0 -0
  696. package/payload/server/public/assets/wardley-RL74JXVD-DkQV3DvB.js +0 -1
  697. package/payload/server/public/assets/wardley-RL74JXVD-DkQV3DvB.js.br +0 -0
  698. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-BFAhfkD8.js.br +0 -0
  699. package/payload/server/public/assets/wardleyDiagram-NUSXRM2D-BFAhfkD8.js.gz +0 -0
  700. package/payload/server/public/assets/wrench-C5SJreEu.js.br +0 -1
  701. package/payload/server/public/assets/wrench-C5SJreEu.js.gz +0 -0
  702. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-Dt94h2RQ.js.br +0 -0
  703. package/payload/server/public/assets/xychartDiagram-5P7HB3ND-Dt94h2RQ.js.gz +0 -0
  704. /package/payload/server/public/assets/{_baseFor-B12He5Rp.js → _baseFor-BApe6Tla.js} +0 -0
  705. /package/payload/server/public/assets/{_baseFor-B12He5Rp.js.br → _baseFor-BApe6Tla.js.br} +0 -0
  706. /package/payload/server/public/assets/{_baseFor-B12He5Rp.js.gz → _baseFor-BApe6Tla.js.gz} +0 -0
  707. /package/payload/server/public/assets/{array-DO1uCttT.js → array-eiH4WfvY.js} +0 -0
  708. /package/payload/server/public/assets/{array-DO1uCttT.js.br → array-eiH4WfvY.js.br} +0 -0
  709. /package/payload/server/public/assets/{cytoscape.esm-DFn2foqy.js → cytoscape.esm-BZ6NYo0w.js} +0 -0
  710. /package/payload/server/public/assets/{cytoscape.esm-DFn2foqy.js.br → cytoscape.esm-BZ6NYo0w.js.br} +0 -0
  711. /package/payload/server/public/assets/{cytoscape.esm-DFn2foqy.js.gz → cytoscape.esm-BZ6NYo0w.js.gz} +0 -0
  712. /package/payload/server/public/assets/{defaultLocale-ieI3yFoA.js → defaultLocale-DWHqsa6O.js} +0 -0
  713. /package/payload/server/public/assets/{defaultLocale-ieI3yFoA.js.br → defaultLocale-DWHqsa6O.js.br} +0 -0
  714. /package/payload/server/public/assets/{defaultLocale-ieI3yFoA.js.gz → defaultLocale-DWHqsa6O.js.gz} +0 -0
  715. /package/payload/server/public/assets/{dist-DlU7AEeD.js → dist-IoQuidkp.js} +0 -0
  716. /package/payload/server/public/assets/{dist-DlU7AEeD.js.br → dist-IoQuidkp.js.br} +0 -0
  717. /package/payload/server/public/assets/{dist-DlU7AEeD.js.gz → dist-IoQuidkp.js.gz} +0 -0
  718. /package/payload/server/public/assets/{init-BCRlEgNP.js → init-BdkYWjJJ.js} +0 -0
  719. /package/payload/server/public/assets/{init-BCRlEgNP.js.br → init-BdkYWjJJ.js.br} +0 -0
  720. /package/payload/server/public/assets/{init-BCRlEgNP.js.gz → init-BdkYWjJJ.js.gz} +0 -0
  721. /package/payload/server/public/assets/{katex-gkTaZgi6.js → katex-BCzoGtFh.js} +0 -0
  722. /package/payload/server/public/assets/{katex-gkTaZgi6.js.br → katex-BCzoGtFh.js.br} +0 -0
  723. /package/payload/server/public/assets/{katex-gkTaZgi6.js.gz → katex-BCzoGtFh.js.gz} +0 -0
  724. /package/payload/server/public/assets/{path-DTmzQFjQ.js → path-DY2qBuPM.js} +0 -0
  725. /package/payload/server/public/assets/{path-DTmzQFjQ.js.br → path-DY2qBuPM.js.br} +0 -0
  726. /package/payload/server/public/assets/{path-DTmzQFjQ.js.gz → path-DY2qBuPM.js.gz} +0 -0
  727. /package/payload/server/public/assets/{preload-helper-eAV8hweq.js → preload-helper-3YNEDsJZ.js} +0 -0
  728. /package/payload/server/public/assets/{preload-helper-eAV8hweq.js.br → preload-helper-3YNEDsJZ.js.br} +0 -0
  729. /package/payload/server/public/assets/{preload-helper-eAV8hweq.js.gz → preload-helper-3YNEDsJZ.js.gz} +0 -0
  730. /package/payload/server/public/assets/{rough.esm-BFJ-MgcB.js → rough.esm-ec8xsRC7.js} +0 -0
  731. /package/payload/server/public/assets/{rough.esm-BFJ-MgcB.js.br → rough.esm-ec8xsRC7.js.br} +0 -0
  732. /package/payload/server/public/assets/{rough.esm-BFJ-MgcB.js.gz → rough.esm-ec8xsRC7.js.gz} +0 -0
  733. /package/payload/server/public/assets/{src-9CNk4JU0.js → src-C-STKunZ.js} +0 -0
  734. /package/payload/server/public/assets/{src-9CNk4JU0.js.br → src-C-STKunZ.js.br} +0 -0
  735. /package/payload/server/public/assets/{src-9CNk4JU0.js.gz → src-C-STKunZ.js.gz} +0 -0
@@ -90,31 +90,94 @@ export function saveSignature(accountDir, parts) {
90
90
  }
91
91
  return { written, removed };
92
92
  }
93
+ /**
94
+ * Task 2193 — render a plain-text body as HTML, so a stored HTML signature has a
95
+ * body to be appended to. Deterministic, with no model judgement in the path.
96
+ *
97
+ * A plain body inserted into HTML raw collapses every newline — the defect Task
98
+ * 2166 records against Graph's createReply — so a blank line starts a paragraph
99
+ * and a single newline is a line break. Only the three characters that are
100
+ * markup in HTML *text content* are escaped; the result is never used as an
101
+ * attribute value, where quotes would matter too. The ampersand is escaped
102
+ * first, or the escapes this function emits would themselves be escaped.
103
+ */
104
+ export function htmlFromPlainText(text) {
105
+ const escaped = text
106
+ .replace(/\r\n?/g, "\n")
107
+ .replace(/&/g, "&")
108
+ .replace(/</g, "&lt;")
109
+ .replace(/>/g, "&gt;");
110
+ return escaped
111
+ .split(/\n{2,}/)
112
+ .map((paragraph) => `<p>${paragraph.replace(/\n/g, "<br>")}</p>`)
113
+ .join("");
114
+ }
93
115
  /**
94
116
  * Append the signature to a draft's body/html deterministically, with no model
95
- * judgement. The plain-text signature is appended to body whenever present. The
96
- * html signature and the font wrap apply only when the caller supplied html:
97
- * font is HTML-only and has no plain-text analogue. `applied` is true when at
98
- * least one signature part (text or html) was appended; the font wrap alone does
99
- * not set it.
117
+ * judgement. The plain-text signature is appended to body whenever present.
118
+ *
119
+ * Task 2193 — when an HTML signature is stored and the caller supplied no HTML
120
+ * body, one is derived from the caller's body, because no sanctioned drafting
121
+ * flow passes `html` and a stored `email-signature.html` was otherwise
122
+ * unreachable. The derivation reads the caller's body, not the text-signed one:
123
+ * the two MIME parts are alternatives of the same message, so each carries
124
+ * exactly one sign-off. A `sig.html` of null derives nothing and the draft stays
125
+ * text/plain, so the wire shape changes only for an account that installed an
126
+ * HTML signature on purpose.
127
+ *
128
+ * The font wrap is HTML-only, has no plain-text analogue, and sets none of the
129
+ * three flags.
100
130
  */
101
131
  export function applySignature(input, sig) {
102
132
  let body = input.body;
103
133
  let html = input.html;
104
- let applied = false;
134
+ let textApplied = false;
135
+ let htmlApplied = false;
136
+ let derivedHtml = false;
105
137
  if (sig.text !== null) {
106
138
  body = `${body}\n\n${sig.text}`;
107
- applied = true;
139
+ textApplied = true;
140
+ }
141
+ if (html === undefined && sig.html !== null) {
142
+ html = htmlFromPlainText(input.body);
143
+ derivedHtml = true;
108
144
  }
109
145
  if (html !== undefined) {
110
146
  if (sig.html !== null) {
111
147
  html = `${html}${sig.html}`;
112
- applied = true;
148
+ htmlApplied = true;
113
149
  }
114
150
  if (sig.font !== null) {
115
151
  html = `<div style="font-family: ${sig.font}">${html}</div>`;
116
152
  }
117
153
  }
118
- return { body, html, applied };
154
+ return { body, html, textApplied, htmlApplied, derivedHtml };
155
+ }
156
+ /**
157
+ * Task 2193 — the signature sentence both draft tools append to their result.
158
+ *
159
+ * The proof of what landed belongs in the reply the drafting agent already
160
+ * reads. The MCP log is unreachable from the tools a specialist holds (Task
161
+ * 2168), `email-draft-list` returns headers only and `email-fetch-body` reads
162
+ * inbox and sent, so nothing in the drafting agent's hands could see the body —
163
+ * which is how a plain-text draft was reported as carrying a branded signature.
164
+ *
165
+ * Shared by email-draft and email-draft-edit so the two cannot drift. Unlike
166
+ * formatCopyNote and formatAttachNote it is never empty: "no signature stored"
167
+ * is the case that most needs saying.
168
+ */
169
+ export function formatSignatureNote(flags) {
170
+ if (!flags.textApplied && !flags.htmlApplied) {
171
+ return " Signature: none stored for this account.";
172
+ }
173
+ const htmlPart = flags.derivedHtml ? "HTML (body derived from the plain text)" : "HTML";
174
+ const named = (parts) => parts.filter((part) => part !== null).join(" and ");
175
+ const landed = named([flags.textApplied ? "plain text" : null, flags.htmlApplied ? htmlPart : null]);
176
+ const missing = named([
177
+ flags.textApplied ? null : "plain text",
178
+ flags.htmlApplied ? null : "HTML",
179
+ ]);
180
+ const gap = missing ? ` No ${missing} signature is stored.` : "";
181
+ return ` Signature: ${landed} applied.${gap}`;
119
182
  }
120
183
  //# sourceMappingURL=signature.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/lib/signature.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/lib/signature.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"email-draft-edit.d.ts","sourceRoot":"","sources":["../../src/tools/email-draft-edit.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG1E,UAAU,UAAW,SAAQ,kBAAkB;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAkCxE"}
1
+ {"version":3,"file":"email-draft-edit.d.ts","sourceRoot":"","sources":["../../src/tools/email-draft-edit.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAI1E,UAAU,UAAW,SAAQ,kBAAkB;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAuCxE"}
@@ -3,6 +3,7 @@ import { formatCopyNote } from "../lib/smtp.js";
3
3
  import { replaceDraft } from "../lib/imap.js";
4
4
  import { composeDraft } from "../lib/compose.js";
5
5
  import { formatAttachNote } from "../lib/attachment-resolve.js";
6
+ import { formatSignatureNote } from "../lib/signature.js";
6
7
  export async function emailDraftEdit(params) {
7
8
  const result = await loadCredentials(params.accountId, params.mailbox);
8
9
  if ("error" in result)
@@ -11,7 +12,7 @@ export async function emailDraftEdit(params) {
11
12
  // Compose the replacement first (resolves attachments + threading). A failure
12
13
  // here — e.g. an unresolvable parent — throws before any IMAP write, so the
13
14
  // stored draft is never touched.
14
- const { raw, threadedParentId, draftMessageId, attachments } = await composeDraft(config, password, params.accountId, params);
15
+ const { raw, threadedParentId, draftMessageId, attachments, textApplied, htmlApplied, derivedHtml, } = await composeDraft(config, password, params.accountId, params);
15
16
  const { folder, oldUid, newUid, expunged, created } = await replaceDraft(config, password, params.targetUid, raw, params.draftMessageId ?? null);
16
17
  const uidNote = newUid !== null ? `new UID: ${newUid}` : "new UID not reported by server";
17
18
  // created: the prior draft was genuinely gone (UID and Message-ID both
@@ -22,6 +23,8 @@ export async function emailDraftEdit(params) {
22
23
  ? `replaced UID ${oldUid}`
23
24
  : `appended replacement; old UID ${oldUid} not confirmed expunged`;
24
25
  const threadNote = threadedParentId ? ` (threaded reply to ${threadedParentId})` : "";
25
- return `Draft revised in ${folder}: ${outcomeNote}, ${uidNote}, draft id: ${draftMessageId}, for ${params.to}${formatCopyNote(params.cc, params.bcc)}${formatAttachNote(attachments)}${threadNote} still unsent. Review and send it from the Drafts folder.`;
26
+ // A revision recomposes from scratch, so it re-applies the signature — the note
27
+ // is the same proof email-draft carries, for the same account state (Task 2193).
28
+ return `Draft revised in ${folder}: ${outcomeNote}, ${uidNote}, draft id: ${draftMessageId}, for ${params.to}${formatCopyNote(params.cc, params.bcc)}${formatAttachNote(attachments)}${threadNote} — still unsent.${formatSignatureNote({ textApplied, htmlApplied, derivedHtml })} Review and send it from the Drafts folder.`;
26
29
  }
27
30
  //# sourceMappingURL=email-draft-edit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-draft-edit.js","sourceRoot":"","sources":["../../src/tools/email-draft-edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAA2B,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAgBhE,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAkB;IACrD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACvE,IAAI,OAAO,IAAI,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAErD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;IAEhD,8EAA8E;IAC9E,4EAA4E;IAC5E,iCAAiC;IACjC,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,MAAM,YAAY,CAC/E,MAAM,EACN,QAAQ,EACR,MAAM,CAAC,SAAS,EAChB,MAAM,CACP,CAAC;IAEF,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CACtE,MAAM,EACN,QAAQ,EACR,MAAM,CAAC,SAAS,EAChB,GAAG,EACH,MAAM,CAAC,cAAc,IAAI,IAAI,CAC9B,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC,CAAC,gCAAgC,CAAC;IAC1F,uEAAuE;IACvE,8DAA8D;IAC9D,MAAM,WAAW,GAAG,OAAO;QACzB,CAAC,CAAC,uDAAuD;QACzD,CAAC,CAAC,QAAQ;YACR,CAAC,CAAC,gBAAgB,MAAM,EAAE;YAC1B,CAAC,CAAC,iCAAiC,MAAM,yBAAyB,CAAC;IACvE,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,uBAAuB,gBAAgB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,OAAO,oBAAoB,MAAM,KAAK,WAAW,KAAK,OAAO,eAAe,cAAc,SAAS,MAAM,CAAC,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,GAAG,UAAU,6DAA6D,CAAC;AACjQ,CAAC"}
1
+ {"version":3,"file":"email-draft-edit.js","sourceRoot":"","sources":["../../src/tools/email-draft-edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAA2B,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAgB1D,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAkB;IACrD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACvE,IAAI,OAAO,IAAI,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAErD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;IAEhD,8EAA8E;IAC9E,4EAA4E;IAC5E,iCAAiC;IACjC,MAAM,EACJ,GAAG,EACH,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,GACZ,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAEnE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,YAAY,CACtE,MAAM,EACN,QAAQ,EACR,MAAM,CAAC,SAAS,EAChB,GAAG,EACH,MAAM,CAAC,cAAc,IAAI,IAAI,CAC9B,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC,CAAC,gCAAgC,CAAC;IAC1F,uEAAuE;IACvE,8DAA8D;IAC9D,MAAM,WAAW,GAAG,OAAO;QACzB,CAAC,CAAC,uDAAuD;QACzD,CAAC,CAAC,QAAQ;YACR,CAAC,CAAC,gBAAgB,MAAM,EAAE;YAC1B,CAAC,CAAC,iCAAiC,MAAM,yBAAyB,CAAC;IACvE,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,uBAAuB,gBAAgB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,gFAAgF;IAChF,iFAAiF;IACjF,OAAO,oBAAoB,MAAM,KAAK,WAAW,KAAK,OAAO,eAAe,cAAc,SAAS,MAAM,CAAC,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,GAAG,UAAU,mBAAmB,mBAAmB,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,6CAA6C,CAAC;AAClU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"email-draft.d.ts","sourceRoot":"","sources":["../../src/tools/email-draft.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG1E,UAAU,WAAY,SAAQ,kBAAkB;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBrE"}
1
+ {"version":3,"file":"email-draft.d.ts","sourceRoot":"","sources":["../../src/tools/email-draft.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAI1E,UAAU,WAAY,SAAQ,kBAAkB;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAwBrE"}
@@ -3,17 +3,20 @@ import { formatCopyNote } from "../lib/smtp.js";
3
3
  import { appendDraft } from "../lib/imap.js";
4
4
  import { composeDraft } from "../lib/compose.js";
5
5
  import { formatAttachNote } from "../lib/attachment-resolve.js";
6
+ import { formatSignatureNote } from "../lib/signature.js";
6
7
  export async function emailDraft(params) {
7
8
  const result = await loadCredentials(params.accountId, params.mailbox);
8
9
  if ("error" in result)
9
10
  throw new Error(result.error);
10
11
  const { config, password } = result.credentials;
11
- const { raw, threadedParentId, draftMessageId, attachments } = await composeDraft(config, password, params.accountId, params);
12
+ const { raw, threadedParentId, draftMessageId, attachments, textApplied, htmlApplied, derivedHtml, } = await composeDraft(config, password, params.accountId, params);
12
13
  const { folder, uid } = await appendDraft(config, password, raw);
13
14
  const uidNote = uid !== null ? `UID: ${uid}` : "UID not reported by server";
14
15
  const threadNote = threadedParentId ? ` (threaded reply to ${threadedParentId})` : "";
15
16
  // The draft id is the stable handle for a later edit — pass it back to
16
- // email-draft-edit if Gmail has renumbered the UID by then.
17
- return `Email draft saved to ${folder} for ${params.to}${formatCopyNote(params.cc, params.bcc)}${formatAttachNote(attachments)}${threadNote} not sent (${uidNote}, draft id: ${draftMessageId}). Review and send it from the mailbox's Drafts folder.`;
17
+ // email-draft-edit if Gmail has renumbered the UID by then. The signature note
18
+ // is the proof of what the draft actually carries (Task 2193): the MCP log the
19
+ // skill used to cite is unreachable from the tools a drafting agent holds.
20
+ return `Email draft saved to ${folder} for ${params.to}${formatCopyNote(params.cc, params.bcc)}${formatAttachNote(attachments)}${threadNote} — not sent (${uidNote}, draft id: ${draftMessageId}).${formatSignatureNote({ textApplied, htmlApplied, derivedHtml })} Review and send it from the mailbox's Drafts folder.`;
18
21
  }
19
22
  //# sourceMappingURL=email-draft.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-draft.js","sourceRoot":"","sources":["../../src/tools/email-draft.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAA2B,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAOhE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAmB;IAClD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACvE,IAAI,OAAO,IAAI,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAErD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;IAEhD,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,MAAM,YAAY,CAC/E,MAAM,EACN,QAAQ,EACR,MAAM,CAAC,SAAS,EAChB,MAAM,CACP,CAAC;IAEF,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC;IAC5E,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,uBAAuB,gBAAgB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,uEAAuE;IACvE,4DAA4D;IAC5D,OAAO,wBAAwB,MAAM,QAAQ,MAAM,CAAC,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,GAAG,UAAU,gBAAgB,OAAO,eAAe,cAAc,yDAAyD,CAAC;AAC3P,CAAC"}
1
+ {"version":3,"file":"email-draft.js","sourceRoot":"","sources":["../../src/tools/email-draft.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAA2B,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAO1D,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAmB;IAClD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACvE,IAAI,OAAO,IAAI,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAErD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;IAEhD,MAAM,EACJ,GAAG,EACH,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,GACZ,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAEnE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC;IAC5E,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,uBAAuB,gBAAgB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,uEAAuE;IACvE,+EAA+E;IAC/E,+EAA+E;IAC/E,2EAA2E;IAC3E,OAAO,wBAAwB,MAAM,QAAQ,MAAM,CAAC,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,GAAG,UAAU,gBAAgB,OAAO,eAAe,cAAc,KAAK,mBAAmB,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,uDAAuD,CAAC;AAC5T,CAAC"}
@@ -0,0 +1,20 @@
1
+ interface SendingIdentitySetParams {
2
+ accountId: string;
3
+ mailbox: string;
4
+ }
5
+ /**
6
+ * Task 2194 — designate the account's own outbound address.
7
+ *
8
+ * A dedicated writer rather than an `email-setup` parameter, following the
9
+ * `email-signature-set` precedent from Task 2097: designation has to be
10
+ * changeable on an account whose mailboxes already exist, and the account this
11
+ * was filed from holds three.
12
+ *
13
+ * The mailbox is resolved through `resolveConfig` before anything is written,
14
+ * so an address the account does not hold is refused naming the stored
15
+ * identities and nothing is touched. Uniqueness is enforced by the write, not
16
+ * by a check afterwards — see `writeSendingIdentity`.
17
+ */
18
+ export declare function emailSendingIdentitySet(params: SendingIdentitySetParams): Promise<string>;
19
+ export {};
20
+ //# sourceMappingURL=email-sending-identity-set.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-sending-identity-set.d.ts","sourceRoot":"","sources":["../../src/tools/email-sending-identity-set.ts"],"names":[],"mappings":"AAEA,UAAU,wBAAwB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,MAAM,CAAC,CAqBjB"}
@@ -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.
@@ -8,7 +8,7 @@ Unpacked-extension dev build. No Chrome Web Store publication.
8
8
  2. Enable **Developer mode** (top right).
9
9
  3. **Load unpacked** → select this `extension/` directory.
10
10
  4. Click the new puzzle icon → open **SiteDesk LinkedIn Ingest** options.
11
- 5. Paste your admin host (e.g. `https://your-tunnel.example.com`) and your admin **session key** (the value of `session_key` on the cookie or query in your admin browser). Save.
11
+ 5. Paste your admin host (e.g. `https://your-tunnel.example.com`) and your **ingest token**. Ask your SiteDesk agent for the ingest token; it mints one on request and gives it to you in the chat. The token is stable, so this is a one-time paste unless someone rotates it. Save.
12
12
  6. Chrome asks you to allow the extension to talk to that host. **Allow it.** The pill cannot post without it, so declining saves nothing.
13
13
 
14
14
  ## Use
@@ -21,7 +21,7 @@ The pill tells you which thing is wrong:
21
21
 
22
22
  | Pill | Meaning | Fix |
23
23
  |---|---|---|
24
- | **Sign in to SiteDesk** (amber) | the session key expired | open options, paste a fresh key |
24
+ | **Paste SiteDesk token** (amber) | the ingest token is missing or was refused | ask the agent for the ingest token, paste it in options |
25
25
  | **Grant access** (amber) | the admin host was never allowed, so the post never left the browser | open options, Save, allow the prompt |
26
26
  | **SiteDesk unreachable** (red) | the host was allowed but did not answer | check the tunnel and the admin server |
27
27
  | **Capture failed** (red) | the admin rejected the payload, or the extension's own service worker did not answer | read the service-worker console: `reason=extract` is a rejected payload, `reason=worker-unreachable` is the worker |
@@ -35,7 +35,7 @@ The pill tells you which thing is wrong:
35
35
  | `content/profile.js` | Profile pill + click handler. |
36
36
  | `content/thread.js` | Thread pill + click handler. |
37
37
  | `background/sw.js` | Service worker. Checks the admin-host grant, then POSTs envelopes to the admin route. |
38
- | `options/options.html` + `options/options.js` | Admin host + session-key entry. |
38
+ | `options/options.html` + `options/options.js` | Admin host + ingest-token entry. |
39
39
  | `assets/pill.css` | Pill styling. |
40
40
  | `__tests__/` | jsdom unit tests for the extractors, run via vitest from `platform/ui`. |
41
41
 
@@ -1,5 +1,5 @@
1
1
  // Service worker. Receives envelopes from content scripts, POSTs them
2
- // to the admin host with the session key stored in extension options.
2
+ // to the admin host with the ingest token stored in extension options.
3
3
  //
4
4
  // Task 2185 — the manifest's static host_permissions cover linkedin.com only,
5
5
  // so the admin host has to be granted at runtime from the options page before
@@ -14,11 +14,16 @@
14
14
 
15
15
  const TAG = '[linkedin-ext-post]'
16
16
 
17
+ // Task 2208 — the credential is the account's durable ingest token, minted by
18
+ // the linkedin-ingest-token admin tool and pasted in on the options page. The
19
+ // admin browser's session_key it replaced could neither be obtained as
20
+ // documented nor stay valid: in-memory, 24h TTL, wiped by restart, rotated on
21
+ // every new chat session.
17
22
  async function getConfig() {
18
- const stored = await chrome.storage.local.get(['adminHost', 'sessionKey'])
23
+ const stored = await chrome.storage.local.get(['adminHost', 'ingestToken'])
19
24
  return {
20
25
  adminHost: typeof stored.adminHost === 'string' ? stored.adminHost.replace(/\/+$/, '') : '',
21
- sessionKey: typeof stored.sessionKey === 'string' ? stored.sessionKey : '',
26
+ ingestToken: typeof stored.ingestToken === 'string' ? stored.ingestToken : '',
22
27
  }
23
28
  }
24
29
 
@@ -28,9 +33,9 @@ function originPattern(adminHost) {
28
33
  }
29
34
 
30
35
  async function postEnvelope(envelope) {
31
- const { adminHost, sessionKey } = await getConfig()
36
+ const { adminHost, ingestToken } = await getConfig()
32
37
  if (!adminHost) return { ok: false, reason: 'auth', detail: 'admin-host-missing' }
33
- if (!sessionKey) return { ok: false, reason: 'auth', detail: 'session-key-missing' }
38
+ if (!ingestToken) return { ok: false, reason: 'auth', detail: 'ingest-token-missing' }
34
39
 
35
40
  let origin
36
41
  try {
@@ -53,7 +58,7 @@ async function postEnvelope(envelope) {
53
58
  res = await fetch(url, {
54
59
  method: 'POST',
55
60
  headers: { 'content-type': 'application/json' },
56
- body: JSON.stringify({ ...envelope, session_key: sessionKey }),
61
+ body: JSON.stringify({ ...envelope, ingest_token: ingestToken }),
57
62
  })
58
63
  } catch (err) {
59
64
  console.error(
@@ -66,7 +71,7 @@ async function postEnvelope(envelope) {
66
71
  const ms = Date.now() - started
67
72
  console.log(TAG + ' op=fetch dispatchId=' + envelope.dispatchId + ' status=' + res.status + ' ms=' + ms)
68
73
 
69
- if (res.status === 401) return { ok: false, reason: 'auth', detail: 'session-rejected' }
74
+ if (res.status === 401) return { ok: false, reason: 'auth', detail: 'token-rejected' }
70
75
  if (res.status >= 500) return { ok: false, reason: 'server', detail: 'http-' + res.status }
71
76
  if (!res.ok) {
72
77
  let body = ''
@@ -51,8 +51,11 @@
51
51
  const reason = (reply && reply.reason) || 'worker-unreachable'
52
52
  const detail = (reply && reply.detail) || ''
53
53
  console.error(TAG_ERROR + ' reason=' + reason + ' detail=' + detail)
54
+ // Task 2208 — the ingest token is missing or was refused. There is no
55
+ // sign-in to perform: the operator asks the SiteDesk agent for the token and
56
+ // pastes it on the options page.
54
57
  if (reason === 'auth') {
55
- setState(pill, 'auth', 'Sign in to SiteDesk')
58
+ setState(pill, 'auth', 'Paste SiteDesk token')
56
59
  pill.onclick = function () { chrome.runtime.openOptionsPage() }
57
60
  return
58
61
  }
@@ -53,8 +53,11 @@
53
53
  const reason = (reply && reply.reason) || 'worker-unreachable'
54
54
  const detail = (reply && reply.detail) || ''
55
55
  console.error(TAG_ERROR + ' reason=' + reason + ' detail=' + detail)
56
+ // Task 2208 — the ingest token is missing or was refused. There is no
57
+ // sign-in to perform: the operator asks the SiteDesk agent for the token and
58
+ // pastes it on the options page.
56
59
  if (reason === 'auth') {
57
- setState(pill, 'auth', 'Sign in to SiteDesk')
60
+ setState(pill, 'auth', 'Paste SiteDesk token')
58
61
  pill.onclick = function () { chrome.runtime.openOptionsPage() }
59
62
  return
60
63
  }