@rubytech/create-maxy-code 0.1.419 → 0.1.427

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 (334) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/neo4j/schema.cypher +13 -0
  3. package/payload/platform/package-lock.json +5158 -2922
  4. package/payload/platform/plugins/admin/.claude-plugin/plugin.json +1 -1
  5. package/payload/platform/plugins/admin/PLUGIN.md +5 -1
  6. package/payload/platform/plugins/admin/hooks/__tests__/datetime-inject.test.sh +119 -0
  7. package/payload/platform/plugins/admin/hooks/__tests__/prompt-optimiser-compliance.test.sh +22 -0
  8. package/payload/platform/plugins/admin/hooks/datetime-inject.sh +115 -0
  9. package/payload/platform/plugins/admin/hooks/prompt-optimiser-compliance.sh +14 -1
  10. package/payload/platform/plugins/admin/mcp/dist/index.js +62 -4
  11. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  12. package/payload/platform/plugins/admin/mcp/dist/tools/account-lifecycle.d.ts +44 -0
  13. package/payload/platform/plugins/admin/mcp/dist/tools/account-lifecycle.d.ts.map +1 -1
  14. package/payload/platform/plugins/admin/mcp/dist/tools/account-lifecycle.js +96 -0
  15. package/payload/platform/plugins/admin/mcp/dist/tools/account-lifecycle.js.map +1 -1
  16. package/payload/platform/plugins/admin/skills/datetime/SKILL.md +9 -2
  17. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +16 -2
  18. package/payload/platform/plugins/docs/references/cross-account-authority.md +8 -0
  19. package/payload/platform/plugins/docs/references/internals.md +4 -0
  20. package/payload/platform/plugins/docs/references/memory-guide.md +2 -0
  21. package/payload/platform/plugins/docs/references/plugins-guide.md +1 -1
  22. package/payload/platform/plugins/email/PLUGIN.md +2 -2
  23. package/payload/platform/plugins/email/mcp/dist/__tests__/imap-drafts.test.js +73 -4
  24. package/payload/platform/plugins/email/mcp/dist/__tests__/imap-drafts.test.js.map +1 -1
  25. package/payload/platform/plugins/email/mcp/dist/__tests__/mailbox-resolve.test.js +42 -1
  26. package/payload/platform/plugins/email/mcp/dist/__tests__/mailbox-resolve.test.js.map +1 -1
  27. package/payload/platform/plugins/email/mcp/dist/index.js +1 -0
  28. package/payload/platform/plugins/email/mcp/dist/index.js.map +1 -1
  29. package/payload/platform/plugins/email/mcp/dist/lib/credentials.d.ts +4 -0
  30. package/payload/platform/plugins/email/mcp/dist/lib/credentials.d.ts.map +1 -1
  31. package/payload/platform/plugins/email/mcp/dist/lib/credentials.js +5 -0
  32. package/payload/platform/plugins/email/mcp/dist/lib/credentials.js.map +1 -1
  33. package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts +25 -3
  34. package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts.map +1 -1
  35. package/payload/platform/plugins/email/mcp/dist/lib/imap.js +67 -12
  36. package/payload/platform/plugins/email/mcp/dist/lib/imap.js.map +1 -1
  37. package/payload/platform/plugins/email/mcp/dist/tools/email-setup.d.ts +1 -0
  38. package/payload/platform/plugins/email/mcp/dist/tools/email-setup.d.ts.map +1 -1
  39. package/payload/platform/plugins/email/mcp/dist/tools/email-setup.js +1 -0
  40. package/payload/platform/plugins/email/mcp/dist/tools/email-setup.js.map +1 -1
  41. package/payload/platform/plugins/email/references/email-reference.md +8 -0
  42. package/payload/platform/plugins/memory/PLUGIN.md +3 -0
  43. package/payload/platform/plugins/memory/skills/conversational-memory/SKILL.md +30 -1
  44. package/payload/platform/plugins/memory/skills/preference-audit/SKILL.md +50 -0
  45. package/payload/platform/plugins/scheduling/PLUGIN.md +1 -1
  46. package/payload/platform/plugins/scheduling/mcp/dist/index.js +5 -2
  47. package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
  48. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/agent-dispatch.test.js +50 -1
  49. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/agent-dispatch.test.js.map +1 -1
  50. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.d.ts +2 -0
  51. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.d.ts.map +1 -0
  52. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.js +22 -0
  53. package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/scheduled-seat-id.test.js.map +1 -0
  54. package/payload/platform/plugins/scheduling/mcp/dist/lib/agent-dispatch.d.ts +35 -0
  55. package/payload/platform/plugins/scheduling/mcp/dist/lib/agent-dispatch.d.ts.map +1 -1
  56. package/payload/platform/plugins/scheduling/mcp/dist/lib/agent-dispatch.js +36 -0
  57. package/payload/platform/plugins/scheduling/mcp/dist/lib/agent-dispatch.js.map +1 -1
  58. package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.d.ts +11 -0
  59. package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.d.ts.map +1 -0
  60. package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.js +19 -0
  61. package/payload/platform/plugins/scheduling/mcp/dist/lib/scheduled-seat-id.js.map +1 -0
  62. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js +85 -3
  63. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js.map +1 -1
  64. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/standing-audit.test.js +32 -1
  65. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/standing-audit.test.js.map +1 -1
  66. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts +14 -1
  67. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts.map +1 -1
  68. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js +94 -4
  69. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js.map +1 -1
  70. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +23 -7
  71. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
  72. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-cancel.test.d.ts +2 -0
  73. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-cancel.test.d.ts.map +1 -0
  74. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-cancel.test.js +30 -0
  75. package/payload/platform/plugins/scheduling/mcp/dist/tools/__tests__/schedule-cancel.test.js.map +1 -0
  76. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.d.ts +29 -0
  77. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.d.ts.map +1 -1
  78. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.js +47 -2
  79. package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-cancel.js.map +1 -1
  80. package/payload/platform/plugins/whatsapp/PLUGIN.md +5 -1
  81. package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/caller-scope-headers.test.d.ts +2 -0
  82. package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/caller-scope-headers.test.d.ts.map +1 -0
  83. package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/caller-scope-headers.test.js +20 -0
  84. package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/caller-scope-headers.test.js.map +1 -0
  85. package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/resolve-read-account.test.d.ts +2 -0
  86. package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/resolve-read-account.test.d.ts.map +1 -0
  87. package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/resolve-read-account.test.js +15 -0
  88. package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/resolve-read-account.test.js.map +1 -0
  89. package/payload/platform/plugins/whatsapp/mcp/dist/call-api.d.ts +1 -1
  90. package/payload/platform/plugins/whatsapp/mcp/dist/call-api.d.ts.map +1 -1
  91. package/payload/platform/plugins/whatsapp/mcp/dist/call-api.js +5 -2
  92. package/payload/platform/plugins/whatsapp/mcp/dist/call-api.js.map +1 -1
  93. package/payload/platform/plugins/whatsapp/mcp/dist/caller-scope-headers.d.ts +9 -0
  94. package/payload/platform/plugins/whatsapp/mcp/dist/caller-scope-headers.d.ts.map +1 -0
  95. package/payload/platform/plugins/whatsapp/mcp/dist/caller-scope-headers.js +18 -0
  96. package/payload/platform/plugins/whatsapp/mcp/dist/caller-scope-headers.js.map +1 -0
  97. package/payload/platform/plugins/whatsapp/mcp/dist/index.js +17 -14
  98. package/payload/platform/plugins/whatsapp/mcp/dist/index.js.map +1 -1
  99. package/payload/platform/plugins/whatsapp/mcp/dist/resolve-read-account.d.ts +7 -0
  100. package/payload/platform/plugins/whatsapp/mcp/dist/resolve-read-account.d.ts.map +1 -0
  101. package/payload/platform/plugins/whatsapp/mcp/dist/resolve-read-account.js +13 -0
  102. package/payload/platform/plugins/whatsapp/mcp/dist/resolve-read-account.js.map +1 -0
  103. package/payload/platform/plugins/work/PLUGIN.md +1 -1
  104. package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-assigned-admin-env.test.d.ts +2 -0
  105. package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-assigned-admin-env.test.d.ts.map +1 -0
  106. package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-assigned-admin-env.test.js +72 -0
  107. package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-assigned-admin-env.test.js.map +1 -0
  108. package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-client-fields.test.d.ts +2 -0
  109. package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-client-fields.test.d.ts.map +1 -0
  110. package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-client-fields.test.js +67 -0
  111. package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-client-fields.test.js.map +1 -0
  112. package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-raised-by-env.test.d.ts +2 -0
  113. package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-raised-by-env.test.d.ts.map +1 -0
  114. package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-raised-by-env.test.js +66 -0
  115. package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-raised-by-env.test.js.map +1 -0
  116. package/payload/platform/plugins/work/mcp/dist/index.js +3 -0
  117. package/payload/platform/plugins/work/mcp/dist/index.js.map +1 -1
  118. package/payload/platform/plugins/work/mcp/dist/tools/work-create.d.ts +6 -0
  119. package/payload/platform/plugins/work/mcp/dist/tools/work-create.d.ts.map +1 -1
  120. package/payload/platform/plugins/work/mcp/dist/tools/work-create.js +41 -1
  121. package/payload/platform/plugins/work/mcp/dist/tools/work-create.js.map +1 -1
  122. package/payload/platform/scripts/lib/provision-account-dir.sh +2 -1
  123. package/payload/platform/services/claude-session-manager/dist/account-admin-census.d.ts +39 -0
  124. package/payload/platform/services/claude-session-manager/dist/account-admin-census.d.ts.map +1 -0
  125. package/payload/platform/services/claude-session-manager/dist/account-admin-census.js +122 -0
  126. package/payload/platform/services/claude-session-manager/dist/account-admin-census.js.map +1 -0
  127. package/payload/platform/services/claude-session-manager/dist/account-timezone.d.ts +40 -0
  128. package/payload/platform/services/claude-session-manager/dist/account-timezone.d.ts.map +1 -0
  129. package/payload/platform/services/claude-session-manager/dist/account-timezone.js +126 -0
  130. package/payload/platform/services/claude-session-manager/dist/account-timezone.js.map +1 -0
  131. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
  132. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +1 -0
  133. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
  134. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  135. package/payload/platform/services/claude-session-manager/dist/http-server.js +53 -2
  136. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  137. package/payload/platform/services/claude-session-manager/dist/index.js +52 -0
  138. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  139. package/payload/platform/services/claude-session-manager/dist/passive-dispatch-prune.d.ts +37 -0
  140. package/payload/platform/services/claude-session-manager/dist/passive-dispatch-prune.d.ts.map +1 -0
  141. package/payload/platform/services/claude-session-manager/dist/passive-dispatch-prune.js +80 -0
  142. package/payload/platform/services/claude-session-manager/dist/passive-dispatch-prune.js.map +1 -0
  143. package/payload/platform/services/claude-session-manager/dist/passive-intake-audit.d.ts +70 -0
  144. package/payload/platform/services/claude-session-manager/dist/passive-intake-audit.d.ts.map +1 -0
  145. package/payload/platform/services/claude-session-manager/dist/passive-intake-audit.js +129 -0
  146. package/payload/platform/services/claude-session-manager/dist/passive-intake-audit.js.map +1 -0
  147. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +17 -0
  148. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  149. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +40 -0
  150. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  151. package/payload/platform/services/telegram-channel/dist/instructions.d.ts.map +1 -1
  152. package/payload/platform/services/telegram-channel/dist/instructions.js +37 -50
  153. package/payload/platform/services/telegram-channel/dist/instructions.js.map +1 -1
  154. package/payload/platform/services/telegram-channel/dist/notification.d.ts +22 -0
  155. package/payload/platform/services/telegram-channel/dist/notification.d.ts.map +1 -1
  156. package/payload/platform/services/telegram-channel/dist/notification.js +22 -1
  157. package/payload/platform/services/telegram-channel/dist/notification.js.map +1 -1
  158. package/payload/platform/services/webchat-channel/dist/instructions.d.ts.map +1 -1
  159. package/payload/platform/services/webchat-channel/dist/instructions.js +44 -78
  160. package/payload/platform/services/webchat-channel/dist/instructions.js.map +1 -1
  161. package/payload/platform/services/webchat-channel/dist/notification.d.ts +22 -0
  162. package/payload/platform/services/webchat-channel/dist/notification.d.ts.map +1 -1
  163. package/payload/platform/services/webchat-channel/dist/notification.js +22 -1
  164. package/payload/platform/services/webchat-channel/dist/notification.js.map +1 -1
  165. package/payload/platform/services/whatsapp-channel/dist/notification.d.ts +42 -38
  166. package/payload/platform/services/whatsapp-channel/dist/notification.d.ts.map +1 -1
  167. package/payload/platform/services/whatsapp-channel/dist/notification.js +66 -82
  168. package/payload/platform/services/whatsapp-channel/dist/notification.js.map +1 -1
  169. package/payload/platform/templates/account.json +2 -1
  170. package/payload/platform/templates/agents/admin/IDENTITY.md +3 -2
  171. package/payload/platform/templates/specialists/agents/content-producer.md +4 -0
  172. package/payload/server/public/assets/{AdminLoginScreens-B1PkOF66.js → AdminLoginScreens-yAIhWcGc.js} +1 -1
  173. package/payload/server/public/assets/AdminShell-Bk1AFQ4D.js +2 -0
  174. package/payload/server/public/assets/{Checkbox-Bm9Er726.js → Checkbox-B_lfjsqd.js} +1 -1
  175. package/payload/server/public/assets/Transcript-D67OZnVM.js +2 -0
  176. package/payload/server/public/assets/admin-DuOhkvrZ.js +1 -0
  177. package/payload/server/public/assets/{arc-DyzjCWmw.js → arc-dVLpR-ec.js} +1 -1
  178. package/payload/server/public/assets/architecture-YZFGNWBL-CgeA3HPD.js +1 -0
  179. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-qWfElD16.js → architectureDiagram-Q4EWVU46-C6u_CVzb.js} +1 -1
  180. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-DO2fFHC3.js → blockDiagram-DXYQGD6D-Cy8F5b8O.js} +1 -1
  181. package/payload/server/public/assets/browser-CCWufeXr.js +1 -0
  182. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-Ca-q5gDe.js → c4Diagram-AHTNJAMY-DRXrlepj.js} +1 -1
  183. package/payload/server/public/assets/calendar-CNk1iPrA.js +1 -0
  184. package/payload/server/public/assets/channel-B04VBWf7.js +1 -0
  185. package/payload/server/public/assets/chat-7qB-dwBq.js +1 -0
  186. package/payload/server/public/assets/chevron-left-CpcDbHIz.js +1 -0
  187. package/payload/server/public/assets/{chunk-2KRD3SAO-CX2PxuDw.js → chunk-2KRD3SAO-fEyfhRLz.js} +1 -1
  188. package/payload/server/public/assets/{chunk-336JU56O-D8l6U4Ne.js → chunk-336JU56O-NUWO4y7q.js} +2 -2
  189. package/payload/server/public/assets/chunk-426QAEUC-DZkHcXRA.js +1 -0
  190. package/payload/server/public/assets/{chunk-4BX2VUAB-CG32Lkbh.js → chunk-4BX2VUAB-BnfiNR3l.js} +1 -1
  191. package/payload/server/public/assets/{chunk-4TB4RGXK-BnAQbO-v.js → chunk-4TB4RGXK-Bj_aJOz8.js} +1 -1
  192. package/payload/server/public/assets/{chunk-55IACEB6-ejqRH2M5.js → chunk-55IACEB6-aK0DNSKb.js} +1 -1
  193. package/payload/server/public/assets/{chunk-5FUZZQ4R-ClkicQ-T.js → chunk-5FUZZQ4R-DeqAkq5C.js} +1 -1
  194. package/payload/server/public/assets/{chunk-5PVQY5BW-Be-mE_rx.js → chunk-5PVQY5BW-SShlujAQ.js} +1 -1
  195. package/payload/server/public/assets/{chunk-67CJDMHE-DPsemed2.js → chunk-67CJDMHE-CZpzQ0DL.js} +1 -1
  196. package/payload/server/public/assets/{chunk-7N4EOEYR-BQRQJETl.js → chunk-7N4EOEYR-COnjO6jy.js} +1 -1
  197. package/payload/server/public/assets/{chunk-AA7GKIK3-B1wcAVCK.js → chunk-AA7GKIK3-C9V31L2z.js} +1 -1
  198. package/payload/server/public/assets/{chunk-BSJP7CBP-DIua053h.js → chunk-BSJP7CBP-DSwnSGe3.js} +1 -1
  199. package/payload/server/public/assets/{chunk-CIAEETIT-C9GHSCS9.js → chunk-CIAEETIT-CnRUTuta.js} +1 -1
  200. package/payload/server/public/assets/{chunk-EDXVE4YY-C1T3l1xj.js → chunk-EDXVE4YY-BexiL2LH.js} +1 -1
  201. package/payload/server/public/assets/{chunk-ENJZ2VHE-8kPcXEQC.js → chunk-ENJZ2VHE-aTklWdJQ.js} +1 -1
  202. package/payload/server/public/assets/{chunk-FMBD7UC4-Bhoeq9sD.js → chunk-FMBD7UC4-svcEBQzs.js} +1 -1
  203. package/payload/server/public/assets/{chunk-FOC6F5B3-BIBpJi8I.js → chunk-FOC6F5B3-CG7R7Xri.js} +1 -1
  204. package/payload/server/public/assets/{chunk-ICPOFSXX-DELXp6fj.js → chunk-ICPOFSXX-CGN7Z4x9.js} +2 -2
  205. package/payload/server/public/assets/{chunk-K5T4RW27-DdckXldP.js → chunk-K5T4RW27-CWBh78jw.js} +1 -1
  206. package/payload/server/public/assets/{chunk-KGLVRYIC-BJhXejKT.js → chunk-KGLVRYIC-Ctiq4q-5.js} +1 -1
  207. package/payload/server/public/assets/{chunk-LIHQZDEY-BSd8nyM2.js → chunk-LIHQZDEY-BII77Q7K.js} +1 -1
  208. package/payload/server/public/assets/{chunk-ORNJ4GCN-CBi55uxq.js → chunk-ORNJ4GCN-DT7R01H8.js} +1 -1
  209. package/payload/server/public/assets/{chunk-OYMX7WX6-Dfbzl8xh.js → chunk-OYMX7WX6-y-Jkbd4C.js} +1 -1
  210. package/payload/server/public/assets/chunk-QZHKN3VN-D9Mwgzti.js +1 -0
  211. package/payload/server/public/assets/{chunk-U2HBQHQK-BN1w8_Cq.js → chunk-U2HBQHQK-DzFo6KbQ.js} +1 -1
  212. package/payload/server/public/assets/{chunk-X2U36JSP-CrRay1NJ.js → chunk-X2U36JSP-CYSwgtLV.js} +1 -1
  213. package/payload/server/public/assets/{chunk-XPW4576I-C_ZE776O.js → chunk-XPW4576I-DHlM4tOn.js} +1 -1
  214. package/payload/server/public/assets/{chunk-YZCP3GAM-CUSlqWBY.js → chunk-YZCP3GAM-B20rTmLl.js} +1 -1
  215. package/payload/server/public/assets/{chunk-ZZ45TVLE-BdPUfSiD.js → chunk-ZZ45TVLE-C7hP4J8m.js} +1 -1
  216. package/payload/server/public/assets/classDiagram-6PBFFD2Q-CIo_TzfF.js +1 -0
  217. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-SzQYvAUZ.js +1 -0
  218. package/payload/server/public/assets/clone-BVjcjsBA.js +1 -0
  219. package/payload/server/public/assets/{cose-bilkent-S5V4N54A-D4E9htTz.js → cose-bilkent-S5V4N54A-nKjTv9sR.js} +1 -1
  220. package/payload/server/public/assets/{dagre-D1B5TQL1.js → dagre-Cx8LiiUZ.js} +1 -1
  221. package/payload/server/public/assets/{dagre-KV5264BT-ByuvYV7N.js → dagre-KV5264BT-BNJYTnls.js} +1 -1
  222. package/payload/server/public/assets/data-BnHcS27X.js +1 -0
  223. package/payload/server/public/assets/{diagram-5BDNPKRD-B-0KduTa.js → diagram-5BDNPKRD-CoAN5_f9.js} +1 -1
  224. package/payload/server/public/assets/{diagram-G4DWMVQ6-CSQmo3eB.js → diagram-G4DWMVQ6-pRmsN4_x.js} +1 -1
  225. package/payload/server/public/assets/{diagram-MMDJMWI5-DK0kWiB3.js → diagram-MMDJMWI5-CRoylyp4.js} +1 -1
  226. package/payload/server/public/assets/{diagram-TYMM5635-CYbK2reZ.js → diagram-TYMM5635-BT3ZtG5b.js} +1 -1
  227. package/payload/server/public/assets/{dist-CADCHk0t.js → dist-CRpLAnCP.js} +1 -1
  228. package/payload/server/public/assets/{erDiagram-SMLLAGMA-C-JQHvJF.js → erDiagram-SMLLAGMA-DSKws1ZV.js} +1 -1
  229. package/payload/server/public/assets/file-download-Hf_UILaA.js +1 -0
  230. package/payload/server/public/assets/{flatten-ROVzlo1u.js → flatten-jn8bZgcI.js} +1 -1
  231. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-OTOd2czg.js → flowDiagram-DWJPFMVM-C2L38ZE5.js} +1 -1
  232. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-BWJ778ou.js → ganttDiagram-T4ZO3ILL-Bm2h-vjm.js} +1 -1
  233. package/payload/server/public/assets/gitGraph-7Q5UKJZL-DzQ18i0T.js +1 -0
  234. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-CkNcyISe.js → gitGraphDiagram-UUTBAWPF-BoowbF7u.js} +1 -1
  235. package/payload/server/public/assets/graph-klLugHEK.js +51 -0
  236. package/payload/server/public/assets/{graph-labels-BFG4bjXQ.js → graph-labels-BLx-0vyT.js} +1 -1
  237. package/payload/server/public/assets/{graphlib-8z59Ng6C.js → graphlib-BvT2s_o1.js} +1 -1
  238. package/payload/server/public/assets/info-OMHHGYJF-CwsoaVzV.js +1 -0
  239. package/payload/server/public/assets/infoDiagram-42DDH7IO-ieNsH2bV.js +2 -0
  240. package/payload/server/public/assets/{isEmpty-DXf_sApt.js → isEmpty-Dkk6_L-B.js} +1 -1
  241. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-Cg7pRRGp.js → ishikawaDiagram-UXIWVN3A-nxcmj-IX.js} +1 -1
  242. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-CZT_4r_Z.js → journeyDiagram-VCZTEJTY-q5SNIvmS.js} +1 -1
  243. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-Dp1Vd5YM.js → kanban-definition-6JOO6SKY-BugG9Q1o.js} +1 -1
  244. package/payload/server/public/assets/{line-UPAcwY66.js → line-MZCQLR-q.js} +1 -1
  245. package/payload/server/public/assets/{linear-BeeahLKw.js → linear-DmQGNk-g.js} +1 -1
  246. package/payload/server/public/assets/{maximize-2-DkZ40lSl.js → maximize-2-CnNQnj_v.js} +1 -1
  247. package/payload/server/public/assets/{mermaid-parser.core-CLKle8df.js → mermaid-parser.core-DvoeqLxw.js} +2 -2
  248. package/payload/server/public/assets/{mermaid.core-CwRj5rL5.js → mermaid.core-BLaw7iG4.js} +3 -3
  249. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-CNQUY9UJ.js → mindmap-definition-QFDTVHPH-DMkt10Vc.js} +1 -1
  250. package/payload/server/public/assets/operator-CRcySYv9.js +1 -0
  251. package/payload/server/public/assets/{ordinal-B2r5L1v4.js → ordinal-DuJYM7p1.js} +1 -1
  252. package/payload/server/public/assets/packet-4T2RLAQJ-DxB-bO4L.js +1 -0
  253. package/payload/server/public/assets/page-CVo3CWIY.js +1 -0
  254. package/payload/server/public/assets/page-DPTbZRwl.js +32 -0
  255. package/payload/server/public/assets/{pdf-render-m08Xm2Nm.js → pdf-render-riHufgrn.js} +1 -1
  256. package/payload/server/public/assets/pie-ZZUOXDRM-PSdKvB8-.js +1 -0
  257. package/payload/server/public/assets/{pieDiagram-DEJITSTG-Scnq58FX.js → pieDiagram-DEJITSTG-DRp4lD2B.js} +1 -1
  258. package/payload/server/public/assets/play-yEkd7ouW.js +1 -0
  259. package/payload/server/public/assets/public-Fi6ccYaE.js +1 -0
  260. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-wPfZo_vs.js → quadrantDiagram-34T5L4WZ-DkT63Dn4.js} +1 -1
  261. package/payload/server/public/assets/radar-PYXPWWZC-D8FqRiWq.js +1 -0
  262. package/payload/server/public/assets/{reduce-CFlDlJf5.js → reduce-COyotL2V.js} +1 -1
  263. package/payload/server/public/assets/{requirementDiagram-MS252O5E-yYkH12K2.js → requirementDiagram-MS252O5E-65GGtDkc.js} +1 -1
  264. package/payload/server/public/assets/rotate-ccw-xHksz9mr.js +1 -0
  265. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-fVWRBzzV.js → sankeyDiagram-XADWPNL6-D1vRwLWd.js} +1 -1
  266. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-Dbap3X6h.js → sequenceDiagram-FGHM5R23-Bp47ZSN2.js} +1 -1
  267. package/payload/server/public/assets/square-BZqaxg7D.js +1 -0
  268. package/payload/server/public/assets/{src-Bi0fLV9t.js → src-xN1oULc8.js} +1 -1
  269. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-DkPLAqIh.js → stateDiagram-FHFEXIEX-BZHHcP_e.js} +1 -1
  270. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-qVtoGx56.js +1 -0
  271. package/payload/server/public/assets/tasks-COWmfts8.js +1 -0
  272. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-DabKBJyd.js → timeline-definition-GMOUNBTQ-DZ1wUyj-.js} +1 -1
  273. package/payload/server/public/assets/treeView-SZITEDCU-i-w4rJmQ.js +1 -0
  274. package/payload/server/public/assets/treemap-W4RFUUIX-Dij6AlAj.js +1 -0
  275. package/payload/server/public/assets/useSubAccountSwitcher-DADvGnr1.js +9 -0
  276. package/payload/server/public/assets/useSubAccountSwitcher-ayajZz8T.css +1 -0
  277. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-CaKT7c-c.js → vennDiagram-DHZGUBPP-CttBahsn.js} +1 -1
  278. package/payload/server/public/assets/wardley-RL74JXVD-BJhOQVqW.js +1 -0
  279. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-BZ5TTSOL.js → wardleyDiagram-NUSXRM2D-Y5tWieZg.js} +1 -1
  280. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-CLfeklJ9.js → xychartDiagram-5P7HB3ND-C78A9qbe.js} +1 -1
  281. package/payload/server/public/browser.html +7 -5
  282. package/payload/server/public/calendar.html +8 -6
  283. package/payload/server/public/chat.html +15 -12
  284. package/payload/server/public/data.html +11 -10
  285. package/payload/server/public/graph.html +12 -10
  286. package/payload/server/public/index.html +16 -14
  287. package/payload/server/public/operator.html +17 -14
  288. package/payload/server/public/public.html +15 -12
  289. package/payload/server/public/tasks.html +18 -0
  290. package/payload/server/server.js +775 -287
  291. package/payload/server/public/assets/AdminShell-D8wNArGQ.js +0 -2
  292. package/payload/server/public/assets/Transcript-CBIyQ8T5.js +0 -2
  293. package/payload/server/public/assets/admin-CWM9G_yA.js +0 -1
  294. package/payload/server/public/assets/architecture-YZFGNWBL-XiVs-N7Z.js +0 -1
  295. package/payload/server/public/assets/browser-D8QhNffV.js +0 -1
  296. package/payload/server/public/assets/calendar-qob5K4t_.js +0 -1
  297. package/payload/server/public/assets/channel-CYBkRz7E.js +0 -1
  298. package/payload/server/public/assets/chat-BNrxVUF6.js +0 -1
  299. package/payload/server/public/assets/chevron-left-BQThFVrd.js +0 -1
  300. package/payload/server/public/assets/chunk-426QAEUC-CPhOHriU.js +0 -1
  301. package/payload/server/public/assets/chunk-QZHKN3VN-CDnAAZVJ.js +0 -1
  302. package/payload/server/public/assets/classDiagram-6PBFFD2Q-BdXUKVrS.js +0 -1
  303. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DAq-uJr_.js +0 -1
  304. package/payload/server/public/assets/clone-DQl28-jK.js +0 -1
  305. package/payload/server/public/assets/data-C-EqNbRi.js +0 -1
  306. package/payload/server/public/assets/gitGraph-7Q5UKJZL-BM-KaDZy.js +0 -1
  307. package/payload/server/public/assets/graph-DZ2HMpIB.js +0 -51
  308. package/payload/server/public/assets/info-OMHHGYJF-CtZajyAB.js +0 -1
  309. package/payload/server/public/assets/infoDiagram-42DDH7IO-C-_WYlmI.js +0 -2
  310. package/payload/server/public/assets/operator-FrXrSsBj.js +0 -1
  311. package/payload/server/public/assets/packet-4T2RLAQJ-T-SYedp7.js +0 -1
  312. package/payload/server/public/assets/page-CHWMI9Tm.js +0 -32
  313. package/payload/server/public/assets/page-CXKV01gT.js +0 -1
  314. package/payload/server/public/assets/pie-ZZUOXDRM-BWECFVVd.js +0 -1
  315. package/payload/server/public/assets/public-2p1pJ4WF.js +0 -1
  316. package/payload/server/public/assets/radar-PYXPWWZC-Dx0YUklX.js +0 -1
  317. package/payload/server/public/assets/rotate-ccw-D3o_bMBA.js +0 -1
  318. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-DceWO1u6.js +0 -1
  319. package/payload/server/public/assets/treeView-SZITEDCU-C3197Rac.js +0 -1
  320. package/payload/server/public/assets/treemap-W4RFUUIX-BPrpx29h.js +0 -1
  321. package/payload/server/public/assets/useSubAccountSwitcher-8dLvF3Ux.js +0 -9
  322. package/payload/server/public/assets/useSubAccountSwitcher-BUvlETHN.css +0 -1
  323. package/payload/server/public/assets/wardley-RL74JXVD-DW4Jlbhw.js +0 -1
  324. /package/payload/server/public/assets/{_baseFor-BVuIxZJh.js → _baseFor-Bjj9It3Q.js} +0 -0
  325. /package/payload/server/public/assets/{admin-types-hioowVct.js → admin-types-ClHBm0ni.js} +0 -0
  326. /package/payload/server/public/assets/{array-B9UHiPd-.js → array-BrrxEo12.js} +0 -0
  327. /package/payload/server/public/assets/{chunk-CAM3fms7.js → chunk-Ck5AOu5v.js} +0 -0
  328. /package/payload/server/public/assets/{cytoscape.esm-D5_TRwB-.js → cytoscape.esm-CTWJxUxo.js} +0 -0
  329. /package/payload/server/public/assets/{defaultLocale-5eAKkKJC.js → defaultLocale-CFDbRV4k.js} +0 -0
  330. /package/payload/server/public/assets/{init-DlZdxViB.js → init-dXCzGgLP.js} +0 -0
  331. /package/payload/server/public/assets/{katex-Xo0SyWvP.js → katex-CHA1JFYJ.js} +0 -0
  332. /package/payload/server/public/assets/{path-6uRLdFF7.js → path-CCRpdXhK.js} +0 -0
  333. /package/payload/server/public/assets/{preload-helper-CvXuAEud.js → preload-helper-CH6UZRzu.js} +0 -0
  334. /package/payload/server/public/assets/{rough.esm-Djo4Abte.js → rough.esm-Bud4g4fh.js} +0 -0
