@rubytech/create-maxy-code 0.1.595 → 0.1.597

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 (205) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/lib/routine-templates/dist/roster.d.ts +1 -1
  3. package/payload/platform/lib/routine-templates/dist/roster.d.ts.map +1 -1
  4. package/payload/platform/lib/routine-templates/dist/roster.js +22 -1
  5. package/payload/platform/lib/routine-templates/dist/roster.js.map +1 -1
  6. package/payload/platform/lib/routine-templates/src/__tests__/roster.test.ts +0 -0
  7. package/payload/platform/lib/routine-templates/src/__tests__/seed.test.ts +16 -0
  8. package/payload/platform/lib/routine-templates/src/roster.ts +24 -1
  9. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +7 -6
  10. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +11 -0
  11. package/payload/platform/plugins/docs/references/admin-ui.md +6 -5
  12. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js +102 -1
  13. package/payload/platform/plugins/scheduling/mcp/dist/scripts/__tests__/agent-turn-dispatch.test.js.map +1 -1
  14. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts +0 -11
  15. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.d.ts.map +1 -1
  16. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js +125 -3
  17. package/payload/platform/plugins/scheduling/mcp/dist/scripts/agent-turn-dispatch.js.map +1 -1
  18. package/payload/platform/plugins/scheduling/skills/routine-control/SKILL.md +4 -0
  19. package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-store.test.js +61 -3
  20. package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-store.test.js.map +1 -1
  21. package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-tool.test.js +122 -2
  22. package/payload/platform/plugins/telegram/mcp/dist/__tests__/card-tool.test.js.map +1 -1
  23. package/payload/platform/plugins/telegram/mcp/dist/lib/card-store.d.ts +26 -0
  24. package/payload/platform/plugins/telegram/mcp/dist/lib/card-store.d.ts.map +1 -1
  25. package/payload/platform/plugins/telegram/mcp/dist/lib/card-store.js +73 -1
  26. package/payload/platform/plugins/telegram/mcp/dist/lib/card-store.js.map +1 -1
  27. package/payload/platform/plugins/telegram/mcp/dist/tools/card.d.ts +5 -0
  28. package/payload/platform/plugins/telegram/mcp/dist/tools/card.d.ts.map +1 -1
  29. package/payload/platform/plugins/telegram/mcp/dist/tools/card.js +101 -8
  30. package/payload/platform/plugins/telegram/mcp/dist/tools/card.js.map +1 -1
  31. package/payload/server/public/activity.html +6 -6
  32. package/payload/server/public/agents.html +5 -5
  33. package/payload/server/public/assets/{AdminLoginScreens-dBZJlMbp.js → AdminLoginScreens-B3W6J6Bl.js} +1 -1
  34. package/payload/server/public/assets/AdminLoginScreens-B3W6J6Bl.js.br +0 -0
  35. package/payload/server/public/assets/AdminLoginScreens-B3W6J6Bl.js.gz +0 -0
  36. package/payload/server/public/assets/{AdminShell-D94sgtsb.js → AdminShell-C3R-vMZ5.js} +1 -1
  37. package/payload/server/public/assets/AdminShell-C3R-vMZ5.js.br +0 -0
  38. package/payload/server/public/assets/AdminShell-C3R-vMZ5.js.gz +0 -0
  39. package/payload/server/public/assets/{activity-D6NEUvT7.js → activity-tzv68iBs.js} +1 -1
  40. package/payload/server/public/assets/activity-tzv68iBs.js.br +0 -0
  41. package/payload/server/public/assets/activity-tzv68iBs.js.gz +0 -0
  42. package/payload/server/public/assets/{admin-BluqXSKn.js → admin-CzW_9jm3.js} +1 -1
  43. package/payload/server/public/assets/admin-CzW_9jm3.js.br +0 -0
  44. package/payload/server/public/assets/admin-CzW_9jm3.js.gz +0 -0
  45. package/payload/server/public/assets/{agents-D_6V66dr.js → agents-DUZfeY3X.js} +1 -1
  46. package/payload/server/public/assets/agents-DUZfeY3X.js.br +0 -0
  47. package/payload/server/public/assets/agents-DUZfeY3X.js.gz +0 -0
  48. package/payload/server/public/assets/{browser-Bz9s6ztS.js → browser-DwLaXqjO.js} +1 -1
  49. package/payload/server/public/assets/browser-DwLaXqjO.js.br +0 -0
  50. package/payload/server/public/assets/browser-DwLaXqjO.js.gz +0 -0
  51. package/payload/server/public/assets/{calendar-D5OCrmwA.js → calendar-Cli8Qjl9.js} +1 -1
  52. package/payload/server/public/assets/calendar-Cli8Qjl9.js.br +0 -0
  53. package/payload/server/public/assets/calendar-Cli8Qjl9.js.gz +0 -0
  54. package/payload/server/public/assets/chat-ByAgBgm1.js +1 -0
  55. package/payload/server/public/assets/chat-ByAgBgm1.js.br +1 -0
  56. package/payload/server/public/assets/chat-ByAgBgm1.js.gz +0 -0
  57. package/payload/server/public/assets/chevron-left-BIYVnwvk.js +1 -0
  58. package/payload/server/public/assets/chevron-left-BIYVnwvk.js.br +0 -0
  59. package/payload/server/public/assets/clock-Dzy79hq3.js +1 -0
  60. package/payload/server/public/assets/clock-Dzy79hq3.js.br +0 -0
  61. package/payload/server/public/assets/clock-Dzy79hq3.js.gz +0 -0
  62. package/payload/server/public/assets/{copy-CXBu2lHL.js → copy-yhhwfEbQ.js} +1 -1
  63. package/payload/server/public/assets/copy-yhhwfEbQ.js.br +0 -0
  64. package/payload/server/public/assets/copy-yhhwfEbQ.js.gz +0 -0
  65. package/payload/server/public/assets/data-CsMMki2A.js +1 -0
  66. package/payload/server/public/assets/data-CsMMki2A.js.br +0 -0
  67. package/payload/server/public/assets/data-CsMMki2A.js.gz +0 -0
  68. package/payload/server/public/assets/{field-D4fXu_SP.js → field-jg0YQNDy.js} +1 -1
  69. package/payload/server/public/assets/field-jg0YQNDy.js.br +0 -0
  70. package/payload/server/public/assets/field-jg0YQNDy.js.gz +0 -0
  71. package/payload/server/public/assets/{file-text-BxZ1UMcQ.js → file-text-D0EdW7h4.js} +1 -1
  72. package/payload/server/public/assets/file-text-D0EdW7h4.js.br +0 -0
  73. package/payload/server/public/assets/file-text-D0EdW7h4.js.gz +0 -0
  74. package/payload/server/public/assets/{graph-DMleOCBZ.js → graph--AUr4uBc.js} +1 -1
  75. package/payload/server/public/assets/graph--AUr4uBc.js.br +0 -0
  76. package/payload/server/public/assets/graph--AUr4uBc.js.gz +0 -0
  77. package/payload/server/public/assets/{graph-labels-BHapdrTm.js → graph-labels-DM0CiAX1.js} +1 -1
  78. package/payload/server/public/assets/graph-labels-DM0CiAX1.js.br +0 -0
  79. package/payload/server/public/assets/graph-labels-DM0CiAX1.js.gz +0 -0
  80. package/payload/server/public/assets/{jsx-runtime-gqFnq1MC.css → jsx-runtime-lfcjzaWi.css} +1 -1
  81. package/payload/server/public/assets/jsx-runtime-lfcjzaWi.css.br +0 -0
  82. package/payload/server/public/assets/{jsx-runtime-gqFnq1MC.css.gz → jsx-runtime-lfcjzaWi.css.gz} +0 -0
  83. package/payload/server/public/assets/{operator-BpZTRiga.js → operator-CNYKStFX.js} +1 -1
  84. package/payload/server/public/assets/operator-CNYKStFX.js.br +0 -0
  85. package/payload/server/public/assets/operator-CNYKStFX.js.gz +0 -0
  86. package/payload/server/public/assets/{page-CsHWZZ0U.js → page-DSsEpl8J.js} +2 -2
  87. package/payload/server/public/assets/page-DSsEpl8J.js.br +0 -0
  88. package/payload/server/public/assets/page-DSsEpl8J.js.gz +0 -0
  89. package/payload/server/public/assets/{page-Dczx6CPP.js → page-DjhmwxnY.js} +1 -1
  90. package/payload/server/public/assets/page-DjhmwxnY.js.br +0 -0
  91. package/payload/server/public/assets/page-DjhmwxnY.js.gz +0 -0
  92. package/payload/server/public/assets/play-DhZlml5b.js +1 -0
  93. package/payload/server/public/assets/play-DhZlml5b.js.br +0 -0
  94. package/payload/server/public/assets/play-DhZlml5b.js.gz +0 -0
  95. package/payload/server/public/assets/{public-BzpELWaZ.js → public-7gXDqCog.js} +1 -1
  96. package/payload/server/public/assets/public-7gXDqCog.js.br +0 -0
  97. package/payload/server/public/assets/public-7gXDqCog.js.gz +0 -0
  98. package/payload/server/public/assets/{rotate-ccw-Bkpst1na.js → rotate-ccw-DhqNTPpo.js} +1 -1
  99. package/payload/server/public/assets/rotate-ccw-DhqNTPpo.js.br +0 -0
  100. package/payload/server/public/assets/rotate-ccw-DhqNTPpo.js.gz +0 -0
  101. package/payload/server/public/assets/{routines-Cmuf8pPP.js → routines-CWEuQ7Gl.js} +1 -1
  102. package/payload/server/public/assets/routines-CWEuQ7Gl.js.br +0 -0
  103. package/payload/server/public/assets/routines-CWEuQ7Gl.js.gz +0 -0
  104. package/payload/server/public/assets/{skills-Bfq3Pbw-.js → skills-pb_3BdOl.js} +1 -1
  105. package/payload/server/public/assets/skills-pb_3BdOl.js.br +0 -0
  106. package/payload/server/public/assets/skills-pb_3BdOl.js.gz +0 -0
  107. package/payload/server/public/assets/{tasks-nyWLrolq.js → tasks-BQm4boat.js} +1 -1
  108. package/payload/server/public/assets/tasks-BQm4boat.js.br +0 -0
  109. package/payload/server/public/assets/tasks-BQm4boat.js.gz +0 -0
  110. package/payload/server/public/assets/{triangle-alert-DkENIQJ6.js → triangle-alert-d7yjaIqv.js} +1 -1
  111. package/payload/server/public/assets/triangle-alert-d7yjaIqv.js.br +0 -0
  112. package/payload/server/public/assets/triangle-alert-d7yjaIqv.js.gz +0 -0
  113. package/payload/server/public/assets/{useCopyFeedback-DmNjbXe9.js → useCopyFeedback-CZ6Qhfkj.js} +1 -1
  114. package/payload/server/public/assets/useCopyFeedback-CZ6Qhfkj.js.br +0 -0
  115. package/payload/server/public/assets/useCopyFeedback-CZ6Qhfkj.js.gz +0 -0
  116. package/payload/server/public/assets/{useMediaQuery-DL-C1y_F.js → useMediaQuery-R1smYLx4.js} +1 -1
  117. package/payload/server/public/assets/useMediaQuery-R1smYLx4.js.br +0 -0
  118. package/payload/server/public/assets/useMediaQuery-R1smYLx4.js.gz +0 -0
  119. package/payload/server/public/assets/{useVoiceRecorder-DseLVULD.js → useVoiceRecorder-DM1v6sRa.js} +1 -1
  120. package/payload/server/public/assets/useVoiceRecorder-DM1v6sRa.js.br +0 -0
  121. package/payload/server/public/assets/useVoiceRecorder-DM1v6sRa.js.gz +0 -0
  122. package/payload/server/public/assets/{wrench-C7tdp6z9.js → wrench-DL1pbaCs.js} +1 -1
  123. package/payload/server/public/assets/wrench-DL1pbaCs.js.br +0 -0
  124. package/payload/server/public/assets/wrench-DL1pbaCs.js.gz +0 -0
  125. package/payload/server/public/browser.html +5 -5
  126. package/payload/server/public/calendar.html +8 -8
  127. package/payload/server/public/chat.html +14 -14
  128. package/payload/server/public/data.html +12 -12
  129. package/payload/server/public/field.html +3 -3
  130. package/payload/server/public/graph.html +10 -10
  131. package/payload/server/public/index.html +14 -14
  132. package/payload/server/public/operator.html +16 -16
  133. package/payload/server/public/public.html +14 -14
  134. package/payload/server/public/routines.html +8 -8
  135. package/payload/server/public/skills.html +6 -6
  136. package/payload/server/public/tasks.html +7 -7
  137. package/payload/server/server.js +161 -8
  138. package/payload/server/public/assets/AdminLoginScreens-dBZJlMbp.js.br +0 -0
  139. package/payload/server/public/assets/AdminLoginScreens-dBZJlMbp.js.gz +0 -0
  140. package/payload/server/public/assets/AdminShell-D94sgtsb.js.br +0 -0
  141. package/payload/server/public/assets/AdminShell-D94sgtsb.js.gz +0 -0
  142. package/payload/server/public/assets/activity-D6NEUvT7.js.br +0 -0
  143. package/payload/server/public/assets/activity-D6NEUvT7.js.gz +0 -0
  144. package/payload/server/public/assets/admin-BluqXSKn.js.br +0 -0
  145. package/payload/server/public/assets/admin-BluqXSKn.js.gz +0 -0
  146. package/payload/server/public/assets/agents-D_6V66dr.js.br +0 -0
  147. package/payload/server/public/assets/agents-D_6V66dr.js.gz +0 -0
  148. package/payload/server/public/assets/browser-Bz9s6ztS.js.br +0 -0
  149. package/payload/server/public/assets/browser-Bz9s6ztS.js.gz +0 -0
  150. package/payload/server/public/assets/calendar-D5OCrmwA.js.br +0 -0
  151. package/payload/server/public/assets/calendar-D5OCrmwA.js.gz +0 -0
  152. package/payload/server/public/assets/chat-CjlbEzZ-.js +0 -1
  153. package/payload/server/public/assets/chat-CjlbEzZ-.js.br +0 -1
  154. package/payload/server/public/assets/chat-CjlbEzZ-.js.gz +0 -0
  155. package/payload/server/public/assets/chevron-left-b_r2jNvg.js +0 -1
  156. package/payload/server/public/assets/chevron-left-b_r2jNvg.js.br +0 -0
  157. package/payload/server/public/assets/clock-D8tMbEZD.js +0 -1
  158. package/payload/server/public/assets/clock-D8tMbEZD.js.br +0 -0
  159. package/payload/server/public/assets/clock-D8tMbEZD.js.gz +0 -0
  160. package/payload/server/public/assets/copy-CXBu2lHL.js.br +0 -0
  161. package/payload/server/public/assets/copy-CXBu2lHL.js.gz +0 -0
  162. package/payload/server/public/assets/data-ChHg_Lq9.js +0 -1
  163. package/payload/server/public/assets/data-ChHg_Lq9.js.br +0 -0
  164. package/payload/server/public/assets/data-ChHg_Lq9.js.gz +0 -0
  165. package/payload/server/public/assets/field-D4fXu_SP.js.br +0 -0
  166. package/payload/server/public/assets/field-D4fXu_SP.js.gz +0 -0
  167. package/payload/server/public/assets/file-text-BxZ1UMcQ.js.br +0 -0
  168. package/payload/server/public/assets/file-text-BxZ1UMcQ.js.gz +0 -0
  169. package/payload/server/public/assets/graph-DMleOCBZ.js.br +0 -0
  170. package/payload/server/public/assets/graph-DMleOCBZ.js.gz +0 -0
  171. package/payload/server/public/assets/graph-labels-BHapdrTm.js.br +0 -0
  172. package/payload/server/public/assets/graph-labels-BHapdrTm.js.gz +0 -0
  173. package/payload/server/public/assets/jsx-runtime-gqFnq1MC.css.br +0 -0
  174. package/payload/server/public/assets/operator-BpZTRiga.js.br +0 -0
  175. package/payload/server/public/assets/operator-BpZTRiga.js.gz +0 -0
  176. package/payload/server/public/assets/page-CsHWZZ0U.js.br +0 -0
  177. package/payload/server/public/assets/page-CsHWZZ0U.js.gz +0 -0
  178. package/payload/server/public/assets/page-Dczx6CPP.js.br +0 -0
  179. package/payload/server/public/assets/page-Dczx6CPP.js.gz +0 -0
  180. package/payload/server/public/assets/play-D_xdb6gy.js +0 -1
  181. package/payload/server/public/assets/play-D_xdb6gy.js.br +0 -0
  182. package/payload/server/public/assets/play-D_xdb6gy.js.gz +0 -0
  183. package/payload/server/public/assets/public-BzpELWaZ.js.br +0 -0
  184. package/payload/server/public/assets/public-BzpELWaZ.js.gz +0 -0
  185. package/payload/server/public/assets/rotate-ccw-Bkpst1na.js.br +0 -0
  186. package/payload/server/public/assets/rotate-ccw-Bkpst1na.js.gz +0 -0
  187. package/payload/server/public/assets/routines-Cmuf8pPP.js.br +0 -0
  188. package/payload/server/public/assets/routines-Cmuf8pPP.js.gz +0 -0
  189. package/payload/server/public/assets/skills-Bfq3Pbw-.js.br +0 -0
  190. package/payload/server/public/assets/skills-Bfq3Pbw-.js.gz +0 -0
  191. package/payload/server/public/assets/tasks-nyWLrolq.js.br +0 -0
  192. package/payload/server/public/assets/tasks-nyWLrolq.js.gz +0 -0
  193. package/payload/server/public/assets/triangle-alert-DkENIQJ6.js.br +0 -0
  194. package/payload/server/public/assets/triangle-alert-DkENIQJ6.js.gz +0 -0
  195. package/payload/server/public/assets/useCopyFeedback-DmNjbXe9.js.br +0 -1
  196. package/payload/server/public/assets/useCopyFeedback-DmNjbXe9.js.gz +0 -0
  197. package/payload/server/public/assets/useMediaQuery-DL-C1y_F.js.br +0 -0
  198. package/payload/server/public/assets/useMediaQuery-DL-C1y_F.js.gz +0 -0
  199. package/payload/server/public/assets/useVoiceRecorder-DseLVULD.js.br +0 -0
  200. package/payload/server/public/assets/useVoiceRecorder-DseLVULD.js.gz +0 -0
  201. package/payload/server/public/assets/wrench-C7tdp6z9.js.br +0 -0
  202. package/payload/server/public/assets/wrench-C7tdp6z9.js.gz +0 -0
  203. /package/payload/server/public/assets/{jsx-runtime-BcrVQeV-.js → jsx-runtime-BtDK2X5t.js} +0 -0
  204. /package/payload/server/public/assets/{jsx-runtime-BcrVQeV-.js.br → jsx-runtime-BtDK2X5t.js.br} +0 -0
  205. /package/payload/server/public/assets/{jsx-runtime-BcrVQeV-.js.gz → jsx-runtime-BtDK2X5t.js.gz} +0 -0
@@ -5,7 +5,7 @@ import { join } from "node:path";
5
5
  import { validateAgentDestination, boundSubAccountFor, resolveAccountAdminUserIds, buildScheduleProvenance, } from "../lib/agent-dispatch.js";
6
6
  import { resolveHouseOrSoleAccountId } from "../../../../../lib/account-enumeration/dist/index.js";
7
7
  import { closeRoutineRun, logRunDispatch, recordRunSession } from "../lib/routine-run.js";
8
- import { advanceGateMark } from "../tools/scheduling-gate.js";
8
+ import { advanceGateMark, readWatermarks } from "../tools/scheduling-gate.js";
9
9
  // Task 2130 — the expected roster, read from the same module that seeds it.
10
10
  // Re-listing the keys here would let the seed and the drift check disagree,
11
11
  // and the drift check exists precisely to notice disagreement.
@@ -108,6 +108,92 @@ export function lateMs(dueAt, now) {
108
108
  * Task 2136 — this also closes the `:RoutineRun` its caller opened, and
109
109
  * persists the produced-output pointer the inject route returns.
110
110
  */
111
+ /**
112
+ * Task 2676 — fold every read telegram slot into one `GateWatermarks` in the
113
+ * shape `advanceGateMark`/`promoteSlot` promote from. `botId` absent is the
114
+ * account-wide `inbound` slot; present is that one bot's `byBot` entry. Only
115
+ * slots that produced a read appear, so the mark advances no slot whose window
116
+ * was not delivered.
117
+ */
118
+ function telegramObservedSlots(slots) {
119
+ const telegram = {};
120
+ for (const { botId, newest } of slots) {
121
+ if (botId === undefined)
122
+ telegram.inbound = newest;
123
+ else
124
+ telegram.byBot = { ...(telegram.byBot ?? {}), [botId]: newest };
125
+ }
126
+ return { telegram };
127
+ }
128
+ /**
129
+ * Task 2674 / 2676 — the shared read for a telegram wake, one window per slot.
130
+ *
131
+ * For each telegram slot the gate observed (the account-wide `inbound` slot and
132
+ * each named bot in `byBot`), reads the window `(priorMark, newest]` from
133
+ * `/gate-probe?since=<priorMark>&botId=<botId?>`, where `priorMark` is that
134
+ * slot's stored watermark BEFORE it is advanced. Returns the union of the
135
+ * windows' messages to hand the turn, plus one `{ botId, newest }` per slot that
136
+ * read, which the caller advances each mark to. A slot whose read cannot be made
137
+ * is named under `op=delivered-read-failed` and left out of `slots`, so it is
138
+ * re-read next fire rather than advanced past. Null for a non-telegram wake, an
139
+ * ungated wake, or when no slot reads — in which case the caller keeps the
140
+ * pre-2674 behaviour of advancing exactly what the gate observed.
141
+ */
142
+ async function readTelegramDeliveredWindow(channel, port, eventId, eventAccountId, gateObserved) {
143
+ if (channel !== "telegram" || !port || !gateObserved?.telegram)
144
+ return null;
145
+ try {
146
+ const platformRoot = process.env.PLATFORM_ROOT;
147
+ if (!platformRoot)
148
+ throw new Error("PLATFORM_ROOT is not set");
149
+ const stored = readWatermarks(eventId, platformRoot);
150
+ // Task 2676 — one read per telegram slot the gate observed: the account-wide
151
+ // `inbound` slot (botId undefined) and one per `byBot` key. A slot is advanced
152
+ // only if its own read succeeds, so a message is never marked seen without
153
+ // being handed to the turn.
154
+ const slotBotIds = [];
155
+ if (gateObserved.telegram.inbound !== undefined)
156
+ slotBotIds.push(undefined);
157
+ for (const botId of Object.keys(gateObserved.telegram.byBot ?? {}))
158
+ slotBotIds.push(botId);
159
+ const messages = [];
160
+ const slots = [];
161
+ for (const botId of slotBotIds) {
162
+ // The epoch sentinel is a first run: every stored inbound is above it, so the
163
+ // whole backlog is the window. `since=''` would be dropped by the route's
164
+ // `|| null`, which is why a real low instant is used.
165
+ const priorMark = (botId === undefined ? stored.telegram?.inbound : stored.telegram?.byBot?.[botId]) ??
166
+ "1970-01-01T00:00:00.000Z";
167
+ const qs = new URLSearchParams({ since: priorMark });
168
+ if (botId !== undefined)
169
+ qs.set("botId", botId);
170
+ const wr = await fetch(`http://127.0.0.1:${port}/api/telegram-reader/gate-probe?${qs.toString()}`, { headers: { "x-maxy-caller-account": eventAccountId } });
171
+ if (!wr.ok) {
172
+ console.error(`[schedule-gate] op=delivered-read-failed eventId=${eventId.slice(0, 8)} slot=${botId ?? "inbound"} status=${wr.status}`);
173
+ continue;
174
+ }
175
+ const wb = (await wr.json().catch(() => null));
176
+ const newest = typeof wb?.newestInboundAt === "string" ? wb.newestInboundAt : null;
177
+ if (newest === null) {
178
+ console.error(`[schedule-gate] op=delivered-read-failed eventId=${eventId.slice(0, 8)} slot=${botId ?? "inbound"} reason=no-newest`);
179
+ continue;
180
+ }
181
+ if (Array.isArray(wb?.messages))
182
+ messages.push(...wb.messages);
183
+ slots.push({ botId, newest });
184
+ }
185
+ // Task 2676 — no slot produced a read: return null so the caller takes the
186
+ // whole-event fail-open, exactly as the pre-2676 single-slot path did.
187
+ if (slots.length === 0)
188
+ return null;
189
+ return { messages, slots };
190
+ }
191
+ catch (err) {
192
+ console.error(`[schedule-gate] op=delivered-read-failed eventId=${eventId.slice(0, 8)} ` +
193
+ `detail=${err instanceof Error ? err.message : String(err)}`);
194
+ return null;
195
+ }
196
+ }
111
197
  export async function dispatchAgentTurn(eventId, channel, destination, prompt, eventAccountId, nextRun,
112
198
  // Task 2213 — the instant the row became eligible: `startDate` on the
113
199
  // one-time path, the PRE-ADVANCE `nextRun` on the recurring path. Never the
@@ -153,6 +239,15 @@ gateObserved = null) {
153
239
  // now be always true. The guard reads the turn's own schedule provenance
154
240
  // instead, which the channel server publishes and which names the eventId
155
241
  // directly — so nothing needs stamping here, and nothing reads the property.
242
+ // Task 2674 / 2676 — the delivered read. For a telegram wake the platform reads
243
+ // the window ONCE PER SLOT here (the account-wide slot and each named bot),
244
+ // hands the union to the turn, and advances each slot's mark to its own read's
245
+ // newest. The turn consumes the delivered set instead of re-reading the live
246
+ // store and racing ahead of the gate, so a message arriving after this read
247
+ // stays above the mark and is handled once, at the next fire. `since` is the
248
+ // PRIOR mark from the watermark file, never the gate's observed value, so each
249
+ // window is exactly the messages that slot's mark is about to advance over.
250
+ const delivered = await readTelegramDeliveredWindow(channel, port, eventId, eventAccountId, gateObserved);
156
251
  let httpStatus = 0;
157
252
  let lastDispatchResult;
158
253
  // Task 2136 — the produced-output pointer, returned by the inject route.
@@ -166,7 +261,15 @@ gateObserved = null) {
166
261
  const res = await fetch(`http://127.0.0.1:${port}/api/channel/schedule-inject`, {
167
262
  method: "POST",
168
263
  headers: { "Content-Type": "application/json" },
169
- body: JSON.stringify({ channel, accountId: eventAccountId, destination, prompt, eventId, scheduleProvenance: provenance }),
264
+ body: JSON.stringify({
265
+ channel,
266
+ accountId: eventAccountId,
267
+ destination,
268
+ prompt,
269
+ eventId,
270
+ scheduleProvenance: provenance,
271
+ ...(delivered !== null ? { deliveredMessages: delivered.messages } : {}),
272
+ }),
170
273
  });
171
274
  httpStatus = res.status;
172
275
  lastDispatchResult = res.ok ? "accepted" : `error:${res.status}`;
@@ -208,7 +311,16 @@ gateObserved = null) {
208
311
  const gatePlatformRoot = process.env.PLATFORM_ROOT;
209
312
  if (!gatePlatformRoot)
210
313
  throw new Error("PLATFORM_ROOT is not set");
211
- const { advanced, positions, unreadable } = advanceGateMark(eventId, gatePlatformRoot, gateObserved);
314
+ // Task 2674 / 2676 advance each read slot to the SAME read its window came
315
+ // from, so every advanced mark equals what that slot delivered. Anything
316
+ // above a delivered read stays unseen and is caught next fire; a mark can
317
+ // never pass a message no turn saw (the Task 2654 swallow ban). A
318
+ // non-telegram wake, or one where no slot read, keeps advancing exactly what
319
+ // the gate observed.
320
+ const observedToAdvance = delivered !== null && delivered.slots.length > 0
321
+ ? telegramObservedSlots(delivered.slots)
322
+ : gateObserved;
323
+ const { advanced, positions, unreadable } = advanceGateMark(eventId, gatePlatformRoot, observedToAdvance);
212
324
  // Task 2664 — a gate that read no position, and a watermark file that
213
325
  // exists and cannot be parsed, both advance nothing and are different
214
326
  // failures. The second leaves the file's bytes untouched and has already
@@ -218,6 +330,16 @@ gateObserved = null) {
218
330
  ? `[schedule-gate] op=mark-not-advanced eventId=${markId8} ${why}`
219
331
  : `[schedule-gate] op=mark-advanced eventId=${markId8} advanced=${advanced.join(",")} ` +
220
332
  `positions=${positions.join(",")}`);
333
+ // Task 2676 — one reconciliation line per read slot: `delivered` is that
334
+ // slot's window newest, `advanced` is where its mark now sits, equal by
335
+ // construction. A `delivered > advanced` line would be the swallow
336
+ // regression this task forbids.
337
+ if (delivered !== null && advanced.length > 0) {
338
+ for (const { botId, newest } of delivered.slots) {
339
+ console.error(`[schedule-gate] op=mark-source eventId=${markId8} ` +
340
+ `slot=${botId ?? "inbound"} delivered=${newest} advanced=${newest}`);
341
+ }
342
+ }
221
343
  }