@@ -1,6 +1,7 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { join } from "node:path";
3
- import { validateAgentDestination, boundSubAccountFor, } from "../lib/agent-dispatch.js";
3
+ import { validateAgentDestination, boundSubAccountFor, resolveAccountAdminUserIds, buildScheduleProvenance, } from "../lib/agent-dispatch.js";
4
+ import { scheduledSeatIdFor } from "../lib/scheduled-seat-id.js";
4
5
  import { resolveHouseOrSoleAccountId } from "../../../../../lib/account-enumeration/dist/index.js";
5
6
  /**
6
7
  * Decide how a due event dispatches from its selected node fields. An event
@@ -29,12 +30,55 @@ export function chooseDispatchMode(fields) {
29
30
  * passed here only for the log line. Never throws — a POST/Neo4j failure is
30
31
  * recorded, not propagated, so one event never aborts the sweep.
31
32
  */
32
- export async function dispatchAgentTurn(eventId, channel, destination, prompt, eventAccountId, nextRun, driver) {
33
+ export async function dispatchAgentTurn(eventId, channel, destination, prompt, eventAccountId, nextRun, createdByTool, accountsDir, driver) {
33
34
  const port = process.env.MAXY_UI_INTERNAL_PORT;
34
35
  const promptBytes = Buffer.byteLength(prompt, "utf8");
35
36
  const recurring = nextRun !== null;
36
37
  console.error(`[schedule-dispatch] op=due eventId=${eventId} channel=${channel} destination=${destination} account=${eventAccountId} recurring=${recurring}`);
37
38
  console.error(`[schedule-dispatch] op=agent-inject eventId=${eventId} channel=${channel} destination=${destination} promptBytes=${promptBytes} nextRun=${nextRun ?? "-"}`);
39
+ // Task 1516 — the operator-provenance marker. Every field is resolved by the
40
+ // dispatcher from the owning account/event, NEVER from `prompt` (the payload),
41
+ // so an inbound message cannot forge it. Carried on the inject POST and
42
+ // rendered by the channel notification builder ABOVE `## Context`.
43
+ const dispatchedAt = new Date().toISOString();
44
+ const authoredBy = resolveAccountAdminUserIds(accountsDir, eventAccountId);
45
+ const provenance = buildScheduleProvenance({
46
+ accountId: eventAccountId,
47
+ eventId,
48
+ authoredBy,
49
+ createdByTool,
50
+ dispatchedAt,
51
+ });
52
+ // Task 1526 — the per-firing seat id. Salted with eventId + dispatchedAt so
53
+ // every firing is a session id the manager has never seen and spawns FRESH,
54
+ // instead of resuming the deterministic per-sender seat that accreted every
55
+ // firing into one compaction-lossy session.
56
+ const seatSessionId = scheduledSeatIdFor(eventAccountId, destination, eventId, dispatchedAt);
57
+ const channelTag = channel === "whatsapp" ? "wa" : channel === "telegram" ? "tg" : channel;
58
+ console.error(`[sched-dispatch] op=dispatch event=${eventId.slice(0, 8)} account=${eventAccountId.slice(0, 8)} ` +
59
+ `channel=${channelTag} authoredBy=${(authoredBy[0] ?? "-").slice(0, 8)} markerOutsidePayload=true`);
60
+ // Task 1526 — stamp the firing's seat id on the node BEFORE the POST so the
61
+ // 1516 self-cancel guard (which reads lastDispatchSessionId at cancel time)
62
+ // sees it even if the spawned turn cancels within its first turn. Best-effort:
63
+ // a write failure never blocks the dispatch (the sweep's never-throws contract).
64
+ const stampSession = driver.session();
65
+ try {
66
+ await stampSession.run(`MATCH (e:Event {eventId: $eventId}) SET e.lastDispatchSessionId = $lastDispatchSessionId`, { eventId, lastDispatchSessionId: seatSessionId });
67
+ }
68
+ catch (err) {
69
+ // Never block the dispatch (the sweep's never-throws contract), but a failed
70
+ // stamp silently disarms the self-cancel guard (it reads lastDispatchSessionId
71
+ // at cancel time), so surface it as its own line rather than swallowing it.
72
+ console.error(`[schedule-dispatch] op=stamp-failed eventId=${eventId} sessionId=${seatSessionId} detail=${err instanceof Error ? err.message : String(err)}`);
73
+ }
74
+ finally {
75
+ try {
76
+ await stampSession.close();
77
+ }
78
+ catch {
79
+ // ignore
80
+ }
81
+ }
38
82
  let httpStatus = 0;
39
83
  let lastDispatchResult;
40
84
  try {
@@ -44,7 +88,7 @@ export async function dispatchAgentTurn(eventId, channel, destination, prompt, e
44
88
  const res = await fetch(`http://127.0.0.1:${port}/api/channel/schedule-inject`, {
45
89
  method: "POST",
46
90
  headers: { "Content-Type": "application/json" },
47
- body: JSON.stringify({ channel, accountId: eventAccountId, destination, prompt, eventId }),
91
+ body: JSON.stringify({ channel, accountId: eventAccountId, destination, prompt, eventId, sessionId: seatSessionId, scheduleProvenance: provenance }),
48
92
  });
49
93
  httpStatus = res.status;
50
94
  lastDispatchResult = res.ok ? "accepted" : `error:${res.status}`;
@@ -79,7 +123,7 @@ export async function dispatchAgentTurn(eventId, channel, destination, prompt, e
79
123
  // ignore
80
124
  }
81
125
  }
82
- console.error(`[schedule-dispatch] op=inject-result eventId=${eventId} httpStatus=${httpStatus} lastDispatchResult=${lastDispatchResult}`);
126
+ console.error(`[schedule-dispatch] op=inject-result eventId=${eventId} sessionId=${seatSessionId} httpStatus=${httpStatus} lastDispatchResult=${lastDispatchResult}`);
83
127
  }
84
128
  /**
85
129
  * The no-event detector. Each heartbeat tick, over every agent-dispatch event
@@ -163,4 +207,50 @@ export async function runStandingAudit(driver, localAccountIds, accountsDir) {
163
207
  }
164
208
  }
165
209
  }
210
+ /**
211
+ * Task 1516 — the standing self-cancel alarm. Independent of any inbound and of
212
+ * the stale-dispatch audit: each tick it counts agent-dispatch events that a
213
+ * scheduler-dispatched seat cancelled in the trailing 24h window, read from the
214
+ * `cancelledByOwnDispatchAt` stamp that `scheduleCancel` writes when it detects a
215
+ * self-cancel (byOwnDispatch=true). Deterministic — the stamp records the exact
216
+ * fact at cancel time, so this reconcile needs no seat SESSION_ID and no timing
217
+ * heuristic. Emits `[sched-guard] op=audit cancelledByDispatch=<N>` ONLY when the
218
+ * count is nonzero; the line's presence IS the alarm (the loop the operator would
219
+ * otherwise have to notice by hand). `nowMs` is injected for testability. Never
220
+ * throws (honours the sweep contract).
221
+ */
222
+ export async function auditSelfCancels(driver, localAccountIds, nowMs) {
223
+ if (localAccountIds.length === 0)
224
+ return;
225
+ const windowStart = new Date(nowMs - 24 * 60 * 60 * 1000).toISOString();
226
+ const session = driver.session();
227
+ try {
228
+ const res = await session.run(`MATCH (e:Event)
229
+ WHERE e.accountId IN $localAccountIds
230
+ AND e.cancelledByOwnDispatchAt IS NOT NULL
231
+ AND e.cancelledByOwnDispatchAt >= $windowStart
232
+ RETURN count(e) AS cancelledByDispatch`, { localAccountIds, windowStart });
233
+ const raw = res.records[0]?.get("cancelledByDispatch");
234
+ const n = typeof raw === "number"
235
+ ? raw
236
+ : raw && typeof raw.toNumber === "function"
237
+ ? raw.toNumber()
238
+ : Number(raw ?? 0);
239
+ if (n > 0) {
240
+ console.error(`[sched-guard] op=audit cancelledByDispatch=${n}`);
241
+ }
242
+ }
243
+ catch (err) {
244
+ // Never throw into the sweep — one failed count must not abort the tick.
245
+ console.error(`[sched-guard] op=audit-error detail=${err instanceof Error ? err.message : String(err)}`);
246
+ }
247
+ finally {
248
+ try {
249
+ await session.close();
250
+ }
251
+ catch {
252
+ // ignore
253
+ }
254
+ }
255
+ }
166
256
  //# sourceMappingURL=agent-turn-dispatch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-turn-dispatch.js","sourceRoot":"","sources":["../../src/scripts/agent-turn-dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-turn-dispatch.js","sourceRoot":"","sources":["../../src/scripts/agent-turn-dispatch.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ import { resolve, join } from "node:path";
26
26
  import { homedir } from "node:os";
27
27
  import cronParser from "cron-parser";
28
28
  const { parseExpression } = cronParser;
29
- import { chooseDispatchMode, dispatchAgentTurn, runStandingAudit } from "./agent-turn-dispatch.js";
29
+ import { chooseDispatchMode, dispatchAgentTurn, runStandingAudit, auditSelfCancels } from "./agent-turn-dispatch.js";
30
30
  // ---------------------------------------------------------------------------
31
31
  // Brand-aware config directory — reads configDir from brand.json stamped at install time.
32
32
  // No fallback: if brand.json is missing or incomplete, the platform wasn't properly installed.
@@ -255,11 +255,12 @@ async function dispatchAction(eventId, actionPlugin, actionTool, actionArgs, eve
255
255
  * the caller's `dispatched` counter increments in exactly the same cases as
256
256
  * before.
257
257
  */
258
- async function dispatchDue(eventId, mode, accountId, nextRun, driver) {
258
+ async function dispatchDue(eventId, mode, accountId, nextRun, createdByTool, driver) {
259
259
  if (!accountId)
260
260
  return false;
261
261
  if (mode.kind === "agent") {
262
- await dispatchAgentTurn(eventId, mode.channel, mode.destination, mode.prompt, accountId, nextRun, driver);
262
+ const accountsDir = resolve(process.env.PLATFORM_ROOT, "..", "data/accounts");
263
+ await dispatchAgentTurn(eventId, mode.channel, mode.destination, mode.prompt, accountId, nextRun, createdByTool, accountsDir, driver);
263
264
  return true;
264
265
  }
265
266
  if (mode.kind === "action") {
@@ -483,7 +484,8 @@ async function main() {
483
484
  e.actionArgs AS actionArgs,
484
485
  e.agentChannel AS agentChannel,
485
486
  e.agentDestination AS agentDestination,
486
- e.agentPrompt AS agentPrompt`, {
487
+ e.agentPrompt AS agentPrompt,
488
+ e.createdByTool AS createdByTool`, {
487
489
  now,
488
490
  localAccountIds,
489
491
  noteEntry: `\n[${now}] Marked due by cron`,
@@ -492,6 +494,7 @@ async function main() {
492
494
  const eventId = record.get("eventId");
493
495
  const name = record.get("name");
494
496
  const accountId = record.get("accountId");
497
+ const createdByTool = record.get("createdByTool");
495
498
  const mode = chooseDispatchMode({
496
499
  agentChannel: record.get("agentChannel"),
497
500
  agentDestination: record.get("agentDestination"),
@@ -502,7 +505,7 @@ async function main() {
502
505
  });
503
506
  console.error(`[check-due] one-time due: ${name} (${eventId})`);
504
507
  processed++;
505
- if (await dispatchDue(eventId, mode, accountId, null, driver))
508
+ if (await dispatchDue(eventId, mode, accountId, null, createdByTool, driver))
506
509
  dispatched++;
507
510
  }
508
511
  }
@@ -527,7 +530,8 @@ async function main() {
527
530
  e.actionArgs AS actionArgs,
528
531
  e.agentChannel AS agentChannel,
529
532
  e.agentDestination AS agentDestination,
530
- e.agentPrompt AS agentPrompt`, { now, localAccountIds });
533
+ e.agentPrompt AS agentPrompt,
534
+ e.createdByTool AS createdByTool`, { now, localAccountIds });
531
535
  for (const record of recurringResult.records) {
532
536
  const eventId = record.get("eventId");
533
537
  const name = record.get("name");
@@ -535,6 +539,7 @@ async function main() {
535
539
  const currentNextRun = record.get("nextRun");
536
540
  const timezone = record.get("timezone");
537
541
  const accountId = record.get("accountId");
542
+ const createdByTool = record.get("createdByTool");
538
543
  const mode = chooseDispatchMode({
539
544
  agentChannel: record.get("agentChannel"),
540
545
  agentDestination: record.get("agentDestination"),
@@ -572,7 +577,7 @@ async function main() {
572
577
  // Dispatch AFTER the nextRun update (advance-before-dispatch ordering,
573
578
  // unchanged) — an agent turn goes to the inject route, a tool-only
574
579
  // action to the MCP dispatcher.
575
- if (await dispatchDue(eventId, mode, accountId, newNextRun, driver))
580
+ if (await dispatchDue(eventId, mode, accountId, newNextRun, createdByTool, driver))
576
581
  dispatched++;
577
582
  }
578
583
  catch (err) {
@@ -595,6 +600,17 @@ async function main() {
595
600
  console.error(`[schedule-audit] ERROR: ${err instanceof Error ? err.message : String(err)}`);
596
601
  errors++;
597
602
  }
603
+ // --- Self-cancel alarm (Task 1516) ---
604
+ // Independent standing reconcile: count agent-dispatch events a scheduler-
605
+ // dispatched seat cancelled in the trailing window, so the self-cancel loop
606
+ // is surfaced without waiting for an operator complaint.
607
+ try {
608
+ await auditSelfCancels(driver, localAccountIds, Date.parse(now));
609
+ }
610
+ catch (err) {
611
+ console.error(`[sched-guard] op=audit-error detail=${err instanceof Error ? err.message : String(err)}`);
612
+ errors++;
613
+ }
598
614
  // --- Plugin lifecycle reconciliation ---
599
615
  try {
600
616
  await reconcilePluginLifecycles(driver);
@@ -1 +1 @@
1
- {"version":3,"file":"check-due-events.js","sourceRoot":"","sources":["../../src/scripts/check-due-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-due-events.js","sourceRoot":"","sources":["../../src/scripts/check-due-events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schedule-cancel.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule-cancel.test.d.ts","sourceRoot":"","sources":["../../../src/tools/__tests__/schedule-cancel.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { classifySelfCancel } from "../schedule-cancel.js";
3
+ // Task 1526 — with per-firing seats, byOwnDispatch is the caller session id vs
4
+ // the event's stamped lastDispatchSessionId (the most recent firing's seat).
5
+ // This is the autonomous self-cancel loop; an operator cancelling via the same
6
+ // channel now runs the UNSALTED adminSessionIdFor seat and correctly reads false.
7
+ describe("classifySelfCancel — byOwnDispatch vs lastDispatchSessionId (Task 1526)", () => {
8
+ it("not an agent-dispatch event when agentChannel is null", () => {
9
+ const r = classifySelfCancel({ callerSessionId: "x", agentChannel: null, agentDestination: null, lastDispatchSessionId: null });
10
+ expect(r.isAgentDispatch).toBe(false);
11
+ expect(r.byOwnDispatch).toBe(false);
12
+ });
13
+ it("byOwnDispatch=true when the caller session equals the stamped firing seat", () => {
14
+ const r = classifySelfCancel({ callerSessionId: "seat-firing-1", agentChannel: "whatsapp", agentDestination: "447504472444", lastDispatchSessionId: "seat-firing-1" });
15
+ expect(r).toEqual({ isAgentDispatch: true, byOwnDispatch: true });
16
+ });
17
+ it("byOwnDispatch=false for a different (operator / unsalted) session", () => {
18
+ const r = classifySelfCancel({ callerSessionId: "operator-webchat-id", agentChannel: "telegram", agentDestination: "12345678", lastDispatchSessionId: "seat-firing-1" });
19
+ expect(r.byOwnDispatch).toBe(false);
20
+ });
21
+ it("byOwnDispatch=false when SESSION_ID is absent (fail-safe)", () => {
22
+ const r = classifySelfCancel({ callerSessionId: undefined, agentChannel: "whatsapp", agentDestination: "447504472444", lastDispatchSessionId: "seat-firing-1" });
23
+ expect(r.byOwnDispatch).toBe(false);
24
+ });
25
+ it("byOwnDispatch=false when the event has no stamp yet", () => {
26
+ const r = classifySelfCancel({ callerSessionId: "seat-firing-1", agentChannel: "whatsapp", agentDestination: "447504472444", lastDispatchSessionId: null });
27
+ expect(r.byOwnDispatch).toBe(false);
28
+ });
29
+ });
30
+ //# sourceMappingURL=schedule-cancel.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule-cancel.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/schedule-cancel.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,+EAA+E;AAC/E,6EAA6E;AAC7E,+EAA+E;AAC/E,kFAAkF;AAClF,QAAQ,CAAC,yEAAyE,EAAE,GAAG,EAAE;IACvF,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,GAAG,kBAAkB,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;QAChI,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,CAAC,GAAG,kBAAkB,CAAC,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,qBAAqB,EAAE,eAAe,EAAE,CAAC,CAAC;QACvK,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,CAAC,GAAG,kBAAkB,CAAC,EAAE,eAAe,EAAE,qBAAqB,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,qBAAqB,EAAE,eAAe,EAAE,CAAC,CAAC;QACzK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,CAAC,GAAG,kBAAkB,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,qBAAqB,EAAE,eAAe,EAAE,CAAC,CAAC;QACjK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,GAAG,kBAAkB,CAAC,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5J,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -2,6 +2,35 @@ export interface ScheduleCancelParams {
2
2
  accountId: string;
3
3
  eventId: string;
4
4
  note?: string;
5
+ /** Task 1516 — the cancelling seat's real, platform-injected session id
6
+ * (`process.env.SESSION_ID`), NOT an agent-supplied value. Used to decide
7
+ * whether the cancellation came from the event's own scheduler-dispatched seat
8
+ * (the self-cancel loop). Absent on a manual/operator cancel path. */
9
+ callerSessionId?: string;
5
10
  }
11
+ /**
12
+ * Task 1516 / 1526 — the pure core of the self-cancel alarm. With per-firing
13
+ * scheduled seats (Task 1526) the event's own firing seat is recorded on the node
14
+ * as `lastDispatchSessionId` at dispatch time. `byOwnDispatch` is an exact match
15
+ * of the cancelling seat's real (platform-injected) SESSION_ID to that stamp: the
16
+ * autonomous self-cancel loop this alarm exists to catch.
17
+ *
18
+ * Before 1526 the guard recomputed the deterministic `adminSessionIdFor` seat, so
19
+ * `byOwnDispatch=true` conflated the loop with an operator cancelling via that
20
+ * same *shared* channel seat. Per-firing seats separate them: a scheduled firing
21
+ * runs the salted seat, an operator's channel session runs the UNSALTED
22
+ * `adminSessionIdFor` seat, so an operator cancel now correctly reads `false`.
23
+ * `isAgentDispatch` still keys on the event carrying an agent dispatch. Never
24
+ * throws.
25
+ */
26
+ export declare function classifySelfCancel(params: {
27
+ callerSessionId: string | undefined;
28
+ agentChannel: string | null;
29
+ agentDestination: string | null;
30
+ lastDispatchSessionId: string | null;
31
+ }): {
32
+ isAgentDispatch: boolean;
33
+ byOwnDispatch: boolean;
34
+ };
6
35
  export declare function scheduleCancel(params: ScheduleCancelParams): Promise<void>;
7
36
  //# sourceMappingURL=schedule-cancel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-cancel.d.ts","sourceRoot":"","sources":["../../src/tools/schedule-cancel.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBhF"}
1
+ {"version":3,"file":"schedule-cancel.d.ts","sourceRoot":"","sources":["../../src/tools/schedule-cancel.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;2EAGuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC,GAAG;IAAE,eAAe,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,CAYvD;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDhF"}
@@ -1,6 +1,33 @@
1
1
  import { getSession } from "../lib/neo4j.js";
2
+ /**
3
+ * Task 1516 / 1526 — the pure core of the self-cancel alarm. With per-firing
4
+ * scheduled seats (Task 1526) the event's own firing seat is recorded on the node
5
+ * as `lastDispatchSessionId` at dispatch time. `byOwnDispatch` is an exact match
6
+ * of the cancelling seat's real (platform-injected) SESSION_ID to that stamp: the
7
+ * autonomous self-cancel loop this alarm exists to catch.
8
+ *
9
+ * Before 1526 the guard recomputed the deterministic `adminSessionIdFor` seat, so
10
+ * `byOwnDispatch=true` conflated the loop with an operator cancelling via that
11
+ * same *shared* channel seat. Per-firing seats separate them: a scheduled firing
12
+ * runs the salted seat, an operator's channel session runs the UNSALTED
13
+ * `adminSessionIdFor` seat, so an operator cancel now correctly reads `false`.
14
+ * `isAgentDispatch` still keys on the event carrying an agent dispatch. Never
15
+ * throws.
16
+ */
17
+ export function classifySelfCancel(params) {
18
+ const { callerSessionId, agentChannel, agentDestination, lastDispatchSessionId } = params;
19
+ if (!agentChannel || !agentDestination) {
20
+ return { isAgentDispatch: false, byOwnDispatch: false };
21
+ }
22
+ const byOwnDispatch = typeof callerSessionId === "string" &&
23
+ callerSessionId.length > 0 &&
24
+ typeof lastDispatchSessionId === "string" &&
25
+ lastDispatchSessionId.length > 0 &&
26
+ callerSessionId === lastDispatchSessionId;
27
+ return { isAgentDispatch: true, byOwnDispatch };
28
+ }
2
29
  export async function scheduleCancel(params) {
3
- const { accountId, eventId, note } = params;
30
+ const { accountId, eventId, note, callerSessionId } = params;
4
31
  const now = new Date().toISOString();
5
32
  const noteEntry = note
6
33
  ? `\n[${now}] Cancelled: ${note}`
@@ -11,10 +38,28 @@ export async function scheduleCancel(params) {
11
38
  SET e.eventStatus = 'cancelled',
12
39
  e.updatedAt = $now,
13
40
  e.notes = COALESCE(e.notes, '') + $noteEntry
14
- RETURN e`, { eventId, accountId, now, noteEntry });
41
+ RETURN e.agentChannel AS agentChannel, e.agentDestination AS agentDestination,
42
+ e.lastDispatchSessionId AS lastDispatchSessionId`, { eventId, accountId, now, noteEntry });
15
43
  if (result.records.length === 0) {
16
44
  throw new Error(`Event not found: ${eventId}`);
17
45
  }
46
+ // Task 1516 — the self-cancel alarm. Only agent-dispatch automations can
47
+ // self-cancel; a plain reminder cancel emits nothing. `byOwnDispatch=true`
48
+ // means the cancelling seat IS this event's own scheduled seat (the loop).
49
+ const agentChannel = result.records[0].get("agentChannel");
50
+ const agentDestination = result.records[0].get("agentDestination");
51
+ const lastDispatchSessionId = result.records[0].get("lastDispatchSessionId");
52
+ const cls = classifySelfCancel({ callerSessionId, agentChannel, agentDestination, lastDispatchSessionId });
53
+ if (cls.isAgentDispatch) {
54
+ console.error(`[sched-guard] op=self-cancel event=${eventId.slice(0, 8)} byOwnDispatch=${cls.byOwnDispatch}`);
55
+ // Stamp the fact on the node so the standing audit (which runs in the cron,
56
+ // with no seat SESSION_ID) can count self-cancels deterministically without
57
+ // a timing heuristic — it reads this stamp, not the note prose.
58
+ if (cls.byOwnDispatch) {
59
+ await neo4jSession.run(`MATCH (e:Event {eventId: $eventId, accountId: $accountId})
60
+ SET e.cancelledByOwnDispatchAt = $now`, { eventId, accountId, now });
61
+ }
62
+ }
18
63
  }
19
64
  finally {
20
65
  await neo4jSession.close();
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-cancel.js","sourceRoot":"","sources":["../../src/tools/schedule-cancel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAQ7C,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAA4B;IAC/D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,MAAM,SAAS,GAAG,IAAI;QACpB,CAAC,CAAC,MAAM,GAAG,gBAAgB,IAAI,EAAE;QACjC,CAAC,CAAC,MAAM,GAAG,aAAa,CAAC;IAE3B,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,CACnC;;;;gBAIU,EACV,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CACvC,CAAC;QAEF,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"schedule-cancel.js","sourceRoot":"","sources":["../../src/tools/schedule-cancel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAa7C;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAKlC;IACC,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC;IAC1F,IAAI,CAAC,YAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IAC1D,CAAC;IACD,MAAM,aAAa,GACjB,OAAO,eAAe,KAAK,QAAQ;QACnC,eAAe,CAAC,MAAM,GAAG,CAAC;QAC1B,OAAO,qBAAqB,KAAK,QAAQ;QACzC,qBAAqB,CAAC,MAAM,GAAG,CAAC;QAChC,eAAe,KAAK,qBAAqB,CAAC;IAC5C,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAA4B;IAC/D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IAC7D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,MAAM,SAAS,GAAG,IAAI;QACpB,CAAC,CAAC,MAAM,GAAG,gBAAgB,IAAI,EAAE;QACjC,CAAC,CAAC,MAAM,GAAG,aAAa,CAAC;IAE3B,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,CACnC;;;;;+DAKyD,EACzD,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CACvC,CAAC;QAEF,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,yEAAyE;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAkB,CAAC;QAC5E,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAkB,CAAC;QACpF,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAkB,CAAC;QAC9F,MAAM,GAAG,GAAG,kBAAkB,CAAC,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAC3G,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CACX,sCAAsC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,GAAG,CAAC,aAAa,EAAE,CAC/F,CAAC;YACF,4EAA4E;YAC5E,4EAA4E;YAC5E,gEAAgE;YAChE,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;gBACtB,MAAM,YAAY,CAAC,GAAG,CACpB;iDACuC,EACvC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAC5B,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC"}
@@ -76,7 +76,7 @@ Four tools for reading WhatsApp conversation context. The first two read from th
76
76
  |------|---------|
77
77
  | `whatsapp-conversations` | JIDs with recent message activity, conversation type (group/DM), last message timestamp, message count |
78
78
  | `whatsapp-messages` | In-memory ring-buffer messages for a specific JID — sender, body, timestamp, reply context. Supports optional `limit` for most recent N messages |
79
- | `whatsapp-conversation-graph-state` | Persisted WhatsApp messages from the on-disk store (no longer Neo4j). Pass `jid` for one conversation (plus the resolved `sessionId` and a divergence header vs in-memory count). Omit `jid` for every sender across the account in one call, each resolved to its `:Person` name. Use when the question is "what got persisted" or "who has messaged us that never got a reply session" |
79
+ | `whatsapp-conversation-graph-state` | Persisted WhatsApp messages from the on-disk store (no longer Neo4j). Pass `jid` for one conversation (plus the resolved `sessionId` and a divergence header vs in-memory count). Omit `jid` for every sender across the account in one call, each resolved to its `:Person` name. Use when the question is "what got persisted" or "who has messaged us that never got a reply session". Defaults to the calling session's own account (`ACCOUNT_ID`); for a sub-account session this returns the house-store threads whose counterparty is bound to that sub-account(read-time projection — the store itself stays house-keyed) |
80
80
  | `whatsapp-group-info` | Group metadata from WhatsApp servers — subject, description, participants with admin flags, creation date. Requires active connection |
81
81
 
82
82
  ## Group access — observation-only
@@ -111,6 +111,10 @@ Every `messages.upsert` event (both `notify` and `append`, both `fromMe` directi
111
111
 
112
112
  **`accountId` contract.** Unchanged for `:Person` (see below); the on-disk store is keyed by the same platform-side UUID.
113
113
 
114
+ **Sub-account recall.** Recall is account-scoped as a read-time projection: a sub-account session sees only the house-store threads whose counterparty is one of its bound account-manager phones (the same filter the operator dashboard uses, shared via `counterpartyBoundToSubAccount`). The write path and the store key are unchanged — messages stay house-keyed; "sub-account scope" is a projection, not a move. `whatsapp-conversation-graph-state` defaults its `accountId` to the calling session's own `ACCOUNT_ID`, so a sub-account recalls its own history with no argument while the house admin may still pass any account id explicitly. Body search is not restored by this projection (it has been absent since the on-disk store cutover).
115
+
116
+ **Caller-scope enforcement.** The three read tools — `whatsapp-conversation-graph-state`, `whatsapp-conversations`, `whatsapp-messages` — forward the caller's own account (`ACCOUNT_ID`) and its house-admin scope (`HOUSE_ADMIN_SCOPE`) to the route as headers, distinct from the caller-controlled `accountId` argument. The route enforces caller-scope: a house admin reads any account; any other session (a sub-account, or a specialist under any account) may read only its own account and gets a 403 if it passes a different `accountId`. This closes the override where a sub-account could pass an explicit house or sibling id and read that store. It defends only the loopback route against the agent-controlled argument; the route still trusts localhost, so forging these headers on a direct loopback call remains possible — closing that is a separate, tracked follow-up.
117
+
114
118
  ## Skills
115
119
 
116
120
  | Skill | Purpose |
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=caller-scope-headers.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caller-scope-headers.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/caller-scope-headers.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { callerScopeHeaders } from '../caller-scope-headers.js';
3
+ describe('callerScopeHeaders (Task 1498)', () => {
4
+ it('emits the caller account and house-admin scope when both are set', () => {
5
+ const h = callerScopeHeaders({ ACCOUNT_ID: 'sub-1', HOUSE_ADMIN_SCOPE: 'house-1' });
6
+ expect(h).toEqual({ 'x-maxy-caller-account': 'sub-1', 'x-maxy-house-admin-scope': 'house-1' });
7
+ });
8
+ it('omits the house-admin header for a non-house caller (no scope)', () => {
9
+ const h = callerScopeHeaders({ ACCOUNT_ID: 'sub-1' });
10
+ expect(h).toEqual({ 'x-maxy-caller-account': 'sub-1' });
11
+ });
12
+ it('omits the caller-account header when ACCOUNT_ID is empty', () => {
13
+ const h = callerScopeHeaders({ ACCOUNT_ID: '', HOUSE_ADMIN_SCOPE: 'house-1' });
14
+ expect(h).toEqual({ 'x-maxy-house-admin-scope': 'house-1' });
15
+ });
16
+ it('emits an empty object when neither is present', () => {
17
+ expect(callerScopeHeaders({})).toEqual({});
18
+ });
19
+ });
20
+ //# sourceMappingURL=caller-scope-headers.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caller-scope-headers.test.js","sourceRoot":"","sources":["../../src/__tests__/caller-scope-headers.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAE/D,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,CAAC,GAAG,kBAAkB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAA;QACnF,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,uBAAuB,EAAE,OAAO,EAAE,0BAA0B,EAAE,SAAS,EAAE,CAAC,CAAA;IAChG,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,CAAC,GAAG,kBAAkB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAA;QACrD,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,uBAAuB,EAAE,OAAO,EAAE,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,CAAC,GAAG,kBAAkB,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAA;QAC9E,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,0BAA0B,EAAE,SAAS,EAAE,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=resolve-read-account.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-read-account.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/resolve-read-account.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { resolveReadAccountId } from '../resolve-read-account.js';
3
+ describe('resolveReadAccountId', () => {
4
+ it('prefers an explicit accountId argument', () => {
5
+ expect(resolveReadAccountId('5e99bba5', '2078cb54')).toBe('5e99bba5');
6
+ });
7
+ it('falls back to the session ACCOUNT_ID env', () => {
8
+ expect(resolveReadAccountId(undefined, '2078cb54')).toBe('2078cb54');
9
+ });
10
+ it('falls back to "default" when neither is present', () => {
11
+ expect(resolveReadAccountId(undefined, undefined)).toBe('default');
12
+ expect(resolveReadAccountId(undefined, '')).toBe('default');
13
+ });
14
+ });
15
+ //# sourceMappingURL=resolve-read-account.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-read-account.test.js","sourceRoot":"","sources":["../../src/__tests__/resolve-read-account.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAEjE,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IACF,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACtE,CAAC,CAAC,CAAA;IACF,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAClE,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -10,5 +10,5 @@
10
10
  * 400 looks identical and the agent retries blindly until max-turns
11
11
  * (root cause).
12
12
  */
13
- export declare function callApi(baseUrl: string, path: string, method?: "GET" | "POST", body?: unknown): Promise<unknown>;
13
+ export declare function callApi(baseUrl: string, path: string, method?: "GET" | "POST", body?: unknown, extraHeaders?: Record<string, string>): Promise<unknown>;
14
14
  //# sourceMappingURL=call-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"call-api.d.ts","sourceRoot":"","sources":["../src/call-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,KAAK,GAAG,MAAe,EAC/B,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,OAAO,CAAC,CA2BlB"}
1
+ {"version":3,"file":"call-api.d.ts","sourceRoot":"","sources":["../src/call-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,KAAK,GAAG,MAAe,EAC/B,IAAI,CAAC,EAAE,OAAO,EACd,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,OAAO,CAAC,CA6BlB"}