222
344
  catch (err) {
223
345
  // Named, never silent: a mark that fails to advance and says nothing is
@@ -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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"}
@@ -45,4 +45,8 @@ Do not reach for `schedule-cancel` when a resume is refused. Cancelling is not a
45
45
 
46
46
  Never cancel a routine and recreate it to achieve a pause. That loses the run history and the event id the owner and the dashboard both refer to.
47
47
 
48
+ ## Authoring a telegram routine: consume the delivered messages
49
+
50
+ A telegram routine's turn is handed its new messages in a `## Messages since the last check` block. Process that block. Do not re-read the raw telegram store to find new arrivals: the platform's watermark tracks only the delivered block, so a turn that reads past it wakes itself again on messages it already handled. The mechanism is in [`.docs/scheduling-agent-dispatch.md`](../../../../.docs/scheduling-agent-dispatch.md) under "The delivered read".
51
+
48
52
  Never report a routine as off without having seen the write succeed. If the call was refused, say what it said.
@@ -1,9 +1,10 @@
1
- import { describe, expect, it, beforeEach } from "vitest";
1
+ import { describe, expect, it, beforeEach, afterEach } from "vitest";
2
2
  import { mkdtempSync, mkdirSync, writeFileSync, readFileSync, existsSync, statSync } from "node:fs";
3
3
  import { tmpdir } from "node:os";
4
4
  import { join } from "node:path";
5
- import { CARD_TTL_MS, cardCensusLine, cardKey, readCardId, writeCardId, } from "../lib/card-store.js";
6
- import { resolveAccountDir } from "../lib/account-write.js";
5
+ import { CARD_TTL_MS, cardCensusLine, cardKey, clearCardId, newestInboundMessageId, readCardId, writeCardId, } from "../lib/card-store.js";
6
+ import { resolveAccountDir, resolveTelegramStoreDir } from "../lib/account-write.js";
7
+ import { channelKeyToFileStem } from "../../../../../lib/telegram-reach/dist/index.js";
7
8
  /** A brand install: <root>/platform is PLATFORM_ROOT, <root>/data/accounts/<id>
8
9
  * is where account state lives. Mirrors account-token.ts:15. */
9
10
  function brandInstall(accountId) {
@@ -54,6 +55,21 @@ describe("readCardId / writeCardId", () => {
54
55
  writeCardId(platformRoot, ACC, k, 2);
55
56
  expect(readCardId(platformRoot, ACC, k)).toBe(2);
56
57
  });
58
+ it("clearCardId forgets one key and leaves another intact", () => {
59
+ const a = cardKey("111", 222, "a");
60
+ const b = cardKey("111", 222, "b");
61
+ writeCardId(platformRoot, ACC, a, 1);
62
+ writeCardId(platformRoot, ACC, b, 2);
63
+ clearCardId(platformRoot, ACC, a);
64
+ expect(readCardId(platformRoot, ACC, a)).toBeNull();
65
+ expect(readCardId(platformRoot, ACC, b)).toBe(2);
66
+ });
67
+ it("clearCardId is a no-op when the key or the file is absent", () => {
68
+ clearCardId(platformRoot, ACC, cardKey("111", 222, "never")); // no file yet
69
+ writeCardId(platformRoot, ACC, cardKey("111", 222, "x"), 9);
70
+ clearCardId(platformRoot, ACC, cardKey("111", 222, "absent")); // file exists, key absent
71
+ expect(readCardId(platformRoot, ACC, cardKey("111", 222, "x"))).toBe(9);
72
+ });
57
73
  it("returns null on unparseable state rather than throwing", () => {
58
74
  const path = join(platformRoot, "..", "data", "accounts", ACC, "telegram-cards.json");
59
75
  writeFileSync(path, "{ not json", "utf-8");
@@ -149,4 +165,46 @@ describe("cardCensusLine", () => {
149
165
  expect(cardCensusLine(platformRoot, ACC)).toContain("keys=0");
150
166
  });
151
167
  });
168
+ describe("newestInboundMessageId", () => {
169
+ // The store lives under telegramStoreRoot, which honours MAXY_DIR_OVERRIDE. Point
170
+ // it at a temp dir so the fixture never touches the real home, and seed the file
171
+ // through the SAME helpers the reader uses (resolveTelegramStoreDir +
172
+ // channelKeyToFileStem) so the fixture and the reader cannot name different paths.
173
+ let storeOverride;
174
+ const BOT = "111";
175
+ const CHAT = "222";
176
+ beforeEach(() => {
177
+ storeOverride = mkdtempSync(join(tmpdir(), "tg-store-"));
178
+ process.env.MAXY_DIR_OVERRIDE = storeOverride;
179
+ });
180
+ afterEach(() => {
181
+ delete process.env.MAXY_DIR_OVERRIDE;
182
+ });
183
+ function seed(lines) {
184
+ const resolved = resolveTelegramStoreDir(platformRoot, ACC);
185
+ if (!resolved.ok)
186
+ throw new Error(resolved.error);
187
+ mkdirSync(resolved.dir, { recursive: true });
188
+ const file = join(resolved.dir, `${channelKeyToFileStem(`${BOT}:${CHAT}`)}.jsonl`);
189
+ writeFileSync(file, lines.map((l) => l + "\n").join(""), "utf-8");
190
+ }
191
+ const inRow = (suffix) => JSON.stringify({ messageId: `telegram:${ACC}:${BOT}:${CHAT}:in:${suffix}`, body: "hi" });
192
+ const outRow = (id) => JSON.stringify({ messageId: `telegram:${ACC}:${BOT}:${CHAT}:out:${id}`, body: "reply" });
193
+ it("returns the max numeric :in: id, ignoring :out:, edit suffixes, and non-numeric ids", () => {
194
+ seed([
195
+ inRow(5),
196
+ inRow("9:edit:2026-08-11T00:00:00Z"),
197
+ inRow("2026-08-11T00:00:00Z"), // ISO fallback — not a Telegram id, ignored
198
+ outRow(100), // outbound — ignored
199
+ ]);
200
+ expect(newestInboundMessageId(platformRoot, ACC, BOT, CHAT)).toBe(9);
201
+ });
202
+ it("returns null when the conversation file is absent", () => {
203
+ expect(newestInboundMessageId(platformRoot, ACC, BOT, "999")).toBeNull();
204
+ });
205
+ it("returns null when the store holds only non-numeric inbound ids", () => {
206
+ seed([inRow("2026-08-11T00:00:00Z")]);
207
+ expect(newestInboundMessageId(platformRoot, ACC, BOT, CHAT)).toBeNull();
208
+ });
209
+ });
152
210
  //# sourceMappingURL=card-store.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"card-store.test.js","sourceRoot":"","sources":["../../src/__tests__/card-store.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"card-store.test.js","sourceRoot":"","sources":["../../src/__tests__/card-store.test.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
- import { describe, expect, it, beforeEach } from "vitest";
1
+ import { describe, expect, it, beforeEach, afterEach } from "vitest";
2
2
  import { mkdtempSync, mkdirSync, writeFileSync, readFileSync } from "node:fs";
3
3
  import { tmpdir } from "node:os";
4
4
  import { join } from "node:path";
5
5
  import { telegramCard } from "../tools/card.js";
6
6
  import { runPinned } from "../lib/public-pin.js";
7
7
  import { cardKey, readCardId } from "../lib/card-store.js";
8
- import { resolveAccountDir } from "../lib/account-write.js";
8
+ import { resolveAccountDir, resolveTelegramStoreDir } from "../lib/account-write.js";
9
9
  import { buttonLabelKey, readButtonLabel, } from "../../../../../lib/telegram-button-labels/dist/index.js";
10
+ import { channelKeyToFileStem } from "../../../../../lib/telegram-reach/dist/index.js";
10
11
  const ACC = "acc-1";
11
12
  const BOT = "111";
12
13
  let platformRoot;
@@ -41,7 +42,26 @@ const notModified = {
41
42
  beforeEach(() => {
42
43
  platformRoot = install();
43
44
  lines = [];
45
+ // Task 2677 — burial reads the Telegram message store under telegramStoreRoot,
46
+ // which honours MAXY_DIR_OVERRIDE. Point every test at a fresh temp dir so a
47
+ // burial check reads an empty store (buried=false, behaviour unchanged) rather
48
+ // than the real home, and so the burial tests below seed into a known place.
49
+ process.env.MAXY_DIR_OVERRIDE = mkdtempSync(join(tmpdir(), "tg-store-"));
44
50
  });
51
+ afterEach(() => {
52
+ delete process.env.MAXY_DIR_OVERRIDE;
53
+ });
54
+ /** Seed one inbound row into the message store the burial check reads, through
55
+ * the SAME resolver the check uses so the fixture and the reader agree on the
56
+ * path. */
57
+ function seedInbound(chatId, telegramMessageId) {
58
+ const resolved = resolveTelegramStoreDir(platformRoot, ACC);
59
+ if (!resolved.ok)
60
+ throw new Error(resolved.error);
61
+ mkdirSync(resolved.dir, { recursive: true });
62
+ const file = join(resolved.dir, `${channelKeyToFileStem(`${BOT}:${chatId}`)}.jsonl`);
63
+ writeFileSync(file, JSON.stringify({ messageId: `telegram:${ACC}:${BOT}:${chatId}:in:${telegramMessageId}`, body: "hi" }) + "\n", "utf-8");
64
+ }
45
65
  function deps(fetchImpl) {
46
66
  return {
47
67
  platformRoot,
@@ -351,6 +371,106 @@ describe("telegramCard — the outbound chat gate (Task 2617)", () => {
351
371
  expect(calls).toEqual([]);
352
372
  });
353
373
  });
374
+ // Task 2677 — the message id and outcome the follower parses out of result.text
375
+ // to write the operator-surface store row. runPinned forwards only result.text,
376
+ // so the token IS the only channel these cross the process boundary on.
377
+ describe("telegramCard — result message id and card-result token (Task 2677)", () => {
378
+ it("returns the sent message id and appends the card-result token", async () => {
379
+ const { fetchImpl } = recorder([sent(4242)]);
380
+ const out = await telegramCard({ botId: BOT, chatId: 222, text: "hi" }, deps(fetchImpl));
381
+ expect(out.outcome).toBe("sent");
382
+ expect(out.messageId).toBe(4242);
383
+ expect(out.text).toMatch(/card-result: outcome=sent messageId=4242$/);
384
+ });
385
+ it("carries the reused id on an edit", async () => {
386
+ const first = recorder([sent(500)]);
387
+ await telegramCard({ botId: BOT, chatId: 222, key: "j", text: "one" }, deps(first.fetchImpl));
388
+ const second = recorder([sent(500)]);
389
+ const out = await telegramCard({ botId: BOT, chatId: 222, key: "j", text: "two" }, deps(second.fetchImpl));
390
+ expect(out.outcome).toBe("edited");
391
+ expect(out.messageId).toBe(500);
392
+ expect(out.text).toMatch(/card-result: outcome=edited messageId=500$/);
393
+ });
394
+ it("emits messageId=none and no id on a refused send", async () => {
395
+ const { fetchImpl } = recorder([
396
+ { ok: false, error_code: 403, description: "Forbidden: bot was blocked by the user" },
397
+ ]);
398
+ const out = await telegramCard({ botId: BOT, chatId: 222, text: "hi" }, deps(fetchImpl));
399
+ expect(out.outcome).toBe("none");
400
+ expect(out.messageId).toBeUndefined();
401
+ expect(out.text).toMatch(/card-result: outcome=none messageId=none$/);
402
+ });
403
+ it("does not append a token when the card never reached Telegram (unknown bot)", async () => {
404
+ const { fetchImpl } = recorder([]);
405
+ const out = await telegramCard({ botId: "999", chatId: 222, text: "hi" }, deps(fetchImpl));
406
+ expect(out.text).not.toContain("card-result:");
407
+ });
408
+ });
409
+ // Task 2677 — a keyed card whose stored id sits below the chat's newest inbound id
410
+ // is buried above the customer's later messages, so it is deleted and reposted at
411
+ // the bottom. A refused delete falls back to edit-in-place.
412
+ describe("telegramCard — buried-card repost (Task 2677)", () => {
413
+ it("reposts a buried keyed card: delete old, send new, re-store the new id", async () => {
414
+ const first = recorder([sent(100)]);
415
+ await telegramCard({ botId: BOT, chatId: 222, key: "k", text: "v1" }, deps(first.fetchImpl));
416
+ seedInbound(222, 150); // the customer wrote after the card (150 > 100)
417
+ const second = recorder([{ ok: true, result: true }, sent(200)]); // deleteMessage ok, then sendMessage
418
+ const out = await telegramCard({ botId: BOT, chatId: 222, key: "k", text: "v2" }, deps(second.fetchImpl));
419
+ expect(second.calls.map((c) => c.method)).toEqual(["deleteMessage", "sendMessage"]);
420
+ expect(second.calls[0]?.body).toMatchObject({ chat_id: 222, message_id: 100 });
421
+ expect(out.outcome).toBe("sent");
422
+ expect(out.messageId).toBe(200);
423
+ expect(readCardId(platformRoot, ACC, cardKey(BOT, 222, "k"))).toBe(200);
424
+ expect(lines.join("\n")).toContain("op=card-position callId=abcd1234 cardId=100 newestInboundId=150 buried=true");
425
+ });
426
+ it("edits in place when the card is still at the bottom", async () => {
427
+ const first = recorder([sent(100)]);
428
+ await telegramCard({ botId: BOT, chatId: 222, key: "k", text: "v1" }, deps(first.fetchImpl));
429
+ seedInbound(222, 50); // an older inbound; the card (100) is below it
430
+ const second = recorder([sent(100)]);
431
+ const out = await telegramCard({ botId: BOT, chatId: 222, key: "k", text: "v2" }, deps(second.fetchImpl));
432
+ expect(second.calls.map((c) => c.method)).toEqual(["editMessageText"]);
433
+ expect(out.outcome).toBe("edited");
434
+ expect(lines.join("\n")).toContain("buried=false");
435
+ });
436
+ it("falls back to edit-in-place when the delete is refused", async () => {
437
+ const first = recorder([sent(100)]);
438
+ await telegramCard({ botId: BOT, chatId: 222, key: "k", text: "v1" }, deps(first.fetchImpl));
439
+ seedInbound(222, 150);
440
+ const second = recorder([
441
+ { ok: false, error_code: 400, description: "Bad Request: message can't be deleted for everyone" },
442
+ sent(100),
443
+ ]);
444
+ const out = await telegramCard({ botId: BOT, chatId: 222, key: "k", text: "v2" }, deps(second.fetchImpl));
445
+ expect(second.calls.map((c) => c.method)).toEqual(["deleteMessage", "editMessageText"]);
446
+ expect(out.outcome).toBe("edited");
447
+ expect(lines.join("\n")).toContain("op=card-repost callId=abcd1234 cardId=100 deleteOk=false fallback=true");
448
+ });
449
+ it("never checks burial for a keyless card (always a fresh send)", async () => {
450
+ seedInbound(222, 150);
451
+ const rec = recorder([sent(1)]);
452
+ await telegramCard({ botId: BOT, chatId: 222, text: "one-off" }, deps(rec.fetchImpl));
453
+ expect(rec.calls.map((c) => c.method)).toEqual(["sendMessage"]);
454
+ expect(lines.join("\n")).not.toContain("op=card-position");
455
+ });
456
+ it("forgets the key when a repost deletes the old card but the fresh send is refused", async () => {
457
+ const first = recorder([sent(100)]);
458
+ await telegramCard({ botId: BOT, chatId: 222, key: "k", text: "v1" }, deps(first.fetchImpl));
459
+ seedInbound(222, 150);
460
+ // deleteMessage ok, then the fresh sendMessage is refused.
461
+ const second = recorder([
462
+ { ok: true, result: true },
463
+ { ok: false, error_code: 403, description: "Forbidden: bot was blocked by the user" },
464
+ ]);
465
+ const out = await telegramCard({ botId: BOT, chatId: 222, key: "k", text: "v2" }, deps(second.fetchImpl));
466
+ expect(second.calls.map((c) => c.method)).toEqual(["deleteMessage", "sendMessage"]);
467
+ expect(out.outcome).toBe("none");
468
+ // The old card is gone and the send failed, so the dead id is forgotten: a
469
+ // later keyed call posts fresh rather than editing a deleted message.
470
+ expect(readCardId(platformRoot, ACC, cardKey(BOT, 222, "k"))).toBeNull();
471
+ expect(lines.join("\n")).toContain("op=card-repost-orphan callId=abcd1234 cardId=100 reason=send-refused");
472
+ });
473
+ });
354
474
  // Task 2666 — the pin reaches Telegram, asserted through `runPinned` because
355
475
  // that chokepoint is what applies it; the tool itself never calls the pin.
356
476
  // The bot axis is asserted by naming an UNREGISTERED bot: unpinned that is the